Index: head/www/mod_auth_mysql_another/Makefile =================================================================== --- head/www/mod_auth_mysql_another/Makefile (revision 453543) +++ head/www/mod_auth_mysql_another/Makefile (revision 453544) @@ -1,32 +1,32 @@ # Created by: mbr@FreeBSD.org # $FreeBSD$ PORTNAME= mod_auth_mysql PORTVERSION= 3.0.0 PORTREVISION= 5 CATEGORIES= www MASTER_SITES= SF/modauthmysql/modauthmysql/${PORTVERSION} PKGNAMESUFFIX= _another MAINTAINER= apache@FreeBSD.org COMMENT= Allows users to use MySQL databases for user authentication LICENSE= APACHE10 USE_MYSQL= yes USE_APACHE= 22+ SHORTMODNAME= mysql_auth AP_FAST_BUILD= yes AP_GENPLIST= yes AP_INC= ${LOCALBASE}/include/mysql AP_LIB= ${LOCALBASE}/lib/mysql -AP_EXTRAS= -lmysqlclient -lz -lm +AP_EXTRAS= -lmysqlclient_r -lz -lm PORTDOCS= CONFIGURE CHANGES post-install: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR} .include Index: head/www/mod_auth_mysql_another/files/patch-mod__auth__mysql.c =================================================================== --- head/www/mod_auth_mysql_another/files/patch-mod__auth__mysql.c (revision 453543) +++ head/www/mod_auth_mysql_another/files/patch-mod__auth__mysql.c (revision 453544) @@ -1,156 +1,178 @@ --- mod_auth_mysql.c.orig 2005-06-22 16:17:45 UTC +++ mod_auth_mysql.c -@@ -206,7 +206,7 @@ +@@ -98,6 +98,10 @@ + #define _PORT STRING(PORT) + #endif + #else ++ /* MariaDB as of 10.2 does not declare MYSQL_PORT for the client */ ++ #ifndef MYSQL_PORT ++ #define MYSQL_PORT 3306 ++ #endif + #ifdef APACHE2 + #define _PORT MYSQL_PORT /* Use the one from MySQL */ + #else +@@ -108,6 +112,10 @@ + #ifdef SOCKET /* UNIX socket */ + #define _SOCKET STRING(SOCKET) + #else ++ /* MariaDB as of 10.2 does not declare MYSQL_UNIX_ADDR for the client */ ++ #ifndef MYSQL_UNIX_ADDR ++ #define MYSQL_UNIX_ADDR STRING(/tmp/mysql.sock) ++ #endif + #define _SOCKET MYSQL_UNIX_ADDR + #endif + +@@ -206,7 +214,7 @@ #define SNPRINTF apr_snprintf #define PSTRDUP apr_pstrdup #define PSTRNDUP apr_pstrndup - #define STRCAT ap_pstrcat + #define STRCAT apr_pstrcat #define POOL apr_pool_t #include "http_request.h" /* for ap_hook_(check_user_id | auth_checker)*/ #include "ap_compat.h" -@@ -237,7 +237,7 @@ +@@ -237,7 +245,7 @@ #define SNPRINTF ap_snprintf #define PSTRDUP ap_pstrdup #define PSTRNDUP ap_pstrndup - #define STRCAT ap_pstrcat + #define STRCAT apr_pstrcat #define POOL pool #include #include "ap_sha1.h" -@@ -589,87 +589,87 @@ static void * create_mysql_auth_dir_conf +@@ -589,87 +597,87 @@ static void * create_mysql_auth_dir_conf static command_rec mysql_auth_cmds[] = { AP_INIT_TAKE1("AuthMySQLHost", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlhost), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlhost), OR_AUTHCFG, "mysql server host name"), AP_INIT_TAKE1("AuthMySQLPort", ap_set_int_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlport), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlport), OR_AUTHCFG, "mysql server port number"), AP_INIT_TAKE1("AuthMySQLSocket", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlsocket), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlsocket), OR_AUTHCFG, "mysql server socket path"), AP_INIT_TAKE1("AuthMySQLUser", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqluser), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqluser), OR_AUTHCFG, "mysql server user name"), AP_INIT_TAKE1("AuthMySQLPassword", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlpasswd), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlpasswd), OR_AUTHCFG, "mysql server user password"), AP_INIT_TAKE1("AuthMySQLDB", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlDB), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlDB), OR_AUTHCFG, "mysql database name"), AP_INIT_TAKE1("AuthMySQLUserTable", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlpwtable), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlpwtable), OR_AUTHCFG, "mysql user table name"), AP_INIT_TAKE1("AuthMySQLGroupTable", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlgrptable), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlgrptable), OR_AUTHCFG, "mysql group table name"), AP_INIT_TAKE1("AuthMySQLNameField", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlNameField), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlNameField), OR_AUTHCFG, "mysql User ID field name within User table"), AP_INIT_TAKE1("AuthMySQLGroupField", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlGroupField), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlGroupField), OR_AUTHCFG, "mysql Group field name within table"), AP_INIT_TAKE1("AuthMySQLGroupUserNameField", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlGroupUserNameField), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlGroupUserNameField), OR_AUTHCFG, "mysql User ID field name within Group table"), AP_INIT_TAKE1("AuthMySQLPasswordField", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlPasswordField), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlPasswordField), OR_AUTHCFG, "mysql Password field name within table"), AP_INIT_TAKE1("AuthMySQLPwEncryption", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlEncryptionField), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlEncryptionField), OR_AUTHCFG, "mysql password encryption method"), AP_INIT_TAKE1("AuthMySQLSaltField", ap_set_string_slot, - (void*) APR_XtOffsetOf(mysql_auth_config_rec, mysqlSaltField), + (void*) APR_OFFSETOF(mysql_auth_config_rec, mysqlSaltField), OR_AUTHCFG, "mysql salfe field name within table"), /* AP_INIT_FLAG("AuthMySQLKeepAlive", ap_set_flag_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlKeepAlive), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlKeepAlive), OR_AUTHCFG, "mysql connection kept open across requests if On"), */ AP_INIT_FLAG("AuthMySQLAuthoritative", ap_set_flag_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlAuthoritative), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlAuthoritative), OR_AUTHCFG, "mysql lookup is authoritative if On"), AP_INIT_FLAG("AuthMySQLNoPasswd", ap_set_flag_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlNoPasswd), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlNoPasswd), OR_AUTHCFG, "If On, only check if user exists; ignore password"), AP_INIT_FLAG("AuthMySQLEnable", ap_set_flag_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlEnable), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlEnable), OR_AUTHCFG, "enable mysql authorization"), AP_INIT_TAKE1("AuthMySQLUserCondition", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlUserCondition), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlUserCondition), OR_AUTHCFG, "condition to add to user where-clause"), AP_INIT_TAKE1("AuthMySQLGroupCondition", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlGroupCondition), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlGroupCondition), OR_AUTHCFG, "condition to add to group where-clause"), AP_INIT_TAKE1("AuthMySQLCharacterSet", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlCharacterSet), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlCharacterSet), OR_AUTHCFG, "mysql character set to be used"), { NULL } -@@ -905,7 +905,16 @@ static char * format_remote_host(request +@@ -905,7 +913,16 @@ static char * format_remote_host(request } static char * format_remote_ip(request_rec * r, char ** parm) { - return r->connection->remote_ip; +/* + from ap_mmn.h + 20111130.0 (2.4.0-dev) c->remote_ip becomes c->peer_ip and r->client_ip, + c->remote_addr becomes c->peer_addr and r->client_addr +*/ +#if AP_MODULE_MAGIC_AT_LEAST(20111130,0) + return r->connection->client_ip; +#else + return r->connection->remote_ip; +#endif } static char * format_filename(request_rec * r, char ** parm) { -@@ -1270,7 +1279,7 @@ static int mysql_check_auth(request_rec +@@ -1270,7 +1287,7 @@ static int mysql_check_auth(request_rec int method = r->method_number; #ifdef APACHE2 - const apr_array_header_t *reqs_arr = ap_requires(r); + const apr_array_header_t *reqs_arr = NULL; #else const array_header *reqs_arr = ap_requires(r); #endif