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);
  		}
