tsolprotocol.c revision 1088
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#include <fcntl.h>
#include <unistd.h>
#include <ucred.h>
#include <pwd.h>
#include <strings.h>
#include "auditwrite.h"
#include "tsol.h"
#include "inputstr.h"
#include "xkbstr.h"
#include "xkbsrv.h"
#include "dixevents.h"
#include "selection.h"
#include "osdep.h"
#include "tsolpolicy.h"
#include "swaprep.h"
#include "swapreq.h"
#include "servermd.h"
#ifdef PANORAMIX
#include "../Xext/panoramiXsrv.h"
#ifdef XCSECURITY
#include "../Xext/securitysrv.h"
#include "xace.h"
#include "xacestr.h"
* The event # here match those in /usr/include/bsm/audit_uevents.h.
static Atom
GetLastAtom(void)
while (ValidAtom(a)) {
int newsize;
tsol_lastAtom = 0;
char *tchar;
return(BadValue);
return (BadAlloc);
const char *str;
int len;
return (BadAtom);
return (Success);
return (Success);
return result;
int rc;
#if defined(PANORAMIX)
if (!noPanoramiXExtension)
if (tpwin) {
if (tpwin) {
int result;
return result;
if (kbdgrab)
if (tsolinfo)
if (ptrgrab)
if (tsolinfo)
if (!trusted_grab)
#ifdef UNUSED
while (p2)
CheckTPWin(void)
while (pWin)
return count;
++count;
int status;
if ( noPanoramiXExtension )
return status;
return (status);
if (priv_win_config ||
if (priv_win_config ||
#ifdef TSOL
return rc;
#ifdef TSOL
#ifdef TSOL
Success) {
numChildren++;
numChildren++;
if (numChildren)
int curChild = 0;
if (!childIDs)
return BadAlloc;
#ifdef TSOL
Success) {
if (numChildren)
unsigned int protocol;
int count = 0;
int status = 0;
if (system_audit_on &&
* X audit events start from 9101 in audit_uevents.h. The first two
audit_ret = 0;
int rc;
return rc;
return rc;
return(Success);
int format,
register int linesDone;
char *pBuf;
#ifdef TSOL
return(BadValue);
return rc;
#ifdef TSOL
x = tmpx;
y = tmpy;
if (not_root_window)
int rc;
return rc;
while (tmpwin)
return rc;
pDraw->x + x < 0 ||
pDraw->y + y < 0 ||
return(BadMatch);
return(BadMatch);
if (im_return) {
if (!pBuf)
return (BadAlloc);
if (widthBytesLine == 0)
linesPerBuf = 0;
linesPerBuf = 0;
linesPerBuf--;
linesPerBuf++;
return (BadAlloc);
if (linesPerBuf == 0)
linesDone = 0;
y + linesDone,
#ifdef TSOL
if (not_root_window)
if (over_win)
if (overlap)
if (!im_return)
pBuf);
linesDone = 0;
y + linesDone,
#ifdef TSOL
if (not_root_window)
if (over_win)
if (overlap)
if (im_return) {
pBuf);
if (!im_return)
int status;
return (status);
int status;
return (status);
int status;
int rc;
return rc;
return (BadMatch);
return (status);
int savedtrust;
int status;
int rc;
return rc;
return (BadMatch);
return (status);