Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver
This commit is contained in:
commit
aa131c51e0
|
@ -44,8 +44,7 @@ from The Open Group.
|
|||
#define _XAG_SERVER_
|
||||
#include <X11/extensions/Xagstr.h>
|
||||
#include <X11/extensions/Xagsrv.h>
|
||||
#define _SECURITY_SERVER
|
||||
#include <X11/extensions/security.h>
|
||||
#include "securitysrv.h"
|
||||
#include <X11/Xfuncproto.h>
|
||||
|
||||
#define XSERV_t
|
||||
|
@ -77,10 +76,6 @@ static int ProcXagDispatch(ClientPtr client);
|
|||
static int SProcXagDispatch(ClientPtr client);
|
||||
static void XagResetProc(ExtensionEntry* extEntry);
|
||||
|
||||
#if 0
|
||||
static unsigned char XagReqCode = 0;
|
||||
static int XagErrorBase;
|
||||
#endif
|
||||
static int XagCallbackRefCount = 0;
|
||||
|
||||
static RESTYPE RT_APPGROUP;
|
||||
|
@ -233,19 +228,6 @@ void XagClientStateChange(
|
|||
void
|
||||
XagExtensionInit(INITARGS)
|
||||
{
|
||||
#if 0
|
||||
ExtensionEntry* extEntry;
|
||||
|
||||
if ((extEntry = AddExtension (XAGNAME,
|
||||
0,
|
||||
XagNumberErrors,
|
||||
ProcXagDispatch,
|
||||
SProcXagDispatch,
|
||||
XagResetProc,
|
||||
StandardMinorOpcode))) {
|
||||
XagReqCode = (unsigned char)extEntry->base;
|
||||
XagErrorBase = extEntry->errorBase;
|
||||
#else
|
||||
if (AddExtension (XAGNAME,
|
||||
0,
|
||||
XagNumberErrors,
|
||||
|
@ -253,7 +235,6 @@ XagExtensionInit(INITARGS)
|
|||
SProcXagDispatch,
|
||||
XagResetProc,
|
||||
StandardMinorOpcode)) {
|
||||
#endif
|
||||
RT_APPGROUP = CreateNewResourceType (XagAppGroupFree);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@ in this Software without prior written authorization from The Open Group.
|
|||
#include "gcstruct.h"
|
||||
#include "colormapst.h"
|
||||
#include "propertyst.h"
|
||||
#define _SECURITY_SERVER
|
||||
#include "securitysrv.h"
|
||||
#include <X11/extensions/securstr.h>
|
||||
#include <assert.h>
|
||||
#include <stdarg.h>
|
||||
|
|
133
Xext/securitysrv.h
Normal file
133
Xext/securitysrv.h
Normal file
|
@ -0,0 +1,133 @@
|
|||
/*
|
||||
Copyright 1996, 1998 The Open Group
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided that
|
||||
the above copyright notice appear in all copies and that both that
|
||||
copyright notice and this permission notice appear in supporting
|
||||
documentation.
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of The Open Group shall
|
||||
not be used in advertising or otherwise to promote the sale, use or
|
||||
other dealings in this Software without prior written authorization
|
||||
from The Open Group.
|
||||
*/
|
||||
|
||||
/* Xserver internals for Security extension - moved here from
|
||||
_SECURITY_SERVER section of <X11/extensions/security.h> */
|
||||
|
||||
#ifndef _SECURITY_SRV_H
|
||||
#define _SECURITY_SRV_H
|
||||
|
||||
/* Allow client side portions of <X11/extensions/security.h> to compile */
|
||||
#ifndef Status
|
||||
# define Status int
|
||||
# define NEED_UNDEF_Status
|
||||
#endif
|
||||
#ifndef Display
|
||||
# define Display void
|
||||
# define NEED_UNDEF_Display
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/security.h>
|
||||
|
||||
#ifdef NEED_UNDEF_Status
|
||||
# undef Status
|
||||
# undef NEED_UNDEF_Status
|
||||
#endif
|
||||
#ifdef NEED_UNDEF_Display
|
||||
# undef Display
|
||||
# undef NEED_UNDEF_Display
|
||||
#endif
|
||||
|
||||
|
||||
#include "input.h" /* for DeviceIntPtr */
|
||||
#include "property.h" /* for PropertyPtr */
|
||||
#include "pixmap.h" /* for DrawablePtr */
|
||||
#include "resource.h" /* for RESTYPE */
|
||||
|
||||
/* resource type to pass in LookupIDByType for authorizations */
|
||||
extern RESTYPE SecurityAuthorizationResType;
|
||||
|
||||
/* this is what we store for an authorization */
|
||||
typedef struct {
|
||||
XID id; /* resource ID */
|
||||
CARD32 timeout; /* how long to live in seconds after refcnt == 0 */
|
||||
unsigned int trustLevel; /* trusted/untrusted */
|
||||
XID group; /* see embedding extension */
|
||||
unsigned int refcnt; /* how many clients connected with this auth */
|
||||
unsigned int secondsRemaining; /* overflow time amount for >49 days */
|
||||
OsTimerPtr timer; /* timer for this auth */
|
||||
struct _OtherClients *eventClients; /* clients wanting events */
|
||||
} SecurityAuthorizationRec, *SecurityAuthorizationPtr;
|
||||
|
||||
/* The following callback is called when a GenerateAuthorization request
|
||||
* is processed to sanity check the group argument. The call data will
|
||||
* be a pointer to a SecurityValidateGroupInfoRec (below).
|
||||
* Functions registered on this callback are expected to examine the
|
||||
* group and set the valid field to TRUE if they recognize the group as a
|
||||
* legitimate group. If they don't recognize it, they should not change the
|
||||
* valid field.
|
||||
*/
|
||||
extern CallbackListPtr SecurityValidateGroupCallback;
|
||||
typedef struct {
|
||||
XID group; /* the group that was sent in GenerateAuthorization */
|
||||
Bool valid; /* did anyone recognize it? if so, set to TRUE */
|
||||
} SecurityValidateGroupInfoRec;
|
||||
|
||||
/* Proc vectors for untrusted clients, swapped and unswapped versions.
|
||||
* These are the same as the normal proc vectors except that extensions
|
||||
* that haven't declared themselves secure will have ProcBadRequest plugged
|
||||
* in for their major opcode dispatcher. This prevents untrusted clients
|
||||
* from guessing extension major opcodes and using the extension even though
|
||||
* the extension can't be listed or queried.
|
||||
*/
|
||||
extern int (*UntrustedProcVector[256])(ClientPtr client);
|
||||
extern int (*SwappedUntrustedProcVector[256])(ClientPtr client);
|
||||
|
||||
extern Bool SecurityCheckDeviceAccess(ClientPtr client, DeviceIntPtr dev,
|
||||
Bool fromRequest);
|
||||
|
||||
extern void SecurityAudit(char *format, ...);
|
||||
|
||||
extern int XSecurityOptions(int argc, char **argv, int i);
|
||||
|
||||
/* Give this value or higher to the -audit option to get security messages */
|
||||
#define SECURITY_AUDIT_LEVEL 4
|
||||
|
||||
extern void SecurityCensorImage(
|
||||
ClientPtr client,
|
||||
RegionPtr pVisibleRegion,
|
||||
long widthBytesLine,
|
||||
DrawablePtr pDraw,
|
||||
int x, int y, int w, int h,
|
||||
unsigned int format,
|
||||
char * pBuf);
|
||||
|
||||
#define SecurityAllowOperation 0
|
||||
#define SecurityIgnoreOperation 1
|
||||
#define SecurityErrorOperation 2
|
||||
|
||||
extern char
|
||||
SecurityCheckPropertyAccess(
|
||||
ClientPtr client,
|
||||
WindowPtr pWin,
|
||||
ATOM propertyName,
|
||||
Mask access_mode);
|
||||
|
||||
#define SECURITY_POLICY_FILE_VERSION "version-1"
|
||||
|
||||
extern char **SecurityGetSitePolicyStrings(int *n);
|
||||
|
||||
#endif /* _SECURITY_SRV_H */
|
|
@ -1030,7 +1030,10 @@ if test "x$XORG" = xyes -o "x$XGL" = xyes; then
|
|||
XORG_CFLAGS="$XORGSERVER_CFLAGS -DHAVE_XORG_CONFIG_H"
|
||||
XORG_LIBS="$COMPOSITE_LIB $MI_LIB $FIXES_LIB $XEXTXORG_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XPSTUBS_LIB $OS_LIB"
|
||||
|
||||
AC_CHECK_LIB([dl], [dlopen], XORG_LIBS="$XORG_LIBS -ldl")
|
||||
dnl Check to see if dlopen is in default libraries (like Solaris, which
|
||||
dnl has it in libc), or if libdl is needed to get it.
|
||||
AC_CHECK_FUNC([dlopen], [],
|
||||
AC_CHECK_LIB([dl], [dlopen], XORG_LIBS="$XORG_LIBS -ldl"))
|
||||
|
||||
PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.3.0])
|
||||
XORG_LIBS="$XORG_LIBS $PCIACCESS_LIBS"
|
||||
|
|
|
@ -73,8 +73,7 @@ SOFTWARE.
|
|||
#include <X11/extensions/XKBsrv.h>
|
||||
#endif
|
||||
#ifdef XCSECURITY
|
||||
#define _SECURITY_SERVER
|
||||
#include <X11/extensions/security.h>
|
||||
#include "securitysrv.h"
|
||||
#endif
|
||||
|
||||
#include "dispatch.h"
|
||||
|
|
|
@ -108,8 +108,7 @@ int ProcInitialConnection();
|
|||
#include "panoramiXsrv.h"
|
||||
#endif
|
||||
#ifdef XCSECURITY
|
||||
#define _SECURITY_SERVER
|
||||
#include <X11/extensions/security.h>
|
||||
#include "securitysrv.h"
|
||||
#endif
|
||||
#ifdef XAPPGROUP
|
||||
#include <X11/extensions/Xagsrv.h>
|
||||
|
|
|
@ -98,8 +98,7 @@ Author: Adobe Systems Incorporated
|
|||
#define XK_LATIN1
|
||||
#include <X11/keysymdef.h>
|
||||
#ifdef XCSECURITY
|
||||
#define _SECURITY_SERVER
|
||||
#include <X11/extensions/security.h>
|
||||
#include "securitysrv.h"
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
|
|
@ -139,8 +139,7 @@ extern Bool XkbFilterEvents(ClientPtr, int, xEvent *);
|
|||
#endif
|
||||
|
||||
#ifdef XCSECURITY
|
||||
#define _SECURITY_SERVER
|
||||
#include <X11/extensions/security.h>
|
||||
#include "securitysrv.h"
|
||||
#endif
|
||||
|
||||
#ifdef XEVIE
|
||||
|
|
|
@ -62,8 +62,7 @@ SOFTWARE.
|
|||
#include "scrnintstr.h"
|
||||
#include "dispatch.h"
|
||||
#ifdef XCSECURITY
|
||||
#define _SECURITY_SERVER
|
||||
#include <X11/extensions/security.h>
|
||||
#include "securitysrv.h"
|
||||
#endif
|
||||
|
||||
#define EXTENSION_BASE 128
|
||||
|
|
|
@ -61,8 +61,7 @@ SOFTWARE.
|
|||
#include "dispatch.h"
|
||||
#include "swaprep.h"
|
||||
#ifdef XCSECURITY
|
||||
#define _SECURITY_SERVER
|
||||
#include <X11/extensions/security.h>
|
||||
#include "securitysrv.h"
|
||||
#endif
|
||||
|
||||
/*****************************************************************
|
||||
|
|
|
@ -130,8 +130,7 @@ Equipment Corporation.
|
|||
#include <X11/extensions/Xagsrv.h>
|
||||
#endif
|
||||
#ifdef XCSECURITY
|
||||
#define _SECURITY_SERVER
|
||||
#include <X11/extensions/security.h>
|
||||
#include "securitysrv.h"
|
||||
#endif
|
||||
|
||||
/******
|
||||
|
|
|
@ -35,6 +35,9 @@ from The Open Group.
|
|||
#include <X11/fonts/font.h>
|
||||
#ifdef XPRINT
|
||||
#include "DiPrint.h"
|
||||
#else
|
||||
extern Bool XpClientIsBitmapClient(ClientPtr client);
|
||||
extern Bool XpClientIsPrintClient(ClientPtr client, FontPathElementPtr fpe);
|
||||
#endif
|
||||
|
||||
Bool
|
||||
|
|
|
@ -2726,8 +2726,9 @@ static void fbFetchSourcePict(PicturePtr pict, int x, int y, int width, CARD32 *
|
|||
xFixed_32_32 l;
|
||||
xFixed_48_16 dx, dy, a, b, off;
|
||||
|
||||
v.vector[0] = IntToxFixed(x);
|
||||
v.vector[1] = IntToxFixed(y);
|
||||
/* reference point is the center of the pixel */
|
||||
v.vector[0] = IntToxFixed(x) + xFixed1/2;
|
||||
v.vector[1] = IntToxFixed(y) + xFixed1/2;
|
||||
v.vector[2] = xFixed1;
|
||||
if (pict->transform) {
|
||||
if (!PictureTransformPoint3d (pict->transform, &v))
|
||||
|
@ -2793,8 +2794,9 @@ static void fbFetchSourcePict(PicturePtr pict, int x, int y, int width, CARD32 *
|
|||
|
||||
if (pict->transform) {
|
||||
PictVector v;
|
||||
v.vector[0] = IntToxFixed(x);
|
||||
v.vector[1] = IntToxFixed(y);
|
||||
/* reference point is the center of the pixel */
|
||||
v.vector[0] = IntToxFixed(x) + xFixed1/2;
|
||||
v.vector[1] = IntToxFixed(y) + xFixed1/2;
|
||||
v.vector[2] = xFixed1;
|
||||
if (!PictureTransformPoint3d (pict->transform, &v))
|
||||
return;
|
||||
|
@ -2914,8 +2916,9 @@ static void fbFetchTransformed(PicturePtr pict, int x, int y, int width, CARD32
|
|||
dx = pict->pDrawable->x;
|
||||
dy = pict->pDrawable->y;
|
||||
|
||||
v.vector[0] = IntToxFixed(x - dx);
|
||||
v.vector[1] = IntToxFixed(y - dy);
|
||||
/* reference point is the center of the pixel */
|
||||
v.vector[0] = IntToxFixed(x - dx) + xFixed1 / 2;
|
||||
v.vector[1] = IntToxFixed(y - dy) + xFixed1 / 2;
|
||||
v.vector[2] = xFixed1;
|
||||
|
||||
/* when using convolution filters one might get here without a transform */
|
||||
|
@ -3020,6 +3023,12 @@ static void fbFetchTransformed(PicturePtr pict, int x, int y, int width, CARD32
|
|||
}
|
||||
}
|
||||
} else if (pict->filter == PictFilterBilinear) {
|
||||
/* adjust vector for maximum contribution at 0.5, 0.5 of each texel. */
|
||||
v.vector[0] -= v.vector[2] / 2;
|
||||
v.vector[1] -= v.vector[2] / 2;
|
||||
unit.vector[0] -= unit.vector[2] / 2;
|
||||
unit.vector[1] -= unit.vector[2] / 2;
|
||||
|
||||
if (pict->repeatType == RepeatNormal) {
|
||||
if (REGION_NUM_RECTS(pict->pCompositeClip) == 1) {
|
||||
for (i = 0; i < width; ++i) {
|
||||
|
|
|
@ -516,7 +516,10 @@ XAAComposite (CARD8 op,
|
|||
(!pSrc->repeat || (xSrc >= 0 && ySrc >= 0 &&
|
||||
xSrc+width<=pSrc->pDrawable->width &&
|
||||
ySrc+height<=pSrc->pDrawable->height)) &&
|
||||
((op == PictOpSrc && pSrc->format == pDst->format) ||
|
||||
((op == PictOpSrc &&
|
||||
((pSrc->format==pDst->format) ||
|
||||
(pSrc->format==PICT_a8r8g8b8 && pDst->format==PICT_x8r8g8b8) ||
|
||||
(pSrc->format==PICT_a8b8g8r8 && pDst->format==PICT_x8b8g8r8))) ||
|
||||
(op == PictOpOver && !pSrc->alphaMap && !pDst->alphaMap &&
|
||||
pSrc->format==pDst->format &&
|
||||
(pSrc->format==PICT_x8r8g8b8 || pSrc->format==PICT_x8b8g8r8))))
|
||||
|
|
|
@ -41,6 +41,7 @@ copyright holders.
|
|||
#ifdef HAVE_DIX_CONFIG_H
|
||||
#include <dix-config.h>
|
||||
#endif
|
||||
#include <X11/fonts/fontstruct.h>
|
||||
|
||||
#ifndef _XpDiPrint_H_
|
||||
#define _XpDiPrint_H_ 1
|
||||
|
@ -74,6 +75,10 @@ extern void PrinterInitGlobals(void);
|
|||
|
||||
extern void PrinterInitOutput(ScreenInfo *pScreenInfo, int argc, char **argv);
|
||||
|
||||
extern Bool XpClientIsPrintClient(ClientPtr client, FontPathElementPtr fpe);
|
||||
|
||||
extern Bool XpClientIsBitmapClient(ClientPtr client);
|
||||
|
||||
extern void _XpVoidNoop(void);
|
||||
|
||||
extern Bool _XpBoolNoop(void);
|
||||
|
|
|
@ -35,9 +35,8 @@
|
|||
#include "win.h"
|
||||
|
||||
/* Includes for authorization */
|
||||
#include "X11/Xauth.h"
|
||||
#define _SECURITY_SERVER
|
||||
#include <X11/extensions/security.h>
|
||||
#include <X11/Xauth.h>
|
||||
#include "securitysrv.h"
|
||||
#include <X11/extensions/securstr.h>
|
||||
|
||||
|
||||
|
|
|
@ -244,7 +244,7 @@ typedef void (*InitExtension)(INITARGS);
|
|||
#include <X11/extensions/Xagstr.h>
|
||||
#endif
|
||||
#ifdef XCSECURITY
|
||||
#define _SECURITY_SERVER
|
||||
#include "securitysrv.h"
|
||||
#include <X11/extensions/securstr.h>
|
||||
#endif
|
||||
#ifdef PANORAMIX
|
||||
|
|
|
@ -203,8 +203,7 @@ SOFTWARE.
|
|||
#include "osdep.h"
|
||||
|
||||
#ifdef XCSECURITY
|
||||
#define _SECURITY_SERVER
|
||||
#include <X11/extensions/security.h>
|
||||
#include "securitysrv.h"
|
||||
#endif
|
||||
|
||||
#ifndef PATH_MAX
|
||||
|
|
|
@ -48,8 +48,7 @@ from The Open Group.
|
|||
# include <sys/types.h>
|
||||
# include <sys/stat.h>
|
||||
#ifdef XCSECURITY
|
||||
#define _SECURITY_SERVER
|
||||
# include <X11/extensions/security.h>
|
||||
# include "securitysrv.h"
|
||||
#endif
|
||||
#ifdef WIN32
|
||||
#include <X11/Xw32defs.h>
|
||||
|
|
|
@ -151,8 +151,7 @@ extern __const__ int _nfiles;
|
|||
#include <X11/extensions/Xagsrv.h>
|
||||
#endif
|
||||
#ifdef XCSECURITY
|
||||
#define _SECURITY_SERVER
|
||||
#include <X11/extensions/security.h>
|
||||
#include "securitysrv.h"
|
||||
#endif
|
||||
|
||||
#ifdef X_NOT_POSIX
|
||||
|
|
|
@ -37,8 +37,7 @@ from The Open Group.
|
|||
#include "swaprep.h"
|
||||
|
||||
#ifdef XCSECURITY
|
||||
#define _SECURITY_SERVER
|
||||
#include <X11/extensions/security.h>
|
||||
#include "securitysrv.h"
|
||||
#endif
|
||||
|
||||
static char InvalidPolicyReason[] = "invalid policy specification";
|
||||
|
|
|
@ -120,8 +120,7 @@ OR PERFORMANCE OF THIS SOFTWARE.
|
|||
#include <X11/extensions/XKBsrv.h>
|
||||
#endif
|
||||
#ifdef XCSECURITY
|
||||
#define _SECURITY_SERVER
|
||||
#include <X11/extensions/security.h>
|
||||
#include "securitysrv.h"
|
||||
#endif
|
||||
|
||||
#ifdef RENDER
|
||||
|
|
Loading…
Reference in New Issue
Block a user