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