Commit Graph

521 Commits

Author SHA1 Message Date
Alan Coopersmith
b680bda34d 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>
2009-05-08 12:27:11 -07:00
Peter Hutterer
a38d33f6ac Xext: shut up compiler warnings in xtest.c
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-05 14:12:04 +10:00
Peter Hutterer
14d5471981 Xext: return BadDevice from XTest if we don't have keys/buttons/valuators.
BadDevice is an XI error, but this cannot happen for core XTest fake input
anyway since the device will be the matching virtual XTest slave device.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-05 14:12:04 +10:00
Peter Hutterer
f1bed0959e Xext: fix core Xtest button presses, don't call PickPointer.
We already did the device selection before, so dev should be the XTest virtual
pointer.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-05 14:12:04 +10:00
Eamon Walsh
57aff88c7d Fix most remaining deprecated resource lookups.
Callsites updated to use dixLookupResourceBy{Type,Class}.
TODO: Audit access modes to make sure they reflect the usage.
2009-04-29 01:04:37 -04:00
Benjamin Close
fab563bf8f input: propagate XTst events through virtual slave devices.
A XTest virtual slave device pair (kbd/ptr) exists for every master
device pair. This is so XTest events are correctly propogated via slave
devices up to Master devices and the classes are correctly changed along
the way. We add the XTest slave device pair to the Virtual Core pointer
and provide a simple way of creating the devices.

A XTest Slave Device is identified by the XTstDevicePrivateKey property
being set in the devices devProperties

XI events are still propagated through the matching device, in the hope the
client knows what it is doing.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-24 15:28:33 +10:00
Eamon Walsh
4559d2ace6 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.
2009-04-16 23:46:01 -04:00
Eamon Walsh
3481b32ab9 security: Fix a crash caused by wrong ordering of format arguments. 2009-04-16 23:46:01 -04:00
Eamon Walsh
6045506be0 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.
2009-04-16 23:46:00 -04:00
Eamon Walsh
682d7b5569 xselinux: Don't BadAlloc in List* requests if there are no items to list. 2009-04-09 02:48:04 -04:00
Eamon Walsh
e8b324102f xselinux: Don't require incoming context strings to be null-terminated. 2009-04-08 15:10:16 -04:00
Adam Jackson
e25d55ad54 Revert accidental Makefile change from previous commit 2009-04-03 22:38:00 -04:00
Adam Jackson
472811dc4b DPMS: Re-export the various DPMS variables.
The drivers might not need them but extmod does.  Should move it to
builtin though.
2009-04-03 22:27:51 -04:00
Adam Jackson
2d0a4fff79 DPMS: Remove unused DPMSGet() 2009-04-03 18:22:20 -04:00
Adam Jackson
4da347adb1 DPMS: Code motion. 2009-04-03 18:22:19 -04:00
Adam Jackson
283a081572 selinux: Only activate if policy says to be an object manager 2009-03-27 15:56:15 -04:00
Peter Hutterer
603db34337 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>
2009-03-27 11:26:15 +10:00
Adam Jackson
3992dd38ca 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.
2009-03-16 13:24:48 -04:00
Keith Packard
f8dd80d13b 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.
2009-03-09 13:08:09 -07:00
Eamon Walsh
c7ebb4bef1 Fix 2 const warnings. 2009-03-03 14:02:36 -05:00
Eric Paris
c7cf926d25 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.
2009-03-03 13:15:39 -05:00
Adam Jackson
b030f858f2 selinux: Don't bother relabeling resources that are being destroyed
Makes window destroy about 40x faster in Xvfb.
2009-02-27 12:45:19 -05:00
Peter Hutterer
36583a4996 mi: split EQ popping and event processing into two functions.
mieqProcessInputEvents() - pop an event off the EQ and pass it to
mieqProcessDeviceEvent() - process the event according to the MD/SD hierarchy.

This way, we can use mieqPDE() from Xtest, xkb, and others to post an event.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-23 17:52:40 +10:00
Eric Anholt
b349a764e9 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.
2009-02-17 15:28:29 -08:00
Peter Ã…strand
ddb8d8945d xserver: Avoid sending uninitialized padding data over the network
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-16 13:28:38 +10:00
Benjamin Close
a38ca0063c xext: Use proto header rather than the Xext include file, this prevents userspace being pulled in causing issues
Signed-off-by: Benjamin Close <Benjamin.Close@clearchain.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Daniel Stone <daniel@fooishbar.org>
2009-02-13 17:24:37 +10:30
Peter Hutterer
43a1c91a3d Xext: fix typo in GEEventFill macro
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-03 11:17:02 +10:00
Peter Hutterer
faeb18eb7e Xext: rename shape's EventType to ShapeEventType to avoid name clashing.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-03 08:51:11 +10:00
Peter Hutterer
cfd3443fe8 Xext: rename saver's EventType to SaverEventType.
Avoid namespace clashing with the internal events.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-03 08:51:11 +10:00
Paulo Cesar Pereira de Andrade
4e7bc2d7a9 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-01-30 03:56:39 -02:00
Adam Jackson
132b464d73 Remove a bunch of useless casts.
We've had void * for twenty years now people let's try to act like we
know how it works.
2009-01-22 02:11:16 -05:00
Daniel Stone
4fa3872dc2 Input: Remove core keysyms from KeyClassRec
Instead of always keeping two copies of the keymap, only generate the
core keymap from the XKB keymap when we really need to, and use the XKB
keymap as the canonical keymap.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-01-22 15:08:59 +11:00
Adam Jackson
e45a8a498d Remove CreateUnclippedWinSize from window.h
This is utterly wrong, but then, so is sdksyms.sh
2009-01-20 22:07:07 -05:00
Adam Jackson
20d2117eb8 Move CreateUnclippedWinSize to mbuf
It's the only user, so.
2009-01-20 00:18:02 -05:00
Peter Hutterer
e30032d0bb Xext: clean up XGE macros.
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2009-01-15 16:11:02 +10:00
Julien Cristau
6e20a4ae73 xsync: make SyncAlarmCounterDestroyed static 2009-01-11 08:54:10 +01:00
Julien Cristau
292311b421 Xext: ANSI cleanups 2009-01-11 08:54:10 +01:00
Thomas Jaeger
b2756a71a4 Xext: Send out correct events in ProcXTestFakeInput
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-01-09 17:49:26 +10:00
Peter Hutterer
83eb863e3c Xext: don't accept DeviceValuator if the dev doesn't have valuators (in xtest)
Reported by Chris Ball.
2009-01-09 16:08:58 +10:00
Paulo Cesar Pereira de Andrade
200230535f Update sdk headers to export new symbols.
All symbols in installed sdk headers should be explicitly tagged
as exported symbols. Otherwise, to ensure it is not a mistake, one
could write it as something like:
extern /* NOEXPORT */ type name ...;
but the proper procedure really should be to use a non sdk header
(or a "noinst_" one).
  This patch also removes prototypes to some functions that existed
only temporarily.
2009-01-05 16:49:57 -02:00
Adam Jackson
f2d1de6c2a xv: remove useless XVCALL macro 2008-12-19 10:27:37 -05:00
Eamon Walsh
5d065a8890 xselinux: Use xace Xtrans wrappers instead of the now-inaccessible wrapees. 2008-12-18 14:01:10 -05:00
Eamon Walsh
f87e66486c xace: Export wrappers around two Xtrans functions used by modules.
Don't know a better way to do this, since Xtrans isn't a library that
can be linked into modules.
2008-12-18 13:58:35 -05:00
Eamon Walsh
777408914d Add xace headers to the SDK when enabled and export the XaceHooks symbol
to modules.
2008-12-18 12:39:08 -05:00
Peter Hutterer
cb95642dc8 Remove #define NEED_EVENTS and NEED_REPLIES
A grep on xorg/* revealed there's no consumer of this define.

Quote Alan Coopersmith:
"The consumer was in past versions of the headers now located
in proto/x11proto - for instance, in X11R6.0's xc/include/Xproto.h,
all the event definitions were only available if NEED_EVENTS were
defined, and all the reply definitions required NEED_REPLIES.

Looks like Xproto.h dropped them by X11R6.3, which didn't have
the #ifdef's anymore, so these are truly ancient now."

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2008-12-12 11:43:32 +10:00
Adam Jackson
beb749c87f Fix syncsrv.h guard define 2008-12-11 17:04:37 -05:00
Colin Harrison
9fba808b4f xsync: Prototype fix. 2008-12-11 13:22:53 -05:00
Adam Jackson
dce887ff53 xsync: build fix
argh protocol header disaster
2008-12-11 13:16:41 -05:00
Adam Jackson
1f4fb0225b 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
2008-12-11 10:31:48 -05:00
Adam Jackson
1a99110f0c xsync: ANSI cleanups 2008-12-11 10:31:45 -05:00