From owner-p4-projects@FreeBSD.ORG Tue Apr 20 09:40:38 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 677D616A4D0; Tue, 20 Apr 2004 09:40:38 -0700 (PDT) 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 3829F16A4CE for ; Tue, 20 Apr 2004 09:40:38 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2D6A343D1F for ; Tue, 20 Apr 2004 09:40:38 -0700 (PDT) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i3KGebGe027352 for ; Tue, 20 Apr 2004 09:40:37 -0700 (PDT) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i3KGeZRx027339 for perforce@freebsd.org; Tue, 20 Apr 2004 09:40:35 -0700 (PDT) (envelope-from areisse@nailabs.com) Date: Tue, 20 Apr 2004 09:40:35 -0700 (PDT) Message-Id: <200404201640.i3KGeZRx027339@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 51453 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: Tue, 20 Apr 2004 16:40:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=51453 Change 51453 by areisse@areisse_ibook on 2004/04/20 09:40:07 merge audit and label handling in mig Affected files ... .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/Makefile#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/Makefile.postamble#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/Makefile.preamble#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/PB.project#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/alloc.h#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/error.c#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/error.h#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/global.c#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/global.h#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/header.c#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/i386/mig_machine.h#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/lexxer.h#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/lexxer.l#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/mig.c#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/mig.sh#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/mig_machine.h#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/parser.y#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/ppc/mig_machine.h#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/routine.c#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/routine.h#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/server.c#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/statement.c#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/statement.h#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/strdefs.h#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/string.c#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/type.c#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/type.h#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/user.c#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/utils.c#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/utils.h#3 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/write.h#3 integrate Differences ... ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/Makefile#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/Makefile.postamble#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/Makefile.preamble#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/PB.project#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/alloc.h#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/error.c#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/error.h#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/global.c#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/global.h#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/header.c#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/i386/mig_machine.h#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/lexxer.h#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/lexxer.l#3 (text+ko) ==== @@ -138,6 +138,9 @@ [Ss][Ee][Cc][Tt][Oo][Kk][Ee][Nn] RETURN(sySecToken); [Ss][Ee][Rr][Vv][Ee][Rr][Ss][Ee][Cc][Tt][Oo][Kk][Ee][Nn] RETURN(syServerSecToken); [Uu][Ss][Ee][Rr][Ss][Ee][Cc][Tt][Oo][Kk][Ee][Nn] RETURN(syUserSecToken); +[Mm][Ss][Gg][Ll][Aa][Bb][Ee][Ll][Ss] RETURN(syMsgLabels); +[Ss][Ee][Rr][Vv][Ee][Rr][Mm][Ss][Gg][Ll][Aa][Bb][Ee][Ll][Ss] RETURN(syServerMsgLabels); +[Uu][Ss][Ee][Rr][Mm][Ss][Gg][Ll][Aa][Bb][Ee][Ll][Ss] RETURN(syUserMsgLabels); [Aa][Uu][Dd][Ii][Tt][Tt][Oo][Kk][Ee][Nn] RETURN(syAuditToken); [Ss][Ee][Rr][Vv][Ee][Rr][Aa][Uu][Dd][Ii][Tt][Tt][Oo][Kk][Ee][Nn] RETURN(syServerAuditToken); [Uu][Ss][Ee][Rr][Aa][Uu][Dd][Ii][Tt][Tt][Oo][Kk][Ee][Nn] RETURN(syUserAuditToken); ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/mig.c#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/mig.sh#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/mig_machine.h#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/parser.y#3 (text+ko) ==== @@ -100,9 +100,13 @@ %token syValueOf %token syCString + %token sySecToken %token syUserSecToken %token syServerSecToken +%token syMsgLabels +%token syUserMsgLabels +%token syServerMsgLabels %token syAuditToken %token syUserAuditToken %token syServerAuditToken @@ -684,6 +688,9 @@ | sySecToken { $$ = akSecToken; } | syServerSecToken { $$ = akServerSecToken; } | syUserSecToken { $$ = akUserSecToken; } + | syMsgLabels { $$ = akMsgLabels; } + | syServerMsgLabels { $$ = akServerMsgLabels; } + | syUserMsgLabels { $$ = akUserMsgLabels; } | syAuditToken { $$ = akAuditToken; } | syServerAuditToken { $$ = akServerAuditToken; } | syUserAuditToken { $$ = akUserAuditToken; } ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/ppc/mig_machine.h#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/routine.c#3 (text+ko) ==== @@ -217,6 +217,9 @@ case akeSecToken: printf("SecToken\t"); break; + case akeMsgLabels: + printf("MsgLabels\t"); + break; case akeAuditToken: printf("AuditToken\t"); break; @@ -932,6 +935,9 @@ case akeSecToken: arg->argMsgField = "msgh_sender"; break; + case akeMsgLabels: + arg->argMsgField = "msgh_labels"; + break; case akeAuditToken: arg->argMsgField = "msgh_audit"; break; @@ -1203,6 +1209,9 @@ akIdent(arg->argKind) == akeAuditToken) itCheckTokenType(arg->argVarName, arg->argType); + if (akIdent(arg->argKind) == akeMsgLabels) + itCheckMsgLabelsType(arg->argVarName, arg->argType); + if (akIdent(arg->argKind) == akeMsgSeqno) itCheckIntType(arg->argVarName, arg->argType); /* @@ -1479,6 +1488,7 @@ register argument_t *arg; boolean_t sectoken = FALSE; boolean_t audittoken = FALSE; + boolean_t msglabels = FALSE; for (arg = rt->rtArgs; arg != argNULL; arg = arg->argNext) if (akCheckAll(arg->argKind, akbReturn|akbUserImplicit)) { @@ -1486,9 +1496,14 @@ sectoken = TRUE; else if (akIdent(arg->argKind) == akeAuditToken) audittoken = TRUE; + else if (akIdent(arg->argKind) == akeMsgLabels) + msglabels = TRUE; } - if (audittoken == TRUE) + if (msglabels == TRUE) + msgop->argVarName = strconcat(msgop->argVarName, + "|MACH_RCV_TRAILER_ELEMENTS(MACH_RCV_TRAILER_LABELS)"); + else if (audittoken == TRUE) msgop->argVarName = strconcat(msgop->argVarName, "|MACH_RCV_TRAILER_ELEMENTS(MACH_RCV_TRAILER_AUDIT)"); else if (sectoken == TRUE) ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/routine.h#3 (text+ko) ==== @@ -77,7 +77,8 @@ #define akeImplicit (16) /* an implicit argument, from the trailer */ #define akeSecToken (17) /* an argument from the trailer: the security token */ #define akeAuditToken (18) /* an argument from the trailer: the audit token */ -#define akeSendTime (19) /* pointed at by rtWaitTime */ +#define akeMsgLabels (19) /* an argument from the trailer: message labels */ +#define akeSendTime (20) /* pointed at by rtWaitTime */ #define akeBITS (0x0000003f) #define akbRequest (0x00000040) /* has a msg_type in request */ @@ -237,6 +238,14 @@ akbServerArg|akbServerImplicit|akbSend|akbSendRcv| \ akbUserArg|akbUserImplicit|akbReturn|akbReturnRcv) +#define akServerMsgLabels akAddFeature(akeMsgLabels, \ + akbServerArg|akbServerImplicit|akbSend|akbSendRcv) +#define akUserMsgLabels akAddFeature(akeMsgLabels, \ + akbUserArg|akbUserImplicit|akbReturn|akbReturnRcv) +#define akMsgLabels akAddFeature(akeMsgLabels, \ + akbServerArg|akbServerImplicit|akbSend|akbSendRcv| \ + akbUserArg|akbUserImplicit|akbReturn|akbReturnRcv) + #define akServerAuditToken akAddFeature(akeAuditToken, \ akbServerArg|akbServerImplicit|akbSend|akbSendRcv) #define akUserAuditToken akAddFeature(akeAuditToken, \ ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/server.c#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/statement.c#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/statement.h#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/strdefs.h#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/string.c#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/type.c#3 (text+ko) ==== @@ -948,3 +948,14 @@ error("argument %s isn't a proper Token", name); } + +void +itCheckMsgLabelsType(name, it) + identifier_t name; + ipc_type_t *it; +{ + if (it->itMigInLine || it->itNoOptArray || it->itString || + it->itTypeSize != 64 || !it->itInLine || !it->itStruct || + it->itVarArray || it->itPortType) + error("argument %s isn't a proper msg_labels_t", name); +} ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/type.h#3 (text+ko) ==== @@ -260,6 +260,7 @@ extern void itCheckRequestPortType(/* identifier_t name, ipc_type_t *it */); extern void itCheckReplyPortType(/* identifier_t name, ipc_type_t *it */); extern void itCheckIntType(/* identifier_t name, ipc_type_t *it */); +extern void itCheckMsgLabelsType(/* identifier_t name, ipc_type_t *it */); extern void itCheckTokenType(/* identifier_t name, ipc_type_t *it */); #endif /* _TYPE_H */ ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/user.c#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/utils.c#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/utils.h#3 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/bootstrap_cmds/migcom.tproj/write.h#3 (text+ko) ====