--- a/open-src/xserver/xorg/sun-src/tsol/tsolpolicy.c Fri Nov 16 14:28:55 2007 -0800
+++ b/open-src/xserver/xorg/sun-src/tsol/tsolpolicy.c Fri Nov 16 16:54:07 2007 -0800
@@ -26,7 +26,7 @@
* of the copyright holder.
*/
-#pragma ident "@(#)tsolpolicy.c 1.19 07/07/31 SMI"
+#pragma ident "@(#)tsolpolicy.c 1.20 07/11/16 SMI"
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
@@ -1078,7 +1078,7 @@
int ret_stat = PASSED;
ClientPtr res_client;
int err_code = BadAccess;
- Bool do_audit = FALSE;
+ Bool do_audit = FALSE;
ClientPtr client = subject;
TsolInfoPtr res_tsolinfo;
TsolInfoPtr tsolinfo = GetClientTsolInfo(client);
@@ -1089,6 +1089,15 @@
}
res_tsolinfo = GetClientTsolInfo(res_client);
+ /* TrustedPath is needed to get serverClient attributes */
+ if (res_client == serverClient || res_tsolinfo == NULL)
+ {
+ if (client == serverClient || HasTrustedPath(tsolinfo))
+ return (PASSED);
+ else
+ return (BadValue);
+ }
+
/*
* MAC Check
*/