Index: src/backend/libpq/crypt.c =================================================================== RCS file: /cvsroot/pgsql/src/backend/libpq/crypt.c,v retrieving revision 1.45 diff -c -r1.45 crypt.c *** src/backend/libpq/crypt.c 4 Apr 2002 04:25:47 -0000 1.45 --- src/backend/libpq/crypt.c 25 Apr 2002 00:30:33 -0000 *************** *** 31,48 **** int md5_crypt_verify(const Port *port, const char *user, const char *pgpass) { ! char *passwd, ! *valuntil, *crypt_pwd; int retval = STATUS_ERROR; List **line; ! if ((line = get_user_line(user)) == NULL) return STATUS_ERROR; ! passwd = lfirst(lnext(lnext(*line))); ! valuntil = lfirst(lnext(lnext(lnext(*line)))); ! if (passwd == NULL || *passwd == '\0') { if (passwd) --- 31,56 ---- int md5_crypt_verify(const Port *port, const char *user, const char *pgpass) { ! char *passwd = NULL, ! *valuntil = NULL, *crypt_pwd; int retval = STATUS_ERROR; List **line; ! List *token; ! if ((line = get_user_line(user)) == NULL) return STATUS_ERROR; ! /* Skip over line number and username */ ! token = lnext(lnext(*line)); ! if (token) ! { ! passwd = lfirst(token); ! token = lnext(token); ! if (token) ! valuntil = lfirst(token); ! } ! if (passwd == NULL || *passwd == '\0') { if (passwd) *************** *** 120,126 **** AbsoluteTime vuntil, current; ! if (!valuntil || strcmp(valuntil, "\\N") == 0) vuntil = INVALID_ABSTIME; else vuntil = DatumGetAbsoluteTime(DirectFunctionCall1(nabstimein, --- 128,134 ---- AbsoluteTime vuntil, current; ! if (!valuntil) vuntil = INVALID_ABSTIME; else vuntil = DatumGetAbsoluteTime(DirectFunctionCall1(nabstimein, Index: src/backend/libpq/hba.c =================================================================== RCS file: /cvsroot/pgsql/src/backend/libpq/hba.c,v retrieving revision 1.81 diff -c -r1.81 hba.c *** src/backend/libpq/hba.c 4 Apr 2002 04:25:47 -0000 1.81 --- src/backend/libpq/hba.c 25 Apr 2002 00:30:34 -0000 *************** *** 109,117 **** while (c != EOF && c != '\n' && (!isblank(c) || in_quote == true)) { - if (c == '"') - in_quote = !in_quote; - /* skip comments to EOL */ if (c == '#' && !in_quote) { --- 109,114 ---- *************** *** 138,147 **** break; /* Literal double-quote is two double-quotes */ ! if (c == '"') was_quote = !was_quote; else was_quote = false; c = getc(fp); } --- 135,147 ---- break; /* Literal double-quote is two double-quotes */ ! if (in_quote && c == '"') was_quote = !was_quote; else was_quote = false; + + if (c == '"') + in_quote = !in_quote; c = getc(fp); }