diff options
Diffstat (limited to 'libtac/lib')
-rw-r--r-- | libtac/lib/acct_r.c | 30 | ||||
-rw-r--r-- | libtac/lib/acct_s.c | 16 | ||||
-rw-r--r-- | libtac/lib/authen_r.c | 30 | ||||
-rw-r--r-- | libtac/lib/authen_s.c | 15 | ||||
-rw-r--r-- | libtac/lib/author_r.c | 29 | ||||
-rw-r--r-- | libtac/lib/author_s.c | 8 | ||||
-rw-r--r-- | libtac/lib/connect.c | 4 | ||||
-rw-r--r-- | libtac/lib/cont_s.c | 15 | ||||
-rw-r--r-- | libtac/lib/crypt.c | 2 | ||||
-rw-r--r-- | libtac/lib/hdr_check.c | 8 | ||||
-rw-r--r-- | libtac/lib/header.c | 2 | ||||
-rw-r--r-- | libtac/lib/magic.c | 2 |
12 files changed, 88 insertions, 73 deletions
diff --git a/libtac/lib/acct_r.c b/libtac/lib/acct_r.c index 0f23d04..ff651d3 100644 --- a/libtac/lib/acct_r.c +++ b/libtac/lib/acct_r.c @@ -48,7 +48,8 @@ int tac_account_read(int fd, struct areply *re) { "%s: reply timeout after %d secs", __FUNCTION__, tac_timeout)) re->msg = xstrdup(acct_syserr_msg); re->status = LIBTAC_STATUS_READ_TIMEOUT; - goto AcctExit; + free(tb); + return re->status; } r=read(fd, &th, TAC_PLUS_HDR_SIZE); @@ -58,7 +59,8 @@ int tac_account_read(int fd, struct areply *re) { r, TAC_PLUS_HDR_SIZE)) re->msg = xstrdup(acct_syserr_msg); re->status = LIBTAC_STATUS_SHORT_HDR; - goto AcctExit; + free(tb); + return re->status; } /* check the reply fields in header */ @@ -66,7 +68,10 @@ int tac_account_read(int fd, struct areply *re) { if(msg != NULL) { re->msg = xstrdup(msg); re->status = LIBTAC_STATUS_PROTOCOL_ERR; - goto AcctExit; + free(tb); + TACDEBUG((LOG_DEBUG, "%s: exit status=%d, status message \"%s\"",\ + __FUNCTION__, re->status, re->msg != NULL ? re->msg : "")) + return re->status; } len_from_header=ntohl(th.datalength); @@ -79,7 +84,8 @@ int tac_account_read(int fd, struct areply *re) { "%s: reply timeout after %d secs", __FUNCTION__, tac_timeout)) re->msg = xstrdup(acct_syserr_msg); re->status = LIBTAC_STATUS_READ_TIMEOUT; - goto AcctExit; + free(tb); + return re->status; } r=read(fd, tb, len_from_header); @@ -90,7 +96,8 @@ int tac_account_read(int fd, struct areply *re) { r, len_from_header)) re->msg = xstrdup(acct_syserr_msg); re->status = LIBTAC_STATUS_SHORT_BODY; - goto AcctExit; + free(tb); + return re->status; } /* decrypt the body */ @@ -110,7 +117,8 @@ int tac_account_read(int fd, struct areply *re) { __FUNCTION__)) re->msg = xstrdup(acct_syserr_msg); re->status = LIBTAC_STATUS_PROTOCOL_ERR; - goto AcctExit; + free(tb); + return re->status; } /* save status and clean up */ @@ -125,9 +133,10 @@ int tac_account_read(int fd, struct areply *re) { /* server logged our request successfully */ if (tb->status == TAC_PLUS_ACCT_STATUS_SUCCESS) { TACDEBUG((LOG_DEBUG, "%s: accounted ok", __FUNCTION__)) - if (!re->msg) re->msg=xstrdup(acct_ok_msg); + if (!re->msg) re->msg = xstrdup(acct_ok_msg); re->status = tb->status; - goto AcctExit; + free(tb); + return re->status; } TACDEBUG((LOG_DEBUG, "%s: accounting failed, server reply status=%d",\ @@ -145,9 +154,6 @@ int tac_account_read(int fd, struct areply *re) { break; } -AcctExit: free(tb); - TACDEBUG((LOG_DEBUG, "%s: exit status=%d, status message \"%s\"",\ - __FUNCTION__, re->status, re->msg != NULL ? re->msg : "")) - return(re->status); + return re->status; } diff --git a/libtac/lib/acct_s.c b/libtac/lib/acct_s.c index dd3dff9..51d2715 100644 --- a/libtac/lib/acct_s.c +++ b/libtac/lib/acct_s.c @@ -46,7 +46,7 @@ int tac_account_send(int fd, int type, const char *user, char *tty, /* u_char *pktp; */ /* obsolute */ int ret = 0; - th=_tac_req_header(TAC_PLUS_ACCT, 0); + th = _tac_req_header(TAC_PLUS_ACCT, 0); /* set header options */ th->version=TAC_PLUS_VER_0; @@ -64,7 +64,7 @@ int tac_account_send(int fd, int type, const char *user, char *tty, tb.flags=(u_char) type; tb.authen_method=tac_authen_method; tb.priv_lvl=tac_priv_lvl; - if(strcmp(tac_login,"chap") == 0) { + if (strcmp(tac_login,"chap") == 0) { tb.authen_type=TAC_PLUS_AUTHEN_TYPE_CHAP; } else if(strcmp(tac_login,"login") == 0) { tb.authen_type=TAC_PLUS_AUTHEN_TYPE_ASCII; @@ -82,7 +82,7 @@ int tac_account_send(int fd, int type, const char *user, char *tty, /* fill attribute length fields */ a = attr; - while(a) { + while (a) { pktl = pkt_len; pkt_len += sizeof(a->attr_len); pkt = (u_char*) xrealloc(pkt, pkt_len); @@ -132,13 +132,14 @@ int tac_account_send(int fd, int type, const char *user, char *tty, th->datalength = htonl(pkt_len); /* write header */ - w=write(fd, th, TAC_PLUS_HDR_SIZE); + w = write(fd, th, TAC_PLUS_HDR_SIZE); if(w < TAC_PLUS_HDR_SIZE) { TACSYSLOG((LOG_ERR, "%s: short write on header, wrote %d of %d: %m",\ __FUNCTION__, w, TAC_PLUS_HDR_SIZE)) - ret = LIBTAC_STATUS_WRITE_ERR; - goto AcctExit; + free(pkt); + free(th); + return LIBTAC_STATUS_WRITE_ERR; } /* encrypt packet body */ @@ -152,9 +153,8 @@ int tac_account_send(int fd, int type, const char *user, char *tty, ret = LIBTAC_STATUS_WRITE_ERR; } -AcctExit: free(pkt); free(th); TACDEBUG((LOG_DEBUG, "%s: exit status=%d", __FUNCTION__, ret)) - return(ret); + return ret; } diff --git a/libtac/lib/authen_r.c b/libtac/lib/authen_r.c index cd2ab2a..7d54cbc 100644 --- a/libtac/lib/authen_r.c +++ b/libtac/lib/authen_r.c @@ -49,7 +49,8 @@ int tac_authen_read(int fd) { TACSYSLOG((LOG_ERR,\ "%s: reply timeout after %d secs", __FUNCTION__, tac_timeout)) status=LIBTAC_STATUS_READ_TIMEOUT; - goto AuthenExit; + free(tb); + return status; } r = read(fd, &th, TAC_PLUS_HDR_SIZE); if (r < TAC_PLUS_HDR_SIZE) { @@ -58,14 +59,16 @@ int tac_authen_read(int fd) { __FUNCTION__,\ r, TAC_PLUS_HDR_SIZE)) status=LIBTAC_STATUS_SHORT_HDR; - goto AuthenExit; + free(tb); + return status; } /* check the reply fields in header */ msg = _tac_check_header(&th, TAC_PLUS_AUTHEN); if(msg != NULL) { status = LIBTAC_STATUS_PROTOCOL_ERR; - goto AuthenExit; + free(tb); + return status; } len_from_header = ntohl(th.datalength); @@ -84,8 +87,9 @@ int tac_authen_read(int fd) { "%s: short reply body, read %d of %d: %m",\ __FUNCTION__,\ r, len_from_header)) - status=LIBTAC_STATUS_SHORT_BODY; - goto AuthenExit; + status = LIBTAC_STATUS_SHORT_BODY; + free(tb); + return status; } /* decrypt the body */ @@ -104,8 +108,9 @@ int tac_authen_read(int fd) { TACSYSLOG((LOG_ERR,\ "%s: inconsistent reply body, incorrect key?",\ __FUNCTION__)) - status=LIBTAC_STATUS_PROTOCOL_ERR; - goto AuthenExit; + status = LIBTAC_STATUS_PROTOCOL_ERR; + free(tb); + return status; } /* save status and clean up */ @@ -115,21 +120,20 @@ int tac_authen_read(int fd) { /* server authenticated username and password successfully */ if (r == TAC_PLUS_AUTHEN_STATUS_PASS) { TACDEBUG((LOG_DEBUG, "%s: authentication ok", __FUNCTION__)) - goto AuthenExit; + free(tb); + return status; } /* server ask for continue packet with password */ if (r == TAC_PLUS_AUTHEN_STATUS_GETPASS) { TACDEBUG((LOG_DEBUG, "%s: continue packet with password needed", __FUNCTION__)) - goto AuthenExit; + free(tb); + return status; } TACDEBUG((LOG_DEBUG, "%s: authentication failed, server reply status=%d",\ __FUNCTION__, r)) -AuthenExit: free(tb); - TACDEBUG((LOG_DEBUG, "%s: exit status=%d",\ - __FUNCTION__, status)) - return(status); + return status; } /* tac_authen_read */ diff --git a/libtac/lib/authen_s.c b/libtac/lib/authen_s.c index d241839..4983a01 100644 --- a/libtac/lib/authen_s.c +++ b/libtac/lib/authen_s.c @@ -116,8 +116,10 @@ int tac_authen_send(int fd, const char *user, char *pass, char *tty, TACSYSLOG((LOG_ERR,\ "%s: short write on header, wrote %d of %d: %m",\ __FUNCTION__, w, TAC_PLUS_HDR_SIZE)) - ret = LIBTAC_STATUS_WRITE_ERR; - goto AuthenExit; + free(token); + free(pkt); + free(th); + return LIBTAC_STATUS_WRITE_ERR; } /* build the packet */ @@ -139,8 +141,10 @@ int tac_authen_send(int fd, const char *user, char *pass, char *tty, if (pkt_len != bodylength) { TACSYSLOG((LOG_ERR, "%s: bodylength %d != pkt_len %d",\ __FUNCTION__, bodylength, pkt_len)) - ret = LIBTAC_STATUS_ASSEMBLY_ERR; - goto AuthenExit; + free(token); + free(pkt); + free(th); + return LIBTAC_STATUS_ASSEMBLY_ERR; } /* encrypt the body */ @@ -154,10 +158,9 @@ int tac_authen_send(int fd, const char *user, char *pass, char *tty, ret = LIBTAC_STATUS_WRITE_ERR; } -AuthenExit: free(token); free(pkt); free(th); TACDEBUG((LOG_DEBUG, "%s: exit status=%d", __FUNCTION__, ret)) - return(ret); + return ret; } /* tac_authen_send */ diff --git a/libtac/lib/author_r.c b/libtac/lib/author_r.c index 8d52c0a..915d7fd 100644 --- a/libtac/lib/author_r.c +++ b/libtac/lib/author_r.c @@ -56,7 +56,8 @@ int tac_author_read(int fd, struct areply *re) { "%s: reply timeout after %d secs", __FUNCTION__, tac_timeout)) re->msg = xstrdup(author_syserr_msg); re->status = LIBTAC_STATUS_READ_TIMEOUT; - goto AuthorExit; + free(tb); + return re->status; } r = read(fd, &th, TAC_PLUS_HDR_SIZE); @@ -66,7 +67,8 @@ int tac_author_read(int fd, struct areply *re) { r, TAC_PLUS_HDR_SIZE)) re->msg = xstrdup(author_syserr_msg); re->status = LIBTAC_STATUS_SHORT_HDR; - goto AuthorExit; + free(tb); + return re->status; } /* check header consistency */ @@ -75,7 +77,8 @@ int tac_author_read(int fd, struct areply *re) { /* no need to process body if header is broken */ re->msg = xstrdup(msg); re->status = LIBTAC_STATUS_PROTOCOL_ERR; - goto AuthorExit; + free(tb); + return re->status; } len_from_header = ntohl(th.datalength); @@ -89,7 +92,8 @@ int tac_author_read(int fd, struct areply *re) { "%s: reply timeout after %d secs", __FUNCTION__, tac_timeout)) re->msg = xstrdup(author_syserr_msg); re->status = LIBTAC_STATUS_READ_TIMEOUT; - goto AuthorExit; + free(tb); + return re->status; } r = read(fd, tb, len_from_header); if (r < len_from_header) { @@ -98,7 +102,8 @@ int tac_author_read(int fd, struct areply *re) { r, len_from_header)) re->msg = xstrdup(author_syserr_msg); re->status = LIBTAC_STATUS_SHORT_BODY; - goto AuthorExit; + free(tb); + return re->status; } /* decrypt the body */ @@ -129,7 +134,8 @@ int tac_author_read(int fd, struct areply *re) { __FUNCTION__)) re->msg = xstrdup(protocol_err_msg); re->status = LIBTAC_STATUS_PROTOCOL_ERR; - goto AuthorExit; + free(tb); + return re->status; } /* packet seems to be consistent, prepare return messages */ @@ -207,9 +213,9 @@ int tac_author_read(int fd, struct areply *re) { pktp++; } } - - goto AuthorExit; - break; + free(tb); + return re->status; + break; } TACDEBUG((LOG_DEBUG, "%s: authorization failed, server reply status=%d",\ @@ -229,9 +235,6 @@ int tac_author_read(int fd, struct areply *re) { re->status=TAC_PLUS_AUTHOR_STATUS_ERROR; } -AuthorExit: free(tb); - TACDEBUG((LOG_DEBUG, "%s: exit status=%d, status message \"%s\"",\ - __FUNCTION__, re->status, re->msg != NULL ? re->msg : "")) - return(re->status); + return re->status; } diff --git a/libtac/lib/author_s.c b/libtac/lib/author_s.c index 53b7c89..c82d6e4 100644 --- a/libtac/lib/author_s.c +++ b/libtac/lib/author_s.c @@ -140,8 +140,9 @@ int tac_author_send(int fd, const char *user, char *tty, char *rem_addr, TACSYSLOG((LOG_ERR,\ "%s: short write on header, wrote %d of %d: %m",\ __FUNCTION__, w, TAC_PLUS_HDR_SIZE)) - ret = LIBTAC_STATUS_WRITE_ERR; - goto AuthorExit; + free(pkt); + free(th); + return LIBTAC_STATUS_WRITE_ERR; } /* encrypt packet body */ @@ -156,9 +157,8 @@ int tac_author_send(int fd, const char *user, char *tty, char *rem_addr, ret = LIBTAC_STATUS_WRITE_ERR; } -AuthorExit: free(pkt); free(th); TACDEBUG((LOG_DEBUG, "%s: exit status=%d", __FUNCTION__, ret)) - return(ret); + return ret; } diff --git a/libtac/lib/connect.c b/libtac/lib/connect.c index bbbb270..15dc756 100644 --- a/libtac/lib/connect.c +++ b/libtac/lib/connect.c @@ -60,7 +60,7 @@ int tac_connect(struct addrinfo **server, char **key, int servers) { /* all attempts failed if fd is still < 0 */ TACDEBUG((LOG_DEBUG, "%s: exit status=%d",__FUNCTION__, fd)) - return(fd); + return fd; } /* tac_connect */ @@ -164,7 +164,7 @@ int tac_connect_single(struct addrinfo *server, char *key) { TACDEBUG((LOG_DEBUG, "%s: exit status=%d (fd=%d)",\ __FUNCTION__, retval < 0 ? retval:0, fd)) - return(retval); + return retval; } /* tac_connect_single */ diff --git a/libtac/lib/cont_s.c b/libtac/lib/cont_s.c index a438a63..8382bc5 100644 --- a/libtac/lib/cont_s.c +++ b/libtac/lib/cont_s.c @@ -64,8 +64,9 @@ int tac_cont_send(int fd, char *pass) { if (w < 0 || w < TAC_PLUS_HDR_SIZE) { TACSYSLOG((LOG_ERR, "%s: short write on header, wrote %d of %d: %m",\ __FUNCTION__, w, TAC_PLUS_HDR_SIZE)) - ret=LIBTAC_STATUS_WRITE_ERR; - goto ContExit; + free(pkt); + free(th); + return LIBTAC_STATUS_WRITE_ERR; } /* build the packet */ @@ -81,8 +82,9 @@ int tac_cont_send(int fd, char *pass) { TACSYSLOG((LOG_ERR,\ "%s: bodylength %d != pkt_len %d",\ __FUNCTION__, bodylength, pkt_len)) - ret=LIBTAC_STATUS_ASSEMBLY_ERR; - goto ContExit; + free(pkt); + free(th); + return LIBTAC_STATUS_ASSEMBLY_ERR; } /* encrypt the body */ @@ -96,11 +98,8 @@ int tac_cont_send(int fd, char *pass) { ret=LIBTAC_STATUS_WRITE_ERR; } -ContExit: - free(pkt); free(th); - TACDEBUG((LOG_DEBUG, "%s: exit status=%d", __FUNCTION__, ret)) - return(ret); + return ret; } /* tac_cont_send */ diff --git a/libtac/lib/crypt.c b/libtac/lib/crypt.c index 645cf8e..51ea669 100644 --- a/libtac/lib/crypt.c +++ b/libtac/lib/crypt.c @@ -79,7 +79,7 @@ u_char *_tac_md5_pad(int len, HDR *hdr) { } free(buf); - return(pad); + return pad; } /* _tac_md5_pad */ diff --git a/libtac/lib/hdr_check.c b/libtac/lib/hdr_check.c index f0f0583..75c13d4 100644 --- a/libtac/lib/hdr_check.c +++ b/libtac/lib/hdr_check.c @@ -35,17 +35,17 @@ char *_tac_check_header(HDR *th, int type) { TACSYSLOG((LOG_ERR,\ "%s: unrelated reply, type %d, expected %d",\ __FUNCTION__, th->type, type)) - return(protocol_err_msg); + return protocol_err_msg; } else if((th->seq_no != 2) && (th->seq_no != 4)) { TACSYSLOG((LOG_ERR, "%s: not a reply - seq_no %d != {2,4}",\ __FUNCTION__, th->seq_no)) - return(protocol_err_msg); + return protocol_err_msg; } /* else if(ntohl(th->session_id) != session_id) { TACSYSLOG((LOG_ERR,\ "%s: unrelated reply, received session_id %d != sent %d",\ __FUNCTION__, ntohl(th->session_id), session_id)) - return(protocol_err_msg); + return protocol_err_msg; } */ - return(NULL); /* header is ok */ + return NULL; /* header is ok */ } /* check header */ diff --git a/libtac/lib/header.c b/libtac/lib/header.c index bb24918..1ae5c17 100644 --- a/libtac/lib/header.c +++ b/libtac/lib/header.c @@ -76,5 +76,5 @@ HDR *_tac_req_header(u_char type, int cont_session) { session_id = magic(); th->session_id = htonl(session_id); - return(th); + return th; } diff --git a/libtac/lib/magic.c b/libtac/lib/magic.c index 3b809eb..d795088 100644 --- a/libtac/lib/magic.c +++ b/libtac/lib/magic.c @@ -84,7 +84,7 @@ magic() if(rfd > -1) { bytes = read(rfd, &ret, sizeof(ret)); - return(ret); + return ret; } else return (u_int32_t) mrand48(); |