From owner-p4-projects@FreeBSD.ORG Wed Jun 20 04:04:11 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 35C8216A468; Wed, 20 Jun 2007 04:04:11 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E641516A41F for ; Wed, 20 Jun 2007 04:04:10 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D817A13C448 for ; Wed, 20 Jun 2007 04:04:10 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5K44Act004917 for ; Wed, 20 Jun 2007 04:04:10 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5K44AAG004908 for perforce@freebsd.org; Wed, 20 Jun 2007 04:04:10 GMT (envelope-from csjp@freebsd.org) Date: Wed, 20 Jun 2007 04:04:10 GMT Message-Id: <200706200404.l5K44AAG004908@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to csjp@freebsd.org using -f From: "Christian S.J. Peron" To: Perforce Change Reviews Cc: Subject: PERFORCE change 122005 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Jun 2007 04:04:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=122005 Change 122005 by csjp@push on 2007/06/20 04:03:21 Teach id(1) about extended auditinfo data. This un-breaks id -A for subjects who have ip6 addresses associated with them. Affected files ... .. //depot/projects/trustedbsd/audit3/usr.bin/id/id.c#7 edit Differences ... ==== //depot/projects/trustedbsd/audit3/usr.bin/id/id.c#7 (text+ko) ==== @@ -313,14 +313,42 @@ auditid(void) { auditinfo_t auditinfo; + auditinfo_addr_t ainfo_addr; + int ret, extended; - if (getaudit(&auditinfo) < 0) + extended = 0; + ret = getaudit(&auditinfo); + if (ret < 0 && errno == E2BIG) { + if (getaudit_addr(&ainfo_addr, sizeof(ainfo_addr)) < 0) + err(1, "getaudit_addr"); + extended = 1; + } else if (ret < 0) err(1, "getaudit"); - printf("auid=%d\n", auditinfo.ai_auid); - printf("mask.success=0x%08x\n", auditinfo.ai_mask.am_success); - printf("mask.failure=0x%08x\n", auditinfo.ai_mask.am_failure); - printf("termid.port=0x%08x\n", auditinfo.ai_termid.port); - printf("asid=%d\n", auditinfo.ai_asid); + if (extended != 0) { + printf("auid=%d\n", ainfo_addr.ai_auid); + printf("mask.success=0x%08x\n", ainfo_addr.ai_mask.am_success); + printf("mask.failure=0x%08x\n", ainfo_addr.ai_mask.am_failure); + printf("asid=%d\n", ainfo_addr.ai_asid); + printf("termid_addr.port=0x%08x\n", + ainfo_addr.ai_termid.at_port); + printf("termid_addr.addr[0]=0x%08x\n" + "termid_addr.addr[1]=0x%08x\n" + "termid_addr.addr[2]=0x%08x\n" + "termid_addr.addr[3]=0x%08x\n", + ainfo_addr.ai_termid.at_addr[0], + ainfo_addr.ai_termid.at_addr[1], + ainfo_addr.ai_termid.at_addr[2], + ainfo_addr.ai_termid.at_addr[3]); + } else { + printf("auid=%d\n", auditinfo.ai_auid); + printf("mask.success=0x%08x\n", auditinfo.ai_mask.am_success); + printf("mask.failure=0x%08x\n", auditinfo.ai_mask.am_failure); + printf("asid=%d\n", auditinfo.ai_asid); + printf("termid.port=0x%08x\n", + auditinfo.ai_termid.port); + printf("termid.machine=0x%08x\n", + auditinfo.ai_termid.machine); + } } #endif