Unverified Commit 825af183 authored by Mihai Moldovan's avatar Mihai Moldovan

Merge branch 'sunweaver-pr/libxdmcp-cleanup' into arctica-3.6.x

parents a5bb8882 49fc383a
......@@ -16,6 +16,7 @@ Build-Depends:
libxml2-dev,
libxpm-dev,
libxfont-dev,
libxdmcp-dev,
autoconf,
pkg-config,
x11proto-core-dev,
......@@ -367,19 +368,16 @@ Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
${shlibs:Depends},
${misc:Depends},
Breaks: nxlibs (<= 3.5.1),
libnx-x11 (<< 2:3.5.0.29-0x2go2~),
Description: nx-X11 Display Manager Control Protocol library
Description: nx-X11 Display Manager Control Protocol library (dummy package)
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
nx-X11 Display Manager Control Protocol library
This package removes the obsoleted libNX_Xdmcp.so.6 library. With
recent versions of NX, the system-wide installed libXdmcp gets used.
.
This package provides the main interface to the nx-X11 display manager control
protocol library, which allows for remote logins to display managers.
This package can be safely removed.
Package: libnx-xdmcp-dev
Provides: libnx-xdmcp6-dev
......@@ -387,21 +385,17 @@ Section: libdevel
Architecture: any
Multi-Arch: same
Depends:
libnx-xdmcp6 (= ${binary:Version}),
${misc:Depends},
Breaks: nxlibs (<= 3.5.1),
libnx-x11-dev (<< 2:3.5.0.29-0x2go2~),
Description: nx-X11 Display Manager Control Protocol library (development headers)
Description: nx-X11 Display Manager Control Protocol library (dummy package)
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
nx-X11 Display Manager Control Protocol library
.
This package provides the main interface to the nx-X11 display manager control
protocol library, which allows for remote logins to display managers.
This package removes the obsoleted headers for the libNX_Xdmcp.so.6
library. With recent versions of NX, the system-wide installed libXdmcp
gets used.
.
This package contains the development headers for this library.
This package can be safely removed.
Package: libnx-xdmcp6-dbg
Architecture: any
......@@ -409,21 +403,18 @@ Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
libnx-xdmcp6 (= ${binary:Version}),
${misc:Depends},
Section: debug
Breaks: nx-x11-dbg (<< 2:3.5.0.29-0x2go2~),
Description: nx-X11 Display Manager Control Protocol library (debug package)
Description: nx-X11 Display Manager Control Protocol library (dummy package)
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
nx-X11 Display Manager Control Protocol library
.
This package provides the main interface to the nx-X11 display manager control
protocol library, which allows for remote logins to display managers.
This package removes the obsoleted debug symbols for the libNX_Xdmcp.so.6
library. With recent versions of NX, the system-wide installed libXdmcp
gets used.
.
This package contains debug symbols for this library.
This package can be safely removed.
Package: libnx-xext6
Architecture: any
......
......@@ -547,7 +547,7 @@ libNX_X11.so.6 libnx-x11-6 #MINVER#
XcmsTekHVCWhiteShiftColors@Base 3.5.0.29
XcmsUNDEFINEDColorSpace@Base 3.5.0.29
XcmsVisualOfCCC@Base 3.5.0.29
XdmcpWrap@Base 3.5.0.29
#MISSING: 2:3.5.99.0-0~build1# XdmcpWrap@Base 3.5.0.29
XkbAddDeviceLedInfo@Base 3.5.0.29
XkbAddGeomColor@Base 3.5.0.29
XkbAddGeomDoodad@Base 3.5.0.29
......@@ -956,9 +956,9 @@ libNX_X11.so.6 libnx-x11-6 #MINVER#
_XcmsTekHVC_prefix@Base 3.5.0.29
_XcmsUnresolveColor@Base 3.5.0.29
_Xdebug@Base 3.5.0.29
_XdmcpAuthDoIt@Base 3.5.0.29
_XdmcpAuthSetup@Base 3.5.0.29
_XdmcpWrapperToOddParity@Base 3.5.0.29
#MISSING: 2:3.5.99.0-0~build1# _XdmcpAuthDoIt@Base 3.5.0.29
#MISSING: 2:3.5.99.0-0~build1# _XdmcpAuthSetup@Base 3.5.0.29
#MISSING: 2:3.5.99.0-0~build1# _XdmcpWrapperToOddParity@Base 3.5.0.29
_Xevent_to_mask@Base 3.5.0.29
_Xglobal_lock@Base 3.5.0.29
_Xi18n_lock@Base 3.5.0.29
......
usr/lib/*/libNX_Xdmcp.so
usr/include/*/nx/X11/Xdmcp.h
libNX_Xdmcp.so.6 libnx-xdmcp6 #MINVER#
Xalloc@Base 3.5.0.29
XdmcpARRAY8Equal@Base 3.5.0.29
XdmcpAllocARRAY16@Base 3.5.0.29
XdmcpAllocARRAY32@Base 3.5.0.29
XdmcpAllocARRAY8@Base 3.5.0.29
XdmcpAllocARRAYofARRAY8@Base 3.5.0.29
XdmcpCompareKeys@Base 3.5.0.29
XdmcpCopyARRAY8@Base 3.5.0.29
XdmcpDecrementKey@Base 3.5.0.29
XdmcpDisposeARRAY16@Base 3.5.0.29
XdmcpDisposeARRAY32@Base 3.5.0.29
XdmcpDisposeARRAY8@Base 3.5.0.29
XdmcpDisposeARRAYofARRAY8@Base 3.5.0.29
XdmcpFill@Base 3.5.0.29
XdmcpFlush@Base 3.5.0.29
XdmcpGenerateKey@Base 3.5.0.29
XdmcpIncrementKey@Base 3.5.0.29
XdmcpReadARRAY16@Base 3.5.0.29
XdmcpReadARRAY32@Base 3.5.0.29
XdmcpReadARRAY8@Base 3.5.0.29
XdmcpReadARRAYofARRAY8@Base 3.5.0.29
XdmcpReadCARD16@Base 3.5.0.29
XdmcpReadCARD32@Base 3.5.0.29
XdmcpReadCARD8@Base 3.5.0.29
XdmcpReadHeader@Base 3.5.0.29
XdmcpReadRemaining@Base 3.5.0.29
XdmcpReallocARRAY16@Base 3.5.0.29
XdmcpReallocARRAY32@Base 3.5.0.29
XdmcpReallocARRAY8@Base 3.5.0.29
XdmcpReallocARRAYofARRAY8@Base 3.5.0.29
XdmcpUnwrap@Base 3.5.0.29
XdmcpWrap@Base 3.5.0.29
XdmcpWriteARRAY16@Base 3.5.0.29
XdmcpWriteARRAY32@Base 3.5.0.29
XdmcpWriteARRAY8@Base 3.5.0.29
XdmcpWriteARRAYofARRAY8@Base 3.5.0.29
XdmcpWriteCARD16@Base 3.5.0.29
XdmcpWriteCARD32@Base 3.5.0.29
XdmcpWriteCARD8@Base 3.5.0.29
XdmcpWriteHeader@Base 3.5.0.29
Xfree@Base 3.5.0.29
Xrealloc@Base 3.5.0.29
_XdmcpAuthDoIt@Base 3.5.0.29
_XdmcpAuthSetup@Base 3.5.0.29
_XdmcpWrapperToOddParity@Base 3.5.0.29
......@@ -83,7 +83,6 @@ override_dh_strip:
dh_strip -plibnx-xau6 --dbg-package=libnx-xau6-dbg
dh_strip -plibnx-xcomposite1 --dbg-package=libnx-xcomposite1-dbg
dh_strip -plibnx-xdamage1 --dbg-package=libnx-xdamage1-dbg
dh_strip -plibnx-xdmcp6 --dbg-package=libnx-xdmcp6-dbg
dh_strip -plibnx-xext6 --dbg-package=libnx-xext6-dbg
dh_strip -plibnx-xfixes3 --dbg-package=libnx-xfixes3-dbg
dh_strip -plibnx-xinerama1 --dbg-package=libnx-xinerama1-dbg
......
......@@ -204,7 +204,6 @@ X11.tmpl provides defaults for the following variables:
DebugLibX11 build libX11_d.a
DebugLibXau build libXau_d.a
DebugLibXaw build libXaw_d.a
DebugLibXdmcp build libXdmcp_d.a
DebugLibXext build libXext_d.a
DebugLibXi build libXi_d.a
DebugLibXmu build libXmu_d.a
......@@ -253,7 +252,6 @@ X11.tmpl provides defaults for the following variables:
NormalLibX11 build libX11.a
NormalLibXau build libXau.a
NormalLibXaw build libXaw.a
NormalLibXdmcp build libXdmcp.a
NormalLibXext build libXext.a
NormalLibXi build libXi.a
NormalLibXmu build libXmu.a
......@@ -269,7 +267,6 @@ X11.tmpl provides defaults for the following variables:
ProfileLibX11 build libX11_p.a
ProfileLibXau build libXau_p.a
ProfileLibXaw build libXaw_p.a
ProfileLibXdmcp build libXdmcp_p.a
ProfileLibXext build libXext_p.a
ProfileLibXi build libXi_p.a
ProfileLibXmu build libXmu_p.a
......@@ -291,7 +288,6 @@ X11.tmpl provides defaults for the following variables:
SharedLibX11 boolean for making sharable libX11.so
SharedLibXau boolean for making sharable libXau.so
SharedLibXaw boolean for making sharable libXaw.so
SharedLibXdmcp boolean for making sharable libXdmcp.so
SharedLibXext boolean for making sharable libXext.so
SharedLibXi boolean for making sharable libXi.so
SharedLibXmu boolean for making sharable libXmu.so
......@@ -384,8 +380,6 @@ An <os>Lib.tmpl file provides defaults for the following variables:
SharedXauRev version number for libXau.so
SharedXawReqs required libs for libXaw.so
SharedXawRev version number for libXaw.so
SharedXdmcpReqs required libs for libXdmcp.so
SharedXdmcpRev version number for libXdmcp.so
SharedXextReqs required libs for libXext.so
SharedXextRev version number for libXext.so
SharedXiReqs required libs for libXi.so
......
......@@ -171,10 +171,6 @@ XORGRELSTRING = XorgManVersionString
#define BuildXauLib (BuildLibraries || BuildLibrariesForXServers)
#endif
#define UseInstalledXauLib (defined(UseInstalled) || !BuildXauLib)
#ifndef BuildXdmcpLib
#define BuildXdmcpLib (BuildLibraries || BuildLibrariesForXServers)
#endif
#define UseInstalledXdmcpLib (defined(UseInstalled) || !BuildXdmcpLib)
#ifndef BuildMITMiscExt
#define BuildMITMiscExt YES
#endif
......@@ -2442,32 +2438,6 @@ ProjectUnsharedLibReferences(XAUTH,NX_Xau,$(XAUTHSRC),$(USRLIBDIR))
#endif
#endif
#ifndef SharedLibXdmcp
#define SharedLibXdmcp YES
#endif
#ifndef NormalLibXdmcp
#define NormalLibXdmcp (!SharedLibXdmcp | ForceNormalLib)
#endif
#ifndef DebugLibXdmcp
#define DebugLibXdmcp NO /* debugged XDMCP library */
#endif
#ifndef ProfileLibXdmcp
#define ProfileLibXdmcp NO /* profiled XDMCP library */
#endif
XDMCPLIBSRC = $(LIBSRC)/Xdmcp
#if SharedLibXdmcp
#ifndef SharedXdmcpRev
#define SharedXdmcpRev 6.0
#endif
SharedLibReferences(XDMCP,NX_Xdmcp,$(XDMCPLIBSRC),SOXDMCPREV,SharedXdmcpRev)
#else
#if !UseInstalledXdmcpLib
ProjectUnsharedLibReferences(XDMCP,NX_Xdmcp,$(XDMCPLIBSRC),XBuildLibDir)
#else
ProjectUnsharedLibReferences(XDMCP,NX_Xdmcp,$(XDMCPLIBSRC),$(USRLIBDIR))
#endif
#endif
#ifndef SharedLibXmu
#define SharedLibXmu HasSharedLibraries
#endif
......
......@@ -165,10 +165,6 @@ XALIBDIR = Xa
XAULIBDIR = Xau
#endif
#if BuildXdmcpLib
XDMCPLIBDIR = Xdmcp
#endif
#if BuildX11Lib
X11LIBDIR = X11
#endif
......@@ -183,7 +179,7 @@ XTSTLIBDIR = Xtst
#endif
LINTSUBDIRS = $(XAULIBDIR) $(XDMCPLIBDIR) $(X11LIBDIR) \
LINTSUBDIRS = $(XAULIBDIR) $(X11LIBDIR) \
$(OLDXLIBDIR) $(ICELIBDIR) $(SMLIBDIR) $(XEXTLIBDIR) $(XTLIBDIR) \
$(SSLIBDIR) $(XF86MISCLIBDIR) $(XF86VMLIBDIR) $(XF86DGALIBDIR) \
$(XF86RUSHLIBDIR) $(XMULIBDIR) $(XMUULIBDIR) $(XPMLIBDIR) \
......@@ -204,4 +200,3 @@ MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))
MakeLintLibSubdirs($(LINTSUBDIRS))
MakeLintSubdirs($(LINTSUBDIRS),install.ln,install.ln)
......@@ -120,8 +120,6 @@ EXTRA_LIBRARIES = /**/
#endif
#if HasXdmAuth
XDMAUTHDEFS = -DHASXDMAUTH
XDMAUTHOBJS = Wrap.o Wraphelp.o
XDMAUTHSRCS = Wrap.c Wraphelp.c
#endif
#if BuildXKBlib
XKB_DEFINES = -DXKB
......@@ -593,7 +591,7 @@ SRCS2 = \
Withdraw.c \
WMGeom.c \
WMProps.c \
$(AUTHSRCS) $(XDMAUTHSRCS) $(K5SRCS) $(THRSTUBSRCS)
$(AUTHSRCS) $(K5SRCS) $(THRSTUBSRCS)
OBJS2 = \
Macros.o \
......@@ -716,7 +714,6 @@ OBJS2 = \
WMGeom.o \
WMProps.o \
$(AUTHOBJS) \
$(XDMAUTHOBJS) \
$(K5OBJS) \
$(THRSTUBOBJS)
......@@ -1069,7 +1066,6 @@ LinkFile(x11trans.c,$(TRANSCOMMSRC)/transport.c)
SpecialCLibObjectRule(ximtrans,$(ICONFIGFILES),$(TRANS_INCLUDES) $(CONN_DEFINES) $(SOCK_DEFINES) $(XTRANS_XIM_DEFINES) $(POLL_DEFINES))
LinkFile(ximtrans.c,$(TRANSCOMMSRC)/transport.c)
SpecialCLibObjectRule(OpenDis,$(ICONFIGFILES),$(BC_DEFINES) $(OPEN_DEFINES) $(XTRANS_X_DEFINES) $(XKB_DEFINES))
SpecialCLibObjectRule(Wrap,$(ICONFIGFILES),$(XDMAUTHDEFS))
SpecialCLibObjectRule(XlibInt,$(ICONFIGFILES),$(CONN_DEFINES) $(POLL_DEFINES) $(XTRANS_X_DEFINES))
SpecialCLibObjectRule(Font,$(ICONFIGFILES),$(SHM_DEFINES) $(XF86BIGFONT_DEFINES))
SpecialCLibObjectRule(FontInfo,$(ICONFIGFILES),$(SHM_DEFINES) $(XF86BIGFONT_DEFINES))
......@@ -1116,11 +1112,6 @@ LinkSourceFile(AuRead.c,$(XAUTHSRC))
#if HasKrb5
LinkSourceFile(k5encode.c,$(XAUTHSRC))
#endif
#if HasXdmAuth
LinkSourceFile(Wrap.h,$(XDMCPLIBSRC))
LinkSourceFile(Wrap.c,$(XDMCPLIBSRC))
LinkSourceFile(Wraphelp.c,$(XDMCPLIBSRC))
#endif
#ifdef QNX4Architecture
LOCAL_LDFLAGS=-F
......
/*
* $Xorg: A8Eq.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpARRAY8Equal (array1, array2)
ARRAY8Ptr array1, array2;
{
int i;
if (array1->length != array2->length)
return FALSE;
for (i = 0; i < (int)array1->length; i++)
if (array1->data[i] != array2->data[i])
return FALSE;
return TRUE;
}
/*
* $Xorg: AA16.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/AA16.c,v 1.3 2001/01/17 19:42:43 dawes Exp $ */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpAllocARRAY16 (ARRAY16Ptr array, int length)
{
CARD16Ptr newData;
newData = (CARD16Ptr) Xalloc (length * sizeof (CARD16));
if (!newData)
return FALSE;
array->length = length;
array->data = newData;
return TRUE;
}
/*
* $Xorg: AA32.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/AA32.c,v 1.3 2001/01/17 19:42:43 dawes Exp $ */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpAllocARRAY32 (ARRAY32Ptr array, int length)
{
CARD32Ptr newData;
newData = (CARD32Ptr) Xalloc (length * sizeof (CARD32));
if (!newData)
return FALSE;
array->length = length;
array->data = newData;
return TRUE;
}
/*
* $Xorg: AA8.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/AA8.c,v 1.3 2001/01/17 19:42:43 dawes Exp $ */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpAllocARRAY8 (ARRAY8Ptr array, int length)
{
CARD8Ptr newData;
newData = (CARD8Ptr) Xalloc (length * sizeof (CARD8));
if (!newData)
return FALSE;
array->length = length;
array->data = newData;
return TRUE;
}
/*
* $Xorg: Alloc.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/Alloc.c,v 3.4 2001/07/25 15:04:50 dawes Exp $ */
/* stubs for use when Xalloc, Xrealloc and Xfree are not defined */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
#include <stdlib.h>
void *
Xalloc (unsigned long amount)
{
if (amount == 0)
amount = 1;
return malloc (amount);
}
void *
Xrealloc (void *old, unsigned long amount)
{
if (amount == 0)
amount = 1;
if (!old)
return malloc (amount);
return realloc ((char *) old, amount);
}
void
Xfree (void *old)
{
if (old)
free ((char *) old);
}
/*
* $Xorg: AofA8.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/AofA8.c,v 1.3 2001/01/17 19:42:43 dawes Exp $ */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpAllocARRAYofARRAY8 (ARRAYofARRAY8Ptr array, int length)
{
ARRAY8Ptr newData;
newData = (ARRAY8Ptr) Xalloc (length * sizeof (ARRAY8));
if (!newData)
return FALSE;
array->length = length;
array->data = newData;
return TRUE;
}
/*
* $Xorg: CA8.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
#include <X11/Xfuncs.h>
int
XdmcpCopyARRAY8 (src, dst)
ARRAY8Ptr src, dst;
{
dst->length = src->length;
dst->data = (CARD8 *) Xalloc (dst->length * sizeof (CARD8));
if (!dst->data)
return FALSE;
memmove (dst->data, src->data, src->length * sizeof (CARD8));
return TRUE;
}
/*
* $Xorg: CmpKey.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/CmpKey.c,v 1.3 2001/01/17 19:42:43 dawes Exp $ */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpCompareKeys (XdmAuthKeyPtr a, XdmAuthKeyPtr b)
{
int i;
for (i = 0; i < 8; i++)
if (a->data[i] != b->data[i])
return FALSE;
return TRUE;
}
/*
* $Xorg: DA16.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/DA16.c,v 1.5 2001/01/17 19:42:43 dawes Exp $ */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
void
XdmcpDisposeARRAY16 (ARRAY16Ptr array)
{
if (array->data != NULL) Xfree (array->data);
array->length = 0;
array->data = NULL;
}
/*
* $Xorg: DA32.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
void
XdmcpDisposeARRAY32 (array)
ARRAY32Ptr array;
{
if (array->data != NULL) Xfree (array->data);
array->length = 0;
array->data = NULL;
}
/*
* $Xorg: DA8.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
void
XdmcpDisposeARRAY8 (array)
ARRAY8Ptr array;
{
if (array->data != NULL) Xfree (array->data);
array->length = 0;
array->data = NULL;
}
/* $Xdotorg: $
* $Xorg: DAofA8.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
void
XdmcpDisposeARRAYofARRAY8 (array)
ARRAYofARRAY8Ptr array;
{
int i;
if (array->data != NULL) {
for (i = 0; i < (int)array->length; i++)
XdmcpDisposeARRAY8 (&array->data[i]);
Xfree (array->data);
}
array->length = 0;
array->data = NULL;
}
/*
* $Xorg: DecKey.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/DecKey.c,v 1.3 2001/01/17 19:42:43 dawes Exp $ */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
void
XdmcpDecrementKey (XdmAuthKeyPtr key)
{
int i;
i = 7;
while (key->data[i]-- == 0)
if (--i < 0)
break;
}
/*
* $Xorg: Fill.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/Fill.c,v 3.8 2001/07/23 13:15:42 dawes Exp $ */
#ifdef WIN32
#define _WILLWINSOCK_
#endif
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
#ifdef STREAMSCONN
#include <tiuser.h>
#else
#ifdef WIN32
#include <X11/Xwinsock.h>
#else
#ifndef Lynx
#include <sys/socket.h>
#else
#include <socket.h>
#endif /* !Lynx */
#endif
#endif
int
XdmcpFill (fd, buffer, from, fromlen)
int fd;
XdmcpBufferPtr buffer;
XdmcpNetaddr from; /* return */
int *fromlen; /* return */
{
BYTE *newBuf;
#ifdef STREAMSCONN
struct t_unitdata dataunit;
int gotallflag, result;
#endif
if (buffer->size < XDM_MAX_MSGLEN)
{
newBuf = (BYTE *) Xalloc (XDM_MAX_MSGLEN);
if (newBuf)
{
Xfree (buffer->data);
buffer->data = newBuf;
buffer->size = XDM_MAX_MSGLEN;
}
}
buffer->pointer = 0;
#ifdef STREAMSCONN
dataunit.addr.buf = from;
dataunit.addr.maxlen = *fromlen;
dataunit.opt.maxlen = 0; /* don't care to know about options */
dataunit.udata.buf = (char *)buffer->data;
dataunit.udata.maxlen = buffer->size;
result = t_rcvudata (fd, &dataunit, &gotallflag);
if (result < 0) {
return FALSE;
}
buffer->count = dataunit.udata.len;
*fromlen = dataunit.addr.len;
#else
buffer->count = recvfrom (fd, (char*)buffer->data, buffer->size, 0,
(struct sockaddr *)from, (void *)fromlen);
#endif
if (buffer->count < 6) {
buffer->count = 0;
return FALSE;
}
return TRUE;
}
/*
* $Xorg: Flush.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/Flush.c,v 3.7 2001/07/23 13:15:42 dawes Exp $ */
#ifdef WIN32
#define _WILLWINSOCK_
#endif
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
#ifdef STREAMSCONN
#include <tiuser.h>
#else
#ifdef WIN32
#include <X11/Xwinsock.h>
#else
#ifndef Lynx
#include <sys/socket.h>
#else
#include <socket.h>
#endif /* !Lynx */
#endif
#endif
int
XdmcpFlush (fd, buffer, to, tolen)
int fd;
XdmcpBufferPtr buffer;
XdmcpNetaddr to;
int tolen;
{
int result;
#ifdef STREAMSCONN
struct t_unitdata dataunit;
dataunit.addr.buf = to;
dataunit.addr.len = tolen;
dataunit.opt.len = 0; /* default options */
dataunit.udata.buf = (char *)buffer->data;
dataunit.udata.len = buffer->pointer;
result = t_sndudata(fd, &dataunit);
if (result < 0)
return FALSE;
#else
result = sendto (fd, (char *)buffer->data, buffer->pointer, 0,
(struct sockaddr *)to, tolen);
if (result != buffer->pointer)
return FALSE;
#endif
return TRUE;
}
/*
* $Xorg: GenKey.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/GenKey.c,v 3.7 2001/07/25 15:04:50 dawes Exp $ */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
static void
getbits (long data, unsigned char *dst)
{
dst[0] = (data ) & 0xff;
dst[1] = (data >> 8) & 0xff;
dst[2] = (data >> 16) & 0xff;
dst[3] = (data >> 24) & 0xff;
}
#define Time_t time_t
#include <stdlib.h>
#if defined(SYSV) || defined(SVR4)
#define srandom srand48
#define random lrand48
#endif
#ifdef WIN32
#include <process.h>
#define srandom srand
#define random rand
#define getpid(x) _getpid(x)
#endif
void
XdmcpGenerateKey (XdmAuthKeyPtr key)
{
long lowbits, highbits;
srandom ((int)getpid() ^ time((Time_t *)0));
lowbits = random ();
highbits = random ();
getbits (lowbits, key->data);
getbits (highbits, key->data + 4);
}
XCOMM $Xorg: Imakefile,v 1.3 2000/08/17 19:45:48 cpqbld Exp $
XCOMM $XdotOrg: xc/lib/Xdmcp/Imakefile,v 1.3 2005/09/22 23:54:18 alanc Exp $
XCOMM $XFree86: xc/lib/Xdmcp/Imakefile,v 3.4 1999/04/17 09:08:12 dawes Exp $
#define DoNormalLib NormalLibXdmcp
#define DoSharedLib SharedLibXdmcp
#define DoExtraLib SharedLibXdmcp
#define DoDebugLib DebugLibXdmcp
#define DoProfileLib ProfileLibXdmcp
#define LibName NX_Xdmcp
#define SoRev SOXDMCPREV
#define IncSubdir X11
#ifdef SharedXdmcpReqs
REQUIREDLIBS = SharedXdmcpReqs
#endif
#if HasXdmAuth
AUTHDEFS = -DHASXDMAUTH
AUTHSRCS = Wrap.c Unwrap.c Wraphelp.c
AUTHOBJS = Wrap.o Unwrap.o Wraphelp.o
#endif
DEFINES = $(AUTHDEFS)
HEADERS = Xdmcp.h
SRCS = \
A8Eq.c \
AA8.c \
AA16.c \
AA32.c \
AofA8.c \
CA8.c \
DA8.c \
DA16.c \
DA32.c \
DAofA8.c \
Fill.c \
Flush.c \
RA8.c \
RA16.c \
RA32.c \
RAofA8.c \
RC8.c \
RC16.c \
RC32.c \
RHead.c \
RR.c \
RaA8.c \
RaA16.c \
RaA32.c \
RaAoA8.c \
WA8.c \
WA16.c \
WA32.c \
WAofA8.c \
WC8.c \
WC16.c \
WC32.c \
Whead.c \
Alloc.c \
CmpKey.c \
DecKey.c \
GenKey.c \
IncKey.c \
$(AUTHSRCS)
OBJS = \
A8Eq.o \
AA8.o \
AA16.o \
AA32.o \
AofA8.o \
CA8.o \
DA8.o \
DA16.o \
DA32.o \
DAofA8.o \
Fill.o \
Flush.o \
RA8.o \
RA16.o \
RA32.o \
RAofA8.o \
RC8.o \
RC16.o \
RC32.o \
RHead.o \
RR.o \
RaA8.o \
RaA16.o \
RaA32.o \
RaAoA8.o \
WA8.o \
WA16.o \
WA32.o \
WAofA8.o \
WC8.o \
WC16.o \
WC32.o \
Whead.o \
Alloc.o \
CmpKey.o \
DecKey.o \
GenKey.o \
IncKey.o \
$(AUTHOBJS)
#include <Library.tmpl>
#ifdef WraphelpSourceRule
WraphelpSourceRule()
#endif
SpecialCLibObjectRule(Fill,$(ICONFIGFILES),$(CONNECTION_FLAGS))
SpecialCLibObjectRule(Flush,$(ICONFIGFILES),$(CONNECTION_FLAGS))
DependTarget()
/*
* $Xorg: IncKey.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/IncKey.c,v 1.3 2001/01/17 19:42:43 dawes Exp $ */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
void
XdmcpIncrementKey (XdmAuthKeyPtr key)
{
int i;
i = 7;
while (++key->data[i] == 0)
if (--i < 0)
break;
}
/*
* $Xorg: RA16.c,v 1.5 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpReadARRAY16 (buffer, array)
XdmcpBufferPtr buffer;
ARRAY16Ptr array;
{
int i;
if (!XdmcpReadCARD8 (buffer, &array->length)) {
/* Must set array->data to NULL to guarantee safe call of
* XdmcpDisposeARRAY*(array) (which calls Xfree(array->data));
* see defect 7329 */
array->data = 0;
return FALSE;
}
if (!array->length)
{
array->data = NULL;
return TRUE;
}
array->data = (CARD16 *) Xalloc (array->length * sizeof (CARD16));
if (!array->data)
return FALSE;
for (i = 0; i < (int)array->length; i++)
{
if (!XdmcpReadCARD16 (buffer, &array->data[i]))
{
Xfree (array->data);
array->data = NULL;
array->length = 0;
return FALSE;
}
}
return TRUE;
}
/*
* $Xorg: RA32.c,v 1.5 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpReadARRAY32 (buffer, array)
XdmcpBufferPtr buffer;
ARRAY32Ptr array;
{
int i;
if (!XdmcpReadCARD8 (buffer, &array->length)) {
/* Must set array->data to NULL to guarantee safe call of
* XdmcpDisposeARRAY*(array) (which calls Xfree(array->data));
* see defect 7329 */
array->data = 0;
return FALSE;
}
if (!array->length)
{
array->data = NULL;
return TRUE;
}
array->data = (CARD32 *) Xalloc (array->length * sizeof (CARD32));
if (!array->data)
return FALSE;
for (i = 0; i < (int)array->length; i++)
{
if (!XdmcpReadCARD32 (buffer, &array->data[i]))
{
Xfree (array->data);
array->data = NULL;
array->length = 0;
return FALSE;
}
}
return TRUE;
}
/*
* $Xorg: RA8.c,v 1.5 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpReadARRAY8 (buffer, array)
XdmcpBufferPtr buffer;
ARRAY8Ptr array;
{
int i;
if (!XdmcpReadCARD16 (buffer, &array->length)) {
/* Must set array->data to NULL to guarantee safe call of
* XdmcpDisposeARRAY*(array) (which calls Xfree(array->data));
* see defect 7329 */
array->data = 0;
return FALSE;
}
if (!array->length)
{
array->data = NULL;
return TRUE;
}
array->data = (CARD8 *) Xalloc (array->length * sizeof (CARD8));
if (!array->data)
return FALSE;
for (i = 0; i < (int)array->length; i++)
{
if (!XdmcpReadCARD8 (buffer, &array->data[i]))
{
Xfree (array->data);
array->data = NULL;
array->length = 0;
return FALSE;
}
}
return TRUE;
}
/*
* $Xorg: RAofA8.c,v 1.6 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpReadARRAYofARRAY8 (buffer, array)
XdmcpBufferPtr buffer;
ARRAYofARRAY8Ptr array;
{
int i;
if (!XdmcpReadCARD8 (buffer, &array->length)) {
/* Must set array->data to NULL to guarantee safe call of
* XdmcpDisposeARRAY*(array) (which calls Xfree(array->data));
* see defect 7329 */
array->data = 0;
return FALSE;
}
if (!array->length)
{
array->data = NULL;
return TRUE;
}
array->data = (ARRAY8 *) Xalloc (array->length * sizeof (ARRAY8));
if (!array->data)
return FALSE;
for (i = 0; i < (int)array->length; i++)
{
if (!XdmcpReadARRAY8 (buffer, &array->data[i]))
{
/* All arrays allocated thus far in the loop must be freed
* if there is an error in the read.
* See Defect 7328 */
array->length = i;
XdmcpDisposeARRAYofARRAY8(array);
return FALSE;
}
}
return TRUE;
}
/*
* $Xorg: RC16.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpReadCARD16 (buffer, valuep)
XdmcpBufferPtr buffer;
CARD16Ptr valuep;
{
CARD8 high, low;
if (XdmcpReadCARD8 (buffer, &high) &&
XdmcpReadCARD8 (buffer, &low))
{
*valuep = (((CARD16) high) << 8) | ((CARD16) low);
return TRUE;
}
return FALSE;
}
/*
* $Xorg: RC32.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpReadCARD32 (buffer, valuep)
XdmcpBufferPtr buffer;
CARD32Ptr valuep;
{
CARD8 byte0, byte1, byte2, byte3;
if (XdmcpReadCARD8 (buffer, &byte0) &&
XdmcpReadCARD8 (buffer, &byte1) &&
XdmcpReadCARD8 (buffer, &byte2) &&
XdmcpReadCARD8 (buffer, &byte3))
{
*valuep = (((CARD32) byte0) << 24) |
(((CARD32) byte1) << 16) |
(((CARD32) byte2) << 8) |
(((CARD32) byte3));
return TRUE;
}
return FALSE;
}
/*
* $Xorg: RC8.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpReadCARD8 (buffer, valuep)
XdmcpBufferPtr buffer;
CARD8Ptr valuep;
{
if (buffer->pointer >= buffer->count)
return FALSE;
*valuep = (CARD8) buffer->data[buffer->pointer++];
return TRUE;
}
/*
* $Xorg: RHead.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpReadHeader (buffer, header)
XdmcpBufferPtr buffer;
XdmcpHeaderPtr header;
{
if (XdmcpReadCARD16 (buffer, &header->version) &&
XdmcpReadCARD16 (buffer, &header->opcode) &&
XdmcpReadCARD16 (buffer, &header->length))
return TRUE;
return FALSE;
}
/*
* $Xorg: RR.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpReadRemaining (buffer)
XdmcpBufferPtr buffer;
{
return buffer->count - buffer->pointer;
}
/*
* $Xorg: RaA16.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/RaA16.c,v 1.3 2001/01/17 19:42:44 dawes Exp $ */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpReallocARRAY16 (ARRAY16Ptr array, int length)
{
CARD16Ptr newData;
newData = (CARD16Ptr) Xrealloc (array->data, length * sizeof (CARD16));
if (!newData)
return FALSE;
array->length = length;
array->data = newData;
return TRUE;
}
/*
* $Xorg: RaA32.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/RaA32.c,v 1.3 2001/01/17 19:42:44 dawes Exp $ */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpReallocARRAY32 (ARRAY32Ptr array, int length)
{
CARD32Ptr newData;
newData = (CARD32Ptr) Xrealloc (array->data, length * sizeof (CARD32));
if (!newData)
return FALSE;
array->length = length;
array->data = newData;
return TRUE;
}
/*
* $Xorg: RaA8.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/RaA8.c,v 1.3 2001/01/17 19:42:44 dawes Exp $ */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpReallocARRAY8 (ARRAY8Ptr array, int length)
{
CARD8Ptr newData;
newData = (CARD8Ptr) Xrealloc (array->data, length * sizeof (CARD8));
if (!newData)
return FALSE;
array->length = length;
array->data = newData;
return TRUE;
}
/*
* $Xorg: RaAoA8.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/RaAoA8.c,v 1.3 2001/01/17 19:42:44 dawes Exp $ */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpReallocARRAYofARRAY8 (ARRAYofARRAY8Ptr array, int length)
{
ARRAY8Ptr newData;
newData = (ARRAY8Ptr) Xrealloc (array->data, length * sizeof (ARRAY8));
if (!newData)
return FALSE;
array->length = length;
array->data = newData;
return TRUE;
}
/*
* $Xorg: Unwrap.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/Unwrap.c,v 1.3 2001/01/17 19:42:44 dawes Exp $ */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
#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.
*
* The interface for this routine is quite simple. All three
* arguments are arrays of 8 unsigned characters, the first two
* are 64 bits of useful data, the last is 56 bits of useful
* data packed into 8 bytes, using the low 7 bits of each
* byte, filling the high bit with odd parity.
*
* Examine the XDMCP specification for the correct algorithm
*/
#include "Wrap.h"
void
XdmcpUnwrap (
unsigned char *input,
unsigned char *wrapper,
unsigned char *output,
int bytes)
{
int i, j, k;
unsigned char tmp[8];
unsigned char blocks[2][8];
unsigned char expand_wrapper[8];
auth_wrapper_schedule schedule;
_XdmcpWrapperToOddParity (wrapper, expand_wrapper);
_XdmcpAuthSetup (expand_wrapper, schedule);
k = 0;
for (j = 0; j < bytes; j += 8)
{
if (bytes - j < 8)
return; /* bad input length */
for (i = 0; i < 8; i++)
blocks[k][i] = input[j + i];
_XdmcpAuthDoIt ((unsigned char *) (input + j), (unsigned char *) tmp, schedule, 0);
/* block chaining */
k = (k == 0) ? 1 : 0;
for (i = 0; i < 8; i++)
{
if (j == 0)
output[j + i] = tmp[i];
else
output[j + i] = tmp[i] ^ blocks[k][i];
}
}
}
#endif /* HASXDMAUTH */
/*
* $Xorg: WA16.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpWriteARRAY16 (buffer, array)
XdmcpBufferPtr buffer;
ARRAY16Ptr array;
{
int i;
if (!XdmcpWriteCARD8 (buffer, array->length))
return FALSE;
for (i = 0; i < (int)array->length; i++)
if (!XdmcpWriteCARD16 (buffer, array->data[i]))
return FALSE;
return TRUE;
}
/*
* $Xorg: WA32.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpWriteARRAY32 (buffer, array)
XdmcpBufferPtr buffer;
ARRAY32Ptr array;
{
int i;
if (!XdmcpWriteCARD8 (buffer, array->length))
return FALSE;
for (i = 0; i < (int)array->length; i++)
if (!XdmcpWriteCARD32 (buffer, array->data[i]))
return FALSE;
return TRUE;
}
/*
* $Xorg: WA8.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpWriteARRAY8 (buffer, array)
XdmcpBufferPtr buffer;
ARRAY8Ptr array;
{
int i;
if (!XdmcpWriteCARD16 (buffer, array->length))
return FALSE;
for (i = 0; i < (int)array->length; i++)
if (!XdmcpWriteCARD8 (buffer, array->data[i]))
return FALSE;
return TRUE;
}
/*
* $Xorg: WAofA8.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpWriteARRAYofARRAY8 (buffer, array)
XdmcpBufferPtr buffer;
ARRAYofARRAY8Ptr array;
{
int i;
if (!XdmcpWriteCARD8 (buffer, array->length))
return FALSE;
for (i = 0; i < (int)array->length; i++)
if (!XdmcpWriteARRAY8 (buffer, &array->data[i]))
return FALSE;
return TRUE;
}
/*
* $Xorg: WC16.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/WC16.c,v 1.4 2001/01/17 19:42:44 dawes Exp $ */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpWriteCARD16 (
XdmcpBufferPtr buffer,
unsigned value)
{
if (!XdmcpWriteCARD8 (buffer, value >> 8))
return FALSE;
if (!XdmcpWriteCARD8 (buffer, value & 0xff))
return FALSE;
return TRUE;
}
/*
* $Xorg: WC32.c,v 1.4 2001/02/09 02:03:49 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/WC32.c,v 1.4 2001/01/17 19:42:44 dawes Exp $ */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpWriteCARD32 (
XdmcpBufferPtr buffer,
unsigned value)
{
if (!XdmcpWriteCARD8 (buffer, value >> 24))
return FALSE;
if (!XdmcpWriteCARD8 (buffer, (value >> 16) & 0xff))
return FALSE;
if (!XdmcpWriteCARD8 (buffer, (value >> 8) & 0xff))
return FALSE;
if (!XdmcpWriteCARD8 (buffer, value & 0xff))
return FALSE;
return TRUE;
}
/*
* $Xorg: WC8.c,v 1.4 2001/02/09 02:03:49 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/WC8.c,v 1.4 2001/01/17 19:42:44 dawes Exp $ */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpWriteCARD8 (
XdmcpBufferPtr buffer,
unsigned value)
{
if (buffer->pointer >= buffer->size)
return FALSE;
buffer->data[buffer->pointer++] = (BYTE) value;
return TRUE;
}
/*
* $Xorg: Whead.c,v 1.4 2001/02/09 02:03:49 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/Whead.c,v 1.3 2001/01/17 19:42:44 dawes Exp $ */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
int
XdmcpWriteHeader (
XdmcpBufferPtr buffer,
XdmcpHeaderPtr header)
{
BYTE *newData;
if ((int)buffer->size < 6 + (int)header->length)
{
newData = (BYTE *) Xalloc (XDM_MAX_MSGLEN * sizeof (BYTE));
if (!newData)
return FALSE;
Xfree ((unsigned long *)(buffer->data));
buffer->data = newData;
buffer->size = XDM_MAX_MSGLEN;
}
buffer->pointer = 0;
if (!XdmcpWriteCARD16 (buffer, header->version))
return FALSE;
if (!XdmcpWriteCARD16 (buffer, header->opcode))
return FALSE;
if (!XdmcpWriteCARD16 (buffer, header->length))
return FALSE;
return TRUE;
}
/*
* $Xorg: Wrap.c,v 1.4 2001/02/09 02:03:49 xorgcvs Exp $
*
*
Copyright 1989, 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.
* *
* Author: Keith Packard, MIT X Consortium
*/
/* $XFree86: xc/lib/Xdmcp/Wrap.c,v 1.3 2001/01/17 19:42:44 dawes Exp $ */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/Xdmcp.h>
#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 (
unsigned char *input,
unsigned char *wrapper,
unsigned char *output,
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 (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 (
unsigned char *in,
unsigned char *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
/* $XdotOrg: xc/lib/Xdmcp/Wrap.h,v 1.6 2005/07/03 07:00:56 daniels Exp $ */
/* $Xorg: Wrap.h,v 1.3 2000/08/17 19:45:50 cpqbld Exp $ */
/*
* header file for compatibility with something useful
*/
/* $XFree86: xc/lib/Xdmcp/Wrap.h,v 1.3 2001/01/17 19:42:44 dawes Exp $ */
typedef unsigned char auth_cblock[8]; /* block size */
typedef struct auth_ks_struct { auth_cblock _; } auth_wrapper_schedule[16];
extern void _XdmcpWrapperToOddParity (unsigned char *in, unsigned char *out);
#ifdef HASXDMAUTH
extern void _XdmcpAuthSetup (auth_cblock key, auth_wrapper_schedule schedule);
extern void _XdmcpAuthDoIt (auth_cblock input, auth_cblock output,
auth_wrapper_schedule schedule, int edflag);
#endif
Export Requirements.
You may not export or re-export this software or any copy or
adaptation in violation of any applicable laws or regulations.
Without limiting the generality of the foregoing, hardware, software,
technology or services provided under this license agreement may not
be exported, reexported, transferred or downloaded to or within (or to
a national resident of) countries under U.S. economic embargo
including the following countries:
Cuba, Iran, Libya, North Korea, Sudan and Syria. This list is subject
to change.
Hardware, software, technology or services may not be exported,
reexported, transferred or downloaded to persons or entities listed on
the U.S. Department of Commerce Denied Persons List, Entity List of
proliferation concern or on any U.S. Treasury Department Designated
Nationals exclusion list, or to parties directly or indirectly
involved in the development or production of nuclear, chemical,
biological weapons or in missile technology programs as specified in
the U.S. Export Administration Regulations (15 CFR 744).
By accepting this license agreement you confirm that you are not
located in (or a national resident of) any country under U.S. economic
embargo, not identified on any U.S. Department of Commerce Denied
Persons List, Entity List or Treasury Department Designated Nationals
exclusion list, and not directly or indirectly involved in the
development or production of nuclear, chemical, biological weapons or
in missile technology programs as specified in the U.S. Export
Administration Regulations.
Software available on this web site contains cryptography and is
therefore subject to US government export control under the
U.S. Export Administration Regulations ("EAR"). EAR Part 740.13(e)
allows the export and reexport of publicly available encryption source
code that is not subject to payment of license fee or royalty
payment. Object code resulting from the compiling of such source code
may also be exported and reexported under this provision if publicly
available and not subject to a fee or payment other than reasonable
and customary fees for reproduction and distribution. This kind of
encryption source code and the corresponding object code may be
exported or reexported without prior U.S. government export license
authorization provided that the U.S. government is notified about the
Internet location of the software.
The open source software available on this web site is publicly
available without license fee or royalty payment, and all binary
software is compiled from the source code. The U.S. government has
been notified about this site and the location site for the source
code. Therefore, the source code and compiled object code may be
downloaded and exported under U.S. export license exception (without a
U.S. export license) in accordance with the further restrictions
outlined above regarding embargoed countries, restricted persons and
restricted end uses.
Local Country Import Requirements. The software you are about to
download contains cryptography technology. Some countries regulate the
import, use and/or export of certain products with cryptography. The
X.org Foundation makes no claims as to the applicability of local
country import, use and/or export regulations in relation to the
download of this product. If you are located outside the U.S. and
Canada you are advised to consult your local country regulations to
insure compliance.
/*
* $Xorg: A8Eq.c,v 1.4 2001/02/09 02:03:48 xorgcvs Exp $
*
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <sys/types.h>
#include <X11/Xmd.h>
#include "Wrap.h"
/* des routines for non-usa - eay 10/9/1991 eay@psych.psy.uq.oz.au
* These routines were written for speed not size so they are bigger than
* needed. I have removed some of the loop unrolling, this will reduce
* code size at the expense of some speed.
* 25/9/1991 eay - much faster _XdmcpAuthSetup (4 times faster).
* 19/9/1991 eay - cleaned up the IP and FP code.
* 10/9/1991 eay - first release.
* The des routines this file has been made from can be found in
* ftp.psy.uq.oz.au /pub/DES
* This particular version derived from OpenBSD Revsion 1.3.
*/
/*
*
* Export Requirements.
* You may not export or re-export this software or any copy or
* adaptation in violation of any applicable laws or regulations.
*
* Without limiting the generality of the foregoing, hardware, software,
* technology or services provided under this license agreement may not
* be exported, reexported, transferred or downloaded to or within (or to
* a national resident of) countries under U.S. economic embargo
* including the following countries:
*
* Cuba, Iran, Libya, North Korea, Sudan and Syria. This list is subject
* to change.
*
* Hardware, software, technology or services may not be exported,
* reexported, transferred or downloaded to persons or entities listed on
* the U.S. Department of Commerce Denied Persons List, Entity List of
* proliferation concern or on any U.S. Treasury Department Designated
* Nationals exclusion list, or to parties directly or indirectly
* involved in the development or production of nuclear, chemical,
* biological weapons or in missile technology programs as specified in
* the U.S. Export Administration Regulations (15 CFR 744).
*
* By accepting this license agreement you confirm that you are not
* located in (or a national resident of) any country under U.S. economic
* embargo, not identified on any U.S. Department of Commerce Denied
* Persons List, Entity List or Treasury Department Designated Nationals
* exclusion list, and not directly or indirectly involved in the
* development or production of nuclear, chemical, biological weapons or
* in missile technology programs as specified in the U.S. Export
* Administration Regulations.
*
*
* Local Country Import Requirements. The software you are about to
* download contains cryptography technology. Some countries regulate the
* import, use and/or export of certain products with cryptography. The
* X.org Foundation makes no claims as to the applicability of local
* country import, use and/or export regulations in relation to the
* download of this product. If you are located outside the U.S. and
* Canada you are advised to consult your local country regulations to
* insure compliance.
*/
static CARD32 skb[8][64] = {
/* for C bits (numbered as per FIPS 46) 1 2 3 4 5 6 */
{ 0x00000000,0x00000010,0x20000000,0x20000010,
0x00010000,0x00010010,0x20010000,0x20010010,
0x00000800,0x00000810,0x20000800,0x20000810,
0x00010800,0x00010810,0x20010800,0x20010810,
0x00000020,0x00000030,0x20000020,0x20000030,
0x00010020,0x00010030,0x20010020,0x20010030,
0x00000820,0x00000830,0x20000820,0x20000830,
0x00010820,0x00010830,0x20010820,0x20010830,
0x00080000,0x00080010,0x20080000,0x20080010,
0x00090000,0x00090010,0x20090000,0x20090010,
0x00080800,0x00080810,0x20080800,0x20080810,
0x00090800,0x00090810,0x20090800,0x20090810,
0x00080020,0x00080030,0x20080020,0x20080030,
0x00090020,0x00090030,0x20090020,0x20090030,
0x00080820,0x00080830,0x20080820,0x20080830,
0x00090820,0x00090830,0x20090820,0x20090830 },
/* for C bits (numbered as per FIPS 46) 7 8 10 11 12 13 */
{ 0x00000000,0x02000000,0x00002000,0x02002000,
0x00200000,0x02200000,0x00202000,0x02202000,
0x00000004,0x02000004,0x00002004,0x02002004,
0x00200004,0x02200004,0x00202004,0x02202004,
0x00000400,0x02000400,0x00002400,0x02002400,
0x00200400,0x02200400,0x00202400,0x02202400,
0x00000404,0x02000404,0x00002404,0x02002404,
0x00200404,0x02200404,0x00202404,0x02202404,
0x10000000,0x12000000,0x10002000,0x12002000,
0x10200000,0x12200000,0x10202000,0x12202000,
0x10000004,0x12000004,0x10002004,0x12002004,
0x10200004,0x12200004,0x10202004,0x12202004,
0x10000400,0x12000400,0x10002400,0x12002400,
0x10200400,0x12200400,0x10202400,0x12202400,
0x10000404,0x12000404,0x10002404,0x12002404,
0x10200404,0x12200404,0x10202404,0x12202404 },
/* for C bits (numbered as per FIPS 46) 14 15 16 17 19 20 */
{ 0x00000000,0x00000001,0x00040000,0x00040001,
0x01000000,0x01000001,0x01040000,0x01040001,
0x00000002,0x00000003,0x00040002,0x00040003,
0x01000002,0x01000003,0x01040002,0x01040003,
0x00000200,0x00000201,0x00040200,0x00040201,
0x01000200,0x01000201,0x01040200,0x01040201,
0x00000202,0x00000203,0x00040202,0x00040203,
0x01000202,0x01000203,0x01040202,0x01040203,
0x08000000,0x08000001,0x08040000,0x08040001,
0x09000000,0x09000001,0x09040000,0x09040001,
0x08000002,0x08000003,0x08040002,0x08040003,
0x09000002,0x09000003,0x09040002,0x09040003,
0x08000200,0x08000201,0x08040200,0x08040201,
0x09000200,0x09000201,0x09040200,0x09040201,
0x08000202,0x08000203,0x08040202,0x08040203,
0x09000202,0x09000203,0x09040202,0x09040203 },
/* for C bits (numbered as per FIPS 46) 21 23 24 26 27 28 */
{ 0x00000000,0x00100000,0x00000100,0x00100100,
0x00000008,0x00100008,0x00000108,0x00100108,
0x00001000,0x00101000,0x00001100,0x00101100,
0x00001008,0x00101008,0x00001108,0x00101108,
0x04000000,0x04100000,0x04000100,0x04100100,
0x04000008,0x04100008,0x04000108,0x04100108,
0x04001000,0x04101000,0x04001100,0x04101100,
0x04001008,0x04101008,0x04001108,0x04101108,
0x00020000,0x00120000,0x00020100,0x00120100,
0x00020008,0x00120008,0x00020108,0x00120108,
0x00021000,0x00121000,0x00021100,0x00121100,
0x00021008,0x00121008,0x00021108,0x00121108,
0x04020000,0x04120000,0x04020100,0x04120100,
0x04020008,0x04120008,0x04020108,0x04120108,
0x04021000,0x04121000,0x04021100,0x04121100,
0x04021008,0x04121008,0x04021108,0x04121108 },
/* for D bits (numbered as per FIPS 46) 1 2 3 4 5 6 */
{ 0x00000000,0x10000000,0x00010000,0x10010000,
0x00000004,0x10000004,0x00010004,0x10010004,
0x20000000,0x30000000,0x20010000,0x30010000,
0x20000004,0x30000004,0x20010004,0x30010004,
0x00100000,0x10100000,0x00110000,0x10110000,
0x00100004,0x10100004,0x00110004,0x10110004,
0x20100000,0x30100000,0x20110000,0x30110000,
0x20100004,0x30100004,0x20110004,0x30110004,
0x00001000,0x10001000,0x00011000,0x10011000,
0x00001004,0x10001004,0x00011004,0x10011004,
0x20001000,0x30001000,0x20011000,0x30011000,
0x20001004,0x30001004,0x20011004,0x30011004,
0x00101000,0x10101000,0x00111000,0x10111000,
0x00101004,0x10101004,0x00111004,0x10111004,
0x20101000,0x30101000,0x20111000,0x30111000,
0x20101004,0x30101004,0x20111004,0x30111004 },
/* for D bits (numbered as per FIPS 46) 8 9 11 12 13 14 */
{ 0x00000000,0x08000000,0x00000008,0x08000008,
0x00000400,0x08000400,0x00000408,0x08000408,
0x00020000,0x08020000,0x00020008,0x08020008,
0x00020400,0x08020400,0x00020408,0x08020408,
0x00000001,0x08000001,0x00000009,0x08000009,
0x00000401,0x08000401,0x00000409,0x08000409,
0x00020001,0x08020001,0x00020009,0x08020009,
0x00020401,0x08020401,0x00020409,0x08020409,
0x02000000,0x0A000000,0x02000008,0x0A000008,
0x02000400,0x0A000400,0x02000408,0x0A000408,
0x02020000,0x0A020000,0x02020008,0x0A020008,
0x02020400,0x0A020400,0x02020408,0x0A020408,
0x02000001,0x0A000001,0x02000009,0x0A000009,
0x02000401,0x0A000401,0x02000409,0x0A000409,
0x02020001,0x0A020001,0x02020009,0x0A020009,
0x02020401,0x0A020401,0x02020409,0x0A020409 },
/* for D bits (numbered as per FIPS 46) 16 17 18 19 20 21 */
{ 0x00000000,0x00000100,0x00080000,0x00080100,
0x01000000,0x01000100,0x01080000,0x01080100,
0x00000010,0x00000110,0x00080010,0x00080110,
0x01000010,0x01000110,0x01080010,0x01080110,
0x00200000,0x00200100,0x00280000,0x00280100,
0x01200000,0x01200100,0x01280000,0x01280100,
0x00200010,0x00200110,0x00280010,0x00280110,
0x01200010,0x01200110,0x01280010,0x01280110,
0x00000200,0x00000300,0x00080200,0x00080300,
0x01000200,0x01000300,0x01080200,0x01080300,
0x00000210,0x00000310,0x00080210,0x00080310,
0x01000210,0x01000310,0x01080210,0x01080310,
0x00200200,0x00200300,0x00280200,0x00280300,
0x01200200,0x01200300,0x01280200,0x01280300,
0x00200210,0x00200310,0x00280210,0x00280310,
0x01200210,0x01200310,0x01280210,0x01280310 },
/* for D bits (numbered as per FIPS 46) 22 23 24 25 27 28 */
{ 0x00000000,0x04000000,0x00040000,0x04040000,
0x00000002,0x04000002,0x00040002,0x04040002,
0x00002000,0x04002000,0x00042000,0x04042000,
0x00002002,0x04002002,0x00042002,0x04042002,
0x00000020,0x04000020,0x00040020,0x04040020,
0x00000022,0x04000022,0x00040022,0x04040022,
0x00002020,0x04002020,0x00042020,0x04042020,
0x00002022,0x04002022,0x00042022,0x04042022,
0x00000800,0x04000800,0x00040800,0x04040800,
0x00000802,0x04000802,0x00040802,0x04040802,
0x00002800,0x04002800,0x00042800,0x04042800,
0x00002802,0x04002802,0x00042802,0x04042802,
0x00000820,0x04000820,0x00040820,0x04040820,
0x00000822,0x04000822,0x00040822,0x04040822,
0x00002820,0x04002820,0x00042820,0x04042820,
0x00002822,0x04002822,0x00042822,0x04042822 }
};
static CARD32 SPtrans[8][64] = {
/* nibble 0 */
{ 0x00410100, 0x00010000, 0x40400000, 0x40410100,
0x00400000, 0x40010100, 0x40010000, 0x40400000,
0x40010100, 0x00410100, 0x00410000, 0x40000100,
0x40400100, 0x00400000, 0x00000000, 0x40010000,
0x00010000, 0x40000000, 0x00400100, 0x00010100,
0x40410100, 0x00410000, 0x40000100, 0x00400100,
0x40000000, 0x00000100, 0x00010100, 0x40410000,
0x00000100, 0x40400100, 0x40410000, 0x00000000,
0x00000000, 0x40410100, 0x00400100, 0x40010000,
0x00410100, 0x00010000, 0x40000100, 0x00400100,
0x40410000, 0x00000100, 0x00010100, 0x40400000,
0x40010100, 0x40000000, 0x40400000, 0x00410000,
0x40410100, 0x00010100, 0x00410000, 0x40400100,
0x00400000, 0x40000100, 0x40010000, 0x00000000,
0x00010000, 0x00400000, 0x40400100, 0x00410100,
0x40000000, 0x40410000, 0x00000100, 0x40010100 },
/* nibble 1 */
{ 0x08021002, 0x00000000, 0x00021000, 0x08020000,
0x08000002, 0x00001002, 0x08001000, 0x00021000,
0x00001000, 0x08020002, 0x00000002, 0x08001000,
0x00020002, 0x08021000, 0x08020000, 0x00000002,
0x00020000, 0x08001002, 0x08020002, 0x00001000,
0x00021002, 0x08000000, 0x00000000, 0x00020002,
0x08001002, 0x00021002, 0x08021000, 0x08000002,
0x08000000, 0x00020000, 0x00001002, 0x08021002,
0x00020002, 0x08021000, 0x08001000, 0x00021002,
0x08021002, 0x00020002, 0x08000002, 0x00000000,
0x08000000, 0x00001002, 0x00020000, 0x08020002,
0x00001000, 0x08000000, 0x00021002, 0x08001002,
0x08021000, 0x00001000, 0x00000000, 0x08000002,
0x00000002, 0x08021002, 0x00021000, 0x08020000,
0x08020002, 0x00020000, 0x00001002, 0x08001000,
0x08001002, 0x00000002, 0x08020000, 0x00021000 },
/* nibble 2 */
{ 0x20800000, 0x00808020, 0x00000020, 0x20800020,
0x20008000, 0x00800000, 0x20800020, 0x00008020,
0x00800020, 0x00008000, 0x00808000, 0x20000000,
0x20808020, 0x20000020, 0x20000000, 0x20808000,
0x00000000, 0x20008000, 0x00808020, 0x00000020,
0x20000020, 0x20808020, 0x00008000, 0x20800000,
0x20808000, 0x00800020, 0x20008020, 0x00808000,
0x00008020, 0x00000000, 0x00800000, 0x20008020,
0x00808020, 0x00000020, 0x20000000, 0x00008000,
0x20000020, 0x20008000, 0x00808000, 0x20800020,
0x00000000, 0x00808020, 0x00008020, 0x20808000,
0x20008000, 0x00800000, 0x20808020, 0x20000000,
0x20008020, 0x20800000, 0x00800000, 0x20808020,
0x00008000, 0x00800020, 0x20800020, 0x00008020,
0x00800020, 0x00000000, 0x20808000, 0x20000020,
0x20800000, 0x20008020, 0x00000020, 0x00808000 },
/* nibble 3 */
{ 0x00080201, 0x02000200, 0x00000001, 0x02080201,
0x00000000, 0x02080000, 0x02000201, 0x00080001,
0x02080200, 0x02000001, 0x02000000, 0x00000201,
0x02000001, 0x00080201, 0x00080000, 0x02000000,
0x02080001, 0x00080200, 0x00000200, 0x00000001,
0x00080200, 0x02000201, 0x02080000, 0x00000200,
0x00000201, 0x00000000, 0x00080001, 0x02080200,
0x02000200, 0x02080001, 0x02080201, 0x00080000,
0x02080001, 0x00000201, 0x00080000, 0x02000001,
0x00080200, 0x02000200, 0x00000001, 0x02080000,
0x02000201, 0x00000000, 0x00000200, 0x00080001,
0x00000000, 0x02080001, 0x02080200, 0x00000200,
0x02000000, 0x02080201, 0x00080201, 0x00080000,
0x02080201, 0x00000001, 0x02000200, 0x00080201,
0x00080001, 0x00080200, 0x02080000, 0x02000201,
0x00000201, 0x02000000, 0x02000001, 0x02080200 },
/* nibble 4 */
{ 0x01000000, 0x00002000, 0x00000080, 0x01002084,
0x01002004, 0x01000080, 0x00002084, 0x01002000,
0x00002000, 0x00000004, 0x01000004, 0x00002080,
0x01000084, 0x01002004, 0x01002080, 0x00000000,
0x00002080, 0x01000000, 0x00002004, 0x00000084,
0x01000080, 0x00002084, 0x00000000, 0x01000004,
0x00000004, 0x01000084, 0x01002084, 0x00002004,
0x01002000, 0x00000080, 0x00000084, 0x01002080,
0x01002080, 0x01000084, 0x00002004, 0x01002000,
0x00002000, 0x00000004, 0x01000004, 0x01000080,
0x01000000, 0x00002080, 0x01002084, 0x00000000,
0x00002084, 0x01000000, 0x00000080, 0x00002004,
0x01000084, 0x00000080, 0x00000000, 0x01002084,
0x01002004, 0x01002080, 0x00000084, 0x00002000,
0x00002080, 0x01002004, 0x01000080, 0x00000084,
0x00000004, 0x00002084, 0x01002000, 0x01000004 },
/* nibble 5 */
{ 0x10000008, 0x00040008, 0x00000000, 0x10040400,
0x00040008, 0x00000400, 0x10000408, 0x00040000,
0x00000408, 0x10040408, 0x00040400, 0x10000000,
0x10000400, 0x10000008, 0x10040000, 0x00040408,
0x00040000, 0x10000408, 0x10040008, 0x00000000,
0x00000400, 0x00000008, 0x10040400, 0x10040008,
0x10040408, 0x10040000, 0x10000000, 0x00000408,
0x00000008, 0x00040400, 0x00040408, 0x10000400,
0x00000408, 0x10000000, 0x10000400, 0x00040408,
0x10040400, 0x00040008, 0x00000000, 0x10000400,
0x10000000, 0x00000400, 0x10040008, 0x00040000,
0x00040008, 0x10040408, 0x00040400, 0x00000008,
0x10040408, 0x00040400, 0x00040000, 0x10000408,
0x10000008, 0x10040000, 0x00040408, 0x00000000,
0x00000400, 0x10000008, 0x10000408, 0x10040400,
0x10040000, 0x00000408, 0x00000008, 0x10040008 },
/* nibble 6 */
{ 0x00000800, 0x00000040, 0x00200040, 0x80200000,
0x80200840, 0x80000800, 0x00000840, 0x00000000,
0x00200000, 0x80200040, 0x80000040, 0x00200800,
0x80000000, 0x00200840, 0x00200800, 0x80000040,
0x80200040, 0x00000800, 0x80000800, 0x80200840,
0x00000000, 0x00200040, 0x80200000, 0x00000840,
0x80200800, 0x80000840, 0x00200840, 0x80000000,
0x80000840, 0x80200800, 0x00000040, 0x00200000,
0x80000840, 0x00200800, 0x80200800, 0x80000040,
0x00000800, 0x00000040, 0x00200000, 0x80200800,
0x80200040, 0x80000840, 0x00000840, 0x00000000,
0x00000040, 0x80200000, 0x80000000, 0x00200040,
0x00000000, 0x80200040, 0x00200040, 0x00000840,
0x80000040, 0x00000800, 0x80200840, 0x00200000,
0x00200840, 0x80000000, 0x80000800, 0x80200840,
0x80200000, 0x00200840, 0x00200800, 0x80000800 },
/* nibble 7 */
{ 0x04100010, 0x04104000, 0x00004010, 0x00000000,
0x04004000, 0x00100010, 0x04100000, 0x04104010,
0x00000010, 0x04000000, 0x00104000, 0x00004010,
0x00104010, 0x04004010, 0x04000010, 0x04100000,
0x00004000, 0x00104010, 0x00100010, 0x04004000,
0x04104010, 0x04000010, 0x00000000, 0x00104000,
0x04000000, 0x00100000, 0x04004010, 0x04100010,
0x00100000, 0x00004000, 0x04104000, 0x00000010,
0x00100000, 0x00004000, 0x04000010, 0x04104010,
0x00004010, 0x04000000, 0x00000000, 0x00104000,
0x04100010, 0x04004010, 0x04004000, 0x00100010,
0x04104000, 0x00000010, 0x00100010, 0x04004000,
0x04104010, 0x00100000, 0x04100000, 0x04000010,
0x00104000, 0x00004010, 0x04004010, 0x04100000,
0x00000010, 0x04104000, 0x00104010, 0x00000000,
0x04000000, 0x04100010, 0x00004000, 0x00104010}
};
#define ITERATIONS 16
#define HALF_ITERATIONS 8
#define c2l(c,l) (l =((CARD32)(*((c)++))) , \
l|=((CARD32)(*((c)++)))<< 8, \
l|=((CARD32)(*((c)++)))<<16, \
l|=((CARD32)(*((c)++)))<<24)
#define l2c(l,c) (*((c)++)=(CARD8)(((l) )&0xff), \
*((c)++)=(CARD8)(((l)>> 8)&0xff), \
*((c)++)=(CARD8)(((l)>>16)&0xff), \
*((c)++)=(CARD8)(((l)>>24)&0xff))
#define PERM_OP(a,b,t,n,m) ((t)=((((a)>>(n))^(b))&(m)),\
(b)^=(t),\
(a)^=((t)<<(n)))
#define HPERM_OP(a,t,n,m) ((t)=((((a)<<(16-(n)))^(a))&(m)),\
(a)=(a)^(t)^(t>>(16-(n))))\
static char shifts2[16] = {0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0};
void _XdmcpAuthSetup(auth_cblock key, auth_wrapper_schedule schedule)
{
CARD32 c,d,t,s;
CARD8 *in;
CARD32 *k;
int i;
k=(CARD32 *)schedule;
in=(CARD8 *)key;
c2l(in,c);
c2l(in,d);
/* do PC1 in 60 simple operations */
PERM_OP(d,c,t,4,0x0f0f0f0f);
HPERM_OP(c,t,-2, 0xcccc0000);
HPERM_OP(c,t,-1, 0xaaaa0000);
HPERM_OP(c,t, 8, 0x00ff0000);
HPERM_OP(c,t,-1, 0xaaaa0000);
HPERM_OP(d,t,-8, 0xff000000);
HPERM_OP(d,t, 8, 0x00ff0000);
HPERM_OP(d,t, 2, 0x33330000);
d=((d&0x00aa00aa)<<7)|((d&0x55005500)>>7)|(d&0xaa55aa55);
d=(d>>8)|((c&0xf0000000)>>4);
c&=0x0fffffff;
for (i=0; i<ITERATIONS; i++) {
if (shifts2[i]) {
c=((c>>2)|(c<<26)); d=((d>>2)|(d<<26));
} else {
c=((c>>1)|(c<<27)); d=((d>>1)|(d<<27));
}
c&=0x0fffffff;
d&=0x0fffffff;
/* could be a few less shifts but I am to lazy at this
* point in time to investigate */
s= skb[0][ (c )&0x3f ]|
skb[1][((c>> 6)&0x03)|((c>> 7)&0x3c)]|
skb[2][((c>>13)&0x0f)|((c>>14)&0x30)]|
skb[3][((c>>20)&0x01)|((c>>21)&0x06) |
((c>>22)&0x38)];
t= skb[4][ (d )&0x3f ]|
skb[5][((d>> 7)&0x03)|((d>> 8)&0x3c)]|
skb[6][ (d>>15)&0x3f ]|
skb[7][((d>>21)&0x0f)|((d>>22)&0x30)];
/* table contained 0213 4657 */
*(k++)=((t<<16)|(s&0x0000ffff));
s= ((s>>16)|(t&0xffff0000));
s=(s<<4)|(s>>28);
*(k++)=s;
}
return;
}
#define D_ENCRYPT(L,R,S) \
t=(R<<1)|(R>>31); \
u=(t^s[S ]); \
t=(t^s[S+1]); \
t=(t>>4)|(t<<28); \
L^= SPtrans[1][(t )&0x3f]| \
SPtrans[3][(t>> 8)&0x3f]| \
SPtrans[5][(t>>16)&0x3f]| \
SPtrans[7][(t>>24)&0x3f]| \
SPtrans[0][(u )&0x3f]| \
SPtrans[2][(u>> 8)&0x3f]| \
SPtrans[4][(u>>16)&0x3f]| \
SPtrans[6][(u>>24)&0x3f];
void _XdmcpAuthDoIt(auth_cblock input, auth_cblock output,
auth_wrapper_schedule ks, int encrypt)
{
CARD32 l,r,t,u;
CARD32 *s;
CARD8 *in,*out;
int i;
in=(CARD8 *)input;
out=(CARD8 *)output;
c2l(in,l);
c2l(in,r);
/* do IP */
PERM_OP(r,l,t, 4,0x0f0f0f0f);
PERM_OP(l,r,t,16,0x0000ffff);
PERM_OP(r,l,t, 2,0x33333333);
PERM_OP(l,r,t, 8,0x00ff00ff);
PERM_OP(r,l,t, 1,0x55555555);
/* r and l are reversed - remember that :-) */
t=l;
l=r;
r=t;
s=(CARD32 *)ks;
if (encrypt) {
for (i=0; i<(ITERATIONS*2); i+=4) {
D_ENCRYPT(l,r, i); /* 1 */
D_ENCRYPT(r,l, i+2); /* 2 */
}
} else {
for (i=(ITERATIONS*2)-2; i >= 0; i-=4) {
D_ENCRYPT(l,r, i); /* 1 */
D_ENCRYPT(r,l, i-2); /* 2 */
}
}
/* swap l and r
* we will not do the swap so just remember they are
* reversed for the rest of the subroutine
* luckily by FP fixes this problem :-) */
PERM_OP(r,l,t, 1,0x55555555);
PERM_OP(l,r,t, 8,0x00ff00ff);
PERM_OP(r,l,t, 2,0x33333333);
PERM_OP(l,r,t,16,0x0000ffff);
PERM_OP(r,l,t, 4,0x0f0f0f0f);
l2c(l,out);
l2c(r,out);
return;
}
/* $XdotOrg: xc/lib/Xdmcp/Xdmcp.h,v 1.3 2005/07/03 07:00:56 daniels Exp $ */
/* $Xorg: Xdmcp.h,v 1.7 2001/04/13 14:43:00 steve Exp $ */
/*
* Copyright 1989 Network Computing Devices, Inc., Mountain View, California.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of N.C.D. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. N.C.D. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*
*/
/* $XFree86: xc/lib/Xdmcp/Xdmcp.h,v 3.7 2003/07/09 15:27:29 tsi Exp $ */
#ifndef _XDMCP_H_
#define _XDMCP_H_
#include <X11/Xmd.h>
#include <X11/Xfuncproto.h>
_XFUNCPROTOBEGIN
#define XDM_PROTOCOL_VERSION 1
#define XDM_UDP_PORT 177
/* IANA has assigned FF0X:0:0:0:0:0:0:12B as the permanently assigned
* multicast addresses for XDMCP, where X in the prefix may be replaced
* by any valid scope identifier, such as 1 for Node-Local, 2 for Link-Local,
* 5 for Site-Local, and so on. We set the default here to the Link-Local
* version to most closely match the old IPv4 subnet broadcast behavior.
* Both xdm and X -query allow specifying a different address if a different
* scope is defined.
*/
#define XDM_DEFAULT_MCAST_ADDR6 "ff02:0:0:0:0:0:0:12b"
#define XDM_MAX_MSGLEN 8192
#define XDM_MIN_RTX 2
#define XDM_MAX_RTX 32
#define XDM_RTX_LIMIT 7
#define XDM_KA_RTX_LIMIT 4
#define XDM_DEF_DORMANCY (3 * 60) /* 3 minutes */
#define XDM_MAX_DORMANCY (24 * 60 * 60) /* 24 hours */
typedef enum {
BROADCAST_QUERY = 1, QUERY, INDIRECT_QUERY, FORWARD_QUERY,
WILLING, UNWILLING, REQUEST, ACCEPT, DECLINE, MANAGE, REFUSE,
FAILED, KEEPALIVE, ALIVE
} xdmOpCode;
typedef enum {
XDM_QUERY, XDM_BROADCAST, XDM_INDIRECT, XDM_COLLECT_QUERY,
XDM_COLLECT_BROADCAST_QUERY, XDM_COLLECT_INDIRECT_QUERY,
XDM_START_CONNECTION, XDM_AWAIT_REQUEST_RESPONSE,
XDM_AWAIT_MANAGE_RESPONSE, XDM_MANAGE, XDM_RUN_SESSION, XDM_OFF,
XDM_AWAIT_USER_INPUT, XDM_KEEPALIVE, XDM_AWAIT_ALIVE_RESPONSE,
#if defined(IPv6) && defined(AF_INET6)
XDM_MULTICAST, XDM_COLLECT_MULTICAST_QUERY,
#endif
XDM_KEEP_ME_LAST
} xdmcp_states;
#ifdef NOTDEF
/* table of hosts */
#define XDM_MAX_STR_LEN 21
#define XDM_MAX_HOSTS 20
struct xdm_host_table {
struct sockaddr_in sockaddr;
char name[XDM_MAX_STR_LEN];
char status[XDM_MAX_STR_LEN];
};
#endif /* NOTDEF */
typedef CARD8 *CARD8Ptr;
typedef CARD16 *CARD16Ptr;
typedef CARD32 *CARD32Ptr;
typedef struct _ARRAY8 {
CARD16 length;
CARD8Ptr data;
} ARRAY8, *ARRAY8Ptr;
typedef struct _ARRAY16 {
CARD8 length;
CARD16Ptr data;
} ARRAY16, *ARRAY16Ptr;
typedef struct _ARRAY32 {
CARD8 length;
CARD32Ptr data;
} ARRAY32, *ARRAY32Ptr;
typedef struct _ARRAYofARRAY8 {
CARD8 length;
ARRAY8Ptr data;
} ARRAYofARRAY8, *ARRAYofARRAY8Ptr;
typedef struct _XdmcpHeader {
CARD16 version, opcode, length;
} XdmcpHeader, *XdmcpHeaderPtr;
typedef struct _XdmcpBuffer {
BYTE *data;
int size; /* size of buffer pointed by to data */
int pointer; /* current index into data */
int count; /* bytes read from network into data */
} XdmcpBuffer, *XdmcpBufferPtr;
typedef struct _XdmAuthKey {
BYTE data[8];
} XdmAuthKeyRec, *XdmAuthKeyPtr;
/* implementation-independent network address structure.
Equiv to sockaddr* for sockets and netbuf* for STREAMS. */
typedef char *XdmcpNetaddr;
extern int XdmcpWriteARRAY16(XdmcpBufferPtr buffer, ARRAY16Ptr array);
extern int XdmcpWriteARRAY32(XdmcpBufferPtr buffer, ARRAY32Ptr array);
extern int XdmcpWriteARRAY8(XdmcpBufferPtr buffer, ARRAY8Ptr array);
extern int XdmcpWriteARRAYofARRAY8(XdmcpBufferPtr buffer, ARRAYofARRAY8Ptr array);
extern int XdmcpWriteCARD16(XdmcpBufferPtr buffer, unsigned value);
extern int XdmcpWriteCARD32(XdmcpBufferPtr buffer, unsigned value);
extern int XdmcpWriteCARD8(XdmcpBufferPtr buffer, unsigned value);
extern int XdmcpWriteHeader(XdmcpBufferPtr buffer, XdmcpHeaderPtr header);
extern int XdmcpFlush(int fd, XdmcpBufferPtr buffer, XdmcpNetaddr to, int tolen);
extern int XdmcpReadARRAY16(XdmcpBufferPtr buffer, ARRAY16Ptr array);
extern int XdmcpReadARRAY32(XdmcpBufferPtr buffer, ARRAY32Ptr array);
extern int XdmcpReadARRAY8(XdmcpBufferPtr buffer, ARRAY8Ptr array);
extern int XdmcpReadARRAYofARRAY8(XdmcpBufferPtr buffer, ARRAYofARRAY8Ptr array);
extern int XdmcpReadCARD16(XdmcpBufferPtr buffer, CARD16Ptr valuep);
extern int XdmcpReadCARD32(XdmcpBufferPtr buffer, CARD32Ptr valuep);
extern int XdmcpReadCARD8(XdmcpBufferPtr buffer, CARD8Ptr valuep);
extern int XdmcpReadHeader(XdmcpBufferPtr buffer, XdmcpHeaderPtr header);
extern int XdmcpFill(int fd, XdmcpBufferPtr buffer, XdmcpNetaddr from, int *fromlen);
extern int XdmcpReadRemaining(XdmcpBufferPtr buffer);
extern void XdmcpDisposeARRAY8(ARRAY8Ptr array);
extern void XdmcpDisposeARRAY16(ARRAY16Ptr array);
extern void XdmcpDisposeARRAY32(ARRAY32Ptr array);
extern void XdmcpDisposeARRAYofARRAY8(ARRAYofARRAY8Ptr array);
extern int XdmcpCopyARRAY8(ARRAY8Ptr src, ARRAY8Ptr dst);
extern int XdmcpARRAY8Equal(ARRAY8Ptr array1, ARRAY8Ptr array2);
extern void XdmcpGenerateKey (XdmAuthKeyPtr key);
extern void XdmcpIncrementKey (XdmAuthKeyPtr key);
extern void XdmcpDecrementKey (XdmAuthKeyPtr key);
#ifdef HASXDMAUTH
extern void XdmcpWrap(unsigned char *input, unsigned char *wrapper, unsigned char *output, int bytes);
extern void XdmcpUnwrap(unsigned char *input, unsigned char *wrapper, unsigned char *output, int bytes);
#endif
#ifndef TRUE
#define TRUE 1
#define FALSE 0
#endif
#if !defined(Xalloc) && !defined(xalloc) && !defined(Xrealloc)
extern void *Xalloc (unsigned long amount);
extern void *Xrealloc (void *old, unsigned long amount);
extern void Xfree(void *old);
#endif
extern int XdmcpCompareKeys (XdmAuthKeyPtr a, XdmAuthKeyPtr b);
extern int XdmcpAllocARRAY16 (ARRAY16Ptr array, int length);
extern int XdmcpAllocARRAY32 (ARRAY32Ptr array, int length);
extern int XdmcpAllocARRAY8 (ARRAY8Ptr array, int length);
extern int XdmcpAllocARRAYofARRAY8 (ARRAYofARRAY8Ptr array, int length);
extern int XdmcpReallocARRAY16 (ARRAY16Ptr array, int length);
extern int XdmcpReallocARRAY32 (ARRAY32Ptr array, int length);
extern int XdmcpReallocARRAY8 (ARRAY8Ptr array, int length);
extern int XdmcpReallocARRAYofARRAY8 (ARRAYofARRAY8Ptr array, int length);
_XFUNCPROTOEND
#endif /* _XDMCP_H_ */
......@@ -204,7 +204,7 @@ INSTPGMFLAGS =
#if BuildLBX
ZLIB = GzipLibrary
#endif
OS = os/LibraryTargetName(os) $(DEPXAUTHLIB) $(DEPXDMCPLIB)
OS = os/LibraryTargetName(os) $(DEPXAUTHLIB)
BSDEMUL = $(DEPXBSDLIB)
#if DoLoadableServer
MFB = mfb/ModuleLibraryTargetName(mfb)
......@@ -440,17 +440,17 @@ $(NXAGENTOBJS) $(NXAGENTLIBS) $(NXAGENTSYSLIBS):: $(NXAGENTDIRS)
#if defined(SunArchitecture)
NXAGENTNXLIBS = -L ../../../nxcomp -L ../../../nxcompext -L ../../../nxcompshad \
-lXcomp -lXcompext -lXcompshad -lrt -L/usr/sfw/lib -lNX_Xrender -lNX_Xfixes -lXfont \
-L../../../nx-X11/exports/lib -lNX_Xtst -lNX_Xdamage -lNX_Xrandr -lNX_Xcomposite -lNX_Xdmcp \
-L../../../nx-X11/exports/lib -lNX_Xtst -lNX_Xdamage -lNX_Xrandr -lNX_Xcomposite -lXdmcp \
`pkg-config --libs libxml-2.0`
#elif defined(cygwinArchitecture)
NXAGENTNXLIBS = -L ../../../nxcomp -L ../../../nxcompext \
-lXcomp -lXcompext -lNX_Xrender -lX11 -lNX_Xext -lNX_Xcomposite -lNX_Xfixes -lXfont \
-L ../../../nxcompshad -lXcompshad -L../../../nx-X11/exports/lib -lNX_Xtst -lNX_Xdmcp \
-L ../../../nxcompshad -lXcompshad -L../../../nx-X11/exports/lib -lNX_Xtst -lXdmcp \
`pkg-config --libs libxml-2.0`
#else
NXAGENTNXLIBS = -L ../../../nxcomp -L ../../../nxcompext -L ../../../nxcompshad \
-lXcomp -lXcompext -lXcompshad -lNX_Xrender -lNX_X11 -lNX_Xext -lNX_Xfixes -lXfont \
-L../../../nx-X11/exports/lib -lNX_Xtst -lNX_Xdamage -lNX_Xrandr -lNX_Xcomposite -lNX_Xinerama -lNX_Xdmcp \
-L../../../nx-X11/exports/lib -lNX_Xtst -lNX_Xdamage -lNX_Xrandr -lNX_Xcomposite -lNX_Xinerama -lXdmcp \
`pkg-config --libs libxml-2.0`
#endif
......
......@@ -33,6 +33,7 @@ BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xpm)
BuildRequires: pkgconfig(xfont)
BuildRequires: pkgconfig(xdmcp)
%else
BuildRequires: libexpat-devel
BuildRequires: libpng-devel
......@@ -41,6 +42,7 @@ BuildRequires: xorg-x11-libX11-devel
BuildRequires: xorg-x11-libXext-devel
BuildRequires: xorg-x11-libXpm-devel
BuildRequires: xorg-x11-libXfont-devel
BuildRequires: xorg-x11-libXdmcp-devel
%endif
BuildRequires: xorg-x11-util-devel
%endif
......@@ -50,6 +52,7 @@ BuildRequires: expat-devel
BuildRequires: libpng-devel
BuildRequires: libxml2-devel
BuildRequires: libXfont-devel
BuildRequires: libXdmcp-devel
%endif
# For imake
......@@ -214,50 +217,6 @@ The X Damage Extension allows applications to track modified regions
of drawables.
%package -n libNX_Xdmcp-devel
Group: Development/Libraries
Summary: Development files for the NXDM Control Protocol library
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: libNX_Xdmcp6%{?_isa} = %{version}-%{release}
Requires: nx-proto-devel%{?_isa} = %{version}-%{release}
%description -n libNX_Xdmcp-devel
NX is a software suite which implements very efficient compression of
the X11 protocol. This increases performance when using X
applications over a network, especially a slow one.
The X Display Manager Control Protocol (XDMCP) provides a uniform
mechanism for an autonomous display to request login service from a
remote host. By autonomous, we mean the display consists of hardware
and processes that are independent of any particular host where login
service is desired. An X terminal (screen, keyboard, mouse,
processor, network interface) is a prime example of an autonomous
display.
This package contains all necessary include files and libraries
needed to develop applications that require these.
%package -n libNX_Xdmcp6
Group: System Environment/Libraries
Summary: NX Display Manager Control Protocol library
Requires: %{name}%{?_isa} >= 3.5.0.29
Obsoletes: libNX_Xdmcp
%description -n libNX_Xdmcp6
NX is a software suite which implements very efficient compression of
the X11 protocol. This increases performance when using X
applications over a network, especially a slow one.
The X Display Manager Control Protocol (XDMCP) provides a uniform
mechanism for an autonomous display to request login service from a
remote host. By autonomous, we mean the display consists of hardware
and processes that are independent of any particular host where login
service is desired. An X terminal (screen, keyboard, mouse,
processor, network interface) is a prime example of an autonomous
display.
%package -n libNX_Xext-devel
Group: Development/Libraries
Summary: Development files for the NX Common Extensions library
......@@ -518,7 +477,6 @@ Group: Development/Libraries
Summary: Include files and libraries for NX development
Requires: libNX_X11-devel%{?_isa} = %{version}-%{release}
Requires: libNX_Xau-devel%{?_isa} = %{version}-%{release}
Requires: libNX_Xdmcp-devel%{?_isa} = %{version}-%{release}
Requires: libNX_Xext-devel%{?_isa} = %{version}-%{release}
Requires: libNX_Xfixes-devel%{?_isa} = %{version}-%{release}
Requires: libNX_Xrender-devel%{?_isa} = %{version}-%{release}
......@@ -699,7 +657,6 @@ ln -s -f ../../../../%{_lib}/libXext.so.6 %{buildroot}%{_libdir}/nx/X11/Xinerama
%post -n libNX_Xau6 -p /sbin/ldconfig
%post -n libNX_Xcomposite1 -p /sbin/ldconfig
%post -n libNX_Xdamage1 -p /sbin/ldconfig
%post -n libNX_Xdmcp6 -p /sbin/ldconfig
%post -n libNX_Xext6 -p /sbin/ldconfig
%post -n libNX_Xfixes3 -p /sbin/ldconfig
%post -n libNX_Xinerama1 -p /sbin/ldconfig
......@@ -714,7 +671,6 @@ ln -s -f ../../../../%{_lib}/libXext.so.6 %{buildroot}%{_libdir}/nx/X11/Xinerama
%postun -n libNX_Xau6 -p /sbin/ldconfig
%postun -n libNX_Xcomposite1 -p /sbin/ldconfig
%postun -n libNX_Xdamage1 -p /sbin/ldconfig
%postun -n libNX_Xdmcp6 -p /sbin/ldconfig
%postun -n libNX_Xext6 -p /sbin/ldconfig
%postun -n libNX_Xfixes3 -p /sbin/ldconfig
%postun -n libNX_Xinerama1 -p /sbin/ldconfig
......@@ -776,15 +732,6 @@ ln -s -f ../../../../%{_lib}/libXext.so.6 %{buildroot}%{_libdir}/nx/X11/Xinerama
%defattr(-,root,root)
%{_libdir}/libNX_Xdamage.so.1*
%files -n libNX_Xdmcp-devel
%defattr(-,root,root)
%{_libdir}/libNX_Xdmcp.so
%{_includedir}/nx/X11/Xdmcp.h
%files -n libNX_Xdmcp6
%defattr(-,root,root)
%{_libdir}/libNX_Xdmcp.so.6*
%files -n libNX_Xext-devel
%defattr(-,root,root)
%{_libdir}/libNX_Xext.so
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment