PERFORCE change 51453 for review
Andrew Reisse
areisse at FreeBSD.org
Tue Apr 20 16:40:35 GMT 2004
http://perforce.freebsd.org/chv.cgi?CH=51453
Change 51453 by areisse at 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) ====
To Unsubscribe: send mail to majordomo at trustedbsd.org
with "unsubscribe trustedbsd-cvs" in the body of the message
More information about the trustedbsd-cvs
mailing list