rse 98/10/23 01:15:01
Modified: src CHANGES src/modules/standard mod_auth_db.c Log: Fix Berkeley-DB/2.x support in mod_auth_db: The data structures were not initialized correctly and the db_open() call used an invalid mode parameter. Because compare especially this section from db_dbt(3): | In order to ensure compatibility with future releases of DB, all | fields of the DBT structure that are not explic- itly set should be | initialized to 0 before the first time the structure is used. Do this | by declaring the structure external or static, or by calling the C | library routine bzero(3) or memset(3). Submitted by: Ron Klatchko <[EMAIL PROTECTED]> PR: 3171 Revision Changes Path 1.1119 +4 -0 apache-1.3/src/CHANGES Index: CHANGES =================================================================== RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1118 retrieving revision 1.1119 diff -u -r1.1118 -r1.1119 --- CHANGES 1998/10/23 08:12:03 1.1118 +++ CHANGES 1998/10/23 08:14:58 1.1119 @@ -1,5 +1,9 @@ Changes with Apache 1.3.4 + *) Fix Berkeley-DB/2.x support in mod_auth_db: The data structures were not + initialized correctly and the db_open() call used an invalid mode + parameter. [Ron Klatchko <[EMAIL PROTECTED]>] PR#3171 + *) PORT: DSO support for UnixWare 7 [Ralf S. Engelschall, Ron Record <[EMAIL PROTECTED]>] 1.35 +4 -1 apache-1.3/src/modules/standard/mod_auth_db.c Index: mod_auth_db.c =================================================================== RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_auth_db.c,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- mod_auth_db.c 1998/10/03 15:11:52 1.34 +++ mod_auth_db.c 1998/10/23 08:15:01 1.35 @@ -155,11 +155,14 @@ DBT d, q; char *pw = NULL; + memset(&d, 0, sizeof(d)); + memset(&q, 0, sizeof(q)); + q.data = user; q.size = strlen(q.data); #ifdef DB2 - if (db_open(auth_dbpwfile, DB_HASH, O_RDONLY, 0664, NULL, NULL, &f) != 0) { + if (db_open(auth_dbpwfile, DB_HASH, DB_RDONLY, 0664, NULL, NULL, &f) != 0) { #else if (!(f = dbopen(auth_dbpwfile, O_RDONLY, 0664, DB_HASH, NULL))) { #endif