Commit Graph

82 Commits

Author SHA1 Message Date
Peter Hutterer
4db8950b1d Xext: include securproto.h instead of securstr.h
Reported-by: Byeong-ryeol Kim
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-07-17 14:40:54 +10:00
Peter Hutterer
7b9e84e320 Xext: switch to byte counting functions
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-07-14 10:14:01 +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
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
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
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
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
Matthieu Herrb
95d162c438 CVE-2008-1377 - RECORD and Security extensions memory corruption
Lack of validation of the parameters of the
SProcSecurityGenerateAuthorization SProcRecordCreateContext
functions makes it possible for a specially crafted request to trigger
the swapping of bytes outside the parameter of these requests, causing
memory corruption.
2008-06-11 08:06:09 -06:00
Peter Hutterer
8190ef8754 Merge branch 'master' into mpx
Conflicts:

	Xext/EVI.c
	Xext/appgroup.c
	Xext/cup.c
	Xext/mitmisc.c
	Xext/sampleEVI.c
	dix/window.c
2008-04-22 18:04:05 +09:30
Adam Jackson
eafaf40fb3 Death to APPGROUP. 2008-04-18 18:50:05 -04:00
Peter Hutterer
fd06e8f8c1 Merge branch 'master' into dcdc_rework
Conflicts:

	Xext/xevie.c
	dix/dispatch.c
2008-04-07 07:56:41 +09:30
Peter Hutterer
4f2cd0ed96 Merge branch 'master' into mpx
This merge reverts Magnus' device coorindate scaling changes. MPX core event
generation is very different, so we can't scale in GetPointerEvents.

Conflicts:

	Xi/opendev.c
	dix/devices.c
	dix/dixfonts.c
	dix/getevents.c
	dix/resource.c
	dix/window.c
	hw/xfree86/common/xf86Xinput.c
	mi/mipointer.c
	xkb/ddxBeep.c
	xkb/ddxCtrls.c
	xkb/ddxKeyClick.c
	xkb/ddxList.c
	xkb/ddxLoad.c
	xkb/xkb.c
	xkb/xkbAccessX.c
	xkb/xkbEvents.c
	xkb/xkbInit.c
	xkb/xkbPrKeyEv.c
	xkb/xkbUtils.c
2008-03-04 18:11:10 +10:30
Eamon Walsh
cc76ea6e3a XACE: Add generic support for property and selection polyinstantiation. 2008-02-29 18:01:37 -05:00
Eamon Walsh
c8e979b3b8 security: Register resource names in the server-side name registry. 2008-02-26 21:36:46 -05:00
Eamon Walsh
f343265a28 XACE: Make the default window background state configurable per-window.
To recap: the original XC-SECURITY extension disallowed background "None" if
the window was untrusted.  XACE 1.0 preserved this check as a hook function.
XACE pre-2.0 removed the hook and first abolished background "None entirely,
then restored it as a global on/off switch in response to Bug #13683.
Now it's back to being per-window, via a flag instead of a hook function.
2008-02-20 15:59:40 -05:00
Eamon Walsh
4573cb2ce4 security: Revise set of permissions granted to untrusted clients.
Bug #14480: untrusted access broken on 7.3.
2008-02-13 20:20:49 -05:00
Eamon Walsh
5c30327275 XACE: Push the dix "structure" includes down to the security modules. 2008-02-05 21:06:05 -05:00
Peter Hutterer
8da83836b6 Merge branch 'master' into mpx
Conflicts:

	XTrap/xtrapddmi.c
	Xext/security.c
	Xext/xprint.c
	Xext/xtest.c
	Xext/xvdisp.c
	Xi/exevents.c
	Xi/grabdevb.c
	Xi/grabdevk.c
	Xi/opendev.c
	Xi/ungrdev.c
	Xi/ungrdevb.c
	Xi/ungrdevk.c
	dix/cursor.c
	dix/devices.c
	dix/dixutils.c
	dix/events.c
	dix/getevents.c
	dix/main.c
	dix/window.c
	hw/xfree86/ramdac/xf86Cursor.c
	include/dix.h
	include/input.h
	include/inputstr.h
	mi/midispcur.c
	mi/miinitext.c
	mi/misprite.c
	render/animcur.c
	xfixes/cursor.c
	xkb/xkbAccessX.c
2008-01-03 17:04:54 +10:30
Peter Hutterer
e5dd7a9579 Xext: Scruffy the janitor don't like no "register" keywords. 2007-11-21 15:59:31 +10:30
Eamon Walsh
8583bf78ad registry: Remove registry code from XC-SECURITY extension.
Moving all the names to dix/registry.c
2007-11-20 18:21:09 -05:00
Eamon Walsh
b092856bab registry: Register XC-SECURITY extension protocol names. 2007-11-09 14:45:02 -05:00
Eamon Walsh
8b5d21cc1d Rework of the XC-SECURITY extension. The gen-auth protocol has not changed,
but the XC-QUERY-SECURITY-1 authorization method and the SecurityPolicy
configuration file have been removed.  The semantics of the trusted vs.
untrusted split have been changed.  This will be documented in a future
commit.
2007-11-08 16:32:42 -05:00
Eamon Walsh
50551ec693 xace: remove obsoleted DRAWABLE_ACCESS hook. 2007-09-28 15:04:33 -04:00
Eamon Walsh
b2b7817497 devPrivates rework: use camelcase standard for name of key type. 2007-08-16 15:33:58 -04:00
Eamon Walsh
5bee8db003 xace: drop background-none checking hook, add new hook for controlling
access to other clients.
2007-08-16 10:44:51 -04:00
Eamon Walsh
3c9553ac2c xace: rename hostlist security hook to "server" as this hook will be used
for other types of server access besides just the host list.
2007-08-15 14:14:25 -04:00
Peter Hutterer
f367285fd5 Merge branch 'master' into mpx
Conflicts:

	Xi/exevents.c
	dix/devices.c
	dix/getevents.c
	include/dix.h
	mi/mieq.c
2007-08-12 15:31:10 +09:30
Eamon Walsh
375864cb74 security: drop support for XC-QUERY-SECURITY authorization method. 2007-08-03 13:23:34 -04:00
Eamon Walsh
d445d2f22b security: drop the "declare extension security" dix call. Use the
SecurityPolicy configuration file instead.
2007-08-03 10:56:18 -04:00
Eamon Walsh
e34fcd2bf4 Merge branch 'master' into XACE-SELINUX
Conflicts:

	dix/devices.c
	dix/property.c
	include/dix.h
2007-08-02 14:27:03 -04:00
Adam Jackson
f7f3fe7fe7 Remove the remnants of OS/2 support.
This has never worked in any modular server release, and as far as I know
was never tested in 6.7 through 6.9.
2007-06-28 18:59:05 -04:00
Peter Hutterer
5c680e9493 Remove double-grab option. We only want one grab per device. 2007-05-14 12:34:53 +09:30
Eamon Walsh
9cee4ec5e6 xace: change the semantics of the return value of XACE hooks to allow
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-04-17 16:01:56 -04:00
Eamon Walsh
47bd311e3d security: remove debugging code. 2007-04-17 13:46:55 -04:00
Eamon Walsh
1cb84768f3 security: rewrite to use new devPrivates support. 2007-04-03 15:31:16 -04:00
Peter Hutterer
e8777a91f3 Merge branch 'master' into mpx
Conflicts:

	Xi/closedev.c
	Xi/exevents.c
	Xi/extinit.c
	Xi/listdev.c
	dix/window.c
	hw/xfree86/common/xf86Xinput.c
	include/extinit.h
	mi/mipointer.c
2007-04-02 15:36:26 +09:30
Eamon Walsh
0331c6a8fc Merge branch 'master' into XACE-SELINUX 2007-03-26 10:28:05 -04:00
Adam Jackson
04b87d6dfa Static and dead code cleaup for Xext/ 2007-03-25 17:57:22 -04:00
Eamon Walsh
84a066cc88 xace: pass serverClient as default argument to dixChangeWindowProperty
instead of NullClient.
2007-03-23 10:33:53 -04:00
Eamon Walsh
e1cc68add0 xace: drop the name argument from the property callback. 2007-03-22 17:33:16 -04:00
Eamon Walsh
1b766ffc06 dix: reorganize property code to better support xace hook; requires new API for
changing a property, dixChangeWindowProperty, taking an additional client argument.
2007-03-22 15:55:35 -04:00
Eamon Walsh
1b58304ac8 xace: add new argument to property hook for property structure itself. 2007-03-22 14:07:01 -04:00
Eamon Walsh
6a89106e9c xselinux + security: remove confusing CALLBACK macro. 2007-03-19 16:51:29 -04:00
Peter Hutterer
ceca5670fe dix: Each device needs to differ between a core grab and an XI grab,
otherwise a Xi grab may overwrite or release a core grab.
        Replace grab and associates with coreGrab and deviceGrab structures,
        adjust rest of dix/Xi/etc to compile.

xfree86: Don't check for core devices, we'll have the virtual ones anyway.
         If we check, the first mouse device is duplicated and sends
         double events.
2007-03-08 17:17:23 +10:30
Peter Hutterer
1f0075786f Merge branch 'master' into mpx
Conflicts:

	configure.ac
	dix/getevents.c
	hw/xfree86/ramdac/xf86Cursor.c
	mi/mipointer.c
	xkb/xkbUtils.c
2007-03-05 12:37:17 +10:30
Eamon Walsh
c2f3f705f1 Bug #6988: Change behavior of Security extension per user feature request. 2007-02-15 14:38:24 -05:00
Peter Hutterer
15a81b6325 Merge branch 'master' 2007-01-28 17:18:57 +10:30
Alan Coopersmith
b32a40817f Correct variable descriptions in comment for SecurityCheckResourceIDAccess 2007-01-24 16:29:49 -08:00