Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package apache2-mod_maxminddb for
openSUSE:Factory checked in at 2025-07-06 17:06:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apache2-mod_maxminddb (Old)
and /work/SRC/openSUSE:Factory/.apache2-mod_maxminddb.new.1903 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "apache2-mod_maxminddb"
Sun Jul 6 17:06:27 2025 rev:6 rq:1290143 version:1.3.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/apache2-mod_maxminddb/apache2-mod_maxminddb.changes
2024-02-22 20:59:54.678224251 +0100
+++
/work/SRC/openSUSE:Factory/.apache2-mod_maxminddb.new.1903/apache2-mod_maxminddb.changes
2025-07-06 17:09:15.786315158 +0200
@@ -1,0 +2,7 @@
+Wed Jul 2 15:59:14 UTC 2025 - Torsten Gruner <[email protected]>
+
+- update to 1.3.0
+ * Portability fixes
+ * Documentation improvements
+
+-------------------------------------------------------------------
Old:
----
mod_maxminddb-1.2.0.tar.gz
New:
----
mod_maxminddb-1.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ apache2-mod_maxminddb.spec ++++++
--- /var/tmp/diff_new_pack.D8DrY0/_old 2025-07-06 17:09:16.514345283 +0200
+++ /var/tmp/diff_new_pack.D8DrY0/_new 2025-07-06 17:09:16.514345283 +0200
@@ -18,7 +18,7 @@
%define modname mod_maxminddb
Name: apache2-mod_maxminddb
-Version: 1.2.0
+Version: 1.3.0
Release: 0
Summary: MaxMind DB Apache Module
License: Apache-2.0
++++++ mod_maxminddb-1.2.0.tar.gz -> mod_maxminddb-1.3.0.tar.gz ++++++
++++ 6467 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/mod_maxminddb-1.2.0/Changes.md new/mod_maxminddb-1.3.0/Changes.md
--- old/mod_maxminddb-1.2.0/Changes.md 2020-02-03 23:15:23.000000000 +0100
+++ new/mod_maxminddb-1.3.0/Changes.md 2025-05-02 23:22:31.000000000 +0200
@@ -1,3 +1,8 @@
+## 1.3.0 - 2025-05-02
+
+* Portability fixes
+* Documentation improvements
+
## 1.2.0 - 2020-02-03
* Fix a bug where uninitialized memory could be accessed when looking up
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/mod_maxminddb-1.2.0/README.md new/mod_maxminddb-1.3.0/README.md
--- old/mod_maxminddb-1.2.0/README.md 2020-02-03 23:04:14.000000000 +0100
+++ new/mod_maxminddb-1.3.0/README.md 2025-05-02 23:22:31.000000000 +0200
@@ -54,10 +54,18 @@
./configure --with-apxs=/foo/bar/apxs
+## Loading the Module ##
+
+After installing the module, Apache has to load it. Note the installation
+does this automatically, so you should not need to do anything. If you're
+unsure if the module is loaded, ensure there's a `LoadModule` line
+somewhere in your config, such as `LoadModule maxminddb_module
+/path/to/mod_maxminddb.so`.
+
## Usage ##
To use this module, you must first download or create a MaxMind DB file. We
-provide [free GeoLite2
databases](https://dev.maxmind.com/geoip/geoip2/geolite2)
+provide [free GeoLite2
databases](https://dev.maxmind.com/geoip/geolite2-free-geolocation-data?lang=en)
as well as [commercial GeoIP2
databases](https://www.maxmind.com/en/geoip2-databases).
After installing this module and obtaining a database, you must now set up the
@@ -119,6 +127,8 @@
MaxMindDBEnv COUNTRY_CODE COUNTRY_DB/country/iso_code
MaxMindDBEnv REGION_CODE CITY_DB/subdivisions/0/iso_code
+Keep in mind that the configured environment variable(s) will only be exported
if the data lookup succeeds.
+
### `MaxMindDBNetworkEnv` ###
This directive assigns the network associated with the IP address to an
@@ -228,15 +238,38 @@
This example shows how to block users based on their country:
MaxMindDBEnable On
- MaxMindDBFile DB /usr/local/share/GeoIP/GeoLite2-Country.mmdb
- MaxMindDBEnv MM_COUNTRY_CODE DB/country/iso_code
+ MaxMindDBFile COUNTRY_DB /usr/local/share/GeoIP/GeoLite2-Country.mmdb
+ MaxMindDBEnv MM_COUNTRY_CODE COUNTRY_DB/country/iso_code
+
+ <Directory /your/directory>
+ SetEnvIf MM_COUNTRY_CODE ^(RU|DE|FR) BlockCountry
+ <RequireAll>
+ Require env MM_COUNTRY_CODE
+ Require not env BlockCountry
+ </RequireAll>
+ </Directory>
+
+Note that the "Require" directive must be applied within a `<Directory>`,
+`<Location>` or `<Files>` container.
+
+### Allowing by Country ###
+
+This example shows how to allow users based on their country:
+
+ MaxMindDBEnable On
+ MaxMindDBFile COUNTRY_DB /usr/local/share/GeoIP/GeoLite2-Country.mmdb
+ MaxMindDBEnv MM_COUNTRY_CODE COUNTRY_DB/country/iso_code
- SetEnvIf MM_COUNTRY_CODE ^(RU|DE|FR) BlockCountry
- Deny from env=BlockCountry
+ <Directory /your/directory>
+ SetEnvIf MM_COUNTRY_CODE ^(CA|FR) AllowCountry
+ <RequireAll>
+ Require env MM_COUNTRY_CODE
+ Require env AllowCountry
+ </RequireAll>
+ </Directory>
-Note that at least the "Deny" or "Allow" directive (or "Require" directive in
-Apache 2.4 and above) must be applied within a `<Directory>`, `<Location>` or
-`<Files>` container.
+Note that the "Require" directive must be applied within a `<Directory>`,
+`<Location>` or `<Files>` container.
## Data Output Format ##
@@ -250,7 +283,7 @@
null bytes and may end up truncated when stored in an environment variable. If
you really need to access this data, we recommend using [one of our
programming language
-APIs](https://dev.maxmind.com/geoip/geoip2/downloadable/#MaxMind_APIs) instead.
+APIs](https://dev.maxmind.com/geoip/geolocate-an-ip/databases?lang=en) instead.
## Support ##
@@ -267,6 +300,6 @@
## Copyright and License ##
-This software is Copyright (c) 2013-2020 by MaxMind, Inc.
+This software is Copyright (c) 2013-2025 by MaxMind, Inc.
This is free software, licensed under the Apache License, Version 2.0.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/mod_maxminddb-1.2.0/compile new/mod_maxminddb-1.3.0/compile
--- old/mod_maxminddb-1.2.0/compile 2020-02-03 23:15:33.000000000 +0100
+++ new/mod_maxminddb-1.3.0/compile 2025-05-02 23:24:23.000000000 +0200
@@ -1,9 +1,9 @@
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
-scriptversion=2012-10-14.11; # UTC
+scriptversion=2018-03-07.03; # UTC
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2021 Free Software Foundation, Inc.
# Written by Tom Tromey <[email protected]>.
#
# This program is free software; you can redistribute it and/or modify
@@ -17,7 +17,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -53,7 +53,7 @@
MINGW*)
file_conv=mingw
;;
- CYGWIN*)
+ CYGWIN* | MSYS*)
file_conv=cygwin
;;
*)
@@ -67,7 +67,7 @@
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
- cygwin/*)
+ cygwin/* | msys/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
@@ -255,7 +255,8 @@
echo "compile $scriptversion"
exit $?
;;
- cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
@@ -339,9 +340,9 @@
# Local Variables:
# mode: shell-script
# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/mod_maxminddb-1.2.0/configure.ac new/mod_maxminddb-1.3.0/configure.ac
--- old/mod_maxminddb-1.2.0/configure.ac 2020-02-03 23:15:31.000000000
+0100
+++ new/mod_maxminddb-1.3.0/configure.ac 2025-05-02 23:24:22.000000000
+0200
@@ -1,10 +1,9 @@
-AC_INIT([mod_maxminddb], [1.2.0], [[email protected]])
-AC_ARG_WITH(apxs, AC_HELP_STRING([--with-apxs=NAME],
- [name of your apxs executable [[apxs]]]),
+AC_INIT([mod_maxminddb],[1.3.0],[[email protected]])
+AC_ARG_WITH(apxs, AS_HELP_STRING([--with-apxs=NAME],[name of your apxs
executable [[apxs]]]),
[APXS="$with_apxs"])
AC_CONFIG_AUX_DIR([.])
AM_INIT_AUTOMAKE
-AC_PROG_CC_C99
+AC_PROG_CC
# Copied from http://stackoverflow.com/a/10682813/9832 and tweaked for C (as
# opposed to C++)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/mod_maxminddb-1.2.0/missing new/mod_maxminddb-1.3.0/missing
--- old/mod_maxminddb-1.2.0/missing 2020-02-03 23:15:33.000000000 +0100
+++ new/mod_maxminddb-1.3.0/missing 2025-05-02 23:24:23.000000000 +0200
@@ -1,9 +1,9 @@
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2013-10-28.13; # UTC
+scriptversion=2018-03-07.03; # UTC
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <[email protected]>, 1996.
# This program is free software; you can redistribute it and/or modify
@@ -17,7 +17,7 @@
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -101,9 +101,9 @@
exit $st
fi
-perl_URL=http://www.perl.org/
-flex_URL=http://flex.sourceforge.net/
-gnu_software_URL=http://www.gnu.org/software
+perl_URL=https://www.perl.org/
+flex_URL=https://github.com/westes/flex
+gnu_software_URL=https://www.gnu.org/software
program_details ()
{
@@ -207,9 +207,9 @@
exit $st
# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/mod_maxminddb-1.2.0/src/mod_maxminddb.c
new/mod_maxminddb-1.3.0/src/mod_maxminddb.c
--- old/mod_maxminddb-1.2.0/src/mod_maxminddb.c 2020-02-03 23:04:14.000000000
+0100
+++ new/mod_maxminddb-1.3.0/src/mod_maxminddb.c 2025-05-02 23:22:31.000000000
+0200
@@ -3,7 +3,7 @@
* This module populates environment variable from a MaxMind DB database
* using the requestor's IP address.
*
- * Copyright 2013-2020, MaxMind Inc.
+ * Copyright 2013-2025, MaxMind Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -22,15 +22,22 @@
#include <ap_config.h>
#include <apr_hash.h>
#include <apr_strings.h>
+#if APR_HAVE_ARPA_INET_H
#include <arpa/inet.h>
+#endif
#include <httpd.h>
-// Must come after httpd.h.
+ // Must come after httpd.h.
#include <http_config.h>
#include <http_log.h>
#include <http_protocol.h>
#include <inttypes.h>
#include <maxminddb.h>
+#if APR_HAVE_SYS_SOCKET_H
#include <sys/socket.h>
+#endif
+#if APR_HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif
#include <sys/types.h>
#ifdef APLOG_USE_MODULE
@@ -74,7 +81,7 @@
static void *create_config(apr_pool_t *pool);
static apr_status_t cleanup_database(void *mmdb);
static char *from_uint128(apr_pool_t *pool, const MMDB_entry_data_s *result);
-static char *get_client_ip(request_rec *r);
+static char const *get_client_ip(request_rec *r);
static void maxminddb_register_hooks(apr_pool_t *UNUSED(p));
static void *merge_config(apr_pool_t *pool, void *parent, void *child);
void *merge_lookups(apr_pool_t *pool,
@@ -303,6 +310,8 @@
return APR_SUCCESS;
}
+#define MAX_PATH_SEGMENTS 80
+
static const char *set_maxminddb_env(cmd_parms *cmd,
void *dir_config,
const char *env,
@@ -311,8 +320,7 @@
INFO(cmd->server, "set_maxminddb_env (server) %s %s", env, path);
- const int max_path_segments = 80;
- char *path_segments[max_path_segments + 1];
+ char *path_segments[MAX_PATH_SEGMENTS + 1];
char *tokenized_path = apr_pstrdup(cmd->pool, path);
int i;
@@ -321,7 +329,7 @@
const char *database_name = token =
apr_strtok(tokenized_path, "/", &strtok_last);
- for (i = 0; i < max_path_segments && token; i++) {
+ for (i = 0; i < MAX_PATH_SEGMENTS && token; i++) {
token = apr_strtok(NULL, "/", &strtok_last);
path_segments[i] = token;
}
@@ -331,7 +339,7 @@
return NULL;
}
char **new_path_segments = (char **)apr_pmemdup(
- cmd->pool, path_segments, (1 + i) * sizeof(char *));
+ cmd->pool, path_segments, (size_t)(1 + i) * sizeof(char *));
apr_hash_t *lookups_for_db =
apr_hash_get(conf->lookups, database_name, APR_HASH_KEY_STRING);
if (NULL == lookups_for_db) {
@@ -383,7 +391,7 @@
if (!conf || conf->enabled != 1) {
return DECLINED;
}
- char *ip_address = get_client_ip(r);
+ char const *const ip_address = get_client_ip(r);
INFO(r->server, "maxminddb_header_parser %s", ip_address);
if (NULL == ip_address) {
return DECLINED;
@@ -404,10 +412,10 @@
return OK;
}
-static char *get_client_ip(request_rec *r) {
+static char const *get_client_ip(request_rec *r) {
const char *addr = apr_table_get(r->subprocess_env, "MMDB_ADDR");
if (addr) {
- return (char *)addr;
+ return addr;
}
#if AP_SERVER_MAJORVERSION_NUMBER == 2 && AP_SERVER_MINORVERSION_NUMBER == 4
return r->useragent_ip;
@@ -437,7 +445,7 @@
int const gai_status = getaddrinfo(ip_address, NULL, &hints, &addresses);
if (gai_status != 0) {
ERROR(r->server,
- "Error resolving IP address: %s",
+ "Error resolving IP address '%s': %s", ip_address,
gai_strerror(gai_status));
return;
}
@@ -605,13 +613,13 @@
if (address->ai_family == AF_INET && mmdb->metadata.ip_version == 6) {
// The prefix length given the IPv4 address. If there is no IPv4
// subtree, we use a prefix length of 0.
- prefix = prefix >= 96 ? prefix - 96 : 0;
+ prefix = (uint16_t)(prefix >= 96 ? prefix - 96 : 0);
}
if (address->ai_family == AF_INET) {
struct sockaddr_in const *const sin =
(struct sockaddr_in *)address->ai_addr;
- uint8_t const *const ip = (uint8_t *)&sin->sin_addr.s_addr;
+ uint8_t const *const ip = (uint8_t const *)&sin->sin_addr.s_addr;
uint8_t network_ip[4] = {0};
@@ -646,7 +654,7 @@
uint8_t b = ip[i];
if (prefix2 < 8) {
int const shift_n = 8 - prefix2;
- b = 0xff & (b >> shift_n) << shift_n;
+ b = (uint8_t)(0xff & (b >> shift_n) << shift_n);
}
network_ip[i] = b;
prefix2 -= 8;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/mod_maxminddb-1.2.0/t/SMOKE new/mod_maxminddb-1.3.0/t/SMOKE
--- old/mod_maxminddb-1.2.0/t/SMOKE 2020-01-23 18:09:00.000000000 +0100
+++ new/mod_maxminddb-1.3.0/t/SMOKE 1970-01-01 01:00:00.000000000 +0100
@@ -1,22 +0,0 @@
-#!/home/greg/.plenv/versions/5.28.2/bin/perl5.28.2
-# WARNING: this file is generated, do not edit
-# generated on Thu Jan 23 09:09:00 2020
-# 01:
/home/greg/.plenv/versions/5.28.2/lib/perl5/site_perl/5.28.2/x86_64-linux/Apache/TestConfig.pm:1003
-# 02:
/home/greg/.plenv/versions/5.28.2/lib/perl5/site_perl/5.28.2/x86_64-linux/Apache/TestConfig.pm:1095
-# 03:
/home/greg/.plenv/versions/5.28.2/lib/perl5/site_perl/5.28.2/x86_64-linux/Apache/TestSmoke.pm:775
-# 04:
/home/greg/.plenv/versions/5.28.2/lib/perl5/site_perl/5.28.2/x86_64-linux/Apache/TestMM.pm:143
-# 05: Makefile.PL:17
-
-BEGIN { eval { require blib && blib->import; } }
-
-use strict;
-use warnings FATAL => 'all';
-
-use lib qw(
- /home/greg/MaxMind/mod_maxminddb/t/lib
- /home/greg/MaxMind/mod_maxminddb
-);
-
-
-use Apache::TestSmoke;
-Apache::TestSmoke->new(@ARGV)->run;
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/mod_maxminddb-1.2.0/t/conf/extra.conf.in
new/mod_maxminddb-1.3.0/t/conf/extra.conf.in
--- old/mod_maxminddb-1.2.0/t/conf/extra.conf.in 2020-02-03
23:04:14.000000000 +0100
+++ new/mod_maxminddb-1.3.0/t/conf/extra.conf.in 2025-05-02
23:22:18.000000000 +0200
@@ -1,5 +1,3 @@
-LoadModule mpm_worker_module /usr/lib/apache2/modules/mod_mpm_worker.so
-
LoadModule alias_module /usr/lib/apache2/modules/mod_alias.so
LoadModule authn_core_module /usr/lib/apache2/modules/mod_authn_core.so
LoadModule authz_core_module /usr/lib/apache2/modules/mod_authz_core.so
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/mod_maxminddb-1.2.0/t/setup/apache2.conf
new/mod_maxminddb-1.3.0/t/setup/apache2.conf
--- old/mod_maxminddb-1.2.0/t/setup/apache2.conf 2019-02-08
21:32:55.000000000 +0100
+++ new/mod_maxminddb-1.3.0/t/setup/apache2.conf 2025-05-02
23:22:18.000000000 +0200
@@ -1,4 +1,4 @@
-ServerRoot /home/travis/build/maxmind/mod_maxminddb/t
+ServerRoot /home/runner/work/mod_maxminddb/mod_maxminddb/t
ServerName localhost
LoadModule mpm_worker_module /usr/lib/apache2/modules/mod_mpm_worker.so