mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Force crypt() salt to be null-terminated.
This commit is contained in:
		@@ -9,7 +9,7 @@
 | 
				
			|||||||
 * Dec 17, 1997 - Todd A. Brandys
 | 
					 * Dec 17, 1997 - Todd A. Brandys
 | 
				
			||||||
 *	Orignal Version Completed.
 | 
					 *	Orignal Version Completed.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $Id: crypt.c,v 1.35 2001/08/17 02:59:19 momjian Exp $
 | 
					 * $Id: crypt.c,v 1.36 2001/08/17 03:09:31 momjian Exp $
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 *-------------------------------------------------------------------------
 | 
					 *-------------------------------------------------------------------------
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -295,8 +295,12 @@ md5_crypt_verify(const Port *port, const char *user, const char *pgpass)
 | 
				
			|||||||
	switch (port->auth_method)
 | 
						switch (port->auth_method)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		case uaCrypt:
 | 
							case uaCrypt:
 | 
				
			||||||
			crypt_pwd = crypt(passwd, port->cryptSalt);
 | 
							{
 | 
				
			||||||
 | 
								char salt[3];
 | 
				
			||||||
 | 
								StrNCpy(salt, port->cryptSalt,3);
 | 
				
			||||||
 | 
								crypt_pwd = crypt(passwd, salt);
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		case uaMD5:
 | 
							case uaMD5:
 | 
				
			||||||
			crypt_pwd = palloc(MD5_PASSWD_LEN+1);
 | 
								crypt_pwd = palloc(MD5_PASSWD_LEN+1);
 | 
				
			||||||
			if (isMD5(passwd))
 | 
								if (isMD5(passwd))
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,7 +10,7 @@
 | 
				
			|||||||
 * exceed INITIAL_EXPBUFFER_SIZE (currently 256 bytes).
 | 
					 * exceed INITIAL_EXPBUFFER_SIZE (currently 256 bytes).
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * IDENTIFICATION
 | 
					 * IDENTIFICATION
 | 
				
			||||||
 *	  $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-auth.c,v 1.51 2001/08/17 02:59:19 momjian Exp $
 | 
					 *	  $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-auth.c,v 1.52 2001/08/17 03:09:31 momjian Exp $
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 *-------------------------------------------------------------------------
 | 
					 *-------------------------------------------------------------------------
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -443,8 +443,13 @@ pg_password_sendauth(PGconn *conn, const char *password, AuthRequest areq)
 | 
				
			|||||||
	switch (areq)
 | 
						switch (areq)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		case AUTH_REQ_CRYPT:
 | 
							case AUTH_REQ_CRYPT:
 | 
				
			||||||
			crypt_pwd = crypt(password, conn->cryptSalt);
 | 
							{
 | 
				
			||||||
 | 
								char salt[3];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								StrNCpy(salt, conn->cryptSalt,3);
 | 
				
			||||||
 | 
								crypt_pwd = crypt(password, salt);
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		case AUTH_REQ_MD5:
 | 
							case AUTH_REQ_MD5:
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				char *crypt_pwd2;
 | 
									char *crypt_pwd2;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user