From: Jan Rękorajski Date: Thu, 9 Nov 2000 14:35:39 +0000 (+0000) Subject: d64159e9516a7019f3ab24f4c7a0d2fa XFree86-HasXdmAuth.patch X-Git-Tag: XFree86-4_0_1-9~2 X-Git-Url: http://git.pld-linux.org/?p=packages%2FX11.git;a=commitdiff_plain;h=e23f9969f9b7a02212fdeb5db4f6cb830416e787 d64159e9516a7019f3ab24f4c7a0d2fa XFree86-HasXdmAuth.patch 0100512ca03abd3ccdad65ee53de619e XFree86-Xserver_observe_XAUTHORITY.patch 0a2651fb19a0441552f56b20a9dd2acd XFree86-xdm-fixes.patch Changed files: XFree86-HasXdmAuth.patch -> 1.1 XFree86-xdm-fixes.patch -> 1.1 --- diff --git a/XFree86-HasXdmAuth.patch b/XFree86-HasXdmAuth.patch new file mode 100644 index 0000000..211c73a --- /dev/null +++ b/XFree86-HasXdmAuth.patch @@ -0,0 +1,416 @@ +--- XFree86-4.0.1/xc/config/cf/xf86site.def~ Wed Nov 8 18:24:28 2000 ++++ XFree86-4.0.1/xc/config/cf/xf86site.def Wed Nov 8 18:37:12 2000 +@@ -555,8 +555,8 @@ + /* + * If you want XDMAUTH support (if you have Wraphelp.c), uncomment this. + * +-#define HasXdmAuth YES + */ ++#define HasXdmAuth YES + + /* + * If you have Linux DECnet support, and want to build XFree86 with support +--- /dev/null Tue May 27 20:49:58 1997 ++++ XFree86-4.0.1/xc/lib/Xdmcp/Wraphelp.c Sat Feb 26 02:04:11 2000 +@@ -0,0 +1,401 @@ ++/* ++ * This program implements the ++ * Proposed Federal Information Processing ++ * Data Encryption Standard. ++ * See Federal Register, March 17, 1975 (40FR12134) ++ */ ++ ++/* ++ * Initial permutation, ++ */ ++static char IP[] = { ++ 58,50,42,34,26,18,10, 2, ++ 60,52,44,36,28,20,12, 4, ++ 62,54,46,38,30,22,14, 6, ++ 64,56,48,40,32,24,16, 8, ++ 57,49,41,33,25,17, 9, 1, ++ 59,51,43,35,27,19,11, 3, ++ 61,53,45,37,29,21,13, 5, ++ 63,55,47,39,31,23,15, 7, ++}; ++ ++/* ++ * Final permutation, FP = IP^(-1) ++ */ ++static char FP[] = { ++ 40, 8,48,16,56,24,64,32, ++ 39, 7,47,15,55,23,63,31, ++ 38, 6,46,14,54,22,62,30, ++ 37, 5,45,13,53,21,61,29, ++ 36, 4,44,12,52,20,60,28, ++ 35, 3,43,11,51,19,59,27, ++ 34, 2,42,10,50,18,58,26, ++ 33, 1,41, 9,49,17,57,25, ++}; ++ ++/* ++ * Permuted-choice 1 from the key bits ++ * to yield C and D. ++ * Note that bits 8,16... are left out: ++ * They are intended for a parity check. ++ */ ++static char PC1_C[] = { ++ 57,49,41,33,25,17, 9, ++ 1,58,50,42,34,26,18, ++ 10, 2,59,51,43,35,27, ++ 19,11, 3,60,52,44,36, ++}; ++ ++static char PC1_D[] = { ++ 63,55,47,39,31,23,15, ++ 7,62,54,46,38,30,22, ++ 14, 6,61,53,45,37,29, ++ 21,13, 5,28,20,12, 4, ++}; ++ ++/* ++ * Sequence of shifts used for the key schedule. ++*/ ++static char shifts[] = { ++ 1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1, ++}; ++ ++/* ++ * Permuted-choice 2, to pick out the bits from ++ * the CD array that generate the key schedule. ++ */ ++static char PC2_C[] = { ++ 14,17,11,24, 1, 5, ++ 3,28,15, 6,21,10, ++ 23,19,12, 4,26, 8, ++ 16, 7,27,20,13, 2, ++}; ++ ++static char PC2_D[] = { ++ 41,52,31,37,47,55, ++ 30,40,51,45,33,48, ++ 44,49,39,56,34,53, ++ 46,42,50,36,29,32, ++}; ++ ++/* ++ * The C and D arrays used to calculate the key schedule. ++ */ ++ ++static char C[28]; ++static char D[28]; ++ ++/* ++ * The key schedule. ++ * Generated from the key. ++ */ ++static char KS[16][48]; ++ ++/* ++ * The E bit-selection table. ++ */ ++static char E[48]; ++static char e[] = { ++ 32, 1, 2, 3, 4, 5, ++ 4, 5, 6, 7, 8, 9, ++ 8, 9,10,11,12,13, ++ 12,13,14,15,16,17, ++ 16,17,18,19,20,21, ++ 20,21,22,23,24,25, ++ 24,25,26,27,28,29, ++ 28,29,30,31,32, 1, ++}; ++ ++/* ++ * Set up the key schedule from the key. ++ */ ++ ++static ++setkey(key) ++char *key; ++{ ++ int i, j, k; ++ int t; ++ char *ptr; ++ ++ /* ++ * First, generate C and D by permuting ++ * the key. The low order bit of each ++ * 8-bit char is not used, so C and D are only 28 ++ * bits apiece. ++ */ ++ for (i=0; i<28; i++) { ++ C[i] = key[PC1_C[i]-1]; ++ D[i] = key[PC1_D[i]-1]; ++ } ++ /* ++ * To generate Ki, rotate C and D according ++ * to schedule and pick up a permutation ++ * using PC2. ++ */ ++ for (i=0; i<16; i++) { ++ /* ++ * rotate. ++ */ ++ for (k=0; k>3)&01; ++ f[t+1] = (k>>2)&01; ++ f[t+2] = (k>>1)&01; ++ f[t+3] = (k>>0)&01; ++ } ++ /* ++ * The new R is L ^ f(R, K). ++ * The f here has to be permuted first, though. ++ */ ++ for (j=0; j<32; j++) ++ R[j] = L[j] ^ f[P[j]-1]; ++ /* ++ * Finally, the new L (the original R) ++ * is copied back. ++ */ ++ for (j=0; j<32; j++) ++ L[j] = tempL[j]; ++ } ++ /* ++ * The output L and R are reversed. ++ */ ++ for (j=0; j<32; j++) { ++ t = L[j]; ++ L[j] = R[j]; ++ R[j] = t; ++ } ++ /* ++ * The final output ++ * gets the inverse permutation of the very original. ++ */ ++ for (j=0; j<64; j++) ++ block[j] = L[FP[j]-1]; ++} ++ ++static ++bytes_to_bits (bytes, bits) ++ unsigned char *bytes; ++ char *bits; ++{ ++ int bit, byte, value; ++ ++ for (byte = 0; byte < 8; byte++) ++ { ++ value = *bytes++; ++ for (bit = 0; bit < 8; bit++) ++ *bits++ = (value >> (7-bit)) & 1; ++ } ++} ++ ++static ++bits_to_bytes (bits, bytes) ++ char *bits; ++ unsigned char *bytes; ++{ ++ int bit, byte, value; ++ ++ for (byte = 0; byte < 8; byte++) ++ { ++ value = 0; ++ for (bit = 0; bit < 8; bit++) ++ value |= *bits++ << (7-bit); ++ *bytes++ = value; ++ } ++} ++ ++/* ++ * Interface compatible with Kerberos DES implementation ++ */ ++ ++# include "Wrap.h" ++ ++/*ARGSUSED*/ ++_XdmcpAuthSetup (key, schedule) ++ auth_cblock key; ++ auth_wrapper_schedule schedule; ++{ ++ char expand_key[64]; ++ ++ bytes_to_bits ((unsigned char *) key, expand_key); ++ setkey (expand_key); ++} ++ ++/*ARGSUSED*/ ++_XdmcpAuthDoIt (input, output, schedule, edflag) ++ auth_cblock input, output; ++ auth_wrapper_schedule schedule; ++ int edflag; ++{ ++ char expand_input[64]; ++ ++ bytes_to_bits ((unsigned char *) input, expand_input); ++ encrypt (expand_input, !edflag); ++ bits_to_bytes (expand_input, (unsigned char *) output); ++} diff --git a/XFree86-xdm-fixes.patch b/XFree86-xdm-fixes.patch new file mode 100644 index 0000000..6cacaf5 --- /dev/null +++ b/XFree86-xdm-fixes.patch @@ -0,0 +1,98 @@ +diff -urN xc/programs/xdm~/Imakefile xc/programs/xdm/Imakefile +--- xc/programs/xdm~/Imakefile Sat Jun 17 13:48:22 2000 ++++ xc/programs/xdm/Imakefile Thu Sep 7 18:17:08 2000 +@@ -224,9 +224,9 @@ + '-DDEF_SYSTEM_SHELL="$(BOURNE_SHELL)"' \ + '-DDEF_FAILSAFE_CLIENT="$(BINDIR)/xterm"' \ + '-DDEF_XDM_CONFIG="$(XDMDIR)/xdm-config"' \ +- '-DDEF_CHOOSER="$(XDMDIR)/chooser"' \ +- '-DDEF_AUTH_DIR="$(XDMDIR)"' \ +- '-DDEF_GREETER_LIB="$(XDMDIR)/libXdmGreet.so"' ++ '-DDEF_CHOOSER="$(BIN)/chooser"' \ ++ '-DDEF_AUTH_DIR="$(XDMVARDIR)"' \ ++ '-DDEF_GREETER_LIB="$(USRLIBDIR)/libXdmGreet.so"' + #endif + + ComplexProgramTarget_1(xdm,$(LOCAL_LIBRARIES),NullParameter) +@@ -246,7 +246,7 @@ + #if BuildChooser + SpecialCObjectRule(chooser, $(ICONFIGFILES), $(SOCK_DEFINES)) + NormalProgramTarget(chooser,$(OBJS3),$(DEPLIBS3),$(LIBS3),NullParameter) +-InstallProgram(chooser,$(XDMDIR)) ++InstallProgram(chooser,$(BINDIR)) + InstallAppDefaults(Chooser) + #endif + #if BuildBoth +diff -urN xc/programs/xdm~/config/Imakefile xc/programs/xdm/config/Imakefile +--- xc/programs/xdm~/config/Imakefile Mon Jan 31 14:33:43 2000 ++++ xc/programs/xdm/config/Imakefile Thu Sep 7 18:17:08 2000 +@@ -25,7 +25,11 @@ + #endif + + CppFileTarget(Xservers.ws,Xserv.ws.cpp,-DBINDIR=$(BINDIR) -DDEFAULTVT=$(DEFAULTVT),NullParameter) +-CppFileTarget(xdm-config,xdm-conf.cpp,-DXDMDIR=$(XDMDIR) -DXDMLOGDIR=$(XDMLOGDIR) -DXDMPIDDIR=$(XDMPIDDIR),NullParameter) ++#ifdef LinuxArchitecture ++CppFileTarget(xdm-config,xdm-conf.cpp,$(XPM_DEFINES) -DLINUX=1 -DXDMDIR=$(XDMDIR) -DXDMLOGDIR=$(XDMLOGDIR) -DXDMPIDDIR=$(XDMPIDDIR) -DXDMVARDIR=$(XDMVARDIR),NullParameter) ++#else ++CppFileTarget(xdm-config,xdm-conf.cpp,$(XPM_DEFINES) -DXDMDIR=$(XDMDIR) -DXDMLOGDIR=$(XDMLOGDIR) -DXDMPIDDIR=$(XDMPIDDIR),NullParameter) ++#endif /* LinuxArchitecture */ + CppFileTarget(Xresources,Xres.cpp,$(XPM_DEFINES),NullParameter) + + LinkFile(Xservers,Xservers.$(SERVERSTYPE)) +diff -urN xc/programs/xdm~/config/Xres.cpp xc/programs/xdm/config/Xres.cpp +--- xc/programs/xdm~/config/Xres.cpp Sat Mar 13 22:22:24 1999 ++++ xc/programs/xdm/config/Xres.cpp Thu Sep 7 18:23:11 2000 +@@ -5,6 +5,13 @@ + xlogin*login.translations: #override BS + CtrlR: abort-display()NLBS + F1: set-session-argument(failsafe) finish-field()NLBS ++ Delete: delete-character()NLBS ++ Left: move-backward-character()NLBS ++ Right: move-forward-character()NLBS ++ Home: move-to-begining()NLBS ++ End: move-to-end()NLBS ++ CtrlKP_Enter: set-session-argument(failsafe) finish-field()NLBS ++ KP_Enter: set-session-argument() finish-field()NLBS + CtrlReturn: set-session-argument(failsafe) finish-field()NLBS + Return: set-session-argument() finish-field() + #ifndef XPM +@@ -29,9 +36,7 @@ + /**/#endif + #endif /* XPM */ + /**/#ifdef COLOR +-#ifndef XPM +-xlogin*greetColor: CadetBlue +-#else ++#ifdef XPM + xlogin*borderWidth: 1 + xlogin*frameWidth: 5 + xlogin*innerFramesWidth: 2 +@@ -40,6 +45,8 @@ + xlogin*background: grey + !xlogin*foreground: darkgreen + xlogin*greetColor: Blue3 ++#else ++xlogin*greetColor: CadetBlue + #endif /* XPM */ + xlogin*failColor: red + *Foreground: black +@@ -76,6 +83,6 @@ + Chooser*allowShellResize: false + Chooser*viewport.forceBars: true + Chooser*label.font: *-new century schoolbook-bold-i-normal-*-240-* +-Chooser*label.label: XDMCP Host Menu from CLIENTHOST ++Chooser*label.label: XDMCP Host Menu from CLIENTHOST + Chooser*list.font: -*-*-medium-r-normal-*-*-230-*-*-c-*-iso8859-1 + Chooser*Command.font: *-new century schoolbook-bold-r-normal-*-180-* +diff -urN xc/programs/xdm~/greeter/Imakefile xc/programs/xdm/greeter/Imakefile +--- xc/programs/xdm~/greeter/Imakefile Wed Jun 14 14:43:32 2000 ++++ xc/programs/xdm/greeter/Imakefile Thu Sep 7 18:17:08 2000 +@@ -76,8 +76,6 @@ + INCLUDES = -I.. $(KRBIV_INCLUDES) $(KRB5_INCLUDE) + DEFINES = $(GREETER_DEFINES) $(XDMAUTH_DEFINES) $(RPC_DEFINES) \ + $(KRBIV_DEFINES) $(KRB5_DEFINES) $(PWD_DEFINES) $(PAM_DEFINES) +- +-SHLIBDIR = $(XDMDIR) + + SRCS = greet.c verify.c Login.c + OBJS = greet.o verify.o Login.o