Date: Tue, 26 Apr 2005 11:54:52 GMT From: Robert Watson <rwatson@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 76000 for review Message-ID: <200504261154.j3QBsqGQ096959@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=76000 Change 76000 by rwatson@rwatson_paprika on 2005/04/26 11:53:52 Convert libbsm to using big endian (network byte order) file format, in order to improve audit trail format portability. In general, rely on the sys/endian.h macros, which may have to be bundled with OpenBSM for some platforms. - Modify ADD_*() macros to use be{16,32,64}enc(). - Replace most use of READ_TOKEN_BYTES() with more specific access macros so that we know what conversion to perform as we read. This change needs close review to make sure I didn't botch the largely mechanical conversion. - When parsing record fields in au_read_rec(), return EINVAL via errno when returning (-1) in currently under-handled cases. Call be32enc() manually when re-pushing the record size back into the buffer for a token. - Comment that we might need to investigate how to handle IP headers more properly when encoding them. Affected files ... .. //depot/projects/trustedbsd/openbsm/bsm/audit_internal.h#3 edit .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#5 edit .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#7 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/bsm/audit_internal.h#3 (text+ko) ==== @@ -1,7 +1,9 @@ /* * @APPLE_LICENSE_HEADER_START@ * - * Copyright (c) 1999-2004 Apple Computer, Inc. All Rights Reserved. + * Copyright (c) 1999-2004 Apple Computer, Inc. + * Copyright (c) 2005 Robert N. M. Watson + * All Rights Reserved. * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License @@ -42,6 +44,11 @@ #define BSM_HEADER_SIZE 18 #define BSM_TRAILER_SIZE 7 +/* + * BSM token streams store fields in big endian byte order, so as to be + * portable; when encoding and decoding, we must convert byte orders for + * typed values. + */ #define ADD_U_CHAR(loc, val) \ do { \ *loc = val; \ @@ -51,19 +58,19 @@ #define ADD_U_INT16(loc, val) \ do { \ - memcpy(loc, (u_char *)&val, sizeof(u_int16_t)); \ + be16enc(loc, val); \ loc += sizeof(u_int16_t); \ } while(0) #define ADD_U_INT32(loc, val) \ do { \ - memcpy(loc, (u_char *)&val, sizeof(u_int32_t)); \ + be32enc(loc, val); \ loc += sizeof(u_int32_t); \ } while(0) #define ADD_U_INT64(loc, val) \ do { \ - memcpy(loc, (u_char *)&val, sizeof(u_int64_t)); \ + be64enc(loc, val); \ loc += sizeof(u_int64_t); \ } while(0) ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#5 (text+ko) ==== @@ -1,5 +1,7 @@ /* - * Copyright (c) 2004, Apple Computer, Inc. All rights reserved. + * Copyright (c) 2004, Apple Computer, Inc. + * Copyright (c) 2005 Robert N. M. Watson + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -26,17 +28,20 @@ * POSSIBILITY OF SUCH DAMAGE. */ +#include <sys/types.h> +#include <sys/endian.h> +#include <sys/stat.h> +#include <sys/socket.h> + #include <unistd.h> #include <netinet/in.h> #include <arpa/inet.h> +#include <errno.h> #include <fcntl.h> #include <time.h> #include <stdlib.h> #include <stdio.h> #include <string.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <sys/socket.h> #include <pwd.h> #include <grp.h> @@ -55,7 +60,38 @@ }\ } while(0) +#define READ_TOKEN_U_CHAR(buf, len, dest, bytesread, err) do { \ + if (bytesread + sizeof(u_char) <= len) { \ + dest = buf[bytesread]; \ + bytesread += sizeof(u_char); \ + } else \ + err = 1; \ +} while (0) + +#define READ_TOKEN_U_INT16(buf, len, dest, bytesread, err) do { \ + if (bytesread + sizeof(u_int16_t) <= len) { \ + dest = be16dec(buf + bytesread); \ + bytesread += sizeof(u_int16_t); \ + } else \ + err = 1; \ +} while (0) +#define READ_TOKEN_U_INT32(buf, len, dest, bytesread, err) do { \ + if (bytesread + sizeof(u_int32_t) <= len) { \ + dest = be32dec(buf + bytesread); \ + bytesread += sizeof(u_int32_t); \ + } else \ + err = 1; \ +} while (0) + +#define READ_TOKEN_U_INT64(buf, len, dest, bytesread, err) do { \ + if (bytesread + sizeof(u_int64_t) <= len) { \ + dest = be64dec(buf + bytesread); \ + bytesread += sizeof(u_int64_t); \ + } else \ + err = 1; \ +} while (0) + #define SET_PTR(buf, len, ptr, size, bytesread, err) \ do {\ if(bytesread + size > len) {\ @@ -362,38 +398,32 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &(tok->tt.hdr32.size), - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.hdr32.size, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.hdr32.version, - sizeof(u_char), tok->len, err); + READ_TOKEN_U_CHAR(buf, len, tok->tt.hdr32.version, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.hdr32.e_type, - sizeof(u_int16_t), tok->len, err); + READ_TOKEN_U_INT16(buf, len, tok->tt.hdr32.e_type, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.hdr32.e_mod, - sizeof(u_int16_t), tok->len, err); + READ_TOKEN_U_INT16(buf, len, tok->tt.hdr32.e_mod, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.hdr32.s, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.hdr32.s, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.hdr32.ms, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.hdr32.ms, tok->len, err); if(err) { return -1; } @@ -427,14 +457,12 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.trail.magic, - sizeof(u_int16_t), tok->len, err); + READ_TOKEN_U_INT16(buf, len, tok->tt.trail.magic, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.trail.count, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.trail.count, tok->len, err); if(err) { return -1; } @@ -460,20 +488,17 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.arg32.no, - sizeof(u_char), tok->len, err); + READ_TOKEN_U_CHAR(buf, len, tok->tt.arg32.no, tok->len, err); if(err) { return -1; } - - READ_TOKEN_BYTES(buf, len, &tok->tt.arg32.val, - sizeof(u_int32_t), tok->len, err); + + READ_TOKEN_U_INT32(buf, len, tok->tt.arg32.val, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.arg32.len, - sizeof(u_int16_t), tok->len, err); + READ_TOKEN_U_INT16(buf, len, tok->tt.arg32.len, tok->len, err); if(err) { return -1; } @@ -503,20 +528,17 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.arg64.no, - sizeof(u_char), tok->len, err); + READ_TOKEN_U_CHAR(buf, len, tok->tt.arg64.no, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.arg64.val, - sizeof(u_int64_t), tok->len, err); + READ_TOKEN_U_INT64(buf, len, tok->tt.arg64.val, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.arg64.len, - sizeof(u_int16_t), tok->len, err); + READ_TOKEN_U_INT16(buf, len, tok->tt.arg64.len, tok->len, err); if(err) { return -1; } @@ -553,18 +575,15 @@ int err = 0; int datasize; - READ_TOKEN_BYTES(buf, len, &tok->tt.arb.howtopr, - sizeof(u_char), tok->len, err); + READ_TOKEN_U_CHAR(buf, len, tok->tt.arb.howtopr, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.arb.bu, - sizeof(u_char), tok->len, err); + READ_TOKEN_U_CHAR(buf, len, tok->tt.arb.bu, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.arb.uc, - sizeof(u_char), tok->len, err); + READ_TOKEN_U_CHAR(buf, len, tok->tt.arb.uc, tok->len, err); if(err) { return -1; } @@ -688,38 +707,32 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.attr32.mode, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.attr32.mode, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.attr32.uid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.attr32.uid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.attr32.gid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.attr32.gid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.attr32.fsid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.attr32.fsid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.attr32.nid, - sizeof(u_int64_t), tok->len, err); + READ_TOKEN_U_INT64(buf, len, tok->tt.attr32.nid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.attr32.dev, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.attr32.dev, tok->len, err); if(err) { return -1; } @@ -753,14 +766,12 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.exit.status, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.exit.status, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.exit.ret, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.exit.ret, tok->len, err); if(err) { return -1; } @@ -788,8 +799,7 @@ int i; char *bptr; - READ_TOKEN_BYTES(buf, len, &tok->tt.execarg.count, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.execarg.count, tok->len, err); if(err) { return -1; } @@ -834,8 +844,7 @@ int i; char *bptr; - READ_TOKEN_BYTES(buf, len, &tok->tt.execenv.count, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.execenv.count, tok->len, err); if(err) { return -1; } @@ -878,20 +887,17 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.file.s, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.file.s, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.file.ms, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.file.ms, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.file.len, - sizeof(u_int16_t), tok->len, err); + READ_TOKEN_U_INT16(buf, len, tok->tt.file.len, tok->len, err); if(err) { return -1; } @@ -925,19 +931,17 @@ int i; int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.grps.no, - sizeof(u_int16_t), tok->len, err); + READ_TOKEN_U_INT16(buf, len, tok->tt.grps.no, tok->len, err); if(err) { return -1; } for(i = 0; i<tok->tt.grps.no; i++) { - - READ_TOKEN_BYTES(buf, len, &tok->tt.grps.list[i], - sizeof(u_int32_t), tok->len, err); - if(err) { - return -1; - } + READ_TOKEN_U_INT32(buf, len, tok->tt.grps.list[i], tok->len, + err); + if(err) { + return -1; + } } return 0; @@ -962,8 +966,7 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.inaddr.addr, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.inaddr.addr, tok->len, err); if(err) { return -1; } @@ -989,23 +992,22 @@ int err = 0; int i; - READ_TOKEN_BYTES(buf, len, &tok->tt.inaddr_ex.type, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.inaddr_ex.type, tok->len, err); if(err) { return -1; } if(tok->tt.inaddr_ex.type == AF_INET) { - READ_TOKEN_BYTES(buf, len, &tok->tt.inaddr_ex.addr[0], - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, 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_BYTES(buf, len, &tok->tt.inaddr_ex.addr[i], - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.inaddr_ex.addr[i], + tok->len, err); if(err) { return -1; } @@ -1033,62 +1035,52 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.ip.version, - sizeof(u_char), tok->len, err); + READ_TOKEN_U_CHAR(buf, len, tok->tt.ip.version, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.ip.tos, - sizeof(u_char), tok->len, err); + READ_TOKEN_U_CHAR(buf, len, tok->tt.ip.tos, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.ip.len, - sizeof(u_int16_t), tok->len, err); + READ_TOKEN_U_INT16(buf, len, tok->tt.ip.len, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.ip.id, - sizeof(u_int16_t), tok->len, err); + READ_TOKEN_U_INT16(buf, len, tok->tt.ip.id, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.ip.offset, - sizeof(u_int16_t), tok->len, err); + READ_TOKEN_U_INT16(buf, len, tok->tt.ip.offset, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.ip.ttl, - sizeof(u_char), tok->len, err); + READ_TOKEN_U_CHAR(buf, len, tok->tt.ip.ttl, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.ip.prot, - sizeof(u_char), tok->len, err); + READ_TOKEN_U_CHAR(buf, len, tok->tt.ip.prot, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.ip.chksm, - sizeof(u_int16_t), tok->len, err); + READ_TOKEN_U_INT16(buf, len, tok->tt.ip.chksm, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.ip.src, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.ip.src, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.ip.dest, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.ip.dest, tok->len, err); if(err) { return -1; } @@ -1130,14 +1122,12 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.ipc.type, - sizeof(u_char), tok->len, err); + READ_TOKEN_U_CHAR(buf, len, tok->tt.ipc.type, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.ipc.id, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.ipc.id, tok->len, err); if(err) { return -1; } @@ -1168,44 +1158,37 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.ipcperm.uid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.ipcperm.uid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.ipcperm.gid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.ipcperm.gid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.ipcperm.puid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.ipcperm.puid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.ipcperm.pgid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.ipcperm.pgid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.ipcperm.mode, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.ipcperm.mode, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.ipcperm.seq, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.ipcperm.seq, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.ipcperm.key, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.ipcperm.key, tok->len, err); if(err) { return -1; } @@ -1240,8 +1223,7 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.iport.port, - sizeof(u_int16_t), tok->len, err); + READ_TOKEN_U_INT16(buf, len, tok->tt.iport.port, tok->len, err); if(err) { return -1; } @@ -1265,8 +1247,7 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.opaque.size, - sizeof(u_int16_t), tok->len, err); + READ_TOKEN_U_INT16(buf, len, tok->tt.opaque.size, tok->len, err); if(err) { return -1; } @@ -1297,8 +1278,7 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.path.len, - sizeof(u_int16_t), tok->len, err); + READ_TOKEN_U_INT16(buf, len, tok->tt.path.len, tok->len, err); if(err) { return -1; } @@ -1336,56 +1316,47 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.proc32.auid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.proc32.auid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.proc32.euid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.proc32.euid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.proc32.egid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.proc32.egid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.proc32.ruid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.proc32.ruid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.proc32.rgid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.proc32.rgid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.proc32.pid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.proc32.pid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.proc32.sid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.proc32.sid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.proc32.tid.port, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.proc32.tid.port, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.proc32.tid.addr, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.proc32.tid.addr, tok->len, err); if(err) { return -1; } @@ -1422,71 +1393,64 @@ int err = 0; int i; - READ_TOKEN_BYTES(buf, len, &tok->tt.proc32_ex.auid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.proc32_ex.auid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.proc32_ex.euid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.proc32_ex.euid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.proc32_ex.egid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.proc32_ex.egid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.proc32_ex.ruid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.proc32_ex.ruid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.proc32_ex.rgid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.proc32_ex.rgid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.proc32_ex.pid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.proc32_ex.pid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.proc32_ex.sid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.proc32_ex.sid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.proc32_ex.tid.port, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.proc32_ex.tid.port, tok->len, + err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.proc32_ex.tid.type, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.proc32_ex.tid.type, tok->len, + err); if(err) { return -1; } if(tok->tt.proc32_ex.tid.type == AF_INET) { - READ_TOKEN_BYTES(buf, len, &tok->tt.proc32_ex.tid.addr[0], - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, 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_BYTES(buf, len, &tok->tt.proc32_ex.tid.addr[i], - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, + tok->tt.proc32_ex.tid.addr[i], tok->len, err); if(err) { return -1; } @@ -1531,14 +1495,12 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.ret32.status, - sizeof(u_char), tok->len, err); + READ_TOKEN_U_CHAR(buf, len, tok->tt.ret32.status, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.ret32.ret, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.ret32.ret, tok->len, err); if(err) { return -1; } @@ -1560,14 +1522,12 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.ret64.err, - sizeof(u_char), tok->len, err); + READ_TOKEN_U_CHAR(buf, len, tok->tt.ret64.err, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.ret64.val, - sizeof(u_int64_t), tok->len, err); + READ_TOKEN_U_INT64(buf, len, tok->tt.ret64.val, tok->len, err); if(err) { return -1; } @@ -1592,8 +1552,7 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.seq.seqno, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.seq.seqno, tok->len, err); if(err) { return -1; } @@ -1620,20 +1579,18 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.sockinet32.family, - sizeof(u_int16_t), tok->len, err); + READ_TOKEN_U_INT16(buf, len, tok->tt.sockinet32.family, tok->len, + err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.sockinet32.port, - sizeof(u_int16_t), tok->len, err); + READ_TOKEN_U_INT16(buf, len, tok->tt.sockinet32.port, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.sockinet32.addr, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.sockinet32.addr, tok->len, err); if(err) { return -1; } @@ -1661,8 +1618,7 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.sockunix.family, - sizeof(u_int16_t), tok->len, err); + READ_TOKEN_U_INT16(buf, len, tok->tt.sockunix.family, tok->len, err); if(err) { return -1; } @@ -1696,28 +1652,23 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.socket.type, - sizeof(u_int16_t), tok->len, err); + READ_TOKEN_U_INT16(buf, len, tok->tt.socket.type, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.socket.l_port, - sizeof(u_int16_t), tok->len, err); + READ_TOKEN_U_INT16(buf, len, tok->tt.socket.l_port, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.socket.l_addr, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.socket.l_addr, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.socket.r_port, - sizeof(u_int16_t), tok->len, err); + READ_TOKEN_U_INT16(buf, len, tok->tt.socket.r_port, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.socket.r_addr, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.socket.r_addr, tok->len, err); if(err) { return -1; } @@ -1756,56 +1707,47 @@ { int err = 0; - READ_TOKEN_BYTES(buf, len, &tok->tt.subj32.auid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.subj32.auid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.subj32.euid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.subj32.euid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.subj32.egid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.subj32.egid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.subj32.ruid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.subj32.ruid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.subj32.rgid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.subj32.rgid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.subj32.pid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.subj32.pid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.subj32.sid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.subj32.sid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.subj32.tid.port, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.subj32.tid.port, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.subj32.tid.addr, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.subj32.tid.addr, tok->len, err); if(err) { return -1; } @@ -1855,71 +1797,64 @@ int err = 0; int i; - READ_TOKEN_BYTES(buf, len, &tok->tt.subj32_ex.auid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.subj32_ex.auid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.subj32_ex.euid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.subj32_ex.euid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.subj32_ex.egid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.subj32_ex.egid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.subj32_ex.ruid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.subj32_ex.ruid, tok->len, err); if(err) { return -1; } - READ_TOKEN_BYTES(buf, len, &tok->tt.subj32_ex.rgid, - sizeof(u_int32_t), tok->len, err); + READ_TOKEN_U_INT32(buf, len, tok->tt.subj32_ex.rgid, tok->len, err); if(err) { return -1; } >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200504261154.j3QBsqGQ096959>