X-Git-Url: https://git.sesse.net/?p=rdpsrv;a=blobdiff_plain;f=Xserver%2Flib%2FXdmcp%2FWrap.c;fp=Xserver%2Flib%2FXdmcp%2FWrap.c;h=0000000000000000000000000000000000000000;hp=9cecc34094239018ff845a6b2312e95ec924eed2;hb=ce66b81460e5353db09d45c02339d4583fbda255;hpb=7772d71ffd742cfc9b7ff214659d16c5bb56a391 diff --git a/Xserver/lib/Xdmcp/Wrap.c b/Xserver/lib/Xdmcp/Wrap.c deleted file mode 100644 index 9cecc34..0000000 --- a/Xserver/lib/Xdmcp/Wrap.c +++ /dev/null @@ -1,128 +0,0 @@ -/* - * $XConsortium: Wrap.c,v 1.9 94/04/17 20:16:48 keith Exp $ - * - * -Copyright (c) 1989 X Consortium - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -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 -X CONSORTIUM 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 X Consortium 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 X Consortium. - * * - * Author: Keith Packard, MIT X Consortium - */ - -#include -#include -#include -#include - -#ifdef HASXDMAUTH - -/* - * The following function exists only to demonstrate the - * desired functional interface for this routine. You will - * need to add the appropriate algorithm if you wish to - * use XDM-AUTHENTICATION-1/XDM-AUTHORIZATION-1. - * - * Examine the XDMCP specification for the correct algorithm - */ - -#include "Wrap.h" - -void -XdmcpWrap (input, wrapper, output, bytes) - unsigned char *input, *output; - unsigned char *wrapper; - int bytes; -{ - int i, j; - int len; - unsigned char tmp[8]; - unsigned char expand_wrapper[8]; - auth_wrapper_schedule schedule; - - _XdmcpWrapperToOddParity (wrapper, expand_wrapper); - _XdmcpAuthSetup (expand_wrapper, schedule); - for (j = 0; j < bytes; j += 8) - { - len = 8; - if (bytes - j < len) - len = bytes - j; - /* block chaining */ - for (i = 0; i < len; i++) - { - if (j == 0) - tmp[i] = input[i]; - else - tmp[i] = input[j + i] ^ output[j - 8 + i]; - } - for (; i < 8; i++) - { - if (j == 0) - tmp[i] = 0; - else - tmp[i] = 0 ^ output[j - 8 + i]; - } - _XdmcpAuthDoIt (tmp, (output + j), schedule, 1); - } -} - -/* - * Given a 56 bit wrapper in XDMCP format, create a 56 - * bit wrapper in 7-bits + odd parity format - */ - -static int -OddParity (c) - unsigned char c; -{ - c = c ^ (c >> 4); - c = c ^ (c >> 2); - c = c ^ (c >> 1); - return ~c & 0x1; -} - -/* - * Spread the 56 bit wrapper among 8 bytes, using the upper 7 bits - * of each byte, and storing an odd parity bit in the low bit - */ - -void -_XdmcpWrapperToOddParity (in, out) - unsigned char *in, *out; -{ - int ashift, bshift; - int i; - unsigned char c; - - ashift = 7; - bshift = 1; - for (i = 0; i < 7; i++) - { - c = ((in[i] << ashift) | (in[i+1] >> bshift)) & 0x7f; - out[i] = (c << 1) | OddParity (c); - ashift--; - bshift++; - } - c = in[i]; - out[i] = (c << 1) | OddParity(c); -} - -#endif