From owner-p4-projects@FreeBSD.ORG Sun May 1 22:37:27 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8BA6516A4D0; Sun, 1 May 2005 22:37:27 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 49F8616A4CE for ; Sun, 1 May 2005 22:37:27 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D766343D31 for ; Sun, 1 May 2005 22:37:26 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j41MbQId080708 for ; Sun, 1 May 2005 22:37:26 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j41MbQj2080705 for perforce@freebsd.org; Sun, 1 May 2005 22:37:26 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 1 May 2005 22:37:26 GMT Message-Id: <200505012237.j41MbQj2080705@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 76347 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 May 2005 22:37:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=76347 Change 76347 by rwatson@rwatson_paprika on 2005/05/01 22:36:36 When reading an IPv4 and IPv6 addresses in fetch_inaddr_ex_tok(), fetch_ip_tok(), fetch_process32ex_tok(), fetch_sock_inet32_tok(), fetch_socket_tok(), fetch_subject32_tok(), fetch_subject64_tok(), fetch_subject32ex_tok(), fetch_socketex32_tok(). This avoids converting the IPv4 addresses to local byte order, as we will later print them from network byte order using inet_ntoa(). Print IPv4 addresses using print_ip_address() in print_ip_tok(), rather than printing as a u_int32_t. Affected files ... .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#11 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#11 (text+ko) ==== @@ -1156,7 +1156,6 @@ static int fetch_inaddr_ex_tok(tokenstr_t *tok, char *buf, int len) { int err = 0; - int i; READ_TOKEN_U_INT32(buf, len, tok->tt.inaddr_ex.type, tok->len, err); if(err) { @@ -1164,19 +1163,17 @@ } if(tok->tt.inaddr_ex.type == AF_INET) { - READ_TOKEN_U_INT32(buf, len, tok->tt.inaddr_ex.addr[0], - tok->len, err); + READ_TOKEN_BYTES(buf, len, &tok->tt.inaddr_ex.addr[0], + sizeof(tok->tt.inaddr_ex.addr[0]), tok->len, err); if(err) { return -1; } } else if (tok->tt.inaddr_ex.type == AF_INET6) { - for(i = 0; i < 4; i++) { - READ_TOKEN_U_INT32(buf, len, tok->tt.inaddr_ex.addr[i], - tok->len, err); - if(err) { - return -1; - } + READ_TOKEN_BYTES(buf, len, &tok->tt.inaddr_ex.addr, + sizeof(tok->tt.inaddr_ex.addr), tok->len, err); + if(err) { + return -1; } } else { @@ -1241,12 +1238,14 @@ return -1; } - READ_TOKEN_U_INT32(buf, len, tok->tt.ip.src, tok->len, err); + READ_TOKEN_BYTES(buf, len, &tok->tt.ip.src, sizeof(tok->tt.ip.src), + tok->len, err); if(err) { return -1; } - READ_TOKEN_U_INT32(buf, len, tok->tt.ip.dest, tok->len, err); + READ_TOKEN_BYTES(buf, len, &tok->tt.ip.dest, sizeof(tok->tt.ip.dest), + tok->len, err); if(err) { return -1; } @@ -1275,9 +1274,9 @@ print_delim(fp, del); print_2_bytes(fp, tok->tt.ip.chksm, "%u"); print_delim(fp, del); - print_4_bytes(fp, tok->tt.ip.src, "%#x"); + print_ip_address(fp, tok->tt.ip.src); print_delim(fp, del); - print_4_bytes(fp, tok->tt.ip.dest, "%#x"); + print_ip_address(fp, tok->tt.ip.dest); } /* @@ -1557,7 +1556,6 @@ static int fetch_process32ex_tok(tokenstr_t *tok, char *buf, int len) { int err = 0; - int i; READ_TOKEN_U_INT32(buf, len, tok->tt.proc32_ex.auid, tok->len, err); if(err) { @@ -1607,19 +1605,17 @@ } if(tok->tt.proc32_ex.tid.type == AF_INET) { - READ_TOKEN_U_INT32(buf, len, tok->tt.proc32_ex.tid.addr[0], - tok->len, err); + READ_TOKEN_BYTES(buf, len, &tok->tt.proc32_ex.tid.addr[0], + sizeof(tok->tt.proc32_ex.tid.addr[0]), tok->len, err); if(err) { return -1; } } else if (tok->tt.proc32_ex.tid.type == AF_INET6) { - for(i = 0; i < 4; i++) { - READ_TOKEN_U_INT32(buf, len, - tok->tt.proc32_ex.tid.addr[i], tok->len, err); - if(err) { - return -1; - } + READ_TOKEN_BYTES(buf, len, &tok->tt.proc32_ex.tid.addr, + sizeof(tok->tt.proc32_ex.tid.addr), tok->len, err); + if(err) { + return -1; } } else { @@ -1756,7 +1752,8 @@ return -1; } - READ_TOKEN_U_INT32(buf, len, tok->tt.sockinet32.addr, tok->len, err); + READ_TOKEN_BYTES(buf, len, &tok->tt.sockinet32.addr, + sizeof(tok->tt.sockinet32.addr), tok->len, err); if(err) { return -1; } @@ -1826,7 +1823,8 @@ if(err) { return -1; } - READ_TOKEN_U_INT32(buf, len, tok->tt.socket.l_addr, tok->len, err); + READ_TOKEN_BYTES(buf, len, &tok->tt.socket.l_addr, + sizeof(tok->tt.socket.l_addr), tok->len, err); if(err) { return -1; } @@ -1834,7 +1832,8 @@ if(err) { return -1; } - READ_TOKEN_U_INT32(buf, len, tok->tt.socket.r_addr, tok->len, err); + READ_TOKEN_BYTES(buf, len, &tok->tt.socket.l_addr, + sizeof(tok->tt.socket.r_addr), tok->len, err); if(err) { return -1; } @@ -1913,7 +1912,8 @@ return -1; } - READ_TOKEN_U_INT32(buf, len, tok->tt.subj32.tid.addr, tok->len, err); + READ_TOKEN_BYTES(buf, len, &tok->tt.subj32.tid.addr, + sizeof(tok->tt.subj32.tid.addr), tok->len, err); if(err) { return -1; } @@ -2001,7 +2001,8 @@ return -1; } - READ_TOKEN_U_INT32(buf, len, tok->tt.subj64.tid.addr, tok->len, err); + READ_TOKEN_BYTES(buf, len, &tok->tt.subj64.tid.addr, + sizeof(tok->tt.subj64.tid.addr), tok->len, err); if(err) { return -1; } @@ -2049,7 +2050,6 @@ static int fetch_subject32ex_tok(tokenstr_t *tok, char *buf, int len) { int err = 0; - int i; READ_TOKEN_U_INT32(buf, len, tok->tt.subj32_ex.auid, tok->len, err); if(err) { @@ -2099,19 +2099,17 @@ } if(tok->tt.subj32_ex.tid.type == AF_INET) { - READ_TOKEN_U_INT32(buf, len, tok->tt.subj32_ex.tid.addr[0], - tok->len, err); + READ_TOKEN_BYTES(buf, len, &tok->tt.subj32_ex.tid.addr[0], + sizeof(tok->tt.subj32_ex.tid.addr[0]), tok->len, err); if(err) { return -1; } } else if (tok->tt.subj32_ex.tid.type == AF_INET6) { - for(i = 0; i < 4; i++) { - READ_TOKEN_U_INT32(buf, len, - tok->tt.subj32_ex.tid.addr[i], tok->len, err); - if(err) { - return -1; - } + READ_TOKEN_BYTES(buf, len, &tok->tt.subj32_ex.tid.addr, + sizeof(tok->tt.subj32_ex.tid.addr), tok->len, err); + if(err) { + return -1; } } else { @@ -2202,8 +2200,8 @@ if(err) { return -1; } - READ_TOKEN_U_INT32(buf, len, tok->tt.socket_ex32.l_addr, tok->len, - err); + READ_TOKEN_BYTES(buf, len, &tok->tt.socket_ex32.l_addr, + sizeof(tok->tt.socket_ex32.l_addr), tok->len, err); if(err) { return -1; } @@ -2218,8 +2216,8 @@ if(err) { return -1; } - READ_TOKEN_U_INT32(buf, len, tok->tt.socket_ex32.r_addr, tok->len, - err); + READ_TOKEN_BYTES(buf, len, &tok->tt.socket_ex32.r_addr, + sizeof(tok->tt.socket_ex32.r_addr), tok->len, err); if(err) { return -1; }