Index: gnatsd.c =================================================================== RCS file: /cvsroot/gnats/gnats/gnats/gnatsd.c,v retrieving revision 1.47 diff -u -p -r1.47 gnatsd.c --- gnatsd.c 4 Aug 2002 10:58:29 -0000 1.47 +++ gnatsd.c 24 Sep 2002 00:04:50 -0000 @@ -256,9 +256,9 @@ password_match (const char *password, co if (! strncmp (hash, "$0$", 3)) { /* explicit plain-text password */ - return ! match (password, hash, TRUE); + return match (password, hash+3, TRUE); } - else + else if (! strncmp (hash, "$1", 3)) { /* DES crypt or MD5 hash of the password */ #ifdef HAVE_LIBCRYPT @@ -269,6 +269,9 @@ password_match (const char *password, co return FALSE; #endif } + else { + return match (password, hash, TRUE); + } } /* */ @@ -451,7 +454,6 @@ findUserAccessLevel (const char *file, c { /* Username matched but password didn't. */ *access = ACCESS_NONE; - found = 1; } else { @@ -460,7 +462,10 @@ findUserAccessLevel (const char *file, c /* Compare all given names against the name of the requested database. */ const char *l2 = ent->admFields[3]; - + + if (l2 == NULL) + found = 1; + while (l2 != NULL && ! found) { char *token = get_next_field (&l2, ','); Index: misc.c =================================================================== RCS file: /cvsroot/gnats/gnats/gnats/misc.c,v retrieving revision 1.36 diff -u -p -r1.36 misc.c --- misc.c 6 Jan 2002 16:13:20 -0000 1.36 +++ misc.c 24 Sep 2002 00:04:50 -0000 @@ -287,7 +287,10 @@ get_next_field (const char **line_ptr, i *line_ptr = NULL; } - return res; + if (end_line == line) + return NULL ; + else + return res; } /* Adds quote-marks (") around the string, and escapes any quotes that Index: mkdb.sh =================================================================== RCS file: /cvsroot/gnats/gnats/gnats/mkdb.sh,v retrieving revision 1.9 diff -u -p -r1.9 mkdb.sh --- mkdb.sh 4 Aug 2002 10:57:17 -0000 1.9 +++ mkdb.sh 24 Sep 2002 00:04:50 -0000 @@ -28,7 +28,7 @@ DATADIR=xSYSCONFDIRx/gnats/defaults LIBEXECDIR=xLIBEXECDIRx domkdir() { - mkdir "$1" || { echo "Can't create directory $1, exiting"; exit 1 ; } + mkdir -p "$1" || { echo "Can't create directory $1, exiting"; exit 1 ; } chown "${GNATS_USER}" "$1" } @@ -82,8 +82,8 @@ echo "Copying default files from ${DATAD docp categories "${dbdir}/gnats-adm/categories" docp submitters "${dbdir}/gnats-adm/submitters" docp responsible "${dbdir}/gnats-adm/responsible" -docp gnatsd.access "${dbdir}/gnats-adm/gnatsd.access" -chmod 600 "${dbdir}/gnats-adm/gnatsd.access" +docp gnatsd.access "${dbdir}/gnats-adm/gnatsd.user_access" +chmod 600 "${dbdir}/gnats-adm/gnatsd.user_access" docp addresses "${dbdir}/gnats-adm/addresses" docp states "${dbdir}/gnats-adm/states" docp classes "${dbdir}/gnats-adm/classes"