author | Alan Coopersmith <Alan.Coopersmith@Sun.COM> |
Thu, 15 Jan 2009 12:55:00 -0800 | |
changeset 606 | 068c11b419c9 |
parent 470 | 77e77d76a7c9 |
child 614 | 5ef3ebaba4c3 |
permissions | -rw-r--r-- |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1 |
/* Copyright 2009 Sun Microsystems, Inc. All rights reserved. |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2 |
* |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
3 |
* Permission is hereby granted, free of charge, to any person obtaining a |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
4 |
* copy of this software and associated documentation files (the |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
5 |
* "Software"), to deal in the Software without restriction, including |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
6 |
* without limitation the rights to use, copy, modify, merge, publish, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
7 |
* distribute, and/or sell copies of the Software, and to permit persons |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
8 |
* to whom the Software is furnished to do so, provided that the above |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
9 |
* copyright notice(s) and this permission notice appear in all copies of |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
10 |
* the Software and that both the above copyright notice(s) and this |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
11 |
* permission notice appear in supporting documentation. |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
12 |
* |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
13 |
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
14 |
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
15 |
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
16 |
* OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
17 |
* HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
18 |
* INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
19 |
* FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
20 |
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
21 |
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
22 |
* |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
23 |
* Except as contained in this notice, the name of a copyright holder |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
24 |
* shall not be used in advertising or otherwise to promote the sale, use |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
25 |
* or other dealings in this Software without prior written authorization |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
26 |
* of the copyright holder. |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
27 |
*/ |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
28 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
29 |
#pragma ident "@(#)tsolextension.c 1.31 09/01/14 SMI" |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
30 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
31 |
#include <stdio.h> |
196
b7c1d614eb84
Trusted Extensions bug fixes:
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
168
diff
changeset
|
32 |
#include "auditwrite.h" |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
33 |
#include <bsm/libbsm.h> |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
34 |
#include <bsm/audit_uevents.h> |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
35 |
#include <sys/param.h> |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
36 |
#include <sys/types.h> |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
37 |
#include <sys/socket.h> |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
38 |
#include <sys/wait.h> |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
39 |
#include <ucred.h> |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
40 |
#include <netinet/in.h> |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
41 |
#include <netdb.h> |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
42 |
#include <arpa/inet.h> |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
43 |
#include <sys/tsol/tndb.h> |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
44 |
#include <strings.h> |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
45 |
#include <string.h> |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
46 |
#include <pwd.h> |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
47 |
#include <unistd.h> |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
48 |
#include <sys/stat.h> |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
49 |
#include <rpc/rpc.h> |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
50 |
#include <zone.h> |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
51 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
52 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
53 |
#define NEED_REPLIES |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
54 |
|
98
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
73
diff
changeset
|
55 |
#ifdef HAVE_DIX_CONFIG_H |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
73
diff
changeset
|
56 |
#include <dix-config.h> |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
73
diff
changeset
|
57 |
#endif |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
58 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
59 |
#include "misc.h" |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
60 |
#include "osdep.h" |
98
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
73
diff
changeset
|
61 |
#include <X11/Xauth.h> |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
62 |
#include "tsol.h" |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
63 |
#include "inputstr.h" |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
64 |
#include "extnsionst.h" |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
65 |
#include "dixstruct.h" |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
66 |
#include "xace.h" |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
67 |
#include "xacestr.h" |
311
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
68 |
#ifdef PANORAMIX |
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
69 |
#include "../Xext/panoramiXsrv.h" |
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
70 |
#endif |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
71 |
#ifdef XCSECURITY |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
72 |
#define _SECURITY_SERVER |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
73 |
#include "security.h" |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
74 |
#include "../Xext/securitysrv.h" |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
75 |
#endif |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
76 |
#include "tsolpolicy.h" |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
77 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
78 |
#define BadCmapCookie 0 |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
79 |
#define Tsolextension 0x0080 /* Tsol extensions begin at 128 */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
80 |
#define MAX_SCREENS 3 /* screens allowed */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
81 |
#define EXTNSIZE 128 |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
82 |
|
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
83 |
#define SECURE_RPC_AUTH "SUN-DES-1" |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
84 |
#define SECURE_RPC_LEN 9 |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
85 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
86 |
#define CALLBACK(name) void \ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
87 |
name(CallbackListPtr *pcbl, pointer nulldata, pointer calldata) |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
88 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
89 |
static int ProcTsolDispatch(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
90 |
static int ProcSetPolyInstInfo(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
91 |
static int ProcSetPropLabel(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
92 |
static int ProcSetPropUID(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
93 |
static int ProcSetResLabel(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
94 |
static int ProcSetResUID(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
95 |
static int ProcGetClientAttributes(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
96 |
static int ProcGetClientLabel(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
97 |
static int ProcGetPropAttributes(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
98 |
static int ProcGetResAttributes(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
99 |
static int ProcMakeTPWindow(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
100 |
static int ProcMakeTrustedWindow(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
101 |
static int ProcMakeUntrustedWindow(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
102 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
103 |
static int SProcTsolDispatch(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
104 |
static int SProcSetPolyInstInfo(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
105 |
static int SProcSetPropLabel(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
106 |
static int SProcSetPropUID(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
107 |
static int SProcSetResLabel(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
108 |
static int SProcSetResUID(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
109 |
static int SProcGetClientAttributes(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
110 |
static int SProcGetClientLabel(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
111 |
static int SProcGetPropAttributes(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
112 |
static int SProcGetResAttributes(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
113 |
static int SProcMakeTPWindow(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
114 |
static int SProcMakeTrustedWindow(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
115 |
static int SProcMakeUntrustedWindow(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
116 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
117 |
static void TsolReset(ExtensionEntry *extension); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
118 |
static void BreakAllGrabs(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
119 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
120 |
extern void init_xtsol(void); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
121 |
extern int DoScreenStripeHeight(int screen_num); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
122 |
extern int AddUID(int *userid); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
123 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
124 |
static unsigned char TsolReqCode = 0; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
125 |
static int tsolEventBase = -1; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
126 |
extern unsigned int StripeHeight; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
127 |
int ScreenStripeHeight[MAX_SCREENS - 1] = {0, 0}; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
128 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
129 |
static HotKeyRec hotkey = {FALSE, 0, 0, 0, 0}; |
73
8877ee2f6c6d
6473751 [tjds] image capture in tjds is corrupt
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
64
diff
changeset
|
130 |
|
8877ee2f6c6d
6473751 [tjds] image capture in tjds is corrupt
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
64
diff
changeset
|
131 |
int tsolMultiLevel = TRUE; |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
132 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
133 |
int OwnerUIDint; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
134 |
extern uid_t OwnerUID; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
135 |
uid_t PublicObjUID = 0; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
136 |
extern WindowPtr tpwin; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
137 |
extern bclear_t SessionHI; /* HI Clearance */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
138 |
extern bclear_t SessionLO; /* LO Clearance */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
139 |
extern TsolPolyInstInfoRec tsolpolyinstinfo; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
140 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
141 |
extern void LoadTsolConfig(void); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
142 |
extern void MakeTSOLAtoms(void); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
143 |
extern void UpdateTsolNode(void); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
144 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
145 |
int (*TsolSavedProcVector[PROCVECTORSIZE])(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
146 |
int (*TsolSavedSwappedProcVector[PROCVECTORSIZE])(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
147 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
148 |
extern SecurityHookPtr pSecHook; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
149 |
SecurityHook tsolSecHook; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
150 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
151 |
XID TsolCheckAuthorization (unsigned int name_length, |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
152 |
char *name, unsigned int data_length, |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
153 |
char *data, ClientPtr client, char **reason); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
154 |
void TsolDeleteClientFromAnySelections(ClientPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
155 |
void TsolDeleteWindowFromAnySelections(WindowPtr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
156 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
157 |
extern int TsolChangeWindowProperty(ClientPtr, WindowPtr, Atom, Atom, int, int, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
158 |
unsigned long, pointer, Bool); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
159 |
extern int TsolDeleteProperty(ClientPtr, WindowPtr, Atom); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
160 |
extern int TsolInitWindow(ClientPtr, WindowPtr); |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
161 |
static void TsolSetClientInfo(ClientPtr client); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
162 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
163 |
/* XACE hook callbacks */ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
164 |
static CALLBACK(TsolCheckExtensionAccess); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
165 |
static CALLBACK(TsolCheckPropertyAccess); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
166 |
static CALLBACK(TsolCheckResourceIDAccess); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
167 |
static CALLBACK(TsolProcessKeyboard); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
168 |
extern CALLBACK(TsolAuditStart); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
169 |
extern CALLBACK(TsolAuditEnd); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
170 |
|
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
171 |
/* other callbacks */ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
172 |
static CALLBACK(TsolClientStateCallback); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
173 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
174 |
extern int ProcTsolInternAtom(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
175 |
extern int ProcTsolSetSelectionOwner(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
176 |
extern int ProcTsolGetSelectionOwner(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
177 |
extern int ProcTsolConvertSelection(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
178 |
extern int ProcTsolGetProperty(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
179 |
extern int ProcTsolListProperties(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
180 |
extern int ProcTsolChangeKeyboardMapping(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
181 |
extern int ProcTsolSetPointerMapping(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
182 |
extern int ProcTsolChangeKeyboardControl(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
183 |
extern int ProcTsolBell(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
184 |
extern int ProcTsolChangePointerControl(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
185 |
extern int ProcTsolSetModifierMapping(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
186 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
187 |
extern int ProcTsolCreateWindow(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
188 |
extern int ProcTsolChangeWindowAttributes(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
189 |
extern int ProcTsolConfigureWindow(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
190 |
extern int ProcTsolCirculateWindow(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
191 |
extern int ProcTsolReparentWindow(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
192 |
extern int ProcTsolSetInputFocus(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
193 |
extern int ProcTsolGetInputFocus(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
194 |
extern int ProcTsolSendEvent(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
195 |
extern int ProcTsolSetInputFocus(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
196 |
extern int ProcTsolGetInputFocus(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
197 |
extern int ProcTsolGetGeometry(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
198 |
extern int ProcTsolGrabServer(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
199 |
extern int ProcTsolUngrabServer(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
200 |
extern int ProcTsolCreatePixmap(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
201 |
extern int ProcTsolSetScreenSaver(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
202 |
extern int ProcTsolChangeHosts(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
203 |
extern int ProcTsolChangeAccessControl(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
204 |
extern int ProcTsolKillClient(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
205 |
extern int ProcTsolSetFontPath(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
206 |
extern int ProcTsolChangeCloseDownMode(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
207 |
extern int ProcTsolListInstalledColormaps(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
208 |
extern int ProcTsolGetImage(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
209 |
extern int ProcTsolQueryTree(ClientPtr client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
210 |
extern int ProcTsolQueryPointer(ClientPtr client); |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
211 |
extern int ProcTsolQueryExtension(ClientPtr client); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
212 |
extern int ProcTsolListExtensions(ClientPtr client); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
213 |
extern int ProcTsolMapWindow(ClientPtr client); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
214 |
extern int ProcTsolMapSubwindows(ClientPtr client); |
64
c03273ff2fb9
6426302 [tjds] capturing screen using sdtimage crashes Xserver
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
36
diff
changeset
|
215 |
extern int ProcTsolCopyArea(ClientPtr client); |
c03273ff2fb9
6426302 [tjds] capturing screen using sdtimage crashes Xserver
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
36
diff
changeset
|
216 |
extern int ProcTsolCopyPlane(ClientPtr client); |
c03273ff2fb9
6426302 [tjds] capturing screen using sdtimage crashes Xserver
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
36
diff
changeset
|
217 |
extern int ProcTsolPolySegment(ClientPtr client); |
c03273ff2fb9
6426302 [tjds] capturing screen using sdtimage crashes Xserver
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
36
diff
changeset
|
218 |
extern int ProcTsolPolyRectangle(ClientPtr client); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
219 |
|
196
b7c1d614eb84
Trusted Extensions bug fixes:
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
168
diff
changeset
|
220 |
extern int TsolPanoramiXGetGeometry(ClientPtr client); |
b7c1d614eb84
Trusted Extensions bug fixes:
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
168
diff
changeset
|
221 |
|
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
222 |
/* |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
223 |
* Initialize the extension. Main entry point for this loadable |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
224 |
* module. |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
225 |
*/ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
226 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
227 |
void |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
228 |
TsolExtensionInit(void) |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
229 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
230 |
ExtensionEntry *extEntry; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
231 |
int i; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
232 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
233 |
/* sleep(20); */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
234 |
|
228
8dbd87ab7cce
6604583 TsolExtensionInit: cannot load X Trusted Extensions error message showing up when time server starts
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
196
diff
changeset
|
235 |
/* This extension is supported on a labeled system */ |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
236 |
if (!is_system_labeled()) { |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
237 |
return; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
238 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
239 |
|
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
240 |
tsolMultiLevel = TRUE; |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
241 |
(void) setpflags(PRIV_AWARE, 1); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
242 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
243 |
init_xtsol(); |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
244 |
init_win_privsets(); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
245 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
246 |
extEntry = AddExtension(TSOLNAME, TSOL_NUM_EVENTS, TSOL_NUM_ERRORS, |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
247 |
ProcTsolDispatch, SProcTsolDispatch, TsolReset, |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
248 |
StandardMinorOpcode); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
249 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
250 |
if (extEntry == NULL) { |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
251 |
ErrorF("TsolExtensionInit: AddExtension failed for X Trusted Extensions\n"); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
252 |
return; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
253 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
254 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
255 |
TsolReqCode = (unsigned char) extEntry->base; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
256 |
tsolEventBase = extEntry->eventBase; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
257 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
258 |
if (!AddCallback(&ClientStateCallback, TsolClientStateCallback, NULL)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
259 |
return; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
260 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
261 |
/* Allocate storage in devPrivates */ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
262 |
if (!dixRequestPrivate(tsolPrivKey, sizeof (TsolPrivRec))) { |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
263 |
ErrorF("TsolExtensionInit: Cannot allocate devPrivate.\n"); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
264 |
return; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
265 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
266 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
267 |
LoadTsolConfig(); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
268 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
269 |
MakeTSOLAtoms(); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
270 |
UpdateTsolNode(); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
271 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
272 |
/* Initialize security hooks */ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
273 |
tsolSecHook.CheckAuthorization = TsolCheckAuthorization; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
274 |
tsolSecHook.ChangeWindowProperty = TsolChangeWindowProperty; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
275 |
tsolSecHook.DeleteProperty = TsolDeleteProperty; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
276 |
tsolSecHook.DeleteClientFromAnySelections = TsolDeleteClientFromAnySelections; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
277 |
tsolSecHook.DeleteWindowFromAnySelections = TsolDeleteWindowFromAnySelections; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
278 |
pSecHook = &tsolSecHook; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
279 |
|
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
280 |
XaceRegisterCallback(XACE_RESOURCE_ACCESS, TsolCheckResourceIDAccess, |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
281 |
NULL); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
282 |
XaceRegisterCallback(XACE_PROPERTY_ACCESS, TsolCheckPropertyAccess, |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
283 |
NULL); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
284 |
XaceRegisterCallback(XACE_EXT_ACCESS, TsolCheckExtensionAccess, NULL); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
285 |
XaceRegisterCallback(XACE_KEY_AVAIL, TsolProcessKeyboard, NULL); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
286 |
XaceRegisterCallback(XACE_AUDIT_BEGIN, TsolAuditStart, NULL); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
287 |
XaceRegisterCallback(XACE_AUDIT_END, TsolAuditEnd, NULL); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
288 |
|
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
289 |
/* Save original Proc vectors */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
290 |
for (i = 0; i < PROCVECTORSIZE; i++) { |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
291 |
TsolSavedProcVector[i] = ProcVector[i]; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
292 |
TsolSavedSwappedProcVector[i] = SwappedProcVector[i]; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
293 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
294 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
295 |
/* Replace some of the original Proc vectors with our own TBD */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
296 |
ProcVector[X_InternAtom] = ProcTsolInternAtom; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
297 |
ProcVector[X_SetSelectionOwner] = ProcTsolSetSelectionOwner; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
298 |
ProcVector[X_GetSelectionOwner] = ProcTsolGetSelectionOwner; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
299 |
ProcVector[X_ConvertSelection] = ProcTsolConvertSelection; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
300 |
ProcVector[X_GetProperty] = ProcTsolGetProperty; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
301 |
ProcVector[X_ListProperties] = ProcTsolListProperties; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
302 |
ProcVector[X_ChangeKeyboardMapping] = ProcTsolChangeKeyboardMapping; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
303 |
ProcVector[X_SetPointerMapping] = ProcTsolSetPointerMapping; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
304 |
ProcVector[X_ChangeKeyboardControl] = ProcTsolChangeKeyboardControl; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
305 |
ProcVector[X_Bell] = ProcTsolBell; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
306 |
ProcVector[X_ChangePointerControl] = ProcTsolChangePointerControl; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
307 |
ProcVector[X_SetModifierMapping] = ProcTsolSetModifierMapping; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
308 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
309 |
ProcVector[X_CreateWindow] = ProcTsolCreateWindow; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
310 |
ProcVector[X_ChangeWindowAttributes] = ProcTsolChangeWindowAttributes; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
311 |
ProcVector[X_ConfigureWindow] = ProcTsolConfigureWindow; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
312 |
ProcVector[X_CirculateWindow] = ProcTsolCirculateWindow; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
313 |
ProcVector[X_ReparentWindow] = ProcTsolReparentWindow; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
314 |
ProcVector[X_SetInputFocus] = ProcTsolSetInputFocus; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
315 |
ProcVector[X_GetInputFocus] = ProcTsolGetInputFocus; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
316 |
ProcVector[X_SendEvent] = ProcTsolSendEvent; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
317 |
ProcVector[X_SetInputFocus] = ProcTsolSetInputFocus; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
318 |
ProcVector[X_GetInputFocus] = ProcTsolGetInputFocus; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
319 |
ProcVector[X_GetGeometry] = ProcTsolGetGeometry; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
320 |
ProcVector[X_GrabServer] = ProcTsolGrabServer; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
321 |
ProcVector[X_UngrabServer] = ProcTsolUngrabServer; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
322 |
ProcVector[X_CreatePixmap] = ProcTsolCreatePixmap; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
323 |
ProcVector[X_SetScreenSaver] = ProcTsolSetScreenSaver; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
324 |
ProcVector[X_ChangeHosts] = ProcTsolChangeHosts; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
325 |
ProcVector[X_SetAccessControl] = ProcTsolChangeAccessControl; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
326 |
ProcVector[X_KillClient] = ProcTsolKillClient; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
327 |
ProcVector[X_SetFontPath] = ProcTsolSetFontPath; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
328 |
ProcVector[X_SetCloseDownMode] = ProcTsolChangeCloseDownMode; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
329 |
ProcVector[X_ListInstalledColormaps] = ProcTsolListInstalledColormaps; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
330 |
ProcVector[X_GetImage] = ProcTsolGetImage; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
331 |
ProcVector[X_QueryTree] = ProcTsolQueryTree; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
332 |
ProcVector[X_QueryPointer] = ProcTsolQueryPointer; |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
333 |
ProcVector[X_QueryExtension] = ProcTsolQueryExtension; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
334 |
ProcVector[X_ListExtensions] = ProcTsolListExtensions; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
335 |
ProcVector[X_MapWindow] = ProcTsolMapWindow; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
336 |
ProcVector[X_MapSubwindows] = ProcTsolMapSubwindows; |
64
c03273ff2fb9
6426302 [tjds] capturing screen using sdtimage crashes Xserver
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
36
diff
changeset
|
337 |
ProcVector[X_CopyArea] = ProcTsolCopyArea; |
c03273ff2fb9
6426302 [tjds] capturing screen using sdtimage crashes Xserver
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
36
diff
changeset
|
338 |
ProcVector[X_CopyPlane] = ProcTsolCopyPlane; |
c03273ff2fb9
6426302 [tjds] capturing screen using sdtimage crashes Xserver
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
36
diff
changeset
|
339 |
ProcVector[X_PolySegment] = ProcTsolPolySegment; |
c03273ff2fb9
6426302 [tjds] capturing screen using sdtimage crashes Xserver
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
36
diff
changeset
|
340 |
ProcVector[X_PolyRectangle] = ProcTsolPolyRectangle; |
196
b7c1d614eb84
Trusted Extensions bug fixes:
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
168
diff
changeset
|
341 |
|
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
342 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
343 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
344 |
static CALLBACK( |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
345 |
TsolCheckResourceIDAccess) |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
346 |
{ |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
347 |
XaceResourceAccessRec *rec = calldata; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
348 |
ClientPtr client = rec->client; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
349 |
XID id = rec->id; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
350 |
RESTYPE rtype = rec->rtype; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
351 |
pointer rval = rec->res; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
352 |
Mask access_mode = rec->access_mode; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
353 |
|
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
354 |
int cid = CLIENT_ID(id); |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
355 |
int reqtype; |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
356 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
357 |
if (client->requestBuffer) { |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
358 |
reqtype = MAJOROP; /* protocol */ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
359 |
} else { |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
360 |
reqtype = -1; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
361 |
} |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
362 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
363 |
switch (rtype) { |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
364 |
case RT_GC: |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
365 |
if (access_mode & DixReadAccess) { |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
366 |
if (xtsol_policy(TSOL_RES_GC, TSOL_READ, (void *)id, |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
367 |
client, TSOL_ALL, (void *)MAJOROP)) |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
368 |
rec->status = BadAccess; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
369 |
} |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
370 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
371 |
if (access_mode & DixWriteAccess) { |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
372 |
if (xtsol_policy(TSOL_RES_GC, TSOL_MODIFY, (void *)id, |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
373 |
client, TSOL_ALL, (void *)MAJOROP)) |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
374 |
rec->status = BadAccess; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
375 |
} |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
376 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
377 |
if (access_mode & DixDestroyAccess) { |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
378 |
if (xtsol_policy(TSOL_RES_GC, TSOL_DESTROY, (void *)id, |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
379 |
client, TSOL_ALL, (void *)MAJOROP)) |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
380 |
rec->status = BadAccess; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
381 |
} |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
382 |
break; |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
383 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
384 |
case RT_WINDOW: /* Drawables */ |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
385 |
if (access_mode & DixCreateAccess) { |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
386 |
/* Replaces InitWindow hook */ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
387 |
TsolInitWindow(client, (WindowPtr) rval); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
388 |
} |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
389 |
/* The rest falls through to code shared with RT_PIXMAP */ |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
390 |
case RT_PIXMAP: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
391 |
/* Drawing operations use pixel access policy */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
392 |
switch (reqtype) { |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
393 |
case X_PolyPoint: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
394 |
case X_PolyLine: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
395 |
case X_PolyArc: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
396 |
case X_FillPoly: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
397 |
case X_PolyFillRectangle: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
398 |
case X_PolyFillArc: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
399 |
case X_PutImage: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
400 |
case X_PolyText8: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
401 |
case X_PolyText16: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
402 |
case X_ImageText8: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
403 |
case X_ImageText16: |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
404 |
if (access_mode & DixReadAccess) { |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
405 |
if (xtsol_policy(TSOL_RES_PIXEL, TSOL_READ, |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
406 |
(void *)rval, client, TSOL_ALL, |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
407 |
(void *)MAJOROP)) |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
408 |
rec->status = BadAccess; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
409 |
} |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
410 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
411 |
if (access_mode & DixWriteAccess) { |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
412 |
if (xtsol_policy(TSOL_RES_PIXEL, TSOL_MODIFY, |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
413 |
(void *)rval, client, TSOL_ALL, |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
414 |
(void *)MAJOROP)) |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
415 |
rec->status = BadAccess; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
416 |
} |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
417 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
418 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
419 |
/* Property protocols */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
420 |
case X_ChangeProperty: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
421 |
case X_DeleteProperty: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
422 |
case X_GetProperty: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
423 |
case X_ListProperties: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
424 |
case X_RotateProperties: |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
425 |
if (access_mode & DixReadAccess) { |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
426 |
if (xtsol_policy(TSOL_RES_PROPWIN, TSOL_READ, |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
427 |
(void *)rval, client, TSOL_ALL, |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
428 |
(void *)MAJOROP)) |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
429 |
rec->status = BadAccess; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
430 |
} |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
431 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
432 |
if (access_mode & DixWriteAccess) { |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
433 |
if (xtsol_policy(TSOL_RES_PROPWIN, TSOL_MODIFY, |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
434 |
(void *)rval, client, TSOL_ALL, |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
435 |
(void *)MAJOROP)) |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
436 |
rec->status = BadAccess; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
437 |
} |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
438 |
break; |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
439 |
} |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
440 |
break; |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
441 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
442 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
443 |
if (rec->status == BadAccess) { |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
444 |
TsolInfoPtr tsolinfo = GetClientTsolInfo(client); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
445 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
446 |
ErrorF("Access failed: cid = %d, rtype=%X, access=%d," |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
447 |
" xid=%X, proto = %d, pid = %d\n", |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
448 |
cid, (uint_t) rtype, access_mode, id, reqtype, tsolinfo->pid); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
449 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
450 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
451 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
452 |
static |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
453 |
CALLBACK(TsolClientStateCallback) |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
454 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
455 |
NewClientInfoRec *pci = (NewClientInfoRec *)calldata; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
456 |
ClientPtr client = pci->client; |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
457 |
TsolInfoPtr tsolinfo = TsolClientPriv(client); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
458 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
459 |
switch (client->clientState) { |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
460 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
461 |
case ClientStateInitial: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
462 |
/* Got a new connection */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
463 |
TsolSetClientInfo(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
464 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
465 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
466 |
case ClientStateRunning: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
467 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
468 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
469 |
case ClientStateRetained: /* client disconnected */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
470 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
471 |
case ClientStateGone: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
472 |
if (tpwin && wClient(tpwin) == client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
473 |
tpwin = NULL; /* reset tpwin */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
474 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
475 |
if (tsolinfo != NULL && tsolinfo->privs != NULL) { |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
476 |
priv_freeset(tsolinfo->privs); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
477 |
} |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
478 |
/* Audit disconnect */ |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
479 |
if (system_audit_on && (au_preselect(AUE_ClientDisconnect, &(tsolinfo->amask), |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
480 |
AU_PRS_BOTH, AU_PRS_USECACHE) == 1)) { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
481 |
auditwrite(AW_PRESELECT, &(tsolinfo->amask),AW_END); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
482 |
auditwrite(AW_EVENTNUM, AUE_ClientDisconnect, |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
483 |
AW_XCLIENT, client->index, |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
484 |
AW_SLABEL, tsolinfo->sl, |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
485 |
AW_RETURN, 0, 0, AW_WRITE, AW_END); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
486 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
487 |
tsolinfo->flags &= ~TSOL_DOXAUDIT; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
488 |
tsolinfo->flags &= ~TSOL_AUDITEVENT; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
489 |
auditwrite(AW_FLUSH, AW_END); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
490 |
auditwrite(AW_DISCARDRD, tsolinfo->asaverd, AW_END); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
491 |
auditwrite(AW_NOPRESELECT, AW_END); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
492 |
} |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
493 |
break; |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
494 |
|
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
495 |
default: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
496 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
497 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
498 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
499 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
500 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
501 |
static void |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
502 |
TsolReset(ExtensionEntry *extension) |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
503 |
{ |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
504 |
free_win_privsets(); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
505 |
XaceDeleteCallback(XACE_RESOURCE_ACCESS, TsolCheckResourceIDAccess, NULL); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
506 |
XaceDeleteCallback(XACE_PROPERTY_ACCESS, TsolCheckPropertyAccess, NULL); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
507 |
XaceDeleteCallback(XACE_EXT_ACCESS, TsolCheckExtensionAccess, NULL); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
508 |
XaceDeleteCallback(XACE_KEY_AVAIL, TsolProcessKeyboard, NULL); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
509 |
XaceDeleteCallback(XACE_AUDIT_BEGIN, TsolAuditStart, NULL); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
510 |
XaceDeleteCallback(XACE_AUDIT_END, TsolAuditEnd, NULL); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
511 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
512 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
513 |
/* |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
514 |
* Dispatch routine |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
515 |
* |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
516 |
*/ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
517 |
static int |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
518 |
ProcTsolDispatch(register ClientPtr client) |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
519 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
520 |
int retval; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
521 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
522 |
REQUEST(xReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
523 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
524 |
switch (stuff->data) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
525 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
526 |
case X_SetPolyInstInfo: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
527 |
retval = ProcSetPolyInstInfo(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
528 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
529 |
case X_SetPropLabel: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
530 |
retval = ProcSetPropLabel(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
531 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
532 |
case X_SetPropUID: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
533 |
retval = ProcSetPropUID(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
534 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
535 |
case X_SetResLabel: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
536 |
retval = ProcSetResLabel(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
537 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
538 |
case X_SetResUID: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
539 |
retval = ProcSetResUID(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
540 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
541 |
case X_GetClientAttributes: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
542 |
retval = ProcGetClientAttributes(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
543 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
544 |
case X_GetClientLabel: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
545 |
retval = ProcGetClientLabel(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
546 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
547 |
case X_GetPropAttributes: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
548 |
retval = ProcGetPropAttributes(client); |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
549 |
break; |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
550 |
case X_GetResAttributes: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
551 |
retval = ProcGetResAttributes(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
552 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
553 |
case X_MakeTPWindow: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
554 |
retval = ProcMakeTPWindow(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
555 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
556 |
case X_MakeTrustedWindow: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
557 |
retval = ProcMakeTrustedWindow(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
558 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
559 |
case X_MakeUntrustedWindow: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
560 |
retval = ProcMakeUntrustedWindow(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
561 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
562 |
default: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
563 |
SendErrorToClient(client, TsolReqCode, stuff->data, 0, BadRequest); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
564 |
retval = BadRequest; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
565 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
566 |
return (retval); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
567 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
568 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
569 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
570 |
static int |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
571 |
SProcTsolDispatch(register ClientPtr client) |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
572 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
573 |
int n; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
574 |
int retval; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
575 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
576 |
REQUEST(xReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
577 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
578 |
swaps(&stuff->length, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
579 |
switch (stuff->data) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
580 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
581 |
case X_SetPolyInstInfo: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
582 |
retval = SProcSetPolyInstInfo(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
583 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
584 |
case X_SetPropLabel: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
585 |
retval = SProcSetPropLabel(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
586 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
587 |
case X_SetPropUID: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
588 |
retval = SProcSetPropUID(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
589 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
590 |
case X_SetResLabel: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
591 |
retval = SProcSetResLabel(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
592 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
593 |
case X_SetResUID: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
594 |
retval = SProcSetResUID(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
595 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
596 |
case X_GetClientAttributes: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
597 |
retval = SProcGetClientAttributes(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
598 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
599 |
case X_GetClientLabel: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
600 |
retval = SProcGetClientLabel(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
601 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
602 |
case X_GetPropAttributes: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
603 |
retval = SProcGetPropAttributes(client); |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
604 |
break; |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
605 |
case X_GetResAttributes: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
606 |
retval = SProcGetResAttributes(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
607 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
608 |
case X_MakeTPWindow: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
609 |
retval = SProcMakeTPWindow(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
610 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
611 |
case X_MakeTrustedWindow: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
612 |
retval = SProcMakeTrustedWindow(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
613 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
614 |
case X_MakeUntrustedWindow: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
615 |
retval = SProcMakeUntrustedWindow(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
616 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
617 |
default: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
618 |
SendErrorToClient(client, TsolReqCode, stuff->data, 0, BadRequest); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
619 |
retval = BadRequest; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
620 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
621 |
return (retval); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
622 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
623 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
624 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
625 |
/* |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
626 |
* Individual routines |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
627 |
*/ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
628 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
629 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
630 |
SProcSetPolyInstInfo(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
631 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
632 |
int n; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
633 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
634 |
REQUEST(xSetPolyInstInfoReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
635 |
swapl(&stuff->uid, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
636 |
swapl(&stuff->enabled, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
637 |
swaps(&stuff->sllength, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
638 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
639 |
return (ProcSetPolyInstInfo(client)); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
640 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
641 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
642 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
643 |
SProcSetPropLabel(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
644 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
645 |
int n; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
646 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
647 |
REQUEST(xSetPropLabelReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
648 |
swapl(&stuff->id, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
649 |
swapl(&stuff->atom, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
650 |
swaps(&stuff->labelType, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
651 |
swaps(&stuff->sllength, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
652 |
swaps(&stuff->illength, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
653 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
654 |
return (ProcSetPropLabel(client)); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
655 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
656 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
657 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
658 |
SProcSetPropUID(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
659 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
660 |
int n; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
661 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
662 |
REQUEST(xSetPropUIDReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
663 |
swapl(&stuff->id, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
664 |
swapl(&stuff->atom, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
665 |
swapl(&stuff->uid, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
666 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
667 |
return (ProcSetPropUID(client)); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
668 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
669 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
670 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
671 |
SProcSetResLabel(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
672 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
673 |
int n; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
674 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
675 |
REQUEST(xSetResLabelReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
676 |
swapl(&stuff->id, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
677 |
swaps(&stuff->resourceType, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
678 |
swaps(&stuff->labelType, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
679 |
swaps(&stuff->sllength, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
680 |
swaps(&stuff->illength, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
681 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
682 |
return (ProcSetResLabel(client)); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
683 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
684 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
685 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
686 |
SProcSetResUID(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
687 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
688 |
int n; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
689 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
690 |
REQUEST(xSetResUIDReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
691 |
swapl(&stuff->id, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
692 |
swaps(&stuff->resourceType, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
693 |
swapl(&stuff->uid, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
694 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
695 |
return (ProcSetResUID(client)); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
696 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
697 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
698 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
699 |
SProcGetClientAttributes(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
700 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
701 |
int n; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
702 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
703 |
REQUEST(xGetClientAttributesReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
704 |
swapl(&stuff->id, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
705 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
706 |
return (ProcGetClientAttributes(client)); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
707 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
708 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
709 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
710 |
SProcGetClientLabel(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
711 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
712 |
int n; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
713 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
714 |
REQUEST(xGetClientLabelReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
715 |
swapl(&stuff->id, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
716 |
swaps(&stuff->mask, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
717 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
718 |
return (ProcGetClientLabel(client)); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
719 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
720 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
721 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
722 |
SProcGetPropAttributes(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
723 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
724 |
int n; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
725 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
726 |
REQUEST(xGetPropAttributesReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
727 |
swapl(&stuff->id, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
728 |
swapl(&stuff->atom, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
729 |
swaps(&stuff->mask, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
730 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
731 |
return (ProcGetPropAttributes(client)); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
732 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
733 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
734 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
735 |
SProcGetResAttributes(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
736 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
737 |
int n; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
738 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
739 |
REQUEST(xGetResAttributesReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
740 |
swapl(&stuff->id, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
741 |
swaps(&stuff->resourceType, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
742 |
swaps(&stuff->mask, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
743 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
744 |
return (ProcGetResAttributes(client)); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
745 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
746 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
747 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
748 |
SProcMakeTPWindow(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
749 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
750 |
int n; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
751 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
752 |
REQUEST(xMakeTPWindowReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
753 |
swapl(&stuff->id, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
754 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
755 |
return (ProcMakeTPWindow(client)); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
756 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
757 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
758 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
759 |
SProcMakeTrustedWindow(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
760 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
761 |
int n; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
762 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
763 |
REQUEST(xMakeTrustedWindowReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
764 |
swapl(&stuff->id, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
765 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
766 |
return (ProcMakeTrustedWindow(client)); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
767 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
768 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
769 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
770 |
SProcMakeUntrustedWindow(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
771 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
772 |
int n; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
773 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
774 |
REQUEST(xMakeUntrustedWindowReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
775 |
swapl(&stuff->id, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
776 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
777 |
return (ProcMakeUntrustedWindow(client)); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
778 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
779 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
780 |
/* |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
781 |
* Set PolyInstantiation Info. |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
782 |
* Normally a get(prop) will |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
783 |
* get the prop. that has match sl, uid of the client. Setting |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
784 |
* enabled to true will get only the prop. corresponding to |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
785 |
* sl, uid specified instead of that of client. This is used |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
786 |
* by dtwm/dtfile in special motif lib. |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
787 |
*/ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
788 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
789 |
ProcSetPolyInstInfo(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
790 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
791 |
bslabel_t *sl; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
792 |
int err_code; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
793 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
794 |
REQUEST(xSetPolyInstInfoReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
795 |
REQUEST_AT_LEAST_SIZE(xSetPolyInstInfoReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
796 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
797 |
/* |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
798 |
* Check for policy here |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
799 |
*/ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
800 |
if (err_code = xtsol_policy(TSOL_RES_POLYINFO, TSOL_MODIFY, NULL, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
801 |
client, TSOL_ALL, (void *)MAJOROP)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
802 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
803 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
804 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
805 |
sl = (bslabel_t *)(stuff + 1); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
806 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
807 |
tsolpolyinstinfo.enabled = stuff->enabled; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
808 |
tsolpolyinstinfo.uid = (uid_t) stuff->uid; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
809 |
tsolpolyinstinfo.sl = lookupSL(sl); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
810 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
811 |
return (client->noClientException); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
812 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
813 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
814 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
815 |
ProcSetPropLabel(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
816 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
817 |
bslabel_t *sl; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
818 |
WindowPtr pWin; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
819 |
TsolPropPtr tsolprop; |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
820 |
TsolPropPtr *tsolpropP; |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
821 |
PropertyPtr pProp; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
822 |
int err_code; |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
823 |
|
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
824 |
REQUEST(xSetPropLabelReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
825 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
826 |
REQUEST_AT_LEAST_SIZE(xSetPropLabelReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
827 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
828 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
829 |
pWin = LookupWindow(stuff->id, client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
830 |
if (!pWin) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
831 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
832 |
client->errorValue = stuff->id; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
833 |
return (BadWindow); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
834 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
835 |
if (err_code = xtsol_policy(TSOL_RES_WINDOW, TSOL_MODIFY, pWin, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
836 |
client, TSOL_ALL, (void *)MAJOROP)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
837 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
838 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
839 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
840 |
if (!ValidAtom(stuff->atom)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
841 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
842 |
client->errorValue = stuff->atom; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
843 |
return (BadAtom); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
844 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
845 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
846 |
/* first see if property already exists */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
847 |
pProp = wUserProps (pWin); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
848 |
while (pProp) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
849 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
850 |
if (pProp->propertyName == stuff->atom) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
851 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
852 |
pProp = pProp->next; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
853 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
854 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
855 |
if (!pProp) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
856 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
857 |
/* property does not exist */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
858 |
client->errorValue = stuff->atom; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
859 |
return (BadAtom); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
860 |
} |
168
7e5ba43e5235
6446010 Xtsol.h does not include X11/Xlib.h to define Bool
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
98
diff
changeset
|
861 |
|
7e5ba43e5235
6446010 Xtsol.h does not include X11/Xlib.h to define Bool
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
98
diff
changeset
|
862 |
/* Initialize property created internally by server */ |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
863 |
tsolpropP = TsolPropertyPriv(pProp); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
864 |
if (*tsolpropP == NULL) |
168
7e5ba43e5235
6446010 Xtsol.h does not include X11/Xlib.h to define Bool
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
98
diff
changeset
|
865 |
{ |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
866 |
*tsolpropP = (pointer)AllocServerTsolProp(); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
867 |
if (*tsolpropP == NULL) |
168
7e5ba43e5235
6446010 Xtsol.h does not include X11/Xlib.h to define Bool
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
98
diff
changeset
|
868 |
return(BadAlloc); |
7e5ba43e5235
6446010 Xtsol.h does not include X11/Xlib.h to define Bool
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
98
diff
changeset
|
869 |
} |
7e5ba43e5235
6446010 Xtsol.h does not include X11/Xlib.h to define Bool
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
98
diff
changeset
|
870 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
871 |
tsolprop = *tsolpropP; |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
872 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
873 |
sl = (bslabel_t *)(stuff + 1); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
874 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
875 |
if (!blequal(tsolprop->sl, sl)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
876 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
877 |
if (err_code = xtsol_policy(TSOL_RES_SL, TSOL_MODIFY, sl, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
878 |
client, TSOL_ALL, tsolprop->sl)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
879 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
880 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
881 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
882 |
tsolprop->sl = lookupSL(sl); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
883 |
} |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
884 |
|
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
885 |
return (client->noClientException); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
886 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
887 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
888 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
889 |
ProcSetPropUID(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
890 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
891 |
WindowPtr pWin; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
892 |
TsolPropPtr tsolprop; |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
893 |
TsolPropPtr *tsolpropP; |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
894 |
PropertyPtr pProp; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
895 |
int err_code; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
896 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
897 |
REQUEST(xSetPropUIDReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
898 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
899 |
REQUEST_SIZE_MATCH(xSetPropUIDReq); |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
900 |
|
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
901 |
pWin = LookupWindow(stuff->id, client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
902 |
if (!pWin) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
903 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
904 |
client->errorValue = stuff->id; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
905 |
return (BadWindow); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
906 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
907 |
if (err_code = xtsol_policy(TSOL_RES_WINDOW, TSOL_MODIFY, pWin, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
908 |
client, TSOL_ALL, (void *)MAJOROP)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
909 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
910 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
911 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
912 |
if (!ValidAtom(stuff->atom)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
913 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
914 |
client->errorValue = stuff->atom; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
915 |
return (BadAtom); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
916 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
917 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
918 |
/* first see if property already exists */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
919 |
pProp = wUserProps (pWin); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
920 |
while (pProp) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
921 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
922 |
if (pProp->propertyName == stuff->atom) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
923 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
924 |
pProp = pProp->next; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
925 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
926 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
927 |
if (!pProp) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
928 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
929 |
/* property does not exist */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
930 |
client->errorValue = stuff->atom; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
931 |
return (BadAtom); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
932 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
933 |
if (err_code = xtsol_policy(TSOL_RES_UID, TSOL_MODIFY, NULL, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
934 |
client, TSOL_ALL, (void *)MAJOROP)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
935 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
936 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
937 |
} |
168
7e5ba43e5235
6446010 Xtsol.h does not include X11/Xlib.h to define Bool
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
98
diff
changeset
|
938 |
/* Initialize property created internally by server */ |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
939 |
tsolpropP = TsolPropertyPriv(pProp); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
940 |
if (*tsolpropP == NULL) |
168
7e5ba43e5235
6446010 Xtsol.h does not include X11/Xlib.h to define Bool
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
98
diff
changeset
|
941 |
{ |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
942 |
*tsolpropP = AllocServerTsolProp(); |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
943 |
if (*tsolpropP == NULL) |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
944 |
return (BadAlloc); |
168
7e5ba43e5235
6446010 Xtsol.h does not include X11/Xlib.h to define Bool
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
98
diff
changeset
|
945 |
} |
7e5ba43e5235
6446010 Xtsol.h does not include X11/Xlib.h to define Bool
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
98
diff
changeset
|
946 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
947 |
tsolprop = *tsolpropP; |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
948 |
tsolprop->uid = stuff->uid; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
949 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
950 |
return (client->noClientException); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
951 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
952 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
953 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
954 |
ProcSetResLabel(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
955 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
956 |
bslabel_t *sl; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
957 |
PixmapPtr pMap; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
958 |
WindowPtr pWin; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
959 |
xEvent message; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
960 |
TsolResPtr tsolres; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
961 |
int err_code; |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
962 |
|
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
963 |
REQUEST(xSetResLabelReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
964 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
965 |
REQUEST_AT_LEAST_SIZE(xSetResLabelReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
966 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
967 |
sl = (bslabel_t *)(stuff + 1); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
968 |
switch (stuff->resourceType) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
969 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
970 |
case SESSIONHI: /* set server session HI */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
971 |
if (err_code = xtsol_policy(TSOL_RES_SL, TSOL_MODIFY, sl, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
972 |
client, TSOL_ALL, (void *)NULL)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
973 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
974 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
975 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
976 |
memcpy(&SessionHI, sl, SL_SIZE); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
977 |
return (client->noClientException); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
978 |
case SESSIONLO: /* set server session LO */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
979 |
if (err_code = xtsol_policy(TSOL_RES_SL, TSOL_MODIFY, sl, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
980 |
client, TSOL_ALL, (void *)NULL)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
981 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
982 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
983 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
984 |
memcpy(&SessionLO, sl, SL_SIZE); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
985 |
return (client->noClientException); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
986 |
case IsWindow: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
987 |
pWin = LookupWindow(stuff->id, client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
988 |
if (pWin) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
989 |
{ |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
990 |
tsolres = TsolWindowPriv(pWin); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
991 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
992 |
else |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
993 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
994 |
client->errorValue = stuff->id; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
995 |
return (BadWindow); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
996 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
997 |
if (err_code = xtsol_policy(TSOL_RES_WINDOW, TSOL_MODIFY, pWin, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
998 |
client, TSOL_ALL, (void *)MAJOROP)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
999 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1000 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1001 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1002 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1003 |
case IsPixmap: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1004 |
pMap = (PixmapPtr)LookupIDByType(stuff->id, RT_PIXMAP); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1005 |
if (pMap) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1006 |
{ |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1007 |
tsolres = TsolPixmapPriv(pMap); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1008 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1009 |
else |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1010 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1011 |
client->errorValue = stuff->id; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1012 |
return (BadPixmap); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1013 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1014 |
if (err_code = xtsol_policy(TSOL_RES_PIXMAP, TSOL_MODIFY, pMap, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1015 |
client, TSOL_ALL, (void *)MAJOROP)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1016 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1017 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1018 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1019 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1020 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1021 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1022 |
if (!blequal(tsolres->sl, sl)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1023 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1024 |
if (err_code = xtsol_policy(TSOL_RES_SL, TSOL_MODIFY, sl, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1025 |
client, TSOL_ALL, tsolres->sl)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1026 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1027 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1028 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1029 |
tsolres->sl = lookupSL(sl); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1030 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1031 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1032 |
/* generate the notify event for windows */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1033 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1034 |
if (stuff->resourceType == IsWindow) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1035 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1036 |
pWin = LookupWindow(stuff->id, client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1037 |
message.u.u.type = ClientMessage; /* 33 */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1038 |
message.u.u.detail = 32; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1039 |
message.u.clientMessage.window = RootOf(pWin); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1040 |
message.u.clientMessage.u.l.type = |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1041 |
MakeAtom("_TSOL_CMWLABEL_CHANGE", 21, 1); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1042 |
message.u.clientMessage.u.l.longs0 = RootOfClient(pWin); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1043 |
message.u.clientMessage.u.l.longs1 = stuff->id; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1044 |
DeliverEventsToWindow(pWin, &message, 1, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1045 |
SubstructureRedirectMask, NullGrab, 0); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1046 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1047 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1048 |
return (client->noClientException); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1049 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1050 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1051 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1052 |
ProcSetResUID(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1053 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1054 |
int ScreenNumber; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1055 |
PixmapPtr pMap; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1056 |
WindowPtr pWin; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1057 |
TsolResPtr tsolres; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1058 |
int err_code; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1059 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1060 |
REQUEST(xSetResUIDReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1061 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1062 |
REQUEST_SIZE_MATCH(xSetResUIDReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1063 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1064 |
switch (stuff->resourceType) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1065 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1066 |
case STRIPEHEIGHT: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1067 |
if (err_code = xtsol_policy(TSOL_RES_STRIPE, TSOL_MODIFY, NULL, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1068 |
client, TSOL_ALL, (void *)MAJOROP)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1069 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1070 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1071 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1072 |
StripeHeight = stuff->uid; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1073 |
ScreenNumber = stuff->id; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1074 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1075 |
/* set Screen Stripe Size */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1076 |
DoScreenStripeHeight(ScreenNumber); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1077 |
ScreenStripeHeight [ScreenNumber] = StripeHeight; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1078 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1079 |
return (client->noClientException); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1080 |
case RES_OUID: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1081 |
if (err_code = xtsol_policy(TSOL_RES_WOWNER, TSOL_MODIFY, NULL, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1082 |
client, TSOL_ALL, (void *)MAJOROP)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1083 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1084 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1085 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1086 |
OwnerUID = stuff->uid; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1087 |
OwnerUIDint = OwnerUID; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1088 |
AddUID(&OwnerUIDint); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1089 |
return (client->noClientException); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1090 |
case IsWindow: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1091 |
pWin = LookupWindow(stuff->id, client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1092 |
if (pWin) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1093 |
{ |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1094 |
tsolres = TsolWindowPriv(pWin); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1095 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1096 |
else |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1097 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1098 |
client->errorValue = stuff->id; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1099 |
return (BadWindow); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1100 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1101 |
if (err_code = xtsol_policy(TSOL_RES_WINDOW, TSOL_MODIFY, pWin, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1102 |
client, TSOL_ALL, (void *)MAJOROP)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1103 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1104 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1105 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1106 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1107 |
case IsPixmap: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1108 |
pMap = (PixmapPtr)LookupIDByType(stuff->id, RT_PIXMAP); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1109 |
if (pMap) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1110 |
{ |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1111 |
tsolres = TsolPixmapPriv(pMap); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1112 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1113 |
else |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1114 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1115 |
client->errorValue = stuff->id; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1116 |
return (BadPixmap); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1117 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1118 |
if (err_code = xtsol_policy(TSOL_RES_PIXMAP, TSOL_MODIFY, pMap, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1119 |
client, TSOL_ALL, (void *)MAJOROP)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1120 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1121 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1122 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1123 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1124 |
default: |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1125 |
return (BadValue); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1126 |
} |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1127 |
|
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1128 |
if (err_code = xtsol_policy(TSOL_RES_UID, TSOL_MODIFY, NULL, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1129 |
client, TSOL_ALL, (void *)MAJOROP)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1130 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1131 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1132 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1133 |
tsolres->uid = stuff->uid; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1134 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1135 |
return (client->noClientException); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1136 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1137 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1138 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1139 |
ProcGetClientAttributes(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1140 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1141 |
int n; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1142 |
int err_code; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1143 |
ClientPtr res_client; /* resource owner client */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1144 |
TsolInfoPtr tsolinfo, res_tsolinfo; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1145 |
WindowPtr pWin; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1146 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1147 |
xGetClientAttributesReply rep; |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1148 |
|
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1149 |
REQUEST(xGetClientAttributesReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1150 |
REQUEST_SIZE_MATCH(xGetClientAttributesReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1151 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1152 |
/* Valid window check */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1153 |
/* Valid window check */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1154 |
if ((pWin = LookupWindow(stuff->id, client)) == NULL) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1155 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1156 |
client->errorValue = stuff->id; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1157 |
return (BadWindow); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1158 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1159 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1160 |
if (!(res_client = clients[CLIENT_ID(stuff->id)])) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1161 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1162 |
client->errorValue = stuff->id; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1163 |
return (BadWindow); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1164 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1165 |
if (err_code = xtsol_policy(TSOL_RES_CLIENT, TSOL_READ, (void *)stuff->id, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1166 |
client, TSOL_ALL, (void *)MAJOROP)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1167 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1168 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1169 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1170 |
tsolinfo = GetClientTsolInfo(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1171 |
res_tsolinfo = GetClientTsolInfo(res_client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1172 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1173 |
/* Transfer the client info to reply rec */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1174 |
rep.type = X_Reply; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1175 |
rep.sequenceNumber = client->sequence; |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1176 |
rep.trustflag = (res_tsolinfo->forced_trust == 1 |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1177 |
|| res_tsolinfo->trusted_path) ? (BYTE)1 : (BYTE)0; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1178 |
rep.uid = (CARD32) res_tsolinfo->uid; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1179 |
rep.pid = (CARD32) res_tsolinfo->pid; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1180 |
rep.gid = (CARD32) res_tsolinfo->gid; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1181 |
rep.auditid = (CARD32) res_tsolinfo->auid; |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1182 |
rep.sessionid = (CARD32) res_tsolinfo->asid; |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1183 |
rep.iaddr = (CARD32) res_tsolinfo->iaddr; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1184 |
rep.length = (CARD32) 0; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1185 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1186 |
if (client->swapped) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1187 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1188 |
swaps(&rep.sequenceNumber, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1189 |
swapl(&rep.length, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1190 |
swapl(&rep.uid, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1191 |
swapl(&rep.pid, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1192 |
swapl(&rep.gid, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1193 |
swapl(&rep.auditid, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1194 |
swapl(&rep.sessionid, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1195 |
swapl(&rep.iaddr, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1196 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1197 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1198 |
WriteToClient(client, sizeof(xGetClientAttributesReply), (char *)&rep); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1199 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1200 |
return (client->noClientException); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1201 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1202 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1203 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1204 |
ProcGetClientLabel(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1205 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1206 |
int n; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1207 |
int reply_length; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1208 |
int err_code; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1209 |
Bool write_to_client = 0; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1210 |
bslabel_t *sl; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1211 |
ClientPtr res_client; /* resource owner client */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1212 |
TsolInfoPtr tsolinfo, res_tsolinfo; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1213 |
WindowPtr pWin; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1214 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1215 |
xGenericReply rep; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1216 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1217 |
REQUEST(xGetClientLabelReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1218 |
REQUEST_SIZE_MATCH(xGetClientLabelReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1219 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1220 |
/* Valid window check */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1221 |
if ((pWin = LookupWindow(stuff->id, client)) == NULL) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1222 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1223 |
client->errorValue = stuff->id; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1224 |
return (BadWindow); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1225 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1226 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1227 |
if (!(res_client = clients[CLIENT_ID(stuff->id)])) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1228 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1229 |
client->errorValue = stuff->id; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1230 |
return (BadWindow); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1231 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1232 |
if (err_code = xtsol_policy(TSOL_RES_CLIENT, TSOL_READ, (void *)stuff->id, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1233 |
client, TSOL_ALL, (void *)MAJOROP)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1234 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1235 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1236 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1237 |
tsolinfo = GetClientTsolInfo(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1238 |
res_tsolinfo = GetClientTsolInfo(res_client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1239 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1240 |
/* Transfer the client info to reply rec */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1241 |
rep.type = X_Reply; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1242 |
rep.sequenceNumber = client->sequence; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1243 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1244 |
/* allocate temp storage for labels */ |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1245 |
sl = (bslabel_t *)(xalloc(SL_SIZE)); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1246 |
rep.data00 = rep.data01 = 0; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1247 |
if (sl == NULL) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1248 |
return (BadAlloc); |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1249 |
|
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1250 |
/* fill the fields as per request mask */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1251 |
if (stuff->mask & RES_SL) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1252 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1253 |
memcpy(sl, res_tsolinfo->sl, SL_SIZE); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1254 |
rep.data00 = SL_SIZE; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1255 |
} |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1256 |
|
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1257 |
rep.length = (CARD32)(rep.data00)/4; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1258 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1259 |
if (rep.length > 0) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1260 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1261 |
reply_length = rep.length*4; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1262 |
write_to_client = 1; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1263 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1264 |
if (client->swapped) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1265 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1266 |
swaps(&rep.sequenceNumber, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1267 |
swapl(&rep.length, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1268 |
swapl(&rep.data00, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1269 |
swapl(&rep.data01, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1270 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1271 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1272 |
WriteToClient(client, sizeof(xGenericReply), (char *)&rep); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1273 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1274 |
if (write_to_client == 1) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1275 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1276 |
WriteToClient(client, reply_length, (char *)sl); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1277 |
} |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1278 |
xfree(sl); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1279 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1280 |
return (client->noClientException); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1281 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1282 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1283 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1284 |
ProcGetPropAttributes(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1285 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1286 |
int n; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1287 |
int reply_length; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1288 |
int err_code; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1289 |
Bool write_to_client = 0; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1290 |
PropertyPtr pProp; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1291 |
bslabel_t *sl; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1292 |
WindowPtr pWin; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1293 |
TsolPropPtr tsolprop, tmp_prop; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1294 |
TsolInfoPtr tsolinfo = GetClientTsolInfo(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1295 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1296 |
xGetPropAttributesReply rep; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1297 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1298 |
REQUEST(xGetPropAttributesReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1299 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1300 |
REQUEST_SIZE_MATCH(xGetPropAttributesReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1301 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1302 |
pWin = LookupWindow(stuff->id, client); |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1303 |
if (!pWin) |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1304 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1305 |
client->errorValue = stuff->id; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1306 |
return (BadWindow); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1307 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1308 |
if (err_code = xtsol_policy(TSOL_RES_WINDOW, TSOL_READ, pWin, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1309 |
client, TSOL_ALL, (void *)MAJOROP)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1310 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1311 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1312 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1313 |
if (!ValidAtom(stuff->atom)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1314 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1315 |
client->errorValue = stuff->atom; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1316 |
return (BadAtom); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1317 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1318 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1319 |
/* first see if property already exists */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1320 |
pProp = wUserProps (pWin); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1321 |
while (pProp) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1322 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1323 |
if (pProp->propertyName == stuff->atom) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1324 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1325 |
pProp = pProp->next; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1326 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1327 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1328 |
if (!pProp) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1329 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1330 |
/* property does not exist */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1331 |
client->errorValue = stuff->atom; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1332 |
return (BadAtom); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1333 |
} |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1334 |
tsolprop = TsolPropertyPriv(pProp); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1335 |
tmp_prop = tsolprop; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1336 |
while (tmp_prop) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1337 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1338 |
if (tsolpolyinstinfo.enabled) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1339 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1340 |
if (tmp_prop->uid == tsolpolyinstinfo.uid && |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1341 |
tmp_prop->sl == tsolpolyinstinfo.sl) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1342 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1343 |
tsolprop = tmp_prop; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1344 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1345 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1346 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1347 |
else |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1348 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1349 |
if (tmp_prop->uid == tsolinfo->uid && |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1350 |
tmp_prop->sl == tsolinfo->sl) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1351 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1352 |
tsolprop = tmp_prop; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1353 |
break; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1354 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1355 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1356 |
tmp_prop = tmp_prop->next; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1357 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1358 |
if (!tsolprop) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1359 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1360 |
return (client->noClientException); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1361 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1362 |
if (stuff->mask & RES_UID) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1363 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1364 |
rep.uid = tsolprop->uid; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1365 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1366 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1367 |
/* allocate temp storage for labels */ |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1368 |
sl = (bslabel_t *)(xalloc(SL_SIZE)); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1369 |
rep.sllength = rep.illength = 0; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1370 |
if (sl == NULL) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1371 |
return (BadAlloc); |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1372 |
|
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1373 |
/* fill the fields as per request mask */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1374 |
if (stuff->mask & RES_SL) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1375 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1376 |
memcpy(sl, tsolprop->sl, SL_SIZE); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1377 |
rep.sllength = SL_SIZE; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1378 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1379 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1380 |
rep.type = X_Reply; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1381 |
rep.sequenceNumber = client->sequence; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1382 |
rep.length = (CARD32) (rep.sllength)/4; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1383 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1384 |
if (rep.length > 0) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1385 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1386 |
reply_length = rep.length*4; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1387 |
write_to_client = 1; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1388 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1389 |
if (client->swapped) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1390 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1391 |
swaps(&rep.sequenceNumber, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1392 |
swapl(&rep.length, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1393 |
swapl(&rep.uid, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1394 |
swaps(&rep.sllength, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1395 |
swaps(&rep.illength, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1396 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1397 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1398 |
WriteToClient(client, sizeof(xGetPropAttributesReply), (char *)&rep); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1399 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1400 |
if (write_to_client == 1) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1401 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1402 |
WriteToClient(client, reply_length, (char *)sl); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1403 |
} |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1404 |
xfree(sl); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1405 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1406 |
return (client->noClientException); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1407 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1408 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1409 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1410 |
ProcGetResAttributes(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1411 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1412 |
int n; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1413 |
int reply_length; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1414 |
int err_code; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1415 |
Bool write_to_client = 0; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1416 |
bslabel_t *sl; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1417 |
PixmapPtr pMap; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1418 |
WindowPtr pWin; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1419 |
TsolResPtr tsolres; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1420 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1421 |
xGetResAttributesReply rep; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1422 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1423 |
REQUEST(xGetResAttributesReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1424 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1425 |
REQUEST_SIZE_MATCH(xGetResAttributesReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1426 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1427 |
if (stuff->mask & RES_STRIPE) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1428 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1429 |
rep.uid = ScreenStripeHeight[stuff->id]; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1430 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1431 |
if (stuff->mask & RES_OUID) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1432 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1433 |
rep.owneruid = OwnerUID; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1434 |
} |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1435 |
if (stuff->resourceType == IsWindow && |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1436 |
(stuff->mask & (RES_UID | RES_SL ))) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1437 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1438 |
pWin = LookupWindow(stuff->id, client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1439 |
if (pWin) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1440 |
{ |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1441 |
tsolres = TsolWindowPriv(pWin); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1442 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1443 |
else |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1444 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1445 |
client->errorValue = stuff->id; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1446 |
return (BadWindow); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1447 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1448 |
if (err_code = xtsol_policy(TSOL_RES_WINDOW, TSOL_READ, pWin, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1449 |
client, TSOL_ALL, (void *)MAJOROP)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1450 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1451 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1452 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1453 |
} |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1454 |
if (stuff->resourceType == IsPixmap && |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1455 |
(stuff->mask & (RES_UID | RES_SL ))) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1456 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1457 |
pMap = (PixmapPtr)LookupIDByType(stuff->id, RT_PIXMAP); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1458 |
if (pMap) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1459 |
{ |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1460 |
tsolres = TsolPixmapPriv(pMap); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1461 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1462 |
else |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1463 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1464 |
client->errorValue = stuff->id; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1465 |
return (BadPixmap); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1466 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1467 |
if (err_code = xtsol_policy(TSOL_RES_PIXMAP, TSOL_READ, pMap, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1468 |
client, TSOL_ALL, (void *)MAJOROP)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1469 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1470 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1471 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1472 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1473 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1474 |
if (stuff->mask & RES_UID) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1475 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1476 |
rep.uid = tsolres->uid; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1477 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1478 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1479 |
/* allocate temp storage for labels */ |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1480 |
sl = (bslabel_t *)(xalloc(SL_SIZE)); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1481 |
rep.sllength = rep.illength = rep.iillength = 0; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1482 |
if (sl == NULL) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1483 |
return (BadAlloc); |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1484 |
|
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1485 |
/* fill the fields as per request mask */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1486 |
if (stuff->mask & RES_SL) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1487 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1488 |
memcpy(sl, tsolres->sl, SL_SIZE); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1489 |
rep.sllength = SL_SIZE; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1490 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1491 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1492 |
rep.type = X_Reply; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1493 |
rep.sequenceNumber = client->sequence; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1494 |
rep.length = (CARD32) (rep.sllength)/4; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1495 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1496 |
if (rep.length > 0) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1497 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1498 |
reply_length = rep.length*4; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1499 |
write_to_client = 1; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1500 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1501 |
if (client->swapped) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1502 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1503 |
swaps(&rep.sequenceNumber, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1504 |
swapl(&rep.length, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1505 |
swapl(&rep.uid, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1506 |
swapl(&rep.owneruid, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1507 |
swaps(&rep.sllength, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1508 |
swaps(&rep.illength, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1509 |
swaps(&rep.iillength, n); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1510 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1511 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1512 |
WriteToClient(client, sizeof(xGetResAttributesReply), (char *)&rep); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1513 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1514 |
if (write_to_client == 1) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1515 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1516 |
WriteToClient(client, reply_length, (char *)sl); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1517 |
} |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1518 |
xfree(sl); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1519 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1520 |
return (client->noClientException); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1521 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1522 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1523 |
int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1524 |
ProcMakeTPWindow(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1525 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1526 |
WindowPtr pWin, pParent; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1527 |
int err_code; |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1528 |
TsolInfoPtr tsolinfo; |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1529 |
extern void ReflectStackChange(WindowPtr, WindowPtr, VTKind); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1530 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1531 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1532 |
REQUEST(xMakeTPWindowReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1533 |
REQUEST_SIZE_MATCH(xMakeTPWindowReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1534 |
|
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1535 |
/* |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1536 |
* Session type single-level? This is set by the |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1537 |
* label builder |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1538 |
*/ |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1539 |
tsolinfo = GetClientTsolInfo(client); |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1540 |
if (tsolinfo && HasTrustedPath(tsolinfo) && |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1541 |
blequal(&SessionLO, &SessionHI) && stuff->id == 0) { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1542 |
tsolMultiLevel = FALSE; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1543 |
return (client->noClientException); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1544 |
} |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1545 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1546 |
#if defined(PANORAMIX) |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1547 |
if (!noPanoramiXExtension) |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1548 |
{ |
470
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1549 |
PanoramiXRes *panres = NULL; |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1550 |
int j; |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1551 |
|
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1552 |
if ((panres = (PanoramiXRes *)LookupIDByType(stuff->id, XRT_WINDOW)) |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1553 |
== NULL) |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1554 |
return BadWindow; |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1555 |
|
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1556 |
FOR_NSCREENS_BACKWARD(j) |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1557 |
{ |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1558 |
pWin = LookupWindow(panres->info[j].id, client); |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1559 |
|
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1560 |
/* window should not be root but child of root */ |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1561 |
if (!pWin || (!pWin->parent)) |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1562 |
{ |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1563 |
client->errorValue = stuff->id; |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1564 |
return (BadWindow); |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1565 |
} |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1566 |
if (err_code = xtsol_policy(TSOL_RES_TPWIN, TSOL_MODIFY, pWin, |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1567 |
client, TSOL_ALL, (void *)MAJOROP)) |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1568 |
{ |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1569 |
return (err_code); |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1570 |
} |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1571 |
|
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1572 |
pParent = pWin->parent; |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1573 |
if (pParent->firstChild != pWin) |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1574 |
{ |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1575 |
tpwin = (WindowPtr)NULL; |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1576 |
ReflectStackChange(pWin, pParent->firstChild, VTStack); |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1577 |
} |
77e77d76a7c9
6680281 Xnewt core dumps with Multihead Xinerama TJDS session on TX10 U5 sparc
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
461
diff
changeset
|
1578 |
} |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1579 |
} else |
311
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1580 |
#endif |
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1581 |
{ |
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1582 |
pWin = LookupWindow(stuff->id, client); |
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1583 |
|
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1584 |
/* window should not be root but child of root */ |
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1585 |
if (!pWin || (!pWin->parent)) |
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1586 |
{ |
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1587 |
client->errorValue = stuff->id; |
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1588 |
return (BadWindow); |
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1589 |
} |
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1590 |
if (err_code = xtsol_policy(TSOL_RES_TPWIN, TSOL_MODIFY, pWin, |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1591 |
client, TSOL_ALL, (void *)MAJOROP)) |
311
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1592 |
{ |
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1593 |
return (err_code); |
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1594 |
} |
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1595 |
|
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1596 |
pParent = pWin->parent; |
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1597 |
if (pParent->firstChild != pWin) |
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1598 |
{ |
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1599 |
tpwin = (WindowPtr)NULL; |
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1600 |
ReflectStackChange(pWin, pParent->firstChild, VTStack); |
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1601 |
} |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1602 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1603 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1604 |
tpwin = pWin; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1605 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1606 |
/* |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1607 |
* Force kbd & ptr ungrab. This will cause |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1608 |
* screen to lock even when kbd/ptr grabbed by |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1609 |
* a client |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1610 |
*/ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1611 |
BreakAllGrabs(client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1612 |
return (client->noClientException); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1613 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1614 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1615 |
/* |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1616 |
* Turn on window's Trusted bit |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1617 |
*/ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1618 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1619 |
ProcMakeTrustedWindow(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1620 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1621 |
WindowPtr pWin; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1622 |
int err_code; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1623 |
TsolInfoPtr tsolinfo; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1624 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1625 |
REQUEST(xMakeTrustedWindowReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1626 |
REQUEST_SIZE_MATCH(xMakeTrustedWindowReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1627 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1628 |
pWin = LookupWindow(stuff->id, client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1629 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1630 |
/* window should not be root but child of root */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1631 |
if (!pWin || (!pWin->parent)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1632 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1633 |
client->errorValue = stuff->id; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1634 |
return (BadWindow); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1635 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1636 |
if (err_code = xtsol_policy(TSOL_RES_TPWIN, TSOL_MODIFY, pWin, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1637 |
client, TSOL_ALL, (void *)MAJOROP)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1638 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1639 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1640 |
} |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1641 |
tsolinfo = GetClientTsolInfo(client); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1642 |
/* Turn on Trusted bit of the window */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1643 |
tsolinfo->forced_trust = 1; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1644 |
return (client->noClientException); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1645 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1646 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1647 |
/* |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1648 |
* Turn off window's Trusted bit |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1649 |
*/ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1650 |
static int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1651 |
ProcMakeUntrustedWindow(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1652 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1653 |
WindowPtr pWin; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1654 |
int err_code; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1655 |
TsolInfoPtr tsolinfo; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1656 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1657 |
REQUEST(xMakeUntrustedWindowReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1658 |
REQUEST_SIZE_MATCH(xMakeUntrustedWindowReq); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1659 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1660 |
pWin = LookupWindow(stuff->id, client); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1661 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1662 |
/* window should not be root but child of root */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1663 |
if (!pWin || (!pWin->parent)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1664 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1665 |
client->errorValue = stuff->id; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1666 |
return (BadWindow); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1667 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1668 |
if (err_code = xtsol_policy(TSOL_RES_TPWIN, TSOL_MODIFY, pWin, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1669 |
client, TSOL_ALL, (void *)MAJOROP)) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1670 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1671 |
return (err_code); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1672 |
} |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1673 |
tsolinfo = GetClientTsolInfo(client); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1674 |
tsolinfo->forced_trust = 0; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1675 |
tsolinfo->trusted_path = FALSE; |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1676 |
|
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1677 |
return (client->noClientException); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1678 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1679 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1680 |
/* |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1681 |
* Break keyboard & ptr grabs of clients other than |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1682 |
* the requesting client. |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1683 |
* Called from ProcMakeTPWindow. |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1684 |
*/ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1685 |
static void |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1686 |
BreakAllGrabs(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1687 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1688 |
ClientPtr grabclient; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1689 |
DeviceIntPtr keybd = inputInfo.keyboard; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1690 |
GrabPtr kbdgrab = keybd->grab; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1691 |
DeviceIntPtr mouse = inputInfo.pointer; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1692 |
GrabPtr ptrgrab = mouse->grab; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1693 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1694 |
if (kbdgrab) { |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1695 |
grabclient = clients[CLIENT_ID(kbdgrab->resource)]; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1696 |
if (client->index != grabclient->index) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1697 |
(*keybd->DeactivateGrab)(keybd); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1698 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1699 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1700 |
if (ptrgrab) { |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1701 |
grabclient = clients[CLIENT_ID(ptrgrab->resource)]; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1702 |
if (client->index != grabclient->index) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1703 |
(*mouse->DeactivateGrab)(mouse); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1704 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1705 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1706 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1707 |
/* |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1708 |
* Trusted Network interface module. Uses tsix API |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1709 |
*/ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1710 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1711 |
static void |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1712 |
TsolSetClientInfo(ClientPtr client) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1713 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1714 |
bslabel_t *sl; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1715 |
bslabel_t admin_low; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1716 |
priv_set_t *privs; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1717 |
const au_mask_t *amask; |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1718 |
socklen_t namelen; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1719 |
struct auditinfo auinfo; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1720 |
struct auditinfo *pauinfo; |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1721 |
OsCommPtr oc = (OsCommPtr)client->osPrivate; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1722 |
int fd = oc->fd; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1723 |
ucred_t *uc = NULL; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1724 |
extern au_id_t ucred_getauid(const ucred_t *uc); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1725 |
extern au_asid_t ucred_getasid(const ucred_t *uc); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1726 |
extern const au_mask_t *ucred_getamask(const ucred_t *uc); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1727 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1728 |
TsolInfoPtr tsolinfo = TsolClientPriv(client); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1729 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1730 |
/* Get client attributes from the socket */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1731 |
if (getpeerucred(fd, &uc) == -1) { |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1732 |
tsolinfo->uid = (uid_t)(-1); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1733 |
tsolinfo->sl = NULL; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1734 |
perror("getpeerucred failed\n"); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1735 |
ErrorF("SUN_TSOL: Cannot get client attributes\n"); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1736 |
return; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1737 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1738 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1739 |
/* Extract individual fields from the cred structure */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1740 |
tsolinfo->zid = ucred_getzoneid(uc); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1741 |
tsolinfo->uid = ucred_getruid(uc); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1742 |
tsolinfo->euid = ucred_geteuid(uc); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1743 |
tsolinfo->gid = ucred_getrgid(uc); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1744 |
tsolinfo->egid = ucred_getegid(uc); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1745 |
tsolinfo->pid = ucred_getpid(uc); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1746 |
sl = ucred_getlabel(uc); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1747 |
tsolinfo->sl = (bslabel_t *)lookupSL(sl); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1748 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1749 |
/* Set privileges */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1750 |
if ((tsolinfo->privs = priv_allocset()) != NULL) { |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1751 |
if (tsolMultiLevel) { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1752 |
privs = (priv_set_t *)ucred_getprivset(uc, PRIV_EFFECTIVE); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1753 |
if (privs == NULL) { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1754 |
priv_emptyset(tsolinfo->privs); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1755 |
} else { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1756 |
priv_copyset(privs, tsolinfo->privs); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1757 |
} |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1758 |
} else { |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1759 |
priv_fillset(tsolinfo->privs); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1760 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1761 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1762 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1763 |
tsolinfo->priv_debug = FALSE; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1764 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1765 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1766 |
/* |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1767 |
* For remote hosts, the uid is determined during access control |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1768 |
* using Secure RPC |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1769 |
*/ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1770 |
if (tsolinfo->zid == (zoneid_t)-1) { |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1771 |
tsolinfo->client_type = CLIENT_REMOTE; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1772 |
} else { |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1773 |
tsolinfo->client_type = CLIENT_LOCAL; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1774 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1775 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1776 |
|
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1777 |
/* Set Trusted Path for local clients */ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1778 |
if (tsolinfo->zid == GLOBAL_ZONEID) { |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1779 |
tsolinfo->trusted_path = TRUE; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1780 |
}else { |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1781 |
tsolinfo->trusted_path = FALSE; |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1782 |
} |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1783 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1784 |
if (tsolinfo->trusted_path || !tsolMultiLevel) |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1785 |
setClientTrustLevel(client, XSecurityClientTrusted); |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1786 |
else |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1787 |
setClientTrustLevel(client, XSecurityClientUntrusted); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1788 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1789 |
tsolinfo->forced_trust = 0; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1790 |
tsolinfo->iaddr = 0; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1791 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1792 |
bsllow(&admin_low); |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1793 |
|
311
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1794 |
/* Set reasonable defaults for remote clients */ |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1795 |
namelen = sizeof (tsolinfo->saddr); |
311
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1796 |
if (getpeername(fd, (struct sockaddr *)&tsolinfo->saddr, &namelen) == 0 |
881fb798a4fe
6630643 In Xinerama vertical configuration Trusted Path is covered by other applications
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
228
diff
changeset
|
1797 |
&& (tsolinfo->client_type == CLIENT_REMOTE)) { |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1798 |
int errcode; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1799 |
char hostbuf[NI_MAXHOST]; |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1800 |
tsol_host_type_t host_type; |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1801 |
extern tsol_host_type_t tsol_getrhtype(char *); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1802 |
|
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1803 |
/* Use NI_NUMERICHOST to avoid DNS lookup */ |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1804 |
errcode = getnameinfo((struct sockaddr *)&(tsolinfo->saddr), namelen, |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1805 |
hostbuf, sizeof(hostbuf), NULL, 0, NI_NUMERICHOST); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1806 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1807 |
if (errcode) { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1808 |
perror(gai_strerror(errcode)); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1809 |
} else { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1810 |
host_type = tsol_getrhtype(hostbuf); |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1811 |
if ((host_type == SUN_CIPSO) && |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1812 |
blequal(tsolinfo->sl, &admin_low)) { |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1813 |
tsolinfo->trusted_path = TRUE; |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1814 |
setClientTrustLevel(client, |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1815 |
XSecurityClientTrusted); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1816 |
priv_fillset(tsolinfo->privs); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1817 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1818 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1819 |
} |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1820 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1821 |
/* setup audit context */ |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1822 |
if (getaudit(&auinfo) == 0) { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1823 |
pauinfo = &auinfo; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1824 |
} else { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1825 |
pauinfo = NULL; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1826 |
} |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1827 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1828 |
/* Audit id */ |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1829 |
tsolinfo->auid = ucred_getauid(uc); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1830 |
if (tsolinfo->auid == AU_NOAUDITID) { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1831 |
tsolinfo->auid = UID_NOBODY; |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1832 |
} |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1833 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1834 |
/* session id */ |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1835 |
tsolinfo->asid = ucred_getasid(uc); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1836 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1837 |
/* Audit mask */ |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1838 |
if ((amask = ucred_getamask(uc)) != NULL) { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1839 |
tsolinfo->amask = *amask; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1840 |
} else { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1841 |
if (pauinfo != NULL) { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1842 |
tsolinfo->amask = pauinfo->ai_mask; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1843 |
} else { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1844 |
tsolinfo->amask.am_failure = 0; /* clear the masks */ |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1845 |
tsolinfo->amask.am_success = 0; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1846 |
} |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1847 |
} |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1848 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1849 |
tsolinfo->asaverd = 0; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1850 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1851 |
ucred_free(uc); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1852 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1853 |
|
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1854 |
static enum auth_stat tsol_why; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1855 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1856 |
static char * |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1857 |
tsol_authdes_decode(char *inmsg, int len) |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1858 |
{ |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1859 |
struct rpc_msg msg; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1860 |
char cred_area[MAX_AUTH_BYTES]; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1861 |
char verf_area[MAX_AUTH_BYTES]; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1862 |
char *temp_inmsg; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1863 |
struct svc_req r; |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1864 |
bool_t res0, res1; |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1865 |
XDR xdr; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1866 |
SVCXPRT xprt; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1867 |
extern bool_t xdr_opaque_auth(XDR *, struct opaque_auth *); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1868 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1869 |
temp_inmsg = (char *) xalloc(len); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1870 |
memmove(temp_inmsg, inmsg, len); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1871 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1872 |
memset((char *)&msg, 0, sizeof(msg)); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1873 |
memset((char *)&r, 0, sizeof(r)); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1874 |
memset(cred_area, 0, sizeof(cred_area)); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1875 |
memset(verf_area, 0, sizeof(verf_area)); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1876 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1877 |
msg.rm_call.cb_cred.oa_base = cred_area; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1878 |
msg.rm_call.cb_verf.oa_base = verf_area; |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1879 |
tsol_why = AUTH_FAILED; |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1880 |
xdrmem_create(&xdr, temp_inmsg, len, XDR_DECODE); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1881 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1882 |
if ((r.rq_clntcred = (caddr_t) xalloc(MAX_AUTH_BYTES)) == NULL) |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1883 |
goto bad1; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1884 |
r.rq_xprt = &xprt; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1885 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1886 |
/* decode into msg */ |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1887 |
res0 = xdr_opaque_auth(&xdr, &(msg.rm_call.cb_cred)); |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1888 |
res1 = xdr_opaque_auth(&xdr, &(msg.rm_call.cb_verf)); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1889 |
if ( ! (res0 && res1) ) |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1890 |
goto bad2; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1891 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1892 |
/* do the authentication */ |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1893 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1894 |
r.rq_cred = msg.rm_call.cb_cred; /* read by opaque stuff */ |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1895 |
if (r.rq_cred.oa_flavor != AUTH_DES) { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1896 |
tsol_why = AUTH_TOOWEAK; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1897 |
goto bad2; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1898 |
} |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1899 |
#ifdef SVR4 |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1900 |
if ((tsol_why = __authenticate(&r, &msg)) != AUTH_OK) { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1901 |
#else |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1902 |
if ((tsol_why = _authenticate(&r, &msg)) != AUTH_OK) { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1903 |
#endif |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1904 |
goto bad2; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1905 |
} |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1906 |
return (((struct authdes_cred *) r.rq_clntcred)->adc_fullname.name); |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1907 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1908 |
bad2: |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1909 |
Xfree(r.rq_clntcred); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1910 |
bad1: |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1911 |
return ((char *)0); /* ((struct authdes_cred *) NULL); */ |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1912 |
} |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1913 |
|
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1914 |
static Bool |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1915 |
TsolCheckNetName (unsigned char *addr, short len, pointer closure) |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1916 |
{ |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1917 |
return (len == (short) strlen ((char *) closure) && |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1918 |
strncmp ((char *) addr, (char *) closure, len) == 0); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1919 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1920 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1921 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1922 |
XID |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1923 |
TsolCheckAuthorization(unsigned int name_length, char *name, unsigned int data_length, |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1924 |
char *data, ClientPtr client, char **reason) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1925 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1926 |
char domainname[128]; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1927 |
char netname[128]; |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1928 |
char audit_ret; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1929 |
u_int audit_val; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1930 |
uid_t client_uid; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1931 |
gid_t client_gid; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1932 |
int client_gidlen; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1933 |
char *fullname; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1934 |
gid_t client_gidlist; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1935 |
XID auth_token = (XID)(-1); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1936 |
TsolInfoPtr tsolinfo = GetClientTsolInfo(client); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1937 |
extern int getdomainname(char *, int); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1938 |
|
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1939 |
if (tsolinfo->uid == -1) { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1940 |
/* Retrieve uid from SecureRPC */ |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1941 |
if (strncmp(name, SECURE_RPC_AUTH, (size_t)name_length) == 0) { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1942 |
fullname = tsol_authdes_decode(data, data_length); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1943 |
if (fullname == NULL) { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1944 |
ErrorF("Unable to authenticate Secure RPC client"); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1945 |
} else { |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1946 |
if (netname2user(fullname, |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1947 |
&client_uid, &client_gid, |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1948 |
&client_gidlen, &client_gidlist)) { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1949 |
tsolinfo->uid = client_uid; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1950 |
} else { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1951 |
ErrorF("netname2user failed"); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1952 |
} |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1953 |
} |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1954 |
} |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1955 |
} |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1956 |
|
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1957 |
if (tsolinfo->uid == (uid_t)-1) { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1958 |
tsolinfo->uid = UID_NOBODY; /* uid not available */ |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1959 |
} |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1960 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1961 |
/* |
196
b7c1d614eb84
Trusted Extensions bug fixes:
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
168
diff
changeset
|
1962 |
* For multilevel desktop, limit connections to the trusted path |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1963 |
* i.e. global zone until a user logs in and the trusted stripe |
196
b7c1d614eb84
Trusted Extensions bug fixes:
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
168
diff
changeset
|
1964 |
* is in place. Unlabeled connections are rejected. |
b7c1d614eb84
Trusted Extensions bug fixes:
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
168
diff
changeset
|
1965 |
*/ |
b7c1d614eb84
Trusted Extensions bug fixes:
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
168
diff
changeset
|
1966 |
if ((OwnerUID == (uid_t )(-1)) || (tsolMultiLevel && tpwin == NULL)) { |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1967 |
if (HasTrustedPath(tsolinfo)) { |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1968 |
auth_token = CheckAuthorization(name_length, name, data_length, |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1969 |
data, client, reason); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1970 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1971 |
} else { |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1972 |
/* |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1973 |
* Workstation Owner set, client must be within label |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1974 |
* range or have trusted path |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1975 |
*/ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1976 |
if (tsolinfo->uid == OwnerUID) { |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1977 |
if ((tsolinfo->sl != NULL && |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1978 |
(bldominates(tsolinfo->sl, &SessionLO) && |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1979 |
bldominates(&SessionHI, tsolinfo->sl))) || |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1980 |
(HasTrustedPath(tsolinfo))) { |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1981 |
auth_token = (XID)(tsolinfo->uid); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1982 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1983 |
} else { |
461
0dfa99decf9e
6702181 cannot change label in root role's workspace
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
311
diff
changeset
|
1984 |
/* Allow root from global zone */ |
0dfa99decf9e
6702181 cannot change label in root role's workspace
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
311
diff
changeset
|
1985 |
if (tsolinfo->uid == 0 && HasTrustedPath(tsolinfo)) { |
0dfa99decf9e
6702181 cannot change label in root role's workspace
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
311
diff
changeset
|
1986 |
auth_token = (XID)(tsolinfo->uid); |
0dfa99decf9e
6702181 cannot change label in root role's workspace
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
311
diff
changeset
|
1987 |
} else { |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
1988 |
/* |
461
0dfa99decf9e
6702181 cannot change label in root role's workspace
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
311
diff
changeset
|
1989 |
* Access check based on uid. Check if |
0dfa99decf9e
6702181 cannot change label in root role's workspace
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
311
diff
changeset
|
1990 |
* roles or other uids have been added by |
0dfa99decf9e
6702181 cannot change label in root role's workspace
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
311
diff
changeset
|
1991 |
* xhost +role@ |
0dfa99decf9e
6702181 cannot change label in root role's workspace
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
311
diff
changeset
|
1992 |
*/ |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1993 |
getdomainname(domainname, sizeof(domainname)); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1994 |
if (!user2netname(netname, tsolinfo->uid, domainname)) { |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1995 |
return ((XID)-1); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1996 |
} |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
1997 |
if (ForEachHostInFamily (FamilyNetname, TsolCheckNetName, |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1998 |
(pointer) netname)) { |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1999 |
return ((XID)(tsolinfo->uid)); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2000 |
} else { |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2001 |
return (CheckAuthorization(name_length, name, data_length, |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2002 |
data, client, reason)); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2003 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2004 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2005 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2006 |
} |
36
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2007 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2008 |
/* Audit the connection */ |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2009 |
if (auth_token == (XID)(-1)) { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2010 |
audit_ret = (char )-1; /* failure */ |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2011 |
audit_val = 1; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2012 |
} else { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2013 |
audit_ret = 0; /* success */ |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2014 |
audit_val = 0; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2015 |
} |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2016 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2017 |
if (system_audit_on && |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2018 |
(au_preselect(AUE_ClientConnect, &(tsolinfo->amask), |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2019 |
AU_PRS_BOTH, AU_PRS_USECACHE) == 1)) { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2020 |
int status; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2021 |
u_short connect_port = 0; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2022 |
struct in_addr *connect_addr = NULL; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2023 |
struct sockaddr_in *sin; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2024 |
struct sockaddr_in6 *sin6; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2025 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2026 |
switch (tsolinfo->saddr.ss_family) { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2027 |
case AF_INET: |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2028 |
sin = (struct sockaddr_in *)&(tsolinfo->saddr); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2029 |
connect_addr = &(sin->sin_addr); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2030 |
connect_port = sin->sin_port; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2031 |
break; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2032 |
case AF_INET6: |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2033 |
sin6 = (struct sockaddr_in6 *)&(tsolinfo->saddr); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2034 |
connect_addr = (struct in_addr *)&(sin6->sin6_addr); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2035 |
connect_port = sin6->sin6_port; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2036 |
break; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2037 |
} |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2038 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2039 |
if (connect_addr == NULL || connect_port == 0) { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2040 |
status = auditwrite(AW_EVENTNUM, AUE_ClientConnect, |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2041 |
AW_XCLIENT, client->index, |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2042 |
AW_SLABEL, tsolinfo->sl, |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2043 |
AW_RETURN, audit_ret, audit_val, |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2044 |
AW_WRITE, AW_END); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2045 |
} else { |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2046 |
status = auditwrite(AW_EVENTNUM, AUE_ClientConnect, |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2047 |
AW_XCLIENT, client->index, |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2048 |
AW_SLABEL, tsolinfo->sl, |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2049 |
AW_INADDR, connect_addr, |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2050 |
AW_IPORT, connect_port, |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2051 |
AW_RETURN, audit_ret, audit_val, |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2052 |
AW_WRITE, AW_END); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2053 |
} |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2054 |
|
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2055 |
if (!status) |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2056 |
(void) auditwrite(AW_FLUSH, AW_END); |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2057 |
tsolinfo->flags &= ~TSOL_DOXAUDIT; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2058 |
tsolinfo->flags &= ~TSOL_AUDITEVENT; |
07b00e5ea8c8
Trusted Extensions bug fixes
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
0
diff
changeset
|
2059 |
} |
196
b7c1d614eb84
Trusted Extensions bug fixes:
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
168
diff
changeset
|
2060 |
|
b7c1d614eb84
Trusted Extensions bug fixes:
Lokanath Das <Lokanath.Das@Sun.COM>
parents:
168
diff
changeset
|
2061 |
return (auth_token); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2062 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2063 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2064 |
static CALLBACK( |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2065 |
TsolProcessKeyboard) |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2066 |
{ |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2067 |
XaceKeyAvailRec *rec = (XaceKeyAvailRec *) calldata; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2068 |
xEvent *xE = rec->event; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2069 |
DeviceIntPtr keybd = rec->keybd; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2070 |
/* int count = rec->count; */ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2071 |
KeyClassPtr keyc = keybd->key; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2072 |
|
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2073 |
extern void InitHotKey(HotKeyPtr hk); |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2074 |
extern void HandleHotKey(void); |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2075 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2076 |
if (xE->u.u.type == KeyPress) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2077 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2078 |
if (!hotkey.initialized) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2079 |
InitHotKey(&hotkey); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2080 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2081 |
if (((xE->u.u.detail == hotkey.key) && |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2082 |
(keyc->state != 0 && keyc->state == hotkey.shift)) || |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2083 |
((xE->u.u.detail == hotkey.altkey) && |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2084 |
(keyc->state != 0 && keyc->state == hotkey.altshift))) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2085 |
HandleHotKey(); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2086 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2087 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2088 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2089 |
static CALLBACK( |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2090 |
TsolCheckPropertyAccess) |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2091 |
{ |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2092 |
XacePropertyAccessRec *rec = (XacePropertyAccessRec *) calldata; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2093 |
ClientPtr client = rec->client; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2094 |
WindowPtr pWin = rec->pWin; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2095 |
PropertyPtr pProp = *rec->ppProp; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2096 |
Atom propertyName = pProp->propertyName; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2097 |
Mask access_mode = rec->access_mode; |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2098 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2099 |
if (pProp == NULL) { |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2100 |
return; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2101 |
} |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2102 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2103 |
if (access_mode & DixReadAccess) { |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2104 |
if (!PolyProperty(propertyName, pWin) && |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2105 |
xtsol_policy(TSOL_RES_PROPERTY, TSOL_READ, |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2106 |
pProp, client, TSOL_ALL, (void *)MAJOROP)) |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2107 |
rec->status = BadAccess; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2108 |
/* this used to be: |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2109 |
return SecurityIgnoreOperation; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2110 |
else |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2111 |
return SecurityAllowOperation; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2112 |
*/ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2113 |
} |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2114 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2115 |
if (access_mode & DixWriteAccess) { |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2116 |
if (!PolyProperty(propertyName, pWin) && |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2117 |
xtsol_policy(TSOL_RES_PROPERTY, TSOL_MODIFY, |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2118 |
pProp, client, TSOL_ALL, (void *)MAJOROP)) |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2119 |
rec->status = BadAccess; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2120 |
/* this used to be: |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2121 |
return SecurityIgnoreOperation; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2122 |
else |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2123 |
return SecurityAllowOperation; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2124 |
*/ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2125 |
} |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2126 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2127 |
if (access_mode & DixDestroyAccess) { |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2128 |
if (!PolyProperty(propertyName, pWin) && |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2129 |
xtsol_policy(TSOL_RES_PROPERTY, TSOL_DESTROY, |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2130 |
pProp, client, TSOL_ALL, (void *)MAJOROP)) |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2131 |
rec->status = BadAccess; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2132 |
/* this used to be: |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2133 |
return SecurityIgnoreOperation; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2134 |
else |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2135 |
return SecurityAllowOperation; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2136 |
*/ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2137 |
} |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2138 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2139 |
|
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2140 |
static CALLBACK( |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2141 |
TsolCheckExtensionAccess) |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2142 |
{ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2143 |
XaceExtAccessRec *rec = (XaceExtAccessRec *) calldata; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2144 |
|
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2145 |
if (TsolDisabledExtension(rec->ext->name)) { |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2146 |
rec->status = BadAccess; |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2147 |
} |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2148 |
} |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2149 |
|
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2150 |
#ifdef UNUSED |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2151 |
/* |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2152 |
* Return TRUE if host is cipso |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2153 |
*/ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2154 |
int |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2155 |
host_is_cipso(int fd) |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2156 |
{ |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2157 |
struct sockaddr sname; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2158 |
socklen_t namelen; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2159 |
char *rhost; |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2160 |
tsol_host_type_t host_type; |
0
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2161 |
struct sockaddr_in *so = (struct sockaddr_in *)&sname; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2162 |
extern tsol_host_type_t tsol_getrhtype(char *); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2163 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2164 |
namelen = sizeof (sname); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2165 |
if (getpeername(fd, &sname, &namelen) == -1) { |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2166 |
perror("getsockname: failed\n"); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2167 |
return FALSE; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2168 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2169 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2170 |
rhost = inet_ntoa(so->sin_addr); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2171 |
host_type = tsol_getrhtype(rhost); |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2172 |
if (host_type == SUN_CIPSO) { |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2173 |
return TRUE; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2174 |
} |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2175 |
|
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2176 |
return FALSE; |
b949c5054bc4
Initial OpenSolaris release: X-src-20060331
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2177 |
} |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
470
diff
changeset
|
2178 |
#endif |