Commit Graph

338 Commits

Author SHA1 Message Date
Eamon Walsh c7e18beb3c xselinux: Register SELinux extension protocol names. 2007-11-05 15:02:05 -05:00
Daniel Stone 934281126f Xext: Remove usage of alloca
Replace with heap allocations.
2007-11-05 14:34:46 +00:00
Aaron Plattner f2e310132f Add CreatePixmap allocation hints.
These hints allow an acceleration architecture to optimize allocation of certain
types of pixmaps, such as pixmaps that will serve as backing pixmaps for
redirected windows.
2007-11-04 16:11:28 -08:00
Eamon Walsh 3b7af72fe3 xselinux: Add a SetDeviceContext request and stubs for more requests. 2007-10-26 20:32:47 -04:00
Eamon Walsh 7d14ca59c5 xselinux: Don't include the client in the receive hook audit messages. 2007-10-25 19:00:50 -04:00
Eamon Walsh 40de9fcf18 xselinux: Label the default device directly with the process context. 2007-10-25 12:35:01 -04:00
Eamon Walsh 4b05f19cb9 xselinux: Introduce a type transition when labeling events. 2007-10-24 19:59:58 -04:00
Eamon Walsh 0d2ef187e7 xselinux: Add audit message fields for selection and event names. 2007-10-24 18:23:31 -04:00
Eamon Walsh 46521f5298 xselinux: Add basic support for selection access control and redirection.
Probably not fully baked yet.  It's difficult to test since so few apps
actually follow the ICCCM with respect to cut & paste.
2007-10-23 20:58:48 -04:00
Eamon Walsh 825f09dffd xace: Still more changes to selection code. Removed the SelectionPtr from
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-23 17:12:57 -04:00
Eamon Walsh 660557593e xselinux: Remove synthetic bit when looking up event type. 2007-10-23 14:46:37 -04:00
Eamon Walsh d7db549db4 xselinux: Unregister callbacks on server reset. 2007-10-23 14:08:54 -04:00
Eamon Walsh ce7f6fe126 xselinux: properly update sizes when dynamic arrays are resized... 2007-10-19 19:40:04 -04:00
Eamon Walsh 55a96aa6b0 xselinux: add basic event labeling. 2007-10-18 14:11:11 -04:00
Eamon Walsh e974bc1233 xselinux: add hooks for send and receive access. 2007-10-18 12:33:39 -04:00
Eamon Walsh aa340b2c7c xselinux: add hook for device acceses. 2007-10-17 19:27:16 -04:00
Eamon Walsh 503f918f55 xselinux: Move functions around; add some more comments. 2007-10-17 19:14:15 -04:00
Eamon Walsh c3f7b86255 Merge branch 'master' into XACE-SELINUX
Conflicts:

	os/access.c
2007-10-17 15:00:54 -04:00
Eamon Walsh af4dde0ac1 xselinux: Remove config file, this has been moved to the policy. 2007-10-17 14:13:02 -04:00
Eamon Walsh baabae623b xselinux: Started reworking extension using new XACE hooks. 2007-10-17 13:54:56 -04:00
Eamon Walsh db66e66dbf xace: Add an access_mode field to the extension structure.
This allows the same callback to be used for both extension hooks.
2007-10-17 13:51:11 -04:00
Eamon Walsh 853ea337bd registry: Register XvMC extension protocol names. 2007-10-15 22:13:02 -04:00
Eamon Walsh 58c3240fcb registry: Register MIT-SCREEN-SAVER extension protocol names. 2007-10-15 22:09:47 -04:00
Eamon Walsh 4e274e90e1 registry: Register SHAPE extension protocol names. 2007-10-15 22:04:20 -04:00
Eamon Walsh 9f597f6c87 registry: Register SYNC extension protocol names. 2007-10-15 22:01:20 -04:00
Eamon Walsh b504678ba5 registry: Register APPGROUP extension protocol names. 2007-10-15 21:55:09 -04:00
Eamon Walsh 6ec35a8cf5 registry: Register BigRequests extension protocol names. 2007-10-15 21:46:56 -04:00
Eamon Walsh 1254cc399c registry: Register Fontcache extension protocol names. 2007-10-15 21:43:06 -04:00
Eamon Walsh e987648cf2 registry: Register EVI extension protocol names. 2007-10-15 21:38:56 -04:00
Eamon Walsh f6226d3bfe registry: Register TOG-CUP extension protocol names. 2007-10-15 21:35:12 -04:00
Eamon Walsh 7e182a5d89 registry: Register MIT-MISC extension protocol names. 2007-10-15 21:13:39 -04:00
Eamon Walsh 32f6171862 registry: Register XF86Bigfont extension protocol names. 2007-10-15 21:10:14 -04:00
Eamon Walsh 12766c5b5f registry: Register Xv extension protocol names. 2007-10-15 21:00:46 -04:00
Eamon Walsh 35ae03871a registry: Register XC-MISC extension protocol names. 2007-10-15 20:50:26 -04:00
Eamon Walsh 32fe282d5b registry: Register XTest extension protocol names. 2007-10-15 20:45:18 -04:00
Eamon Walsh 3877faf7d9 registry: Register Multibuffer extension protocol names. 2007-10-15 20:35:13 -04:00
Eamon Walsh 16764a2d29 registry: Register DPMS extension protocol names. 2007-10-15 20:29:23 -04:00
Eamon Walsh f077578e42 registry: Register XPrint extension protocol names. 2007-10-15 19:43:02 -04:00
Eamon Walsh 5c8b1a9172 registry: Register Resource extension protocol names. 2007-10-15 19:35:04 -04:00
Eamon Walsh 48891d5696 registry: Register EVIE extension protocol names. 2007-10-15 19:32:01 -04:00
Eamon Walsh 2c9646ad4e registry: Register SHM extension protocol names. 2007-10-15 19:18:03 -04:00
Eamon Walsh b9f5ab98c8 registry: Register XINERAMA extension protocol names. 2007-10-15 16:18:37 -04:00
Eamon Walsh 6adeba1730 dix: Add a new "registry" mechanism for registering string names of things.
Supports protocol requests, events, and errors, and resource names.
Modify XRES extension to use it.
2007-10-11 14:18:59 -04:00
Eamon Walsh 473bc6ec4c xace: remove the special-cased "ignore" functionality from the property code.
There will be no more faking of Success to hide things.  XACE does not
provide polyinstantiation.
2007-10-10 19:43:12 -04:00
Alan Coopersmith fdef7be5c8 Sun bug 6589829: include zoneid of shm segment in access policy for MIT-SHM
<http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6589829>
<http://www.opensolaris.org/os/community/arc/caselog/2007/500/>
2007-10-09 18:44:51 -07:00
Peter Hutterer ab88cb8d2e Xext: add missing geint.h to Makefile.am (un-breaks make dist) 2007-10-03 18:08:33 +09:30
Eamon Walsh b77d272d75 xace: add hooks + new access codes: XTEST extension 2007-10-02 13:21:53 -04:00
Eamon Walsh 50551ec693 xace: remove obsoleted DRAWABLE_ACCESS hook. 2007-09-28 15:04:33 -04:00
Eamon Walsh 8b54865720 xace: add hooks + new access codes: XKB extension.
Removes "LookupKeyboardDevice" and "LookupPointerDevice" in favor of
inputInfo.keyboard and inputInfo.pointer, respectively; all use cases
are non-XI compliant anyway.
2007-09-28 13:34:18 -04:00
Eamon Walsh 5c03d13181 xace: add new hooks + access controls: XInput extension.
Introduces new dix API to lookup a device, dixLookupDevice(), which
replaces LookupDeviceIntRec and LookupDevice.
2007-09-28 08:02:00 -04:00
Eamon Walsh b61461425e xace: add hooks + new access codes: XV extension.
May need to revisit this extension in the future, depending on observed use.
2007-09-25 09:56:00 -04:00
Eamon Walsh 9bd04055a2 xace: change prototype of VALIDATE_DRAWABLE_AND_GC macro to allow access
mode to be passed to dixLookupDrawable.
2007-09-25 09:33:51 -04:00
Eamon Walsh a247886b08 xace: add hooks + new access codes: XF86-Bigfont extension 2007-09-20 13:06:38 -04:00
Eamon Walsh f6532a81ee xace: add hooks + new access codes: APPGROUP extension 2007-09-20 12:17:17 -04:00
Eamon Walsh 661b1328cf xace: add hooks + new access codes: SYNC extension
May need to revisit this extension in the future, depending on observed use.
2007-09-20 09:14:09 -04:00
Eamon Walsh 90bacdef72 xace: add hooks + new access codes: MIT-SHM extension 2007-09-20 06:53:51 -04:00
Eamon Walsh 97c150b61b Merge branch 'master' into XACE-SELINUX
Conflicts:

	afb/afbpntwin.c
	afb/afbscrinit.c
	afb/afbwindow.c
	cfb/cfb.h
	cfb/cfballpriv.c
	cfb/cfbscrinit.c
	cfb/cfbwindow.c
	configure.ac
	fb/wfbrename.h
	hw/xfree86/xf4bpp/ppcIO.c
	hw/xfree86/xf4bpp/ppcPntWin.c
	hw/xfree86/xf4bpp/ppcWindow.c
	hw/xfree86/xf8_32bpp/cfbscrinit.c
	mfb/mfb.h
	mfb/mfbpntwin.c
	mfb/mfbscrinit.c
	mfb/mfbwindow.c
	mi/miexpose.c

Note: conflicts caused by devPrivates rework vs. paintwindow changes.
2007-09-19 07:25:55 -04:00
Eric Anholt e4d11e58ce Remove the PaintWindow optimization.
This was an attempt to avoid scratch gc creation and validation for paintwin
because that was expensive.  This is not the case in current servers, and the
danger of failure to implement it correctly (as seen in all previous
implementations) is high enough to justify removing it.  No performance
difference detected with x11perf -create -move -resize -circulate on Xvfb.
Leave the screen hooks for PaintWindow* in for now to avoid ABI change.
2007-09-13 00:08:53 +00:00
Eamon Walsh 0003ccfcdf xace: add new fields to resource access hook to allow parent resource objects
to be passed in at create time.  Also added a missing devPrivates initializer.
2007-09-05 11:18:36 -04:00
Matthieu Herrb 4062db4020 typo in comment 2007-09-04 22:39:14 +02:00
Eamon Walsh 53f346b158 xace: add hooks + new access codes: SHAPE extension 2007-08-30 13:20:04 -04:00
Eamon Walsh 766c693ef3 xace: add hooks + new access codes: MIT-SCREEN-SAVER extension 2007-08-30 13:06:28 -04:00
Eamon Walsh cda92bbf12 xace: add hooks + new access codes: XFixes extension.
Required a new name argument to the selection access hook to handle
XFixesSelectSelectionInput.
2007-08-30 11:48:45 -04:00
Eamon Walsh 4795df6245 xace: add hooks + new access codes: TOG-CUP extension. 2007-08-29 14:40:10 -04:00
Eamon Walsh e39694789e xace: drop map-window checking hook, add new hooks for controlling the
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-29 14:16:46 -04:00
Eamon Walsh 41355a53c2 xace: add hooks + new access codes: core protocol input requests 2007-08-28 15:10:20 -04:00
Eamon Walsh 4017d31902 devPrivates rework: since API is already broken, switch everything
over to new system.

Need to update documentation and address some remaining vestiges of
old system such as CursorRec structure, fb "offman" structure, and
FontRec privates.
2007-08-28 09:28:25 -04:00
Eamon Walsh 8554707326 Merge branch 'master' into XACE-SELINUX
Conflicts:

	include/miscstruct.h
	mi/mibstore.c
	mi/midispcur.c
	os/Makefile.am
2007-08-28 07:25:21 -04:00
Adam Jackson ae7f71a8b3 Implement core protocol backing store exclusively in terms of Composite.
Composite's automatic redirection is a more general mechanism than the
ad-hoc BS machinery, so it's much prettier to implement the one in terms
of the other.  Composite now wraps ChangeWindowAttributes and activates
automatic redirection for windows with backing store requested.  The old
backing store infrastructure is completely gutted: ABI-visible structures
retain the function pointers, but they never get called, and all the
open-coded conditionals throughout the DIX layer to implement BS are gone.

Note that this is still not a strictly complete implementation of backing
store, since Composite will throw the bits away on unmap and therefore
WhenMapped and Always hints are equivalent.
2007-08-25 15:08:20 -04:00
Michel Dänzer 6085522d91 Export fbShmPutImage to modules.
To be used by EXA.
2007-08-24 14:02:35 +02:00
Eamon Walsh b2b7817497 devPrivates rework: use camelcase standard for name of key type. 2007-08-16 15:33:58 -04:00
Jeremy C. Reed 1d4bea6106 Add some more support for DragonFly. From Joerg Sonnenberger
and pkgsrc.
2007-08-16 11:20:12 -05: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 b82557c9fb xace: add hooks + new access codes: core protocol screensaver requests 2007-08-16 10:36:05 -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
Fredrik Höglund 0f9e89b4e3 Fix the value comparisons in the IDLETIME wakeup handler.
LessThan/GreaterThan comparisons were used in the wakeup handler,
and LessOrEqual/GreaterOrEqual in the block handler.

Change it to use LessOrEqual/GreaterOrEqual in both functions,
since this is what XSyncNegativeComparison and
XSyncPositiveComparison imply.
2007-08-14 22:47:49 +02:00
Eamon Walsh 9a183d7ba5 dix: remove caching of drawables and graphics contexts. The security checks
simply bypass the cached values so they are unused.
2007-08-14 11:39:26 -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 102df4f9ba xace: drop site-policy and declare-extension-security hooks, add 2 new hooks
for controlling access to screens and screen savers.
2007-08-06 09:16:30 -04:00
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
Peter Hutterer 583e988b9f Install geext.h, otherwise drivers won't build. 2007-07-10 10:10:04 +09:30
Peter Hutterer 5ccc09b182 Use the same struct for generic event masks throughout the code.
Renaming those structs too.

Previously grabs were using a different struct than windows, which was
reasonably stupid.
2007-07-06 15:43:08 +09:30
Peter Hutterer c1a16bdcfe Add 'evfill' field to GEExtensions.
We need this to allow extensions to fill in extra data for an event before it
is sent to the client. This is probably to be used like
FillUpEventsFromWindow().
2007-07-01 09:14:18 +09:30
Adam Jackson 4d76075dbb Death to RCS tags. 2007-06-29 14:06:52 -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
Eamon Walsh 32c0dcc8c0 xselinux: adjust the config file format to that expected by libselinux.
This file will eventually be moved out of the X source tree.
2007-06-21 15:39:19 -04:00
Eamon Walsh 2030e9e539 xselinux: use new libselinux support for context labeling.
Remove all the config file parsing code and use the new lookup interface
instead.
2007-06-21 15:37:18 -04:00
Peter Hutterer 1f97a76476 Merge branch 'master' into mpx
Conflicts:

	dix/devices.c
	hw/xfree86/common/xf86Xinput.c
	hw/xfree86/loader/xf86sym.c
	mi/mieq.c
2007-06-19 17:20:52 +09:30
Eamon Walsh e2a720c9a1 Merge branch 'master' into XACE-SELINUX
Conflicts:

	dix/dixutils.c
2007-06-11 15:29:11 -04:00
Eamon Walsh 878cac71aa xselinux: use new libselinux support for private Flask definitions.
Removes indirect dependency on kernel headers.
2007-06-11 14:19:37 -04:00
Eugene Konev 857ddbb660 Allow configurable serverconfigdir for security policy location
Allow the location of the SERVERCONFIGdir variable to be defined at
compile-time. This allows us to specify where the security policy will be
located (Debian uses this to put it in /etc). The default is to the
previous location.
2007-05-28 21:53:02 -04:00
Eamon Walsh 2a4aa63a23 Merge branch 'master' into XACE-SELINUX
Conflicts:

	include/miscstruct.h
2007-05-22 14:50:26 -04:00
Fredrik Höglund 7e2c935920 Add a new IDLETIME system sync counter.
This counter exposes the time in milliseconds since the last
input event. Clients such as screen savers and power managers
can set an alarm on this counter to find out when the idle time
reaches a certain value, without having to poll the server.
2007-05-18 20:15:31 +02:00
Peter Hutterer 333bab4b23 Clean up, correct some comments.
Send event type down with the RawEvents.
2007-05-17 17:59:02 +09:30
Peter Hutterer 5c680e9493 Remove double-grab option. We only want one grab per device. 2007-05-14 12:34:53 +09:30
Peter Hutterer c03d9a7217 Cleaning up a bit.
Register correct event in EventSwapVector.
Fix up event swap for GE events, register XI's swap function at GE.
2007-05-02 18:16:40 +09:30
Peter Hutterer 5e43910929 Add GenericEvent extension to Xext.
This adds (unconditional) support for the GE extension. Anything from now on
that sends events in MPX will have to use the GE extension. No GE, no MPX
events. GE is not actually used yet from anywhere with this commit.

You will need to update x11proto, xextproto, libX11, libXext and xcb to the
matching xge branches. Things will _NOT_ work without the updated protocol
headers and libraries.
2007-04-30 12:57:42 +09:30
Paulo Ricardo Zanoni 82f97e1c0c Enable event delivery for multiple heads.
Requires moving the spriteTrace into the DeviceIntRec and adjusting a few
functions to take in device argument, most notably XYToWindow().

Cursor rendering on the second screen is busted.
2007-04-26 15:58:50 +09:30