1088N/A * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. 0N/A * Permission is hereby granted, free of charge, to any person obtaining a 919N/A * copy of this software and associated documentation files (the "Software"), 919N/A * to deal in the Software without restriction, including without limitation 919N/A * the rights to use, copy, modify, merge, publish, distribute, sublicense, 919N/A * and/or sell copies of the Software, and to permit persons to whom the 919N/A * Software is furnished to do so, subject to the following conditions: 919N/A * The above copyright notice and this permission notice (including the next 919N/A * paragraph) shall be included in all copies or substantial portions of the 919N/A * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 919N/A * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 919N/A * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 919N/A * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 919N/A * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 919N/A * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 919N/A * DEALINGS IN THE SOFTWARE. 0N/A * after all references in Xsun is pulled out 0N/A * in policy routines. So we had to move it there 0N/A/* This structure is used for protocol request ListHosts */ 0N/A/* This table contains list of users who can connect to the server */ 0N/A/* Index must match with keywords */ 0N/A "extension",
"privilege"};
0N/A "_TSOL_CMWLABEL_CHANGE",
0N/A "_TSOL_CLIENT_TERM",
0N/A/* Initialize UID table, this table should at least contains owner UID */ 0N/A/* Count how many valid entried in the uid table */ 0N/A /* Search entire table */ 0N/A/* return (1); if userid is in the table */ 0N/A return (
1);
/* yes, found it */ 0N/A return (0);
/* not found */ 0N/A/* Passed into a pointer to a storage which is used to store UID */ 0N/A/* and nUid represents how many UID in the table(returned by count_uid_table) */ 0N/A/* add userid into UIDtable */ 0N/A * Search entire uidtable, to prevent duplicate uid 0N/A * entry in the table 0N/A /* this uid entry is already in the table; no-op */ 0N/A return (
1);
/* Success, uid in the table */ 0N/A * If we can find an empty entry, then add this uid 0N/A return (
1);
/* Success, uid in the table */ 0N/A /* uidtable overflow */ 0N/A ErrorF(
"Server problem: Please enlarge the table size of uidtable \n");
0N/A/* remove userid from UIDtable */ 0N/A ErrorF(
"\n UID 0 can not be removed from server UID list");
0N/A /* delete this entry in the table */ 0N/A return (
1);
/* Success, uid in the table */ 0N/A /* no such entry in the table, why delete it? no-op */ 0N/A /* found a matching sensitivity label in sltable */ 0N/A * can't find a matching entry in sltable, 0N/A * however, we have empty entry to store this 0N/A * new sensitivity label; store it. 0N/A * no matching entry in sltable, and no room to 0N/A * store this new sensitivity label, 0N/A * the server needs to recomplie with a larger slabel 0N/A ErrorF(
"Server problem: Please enlarge the table size of sltable \n");
196N/A /* compute new millimeter height */ 0N/A * Converts keycode to keysym, helper function. 0N/A * Modelled after Xlib code 0N/A * Converts keysym to a keycode 0N/A * Modelled after Xlib code 0N/A * converts a keysym to modifier equivalent mask 0N/A * Modelled after Xlib 0N/A * Initialize Hot Key keys. On A Sun type 5/6 keyboard 0N/A * It's Meta(Diamond) + Stop. On a non-Sun keyboard, it's 0N/A * Alt + Break(Pause) key. Hold down the meta or alt key 0N/A * press stop or break key. 0N/A * Both Left & Right keys for (Meta or Alt) return the 0N/A * same modifier mask 0N/A return;
/* ignore incomplete entries */ 0N/A /* find a matching keyword */ 0N/A /* Invalid keyword */ 0N/A * Load Trusted Solaris configuration file 0N/A /* open the file from /etc first followed by /usr */ 0N/A ErrorF(
"Cannot load %s. Some desktop applications may not\n" 0N/A /* Read and parse the config file */ 0N/A /* ignore all comments, lines starting with white space */ 0N/A * It does not really tell if this atom is to be polyinstantiated 0N/A * or not. Further check should be done to determine this. 0N/A /* Create new TSOL atoms */ 0N/A /* Create atoms defined in config file */ 0N/A * Names starting with a slash in selection.atoms and property.atoms 606N/A * are treated as regular expressions to be matched against the 0N/A * selection and property names. They may optionally end with a slash. 0N/A /* Extract regular expression from between slashes */ 0N/A /* Compile the regular expression */ 0N/A /* Make null-terminated copy of string */ 0N/A /* Compare string to regular expression */ 0N/A/* Property is polyinstantiated only on root window */ 0N/A * client or is a default server xid 0N/A * Same as TopClientWin() 0N/A * except that it returns a Window ID 0N/A * Return root window of pWin 0N/A * Return Top level client window of pWin 606N/A * Matches in the list of disabled extensions via 36N/A * the policy file (TrustedExtensionsPolicy) 36N/A * TRUE - if a match is found 36N/A * FALSE - otherwise 639N/A/*****************************************************************************/ 639N/A/* Returns a string representation of the access mode for debugging messages */ 639N/A /* strip off trailing " | " */ 639N/A/* Returns a string representation of the tsol policy for debugging messages */