--- a/open-src/xserver/xorg/sun-src/tsol/tsolextension.c Sat Sep 10 23:06:14 2011 -0700
+++ b/open-src/xserver/xorg/sun-src/tsol/tsolextension.c Mon Sep 12 11:10:49 2011 -0700
@@ -1584,7 +1584,7 @@
tsolinfo->sl = NULL;
snprintf(tsolinfo->pname, MAXNAME,
"client id %d (pid unknown)", client->index);
- LogMessageVerb(X_ERROR, TSOL_MSG_ERROR,
+ LogMessageVerb(X_WARNING, TSOL_MSG_WARNING,
TSOL_LOG_PREFIX "Cannot get client attributes"
" for %s, getpeerucred failed: %s\n",
tsolinfo->pname, errmsg);
@@ -1977,7 +1977,7 @@
#ifndef NO_TSOL_DEBUG_MESSAGES
if (rec->status != Success) {
tsolinfo = GetClientTsolInfo(client);
- LogMessageVerb(X_ERROR, TSOL_MSG_ERROR,
+ LogMessageVerb(X_WARNING, TSOL_MSG_WARNING,
TSOL_LOG_PREFIX
"TsolCheckSendAccess(%s, %s) = %s\n",
tsolinfo->pname,
--- a/open-src/xserver/xorg/sun-src/tsol/tsolinfo.h Sat Sep 10 23:06:14 2011 -0700
+++ b/open-src/xserver/xorg/sun-src/tsol/tsolinfo.h Mon Sep 12 11:10:49 2011 -0700
@@ -55,6 +55,7 @@
*/
#define TSOL_MSG_ERROR 0 /* Always printed */
+#define TSOL_MSG_WARNING 4
#define TSOL_MSG_POLICY_DENIED 5
#define TSOL_MSG_UNIMPLEMENTED 6
#define TSOL_MSG_ACCESS_TRACE 7
--- a/open-src/xserver/xorg/sun-src/tsol/tsolpolicy.c Sat Sep 10 23:06:14 2011 -0700
+++ b/open-src/xserver/xorg/sun-src/tsol/tsolpolicy.c Mon Sep 12 11:10:49 2011 -0700
@@ -206,7 +206,7 @@
bad:
/* Access denied */
- LogMessageVerb(X_ERROR, TSOL_MSG_ERROR,
+ LogMessageVerb(X_WARNING, TSOL_MSG_WARNING,
TSOL_LOG_PREFIX
"tsol_check_policy(%s, %s, %d, pid=%d, %s, %d, %s) = %s\n",
tsolinfo->pname, xsltos(tsolinfo->sl), tsolinfo->uid,
@@ -474,7 +474,7 @@
if (rec->status != Success) {
tsolinfo = GetClientTsolInfo(client);
- LogMessageVerb(X_ERROR, TSOL_MSG_ERROR,
+ LogMessageVerb(X_WARNING, TSOL_MSG_WARNING,
TSOL_LOG_PREFIX
"TsolCheckDrawableAccess(%s, %s, 0x%x, %s, %s) = %s\n",
tsolinfo->pname,
@@ -575,7 +575,7 @@
if (rec->status != Success) {
tsolinfo = GetClientTsolInfo(client);
- LogMessageVerb(X_ERROR, TSOL_MSG_ERROR,
+ LogMessageVerb(X_WARNING, TSOL_MSG_WARNING,
TSOL_LOG_PREFIX
"TsolCheckXIDAccess(%s, %s, 0x%x, %s, %s) = %s\n",
tsolinfo->pname,
@@ -662,7 +662,7 @@
if (rec->status != Success) {
tsolinfo = GetClientTsolInfo(client);
- LogMessageVerb(X_ERROR, TSOL_MSG_ERROR,
+ LogMessageVerb(X_WARNING, TSOL_MSG_WARNING,
TSOL_LOG_PREFIX
"TsolCheckServerAccess(%s, %s, %s) = %s\n",
tsolinfo->pname,
@@ -722,7 +722,7 @@
if (rec->status != Success) {
tsolinfo = GetClientTsolInfo(client);
- LogMessageVerb(X_ERROR, TSOL_MSG_ERROR,
+ LogMessageVerb(X_WARNING, TSOL_MSG_WARNING,
TSOL_LOG_PREFIX
"TsolCheckClientAccess(%s, %s, %s) = %s\n",
tsolinfo->pname,
@@ -754,6 +754,12 @@
rec->status = BadWindow;
+ /* Allow all device access to the server itself */
+ if (client == serverClient) {
+ rec->status = Success;
+ check_mode = 0;
+ }
+
/* get/read access is allowed */
modes = (DixCreateAccess | DixGetAttrAccess | DixGetFocusAccess |
DixReadAccess | DixShowAccess | DixHideAccess |
@@ -789,7 +795,7 @@
if (rec->status != Success) {
tsolinfo = GetClientTsolInfo(client);
- LogMessageVerb(X_ERROR, TSOL_MSG_ERROR,
+ LogMessageVerb(X_WARNING, TSOL_MSG_WARNING,
TSOL_LOG_PREFIX
"TsolCheckDeviceAccess(%s, %s, %s) = %s\n",
tsolinfo->pname,