Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package geoipupdate for openSUSE:Factory checked in at 2022-11-09 12:58:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/geoipupdate (Old) and /work/SRC/openSUSE:Factory/.geoipupdate.new.1597 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "geoipupdate" Wed Nov 9 12:58:24 2022 rev:20 rq:1034814 version:4.10.0 Changes: -------- --- /work/SRC/openSUSE:Factory/geoipupdate/geoipupdate.changes 2022-03-01 17:04:56.572355317 +0100 +++ /work/SRC/openSUSE:Factory/.geoipupdate.new.1597/geoipupdate.changes 2022-11-09 12:58:34.212731759 +0100 @@ -1,0 +2,10 @@ +Wed Nov 9 10:35:24 UTC 2022 - Paolo Stivanin <i...@paolostivanin.com> + +- Update to version 4.10.0: + * HTTPS proxies are now supported. + * An HTTP request to get the filename for the edition ID + has been removed. This was previously required as the GeoIP + Legacy edition IDs bore little relation to the name of + the database on disk. + +------------------------------------------------------------------- Old: ---- geoipupdate-4.9.0.tar.gz New: ---- geoipupdate-4.10.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ geoipupdate.spec ++++++ --- /var/tmp/diff_new_pack.Fw6KFa/_old 2022-11-09 12:58:34.868735458 +0100 +++ /var/tmp/diff_new_pack.Fw6KFa/_new 2022-11-09 12:58:34.872735480 +0100 @@ -18,7 +18,7 @@ # Common info Name: geoipupdate -Version: 4.9.0 +Version: 4.10.0 Release: 0 Summary: GeoIP update client code License: Apache-2.0 OR MIT @@ -57,6 +57,7 @@ # Preparation step (unpackung and patching if necessary) + %prep %setup -q -a1 %patch0 -p1 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.Fw6KFa/_old 2022-11-09 12:58:34.916735728 +0100 +++ /var/tmp/diff_new_pack.Fw6KFa/_new 2022-11-09 12:58:34.920735751 +0100 @@ -1,8 +1,8 @@ <services> <service name="tar_scm" mode="disabled"> <param name="scm">git</param> - <param name="url">git://github.com/maxmind/geoipupdate</param> - <param name="revision">v4.9.0</param> + <param name="url">https://github.com/maxmind/geoipupdate</param> + <param name="revision">v4.10.0</param> <param name="exclude">.git</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.Fw6KFa/_old 2022-11-09 12:58:34.940735863 +0100 +++ /var/tmp/diff_new_pack.Fw6KFa/_new 2022-11-09 12:58:34.944735885 +0100 @@ -1,8 +1,7 @@ <servicedata> <service name="tar_scm"> - <param name="url">git://github.com/maxmind/geoipupdate</param> - <param name="changesrevision">9b9a5083f52edcbd2e58a5e923eb4101042387e4</param> + <param name="url">https://github.com/maxmind/geoipupdate</param> + <param name="changesrevision">03df2c14edddf7bb33b16443b3d66c86161c6ac6</param> </service> </servicedata> -(No newline at EOF) ++++++ geoipupdate-4.9.0.tar.gz -> geoipupdate-4.10.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geoipupdate-4.9.0/.github/dependabot.yml new/geoipupdate-4.10.0/.github/dependabot.yml --- old/geoipupdate-4.9.0/.github/dependabot.yml 2022-02-15 23:25:37.000000000 +0100 +++ new/geoipupdate-4.10.0/.github/dependabot.yml 2022-09-26 20:12:11.000000000 +0200 @@ -5,3 +5,7 @@ schedule: interval: daily open-pull-requests-limit: 10 +- package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: daily diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geoipupdate-4.9.0/.github/workflows/codeql-analysis.yml new/geoipupdate-4.10.0/.github/workflows/codeql-analysis.yml --- old/geoipupdate-4.9.0/.github/workflows/codeql-analysis.yml 2022-02-15 23:25:37.000000000 +0100 +++ new/geoipupdate-4.10.0/.github/workflows/codeql-analysis.yml 2022-09-26 20:12:11.000000000 +0200 @@ -15,7 +15,7 @@ steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: # We must fetch at least the immediate parents so that if this is # a pull request then we can checkout the head. @@ -28,7 +28,7 @@ # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v1 + uses: github/codeql-action/init@v2 # Override language selection by uncommenting this and choosing your languages # with: # languages: go, javascript, csharp, python, cpp, java @@ -36,7 +36,7 @@ # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v1 + uses: github/codeql-action/autobuild@v2 # ?????? Command-line programs to run using the OS shell. # ???? https://git.io/JvXDl @@ -50,4 +50,4 @@ # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 + uses: github/codeql-action/analyze@v2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geoipupdate-4.9.0/.github/workflows/go.yml new/geoipupdate-4.10.0/.github/workflows/go.yml --- old/geoipupdate-4.9.0/.github/workflows/go.yml 2022-02-15 23:25:37.000000000 +0100 +++ new/geoipupdate-4.10.0/.github/workflows/go.yml 2022-09-26 20:12:11.000000000 +0200 @@ -12,19 +12,19 @@ strategy: matrix: # I think we need to keep 1.13 for Ubuntu Bionic for the PPA. - go-version: [1.13.x, 1.14.x, 1.15.x, 1.16.x, 1.17.x] + go-version: [1.13.x, 1.14.x, 1.15.x, 1.16.x, 1.17.x, 1.18.x, 1.19.x] platform: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.platform }} name: "Build ${{ matrix.go-version }} test on ${{ matrix.platform }}" steps: - name: Set up Go 1.x - uses: actions/setup-go@v2 + uses: actions/setup-go@v3 with: go-version: ${{ matrix.go-version }} id: go - name: Check out code into the Go module directory - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Get dependencies run: go get -v -t -d ./... diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geoipupdate-4.9.0/.github/workflows/golangci-lint.yml new/geoipupdate-4.10.0/.github/workflows/golangci-lint.yml --- old/geoipupdate-4.9.0/.github/workflows/golangci-lint.yml 2022-02-15 23:25:37.000000000 +0100 +++ new/geoipupdate-4.10.0/.github/workflows/golangci-lint.yml 2022-09-26 20:12:11.000000000 +0200 @@ -11,8 +11,8 @@ name: lint runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: golangci-lint - uses: golangci/golangci-lint-action@v2 + uses: golangci/golangci-lint-action@v3 with: version: latest diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geoipupdate-4.9.0/.golangci.toml new/geoipupdate-4.10.0/.golangci.toml --- old/geoipupdate-4.9.0/.golangci.toml 2022-02-15 23:25:37.000000000 +0100 +++ new/geoipupdate-4.10.0/.golangci.toml 2022-09-26 20:12:11.000000000 +0200 @@ -11,12 +11,10 @@ "bodyclose", "containedctx", "contextcheck", - "deadcode", "depguard", "durationcheck", "errcheck", - # Seems to cause stack overflows :-( - # "errchkjson", + "errchkjson", "errname", "errorlint", "exhaustive", @@ -48,6 +46,7 @@ "nilerr", "noctx", "nolintlint", + "nosprintfhostport", "predeclared", "revive", "rowserrcheck", @@ -55,7 +54,6 @@ # "safesql", "sqlclosecheck", "staticcheck", - "structcheck", "stylecheck", "tenv", "tparallel", @@ -63,7 +61,6 @@ "unconvert", "unparam", "unused", - "varcheck", "vetshadow", "wastedassign", "wrapcheck", @@ -178,10 +175,12 @@ "sortSlice", "sprintfQuotedString", "sqlQuery", + "stringsCompare", "stringXbytes", "switchTrue", "syncMapLoadAndDelete", "timeExprSimplify", + "todoCommentWithoutDetail", "tooManyResultsChecker", "truncateCmp", "typeAssertChain", @@ -209,7 +208,7 @@ [linters-settings.gofumpt] extra-rules = true - lang-version = "1.16" + lang-version = "1.17" [linters-settings.gomodguard] [[linters-settings.gomodguard.blocked.modules]] @@ -219,7 +218,7 @@ [[linters-settings.gomodguard.blocked.modules]] [linters-settings.gomodguard.blocked.modules."github.com/BurntSushi/toml"] - recommendations = ["github.com/pelletier/go-toml"] + recommendations = ["github.com/pelletier/go-toml/v2"] reason = "This library panics frequently on invalid input." [[linters-settings.gomodguard.blocked.modules]] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geoipupdate-4.9.0/.goreleaser.yml new/geoipupdate-4.10.0/.goreleaser.yml --- old/geoipupdate-4.9.0/.goreleaser.yml 2022-02-15 23:25:37.000000000 +0100 +++ new/geoipupdate-4.10.0/.goreleaser.yml 2022-09-26 20:12:11.000000000 +0200 @@ -140,7 +140,7 @@ vendor: 'MaxMind, Inc.' homepage: https://www.maxmind.com/ maintainer: 'MaxMind, Inc. <supp...@maxmind.com>' - description: Program to perform automatic updates of GeoIP2 and GeoIP Legacy binary databases. + description: Program to perform automatic updates of GeoIP2 and GeoLite2 binary databases. license: Apache 2.0 or MIT formats: - deb @@ -170,3 +170,5 @@ - src: 'build/packages/GeoIP.conf' dst: '/etc/GeoIP.conf' type: config +release: + name_template: "{{.Version}}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geoipupdate-4.9.0/CHANGELOG.md new/geoipupdate-4.10.0/CHANGELOG.md --- old/geoipupdate-4.9.0/CHANGELOG.md 2022-02-15 23:25:37.000000000 +0100 +++ new/geoipupdate-4.10.0/CHANGELOG.md 2022-09-26 20:12:11.000000000 +0200 @@ -1,5 +1,24 @@ # CHANGELOG +## 4.10.0 + +* HTTPS proxies are now supported. Pull request by Jamie Thompson. GitHub + #172. +* An HTTP request to get the filename for the edition ID has been removed. + This was previously required as the GeoIP Legacy edition IDs bore little + relation to the name of the database on disk. + +## 4.9.0 (2022-02-15) + +* The client now sets the `User-Agent` header. +* The error handling has been improved. +* The `goreleaser` configuration has been consolidated. There is now + one checksum file for all builds. +* Binaries are now built for OpenBSD and FreeBSD. Pull request by + Devin Buhl. GitHub #161. +* Packages for ARM are now correctly uploaded. Bug report by Service Entity. + GitHub #162. + ## 4.8.0 (2021-07-20) * The Docker container now supports the following new environment diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geoipupdate-4.9.0/README.md new/geoipupdate-4.10.0/README.md --- old/geoipupdate-4.9.0/README.md 2022-02-15 23:25:37.000000000 +0100 +++ new/geoipupdate-4.10.0/README.md 2022-09-26 20:12:11.000000000 +0200 @@ -1,11 +1,7 @@ # GeoIP Update -The GeoIP Update program performs automatic updates of GeoIP2 and GeoIP Legacy -binary databases. CSV databases are _not_ supported. - -This is the new version of GeoIP Update. If for some reason you need the -legacy C version, you can find it -[here](https://github.com/maxmind/geoipupdate-legacy). +The GeoIP Update program performs automatic updates of GeoIP2 and +GeoLite2 binary databases. CSV databases are _not_ supported. ## Installation @@ -13,11 +9,11 @@ [Releases](https://github.com/maxmind/geoipupdate/releases) tab for the latest release. -After you install geoipupdate, please refer to our +After you install GeoIP Update, please refer to our [documentation](https://dev.maxmind.com/geoip/updating-databases?lang=en) for information about configuration. -If you're upgrading from geoipupdate 3.x, please see our [upgrade +If you're upgrading from GeoIP Update 3.x, please see our [upgrade guide](https://dev.maxmind.com/geoip/upgrading-geoip-update?lang=en). ### Installing on Linux via the tarball @@ -106,7 +102,7 @@ ### Installation from source or Git -You need the Go compiler (1.8+). You can get it at the [Go +You need the Go compiler (1.13+). You can get it at the [Go website](https://golang.org). The easiest way is via `go get`: @@ -136,8 +132,8 @@ # Bug Reports -Please report bugs by filing an issue with our GitHub issue tracker at -https://github.com/maxmind/geoipupdate/issues +Please report bugs by filing an issue with [our GitHub issue +tracker](https://github.com/maxmind/geoipupdate/issues). # Copyright and License diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geoipupdate-4.9.0/cmd/geoipupdate/end_to_end_test.go new/geoipupdate-4.10.0/cmd/geoipupdate/end_to_end_test.go --- old/geoipupdate-4.9.0/cmd/geoipupdate/end_to_end_test.go 2022-02-15 23:25:37.000000000 +0100 +++ new/geoipupdate-4.10.0/cmd/geoipupdate/end_to_end_test.go 2022-09-26 20:12:11.000000000 +0200 @@ -54,12 +54,6 @@ return } - if r.URL.Path == "/app/update_getfilename" { - _, err := rw.Write([]byte(r.Form.Get("product_id") + ".mmdb")) - require.NoError(t, err) - return - } - rw.WriteHeader(http.StatusBadRequest) }, ), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geoipupdate-4.9.0/cmd/geoipupdate/main.go new/geoipupdate-4.10.0/cmd/geoipupdate/main.go --- old/geoipupdate-4.9.0/cmd/geoipupdate/main.go 2022-02-15 23:25:37.000000000 +0100 +++ new/geoipupdate-4.10.0/cmd/geoipupdate/main.go 2022-09-26 20:12:11.000000000 +0200 @@ -1,3 +1,4 @@ +// geoipupdate performs automatic updates of GeoIP binary databases. package main import ( @@ -31,9 +32,9 @@ args := getArgs() fatalLogger := func(message string, err error) { if args.StackTrace { - log.Print(fmt.Sprintf("%s: %+v", message, err)) + log.Printf("%s: %+v", message, err) } else { - log.Print(fmt.Sprintf("%s: %s", message, err)) + log.Printf("%s: %s", message, err) } os.Exit(1) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geoipupdate-4.9.0/dev-bin/release.sh new/geoipupdate-4.10.0/dev-bin/release.sh --- old/geoipupdate-4.9.0/dev-bin/release.sh 2022-02-15 23:25:37.000000000 +0100 +++ new/geoipupdate-4.10.0/dev-bin/release.sh 2022-09-26 20:12:11.000000000 +0200 @@ -67,5 +67,4 @@ # goreleaser's `--rm-dist' should clear out `dist', but it didn't work for me. rm -rf dist -goreleaser release --rm-dist -f .goreleaser.yml --release-notes <(echo "$message") -make clean BUILDDIR=. +goreleaser release --rm-dist -f .goreleaser.yml --release-notes <(echo "$notes") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geoipupdate-4.9.0/doc/GeoIP.conf.md new/geoipupdate-4.10.0/doc/GeoIP.conf.md --- old/geoipupdate-4.9.0/doc/GeoIP.conf.md 2022-02-15 23:25:37.000000000 +0100 +++ new/geoipupdate-4.10.0/doc/GeoIP.conf.md 2022-09-26 20:12:11.000000000 +0200 @@ -5,7 +5,7 @@ # SYNOPSIS This file allows you to configure your `geoipupdate` program to -download GeoIP2, GeoLite2, and GeoIP Legacy databases. +download GeoIP2 and GeoLite2 databases. # DESCRIPTION @@ -26,9 +26,9 @@ `EditionIDs` : List of space-separated database edition IDs. Edition IDs may consist - of letters, digits, and dashes. For example, `GeoIP2-City 106` would - download the GeoIP2 City database (`GeoIP2-City`) and the GeoIP Legacy - Country database (`106`). Note: this was formerly called `ProductIds`. + of letters, digits, and dashes. For example, `GeoIP2-City` would + download the GeoIP2 City database (`GeoIP2-City`). Note: this was + formerly called `ProductIds`. ## Optional settings: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geoipupdate-4.9.0/doc/docker.md new/geoipupdate-4.10.0/doc/docker.md --- old/geoipupdate-4.9.0/doc/docker.md 2022-02-15 23:25:37.000000000 +0100 +++ new/geoipupdate-4.10.0/doc/docker.md 2022-09-26 20:12:11.000000000 +0200 @@ -14,8 +14,7 @@ * `GEOIPUPDATE_LICENSE_KEY` - Your case-sensitive MaxMind license key. * `GEOIPUPDATE_EDITION_IDS` - List of space-separated database edition IDs. Edition IDs may consist of letters, digits, and dashes. For example, - `GeoIP2-City 106` would download the GeoIP2 City database - (`GeoIP2-City`) and the GeoIP Legacy Country database (`106`). + `GeoIP2-City` would download the GeoIP2 City database (`GeoIP2-City`). The following are optional: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geoipupdate-4.9.0/doc/geoipupdate.md new/geoipupdate-4.10.0/doc/geoipupdate.md --- old/geoipupdate-4.9.0/doc/geoipupdate.md 2022-02-15 23:25:37.000000000 +0100 +++ new/geoipupdate-4.10.0/doc/geoipupdate.md 2022-09-26 20:12:11.000000000 +0200 @@ -1,6 +1,6 @@ # NAME -geoipupdate - GeoIP2, GeoLite2, and GeoIP Legacy Update Program +geoipupdate - GeoIP2 and GeoLite2 Update Program # SYNOPSIS @@ -8,10 +8,10 @@ # DESCRIPTION -`geoipupdate` automatically updates GeoIP2, GeoLite2, and GeoIP Legacy -databases. The program connects to the MaxMind GeoIP Update server to -check for new databases. If a new database is available, the program will -download and install it. +`geoipupdate` automatically updates GeoIP2 and GeoLite2 databases. The +program connects to the MaxMind GeoIP Update server to check for new +databases. If a new database is available, the program will download and +install it. If you are using a firewall, you must have the DNS and HTTPS ports open. @@ -84,8 +84,7 @@ # MORE INFORMATION Visit [our website](https://www.maxmind.com/en/geoip2-services-and-databases) -to learn more about the GeoIP2 and GeoIP Legacy databases or to sign up -for a subscription. +to learn more about the GeoIP2 databases or to sign up for a subscription. # SEE ALSO diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geoipupdate-4.9.0/go.mod new/geoipupdate-4.10.0/go.mod --- old/geoipupdate-4.9.0/go.mod 2022-02-15 23:25:37.000000000 +0100 +++ new/geoipupdate-4.10.0/go.mod 2022-09-26 20:12:11.000000000 +0200 @@ -3,14 +3,12 @@ go 1.13 require ( - github.com/davecgh/go-spew v1.1.1 // indirect github.com/gofrs/flock v0.8.1 github.com/kr/text v0.2.0 // indirect github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect github.com/pkg/errors v0.9.1 github.com/spf13/pflag v1.0.5 - github.com/stretchr/testify v1.7.0 + github.com/stretchr/testify v1.8.0 golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27 // indirect gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b // indirect - gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 // indirect ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geoipupdate-4.9.0/go.sum new/geoipupdate-4.10.0/go.sum --- old/geoipupdate-4.9.0/go.sum 2022-02-15 23:25:37.000000000 +0100 +++ new/geoipupdate-4.10.0/go.sum 2022-09-26 20:12:11.000000000 +0200 @@ -17,15 +17,15 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -golang.org/x/sys v0.0.0-20201026173827-119d4633e4d1 h1:/DtoiOYKoQCcIFXQjz07RnWNPRCbqmSXSpgEzhC9ZHM= -golang.org/x/sys v0.0.0-20201026173827-119d4633e4d1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27 h1:XDXtA5hveEEV8JB2l7nhMTp3t3cHp9ZpwcdjqyEWLlo= golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b h1:QRR6H1YWRnHb4Y/HeNFCTJLFVxaq6wH4YuVdsUOr75U= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 h1:tQIYjPdBoyREyB9XMu+nnTclpTYkz2zFM+lzLJFO4gQ= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geoipupdate-4.9.0/pkg/geoipupdate/config.go new/geoipupdate-4.10.0/pkg/geoipupdate/config.go --- old/geoipupdate-4.9.0/pkg/geoipupdate/config.go 2022-02-15 23:25:37.000000000 +0100 +++ new/geoipupdate-4.10.0/pkg/geoipupdate/config.go 2022-09-26 20:12:11.000000000 +0200 @@ -179,21 +179,22 @@ if proxy == "" { return nil, nil } + proxyURL := proxy // If no scheme is provided, use http. - matches := schemeRE.FindStringSubmatch(proxy) + matches := schemeRE.FindStringSubmatch(proxyURL) if matches == nil { - proxy = "http://" + proxy + proxyURL = "http://" + proxyURL } else { scheme := strings.ToLower(matches[1]) - // The http package only supports http and socks5. - if scheme != "http" && scheme != "socks5" { + // The http package only supports http, https, and socks5. + if scheme != "http" && scheme != "https" && scheme != "socks5" { return nil, errors.Errorf("unsupported proxy type: %s", scheme) } } // Now that we have a scheme, we should be able to parse. - u, err := url.Parse(proxy) + u, err := url.Parse(proxyURL) if err != nil { return nil, errors.Wrap(err, "error parsing proxy URL") } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geoipupdate-4.9.0/pkg/geoipupdate/geoip_updater.go new/geoipupdate-4.10.0/pkg/geoipupdate/geoip_updater.go --- old/geoipupdate-4.9.0/pkg/geoipupdate/geoip_updater.go 2022-02-15 23:25:37.000000000 +0100 +++ new/geoipupdate-4.10.0/pkg/geoipupdate/geoip_updater.go 2022-09-26 20:12:11.000000000 +0200 @@ -3,16 +3,7 @@ package geoipupdate import ( - "bytes" - "fmt" - "io" - "io/ioutil" - "log" "net/http" - "net/url" - - "github.com/maxmind/geoipupdate/v4/pkg/geoipupdate/internal" - "github.com/pkg/errors" ) // NewClient creates an *http.Client for use in updating. @@ -27,71 +18,11 @@ return &http.Client{Transport: transport} } -// GetFilename looks up the filename for the given edition ID. +// GetFilename returns the filename for the given edition ID. func GetFilename( - config *Config, + _ *Config, editionID string, - client *http.Client, -) (string, error) { - maxMindURL := fmt.Sprintf( - "%s/app/update_getfilename?product_id=%s", - config.URL, - url.QueryEscape(editionID), - ) - - var buf []byte - err := internal.RetryWithBackoff( - func() error { - if config.Verbose { - log.Printf("Performing get filename request to %s", maxMindURL) - } - - //nolint: noctx // as it would require a breaking API change - req, err := http.NewRequest(http.MethodGet, maxMindURL, nil) - if err != nil { - return errors.Wrap(err, "error creating HTTP request") - } - req.Header.Add("User-Agent", "geoipupdate/"+Version) - - res, err := client.Do(req) - if err != nil { - return errors.Wrap(err, "error performing HTTP request") - } - - buf, err = ioutil.ReadAll(io.LimitReader(res.Body, 256)) - if err != nil { - _ = res.Body.Close() - return errors.Wrap(err, "error reading response body") - } - - if err := res.Body.Close(); err != nil { - return errors.Wrap(err, "closing body") - } - - if res.StatusCode != http.StatusOK { - err := internal.HTTPError{ - Body: string(buf), - StatusCode: res.StatusCode, - } - return errors.Wrap(err, "unexpected HTTP status code") - } - - if len(buf) == 0 { - return errors.New("response body is empty") - } - - if bytes.Count(buf, []byte("\n")) > 0 || - bytes.Count(buf, []byte("\x00")) > 0 { - return errors.New("invalid characters in filename") - } - - return nil - }, - config.RetryFor, - ) - if err != nil { - return "", err - } - - return string(buf), nil + _ *http.Client, +) (string, error) { //nolint:unparam // the error return value was kept for API compatibility + return editionID + ".mmdb", nil } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geoipupdate-4.9.0/pkg/geoipupdate/geoip_updater_test.go new/geoipupdate-4.10.0/pkg/geoipupdate/geoip_updater_test.go --- old/geoipupdate-4.9.0/pkg/geoipupdate/geoip_updater_test.go 2022-02-15 23:25:37.000000000 +0100 +++ new/geoipupdate-4.10.0/pkg/geoipupdate/geoip_updater_test.go 2022-09-26 20:12:11.000000000 +0200 @@ -1,92 +1,16 @@ package geoipupdate import ( - "io/ioutil" - "net/http" - "net/http/httptest" - "os" - "path/filepath" "testing" "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" ) func TestGetFileName(t *testing.T) { - tests := []struct { - Description string - FilenameStatus int - FilenameBody string - ExpectedError string - ExpectedOutput string - }{ - { - Description: "Simple Success", - FilenameStatus: http.StatusOK, - FilenameBody: "aSimpleFileName", - ExpectedOutput: "aSimpleFileName", - }, - { - Description: "Get filename fails", - FilenameStatus: http.StatusBadRequest, - ExpectedError: "unexpected HTTP status code: received HTTP status code: 400: ", - }, - { - Description: "Get filename is missing body", - FilenameStatus: http.StatusOK, - ExpectedError: "response body is empty", - }, - { - Description: "Get filename has newlines", - FilenameStatus: http.StatusOK, - FilenameBody: "bad\nfilename", - ExpectedError: "invalid characters in filename", - }, - } - - tempDir, err := ioutil.TempDir("", "gutest-") - require.NoError(t, err) - defer func() { - err = os.RemoveAll(tempDir) - require.NoError(t, err) - }() - - for _, test := range tests { - t.Run(test.Description, func(t *testing.T) { - server := httptest.NewServer( - http.HandlerFunc( - func(rw http.ResponseWriter, r *http.Request) { - if r.URL.Path == "/app/update_getfilename" { - rw.WriteHeader(test.FilenameStatus) - _, err := rw.Write([]byte(test.FilenameBody)) - require.NoError(t, err) - return - } - if r.URL.Path == "/go-here" { - rw.WriteHeader(http.StatusNotModified) - return - } - rw.WriteHeader(http.StatusBadRequest) - }, - ), - ) - - config := &Config{ - AccountID: 123, - DatabaseDirectory: tempDir, - EditionIDs: []string{"GeoIP2-City"}, - LicenseKey: "testing", - LockFile: filepath.Join(tempDir, ".geoipupdate.lock"), - URL: server.URL, - } - client := NewClient(config) - actualOutput, actualError := GetFilename(config, config.EditionIDs[0], client) - - assert.Equal(t, test.ExpectedOutput, actualOutput, test.Description) - if test.ExpectedError != "" { - require.Error(t, actualError, test.Description) - assert.Equal(t, test.ExpectedError, actualError.Error(), test.Description) - } - }) - } + filename, _ := GetFilename(nil, "GeoIP2-City", nil) + assert.Equal( + t, + "GeoIP2-City.mmdb", + filename, + ) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geoipupdate-4.9.0/pkg/geoipupdate/version.go new/geoipupdate-4.10.0/pkg/geoipupdate/version.go --- old/geoipupdate-4.9.0/pkg/geoipupdate/version.go 2022-02-15 23:25:37.000000000 +0100 +++ new/geoipupdate-4.10.0/pkg/geoipupdate/version.go 2022-09-26 20:12:11.000000000 +0200 @@ -1,4 +1,4 @@ package geoipupdate // Version defines current geoipupdate version. -const Version = "4.8.0" +const Version = "4.9.0" ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/geoipupdate/vendor.tar.gz /work/SRC/openSUSE:Factory/.geoipupdate.new.1597/vendor.tar.gz differ: char 1, line 1