mirror of
https://github.com/postgres/postgres.git
synced 2026-04-29 18:32:53 -04:00
Subject: [HACKERS] password authentication This patch adds support for plaintext password authentication. To use it, you add a line like host all 0.0.0.0 0.0.0.0 password pg_pwd.conf to your pg_hba.conf, where 'pg_pwd.conf' is the name of a file containing the usernames and password hashes in the format of the first two fields of a Unix /etc/passwd file. (Of course, you can use a specific database name or IP instead.) Then, to connect with a password through libpq, you use the PQconnectdb() function, specifying the "password=" tag in the connect string and also adding the tag "authtype=password". I also added a command-line switch '-u' to psql that tells it to prompt for a username and password and use password authentication.
40 lines
1.2 KiB
C
40 lines
1.2 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* fe-auth.h
|
|
*
|
|
* Definitions for network authentication routines
|
|
*
|
|
* Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* $Id: fe-auth.h,v 1.3 1997/03/12 21:23:04 scrappy Exp $
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef FE_AUTH_H
|
|
#define FE_AUTH_H
|
|
|
|
/*----------------------------------------------------------------
|
|
* Common routines and definitions
|
|
*----------------------------------------------------------------
|
|
*/
|
|
|
|
/* what we call "no authentication system" */
|
|
#define UNAUTHNAME "unauth"
|
|
|
|
/* what a frontend uses by default */
|
|
#if !defined(KRB4) && !defined(KRB5)
|
|
#define DEFAULT_CLIENT_AUTHSVC UNAUTHNAME
|
|
#else /* KRB4 || KRB5 */
|
|
#define DEFAULT_CLIENT_AUTHSVC "kerberos"
|
|
#endif /* KRB4 || KRB5 */
|
|
|
|
extern int fe_sendauth(MsgType msgtype, Port *port, const char *hostname,
|
|
const char *user, const char *password,
|
|
const char* PQerromsg);
|
|
extern void fe_setauthsvc(const char *name, char* PQerrormsg);
|
|
|
|
#define PG_KRB4_VERSION "PGVER4.1" /* at most KRB_SENDAUTH_VLEN chars */
|
|
#define PG_KRB5_VERSION "PGVER5.1"
|
|
|
|
#endif /* FE_AUTH_H */
|
|
|