These extensions were accessing internal OS functions and structures. Expose the necessary functionality to them and remove their use of osdep.h
Signed-off-by: Keith Packard <kei...@keithp.com> --- Xext/xace.c | 13 ++----------- Xext/xselinux_hooks.c | 1 - include/os.h | 7 +++++++ os/access.c | 14 ++++++++++++++ 4 files changed, 23 insertions(+), 12 deletions(-) diff --git a/Xext/xace.c b/Xext/xace.c index b3c67f6..fcb38db 100644 --- a/Xext/xace.c +++ b/Xext/xace.c @@ -29,11 +29,6 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "gcstruct.h" #include "xacestr.h" -#define XSERV_t -#define TRANS_SERVER -#include <X11/Xtrans/Xtrans.h> -#include "../os/osdep.h" - _X_EXPORT CallbackListPtr XaceHooks[XACE_NUM_HOOKS] = { 0 }; /* Special-cased hook functions. Called by Xserver. @@ -342,15 +337,11 @@ XaceCensorImage(ClientPtr client, int XaceGetConnectionNumber(ClientPtr client) { - XtransConnInfo ci = ((OsCommPtr) client->osPrivate)->trans_conn; - - return _XSERVTransGetConnectionNumber(ci); + return GetClientFd(client); } int XaceIsLocal(ClientPtr client) { - XtransConnInfo ci = ((OsCommPtr) client->osPrivate)->trans_conn; - - return _XSERVTransIsLocal(ci); + return ClientIsLocal(client); } diff --git a/Xext/xselinux_hooks.c b/Xext/xselinux_hooks.c index e69bfe7..d9f2f68 100644 --- a/Xext/xselinux_hooks.c +++ b/Xext/xselinux_hooks.c @@ -41,7 +41,6 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "extnsionst.h" #include "xacestr.h" #include "client.h" -#include "../os/osdep.h" #define _XSELINUX_NEED_FLASK_MAP #include "xselinuxint.h" diff --git a/include/os.h b/include/os.h index b2b96c8..9937f2e 100644 --- a/include/os.h +++ b/include/os.h @@ -415,6 +415,7 @@ typedef struct { extern _X_EXPORT int GetLocalClientCreds(ClientPtr, LocalClientCredRec **); + extern _X_EXPORT void FreeLocalClientCreds(LocalClientCredRec *); @@ -422,6 +423,12 @@ extern _X_EXPORT int ChangeAccessControl(ClientPtr /*client */ , int /*fEnabled */ ); extern _X_EXPORT int +GetClientFd(ClientPtr); + +extern _X_EXPORT Bool +ClientIsLocal(ClientPtr client); + +extern _X_EXPORT int GetAccessControl(void); extern _X_EXPORT void diff --git a/os/access.c b/os/access.c index 75e7a69..2bde4fe 100644 --- a/os/access.c +++ b/os/access.c @@ -1575,6 +1575,20 @@ GetAccessControl(void) return AccessEnabled; } +int +GetClientFd(ClientPtr client) +{ + return ((OsCommPtr) client->osPrivate)->fd; +} + +Bool +ClientIsLocal(ClientPtr client) +{ + XtransConnInfo ci = ((OsCommPtr) client->osPrivate)->trans_conn; + + return _XSERVTransIsLocal(ci); +} + /***************************************************************************** * FamilyServerInterpreted host entry implementation * -- 2.5.0 _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel