Date: Tue, 20 Apr 2004 09:40:35 -0700 (PDT) From: Andrew Reisse <areisse@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 51453 for review Message-ID: <200404201640.i3KGeZRx027339@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 @@ <Normal>[Ss][Ee][Cc][Tt][Oo][Kk][Ee][Nn] RETURN(sySecToken); <Normal>[Ss][Ee][Rr][Vv][Ee][Rr][Ss][Ee][Cc][Tt][Oo][Kk][Ee][Nn] RETURN(syServerSecToken); <Normal>[Uu][Ss][Ee][Rr][Ss][Ee][Cc][Tt][Oo][Kk][Ee][Nn] RETURN(syUserSecToken); +<Normal>[Mm][Ss][Gg][Ll][Aa][Bb][Ee][Ll][Ss] RETURN(syMsgLabels); +<Normal>[Ss][Ee][Rr][Vv][Ee][Rr][Mm][Ss][Gg][Ll][Aa][Bb][Ee][Ll][Ss] RETURN(syServerMsgLabels); +<Normal>[Uu][Ss][Ee][Rr][Mm][Ss][Gg][Ll][Aa][Bb][Ee][Ll][Ss] RETURN(syUserMsgLabels); <Normal>[Aa][Uu][Dd][Ii][Tt][Tt][Oo][Kk][Ee][Nn] RETURN(syAuditToken); <Normal>[Ss][Ee][Rr][Vv][Ee][Rr][Aa][Uu][Dd][Ii][Tt][Tt][Oo][Kk][Ee][Nn] RETURN(syServerAuditToken); <Normal>[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) ====
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200404201640.i3KGeZRx027339>