diff options
| author | Bruce Momjian | 1998-02-26 04:46:47 +0000 |
|---|---|---|
| committer | Bruce Momjian | 1998-02-26 04:46:47 +0000 |
| commit | a32450a5855eed4bfd756ef292ee45d3c754665b (patch) | |
| tree | 26735c3406d9f46d0f39accbe6ff1fb5cc5beedc /src/backend/libpq | |
| parent | 757bf69a2e259c76baed94fa06e792664ab5ed67 (diff) | |
pgindent run before 6.3 release, with Thomas' requested changes.
Diffstat (limited to 'src/backend/libpq')
| -rw-r--r-- | src/backend/libpq/auth.c | 250 | ||||
| -rw-r--r-- | src/backend/libpq/be-dumpdata.c | 6 | ||||
| -rw-r--r-- | src/backend/libpq/be-pqexec.c | 6 | ||||
| -rw-r--r-- | src/backend/libpq/crypt.c | 469 | ||||
| -rw-r--r-- | src/backend/libpq/hba.c | 396 | ||||
| -rw-r--r-- | src/backend/libpq/password.c | 11 | ||||
| -rw-r--r-- | src/backend/libpq/portal.c | 10 | ||||
| -rw-r--r-- | src/backend/libpq/portalbuf.c | 8 | ||||
| -rw-r--r-- | src/backend/libpq/pqcomm.c | 42 | ||||
| -rw-r--r-- | src/backend/libpq/pqcomprim.c | 28 | ||||
| -rw-r--r-- | src/backend/libpq/pqpacket.c | 51 |
11 files changed, 684 insertions, 593 deletions
diff --git a/src/backend/libpq/auth.c b/src/backend/libpq/auth.c index 2ea1f703cc..7cf875222a 100644 --- a/src/backend/libpq/auth.c +++ b/src/backend/libpq/auth.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.26 1998/02/25 13:06:49 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.27 1998/02/26 04:31:42 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -40,16 +40,16 @@ #include <libpq/crypt.h> -static void sendAuthRequest(Port *port, AuthRequest areq, void (*handler)()); +static void sendAuthRequest(Port *port, AuthRequest areq, void (*handler) ()); static void handle_done_auth(Port *port); static void handle_krb4_auth(Port *port); static void handle_krb5_auth(Port *port); static void handle_password_auth(Port *port); static void readPasswordPacket(char *arg, PacketLen len, char *pkt); static void pg_passwordv0_recvauth(char *arg, PacketLen len, char *pkt); -static int checkPassword(Port *port, char *user, char *password); -static int old_be_recvauth(Port *port); -static int map_old_to_new(Port *port, UserAuth old, int status); +static int checkPassword(Port *port, char *user, char *password); +static int old_be_recvauth(Port *port); +static int map_old_to_new(Port *port, UserAuth old, int status); #ifdef KRB4 @@ -327,14 +327,18 @@ pg_krb5_recvauth(Port *port) * Handle a v0 password packet. */ -static void pg_passwordv0_recvauth(char *arg, PacketLen len, char *pkt) +static void +pg_passwordv0_recvauth(char *arg, PacketLen len, char *pkt) { - Port *port; + Port *port; PasswordPacketV0 *pp; - char *user, *password, *cp, *start; + char *user, + *password, + *cp, + *start; - port = (Port *)arg; - pp = (PasswordPacketV0 *)pkt; + port = (Port *) arg; + pp = (PasswordPacketV0 *) pkt; /* * The packet is supposed to comprise the user name and the password @@ -343,7 +347,7 @@ static void pg_passwordv0_recvauth(char *arg, PacketLen len, char *pkt) user = password = NULL; - len -= sizeof (pp->unused); + len -= sizeof(pp->unused); cp = start = pp->data; @@ -372,8 +376,8 @@ static void pg_passwordv0_recvauth(char *arg, PacketLen len, char *pkt) } else { - int status; - UserAuth saved; + int status; + UserAuth saved; /* Check the password. */ @@ -396,7 +400,8 @@ static void pg_passwordv0_recvauth(char *arg, PacketLen len, char *pkt) * Tell the user the authentication failed, but not why. */ -void auth_failed(Port *port) +void +auth_failed(Port *port) { PacketSendError(&port->pktInfo, "User authentication failed"); } @@ -405,15 +410,17 @@ void auth_failed(Port *port) /* * be_recvauth -- server demux routine for incoming authentication information */ -void be_recvauth(Port *port) +void +be_recvauth(Port *port) { + /* * Get the authentication method to use for this frontend/database * combination. */ if (hba_getauthmethod(&port->raddr, port->database, port->auth_arg, - &port->auth_method) != STATUS_OK) + &port->auth_method) != STATUS_OK) PacketSendError(&port->pktInfo, "Missing or mis-configured pg_hba.conf file"); else if (PG_PROTOCOL_MAJOR(port->proto) == 0) @@ -426,7 +433,7 @@ void be_recvauth(Port *port) else { AuthRequest areq; - void (*auth_handler)(); + void (*auth_handler) (); /* Keep the compiler quiet. */ @@ -438,44 +445,44 @@ void be_recvauth(Port *port) switch (port->auth_method) { - case uaReject: - break; - - case uaKrb4: - areq = AUTH_REQ_KRB4; - auth_handler = handle_krb4_auth; - break; + case uaReject: + break; - case uaKrb5: - areq = AUTH_REQ_KRB5; - auth_handler = handle_krb5_auth; - break; + case uaKrb4: + areq = AUTH_REQ_KRB4; + auth_handler = handle_krb4_auth; + break; - case uaTrust: - areq = AUTH_REQ_OK; - auth_handler = handle_done_auth; - break; + case uaKrb5: + areq = AUTH_REQ_KRB5; + auth_handler = handle_krb5_auth; + break; - case uaIdent: - if (authident(&port->raddr.in, &port->laddr.in, - port->user, port->auth_arg) == STATUS_OK) - { + case uaTrust: areq = AUTH_REQ_OK; auth_handler = handle_done_auth; - } + break; - break; + case uaIdent: + if (authident(&port->raddr.in, &port->laddr.in, + port->user, port->auth_arg) == STATUS_OK) + { + areq = AUTH_REQ_OK; + auth_handler = handle_done_auth; + } - case uaPassword: - areq = AUTH_REQ_PASSWORD; - auth_handler = handle_password_auth; - break; + break; - case uaCrypt: - areq = AUTH_REQ_CRYPT; - auth_handler = handle_password_auth; - break; - } + case uaPassword: + areq = AUTH_REQ_PASSWORD; + auth_handler = handle_password_auth; + break; + + case uaCrypt: + areq = AUTH_REQ_CRYPT; + auth_handler = handle_password_auth; + break; + } /* Tell the frontend what we want next. */ @@ -485,24 +492,26 @@ void be_recvauth(Port *port) auth_failed(port); } } - + /* * Send an authentication request packet to the frontend. */ -static void sendAuthRequest(Port *port, AuthRequest areq, void (*handler)()) +static void +sendAuthRequest(Port *port, AuthRequest areq, void (*handler) ()) { - char *dp, *sp; - int i; - uint32 net_areq; + char *dp, + *sp; + int i; + uint32 net_areq; /* Convert to a byte stream. */ net_areq = htonl(areq); dp = port->pktInfo.pkt.ar.data; - sp = (char *)&net_areq; + sp = (char *) &net_areq; *dp++ = 'R'; @@ -518,7 +527,7 @@ static void sendAuthRequest(Port *port, AuthRequest areq, void (*handler)()) i += 2; } - PacketSendSetup(&port -> pktInfo, i, handler, (char *)port); + PacketSendSetup(&port->pktInfo, i, handler, (char *) port); } @@ -526,8 +535,10 @@ static void sendAuthRequest(Port *port, AuthRequest areq, void (*handler)()) * Called when we have told the front end that it is authorised. */ -static void handle_done_auth(Port *port) +static void +handle_done_auth(Port *port) { + /* * Don't generate any more traffic. This will cause the backend to * start. @@ -542,7 +553,8 @@ static void handle_done_auth(Port *port) * authentication. */ -static void handle_krb4_auth(Port *port) +static void +handle_krb4_auth(Port *port) { if (pg_krb4_recvauth(port) != STATUS_OK) auth_failed(port); @@ -556,7 +568,8 @@ static void handle_krb4_auth(Port *port) * authentication. */ -static void handle_krb5_auth(Port *port) +static void +handle_krb5_auth(Port *port) { if (pg_krb5_recvauth(port) != STATUS_OK) auth_failed(port); @@ -570,11 +583,12 @@ static void handle_krb5_auth(Port *port) * authentication. */ -static void handle_password_auth(Port *port) +static void +handle_password_auth(Port *port) { /* Set up the read of the password packet. */ - PacketReceiveSetup(&port->pktInfo, readPasswordPacket, (char *)port); + PacketReceiveSetup(&port->pktInfo, readPasswordPacket, (char *) port); } @@ -582,19 +596,20 @@ static void handle_password_auth(Port *port) * Called when we have received the password packet. */ -static void readPasswordPacket(char *arg, PacketLen len, char *pkt) +static void +readPasswordPacket(char *arg, PacketLen len, char *pkt) { - char password[sizeof (PasswordPacket) + 1]; - Port *port; + char password[sizeof(PasswordPacket) + 1]; + Port *port; - port = (Port *)arg; + port = (Port *) arg; /* Silently truncate a password that is too big. */ - if (len > sizeof (PasswordPacket)) - len = sizeof (PasswordPacket); - - StrNCpy(password, ((PasswordPacket *)pkt)->passwd, len); + if (len > sizeof(PasswordPacket)) + len = sizeof(PasswordPacket); + + StrNCpy(password, ((PasswordPacket *) pkt)->passwd, len); if (checkPassword(port, port->user, password) != STATUS_OK) auth_failed(port); @@ -609,7 +624,8 @@ static void readPasswordPacket(char *arg, PacketLen len, char *pkt) * not. */ -static int checkPassword(Port *port, char *user, char *password) +static int +checkPassword(Port *port, char *user, char *password) { if (port->auth_method == uaPassword && port->auth_arg[0] != '\0') return verify_password(port->auth_arg, user, password); @@ -622,83 +638,85 @@ static int checkPassword(Port *port, char *user, char *password) * Server demux routine for incoming authentication information for protocol * version 0. */ -static int old_be_recvauth(Port *port) +static int +old_be_recvauth(Port *port) { - int status; - MsgType msgtype = (MsgType)port->proto; + int status; + MsgType msgtype = (MsgType) port->proto; /* Handle the authentication that's offered. */ switch (msgtype) - { - case STARTUP_KRB4_MSG: - status = map_old_to_new(port,uaKrb4,pg_krb4_recvauth(port)); - break; + { + case STARTUP_KRB4_MSG: + status = map_old_to_new(port, uaKrb4, pg_krb4_recvauth(port)); + break; - case STARTUP_KRB5_MSG: - status = map_old_to_new(port,uaKrb5,pg_krb5_recvauth(port)); - break; + case STARTUP_KRB5_MSG: + status = map_old_to_new(port, uaKrb5, pg_krb5_recvauth(port)); + break; - case STARTUP_MSG: - status = map_old_to_new(port,uaTrust,STATUS_OK); - break; + case STARTUP_MSG: + status = map_old_to_new(port, uaTrust, STATUS_OK); + break; - case STARTUP_PASSWORD_MSG: - PacketReceiveSetup(&port->pktInfo, pg_passwordv0_recvauth, - (char *)port); + case STARTUP_PASSWORD_MSG: + PacketReceiveSetup(&port->pktInfo, pg_passwordv0_recvauth, + (char *) port); - return STATUS_OK; + return STATUS_OK; - default: - fprintf(stderr, "Invalid startup message type: %u\n", msgtype); + default: + fprintf(stderr, "Invalid startup message type: %u\n", msgtype); - return STATUS_OK; - } + return STATUS_OK; + } return status; } - + /* - * The old style authentication has been done. Modify the result of this (eg. + * The old style authentication has been done. Modify the result of this (eg. * allow the connection anyway, disallow it anyway, or use the result) * depending on what authentication we really want to use. */ -static int map_old_to_new(Port *port, UserAuth old, int status) +static int +map_old_to_new(Port *port, UserAuth old, int status) { switch (port->auth_method) { - case uaCrypt: - case uaReject: - status = STATUS_ERROR; - break; - - case uaKrb4: - if (old != uaKrb4) + case uaCrypt: + case uaReject: status = STATUS_ERROR; - break; + break; - case uaKrb5: - if (old != uaKrb5) - status = STATUS_ERROR; - break; + case uaKrb4: + if (old != uaKrb4) + status = STATUS_ERROR; + break; - case uaTrust: - status = STATUS_OK; - break; + case uaKrb5: + if (old != uaKrb5) + status = STATUS_ERROR; + break; - case uaIdent: - status = authident(&port->raddr.in, &port->laddr.in, - port->user, port->auth_arg); - break; + case uaTrust: + status = STATUS_OK; + break; - case uaPassword: - if (old != uaPassword) - status = STATUS_ERROR; + case uaIdent: + status = authident(&port->raddr.in, &port->laddr.in, + port->user, port->auth_arg); + break; + + case uaPassword: + if (old != uaPassword) + status = STATUS_ERROR; - break; + break; } - + return status; } diff --git a/src/backend/libpq/be-dumpdata.c b/src/backend/libpq/be-dumpdata.c index f662282898..9ac6af1d1f 100644 --- a/src/backend/libpq/be-dumpdata.c +++ b/src/backend/libpq/be-dumpdata.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/be-dumpdata.c,v 1.13 1998/02/10 16:03:12 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/be-dumpdata.c,v 1.14 1998/02/26 04:31:44 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -313,8 +313,8 @@ be_printtup(HeapTuple tuple, TupleDesc typeinfo) if (!isnull && OidIsValid(typoutput)) { values[i] = fmgr(typoutput, attr, - gettypelem(typeinfo->attrs[i]->atttypid), - typeinfo->attrs[i]->atttypmod); + gettypelem(typeinfo->attrs[i]->atttypid), + typeinfo->attrs[i]->atttypmod); } else values[i] = NULL; diff --git a/src/backend/libpq/be-pqexec.c b/src/backend/libpq/be-pqexec.c index a63ff43161..9b3886065d 100644 --- a/src/backend/libpq/be-pqexec.c +++ b/src/backend/libpq/be-pqexec.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/be-pqexec.c,v 1.14 1998/01/26 01:41:06 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/be-pqexec.c,v 1.15 1998/02/26 04:31:45 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -58,7 +58,7 @@ static char *strmake(char *str, int len); * This code scavanged from HandleFunctionRequest() in tcop/fastpath.h * ---------------- */ -char * +char * PQfn(int fnid, int *result_buf, /* can't use void, dec compiler barfs */ int result_len, @@ -129,7 +129,7 @@ PQfn(int fnid, * returns because the system longjmp's back to the main loop. * ---------------- */ -char * +char * PQexec(char *query) { PortalEntry *entry = NULL; diff --git a/src/backend/libpq/crypt.c b/src/backend/libpq/crypt.c index e6d3a7cf43..2dcb4f1be9 100644 --- a/src/backend/libpq/crypt.c +++ b/src/backend/libpq/crypt.c @@ -1,8 +1,8 @@ /*------------------------------------------------------------------------- * * crypt.c-- - * Look into pg_shadow and check the encrypted password with the one - * passed in from the frontend. + * Look into pg_shadow and check the encrypted password with the one + * passed in from the frontend. * * Modification History * @@ -28,262 +28,313 @@ #include <crypt.h> #endif -char** pwd_cache = NULL; -int pwd_cache_count = 0; +char **pwd_cache = NULL; +int pwd_cache_count = 0; /*-------------------------------------------------------------------------*/ -char* crypt_getpwdfilename() { +char * +crypt_getpwdfilename() +{ - static char* pfnam = NULL; + static char *pfnam = NULL; - if (!pfnam) { - pfnam = (char*)malloc(strlen(DataDir) + strlen(CRYPT_PWD_FILE) + 2); - sprintf(pfnam, "%s/%s", DataDir, CRYPT_PWD_FILE); - } + if (!pfnam) + { + pfnam = (char *) malloc(strlen(DataDir) + strlen(CRYPT_PWD_FILE) + 2); + sprintf(pfnam, "%s/%s", DataDir, CRYPT_PWD_FILE); + } - return pfnam; + return pfnam; } /*-------------------------------------------------------------------------*/ -char* crypt_getpwdreloadfilename() { +char * +crypt_getpwdreloadfilename() +{ - static char* rpfnam = NULL; + static char *rpfnam = NULL; - if (!rpfnam) { - char* pwdfilename; + if (!rpfnam) + { + char *pwdfilename; - pwdfilename = crypt_getpwdfilename(); - rpfnam = (char*)malloc(strlen(pwdfilename) + strlen(CRYPT_PWD_RELOAD_SUFX) + 1); - sprintf(rpfnam, "%s%s", pwdfilename, CRYPT_PWD_RELOAD_SUFX); - } + pwdfilename = crypt_getpwdfilename(); + rpfnam = (char *) malloc(strlen(pwdfilename) + strlen(CRYPT_PWD_RELOAD_SUFX) + 1); + sprintf(rpfnam, "%s%s", pwdfilename, CRYPT_PWD_RELOAD_SUFX); + } - return rpfnam; + return rpfnam; } /*-------------------------------------------------------------------------*/ static -FILE* crypt_openpwdfile() { - char* filename; - FILE* pwdfile; +FILE * +crypt_openpwdfile() +{ + char *filename; + FILE *pwdfile; - filename = crypt_getpwdfilename(); - pwdfile = AllocateFile(filename, "r"); + filename = crypt_getpwdfilename(); + pwdfile = AllocateFile(filename, "r"); - return pwdfile; + return pwdfile; } /*-------------------------------------------------------------------------*/ static -int compar_user(const void* user_a, const void* user_b) { - - int min, - value; - char* login_a; - char* login_b; - - login_a = *((char**)user_a); - login_b = *((char**)user_b); - - /* We only really want to compare the user logins which are first. We look - * for the first SEPSTR char getting the number of chars there are before it. - * We only need to compare to the min count from the two strings. - */ - min = strcspn(login_a, CRYPT_PWD_FILE_SEPSTR); - value = strcspn(login_b, CRYPT_PWD_FILE_SEPSTR); - if (value < min) - min = value; - - /* We add one to min so that the separator character is included in the - * comparison. Why? I believe this will prevent logins that are proper - * prefixes of other logins from being 'masked out'. Being conservative! - */ - return strncmp(login_a, login_b, min + 1); +int +compar_user(const void *user_a, const void *user_b) +{ + + int min, + value; + char *login_a; + char *login_b; + + login_a = *((char **) user_a); + login_b = *((char **) user_b); + + /* + * We only really want to compare the user logins which are first. We + * look for the first SEPSTR char getting the number of chars there + * are before it. We only need to compare to the min count from the + * two strings. + */ + min = strcspn(login_a, CRYPT_PWD_FILE_SEPSTR); + value = strcspn(login_b, CRYPT_PWD_FILE_SEPSTR); + if (value < min) + min = value; + + /* + * We add one to min so that the separator character is included in + * the comparison. Why? I believe this will prevent logins that are + * proper prefixes of other logins from being 'masked out'. Being + * conservative! + */ + return strncmp(login_a, login_b, min + 1); } /*-------------------------------------------------------------------------*/ static -void crypt_loadpwdfile() { - - char* filename; - int result; - FILE* pwd_file; - char buffer[256]; - - filename = crypt_getpwdreloadfilename(); - result = unlink(filename); - - /* We want to delete the flag file before reading the contents of the pg_pwd - * file. If result == 0 then the unlink of the reload file was successful. - * This means that a backend performed a COPY of the pg_shadow file to - * pg_pwd. Therefore we must now do a reload. - */ - if (!pwd_cache || !result) { - if (pwd_cache) { /* free the old data only if this is a reload */ - while (pwd_cache_count--) { - free((void*)pwd_cache[pwd_cache_count]); - } - free((void*)pwd_cache); - pwd_cache = NULL; - pwd_cache_count = 0; - } - - if (!(pwd_file = crypt_openpwdfile())) - return; - - /* Here is where we load the data from pg_pwd. - */ - while (fgets(buffer, 256, pwd_file) != NULL) { - /* We must remove the return char at the end of the string, as this will - * affect the correct parsing of the password entry. - */ - if (buffer[(result = strlen(buffer) - 1)] == '\n') - buffer[result] = '\0'; - - pwd_cache = (char**)realloc((void*)pwd_cache, sizeof(char*) * (pwd_cache_count + 1)); - pwd_cache[pwd_cache_count++] = strdup(buffer); - } - fclose(pwd_file); - - /* Now sort the entries in the cache for faster searching later. - */ - qsort((void*)pwd_cache, pwd_cache_count, sizeof(char*), compar_user); - } +void +crypt_loadpwdfile() +{ + + char *filename; + int result; + FILE *pwd_file; + char buffer[256]; + + filename = crypt_getpwdreloadfilename(); + result = unlink(filename); + + /* + * We want to delete the flag file before reading the contents of the + * pg_pwd file. If result == 0 then the unlink of the reload file was + * successful. This means that a backend performed a COPY of the + * pg_shadow file to pg_pwd. Therefore we must now do a reload. + */ + if (!pwd_cache || !result) + { + if (pwd_cache) + { /* free the old data only if this is a + * reload */ + while (pwd_cache_count--) + { + free((void *) pwd_cache[pwd_cache_count]); + } + free((void *) pwd_cache); + pwd_cache = NULL; + pwd_cache_count = 0; + } + + if (!(pwd_file = crypt_openpwdfile())) + return; + + /* + * Here is where we load the data from pg_pwd. + */ + while (fgets(buffer, 256, pwd_file) != NULL) + { + + /* + * We must remove the return char at the end of the string, as + * this will affect the correct parsing of the password entry. + */ + if (buffer[(result = strlen(buffer) - 1)] == '\n') + buffer[result] = '\0'; + + pwd_cache = (char **) realloc((void *) pwd_cache, sizeof(char *) * (pwd_cache_count + 1)); + pwd_cache[pwd_cache_count++] = strdup(buffer); + } + fclose(pwd_file); + + /* + * Now sort the entries in the cache for faster searching later. + */ + qsort((void *) pwd_cache, pwd_cache_count, sizeof(char *), compar_user); + } } /*-------------------------------------------------------------------------*/ static -void crypt_parsepwdentry(char* buffer, char** pwd, char** valdate) { - - char* parse = buffer; - int count, - i; - - /* skip to the password field - */ - for (i = 0; i < 6; i++) - parse += (strcspn(parse, CRYPT_PWD_FILE_SEPSTR) + 1); - - /* store a copy of user password to return - */ - count = strcspn(parse, CRYPT_PWD_FILE_SEPSTR); - *pwd = (char*)malloc(count + 1); - strncpy(*pwd, parse, count); - (*pwd)[count] = '\0'; - parse += (count + 1); - - /* store a copy of date login becomes invalid - */ - count = strcspn(parse, CRYPT_PWD_FILE_SEPSTR); - *valdate = (char*)malloc(count + 1); - strncpy(*valdate, parse, count); - (*valdate)[count] = '\0'; - parse += (count + 1); +void +crypt_parsepwdentry(char *buffer, char **pwd, char **valdate) +{ + + char *parse = buffer; + int count, + i; + + /* + * skip to the password field + */ + for (i = 0; i < 6; i++) + parse += (strcspn(parse, CRYPT_PWD_FILE_SEPSTR) + 1); + + /* + * store a copy of user password to return + */ + count = strcspn(parse, CRYPT_PWD_FILE_SEPSTR); + *pwd = (char *) malloc(count + 1); + strncpy(*pwd, parse, count); + (*pwd)[count] = '\0'; + parse += (count + 1); + + /* + * store a copy of date login becomes invalid + */ + count = strcspn(parse, CRYPT_PWD_FILE_SEPSTR); + *valdate = (char *) malloc(count + 1); + strncpy(*valdate, parse, count); + (*valdate)[count] = '\0'; + parse += (count + 1); } /*-------------------------------------------------------------------------*/ static -int crypt_getloginfo(const char* user, char** passwd, char** valuntil) { - - char* pwd; - char* valdate; - void* fakeout; - - *passwd = NULL; - *valuntil = NULL; - crypt_loadpwdfile(); - - if (pwd_cache) { - char** pwd_entry; - char user_search[NAMEDATALEN + 2]; - - sprintf(user_search, "%s\t", user); - fakeout = (void*)&user_search; - if ((pwd_entry = (char**)bsearch((void*)&fakeout, (void*)pwd_cache, pwd_cache_count, sizeof(char*), compar_user))) { - crypt_parsepwdentry(*pwd_entry, &pwd, &valdate); - *passwd = pwd; - *valuntil = valdate; - return STATUS_OK; - } - - return STATUS_OK; - } - - return STATUS_ERROR; +int +crypt_getloginfo(const char *user, char **passwd, char **valuntil) +{ + + char *pwd; + char *valdate; + void *fakeout; + + *passwd = NULL; + *valuntil = NULL; + crypt_loadpwdfile(); + + if (pwd_cache) + { + char **pwd_entry; + char user_search[NAMEDATALEN + 2]; + + sprintf(user_search, "%s\t", user); + fakeout = (void *) &user_search; + if ((pwd_entry = (char **) bsearch((void *) &fakeout, (void *) pwd_cache, pwd_cache_count, sizeof(char *), compar_user))) + { + crypt_parsepwdentry(*pwd_entry, &pwd, &valdate); + *passwd = pwd; + *valuntil = valdate; + return STATUS_OK; + } + + return STATUS_OK; + } + + return STATUS_ERROR; } /*-------------------------------------------------------------------------*/ #if 0 -MsgType crypt_salt(const char* user) { - - char* passwd; - char* valuntil; - - if (crypt_getloginfo(user, &passwd, &valuntil) == STATUS_ERROR) - return STARTUP_UNSALT_MSG; - - if (passwd == NULL || *passwd == '\0' || !strcmp(passwd, "\\N")) { - if (passwd) free((void*)passwd); - if (valuntil) free((void*)valuntil); - return STARTUP_UNSALT_MSG; - } - - free((void*)passwd); - if (valuntil) free((void*)valuntil); - return STARTUP_SALT_MSG; +MsgType +crypt_salt(const char *user) +{ + + char *passwd; + char *valuntil; + + if (crypt_getloginfo(user, &passwd, &valuntil) == STATUS_ERROR) + return STARTUP_UNSALT_MSG; + + if (passwd == NULL || *passwd == '\0' || !strcmp(passwd, "\\N")) + { + if (passwd) + free((void *) passwd); + if (valuntil) + free((void *) valuntil); + return STARTUP_UNSALT_MSG; + } + + free((void *) passwd); + if (valuntil) + free((void *) valuntil); + return STARTUP_SALT_MSG; } + #endif /*-------------------------------------------------------------------------*/ -int crypt_verify(Port* port, const char* user, const char* pgpass) { - - char* passwd; - char* valuntil; - char* crypt_pwd; - int retval = STATUS_ERROR; - AbsoluteTime vuntil, - current; - - if (crypt_getloginfo(user, &passwd, &valuntil) == STATUS_ERROR) - return STATUS_ERROR; - - if (passwd == NULL || *passwd == '\0') { - if (passwd) free((void*)passwd); - if (valuntil) free((void*)valuntil); - return STATUS_ERROR; - } - - /* - * Compare with the encrypted or plain password depending on the - * authentication method being used for this connection. - */ - - crypt_pwd = (port->auth_method == uaCrypt ? crypt(passwd, port->salt) : passwd); - - if (!strcmp(pgpass, crypt_pwd)) { - /* check here to be sure we are not past valuntil - */ - if (!valuntil || strcmp(valuntil, "\\N") == 0) - vuntil = INVALID_ABSTIME; - else - vuntil = nabstimein(valuntil); - current = GetCurrentAbsoluteTime(); - if (vuntil != INVALID_ABSTIME && vuntil < current) - retval = STATUS_ERROR; - else - retval = STATUS_OK; - } - - free((void*)passwd); - if (valuntil) free((void*)valuntil); - - return retval; +int +crypt_verify(Port *port, const char *user, const char *pgpass) +{ + + char *passwd; + char *valuntil; + char *crypt_pwd; + int retval = STATUS_ERROR; + AbsoluteTime vuntil, + current; + + if (crypt_getloginfo(user, &passwd, &valuntil) == STATUS_ERROR) + return STATUS_ERROR; + + if (passwd == NULL || *passwd == '\0') + { + if (passwd) + free((void *) passwd); + if (valuntil) + free((void *) valuntil); + return STATUS_ERROR; + } + + /* + * Compare with the encrypted or plain password depending on the + * authentication method being used for this connection. + */ + + crypt_pwd = (port->auth_method == uaCrypt ? crypt(passwd, port->salt) : passwd); + + if (!strcmp(pgpass, crypt_pwd)) + { + + /* + * check here to be sure we are not past valuntil + */ + if (!valuntil || strcmp(valuntil, "\\N") == 0) + vuntil = INVALID_ABSTIME; + else + vuntil = nabstimein(valuntil); + current = GetCurrentAbsoluteTime(); + if (vuntil != INVALID_ABSTIME && vuntil < current) + retval = STATUS_ERROR; + else + retval = STATUS_OK; + } + + free((void *) passwd); + if (valuntil) + free((void *) valuntil); + + return retval; } diff --git a/src/backend/libpq/hba.c b/src/backend/libpq/hba.c index 872601293c..97045ff012 100644 --- a/src/backend/libpq/hba.c +++ b/src/backend/libpq/hba.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/libpq/hba.c,v 1.28 1998/02/24 15:18:41 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/libpq/hba.c,v 1.29 1998/02/26 04:31:49 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -97,8 +97,8 @@ read_through_eol(FILE *file) static void -read_hba_entry2(FILE *file, UserAuth * userauth_p, char auth_arg[], - bool *error_p) +read_hba_entry2(FILE *file, UserAuth *userauth_p, char auth_arg[], + bool *error_p) { /*-------------------------------------------------------------------------- Read from file FILE the rest of a host record, after the mask field, @@ -156,7 +156,7 @@ read_hba_entry2(FILE *file, UserAuth * userauth_p, char auth_arg[], static void process_hba_record(FILE *file, SockAddr *raddr, const char database[], bool *matches_p, bool *error_p, - UserAuth * userauth_p, char auth_arg[]) + UserAuth *userauth_p, char auth_arg[]) { /*--------------------------------------------------------------------------- Process the non-comment record in the config file that is next on the file. @@ -167,7 +167,8 @@ process_hba_record(FILE *file, SockAddr *raddr, const char database[], return *error_p true, after issuing a message to stderr. If no error, leave *error_p as it was. ---------------------------------------------------------------------------*/ - char db[MAX_TOKEN], buf[MAX_TOKEN]; + char db[MAX_TOKEN], + buf[MAX_TOKEN]; /* Read the record type field. */ @@ -196,9 +197,9 @@ process_hba_record(FILE *file, SockAddr *raddr, const char database[], */ if (!*error_p && - (*userauth_p == uaIdent || - *userauth_p == uaKrb4 || - *userauth_p == uaKrb5)) + (*userauth_p == uaIdent || + *userauth_p == uaKrb4 || + *userauth_p == uaKrb5)) *error_p = true; if (*error_p) @@ -210,12 +211,13 @@ process_hba_record(FILE *file, SockAddr *raddr, const char database[], */ if ((strcmp(db, database) != 0 && strcmp(db, "all") != 0) || - raddr->sa.sa_family != AF_UNIX) + raddr->sa.sa_family != AF_UNIX) return; } else if (strcmp(buf, "host") == 0) { - struct in_addr file_ip_addr, mask; + struct in_addr file_ip_addr, + mask; /* Get the database. */ @@ -284,7 +286,7 @@ process_hba_record(FILE *file, SockAddr *raddr, const char database[], syntax: sprintf(PQerrormsg, - "process_hba_record: invalid syntax in pg_hba.conf file\n"); + "process_hba_record: invalid syntax in pg_hba.conf file\n"); fputs(PQerrormsg, stderr); pqdebug("%s", PQerrormsg); @@ -296,8 +298,8 @@ syntax: static void process_open_config_file(FILE *file, SockAddr *raddr, const char database[], - bool *host_ok_p, UserAuth * userauth_p, - char auth_arg[]) + bool *host_ok_p, UserAuth *userauth_p, + char auth_arg[]) { /*--------------------------------------------------------------------------- This function does the same thing as find_hba_entry, only with @@ -332,7 +334,7 @@ process_open_config_file(FILE *file, SockAddr *raddr, const char database[], else { process_hba_record(file, raddr, database, - &found_entry, &error, userauth_p, auth_arg); + &found_entry, &error, userauth_p, auth_arg); } } } @@ -352,7 +354,7 @@ process_open_config_file(FILE *file, SockAddr *raddr, const char database[], static void find_hba_entry(SockAddr *raddr, const char database[], bool *host_ok_p, - UserAuth * userauth_p, char auth_arg[]) + UserAuth *userauth_p, char auth_arg[]) { /*-------------------------------------------------------------------------- Read the config file and find an entry that allows connection from @@ -812,7 +814,7 @@ verify_against_usermap(const char pguser[], int -authident(struct sockaddr_in *raddr, struct sockaddr_in *laddr, +authident(struct sockaddr_in * raddr, struct sockaddr_in * laddr, const char postgres_username[], const char auth_arg[]) { @@ -840,7 +842,7 @@ authident(struct sockaddr_in *raddr, struct sockaddr_in *laddr, return STATUS_ERROR; verify_against_usermap(postgres_username, ident_username, auth_arg, - &checks_out); + &checks_out); return (checks_out ? STATUS_OK : STATUS_ERROR); } @@ -849,193 +851,207 @@ authident(struct sockaddr_in *raddr, struct sockaddr_in *laddr, #ifdef CYR_RECODE #define CHARSET_FILE "charset.conf" #define MAX_CHARSETS 10 -#define KEY_HOST 1 -#define KEY_BASE 2 -#define KEY_TABLE 3 +#define KEY_HOST 1 +#define KEY_BASE 2 +#define KEY_TABLE 3 struct CharsetItem { - char Orig[MAX_TOKEN]; - char Dest[MAX_TOKEN]; - char Table[MAX_TOKEN]; + char Orig[MAX_TOKEN]; + char Dest[MAX_TOKEN]; + char Table[MAX_TOKEN]; }; -int InRange(char *buf,int host) +int +InRange(char *buf, int host) { - int valid,i,FromAddr,ToAddr,tmp; - struct in_addr file_ip_addr; - char *p; - unsigned int one=0x80000000,NetMask=0; - unsigned char mask; - p = strchr(buf,'/'); - if(p) - { - *p++ = '\0'; - valid = inet_aton(buf, &file_ip_addr); - if(valid) - { - mask = strtoul(p,0,0); - FromAddr = ntohl(file_ip_addr.s_addr); - ToAddr = ntohl(file_ip_addr.s_addr); - for(i=0;i<mask;i++) - { - NetMask |= one; - one >>= 1; - } - FromAddr &= NetMask; - ToAddr = ToAddr | ~NetMask; - tmp = ntohl(host); - return ((unsigned)tmp>=(unsigned)FromAddr && - (unsigned)tmp<=(unsigned)ToAddr); - } - } - else - { - p = strchr(buf,'-'); - if(p) - { - *p++ = '\0'; - valid = inet_aton(buf, &file_ip_addr); - if(valid) - { - FromAddr = ntohl(file_ip_addr.s_addr); - valid = inet_aton(p, &file_ip_addr); - if(valid) - { - ToAddr = ntohl(file_ip_addr.s_addr); - tmp = ntohl(host); - return ((unsigned)tmp>=(unsigned)FromAddr && - (unsigned)tmp<=(unsigned)ToAddr); - } - } - } - else - { - valid = inet_aton(buf, &file_ip_addr); - if(valid) - { - FromAddr = file_ip_addr.s_addr; - return ((unsigned)FromAddr == (unsigned)host); - } - } - } - return false; + int valid, + i, + FromAddr, + ToAddr, + tmp; + struct in_addr file_ip_addr; + char *p; + unsigned int one = 0x80000000, + NetMask = 0; + unsigned char mask; + + p = strchr(buf, '/'); + if (p) + { + *p++ = '\0'; + valid = inet_aton(buf, &file_ip_addr); + if (valid) + { + mask = strtoul(p, 0, 0); + FromAddr = ntohl(file_ip_addr.s_addr); + ToAddr = ntohl(file_ip_addr.s_addr); + for (i = 0; i < mask; i++) + { + NetMask |= one; + one >>= 1; + } + FromAddr &= NetMask; + ToAddr = ToAddr | ~NetMask; + tmp = ntohl(host); + return ((unsigned) tmp >= (unsigned) FromAddr && + (unsigned) tmp <= (unsigned) ToAddr); + } + } + else + { + p = strchr(buf, '-'); + if (p) + { + *p++ = '\0'; + valid = inet_aton(buf, &file_ip_addr); + if (valid) + { + FromAddr = ntohl(file_ip_addr.s_addr); + valid = inet_aton(p, &file_ip_addr); + if (valid) + { + ToAddr = ntohl(file_ip_addr.s_addr); + tmp = ntohl(host); + return ((unsigned) tmp >= (unsigned) FromAddr && + (unsigned) tmp <= (unsigned) ToAddr); + } + } + } + else + { + valid = inet_aton(buf, &file_ip_addr); + if (valid) + { + FromAddr = file_ip_addr.s_addr; + return ((unsigned) FromAddr == (unsigned) host); + } + } + } + return false; } -void GetCharSetByHost(char TableName[],int host, const char DataDir[]) +void +GetCharSetByHost(char TableName[], int host, const char DataDir[]) { - FILE *file; - char buf[MAX_TOKEN],BaseCharset[MAX_TOKEN], - OrigCharset[MAX_TOKEN],DestCharset[MAX_TOKEN],HostCharset[MAX_TOKEN]; - char c,eof=false; - char *map_file; - int key=0,i; - struct CharsetItem* ChArray[MAX_CHARSETS]; - int ChIndex=0; - - *TableName = '\0'; - map_file = (char *) malloc((strlen(DataDir) + - strlen(CHARSET_FILE)+2)*sizeof(char)); - sprintf(map_file, "%s/%s", DataDir, CHARSET_FILE); - file = fopen(map_file, "r"); - if (file == NULL) - return; - while (!eof) - { - c = getc(file); - ungetc(c, file); - if (c == EOF) - eof = true; - else - { - if (c == '#') - read_through_eol(file); - else - { - /* Read the key */ - next_token(file, buf, sizeof(buf)); - if (buf[0] != '\0') - { - if (strcasecmp(buf, "HostCharset") == 0) - key = KEY_HOST; - if (strcasecmp(buf, "BaseCharset") == 0) - key = KEY_BASE; - if (strcasecmp(buf, "RecodeTable") == 0) - key = KEY_TABLE; - switch(key) - { - case KEY_HOST: - /* Read the host */ - next_token(file, buf, sizeof(buf)); - if (buf[0] != '\0') - { - if (InRange(buf,host)) - { - /* Read the charset */ - next_token(file, buf, sizeof(buf)); - if (buf[0] != '\0') - { - strcpy(HostCharset,buf); - } - } - } - break; - case KEY_BASE: - /* Read the base charset */ - next_token(file, buf, sizeof(buf)); - if (buf[0] != '\0') - { - strcpy(BaseCharset,buf); - } - break; - case KEY_TABLE: - /* Read the original charset */ - next_token(file, buf, sizeof(buf)); - if (buf[0] != '\0') - { - strcpy(OrigCharset,buf); - /* Read the destination charset */ - next_token(file, buf, sizeof(buf)); - if (buf[0] != '\0') - { - strcpy(DestCharset,buf); - /* Read the table filename */ - next_token(file, buf, sizeof(buf)); - if (buf[0] != '\0') - { - ChArray[ChIndex] = (struct CharsetItem *) malloc(sizeof(struct CharsetItem)); - strcpy(ChArray[ChIndex]->Orig,OrigCharset); - strcpy(ChArray[ChIndex]->Dest,DestCharset); - strcpy(ChArray[ChIndex]->Table,buf); - ChIndex++; - } - } - } - break; - } - read_through_eol(file); - } - } - } - } - fclose(file); - free(map_file); - - for(i=0; i<ChIndex; i++) - { - if(!strcasecmp(BaseCharset,ChArray[i]->Orig) && - !strcasecmp(HostCharset,ChArray[i]->Dest)) - { - strncpy(TableName,ChArray[i]->Table,79); - } - free((struct CharsetItem *) ChArray[i]); - } + FILE *file; + char buf[MAX_TOKEN], + BaseCharset[MAX_TOKEN], + OrigCharset[MAX_TOKEN], + DestCharset[MAX_TOKEN], + HostCharset[MAX_TOKEN]; + char c, + eof = false; + char *map_file; + int key = 0, + i; + struct CharsetItem *ChArray[MAX_CHARSETS]; + int ChIndex = 0; + + *TableName = '\0'; + map_file = (char *) malloc((strlen(DataDir) + + strlen(CHARSET_FILE) + 2) * sizeof(char)); + sprintf(map_file, "%s/%s", DataDir, CHARSET_FILE); + file = fopen(map_file, "r"); + if (file == NULL) + return; + while (!eof) + { + c = getc(file); + ungetc(c, file); + if (c == EOF) + eof = true; + else + { + if (c == '#') + read_through_eol(file); + else + { + /* Read the key */ + next_token(file, buf, sizeof(buf)); + if (buf[0] != '\0') + { + if (strcasecmp(buf, "HostCharset") == 0) + key = KEY_HOST; + if (strcasecmp(buf, "BaseCharset") == 0) + key = KEY_BASE; + if (strcasecmp(buf, "RecodeTable") == 0) + key = KEY_TABLE; + switch (key) + { + case KEY_HOST: + /* Read the host */ + next_token(file, buf, sizeof(buf)); + if (buf[0] != '\0') + { + if (InRange(buf, host)) + { + /* Read the charset */ + next_token(file, buf, sizeof(buf)); + if (buf[0] != '\0') + { + strcpy(HostCharset, buf); + } + } + } + break; + case KEY_BASE: + /* Read the base charset */ + next_token(file, buf, sizeof(buf)); + if (buf[0] != '\0') + { + strcpy(BaseCharset, buf); + } + break; + case KEY_TABLE: + /* Read the original charset */ + next_token(file, buf, sizeof(buf)); + if (buf[0] != '\0') + { + strcpy(OrigCharset, buf); + /* Read the destination charset */ + next_token(file, buf, sizeof(buf)); + if (buf[0] != '\0') + { + strcpy(DestCharset, buf); + /* Read the table filename */ + next_token(file, buf, sizeof(buf)); + if (buf[0] != '\0') + { + ChArray[ChIndex] = (struct CharsetItem *) malloc(sizeof(struct CharsetItem)); + strcpy(ChArray[ChIndex]->Orig, OrigCharset); + strcpy(ChArray[ChIndex]->Dest, DestCharset); + strcpy(ChArray[ChIndex]->Table, buf); + ChIndex++; + } + } + } + break; + } + read_through_eol(file); + } + } + } + } + fclose(file); + free(map_file); + + for (i = 0; i < ChIndex; i++) + { + if (!strcasecmp(BaseCharset, ChArray[i]->Orig) && + !strcasecmp(HostCharset, ChArray[i]->Dest)) + { + strncpy(TableName, ChArray[i]->Table, 79); + } + free((struct CharsetItem *) ChArray[i]); + } } + #endif extern int hba_getauthmethod(SockAddr *raddr, char *database, char *auth_arg, - UserAuth *auth_method) + UserAuth *auth_method) { /*--------------------------------------------------------------------------- Determine what authentication method should be used when accessing database diff --git a/src/backend/libpq/password.c b/src/backend/libpq/password.c index c77b065e33..1bb503bdcf 100644 --- a/src/backend/libpq/password.c +++ b/src/backend/libpq/password.c @@ -12,8 +12,8 @@ int verify_password(char *auth_arg, char *user, char *password) { - char *pw_file_fullname; - FILE *pw_file; + char *pw_file_fullname; + FILE *pw_file; pw_file_fullname = (char *) palloc(strlen(DataDir) + strlen(auth_arg) + 2); strcpy(pw_file_fullname, DataDir); @@ -36,9 +36,12 @@ verify_password(char *auth_arg, char *user, char *password) while (!feof(pw_file)) { - char pw_file_line[255], *p, *test_user, *test_pw; + char pw_file_line[255], + *p, + *test_user, + *test_pw; - fgets(pw_file_line, sizeof (pw_file_line), pw_file); + fgets(pw_file_line, sizeof(pw_file_line), pw_file); p = pw_file_line; test_user = strtok(p, ":"); diff --git a/src/backend/libpq/portal.c b/src/backend/libpq/portal.c index 14c11127bc..922b622b4e 100644 --- a/src/backend/libpq/portal.c +++ b/src/backend/libpq/portal.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/portal.c,v 1.12 1997/12/09 03:10:43 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/portal.c,v 1.13 1998/02/26 04:31:51 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -295,7 +295,7 @@ PQfnumberGroup(PortalBuffer *portal, int group_index, char *field_name) * the group index and field index. * -------------------------------- */ -char * +char * PQfnameGroup(PortalBuffer *portal, int group_index, int field_number) { GroupBuffer *gbp; @@ -451,7 +451,7 @@ PQfnumber(PortalBuffer *portal, int tuple_index, char *field_name) * PQfname - Return the name of a field * -------------------------------- */ -char * +char * PQfname(PortalBuffer *portal, int tuple_index, int field_number) { GroupBuffer *gbp; @@ -578,7 +578,7 @@ PQGetTupleBlock(PortalBuffer *portal, * PQgetvalue - Return an attribute (field) value * -------------------------------- */ -char * +char * PQgetvalue(PortalBuffer *portal, int tuple_index, int field_number) @@ -598,7 +598,7 @@ PQgetvalue(PortalBuffer *portal, * a copy. The CALLER is responsible for free'ing the data returned. * -------------------------------- */ -char * +char * PQgetAttr(PortalBuffer *portal, int tuple_index, int field_number) diff --git a/src/backend/libpq/portalbuf.c b/src/backend/libpq/portalbuf.c index 7bdebc2b34..f3cbf22a20 100644 --- a/src/backend/libpq/portalbuf.c +++ b/src/backend/libpq/portalbuf.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/portalbuf.c,v 1.9 1997/12/09 03:10:45 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/portalbuf.c,v 1.10 1998/02/26 04:31:52 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -235,7 +235,7 @@ pbuf_addTuple(int n) * pbuf_addTupleValueLengths - Allocate a tuple of n lengths (attributes) * -------------------------------- */ -int * +int * pbuf_addTupleValueLengths(int n) { return (int *) @@ -246,7 +246,7 @@ pbuf_addTupleValueLengths(int n) * pbuf_addValues - Allocate n bytes for a value * -------------------------------- */ -char * +char * pbuf_addValues(int n) { return @@ -510,7 +510,7 @@ pbuf_checkFnumber(GroupBuffer *group, * pbuf_findFname - Find the field name given the field index * -------------------------------- */ -char * +char * pbuf_findFname(GroupBuffer *group, int field_number) { diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c index e1252d2a74..204578cb64 100644 --- a/src/backend/libpq/pqcomm.c +++ b/src/backend/libpq/pqcomm.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.38 1998/02/24 04:01:53 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.39 1998/02/26 04:31:53 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -38,9 +38,9 @@ #include <stdio.h> #if defined(HAVE_STRING_H) -# include <string.h> +#include <string.h> #else -# include <strings.h> +#include <strings.h> #endif #include <signal.h> #include <errno.h> @@ -558,7 +558,7 @@ pq_async_notify() * RETURNS: STATUS_OK or STATUS_ERROR */ -static char sock_path[MAXPGPATH+1] = ""; +static char sock_path[MAXPGPATH + 1] = ""; /* do_unlink() * Shutdown routine for backend connection @@ -574,7 +574,7 @@ do_unlink() int StreamServerPort(char *hostName, short portName, int *fdP) { - SockAddr saddr; + SockAddr saddr; int fd, err, family; @@ -613,22 +613,22 @@ StreamServerPort(char *hostName, short portName, int *fdP) { saddr.in.sin_addr.s_addr = htonl(INADDR_ANY); saddr.in.sin_port = htons(portName); - len = sizeof (struct sockaddr_in); + len = sizeof(struct sockaddr_in); } err = bind(fd, &saddr.sa, len); if (err < 0) { - sprintf(PQerrormsg, - "FATAL: StreamServerPort: bind() failed: errno=%d\n", - errno); - pqdebug("%s", PQerrormsg); - strcat(PQerrormsg, "\tIs another postmaster already running on that port?\n"); - if (family == AF_UNIX) - strcat(PQerrormsg, "\tIf not, remove socket node (/tmp/.s.PGSQL.<portnr>)and retry.\n"); - else - strcat(PQerrormsg, "\tIf not, wait a few seconds and retry.\n"); - fputs(PQerrormsg, stderr); - return (STATUS_ERROR); + sprintf(PQerrormsg, + "FATAL: StreamServerPort: bind() failed: errno=%d\n", + errno); + pqdebug("%s", PQerrormsg); + strcat(PQerrormsg, "\tIs another postmaster already running on that port?\n"); + if (family == AF_UNIX) + strcat(PQerrormsg, "\tIf not, remove socket node (/tmp/.s.PGSQL.<portnr>)and retry.\n"); + else + strcat(PQerrormsg, "\tIf not, wait a few seconds and retry.\n"); + fputs(PQerrormsg, stderr); + return (STATUS_ERROR); } listen(fd, SOMAXCONN); @@ -643,10 +643,10 @@ StreamServerPort(char *hostName, short portName, int *fdP) *fdP = fd; if (family == AF_UNIX) - { - chmod(sock_path, 0777); - atexit(do_unlink); - } + { + chmod(sock_path, 0777); + atexit(do_unlink); + } return (STATUS_OK); } diff --git a/src/backend/libpq/pqcomprim.c b/src/backend/libpq/pqcomprim.c index 96acff1196..7631e1c765 100644 --- a/src/backend/libpq/pqcomprim.c +++ b/src/backend/libpq/pqcomprim.c @@ -63,12 +63,12 @@ int pqPutShort(int integer, FILE *f) { - uint16 n; + uint16 n; #ifdef FRONTEND - n = htons((uint16)integer); + n = htons((uint16) integer); #else - n = ((PG_PROTOCOL_MAJOR(FrontendProtocol) == 0) ? hton_s(integer) : htons((uint16)integer)); + n = ((PG_PROTOCOL_MAJOR(FrontendProtocol) == 0) ? hton_s(integer) : htons((uint16) integer)); #endif if (fwrite(&n, 2, 1, f) != 1) @@ -81,12 +81,12 @@ pqPutShort(int integer, FILE *f) int pqPutLong(int integer, FILE *f) { - uint32 n; + uint32 n; #ifdef FRONTEND - n = htonl((uint32)integer); + n = htonl((uint32) integer); #else - n = ((PG_PROTOCOL_MAJOR(FrontendProtocol) == 0) ? hton_l(integer) : htonl((uint32)integer)); + n = ((PG_PROTOCOL_MAJOR(FrontendProtocol) == 0) ? hton_l(integer) : htonl((uint32) integer)); #endif if (fwrite(&n, 4, 1, f) != 1) @@ -99,15 +99,15 @@ pqPutLong(int integer, FILE *f) int pqGetShort(int *result, FILE *f) { - uint16 n; + uint16 n; if (fread(&n, 2, 1, f) != 1) return EOF; #ifdef FRONTEND - *result = (int)ntohs(n); + *result = (int) ntohs(n); #else - *result = (int)((PG_PROTOCOL_MAJOR(FrontendProtocol) == 0) ? ntoh_s(n) : ntohs(n)); + *result = (int) ((PG_PROTOCOL_MAJOR(FrontendProtocol) == 0) ? ntoh_s(n) : ntohs(n)); #endif return 0; @@ -117,15 +117,15 @@ pqGetShort(int *result, FILE *f) int pqGetLong(int *result, FILE *f) { - uint32 n; + uint32 n; if (fread(&n, 4, 1, f) != 1) return EOF; #ifdef FRONTEND - *result = (int)ntohl(n); + *result = (int) ntohl(n); #else - *result = (int)((PG_PROTOCOL_MAJOR(FrontendProtocol) == 0) ? ntoh_l(n) : ntohl(n)); + *result = (int) ((PG_PROTOCOL_MAJOR(FrontendProtocol) == 0) ? ntoh_l(n) : ntohl(n)); #endif return 0; @@ -139,7 +139,7 @@ pqGetLong(int *result, FILE *f) int pqGetNBytes(char *s, size_t len, FILE *f) { - int cnt; + int cnt; if (f == NULL) return EOF; @@ -167,7 +167,7 @@ pqPutNBytes(const char *s, size_t len, FILE *f) int pqGetString(char *s, size_t len, FILE *f) { - int c; + int c; if (f == NULL) return EOF; diff --git a/src/backend/libpq/pqpacket.c b/src/backend/libpq/pqpacket.c index 66b7ea4393..97caae952a 100644 --- a/src/backend/libpq/pqpacket.c +++ b/src/backend/libpq/pqpacket.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/pqpacket.c,v 1.14 1998/01/31 20:12:09 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/pqpacket.c,v 1.15 1998/02/26 04:31:56 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -33,30 +33,31 @@ * Set up a packet read for the postmaster event loop. */ -void PacketReceiveSetup(Packet *pkt, void (*iodone)(), char *arg) +void PacketReceiveSetup(Packet *pkt, void (*iodone) (), char *arg) { - pkt->nrtodo = sizeof (pkt->len); - pkt->ptr = (char *)&pkt->len; + pkt->nrtodo = sizeof(pkt->len); + pkt->ptr = (char *) &pkt->len; pkt->iodone = iodone; pkt->arg = arg; pkt->state = ReadingPacketLength; /* Clear the destination. */ - MemSet(&pkt->pkt, 0, sizeof (pkt->pkt)); + MemSet(&pkt->pkt, 0, sizeof(pkt->pkt)); } /* - * Read a packet fragment. Return STATUS_OK if the connection should stay + * Read a packet fragment. Return STATUS_OK if the connection should stay * open. */ -int PacketReceiveFragment(Packet *pkt, int sock) +int +PacketReceiveFragment(Packet *pkt, int sock) { - int got; + int got; - if ((got = read(sock,pkt->ptr,pkt->nrtodo)) > 0) + if ((got = read(sock, pkt->ptr, pkt->nrtodo)) > 0) { pkt->nrtodo -= got; pkt->ptr += got; @@ -67,18 +68,18 @@ int PacketReceiveFragment(Packet *pkt, int sock) { pkt->len = ntohl(pkt->len); - if (pkt->len < sizeof (pkt->len) || - pkt->len > sizeof (pkt->len) + sizeof (pkt->pkt)) + if (pkt->len < sizeof(pkt->len) || + pkt->len > sizeof(pkt->len) + sizeof(pkt->pkt)) { - PacketSendError(pkt,"Invalid packet length"); + PacketSendError(pkt, "Invalid packet length"); return STATUS_OK; } /* Set up for the rest of the packet. */ - pkt->nrtodo = pkt->len - sizeof (pkt->len); - pkt->ptr = (char *)&pkt->pkt; + pkt->nrtodo = pkt->len - sizeof(pkt->len); + pkt->ptr = (char *) &pkt->pkt; pkt->state = ReadingPacket; } @@ -93,8 +94,8 @@ int PacketReceiveFragment(Packet *pkt, int sock) if (pkt->iodone == NULL) return STATUS_ERROR; - (*pkt->iodone)(pkt->arg, pkt->len - sizeof (pkt->len), - (char *)&pkt->pkt); + (*pkt->iodone) (pkt->arg, pkt->len - sizeof(pkt->len), + (char *) &pkt->pkt); } return STATUS_OK; @@ -116,10 +117,10 @@ int PacketReceiveFragment(Packet *pkt, int sock) * Set up a packet write for the postmaster event loop. */ -void PacketSendSetup(Packet *pkt, int nbytes, void (*iodone)(), char *arg) +void PacketSendSetup(Packet *pkt, int nbytes, void (*iodone) (), char *arg) { pkt->nrtodo = nbytes; - pkt->ptr = (char *)&pkt->pkt; + pkt->ptr = (char *) &pkt->pkt; pkt->iodone = iodone; pkt->arg = arg; pkt->state = WritingPacket; @@ -131,11 +132,12 @@ void PacketSendSetup(Packet *pkt, int nbytes, void (*iodone)(), char *arg) * open. */ -int PacketSendFragment(Packet *pkt, int sock) +int +PacketSendFragment(Packet *pkt, int sock) { - int done; + int done; - if ((done = write(sock,pkt->ptr,pkt->nrtodo)) > 0) + if ((done = write(sock, pkt->ptr, pkt->nrtodo)) > 0) { pkt->nrtodo -= done; pkt->ptr += done; @@ -151,7 +153,7 @@ int PacketSendFragment(Packet *pkt, int sock) if (pkt->iodone == NULL) return STATUS_ERROR; - (*pkt->iodone)(pkt->arg); + (*pkt->iodone) (pkt->arg); } return STATUS_OK; @@ -173,12 +175,13 @@ int PacketSendFragment(Packet *pkt, int sock) * Send an error message from the postmaster to the frontend. */ -void PacketSendError(Packet *pkt, char *errormsg) +void +PacketSendError(Packet *pkt, char *errormsg) { fprintf(stderr, "%s\n", errormsg); pkt->pkt.em.data[0] = 'E'; - StrNCpy(&pkt->pkt.em.data[1], errormsg, sizeof (pkt->pkt.em.data) - 2); + StrNCpy(&pkt->pkt.em.data[1], errormsg, sizeof(pkt->pkt.em.data) - 2); /* * The NULL i/o callback will cause the connection to be broken when |
