summaryrefslogtreecommitdiff
path: root/Xext/xace.c
AgeCommit message (Collapse)AuthorFilesLines
2016-09-28xace: Don't censor window bordersKeith Packard1-7/+6
GetImage is allowed to return window border contents, so don't remove that from the returned image. Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com>
2016-08-15xace: Fix XaceCensorImage to actually censor the right part of the imageAaron Plattner1-1/+2
The caller passes arguments into XaceCensorImage that are in window-relative coordinates. However, the pBuf that it uses to construct a temporary pixmap has its origin at (x, y) relative to the window in question. The code to convert the censor region into boxes adjusts for the Y coordinate, but leaves the X coordinate alone. The result is that if x is not zero, it censors the wrong part of the image. Fix this by just translating censorRegion into pixmap-relative coordinates and using the resulting boxes as-is. Reported-by: Fabien Lelaquais <Fabien.Lelaquais@roguewave.com> Link: https://lists.x.org/archives/xorg/2016-August/058165.html Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
2016-06-10xace: Remove the audit hooks and tune dispatchAdam Jackson1-27/+8
There are no in-tree consumers of the audit hooks, and they are in any case redundant with the dtrace dispatch hooks. Neither is there any in-tree user of the core request dispatch hook. The extension hook is only used for non-default security cases, but in the absence of LTO we always have to take the function call into XaceHookDispatch to find out that there's no callback registered. Cc: Eamon Walsh <ewalsh@tycho.nsa.gov> Signed-off-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Keith Packard <keithp@keithp.com>
2015-09-24Xext, os: Remove OS-internal usages within XACE and XSELinuxKeith Packard1-11/+2
These extensions were accessing internal OS functions and structures. Expose the necessary functionality to them and remove their use of osdep.h Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Keith Packard <keithp@keithp.com>
2015-06-10xace: Add XaceHookIsSet helper functionAndrew Eikum1-0/+15
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2014-01-12Replace 'pointer' type with 'void *'Keith Packard1-3/+3
This lets us stop using the 'pointer' typedef in Xdefs.h as 'pointer' is used throughout the X server for other things, and having duplicate names generates compiler warnings. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2012-11-05Xext: fix shadow warningsYaakov Selkowitz1-6/+6
Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-03-21Introduce a consistent coding styleKeith Packard1-194/+204
This is strictly the application of the script 'x-indent-all.sh' from util/modular. Compared to the patch that Daniel posted in January, I've added a few indent flags: -bap -psl -T PrivatePtr -T pmWait -T _XFUNCPROTOBEGIN -T _XFUNCPROTOEND -T _X_EXPORT The typedefs were needed to make the output of sdksyms.sh match the previous output, otherwise, the code is formatted badly enough that sdksyms.sh generates incorrect output. The generated code was compared with the previous version and found to be essentially identical -- "assert" line numbers and BUILD_TIME were the only differences found. The comparison was done with this script: dir1=$1 dir2=$2 for dir in $dir1 $dir2; do (cd $dir && find . -name '*.o' | while read file; do dir=`dirname $file` base=`basename $file .o` dump=$dir/$base.dump objdump -d $file > $dump done) done find $dir1 -name '*.dump' | while read dump; do otherdump=`echo $dump | sed "s;$dir1;$dir2;"` diff -u $dump $otherdump done Signed-off-by: Keith Packard <keithp@keithp.com> Acked-by: Daniel Stone <daniel@fooishbar.org> Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2012-01-06xace: ricer tuning for XaceHookAdam Jackson1-0/+4
gcc doesn't want to hoist the check for XaceHooks[hook] != NULL above the varargs code for some reason, so do it ourselves. Before: 40000000 trep @ 0.0010 msec (1050420.2/sec): PutImage 10x10 square 60000000 trep @ 0.0005 msec (1921147.6/sec): ShmPutImage 10x10 square After: 40000000 trep @ 0.0009 msec (1087458.5/sec): PutImage 10x10 square 60000000 trep @ 0.0005 msec (2012238.6/sec): ShmPutImage 10x10 square Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Adam Jackson <ajax@redhat.com>
2010-08-10xace: Invalid reference to out-of-scope data.Chris Wilson1-95/+75
The callback data passed by reference to the hook was allocated on stack within the scope of the case statement. The compiler is free to reuse any of that stack space whilst making the function call so we may end up passing garbage into the callback. References: Bug 18451 - Xorg server 1.5.2 SEGV during XFixesGetCursorImage() https://bugs.freedesktop.org/show_bug.cgi?id=18451 v2: Drop the unrelated hunk that snuck in when ammending the commit message. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Keith Packard <keithp@keithp.com>
2010-06-06Remove more superfluous if(p) checks around free(p)Mikhail Gusarov1-1/+1
This patch has been generated by the following Coccinelle semantic patch: @@ expression E; @@ -if(E) { free(E); } +free(E); Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net> Reviewed-by: Julien Cristau <jcristau@debian.org> Reviewed-by: Fernando Carrijo <fcarrijo@yahoo.com.br> Reviewed-by: Matt Turner <mattst88@gmail.com>
2010-06-06Replace deprecated bzero with memsetMikhail Gusarov1-1/+1
Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net> Reviewed-by: Marcin BaczyƄski <marbacz@gmail.com> Reviewed-by: Daniel Stone <daniel@fooishbar.org> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2010-06-05Clean up after removal of screen parameters from region macros.Jamey Sharp1-3/+0
Signed-off-by: Jamey Sharp <jamey@minilop.net> Reviewed-by: Keith Packard <keithp@keithp.com>
2010-06-05Rename region macros to eliminate screen argumentKeith Packard1-7/+7
This is a combination of a huge mechanical patch and a few small fixups required to finish the job. They were reviewed separately, but because the server does not build without both pieces, I've merged them together at this time. The mechanical changes were performed by running the included 'fix-region' script over the whole tree: $ git ls-files | grep -v '^fix-' | xargs ./fix-region And then, the white space errors in the resulting patch were fixed using the provided fix-patch-whitespace script. $ sh ./fix-patch-whitespace Thanks to Jamey Sharp for the mighty fine sed-generating sed script. The hand-done changes involve removing functions from dix/region.c that duplicate inline functions in include/regionstr.h, along with their declarations in regionstr.h, mi.h and mispans.h. Reviewed-by: Jamey Sharp <jamey@minilop.net> Signed-off-by: Keith Packard <keithp@keithp.com>
2010-05-13Replace X-allocation functions with their C89 counterpartsMikhail Gusarov1-2/+2
The only remaining X-functions used in server are XNF*, the rest is converted to plain alloc/calloc/realloc/free/strdup. X* functions are still exported from server and x* macros are still defined in header file, so both ABI and API are not affected by this change. Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-09-02Correct outdated e-mail address in "Author" statements.Eamon Walsh1-1/+1
Signed-off-by: Eamon Walsh <ewalsh@tycho.nsa.gov>
2009-07-07The way XaceHook() mixes struct initializers and va_arg() is not portable andMichael Lorenz1-63/+53
gives bogus data on sparc and probably others leading to a crash. Fix: Don't use initializers, instead set each member directly to enforce order. Signed-off-by: Eamon Walsh <ewalsh@tycho.nsa.gov>
2009-01-22Remove a bunch of useless casts.Adam Jackson1-1/+1
We've had void * for twenty years now people let's try to act like we know how it works.
2009-01-11Xext: ANSI cleanupsJulien Cristau1-9/+8
2008-12-18xace: Export wrappers around two Xtrans functions used by modules.Eamon Walsh1-0/+20
Don't know a better way to do this, since Xtrans isn't a library that can be linked into modules.
2008-12-18Add xace headers to the SDK when enabled and export the XaceHooks symbolEamon Walsh1-1/+1
to modules.
2008-12-03Rework symbol visibility for easier maintenancePaulo Cesar Pereira de Andrade1-1/+1
Save in a few special cases, _X_EXPORT should not be used in C source files. Instead, it should be used in headers, and the proper C source include that header. Some special cases are symbols that need to be shared between modules, but not expected to be used by external drivers, and symbols that are accessible via LoaderSymbol/dlopen. This patch also adds conditionally some new sdk header files, depending on extensions enabled. These files were added to match pattern for other extensions/modules, that is, have the headers "deciding" symbol visibility in the sdk. These headers are: o Xext/panoramiXsrv.h, Xext/panoramiX.h o fbpict.h (unconditionally) o vidmodeproc.h o mioverlay.h (unconditionally, used only by xaa) o xfixes.h (unconditionally, symbols required by dri2) LoaderSymbol and similar functions now don't have different prototypes, in loaderProcs.h and xf86Module.h, so that both headers can be included, without the need of defining IN_LOADER. xf86NewInputDevice() device prototype readded to xf86Xinput.h, but not exported (and with a comment about it).
2008-12-02Add visibility flags to XSERVER_CFLAGS.Paulo Cesar Pereira de Andrade1-1/+1
This is done to actually change DIX_CFLAGS, as not all "modules" use XORG_CFLAGS. Also export the symbols that are required by other modules after the change.
2008-02-29XACE: Add generic support for property and selection polyinstantiation.Eamon Walsh1-4/+5
2008-02-12XACE: Move the selection access hook to its own function.Eamon Walsh1-11/+7
2008-02-05XACE: Push the dix "structure" includes down to the security modules.Eamon Walsh1-0/+4
2008-02-05XACE: Move the property access hook to its own function.Eamon Walsh1-12/+8
2008-01-25XACE: Remove the extension code entirely, XACE is completely static now.Eamon Walsh1-9/+0
2008-01-25XACE: Stop using fake requestVectors in favor of a simple hook call.Eamon Walsh1-121/+18
2008-01-25XACE: Don't need to actually register a protocol extension.Eamon Walsh1-50/+0
2008-01-03XACE: DeleteCallbackList zeroes out its argument so don't do it twice.Eamon Walsh1-3/+0
2008-01-03Bug #13765: Heap corruption in XC-SECURITY extension code.Eamon Walsh1-1/+1
2007-11-14Merge branch 'master' into XACE-SELINUXEamon Walsh1-44/+31
Conflicts: Xext/xace.c Xext/xace.h
2007-11-06Modified performance patches from Arjan van de Ven <arjan@infradead.org>Eamon Walsh1-26/+21
Subject: [PATCH] fix some performance gaps in Xace The XaceHook function is used in several hotpaths. The problem with it (performance wise) is twofold: * The XaceHook function has a big switch() statement for the hook number in it * The XaceHook function uses varargs to reassemble the final dispatch arguments again Both are expensive operations... for something that is known at compile time This patch turns the hotpath XaceHook call into a direct call to avoid the switch and varargs; this gives me over 10% performance gain on the x11perf benchmark.
2007-11-05Merge branch 'master' into XACE-SELINUXEamon Walsh1-2/+2
Conflicts: dix/dispatch.c dix/property.c hw/xfree86/common/xf86VidMode.c include/xkbsrv.h render/glyph.c xkb/xkbActions.c
2007-11-05Xext: Remove usage of allocaDaniel Stone1-2/+2
Replace with heap allocations.
2007-10-23xace: Still more changes to selection code. Removed the SelectionPtr fromEamon Walsh1-1/+0
the hook - the hook only needs the Atom to control access to the selection object. Upgraded the SelectionCallback to take a client argument and additional type codes so that it can be used for redirection.
2007-10-17xace: Add an access_mode field to the extension structure.Eamon Walsh1-2/+13
This allows the same callback to be used for both extension hooks.
2007-09-28xace: remove obsoleted DRAWABLE_ACCESS hook.Eamon Walsh1-10/+0
2007-09-05xace: add new fields to resource access hook to allow parent resource objectsEamon Walsh1-1/+3
to be passed in at create time. Also added a missing devPrivates initializer.
2007-08-30xace: add hooks + new access codes: XFixes extension.Eamon Walsh1-0/+1
Required a new name argument to the selection access hook to handle XFixesSelectSelectionInput.
2007-08-29xace: drop map-window checking hook, add new hooks for controlling theEamon Walsh1-2/+17
delivery of events to windows and clients. This is tentative. It's likely that an additional last-resort hook will be necessary for code that calls TryClientEvents or WriteEventsToClient directly. It's also possible that new xace machinery will be necessary to classify events and pull useful resource ID's out of them. The failure case also needs some thinking through. Should event delivery "succeed" or should it report undeliverable? Finally, XKB appears to call WriteToClient to pass events. Sigh.
2007-08-28xace: add hooks + new access codes: core protocol input requestsEamon Walsh1-1/+1
2007-08-16xace: drop background-none checking hook, add new hook for controllingEamon Walsh1-2/+12
access to other clients.
2007-08-15xace: rename hostlist security hook to "server" as this hook will be usedEamon Walsh1-2/+2
for other types of server access besides just the host list.
2007-08-06xace: drop site-policy and declare-extension-security hooks, add 2 new hooksEamon Walsh1-13/+7
for controlling access to screens and screen savers.
2007-04-17xace: change the semantics of the return value of XACE hooks to allowEamon Walsh1-24/+25
arbitrary X status codes instead of just TRUE/FALSE. The dix layer in most cases still does not propagate the return value of XACE hooks back to the client, however. There is more error propagation work to do.
2007-03-26Merge branch 'master' into XACE-SELINUXEamon Walsh1-2/+2
2007-03-25Static and dead code cleaup for Xext/Adam Jackson1-2/+2
2007-03-22xace: drop the name argument from the property callback.Eamon Walsh1-1/+0