Commit Graph

482 Commits

Author SHA1 Message Date
Adam Jackson
4d349b6c33 selinux: Only activate if policy says to be an object manager
(cherry picked from commit 283a081572)
2009-07-29 15:50:06 -07:00
Keith Packard
1addf6fe23 Replace dixLookupResource by dixLookupResourceBy{Type,Class}
dixLookupResource attempted to automatically detect whether the caller
wanted a lookup by-type or by-class, unfortunately, it guessed wrong for
RT_NONE. Instead of trying to make the guess better, this patch just reverts
the unification and creates separate functions for each operation.
(cherry picked from commit f8dd80d13b)

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-07-26 13:56:57 -07:00
Eric Anholt
d478bc9488 xinerama: Put the proto version in the code instead using proto headers.
Proto headers updating resulting in the server advertising new versions is
broken.  This should be applied to every extension.

This fixes the build against slightly-older xineramaproto.
(cherry picked from commit b349a764e9)

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-07-06 13:23:29 -07:00
Jeremy Huddleston
597747c655 Fix a couple off-by-one array boundary checks.
Error: Write outside array bounds at Xext/geext.c:406
        in function 'GEWindowSetMask' [Symbolic analysis]
       In array dereference of cli->nextSib[extension] with index 'extension'
       Array size is 128 elements (of 4 bytes each), index <= 128

Error: Buffer overflow at dix/events.c:592
	in function 'SetMaskForEvent' [Symbolic analysis]
       In array dereference of filters[deviceid] with index 'deviceid'
       Array size is 20 elements (of 512 bytes each), index >= 0 and index <= 20

Error: Read buffer overflow at hw/xfree86/loader/loader.c:226
	in function 'LoaderOpen' [Symbolic analysis]
       In array dereference of refCount[new_handle] with index 'new_handle'
       Array size is 256 elements (of 4 bytes each), index >= 1 and index <= 256

These bugs were found using the Parfait source code analysis tool.
For more information see http://research.sun.com/projects/parfait

Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit b680bda34d)
(cherry picked from commit 04c9e80f08)

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-06-29 14:15:17 -07:00
Eamon Walsh
a9f85dcefb xselinux: Relax ownership restriction on SetSelectionUseContext.
Instead, clients should keep track of the selection instances they use.
(cherry picked from commit 0952d12717)

Signed-off-by: Eamon Walsh <ewalsh@tycho.nsa.gov>
2009-05-11 15:29:39 -04:00
Eamon Walsh
11db545a86 security: Grant untrusted windows remove access on all windows.
This allows untrusted clients to destroy their own windows when they
have been reparented by a trusted window manager.
(cherry picked from commit 4559d2ace6)
2009-04-16 23:48:52 -04:00
Eamon Walsh
5d48f288ec security: Fix a crash caused by wrong ordering of format arguments.
(cherry picked from commit 3481b32ab9)
2009-04-16 23:48:52 -04:00
Eamon Walsh
93e0a64813 security: Revert behavior of extension access for compatibility.
Previously, three extensions were defined as "trusted" by the extension:
BIG-REQUESTS, XC-MISC, and XPrint.  No other extensions were permitted
to be used by untrusted clients.

In commit 8b5d21cc1d this was changed for
some reason.  Return to the old, compatible behavior.
(cherry picked from commit 6045506be0)
2009-04-16 23:48:51 -04:00
Peter Hutterer
fcffa3a178 Xext: set POINTER_SCREEN flag in XTestFakeInput if necessary. (RH #490984)
The POINTER_SCREEN flag must be set explicitly for XTest core events to avoid
out-of-range events when the lastSlave was an SD with an explicit axis range.
Device events sent through XTest don't need this flag, they are expected to be
in the valuator range of the device anyway.

Red Hat Bug 490984 <https://bugzilla.redhat.com/show_bug.cgi?id=490984>

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 603db34337)
2009-04-13 16:16:05 -04:00
Eamon Walsh
50894e1354 xselinux: Don't BadAlloc in List* requests if there are no items to list.
(cherry picked from commit 682d7b5569)
2009-04-09 02:50:14 -04:00
Eamon Walsh
feb01d7d6e xselinux: Don't require incoming context strings to be null-terminated.
(cherry picked from commit e8b324102f)
2009-04-08 16:05:11 -04:00
Adam Jackson
0f9fd02dac selinux: Add support for avc_acquire_netlink_fd()
Requires libselinux 2.0.79 or newer.  Without this, libselinux will
check for policy updates on the netlink socket on basically every policy
lookup.  Statistically speaking, they never happen, and the check
translates to at least one more syscall on basically every operation.

Instead, take control of the fd from the library, and check it in
WakeupHandler if it polls readable.
(cherry picked from commit 3992dd38ca)
2009-03-27 16:18:39 -04:00
Adam Jackson
b3484c8480 selinux: Don't bother relabeling resources that are being destroyed
Makes window destroy about 40x faster in Xvfb.
(cherry picked from commit b030f858f2)
2009-03-27 16:18:08 -04:00
Eric Paris
f469726fec This patch changes all places in the X code to use _raw functions. The
X server should never see, translate, or deal with a munged context.
Display managers which show contexts to the user should take care of
translating these to human readable form.
(cherry picked from commit c7cf926d25)
2009-03-03 14:05:16 -05:00
Paulo Cesar Pereira de Andrade
34724f4551 Work around inclusion of <X11/extensions/panoramiXext.h>
The X Server build only needs the macros PANORAMIX_MAJOR_VERSION
and PANORAMIX_MINOR_VERSION from that header.
  Addition of extra prototypes to <X11/extensions/panoramiXext.h>
caused a X Server build failure.
2009-02-03 09:30:48 -08:00
Thomas Jaeger
364bcbea48 Xext: Send out correct events in ProcXTestFakeInput
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit b2756a71a4)
2009-01-30 17:12:41 -08:00
Adam Jackson
ca56d764d2 xsync: Fix wakeup storm in idletime counter.
Wakeup scheduling only considered the threshold values, and not whether
the trigger was edge or level.

See also:
https://bugzilla.redhat.com/show_bug.cgi?id=474586
http://svn.gnome.org/viewvc/gnome-screensaver/trunk/src/test-idle-ext.c?view=markup
(cherry picked from commit 1f4fb0225b)
2008-12-16 09:55:27 -05:00
Bernhard Rosenkraenzer
e40841ce5a Xext: fix MultiBuffer compilation error with TryClientEvents. (#18835)
X.Org Bug 18835 <http://bugs.freedesktop.org/show_bug.cgi?id=18835>

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
(cherry picked from commit 1dfed222e9)
2008-12-02 23:27:15 -08:00
Eamon Walsh
ed597f19fd xselinux: use "raw context" variants of getpeercon() and getcon(). 2008-11-25 22:49:19 -05:00
Eamon Walsh
2538fc0d89 xselinux: don't pass a NULL key string to selabel_lookup(). 2008-11-25 18:28:12 -05:00
James Cloos
b3c7e62664 Remove some null statements.
Remove several doubled statement-terminal semicolons.

Reported by Fernando Carrijo.
2008-11-08 12:21:20 -05:00
Daniel Stone
f4036f6ace Remove XEvIE
It's unmaintained and has been broken for quite a while; MPX finally
smashed it completely.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-04 16:01:07 +10:30
Peter Hutterer
b6b26560d6 Move EXTENSION_BASE and EXTENSION_EVENT_BASE to misc.h. 2008-10-31 17:09:13 +10:30
Eamon Walsh
0f2fd0577f xselinux: send more specific message types to libaudit. 2008-10-30 18:29:51 -04:00
Julien Cristau
f2bda61c03 Xext: Fix compiler warnings
Make GEClientGone static and include registry.h, to fix the following
warnings:
geext.c:225: warning: no previous prototype for 'GEClientGone'
geext.c: In function 'GEExtensionInit':
geext.c:280: warning: implicit declaration of function 'RegisterResourceName'
geext.c:280: warning: nested extern declaration of 'RegisterResourceName'
2008-10-26 11:43:48 +01:00
Adam Jackson
8a5b89e8e1 xalloc+memset(0) -> xcalloc 2008-10-06 15:36:51 -04:00
Adam Jackson
f836e1f11b Unifdef ISC 2008-10-02 17:03:54 -04:00
Peter Harris
2b266eda6e Fix panoramiX request and reply swapping
Fix panoramiX request and reply swapping
 Set window and screen values in panoramix replies
 Prevent buffer overrun in ProcPanoramiXGetScreenSize
2008-09-21 19:19:24 +02:00
Julien Cristau
b5cdcfa55c Xevie: swap replies as necessary 2008-09-01 20:05:05 +02:00
Thorvald Natvig
d3ae193f4a Xevie: always initialize rep.length (bug#17394)
The XEvIE extension doesn't clear the rep.length field for any reply but
the version check. Hence, if there is junk data in it and that is sent
to the client, it hangs.

X.Org bug#17394 (http://bugs.freedesktop.org/show_bug.cgi?id=17394)
2008-09-01 19:36:56 +02:00
Eamon Walsh
60ad8d5d05 Attempt getpeercon() on remote sockets as well as local ones. 2008-08-28 23:45:17 -04:00
Tomas Carnecky
ebea78cdba Prepare for array-index based devPrivates.
TODO: static indices can be made just an int; some indices
can be combined.
2008-08-28 18:05:40 -04:00
Adam Jackson
835b532d6f Build fix. 2008-08-28 14:49:35 -04:00
Adam Jackson
040212ee60 MIT-SHM pixmaps, if they exist, are ZPixmap. 2008-08-28 13:49:35 -04:00
Adam Jackson
ee7c684f21 Reimplement ShmPutImage.
There's no reason to not just dispatch this straight into the GC.  As a
bonus, if you do so, damage wraps correctly, and thus swcursor works.
The side effect is it's no longer possible to override ShmPutImage with
ShmRegisterFuncs().

Also remove the (broken) damage tracking for same from EXA, since it didn't
work right, and is now superfluous.
2008-08-28 10:12:28 -04:00
Adam Jackson
64ef7ed072 Centralize declaration of ConnectionInfo. 2008-08-20 13:14:34 -04:00
Adam Jackson
0ce687634f Eviscerate save-under support.
Use a compositing manager already.  Plus I really wanted to use 'eviscerate'
in a commit message.
2008-08-13 17:28:08 -04:00
Tomas Carnecky
5532d63488 Redefine WindowTable as a fixed array
Instead of xalloc'ing it every server generation. The array is always
the same size (MAXSCREENS), anyway.
2008-08-05 01:17:32 +03:00
Aaron Plattner
b37b1e6699 Make shmint.h part of the SDK.
This includes ShmRegisterFuncs, ShmSetPixmapFormat, fbShmPutImage, and
ShmRegisterFbFuncs.  Note that fbShmPutImage was already exported.
2008-07-30 18:55:03 -07:00
Adam Jackson
f3ff238601 Sync is built-in and mandatory. 2008-07-24 15:46:08 -04:00
Adam Jackson
3fcf4d3eb8 XC-MISC is built-in and mandatory. 2008-07-24 15:46:08 -04:00
Adam Jackson
9757106bba Remove all empty extension reset hooks, replace with NULL. 2008-07-24 15:46:08 -04:00
Adam Jackson
f65c50c4e9 Bigreqs are built-in and mandatory. 2008-07-24 15:46:08 -04:00
Adam Jackson
d6228cb22a Shape extension is built-in and mandatory. 2008-07-24 15:46:08 -04:00
Adam Jackson
0b45ba488d Drop the FONTCACHE extension.
This appears to have been dead code since X-TT was merged.
2008-07-18 10:54:10 -04:00
Mathieu Bérard
47833eef35 Drop a bunch of #ifdef Lynx. 2008-07-17 11:59:24 -04:00
Peter Hutterer
acce270935 Xext: store the GenericMasks in the resource system.
This fixes a severe issue - when the client died the event mask didn't get
unregistered and a future event would dereference dangling pointers. By
storing the event masks in the resource system we can free them when the
client dies.
2008-07-10 16:02:55 +09:30
Eamon Walsh
79dd600942 SELinux: Add an extension alias under the OS-agnostic "Flask" name. 2008-06-17 19:11:21 -04:00
Eamon Walsh
720e44f973 Fix "warning: no previous prototype for ‘XevieExtensionInit’". 2008-06-13 21:42:37 -04:00
Kristian Høgsberg
dba5455f06 Un-K&R shm extension. 2008-06-11 11:41:44 -04:00