CVS commit: xsrc/external/mit/xorg-server.old/dist/hw/xfree86/os-support/bsd
Module Name:xsrc Committed By: rin Date: Wed Jun 2 15:01:18 UTC 2021 Modified Files: xsrc/external/mit/xorg-server.old/dist/hw/xfree86/os-support/bsd: ppc_video.c Log Message: Declare IOPortBase for mips, as done for xorg-server. Fix build for sgimips, which still uses xorg-server.old. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/hw/xfree86/os-support/bsd/ppc_video.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xorg-server.old/dist/hw/xfree86/os-support/bsd/ppc_video.c diff -u xsrc/external/mit/xorg-server.old/dist/hw/xfree86/os-support/bsd/ppc_video.c:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/hw/xfree86/os-support/bsd/ppc_video.c:1.2 --- xsrc/external/mit/xorg-server.old/dist/hw/xfree86/os-support/bsd/ppc_video.c:1.1.1.1 Thu Jun 9 09:07:59 2016 +++ xsrc/external/mit/xorg-server.old/dist/hw/xfree86/os-support/bsd/ppc_video.c Wed Jun 2 15:01:18 2021 @@ -145,7 +145,7 @@ xf86EnableInterrupts() } /* XXX why the hell is this necessary?! */ -#ifdef __arm__ +#if defined(__arm__) || defined(__mips__) unsigned int IOPortBase = (int)MAP_FAILED; #endif
CVS commit: xsrc/external/mit/xorg-server.old/dist/Xi
Module Name:xsrc Committed By: mrg Date: Tue Apr 27 05:19:51 UTC 2021 Modified Files: xsrc/external/mit/xorg-server.old/dist/Xi: chgfctl.c Log Message: pull across the fixes for CVE-2021-3472. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/Xi/chgfctl.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xorg-server.old/dist/Xi/chgfctl.c diff -u xsrc/external/mit/xorg-server.old/dist/Xi/chgfctl.c:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/Xi/chgfctl.c:1.2 --- xsrc/external/mit/xorg-server.old/dist/Xi/chgfctl.c:1.1.1.1 Thu Jun 9 09:07:56 2016 +++ xsrc/external/mit/xorg-server.old/dist/Xi/chgfctl.c Tue Apr 27 05:19:51 2021 @@ -468,8 +468,11 @@ ProcXChangeFeedbackControl(ClientPtr cli case StringFeedbackClass: { char n; - xStringFeedbackCtl *f = ((xStringFeedbackCtl *) & stuff[1]); +xStringFeedbackCtl *f; +REQUEST_AT_LEAST_EXTRA_SIZE(xChangeFeedbackControlReq, +sizeof(xStringFeedbackCtl)); +f = ((xStringFeedbackCtl *) &stuff[1]); if (client->swapped) { if (len < bytes_to_int32(sizeof(xStringFeedbackCtl))) return BadLength;
CVS commit: xsrc/external/mit/xorg-server.old/dist/xkb
Module Name:xsrc Committed By: mrg Date: Sat Dec 5 23:36:45 UTC 2020 Modified Files: xsrc/external/mit/xorg-server.old/dist/xkb: xkb.c Log Message: merge security fixes for xkb, as found in these xserver gitlab commits: 270e439739e023463e7e0719a4eede69d45f7a3f - xkb: only swap once in XkbSetMap 446ff2d3177087b8173fa779fa5b77a2a128988b - Check SetMap request length carefully 87c64fc5b0db9f62f4e361444f4b60501ebf67b9 - Fix XkbSetDeviceInfo() and SetDeviceIndicators() heap overflows de940e06f8733d87bbb857aef85d830053442cfe - xkb: fix key type index check in _XkbSetMapChecks f7cd1276bbd4fe3a9700096dec33b52b8440788d - Correct bounds checking in XkbSetNames() i haven't tested these run OK, and it was a 33 out of 34 hunks did not apply cleanly, but they merge was still largely the same (patch failed due to whitespace changes mostly), and i am able to build-test successfully. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 xsrc/external/mit/xorg-server.old/dist/xkb/xkb.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xorg-server.old/dist/xkb/xkb.c diff -u xsrc/external/mit/xorg-server.old/dist/xkb/xkb.c:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/xkb/xkb.c:1.2 --- xsrc/external/mit/xorg-server.old/dist/xkb/xkb.c:1.1.1.1 Thu Jun 9 09:08:01 2016 +++ xsrc/external/mit/xorg-server.old/dist/xkb/xkb.c Sat Dec 5 23:36:45 2020 @@ -151,6 +151,19 @@ static RESTYPE RT_XKBCLIENT; #define CHK_REQ_KEY_RANGE(err,first,num,r) \ CHK_REQ_KEY_RANGE2(err,first,num,r,client->errorValue,BadValue) +static Bool +_XkbCheckRequestBounds(ClientPtr client, void *stuff, void *from, void *to) { +char *cstuff = (char *)stuff; +char *cfrom = (char *)from; +char *cto = (char *)to; + +return cfrom < cto && + cfrom >= cstuff && + cfrom < cstuff + ((size_t)client->req_len << 2) && + cto >= cstuff && + cto <= cstuff + ((size_t)client->req_len << 2); +} + /******/ int @@ -1550,7 +1563,8 @@ CheckKeyTypes( ClientPtr client, xkbSetMapReq * req, xkbKeyTypeWireDesc **wireRtrn, int * nMapsRtrn, - CARD8 * mapWidthRtrn) + CARD8 * mapWidthRtrn, + Bool doswap) { unsigned nMaps; register unsigned i,n; @@ -1588,7 +1602,7 @@ register xkbKeyTypeWireDesc *wire = *wir } for (i=0;inTypes;i++) { unsigned width; - if (client->swapped) { +if (client->swapped && doswap) { register int s; swaps(&wire->virtualMods,s); } @@ -1615,7 +1629,7 @@ register xkbKeyTypeWireDesc *wire = *wir mapWire= (xkbKTSetMapEntryWireDesc *)&wire[1]; preWire= (xkbModsWireDesc *)&mapWire[wire->nMapEntries]; for (n=0;nnMapEntries;n++) { - if (client->swapped) { +if (client->swapped && doswap) { register int s; swaps(&mapWire[n].virtualMods,s); } @@ -1634,7 +1648,7 @@ register xkbKeyTypeWireDesc *wire = *wir return 0; } if (wire->preserve) { - if (client->swapped) { + if (client->swapped && doswap) { register int s; swaps(&preWire[n].virtualMods,s); } @@ -1673,7 +1687,8 @@ CheckKeySyms( ClientPtr client, CARD8 * mapWidths, CARD16 * symsPerKey, xkbSymMapWireDesc ** wireRtrn, - int * errorRtrn) + int * errorRtrn, + Bool doswap) { register unsigned i; XkbSymMapPtr map; @@ -1685,7 +1700,7 @@ xkbSymMapWireDesc* wire = *wireRtrn; for (i=0;inKeySyms;i++) { KeySym *pSyms; register unsigned nG; - if (client->swapped) { + if (client->swapped && doswap) { swaps(&wire->nSyms,nG); } nG = XkbNumGroups(wire->groupInfo); @@ -2322,13 +2337,99 @@ XkbServerMapPtr srv = xkbi->desc->serve } return (char *)wire; } + +#define _add_check_len(new) \ +if (len > UINT32_MAX - (new) || len > req_len - (new)) goto bad; \ +else len += new + +/** + * Check the length of the SetMap request + */ +static int +_XkbSetMapCheckLength(xkbSetMapReq *req) +{ +size_t len = sz_xkbSetMapReq, req_len = req->length << 2; +xkbKeyTypeWireDesc *keytype; +xkbSymMapWireDesc *symmap; +BOOL preserve; +int i, map_count, nSyms; + +if (req_len < len) +goto bad; +/* types */ +if (req->present & XkbKeyTypesMask) { +keytype = (xkbKeyTypeWireDesc *)(req + 1); +for (i = 0; i < req->nTypes; i++) { +_add_check_len(XkbPaddedSize(sz_xkbKeyTypeWireDesc)); +if (req->flags & XkbSetMapResizeTypes) { +_add_check_len(keytype->nMapEntries + * sz_xkbKTSetMapEntryWireDesc); +preserve = keytype->preserve; +map_count = keytype->nMapEntries; +if (preserve) { +_add_check_len(map_count * sz_xkbModsWireDesc); +} +keytype += 1; +keytype = (xkbK
CVS commit: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k
Module Name:xsrc Committed By: tsutsui Date: Fri Nov 20 18:09:00 UTC 2020 Modified Files: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k: x68kConfig.c Log Message: Sync with xorg-server: Report which settings are chosen per a config file in the log file. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 \ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kConfig.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kConfig.c diff -u xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kConfig.c:1.4 xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kConfig.c:1.5 --- xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kConfig.c:1.4 Thu Nov 5 16:06:08 2020 +++ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kConfig.c Fri Nov 20 18:09:00 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: x68kConfig.c,v 1.4 2020/11/05 16:06:08 tsutsui Exp $ */ +/* $NetBSD: x68kConfig.c,v 1.5 2020/11/20 18:09:00 tsutsui Exp $ */ /*- * Copyright (c) 1996 Yasushi Yamasaki * All rights reserved. @@ -112,16 +112,20 @@ const char *hostConfigFilename = "/etc/X const char *siteConfigFilename = X11_LIBDIR "/X68kConfig"; const char *configFilename = NULL; static FILE *config; -char modeSet = FALSE; +static char modeSet = FALSE; static int parseCommand(void); +static void logConfig(void); int x68kConfig(void) { -if (configFilename) +MessageType filefrom = X_DEFAULT; + +if (configFilename) { config = fopen(configFilename, "r"); -else { + filefrom = X_CMDLINE; +} else { configFilename = hostConfigFilename; config = fopen(configFilename, "r"); if (config == NULL) { @@ -131,11 +135,15 @@ x68kConfig(void) } if (config == NULL) FatalError("Can't open X68kConfig file"); + +LogMessage(filefrom, "Using config file: \"%s\"\n", configFilename); + while (parseCommand()) ; fclose(config); if (!modeSet) FatalError("No mode set."); +logConfig(); return 1; } @@ -143,7 +151,7 @@ x68kConfig(void) /*- * X68KConfig parsing part *---*/ -void parseError(int line, const char *str, ...); +static void parseError(int line, const char *str, ...); enum TokenType { TOKEN_EOF, @@ -255,7 +263,7 @@ static void parseMouse(int argc, Token * static void parseKeyboard(int argc, Token **argv); static void parseMode(int argc, Token **argv); -Command command[] = { +static const Command command[] = { { "ModeDef", parseModeDef }, { "Mouse", parseMouse }, { "Keyboard", parseKeyboard }, @@ -263,6 +271,24 @@ Command command[] = { }; #define NCOMMANDS (sizeof(command)/sizeof(command[0])) +static const char *x68kTypeStr[] = { + [X68K_FB_NULL]= NULL, + [X68K_FB_TEXT]= "Text", + [X68K_FB_GRAPHIC] = "Graphic", +}; +#define NTYPES (sizeof(x68kTypeStr) / sizeof(x68kTypeStr[0])) + +static const char *x68kClassStr[] = { + [StaticGray] = "StaticGray", + [GrayScale] = "GrayScale", + [StaticColor] = "StaticColor", + [PseudoColor] = "PseudoColor", + [TrueColor] = "TrueColor", + [DirectColor] = "DirectColor", +}; +#define NCLASSES (sizeof(x68kClassStr) / sizeof(x68kClassStr[0])) +#define ClassInvalid (-1) + /*- * function "parseCommand" * @@ -333,13 +359,13 @@ parseCommand(void) * purpose: examine the number of arguments and the type of each *argument. * argument: (int)n : correct number of arguments - *(enum TokenType *)type : table of types + *(const enum TokenType *)type : table of types *(int)argc_m1 : actual number of arguments *(Token **)argv : command and arguments * returns: nothing *---*/ static void -checkArguments(int n, enum TokenType *type, int argc_m1, Token **argv) +checkArguments(int n, const enum TokenType *type, int argc_m1, Token **argv) { int i; @@ -359,7 +385,7 @@ checkArguments(int n, enum TokenType *ty typedef struct _Mode { struct _Mode *next; -char *name; +const char *name; int type; int depth; int class; @@ -367,7 +393,8 @@ typedef struct _Mode { X68kFbReg reg; } Mode; -Mode *modeList = NULL; +static Mode *modeList = NULL; +static Mode *modeChosen; /*- * function "parseModeDef" @@ -379,7 +406,7 @@ Mode *modeList = NULL; static void parseModeDef(int argc, Token **argv) { -enum TokenType argtype[] = { +
CVS commit: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k
Module Name:xsrc Committed By: tsutsui Date: Fri Nov 13 17:49:57 UTC 2020 Modified Files: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k: X68kConfig Log Message: Sync with xorg-server: Fix typo in comment. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/X68kConfig Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/X68kConfig diff -u xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/X68kConfig:1.2 xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/X68kConfig:1.3 --- xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/X68kConfig:1.2 Thu Nov 5 16:06:08 2020 +++ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/X68kConfig Fri Nov 13 17:49:57 2020 @@ -1,4 +1,4 @@ -;; $NetBSD: X68kConfig,v 1.2 2020/11/05 16:06:08 tsutsui Exp $ +;; $NetBSD: X68kConfig,v 1.3 2020/11/13 17:49:57 tsutsui Exp $ ;; ;; X68kConfig: sample configuration for X68k ;; written by Yasushi Yamasaki @@ -81,7 +81,7 @@ 105040) ; -; 1024x762x4bit StaticGray +; 1024x768x4bit StaticGray ; CRTC-R20 = 0x041a(1050) VIDEOC-R0 = 0x0004 ; (ModeDef NeedsMultiScan Graphic 4 StaticGray 1024 768
CVS commit: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k
Module Name:xsrc Committed By: tsutsui Date: Thu Nov 5 16:06:08 UTC 2020 Modified Files: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k: X68kConfig x68k.h x68kConfig.c x68kFb.c x68kGraph.c x68kInit.c x68kKbd.c x68kReg.h x68kText.c Log Message: Cherry-pick Xorg version independent changes from xorg-server. Normalize #include paths. Call LogInit() for logging to /var/log/X68k.%s.log as Xorg and Xsun servers. Fix a suspicious chunk disabled on xfree 4.x migration as sunKbd.c does. Restore video mode properly on exit even on CRT Mode 19 (640x480 31kHz VGA). Add ModeDef for 640x480x4bit PseudoColor. Avoid a use of __UNVOLATILE(3). Remove unnecessary pointer casts from malloc(3). Use exact-width interger types properly for register accesses etc. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/X68kConfig cvs rdiff -u -r1.2 -r1.3 \ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68k.h cvs rdiff -u -r1.3 -r1.4 \ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kConfig.c \ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kFb.c \ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kGraph.c \ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kReg.h \ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kText.c cvs rdiff -u -r1.4 -r1.5 \ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kInit.c \ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kKbd.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/X68kConfig diff -u xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/X68kConfig:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/X68kConfig:1.2 --- xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/X68kConfig:1.1.1.1 Thu Jun 9 09:07:59 2016 +++ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/X68kConfig Thu Nov 5 16:06:08 2020 @@ -1,4 +1,4 @@ -;; $NetBSD: X68kConfig,v 1.1.1.1 2016/06/09 09:07:59 mrg Exp $ +;; $NetBSD: X68kConfig,v 1.2 2020/11/05 16:06:08 tsutsui Exp $ ;; ;; X68kConfig: sample configuration for X68k ;; written by Yasushi Yamasaki @@ -52,6 +52,14 @@ 919 17 81 5675 40 552 27 78930) +; +; 640x480x4bit PseudoColor +; CRTC-R20 = 0x0417(1047) VIDEOC-R0 = 0x0004 +; +(ModeDef Pseudo16Color640x480 Graphic 4 PseudoColor 640 480 +99 11 13 93 5241 33 513 27 + 104740) + ;; ;; tricky modes ;; @@ -100,6 +108,7 @@ ;(Mode Monochrome1024x768) ;(Mode Pseudo16Color1024x768) ;(Mode NeedsMultiScan) +;(Mode Pseudo16Color640x480) ;; ;; input devices Index: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68k.h diff -u xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68k.h:1.2 xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68k.h:1.3 --- xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68k.h:1.2 Fri Apr 10 16:49:36 2020 +++ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68k.h Thu Nov 5 16:06:08 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: x68k.h,v 1.2 2020/04/10 16:49:36 tsutsui Exp $ */ +/* $NetBSD: x68k.h,v 1.3 2020/11/05 16:06:08 tsutsui Exp $ */ /*- * Copyright (c) 1996 Yasushi Yamasaki * All rights reserved. @@ -43,12 +43,12 @@ #include /* generic X */ -#include -#include +#include +#include #define XK_KATAKANA -#include +#include #define NEED_EVENTS -#include +#include /* dix */ #include @@ -79,7 +79,7 @@ typedef struct _X68kScreenRec { int scr_height; /* screen height */ int dpi;/* dots per inch */ uint8_t *fb;/* frame buffer VA */ -volatile FbReg *reg;/* control register VA */ +FbReg *reg; /* control register VA */ X68kFbReg x68kreg; /* control register*/ int mapsize;/* size of mapped memory */ ColormapPtr installedMap; /* installed colormap*/ Index: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kConfig.c diff -u xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kConfig.c:1.3 xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kConfig.c:1.4 --- xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kConfig.c:1.3 Sat Aug 1 20:09:03 2020 +++ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kConfig.c Thu Nov 5 16:06:08 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: x68kConfig.c,v 1.3 2020/0
CVS commit: xsrc/external/mit/xorg-server.old/dist/hw/sun
Module Name:xsrc Committed By: tsutsui Date: Thu Aug 13 19:52:23 UTC 2020 Modified Files: xsrc/external/mit/xorg-server.old/dist/hw/sun: sun.h sunInit.c sunIo.c sunKbd.c sunMouse.c Log Message: More cherry-picks to sync with xorg-server: Remove more redundant command option arg checks. Avoid dumb DevicePtr casts. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h \ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c cvs rdiff -u -r1.4 -r1.5 \ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c cvs rdiff -u -r1.2 -r1.3 \ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunKbd.c cvs rdiff -u -r1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunMouse.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h diff -u xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h:1.3 xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h:1.4 --- xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h:1.3 Sun Aug 9 16:01:19 2020 +++ xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h Thu Aug 13 19:52:23 2020 @@ -300,6 +300,7 @@ extern fbFd sunFbs[]; extern Bool sunSwapLkeys; extern Bool sunForceMono; extern Bool sunDebug; +extern char *sunDeviceList; extern Bool sunFlipPixels; extern Bool sunFbInfo; extern Bool sunCG4Frob; Index: xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c diff -u xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c:1.3 xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c:1.4 --- xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c:1.3 Sun Aug 9 16:01:19 2020 +++ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c Thu Aug 13 19:52:23 2020 @@ -170,9 +170,10 @@ AbortDDX(void) #else (void) OsSignal (SIGIO, SIG_IGN); #endif -devPtr = (DevicePtr)sunKeyboardDevice; -if (devPtr) +if (sunKeyboardDevice) { +devPtr = &sunKeyboardDevice->public; (void) sunChangeKbdTranslation (((sunKbdPrivPtr)(devPtr->devicePrivate))->fd, FALSE); +} #if defined(SVR4) || defined(CSRG_BASED) sunNonBlockConsoleOff (); #else @@ -209,7 +210,9 @@ ddxProcessArgument(int argc, char *argv[ return 1; } if (strcmp (argv[i], "-dev") == 0) { /* -dev /dev/mumble */ - if (++i >= argc) UseMsg (); + if (++i >= argc) + UseMsg(); + sunDeviceList = argv[i]; return 2; } if (strcmp (argv[i], "-mono") == 0) { /* -mono */ @@ -228,14 +231,6 @@ ddxProcessArgument(int argc, char *argv[ sunFbInfo = TRUE; return 1; } -if (strcmp (argv[i], "-kbd") == 0) { /* -kbd */ - if (++i >= argc) UseMsg(); - return 2; -} -if (strcmp (argv[i], "-protect") == 0) { /* -protect */ - if (++i >= argc) UseMsg(); - return 2; -} if (strcmp (argv[i], "-cg4frob") == 0) { sunCG4Frob = TRUE; return 1; Index: xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c diff -u xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c:1.4 xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c:1.5 --- xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c:1.4 Sun Aug 9 16:01:19 2020 +++ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c Thu Aug 13 19:52:23 2020 @@ -132,6 +132,7 @@ EventList *sunEvents = NULL; Bool sunSwapLkeys = FALSE; Bool sunDebug = FALSE; +char *sunDeviceList = NULL; Bool sunForceMono = FALSE; Bool sunFlipPixels = FALSE; Bool sunFbInfo = FALSE; @@ -403,14 +404,9 @@ GetDeviceList(int argc, char **argv) { int i; char *envList = NULL; -char *cmdList = NULL; +char *cmdList = sunDeviceList; char **deviceList = (char **)NULL; -for (i = 1; i < argc; i++) - if (strcmp (argv[i], "-dev") == 0 && i+1 < argc) { - cmdList = argv[i + 1]; - break; - } if (!cmdList) envList = getenv ("XDEVICE"); Index: xsrc/external/mit/xorg-server.old/dist/hw/sun/sunKbd.c diff -u xsrc/external/mit/xorg-server.old/dist/hw/sun/sunKbd.c:1.2 xsrc/external/mit/xorg-server.old/dist/hw/sun/sunKbd.c:1.3 --- xsrc/external/mit/xorg-server.old/dist/hw/sun/sunKbd.c:1.2 Sat Aug 1 13:40:55 2020 +++ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunKbd.c Thu Aug 13 19:52:23 2020 @@ -607,7 +607,7 @@ sunInitKbdNames(XkbRMLVOSet *rmlvo, sunK int sunKbdProc(DeviceIntPtr device, int what) { -DevicePtr pKeyboard = (DevicePtr) device; +DevicePtr pKeyboard = &device->public; sunKbdPrivPtr pPriv; KeybdCtrl* ctrl = &device->kbdfeed->ctrl; XkbRMLVOSet rmlvo; @@ -617,7 +617,7 @@ sunKbdProc(DeviceIntPtr device, int what switch (what) { case DEVICE_INIT: - if (pKeyboard != (DevicePtr)sunKeyboardDevice) { + if (pKeyboard != &sunKeyboardDevice->public) { ErrorF ("Cannot open non-system keyboard\n"); return (!Success); } Index: xsrc/external/mit/xorg-server.old/dist/hw/sun/sunMouse.c diff -u xsrc/external/mit/xorg-server.old/dist/hw/sun/sunM
CVS commit: xsrc/external/mit/xorg-server.old/dist/hw/sun
Module Name:xsrc Committed By: tsutsui Date: Sun Aug 9 16:01:19 UTC 2020 Modified Files: xsrc/external/mit/xorg-server.old/dist/hw/sun: sun.h sunCfb.c sunInit.c sunIo.c Log Message: Cherry-pick to sync with xorg-server: Inform detected keyboard type and layout via LogMessage(). Remove a leftover variable for non-XKB autorepeat. Remove redundant command option arg checks. Put probed framebuffer info to a log file by default. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h \ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c \ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c cvs rdiff -u -r1.3 -r1.4 \ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h diff -u xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h:1.2 xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h:1.3 --- xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h:1.2 Sat Aug 1 13:40:55 2020 +++ xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h Sun Aug 9 16:01:19 2020 @@ -295,10 +295,11 @@ typedef struct { /* sunInit.c */ extern EventList *sunEvents; -extern Bool sunAutoRepeatHandlersInstalled; extern sunFbDataRec sunFbData[]; extern fbFd sunFbs[]; extern Bool sunSwapLkeys; +extern Bool sunForceMono; +extern Bool sunDebug; extern Bool sunFlipPixels; extern Bool sunFbInfo; extern Bool sunCG4Frob; Index: xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c diff -u xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c:1.2 xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c:1.3 --- xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c:1.2 Sat Aug 1 13:40:55 2020 +++ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c Sun Aug 9 16:01:19 2020 @@ -98,7 +98,7 @@ static void CGSaveColormap(ScreenPtr); static void CGRestoreColormap(ScreenPtr); static void CGScreenInitCommon(ScreenPtr); static void CGScreenInit(ScreenPtr); -static void checkMono(int, char **); +static void checkMono(void); #ifdef INCLUDE_CG2_HEADER static void CG2UpdateColormap(ScreenPtr, int, int, u_char *, u_char *, u_char *); static void CG2GetColormap(ScreenPtr, int, int, u_char *, u_char *, u_char *); @@ -307,13 +307,11 @@ CGScreenInit(ScreenPtr pScreen) } static void -checkMono(int argc, char** argv) +checkMono(void) { -int i; -for (i = 1; i < argc; i++) - if (strcmp (argv[i], "-mono") == 0) - ErrorF ("-mono not appropriate for CG3/CG4/CG6\n"); +if (sunForceMono) + ErrorF("-mono not appropriate for CG3/CG4/CG6\n"); } /* @@ -334,7 +332,7 @@ sunCG3Init( char **argv /* The arguments themselves. Don't change! */ ) { -checkMono (argc, argv); +checkMono(); sunFbs[screen].EnterLeave = (void (*)(ScreenPtr, int))NoopDDA; return sunInitCommon (screen, pScreen, (off_t) CG3_MMAP_OFFSET, sunCfbScreenInit, CGScreenInit, @@ -349,7 +347,7 @@ sunTCXInit( char **argv /* The arguments themselves. Don't change! */ ) { -checkMono (argc, argv); +checkMono(); sunFbs[screen].EnterLeave = (void (*)(ScreenPtr, int))NoopDDA; return sunInitCommon (screen, pScreen, (off_t) 0, sunCfbScreenInit, CGScreenInit, @@ -454,18 +452,12 @@ sunCG2Init( char** argv /* The arguments themselves. Don't change! */ ) { -int i; Bool ret; -Bool mono = FALSE; - -for (i = 1; i < argc; i++) - if (strcmp (argv[i], "-mono") == 0) - mono = TRUE; sunFbs[screen].EnterLeave = (void (*)(ScreenPtr, int))NoopDDA; pScreen->SaveScreen = CG2SaveScreen; #ifndef LOWMEMFTPT -if (mono) { +if (sunForceMono) { pScreen->whitePixel = 0; pScreen->blackPixel = 1; sunFbs[screen].info.fb_depth = 1; @@ -514,7 +506,7 @@ sunCG4Init( char** argv /* The arguments themselves. Don't change! */ ) { -checkMono (argc, argv); +checkMono(); if (sunCG4Frob) sunFbs[screen].EnterLeave = (void (*)(ScreenPtr, int))NoopDDA; else @@ -539,7 +531,7 @@ sunCG6Init( { pointer fb; -checkMono (argc, argv); +checkMono(); if (!sunScreenAllocate (pScreen)) return FALSE; if (!sunFbs[screen].fb) { Index: xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c diff -u xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c:1.2 xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c:1.3 --- xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c:1.2 Tue Aug 4 14:34:35 2020 +++ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c Sun Aug 9 16:01:19 2020 @@ -205,6 +205,7 @@ ddxProcessArgument(int argc, char *argv[ return 1; } if (strcmp (argv[i], "-debug") == 0) { /* -debug */ + sunDebug = TRUE; return 1; } if (strcmp (argv[i], "-dev") == 0) { /* -dev /dev/mumble */ @@ -212,6 +213,7 @@ ddxProcessArgument(
CVS commit: xsrc/external/mit/xorg-server.old/dist/hw/sun
Module Name:xsrc Committed By: tsutsui Date: Tue Aug 4 14:34:35 UTC 2020 Modified Files: xsrc/external/mit/xorg-server.old/dist/hw/sun: sunInit.c sunIo.c Log Message: Sync with xorg-server: > Call LogInit() for logging to /var/log/Xsun.%s.log as Xorg server. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c cvs rdiff -u -r1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c diff -u xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c:1.2 xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c:1.3 --- xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c:1.2 Sat Aug 1 13:40:55 2020 +++ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c Tue Aug 4 14:34:35 2020 @@ -51,6 +51,14 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include"mi.h" #include"fb.h" +/* default log file paths */ +#ifndef DEFAULT_LOGDIR +#define DEFAULT_LOGDIR "/var/log" +#endif +#ifndef DEFAULT_LOGPREFIX +#define DEFAULT_LOGPREFIX "Xsun." +#endif + /* maximum pixmap depth */ #ifndef SUNMAXDEPTH #define SUNMAXDEPTH 8 @@ -482,6 +490,8 @@ OsVendorInit(void) { static int inited; if (!inited) { + const char *logfile; + char *lf; #ifndef i386 struct rlimit rl; @@ -496,6 +506,20 @@ OsVendorInit(void) (void) setrlimit (RLIMIT_NOFILE, &rl); } #endif + +#define LOGSUFFIX ".log" +#define LOGOLDSUFFIX ".old" + + logfile = DEFAULT_LOGDIR "/" DEFAULT_LOGPREFIX; + if (asprintf(&lf, "%s%%s" LOGSUFFIX, logfile) == -1) + FatalError("Cannot allocate space for the log file name\n"); + LogInit(lf, LOGOLDSUFFIX); + +#undef LOGSUFFIX +#undef LOGOLDSUFFIX + + free(lf); + sunKbdPriv.fd = open ("/dev/kbd", O_RDWR, 0); if (sunKbdPriv.fd < 0) FatalError ("Cannot open /dev/kbd, error %d\n", errno); Index: xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c diff -u xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c:1.1 xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c:1.2 --- xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c:1.1 Wed Jul 22 19:17:04 2020 +++ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c Tue Aug 4 14:34:35 2020 @@ -186,6 +186,7 @@ AbortDDX(void) sunDisableCursor (pScreen); #endif } +LogClose(); } /* Called by GiveUp(). */
CVS commit: xsrc/external/mit/xorg-server.old/dist/hw/sun
Module Name:xsrc Committed By: tsutsui Date: Sat Aug 1 13:40:55 UTC 2020 Modified Files: xsrc/external/mit/xorg-server.old/dist/hw/sun: sun.h sunCfb.c sunFbs.c sunInit.c sunKbd.c sunKeyMap.c Log Message: Cherry-pick non-Xorg-1.20-specific fixes from xorg-server dir. Use proper ANSI offsetof(3) to specify framebuffer offset in struct. Add prototype declarations for CG2 functions. Implement functions to restore palette settings on exiting Xserver. Explicitly initialize origColormapValid for readability. Fix LED defintions to match xkb/xkbInit.c. Remove unused functions required to handle non-XKB autorepeat. Initialize ModMap dynamically using keymap data per each keyboard. Remove now unused ModMap data for each keyboard. Use "empty" for rmlvo model and layout to avoid lingering default settings. Trailing whitespace. Note it looks there is some serious performance regression between Xorg 1.10 and 1.20 on rendering root_weave to root window on 3/60 bwtwo mono server. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h \ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c \ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunFbs.c \ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c \ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunKbd.c \ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunKeyMap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h diff -u xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h:1.1 xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h:1.2 --- xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h:1.1 Wed Jul 22 19:17:03 2020 +++ xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h Sat Aug 1 13:40:55 2020 @@ -247,11 +247,21 @@ typedef struct { CursorPtr pCursor; /* current cursor */ } sunCursorRec, *sunCursorPtr; +#define NCMAP 256 +typedef struct { +u_char origRed[NCMAP]; +u_char origGreen[NCMAP]; +u_char origBlue[NCMAP]; +} sunCmapRec, *sunCmapPtr; + typedef struct { ColormapPtr installedMap; CloseScreenProcPtr CloseScreen; void (*UpdateColormap)(ScreenPtr, int, int, u_char *, u_char *, u_char *); void (*GetColormap)(ScreenPtr, int, int, u_char *, u_char *, u_char *); +Bool origColormapValid; +sunCmapRec origColormap; +void (*RestoreColormap)(ScreenPtr); sunCursorRechardwareCursor; Bool hasHardwareCursor; } sunScreenRec, *sunScreenPtr; @@ -296,10 +306,8 @@ extern Bool sunNoGX; /* sunKeyMap.c */ extern KeySymsRec sunKeySyms[]; -extern const SunModmapRec *sunModMaps[]; extern const int sunMaxLayout; extern KeySym *sunType4KeyMaps[]; -extern const SunModmapRec *sunType4ModMaps[]; /* sunKbd.c */ extern long sunAutoRepeatInitiate; @@ -351,8 +359,6 @@ extern Firm_event* sunKbdGetEvents(int, extern void sunKbdEnqueueEvent(DeviceIntPtr, Firm_event *); extern int sunKbdProc(DeviceIntPtr, int); extern void sunKbdWait(void); -void sunBlockHandler(int, pointer, pointer, pointer); -void sunWakeupHandler(int, pointer, unsigned long, pointer); /* sunMouse.c */ extern Firm_event* sunMouseGetEvents(int, Bool, int *, Bool *); Index: xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c diff -u xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c:1.1 xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c:1.2 --- xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c:1.1 Wed Jul 22 19:17:03 2020 +++ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c Sat Aug 1 13:40:55 2020 @@ -94,8 +94,18 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. static void CGUpdateColormap(ScreenPtr, int, int, u_char *, u_char *, u_char *); static void CGGetColormap(ScreenPtr, int, int, u_char *, u_char *, u_char *); static void CGStoreColors(ColormapPtr, int, xColorItem *); +static void CGSaveColormap(ScreenPtr); +static void CGRestoreColormap(ScreenPtr); +static void CGScreenInitCommon(ScreenPtr); static void CGScreenInit(ScreenPtr); static void checkMono(int, char **); +#ifdef INCLUDE_CG2_HEADER +static void CG2UpdateColormap(ScreenPtr, int, int, u_char *, u_char *, u_char *); +static void CG2GetColormap(ScreenPtr, int, int, u_char *, u_char *, u_char *); +static void CG2RestoreColormap(ScreenPtr); +static Bool CG2SaveScreen(ScreenPtr, int); +static void CG2ScreenInit(ScreenPtr pScreen); +#endif static void CG4Switch(ScreenPtr, int); static void @@ -239,22 +249,61 @@ CGStoreColors(ColormapPtr pmap, int ndef } static void -CGScreenInit(ScreenPtr pScreen) +CGSaveColormap(ScreenPtr pScreen) +{ +sunScreenPtr pPrivate = sunGetScreenPrivate(pScreen); +sunCmapPtr origColormap; +u_char *rmap, *gmap, *bmap; + +origColormap = &pPrivate->origColormap; +rmap = origColormap->origRed; +gmap = origCol
CVS commit: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k
Module Name:xsrc Committed By: tsutsui Date: Sun Jul 19 19:05:20 UTC 2020 Modified Files: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k: x68kKbd.c Log Message: Remove #ifdef XKB conditional. It has been mandatory on Xorg: https://cgit.freedesktop.org/xorg/xserver/commit/?id=40877c6680863bd6a8475f2bb0c54df55bcf0b0e To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kKbd.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kKbd.c diff -u xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kKbd.c:1.2 xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kKbd.c:1.3 --- xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kKbd.c:1.2 Fri Apr 10 16:49:36 2020 +++ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kKbd.c Sun Jul 19 19:05:20 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: x68kKbd.c,v 1.2 2020/04/10 16:49:36 tsutsui Exp $ */ +/* $NetBSD: x68kKbd.c,v 1.3 2020/07/19 19:05:20 tsutsui Exp $ */ /*- * Copyright (c) 1996 Yasushi Yamasaki * All rights reserved. @@ -378,12 +378,10 @@ x68kKbdCtrl(DeviceIntPtr pDev, KeybdCtrl { X68kKbdPrivPtr pPriv = (X68kKbdPrivPtr)pDev->public.devicePrivate; -#ifdef XKB if (pPriv->leds != ctrl->leds) { x68kSetLeds(pPriv, (u_char)ctrl->leds); pPriv->leds = ctrl->leds; } -#endif } /*-
CVS commit: xsrc/external/mit/xorg-server.old/dist/fb
Module Name:xsrc Committed By: tsutsui Date: Sat Jul 18 17:18:09 UTC 2020 Modified Files: xsrc/external/mit/xorg-server.old/dist/fb: fb.h fbcmap_mi.c fbscreen.c Log Message: Fix 1bpp Xservers on "whitePixel=0, blackPixel=1" VRAMs. - Don't override pScreen->blackPixel and pScreen->whitePixel (set in MD server Init functions per -filpPixels option) on 1bpp servers in merged fbSetupScreen() (merged one from cfbSetupScrenn and mfbSetupScreen() in old xsrc/xfree) - Pull mfbCreateColormap() function from old xsrc/xfree tree and use it on 1bpp servers Required by forthcoming X11R7'fied ancient Xsun and XsunMono servers: https://mail-index.netbsd.org/port-sun3/2020/07/17/msg000157.html Without these fixes, mouse pointers and twm window titlebar etc. are rendered inverted. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 xsrc/external/mit/xorg-server.old/dist/fb/fb.h \ xsrc/external/mit/xorg-server.old/dist/fb/fbcmap_mi.c \ xsrc/external/mit/xorg-server.old/dist/fb/fbscreen.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xorg-server.old/dist/fb/fb.h diff -u xsrc/external/mit/xorg-server.old/dist/fb/fb.h:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/fb/fb.h:1.2 --- xsrc/external/mit/xorg-server.old/dist/fb/fb.h:1.1.1.1 Thu Jun 9 09:07:56 2016 +++ xsrc/external/mit/xorg-server.old/dist/fb/fb.h Sat Jul 18 17:18:09 2020 @@ -1282,6 +1282,9 @@ fbResolveColor(unsigned short *pred, extern _X_EXPORT Bool fbInitializeColormap(ColormapPtr pmap); +extern _X_EXPORT Bool +mfbCreateColormap(ColormapPtr pmap); + extern _X_EXPORT int fbExpandDirectColors (ColormapPtr pmap, int ndef, Index: xsrc/external/mit/xorg-server.old/dist/fb/fbcmap_mi.c diff -u xsrc/external/mit/xorg-server.old/dist/fb/fbcmap_mi.c:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/fb/fbcmap_mi.c:1.2 --- xsrc/external/mit/xorg-server.old/dist/fb/fbcmap_mi.c:1.1.1.1 Thu Jun 9 09:07:56 2016 +++ xsrc/external/mit/xorg-server.old/dist/fb/fbcmap_mi.c Sat Jul 18 17:18:09 2020 @@ -69,6 +69,41 @@ fbInitializeColormap(ColormapPtr pmap) return miInitializeColormap(pmap); } +Bool +mfbCreateColormap(ColormapPtr pmap) +{ +ScreenPtr pScreen; +unsigned short red0, green0, blue0; +unsigned short red1, green1, blue1; +Pixel pix; + +pScreen = pmap->pScreen; +if (pScreen->whitePixel == 0) +{ + red0 = green0 = blue0 = ~0; + red1 = green1 = blue1 = 0; +} +else +{ + red0 = green0 = blue0 = 0; + red1 = green1 = blue1 = ~0; +} + +/* this is a monochrome colormap, it only has two entries, just fill + * them in by hand. If it were a more complex static map, it would be + * worth writing a for loop or three to initialize it */ + +/* this will be pixel 0 */ +pix = 0; +if (AllocColor(pmap, &red0, &green0, &blue0, &pix, 0) != Success) + return FALSE; + +/* this will be pixel 1 */ +if (AllocColor(pmap, &red1, &green1, &blue1, &pix, 0) != Success) + return FALSE; +return TRUE; +} + int fbExpandDirectColors (ColormapPtr pmap, int ndef, Index: xsrc/external/mit/xorg-server.old/dist/fb/fbscreen.c diff -u xsrc/external/mit/xorg-server.old/dist/fb/fbscreen.c:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/fb/fbscreen.c:1.2 --- xsrc/external/mit/xorg-server.old/dist/fb/fbscreen.c:1.1.1.1 Thu Jun 9 09:07:56 2016 +++ xsrc/external/mit/xorg-server.old/dist/fb/fbscreen.c Sat Jul 18 17:18:09 2020 @@ -103,8 +103,10 @@ fbSetupScreen(ScreenPtr pScreen, if (!fbAllocatePrivates(pScreen, NULL)) return FALSE; pScreen->defColormap = FakeClientID(0); -/* let CreateDefColormap do whatever it wants for pixels */ -pScreen->blackPixel = pScreen->whitePixel = (Pixel) 0; +if (bpp > 1) { + /* let CreateDefColormap do whatever it wants for pixels */ + pScreen->blackPixel = pScreen->whitePixel = (Pixel) 0; +} pScreen->QueryBestSize = fbQueryBestSize; /* SaveScreen */ pScreen->GetImage = fbGetImage; @@ -121,7 +123,11 @@ fbSetupScreen(ScreenPtr pScreen, pScreen->RealizeFont = fbRealizeFont; pScreen->UnrealizeFont = fbUnrealizeFont; pScreen->CreateGC = fbCreateGC; -pScreen->CreateColormap = fbInitializeColormap; +if (bpp == 1) { + pScreen->CreateColormap = mfbCreateColormap; +} else { + pScreen->CreateColormap = fbInitializeColormap; +} pScreen->DestroyColormap = (void (*)(ColormapPtr))NoopDDA; pScreen->InstallColormap = fbInstallColormap; pScreen->UninstallColormap = fbUninstallColormap;
CVS commit: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k
Module Name:xsrc Committed By: tsutsui Date: Sat Jul 18 04:37:50 UTC 2020 Modified Files: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k: x68kInit.c Log Message: Use AllocDevicePair() to initialize input devices in InitInput(). This should have been done on the initial X11R7'fied imoprt as upstream xnest did: https://cgit.freedesktop.org/xorg/xserver/commit?id=32ce5c83a504d2cafd2b19ed628b40032ef347b3 Tested and no visible regression on XM6i. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kInit.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kInit.c diff -u xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kInit.c:1.2 xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kInit.c:1.3 --- xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kInit.c:1.2 Fri Apr 10 16:49:36 2020 +++ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kInit.c Sat Jul 18 04:37:50 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: x68kInit.c,v 1.2 2020/04/10 16:49:36 tsutsui Exp $ */ +/* $NetBSD: x68kInit.c,v 1.3 2020/07/18 04:37:50 tsutsui Exp $ */ /*- * Copyright (c) 1996 Yasushi Yamasaki * All rights reserved. @@ -128,8 +128,14 @@ InitOutput(ScreenInfo *pScreenInfo, int void InitInput(int argc, char *argv[]) { -x68kPointerDevice = AddInputDevice(serverClient, x68kMouseProc, TRUE); -x68kKeyboardDevice = AddInputDevice(serverClient, x68kKbdProc, TRUE); +int rc; + +rc = AllocDevicePair(serverClient, "x68k", + &x68kPointerDevice, &x68kKeyboardDevice, + x68kMouseProc,x68kKbdProc, FALSE); +if (rc != Success) + FatalError("Failed to init x68k default input devices.\n"); + GetEventList(&x68kEvents); if ( !mieqInit() )
CVS commit: xsrc/external/mit/xorg-server.old/dist/hw/xfree86/ramdac
Module Name:xsrc Committed By: christos Date: Wed Jan 2 02:56:43 UTC 2019 Modified Files: xsrc/external/mit/xorg-server.old/dist/hw/xfree86/ramdac: xf86Cursor.c Log Message: ad provde the cursor function... To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/hw/xfree86/ramdac/xf86Cursor.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xorg-server.old/dist/hw/xfree86/ramdac/xf86Cursor.c diff -u xsrc/external/mit/xorg-server.old/dist/hw/xfree86/ramdac/xf86Cursor.c:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/hw/xfree86/ramdac/xf86Cursor.c:1.2 --- xsrc/external/mit/xorg-server.old/dist/hw/xfree86/ramdac/xf86Cursor.c:1.1.1.1 Thu Jun 9 05:07:59 2016 +++ xsrc/external/mit/xorg-server.old/dist/hw/xfree86/ramdac/xf86Cursor.c Tue Jan 1 21:56:43 2019 @@ -475,3 +475,27 @@ xf86DeviceCursorCleanup(DeviceIntPtr pDe (*ScreenPriv->spriteFuncs->DeviceCursorCleanup)(pDev, pScreen); } + +/* Re-set the current cursor. This will switch between hardware and software + * cursor depending on whether hardware cursor is currently supported + * according to the driver. + */ +void +xf86CursorResetCursor(ScreenPtr pScreen) +{ +xf86CursorScreenPtr ScreenPriv; + +if (!inputInfo.pointer) +return; + +if (!dixPrivateKeyRegistered(xf86CursorScreenKey)) +return; + +ScreenPriv = (xf86CursorScreenPtr) dixLookupPrivate(&pScreen->devPrivates, +xf86CursorScreenKey); +if (!ScreenPriv) +return; + +xf86CursorSetCursor(inputInfo.pointer, pScreen, ScreenPriv->CurrentCursor, +ScreenPriv->x, ScreenPriv->y); +}
CVS commit: xsrc/external/mit/xorg-server.old/dist
Module Name:xsrc Committed By: mrg Date: Sat Nov 4 21:50:46 UTC 2017 Modified Files: xsrc/external/mit/xorg-server.old/dist/Xext: panoramiX.c saver.c xvdisp.c xsrc/external/mit/xorg-server.old/dist/Xi: xichangehierarchy.c xsrc/external/mit/xorg-server.old/dist/dbe: dbe.c xsrc/external/mit/xorg-server.old/dist/dix: dispatch.c xsrc/external/mit/xorg-server.old/dist/hw/dmx: dmxpict.c xsrc/external/mit/xorg-server.old/dist/hw/xfree86/dixmods/extmod: xf86dga2.c xsrc/external/mit/xorg-server.old/dist/hw/xfree86/dri: xf86dri.c xsrc/external/mit/xorg-server.old/dist/render: render.c xsrc/external/mit/xorg-server.old/dist/xfixes: cursor.c region.c saveset.c xfixes.c Log Message: apply fixes for CVEs 2017-12176 to 2017-12187 to xorg-server 1.10. several of the changes were in new code, and the DGA code had moved. -- >From 1b1d4c04695dced2463404174b50b3581dbd857b Mon Sep 17 00:00:00 2001 From: Nathan Kidd Date: Sun, 21 Dec 2014 01:10:03 -0500 Subject: hw/xfree86: unvalidated lengths This addresses: CVE-2017-12180 in XFree86-VidModeExtension CVE-2017-12181 in XFree86-DGA CVE-2017-12182 in XFree86-DRI -- >From 211e05ac85a294ef361b9f80d689047fa52b9076 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Fri, 7 Jul 2017 17:21:46 +0200 Subject: Xi: Test exact size of XIBarrierReleasePointer Otherwise a client can send any value of num_barriers and cause reading or swapping of values on heap behind the receive buffer. -- >From 4ca68b878e851e2136c234f40a25008297d8d831 Mon Sep 17 00:00:00 2001 From: Nathan Kidd Date: Fri, 9 Jan 2015 10:09:14 -0500 Subject: dbe: Unvalidated variable-length request in ProcDbeGetVisualInfo (CVE-2017-12177) v2: Protect against integer overflow (Alan Coopersmith) -- >From 55caa8b08c84af2b50fbc936cf334a5a93dd7db5 Mon Sep 17 00:00:00 2001 From: Nathan Kidd Date: Fri, 9 Jan 2015 11:43:05 -0500 Subject: xfixes: unvalidated lengths (CVE-2017-12183) v2: Use before swap (Jeremy Huddleston Sequoia) v3: Fix wrong XFixesCopyRegion checks (Alan Coopersmith) -- >From 859b08d523307eebde7724fd1a0789c44813e821 Mon Sep 17 00:00:00 2001 From: Nathan Kidd Date: Wed, 24 Dec 2014 16:22:18 -0500 Subject: Xi: fix wrong extra length check in ProcXIChangeHierarchy (CVE-2017-12178) -- >From 9c23685009aa96f4b861dcc5d2e01dbee00c4dd9 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Fri, 7 Jul 2017 17:04:03 +0200 Subject: os: Make sure big requests have sufficient length. A client can send a big request where the 32B "length" field has value 0. When the big request header is removed and the length corrected, the value will underflow to 0x. Functions processing the request later will think that the client sent much more data and may touch memory beyond the receive buffer. -- >From b747da5e25be944337a9cd1415506fc06b70aa81 Mon Sep 17 00:00:00 2001 From: Nathan Kidd Date: Fri, 9 Jan 2015 10:15:46 -0500 Subject: Unvalidated extra length in ProcEstablishConnection (CVE-2017-12176) To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/Xext/panoramiX.c \ xsrc/external/mit/xorg-server.old/dist/Xext/saver.c \ xsrc/external/mit/xorg-server.old/dist/Xext/xvdisp.c cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/Xi/xichangehierarchy.c cvs rdiff -u -r1.1.1.1 -r1.2 xsrc/external/mit/xorg-server.old/dist/dbe/dbe.c cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/dix/dispatch.c cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/hw/dmx/dmxpict.c cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/hw/xfree86/dixmods/extmod/xf86dga2.c cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/hw/xfree86/dri/xf86dri.c cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/render/render.c cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/xfixes/cursor.c \ xsrc/external/mit/xorg-server.old/dist/xfixes/region.c \ xsrc/external/mit/xorg-server.old/dist/xfixes/saveset.c \ xsrc/external/mit/xorg-server.old/dist/xfixes/xfixes.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xorg-server.old/dist/Xext/panoramiX.c diff -u xsrc/external/mit/xorg-server.old/dist/Xext/panoramiX.c:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/Xext/panoramiX.c:1.2 --- xsrc/external/mit/xorg-server.old/dist/Xext/panoramiX.c:1.1.1.1 Thu Jun 9 09:07:56 2016 +++ xsrc/external/mit/xorg-server.old/dist/Xext/panoramiX.c Sat Nov 4 21:50:45 2017 @@ -990,10 +990,11 @@ ProcPanoramiXGetScreenSize(ClientPtr cli xPanoramiXGetScreenSizeReply rep; int n, rc; + REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); + if (stuff->screen >= PanoramiXNumScreens) return BadMatch; - REQUEST_SIZE_MATCH(xPanora
CVS commit: xsrc/external/mit/xorg-server.old/dist/Xi
Module Name:xsrc Committed By: mrg Date: Fri Jul 7 06:52:17 UTC 2017 Modified Files: xsrc/external/mit/xorg-server.old/dist/Xi: sendexev.c Log Message: add missing } from the previous. apparently i mis-tested and it didn't compile. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 xsrc/external/mit/xorg-server.old/dist/Xi/sendexev.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xorg-server.old/dist/Xi/sendexev.c diff -u xsrc/external/mit/xorg-server.old/dist/Xi/sendexev.c:1.2 xsrc/external/mit/xorg-server.old/dist/Xi/sendexev.c:1.3 --- xsrc/external/mit/xorg-server.old/dist/Xi/sendexev.c:1.2 Fri Jul 7 06:08:45 2017 +++ xsrc/external/mit/xorg-server.old/dist/Xi/sendexev.c Fri Jul 7 06:52:17 2017 @@ -154,6 +154,7 @@ ProcXSendExtensionEvent(ClientPtr client client->errorValue = first[i].u.u.type; return BadValue; } +} list = (XEventClass *) (first + stuff->num_events); if ((ret = CreateMaskFromList(client, list, stuff->count, tmp, dev,
CVS commit: xsrc/external/mit/xorg-server.old/dist
Module Name:xsrc Committed By: mrg Date: Fri Jul 7 06:08:45 UTC 2017 Modified Files: xsrc/external/mit/xorg-server.old/dist/Xi: sendexev.c xsrc/external/mit/xorg-server.old/dist/dix: events.c swapreq.c Log Message: CVE-2017-10971 and CVE-2017-10972: apply fixes to the event loop from https://cgit.freedesktop.org/xorg/xserver/commit/?id=ba336b24052122b136486961c82deac76bbde455 https://cgit.freedesktop.org/xorg/xserver/commit/?id=8caed4df36b1f802b4992edcfd282cbeeec35d9d https://cgit.freedesktop.org/xorg/xserver/commit/?id=215f894965df5fb0bb45b107d84524e700d2073c https://cgit.freedesktop.org/xorg/xserver/commit/?id=05442de962d3dc624f79fc1a00eca3ffc5489ced XXX: pullup-[678] (6/7 also need xfree port.) To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/Xi/sendexev.c cvs rdiff -u -r1.1.1.1 -r1.2 \ xsrc/external/mit/xorg-server.old/dist/dix/events.c \ xsrc/external/mit/xorg-server.old/dist/dix/swapreq.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xorg-server.old/dist/Xi/sendexev.c diff -u xsrc/external/mit/xorg-server.old/dist/Xi/sendexev.c:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/Xi/sendexev.c:1.2 --- xsrc/external/mit/xorg-server.old/dist/Xi/sendexev.c:1.1.1.1 Thu Jun 9 09:07:56 2016 +++ xsrc/external/mit/xorg-server.old/dist/Xi/sendexev.c Fri Jul 7 06:08:45 2017 @@ -79,7 +79,7 @@ SProcXSendExtensionEvent(ClientPtr clien char n; CARD32 *p; int i; -xEvent eventT; +xEvent eventT = { .u.u.type = 0 }; xEvent *eventP; EventSwapPtr proc; @@ -95,9 +95,17 @@ SProcXSendExtensionEvent(ClientPtr clien eventP = (xEvent *) & stuff[1]; for (i = 0; i < stuff->num_events; i++, eventP++) { +if (eventP->u.u.type == GenericEvent) { +client->errorValue = eventP->u.u.type; +return BadValue; +} + proc = EventSwapVector[eventP->u.u.type & 0177]; - if (proc == NotImplemented) /* no swapping proc; invalid event type? */ +/* no swapping proc; invalid event type? */ +if (proc == NotImplemented) { +client->errorValue = eventP->u.u.type; return BadValue; +} (*proc) (eventP, &eventT); *eventP = eventT; } @@ -117,7 +125,7 @@ SProcXSendExtensionEvent(ClientPtr clien int ProcXSendExtensionEvent(ClientPtr client) { -int ret; +int ret, i; DeviceIntPtr dev; xEvent *first; XEventClass *list; @@ -140,11 +148,12 @@ ProcXSendExtensionEvent(ClientPtr client /* The client's event type must be one defined by an extension. */ first = ((xEvent *) & stuff[1]); -if (!((EXTENSION_EVENT_BASE <= first->u.u.type) && - (first->u.u.type < lastEvent))) { - client->errorValue = first->u.u.type; - return BadValue; -} +for (i = 0; i < stuff->num_events; i++) { +if (!((EXTENSION_EVENT_BASE <= first[i].u.u.type) && +(first[i].u.u.type < lastEvent))) { +client->errorValue = first[i].u.u.type; +return BadValue; +} list = (XEventClass *) (first + stuff->num_events); if ((ret = CreateMaskFromList(client, list, stuff->count, tmp, dev, Index: xsrc/external/mit/xorg-server.old/dist/dix/events.c diff -u xsrc/external/mit/xorg-server.old/dist/dix/events.c:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/dix/events.c:1.2 --- xsrc/external/mit/xorg-server.old/dist/dix/events.c:1.1.1.1 Thu Jun 9 09:07:56 2016 +++ xsrc/external/mit/xorg-server.old/dist/dix/events.c Fri Jul 7 06:08:45 2017 @@ -5021,6 +5021,12 @@ ProcSendEvent(ClientPtr client) client->errorValue = stuff->event.u.u.type; return BadValue; } +/* Generic events can have variable size, but SendEvent request holds + exactly 32B of event data. */ +if (stuff->event.u.u.type == GenericEvent) { +client->errorValue = stuff->event.u.u.type; +return BadValue; +} if (stuff->event.u.u.type == ClientMessage && stuff->event.u.u.detail != 8 && stuff->event.u.u.detail != 16 && Index: xsrc/external/mit/xorg-server.old/dist/dix/swapreq.c diff -u xsrc/external/mit/xorg-server.old/dist/dix/swapreq.c:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/dix/swapreq.c:1.2 --- xsrc/external/mit/xorg-server.old/dist/dix/swapreq.c:1.1.1.1 Thu Jun 9 09:07:56 2016 +++ xsrc/external/mit/xorg-server.old/dist/dix/swapreq.c Fri Jul 7 06:08:45 2017 @@ -315,6 +315,13 @@ SProcSendEvent(ClientPtr client) swapl(&stuff->destination, n); swapl(&stuff->eventMask, n); +/* Generic events can have variable size, but SendEvent request holds + exactly 32B of event data. */ +if (stuff->event.u.u.type == GenericEvent) { +client->errorValue = stuff->event.u.u.type; +return BadValue; +} + /* Swap event */ proc = EventSwapVector[stuff->event.u.u.type & 0177]; if (!proc ||
CVS commit: xsrc/external/mit/xorg-server.old/dist/os
Module Name:xsrc Committed By: mrg Date: Wed Mar 8 07:18:48 UTC 2017 Modified Files: xsrc/external/mit/xorg-server.old/dist/os: auth.c mitauth.c osdep.h rpcauth.c xdmauth.c Log Message: port to xorg-server 1.10: -- Log Message: apply https://cgit.freedesktop.org/xorg/xserver/commit/?id=2855f759b1e7bf7f5e57cac36c1f0d0e5ac1a683 auth: remove AuthToIDFunc and associated functions. Not used anymore. And the current code for MitToId has a use-after-free() issue. [Also remove the actual implementations - ajax] Signed-off-by: Matthieu Herrb Reviewed-by: Alan Coopersmith -- To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 xsrc/external/mit/xorg-server.old/dist/os/auth.c \ xsrc/external/mit/xorg-server.old/dist/os/mitauth.c \ xsrc/external/mit/xorg-server.old/dist/os/osdep.h \ xsrc/external/mit/xorg-server.old/dist/os/rpcauth.c \ xsrc/external/mit/xorg-server.old/dist/os/xdmauth.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: xsrc/external/mit/xorg-server.old/dist/os/auth.c diff -u xsrc/external/mit/xorg-server.old/dist/os/auth.c:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/os/auth.c:1.2 --- xsrc/external/mit/xorg-server.old/dist/os/auth.c:1.1.1.1 Thu Jun 9 09:08:00 2016 +++ xsrc/external/mit/xorg-server.old/dist/os/auth.c Wed Mar 8 07:18:47 2017 @@ -52,7 +52,6 @@ struct protocol { AuthAddCFunc Add; /* new authorization data */ AuthCheckFunc Check; /* verify client authorization data */ AuthRstCFunc Reset; /* delete all authorization data entries */ -AuthToIDFunc ToID; /* convert cookie to ID */ AuthFromIDFunc FromID; /* convert ID to cookie */ AuthRemCFunc Remove; /* remove a specific cookie */ #ifdef XCSECURITY @@ -63,7 +62,7 @@ struct protocol { static struct protocol protocols[] = { { (unsigned short) 18,"MIT-MAGIC-COOKIE-1", MitAddCookie, MitCheckCookie, MitResetCookie, - MitToID, MitFromID, MitRemoveCookie, + MitFromID, MitRemoveCookie, #ifdef XCSECURITY MitGenerateCookie #endif @@ -71,7 +70,7 @@ static struct protocol protocols[] = { #ifdef HASXDMAUTH { (unsigned short) 19,"XDM-AUTHORIZATION-1", XdmAddCookie, XdmCheckCookie, XdmResetCookie, - XdmToID, XdmFromID, XdmRemoveCookie, + XdmFromID, XdmRemoveCookie, #ifdef XCSECURITY NULL #endif @@ -80,7 +79,7 @@ static struct protocol protocols[] = { #ifdef SECURE_RPC { (unsigned short) 9,"SUN-DES-1", SecureRPCAdd, SecureRPCCheck, SecureRPCReset, - SecureRPCToID, SecureRPCFromID,SecureRPCRemove, + SecureRPCFromID,SecureRPCRemove, #ifdef XCSECURITY NULL #endif Index: xsrc/external/mit/xorg-server.old/dist/os/mitauth.c diff -u xsrc/external/mit/xorg-server.old/dist/os/mitauth.c:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/os/mitauth.c:1.2 --- xsrc/external/mit/xorg-server.old/dist/os/mitauth.c:1.1.1.1 Thu Jun 9 09:08:00 2016 +++ xsrc/external/mit/xorg-server.old/dist/os/mitauth.c Wed Mar 8 07:18:47 2017 @@ -103,21 +103,6 @@ MitResetCookie (void) return 0; } -XID -MitToID ( - unsigned short data_length, - char *data) -{ -struct auth *auth; - -for (auth = mit_auth; auth; auth=auth->next) { - if (data_length == auth->len && - memcmp (data, auth->data, data_length) == 0) - return auth->id; -} -return (XID) -1; -} - int MitFromID ( XID id, Index: xsrc/external/mit/xorg-server.old/dist/os/osdep.h diff -u xsrc/external/mit/xorg-server.old/dist/os/osdep.h:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/os/osdep.h:1.2 --- xsrc/external/mit/xorg-server.old/dist/os/osdep.h:1.1.1.1 Thu Jun 9 09:08:01 2016 +++ xsrc/external/mit/xorg-server.old/dist/os/osdep.h Wed Mar 8 07:18:47 2017 @@ -158,9 +158,6 @@ typedef int (*AuthRemCFunc) (AuthRemCArg #define AuthRstCArgs void typedef int (*AuthRstCFunc) (AuthRstCArgs); -#define AuthToIDArgs unsigned short data_length, char *data -typedef XID (*AuthToIDFunc) (AuthToIDArgs); - typedef void (*OsCloseFunc)(ClientPtr); typedef int (*OsFlushFunc)(ClientPtr who, struct _osComm * oc, char* extraBuf, int extraCount); @@ -227,7 +224,6 @@ extern void GenerateRandomData (int len, /* in mitauth.c */ extern XID MitCheckCookie(AuthCheckArgs); extern XID MitGenerateCookie (AuthGenCArgs); -extern XID MitToID (AuthToIDArgs); extern int MitAddCookie (AuthAddCArgs); extern int MitFromID (AuthFromIDArgs); extern int MitRemoveCookie (AuthRemCArgs); @@ -236,7 +232,6 @@ extern int MitResetCookie(AuthRstCA /* in xdmauth.c */ #ifdef HASXDMAUTH extern XID XdmCheckCookie(AuthCheckArgs); -extern XID XdmToID (AuthToIDArgs); extern int XdmAddCookie (AuthAddCArgs); extern int XdmFromID (AuthFromIDArgs); extern int XdmRemoveCookie (AuthRemCArgs); @@ -247,7 +242,6 @@ extern int XdmResetCookie(AuthRstCA #ifdef SECURE_RPC extern void SecureRPCInit (AuthInitArgs); extern