...
 
Commits (4)
......@@ -26,6 +26,7 @@ in this Software without prior written authorization from The Open Group.
Author: Ralph Mor, X Consortium
******************************************************************************/
/* $XFree86: xc/lib/ICE/ICElib.h,v 3.4 2001/12/14 19:53:35 dawes Exp $ */
#ifndef _ICELIB_H_
#define _ICELIB_H_
......@@ -38,11 +39,7 @@ Author: Ralph Mor, X Consortium
#define True 1
#define False 0
#if NeedFunctionPrototypes
typedef void *IcePointer;
#else
typedef char *IcePointer;
#endif
typedef enum {
IcePoAuthHaveReply,
......@@ -102,16 +99,13 @@ typedef struct _IceConn *IceConn;
typedef struct _IceListenObj *IceListenObj;
typedef void (*IceWatchProc) (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
IcePointer /* clientData */,
Bool /* opening */,
IcePointer * /* watchData */
#endif
);
typedef void (*IcePoProcessMsgProc) (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
IcePointer /* clientData */,
int /* opcode */,
......@@ -119,17 +113,14 @@ typedef void (*IcePoProcessMsgProc) (
Bool /* swap */,
IceReplyWaitInfo * /* replyWait */,
Bool * /* replyReadyRet */
#endif
);
typedef void (*IcePaProcessMsgProc) (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
IcePointer /* clientData */,
int /* opcode */,
unsigned long /* length */,
Bool /* swap */
#endif
);
typedef struct {
......@@ -145,7 +136,6 @@ typedef struct {
} IcePaVersionRec;
typedef IcePoAuthStatus (*IcePoAuthProc) (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
IcePointer * /* authStatePtr */,
Bool /* cleanUp */,
......@@ -155,11 +145,9 @@ typedef IcePoAuthStatus (*IcePoAuthProc) (
int * /* replyDataLenRet */,
IcePointer * /* replyDataRet */,
char ** /* errorStringRet */
#endif
);
typedef IcePaAuthStatus (*IcePaAuthProc) (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
IcePointer * /* authStatePtr */,
Bool /* swap */,
......@@ -168,17 +156,13 @@ typedef IcePaAuthStatus (*IcePaAuthProc) (
int * /* replyDataLenRet */,
IcePointer * /* replyDataRet */,
char ** /* errorStringRet */
#endif
);
typedef Bool (*IceHostBasedAuthProc) (
#if NeedFunctionPrototypes
char * /* hostName */
#endif
);
typedef Status (*IceProtocolSetupProc) (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
int /* majorVersion */,
int /* minorVersion */,
......@@ -186,31 +170,23 @@ typedef Status (*IceProtocolSetupProc) (
char * /* release */,
IcePointer * /* clientDataRet */,
char ** /* failureReasonRet */
#endif
);
typedef void (*IceProtocolActivateProc) (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
IcePointer /* clientData */
#endif
);
typedef void (*IceIOErrorProc) (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
typedef void (*IcePingReplyProc) (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
IcePointer /* clientData */
#endif
);
typedef void (*IceErrorHandler) (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
Bool /* swap */,
int /* offendingMinorOpcode */,
......@@ -218,13 +194,10 @@ typedef void (*IceErrorHandler) (
int /* errorClass */,
int /* severity */,
IcePointer /* values */
#endif
);
typedef void (*IceIOErrorHandler) (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
......@@ -235,7 +208,6 @@ typedef void (*IceIOErrorHandler) (
_XFUNCPROTOBEGIN
extern int IceRegisterForProtocolSetup (
#if NeedFunctionPrototypes
char * /* protocolName */,
char * /* vendor */,
char * /* release */,
......@@ -245,11 +217,9 @@ extern int IceRegisterForProtocolSetup (
char ** /* authNames */,
IcePoAuthProc * /* authProcs */,
IceIOErrorProc /* IOErrorProc */
#endif
);
extern int IceRegisterForProtocolReply (
#if NeedFunctionPrototypes
char * /* protocolName */,
char * /* vendor */,
char * /* release */,
......@@ -262,120 +232,88 @@ extern int IceRegisterForProtocolReply (
IceProtocolSetupProc /* protocolSetupProc */,
IceProtocolActivateProc /* protocolActivateProc */,
IceIOErrorProc /* IOErrorProc */
#endif
);
extern IceConn IceOpenConnection (
#if NeedFunctionPrototypes
char * /* networkIdsList */,
IcePointer /* context */,
Bool /* mustAuthenticate */,
int /* majorOpcodeCheck */,
int /* errorLength */,
char * /* errorStringRet */
#endif
);
extern IcePointer IceGetConnectionContext (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
extern Status IceListenForConnections (
#if NeedFunctionPrototypes
int * /* countRet */,
IceListenObj ** /* listenObjsRet */,
int /* errorLength */,
char * /* errorStringRet */
#endif
);
extern Status IceListenForWellKnownConnections (
#if NeedFunctionPrototypes
char * /* port */,
int * /* countRet */,
IceListenObj ** /* listenObjsRet */,
int /* errorLength */,
char * /* errorStringRet */
#endif
);
extern int IceGetListenConnectionNumber (
#if NeedFunctionPrototypes
IceListenObj /* listenObj */
#endif
);
extern char *IceGetListenConnectionString (
#if NeedFunctionPrototypes
IceListenObj /* listenObj */
#endif
);
extern char *IceComposeNetworkIdList (
#if NeedFunctionPrototypes
int /* count */,
IceListenObj * /* listenObjs */
#endif
);
extern void IceFreeListenObjs (
#if NeedFunctionPrototypes
int /* count */,
IceListenObj * /* listenObjs */
#endif
);
extern void IceSetHostBasedAuthProc (
#if NeedFunctionPrototypes
IceListenObj /* listenObj */,
IceHostBasedAuthProc /* hostBasedAuthProc */
#endif
);
extern IceConn IceAcceptConnection (
#if NeedFunctionPrototypes
IceListenObj /* listenObj */,
IceAcceptStatus * /* statusRet */
#endif
);
extern void IceSetShutdownNegotiation (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
Bool /* negotiate */
#endif
);
extern Bool IceCheckShutdownNegotiation (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
extern IceCloseStatus IceCloseConnection (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
extern Status IceAddConnectionWatch (
#if NeedFunctionPrototypes
IceWatchProc /* watchProc */,
IcePointer /* clientData */
#endif
);
extern void IceRemoveConnectionWatch (
#if NeedFunctionPrototypes
IceWatchProc /* watchProc */,
IcePointer /* clientData */
#endif
);
extern IceProtocolSetupStatus IceProtocolSetup (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
int /* myOpcode */,
IcePointer /* clientData */,
......@@ -386,127 +324,88 @@ extern IceProtocolSetupStatus IceProtocolSetup (
char ** /* releaseRet */,
int /* errorLength */,
char * /* errorStringRet */
#endif
);
extern Status IceProtocolShutdown (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
int /* majorOpcode */
#endif
);
extern IceProcessMessagesStatus IceProcessMessages (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
IceReplyWaitInfo * /* replyWait */,
Bool * /* replyReadyRet */
#endif
);
extern Status IcePing (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
IcePingReplyProc /* pingReplyProc */,
IcePointer /* clientData */
#endif
);
extern char *IceAllocScratch (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
unsigned long /* size */
#endif
);
extern int IceFlush (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
extern int IceGetOutBufSize (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
extern int IceGetInBufSize (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
extern IceConnectStatus IceConnectionStatus (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
extern char *IceVendor (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
extern char *IceRelease (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
extern int IceProtocolVersion (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
extern int IceProtocolRevision (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
extern int IceConnectionNumber (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
extern char *IceConnectionString (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
extern unsigned long IceLastSentSequenceNumber (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
extern unsigned long IceLastReceivedSequenceNumber (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
extern Bool IceSwapping (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
extern IceErrorHandler IceSetErrorHandler (
#if NeedFunctionPrototypes
IceErrorHandler /* handler */
#endif
);
extern IceIOErrorHandler IceSetIOErrorHandler (
#if NeedFunctionPrototypes
IceIOErrorHandler /* handler */
#endif
);
......@@ -515,21 +414,15 @@ extern IceIOErrorHandler IceSetIOErrorHandler (
*/
extern Status IceInitThreads (
#if NeedFunctionPrototypes
void
#endif
);
extern void IceAppLockConn (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
extern void IceAppUnlockConn (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
_XFUNCPROTOEND
......
......@@ -26,76 +26,67 @@ in this Software without prior written authorization from The Open Group.
Author: Ralph Mor, X Consortium
******************************************************************************/
/* $XFree86: xc/lib/ICE/ICEmsg.h,v 1.4 2001/12/20 19:40:59 tsi Exp $ */
#ifndef _ICEMSG_H_
#define _ICEMSG_H_
#include <X11/Xfuncproto.h>
#include <X11/ICE/ICEconn.h>
_XFUNCPROTOBEGIN
/*
* Function prototypes for internal ICElib functions
*/
extern Status _IceRead (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
unsigned long /* nbytes */,
char * /* ptr */
#endif
);
extern void _IceReadSkip (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
unsigned long /* nbytes */
#endif
);
extern void _IceWrite (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
unsigned long /* nbytes */,
char * /* ptr */
#endif
);
extern void _IceErrorBadMinor (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
int /* majorOpcode */,
int /* offendingMinor */,
int /* severity */
#endif
);
extern void _IceErrorBadState (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
int /* majorOpcode */,
int /* offendingMinor */,
int /* severity */
#endif
);
extern void _IceErrorBadLength (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
int /* majorOpcode */,
int /* offendingMinor */,
int /* severity */
#endif
);
extern void _IceErrorBadValue (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
int /* majorOpcode */,
int /* offendingMinor */,
int /* offset */,
int /* length */,
IcePointer /* value */
#endif
);
......@@ -299,4 +290,6 @@ extern void _IceErrorBadValue (
_IceRead (_iceConn, (unsigned long) (_bytes), _dummy); \
}
_XFUNCPROTOEND
#endif /* _ICEMSG_H_ */
......@@ -26,13 +26,18 @@ in this Software without prior written authorization from The Open Group.
Author: Ralph Mor, X Consortium
******************************************************************************/
/* $XFree86: xc/lib/ICE/ICEutil.h,v 1.4 2001/12/20 19:40:59 tsi Exp $ */
#ifndef _ICEUTIL_H_
#define _ICEUTIL_H_
#include <X11/Xfuncproto.h>
#include <stdio.h>
#include <X11/Xlib.h>
_XFUNCPROTOBEGIN
/*
* Data structure for entry in ICE authority file
*/
......@@ -75,64 +80,48 @@ typedef struct {
*/
extern char *IceAuthFileName (
#if NeedFunctionPrototypes
void
#endif
);
extern int IceLockAuthFile (
#if NeedFunctionPrototypes
char * /* file_name */,
int /* retries */,
int /* timeout */,
long /* dead */
#endif
);
extern void IceUnlockAuthFile (
#if NeedFunctionPrototypes
char * /* file_name */
#endif
);
extern IceAuthFileEntry *IceReadAuthFileEntry (
#if NeedFunctionPrototypes
FILE * /* auth_file */
#endif
);
extern void IceFreeAuthFileEntry (
#if NeedFunctionPrototypes
IceAuthFileEntry * /* auth */
#endif
);
extern Status IceWriteAuthFileEntry (
#if NeedFunctionPrototypes
FILE * /* auth_file */,
IceAuthFileEntry * /* auth */
#endif
);
extern IceAuthFileEntry *IceGetAuthFileEntry (
#if NeedFunctionPrototypes
char * /* protocol_name */,
char * /* network_id */,
char * /* auth_name */
#endif
);
extern char *IceGenerateMagicCookie (
#if NeedFunctionPrototypes
int /* len */
#endif
);
extern void IceSetPaAuthData (
#if NeedFunctionPrototypes
int /* numEntries */,
IceAuthDataEntry * /* entries */
#endif
);
_XFUNCPROTOEND
#endif /* _ICEUTIL_H_ */
......@@ -26,6 +26,7 @@ in this Software without prior written authorization from The Open Group.
Author: Ralph Mor, X Consortium
******************************************************************************/
/* $XFree86: xc/lib/ICE/ICElibint.h,v 1.6 2001/12/14 19:53:35 dawes Exp $ */
#ifndef _ICELIBINT_H_
#define _ICELIBINT_H_
......@@ -37,15 +38,8 @@ Author: Ralph Mor, X Consortium
#include <X11/ICE/ICEconn.h>
#include <X11/ICE/ICEmsg.h>
#ifndef X_NOT_STDC_ENV
#include <stdlib.h>
#else
char *malloc();
#endif
#ifndef NULL
#define NULL 0
#endif
#include <stddef.h>
/*
......@@ -133,7 +127,6 @@ struct _IceListenObj {
*/
typedef void (*_IceProcessCoreMsgProc) (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
int /* opcode */,
unsigned long /* length */,
......@@ -141,7 +134,6 @@ typedef void (*_IceProcessCoreMsgProc) (
IceReplyWaitInfo * /* replyWait */,
Bool * /* replyReadyRet */,
Bool * /* connectionClosedRet */
#endif
);
typedef struct {
......@@ -287,20 +279,21 @@ typedef struct {
}
#define SKIP_STRING(_pBuf, _swap) \
#define SKIP_STRING(_pBuf, _swap, _end, _bail) \
{ \
CARD16 _len; \
EXTRACT_CARD16 (_pBuf, _swap, _len); \
_pBuf += _len; \
if (PAD32 (2 + _len)) \
_pBuf += PAD32 (2 + _len); \
}
_pBuf += _len + PAD32(2+_len); \
if (_pBuf > _end) { \
_bail; \
} \
}
#define SKIP_LISTOF_STRING(_pBuf, _swap, _count) \
#define SKIP_LISTOF_STRING(_pBuf, _swap, _count, _end, _bail) \
{ \
int _i; \
for (_i = 0; _i < _count; _i++) \
SKIP_STRING (_pBuf, _swap); \
SKIP_STRING (_pBuf, _swap, _end, _bail); \
}
......@@ -416,173 +409,129 @@ extern IceIOErrorHandler _IceIOErrorHandler;
extern void _IceErrorBadMajor (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
int /* offendingMajor */,
int /* offendingMinor */,
int /* severity */
#endif
);
extern void _IceErrorNoAuthentication (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
int /* offendingMinor */
#endif
);
extern void _IceErrorNoVersion (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
int /* offendingMinor */
#endif
);
extern void _IceErrorSetupFailed (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
int /* offendingMinor */,
char * /* reason */
#endif
);
extern void _IceErrorAuthenticationRejected (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
int /* offendingMinor */,
char * /* reason */
#endif
);
extern void _IceErrorAuthenticationFailed (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
int /* offendingMinor */,
char * /* reason */
#endif
);
extern void _IceErrorProtocolDuplicate (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
char * /* protocolName */
#endif
);
extern void _IceErrorMajorOpcodeDuplicate (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
int /* majorOpcode */
#endif
);
extern void _IceErrorUnknownProtocol (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
char * /* protocolName */
#endif
);
extern void _IceAddOpcodeMapping (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
int /* hisOpcode */,
int /* myOpcode */
#endif
);
extern char *_IceGetPeerName (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
extern void _IceFreeConnection (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
extern void _IceAddReplyWait (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
IceReplyWaitInfo * /* replyWait */
#endif
);
extern IceReplyWaitInfo *_IceSearchReplyWaits (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
int /* majorOpcode */
#endif
);
extern void _IceSetReplyReady (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
IceReplyWaitInfo * /* replyWait */
#endif
);
extern Bool _IceCheckReplyReady (
#if NeedFunctionPrototypes
IceConn /* iceConn */,
IceReplyWaitInfo * /* replyWait */
#endif
);
extern void _IceConnectionOpened (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
extern void _IceConnectionClosed (
#if NeedFunctionPrototypes
IceConn /* iceConn */
#endif
);
extern void _IceGetPoAuthData (
#if NeedFunctionPrototypes
char * /* protocol_name */,
char * /* address */,
char * /* auth_name */,
unsigned short * /* auth_data_length_ret */,
char ** /* auth_data_ret */
#endif
);
extern void _IceGetPaAuthData (
#if NeedFunctionPrototypes
char * /* protocol_name */,
char * /* address */,
char * /* auth_name */,
unsigned short * /* auth_data_length_ret */,
char ** /* auth_data_ret */
#endif
);
extern void _IceGetPoValidAuthIndices (
#if NeedFunctionPrototypes
char * /* protocol_name */,
char * /* address */,
int /* num_auth_names */,
char ** /* auth_names */,
int * /* num_indices_ret */,
int * /* indices_ret */
#endif
);
extern void _IceGetPaValidAuthIndices (
#if NeedFunctionPrototypes
char * /* protocol_name */,
char * /* address */,
int /* num_auth_names */,
char ** /* auth_names */,
int * /* num_indices_ret */,
int * /* indices_ret */
#endif
);
#endif /* _ICELIBINT_H_ */
/* $Xorg: authutil.c,v 1.5 2001/02/09 02:03:26 xorgcvs Exp $ */
/* $XdotOrg$ */
/******************************************************************************
......@@ -26,6 +27,7 @@ in this Software without prior written authorization from The Open Group.
Author: Ralph Mor, X Consortium
******************************************************************************/
/* $XFree86: authutil.c,v 3.9 2002/05/31 18:45:41 dawes Exp $ */
#include <X11/ICE/ICElib.h>
#include "ICElibint.h"
......@@ -34,14 +36,11 @@ Author: Ralph Mor, X Consortium
#include <sys/stat.h>
#include <errno.h>
#ifdef X_NOT_STDC_ENV
extern int errno;
extern long time ();
extern char *getenv();
#define Time_t long
#else
#include <time.h>
#define Time_t time_t
#ifdef __UNIXOS2__
extern char* getenv(const char*);
#define link rename
#endif
#ifndef X_NOT_POSIX
#include <unistd.h>
......@@ -77,7 +76,7 @@ IceAuthFileName ()
static char *buf;
static int bsize;
int size;
#ifdef WIN32
#if defined(WIN32) || defined(__UNIXOS2__)
#ifndef PATH_MAX
#define PATH_MAX 512
#endif
......@@ -108,6 +107,11 @@ IceAuthFileName ()
name = dir;
}
if (!name)
#endif
#ifdef __UNIXOS2__
strcpy (dir,"c:");
name = dir;
if (!name)
#endif
return (NULL);
}
......@@ -415,25 +419,21 @@ char **stringp;
if (!read_short (file, &len))
return (0);
if (len == 0)
{
data = 0;
}
else
{
data = malloc ((unsigned) len + 1);
if (!data)
data = malloc ((unsigned) len + 1);
if (!data)
return (0);
if (fread (data, (int) sizeof (char), (int) len, file) != len)
if (len != 0)
{
if (fread (data, (int) sizeof (char), (int) len, file) != len)
{
free (data);
return (0);
}
data[len] = '\0';
}
}
data[len] = '\0';
*stringp = data;
......
......@@ -26,6 +26,7 @@ in this Software without prior written authorization from The Open Group.
Author: Ralph Mor, X Consortium
******************************************************************************/
/* $XFree86: xc/lib/ICE/connect.c,v 3.9 2001/12/14 19:53:35 dawes Exp $ */
#include <X11/ICE/ICElib.h>
#include "ICElibint.h"
......@@ -34,23 +35,7 @@ Author: Ralph Mor, X Consortium
static XtransConnInfo ConnectToPeer();
#ifndef X_NOT_STDC_ENV
#define Strstr strstr
#else
static char *Strstr(s1, s2)
char *s1, *s2;
{
int n1, n2;
n1 = strlen(s1);
n2 = strlen(s2);
for ( ; n1 >= n2; s1++, n1--) {
if (!strncmp(s1, s2, n2))
return s1;
}
return NULL;
}
#endif
IceConn
IceOpenConnection (networkIdsList, context, mustAuthenticate, majorOpcodeCheck,
......@@ -220,7 +205,7 @@ char *errorStringRet;
iceConn->inbufmax = iceConn->inbuf + ICE_INBUFSIZE;
if ((iceConn->outbuf = iceConn->outbufptr =
(char *) malloc (ICE_OUTBUFSIZE)) == NULL)
(char *) calloc (1, ICE_OUTBUFSIZE)) == NULL)
{
_IceFreeConnection (iceConn);
strncpy (errorStringRet, "Can't malloc", errorLength);
......@@ -473,6 +458,7 @@ char **actualConnectionRet;
int madeConnection = 0;
int len, retry;
int connect_stat;
int address_size;
XtransConnInfo trans_conn = NULL;
*actualConnectionRet = NULL;
......@@ -481,8 +467,16 @@ char **actualConnectionRet;
len = strlen (networkIdsList);
endptr = networkIdsList + len;
if (len < sizeof addrbuf) address = addrbuf;
else address = malloc (len + 1);
if (len < sizeof addrbuf)
{
address = addrbuf;
address_size = 256;
}
else
{
address = malloc (len + 1);
address_size = len;
}
while (ptr < endptr && !madeConnection)
{
......@@ -490,6 +484,8 @@ char **actualConnectionRet;
delim = endptr;
len = delim - ptr;
if (len > address_size - 1)
len = address_size - 1;
strncpy (address, ptr, len);
address[len] = '\0';
......
......@@ -26,6 +26,7 @@ in this Software without prior written authorization from The Open Group.
Author: Ralph Mor, X Consortium
******************************************************************************/
/* $XFree86: xc/lib/ICE/error.c,v 1.5 2001/10/28 03:32:28 tsi Exp $ */
#include <X11/ICE/ICElib.h>
#include "ICElibint.h"
......@@ -33,10 +34,6 @@ Author: Ralph Mor, X Consortium
#include <errno.h>
#ifdef X_NOT_STDC_ENV
extern int errno;
#endif
void
_IceErrorBadMinor (iceConn, majorOpcode, offendingMinor, severity)
......@@ -428,7 +425,7 @@ IcePointer values;
fprintf (stderr, "ICE error: Offending minor opcode = %d (%s)\n",
offendingMinorOpcode, str);
fprintf (stderr, " Offending sequence number = %d\n",
fprintf (stderr, " Offending sequence number = %lu\n",
offendingSequence);
switch (errorClass)
......@@ -609,8 +606,8 @@ IceConn iceConn;
{
fprintf (stderr,
"ICE default IO error handler doing an exit(), pid = %d, errno = %d\n",
getpid(), errno);
"ICE default IO error handler doing an exit(), pid = %ld, errno = %d\n",
(long)getpid(), errno);
exit (1);
}
......
......@@ -26,6 +26,7 @@ in this Software without prior written authorization from The Open Group.
Author: Ralph Mor, X Consortium
******************************************************************************/
/* $XFree86: xc/lib/ICE/getauth.c,v 1.2 2001/10/28 03:32:28 tsi Exp $ */
#include <X11/ICE/ICElib.h>
#include "ICElibint.h"
......@@ -98,7 +99,7 @@ unsigned short *authDataLenRet;
char **authDataRet;
{
IceAuthDataEntry *entry;
IceAuthDataEntry *entry = NULL;
int found = 0;
int i;
......
......@@ -26,6 +26,7 @@ in this Software without prior written authorization from The Open Group.
Author: Ralph Mor, X Consortium
******************************************************************************/
/* $XFree86: xc/lib/ICE/globals.h,v 1.4 2001/12/14 19:53:35 dawes Exp $ */
extern void _IceDefaultErrorHandler ();
extern void _IceDefaultIOErrorHandler ();
......@@ -35,11 +36,17 @@ extern IcePaAuthStatus _IcePaMagicCookie1Proc ();
extern void _IceProcessCoreMessage ();
#ifndef __UNIXOS2__
IceConn _IceConnectionObjs[256];
char *_IceConnectionStrings[256];
_IceProtocol _IceProtocols[255];
#else
IceConn _IceConnectionObjs[256] = {0};
char *_IceConnectionStrings[256] = {0};
_IceProtocol _IceProtocols[255] = {0};
#endif
int _IceConnectionCount = 0;
_IceProtocol _IceProtocols[255];
int _IceLastMajorOpcode = 0;
int _IceAuthCount = 1;
......
......@@ -26,18 +26,14 @@ in this Software without prior written authorization from The Open Group.
Author: Ralph Mor, X Consortium
******************************************************************************/
/* $XFree86: xc/lib/ICE/iceauth.c,v 3.5 2001/12/14 19:53:36 dawes Exp $ */
#include <X11/ICE/ICElib.h>
#include "ICElibint.h"
#include <X11/ICE/ICEutil.h>
#ifdef X_NOT_STDC_ENV
#define Time_t long
extern Time_t time ();
#else
#include <time.h>
#define Time_t time_t
#endif
static int binaryEqual ();
......@@ -73,8 +69,9 @@ int len;
}
#else
{
#ifndef __UNIXOS2__
long time ();
#endif
ldata[0] = time ((long *) 0);
ldata[1] = getpid ();
}
......
......@@ -25,6 +25,7 @@ used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
*/
/* $XFree86: xc/lib/ICE/listenwk.c,v 1.3 2001/01/17 19:41:29 dawes Exp $ */
/* Author: Ralph Mor, X Consortium */
......
......@@ -26,6 +26,7 @@ in this Software without prior written authorization from The Open Group.
Author: Ralph Mor, X Consortium
******************************************************************************/
/* $XFree86: xc/lib/ICE/misc.c,v 1.3 2001/01/17 19:41:29 dawes Exp $ */
#ifdef WIN32
#define _WILLWINSOCK_
......@@ -69,8 +70,9 @@ unsigned long size;
* Output/Input buffer functions
*/
int
IceFlush (iceConn)
IceConn iceConn;
{
......
......@@ -26,20 +26,22 @@ in this Software without prior written authorization from The Open Group.
Author: Ralph Mor, X Consortium
******************************************************************************/
/* $XFree86: xc/lib/ICE/process.c,v 3.9tsi Exp $ */
#include <X11/ICE/ICElib.h>
#include "ICElibint.h"
#include <stdio.h> /* sprintf */
/*
* Check for bad length
*/
#define CHECK_SIZE_MATCH(_iceConn, _opcode, _expected_len, _actual_len, _severity) \
#define CHECK_SIZE_MATCH(_iceConn, _opcode, _expected_len, _actual_len, _severity, _return) \
if ((((_actual_len) - SIZEOF (iceMsg)) >> 3) != _expected_len) \
{ \
_IceErrorBadLength (_iceConn, 0, _opcode, _severity); \
return (0); \
return (_return); \
}
#define CHECK_AT_LEAST_SIZE(_iceConn, _opcode, _expected_len, _actual_len, _severity) \
......@@ -58,7 +60,11 @@ Author: Ralph Mor, X Consortium
return (0); \
}
#define BAIL_STRING(_iceConn, _opcode, _pStart) {\
_IceErrorBadLength (_iceConn, 0, _opcode, IceFatalToConnection);\
IceDisposeCompleteMessage (_iceConn, _pStart);\
return (0);\
}
/*
* IceProcessMessages:
......@@ -181,7 +187,7 @@ Bool *replyReadyRet;
CHECK_SIZE_MATCH (iceConn, ICE_ByteOrder,
header->length, SIZEOF (iceByteOrderMsg),
IceFatalToConnection);
IceFatalToConnection, IceProcessMessagesIOError);
if (byteOrder != IceMSBfirst && byteOrder != IceLSBfirst)
{
......@@ -194,7 +200,7 @@ Bool *replyReadyRet;
{
iceConn->swap =
(((*(char *) &endian) && byteOrder == IceMSBfirst) ||
!(*(char *) &endian) && byteOrder == IceLSBfirst);
(!(*(char *) &endian) && byteOrder == IceLSBfirst));
iceConn->waiting_for_byteorder = 0;
}
......@@ -534,7 +540,7 @@ Bool swap;
IceReplyWaitInfo *replyWait;
{
int invokeHandler;
int invokeHandler = 0;
Bool errorReturned = False;
iceErrorMsg *message;
char *pData, *pStart;
......@@ -761,8 +767,8 @@ IceReplyWaitInfo *replyWait;
if (iceConn->connect_to_you &&
iceConn->connect_to_you->auth_active)
{
authProc = _IcePoAuthProcs[
iceConn->connect_to_you->my_auth_index];
authProc = _IcePoAuthProcs[(int)
(iceConn->connect_to_you->my_auth_index)];
(*authProc) (iceConn, &iceConn->connect_to_you->my_auth_state,
True /* clean up */, False /* swap */,
......@@ -774,8 +780,8 @@ IceReplyWaitInfo *replyWait;
_IcePoProtocol *protocol = _IceProtocols[
iceConn->protosetup_to_you->my_opcode - 1].orig_client;
authProc = protocol->auth_procs[iceConn->
protosetup_to_you->my_auth_index];
authProc = protocol->auth_procs[(int)(iceConn->
protosetup_to_you->my_auth_index)];
(*authProc) (iceConn,
&iceConn->protosetup_to_you->my_auth_state,
......@@ -799,7 +805,7 @@ IceReplyWaitInfo *replyWait;
static
static int
ProcessConnectionSetup (iceConn, length, swap)
IceConn iceConn;
......@@ -813,8 +819,8 @@ Bool swap;
int hisMajorVersion, hisMinorVersion;
int myAuthCount, hisAuthCount;
int found, i, j;
char *myAuthName, **hisAuthNames;
char *pData, *pStart;
char *myAuthName, **hisAuthNames = NULL;
char *pData, *pStart, *pEnd;
char *vendor = NULL;
char *release = NULL;
int myAuthIndex = 0;
......@@ -838,10 +844,18 @@ Bool swap;
}
pData = pStart;
SKIP_STRING (pData, swap); /* vendor */
SKIP_STRING (pData, swap); /* release */
SKIP_LISTOF_STRING (pData, swap, (int) message->authCount);/* auth names */
pEnd = pStart + (length << 3);
SKIP_STRING (pData, swap, pEnd,
BAIL_STRING(iceConn, ICE_ConnectionSetup,
pStart)); /* vendor */
SKIP_STRING (pData, swap, pEnd,
BAIL_STRING(iceConn, ICE_ConnectionSetup,
pStart)); /* release */
SKIP_LISTOF_STRING (pData, swap, (int) message->authCount, pEnd,
BAIL_STRING(iceConn, ICE_ConnectionSetup,
pStart)); /* auth names */
pData += (message->versionCount * 4); /* versions */
CHECK_COMPLETE_SIZE (iceConn, ICE_ConnectionSetup,
......@@ -1064,7 +1078,7 @@ IceReplyWaitInfo *replyWait;
IcePoAuthProc authProc;
IcePoAuthStatus status;
IcePointer authState;
int realAuthIndex;
int realAuthIndex = 0;
CHECK_AT_LEAST_SIZE (iceConn, ICE_AuthRequired,
length, SIZEOF (iceAuthRequiredMsg),
......@@ -1241,7 +1255,7 @@ IceReplyWaitInfo *replyWait;
static
static int
ProcessAuthReply (iceConn, length, swap)
IceConn iceConn;
......@@ -1282,8 +1296,8 @@ Bool swap;
if (iceConn->connect_to_me)
{
IcePaAuthProc authProc = _IcePaAuthProcs[
iceConn->connect_to_me->my_auth_index];
IcePaAuthProc authProc = _IcePaAuthProcs[(int)
(iceConn->connect_to_me->my_auth_index)];
IcePaAuthStatus status =
(*authProc) (iceConn, &iceConn->connect_to_me->my_auth_state, swap,
replyDataLen, replyData, &authDataLen, &authData, &errorString);
......@@ -1354,8 +1368,8 @@ Bool swap;
{
_IcePaProtocol *myProtocol = _IceProtocols[iceConn->protosetup_to_me->
my_opcode - 1].accept_client;
IcePaAuthProc authProc = myProtocol->auth_procs[
iceConn->protosetup_to_me->my_auth_index];
IcePaAuthProc authProc = myProtocol->auth_procs[(int)
(iceConn->protosetup_to_me->my_auth_index)];
IcePaAuthStatus status =
(*authProc) (iceConn, &iceConn->protosetup_to_me->my_auth_state,
swap, replyDataLen, replyData,
......@@ -1580,8 +1594,8 @@ IceReplyWaitInfo *replyWait;
if (iceConn->connect_to_you)
{
authProc = _IcePoAuthProcs[
iceConn->connect_to_you->my_auth_index];
authProc = _IcePoAuthProcs[(int)
(iceConn->connect_to_you->my_auth_index)];
authState = &iceConn->connect_to_you->my_auth_state;
}
......@@ -1590,8 +1604,8 @@ IceReplyWaitInfo *replyWait;
_IcePoProtocol *myProtocol =
_IceProtocols[iceConn->protosetup_to_you->my_opcode - 1].orig_client;
authProc = myProtocol->auth_procs[
iceConn->protosetup_to_you->my_auth_index];
authProc = myProtocol->auth_procs[(int)
(iceConn->protosetup_to_you->my_auth_index)];
authState = &iceConn->protosetup_to_you->my_auth_state;
}
......@@ -1620,7 +1634,7 @@ IceReplyWaitInfo *replyWait;
}
else if (status == IcePoAuthRejected || status == IcePoAuthFailed)
{
char *prefix, *returnErrorString;
char *prefix = NULL, *returnErrorString;
if (status == IcePoAuthRejected)
{
......@@ -1680,11 +1694,13 @@ IceReplyWaitInfo *replyWait;
{
iceConnectionReplyMsg *message;
char *pData, *pStart;
char *pData, *pStart, *pEnd;
Bool replyReady;
#if 0 /* No-op */
CHECK_AT_LEAST_SIZE (iceConn, ICE_ConnectionReply,
length, SIZEOF (iceConnectionReplyMsg), IceFatalToConnection);
#endif
IceReadCompleteMessage (iceConn, SIZEOF (iceConnectionReplyMsg),
iceConnectionReplyMsg, message, pStart);
......@@ -1696,9 +1712,14 @@ IceReplyWaitInfo *replyWait;
}
pData = pStart;
pEnd = pStart + (length << 3);
SKIP_STRING (pData, swap); /* vendor */
SKIP_STRING (pData, swap); /* release */
SKIP_STRING (pData, swap, pEnd,
BAIL_STRING (iceConn, ICE_ConnectionReply,
pStart)); /* vendor */
SKIP_STRING (pData, swap, pEnd,
BAIL_STRING (iceConn, ICE_ConnectionReply,
pStart)); /* release */
CHECK_COMPLETE_SIZE (iceConn, ICE_ConnectionReply,
length, pData - pStart + SIZEOF (iceConnectionReplyMsg),
......@@ -1714,8 +1735,8 @@ IceReplyWaitInfo *replyWait;
* Tell the authentication procedure to clean up.
*/
IcePoAuthProc authProc = _IcePoAuthProcs[
iceConn->connect_to_you->my_auth_index];
IcePoAuthProc authProc = _IcePoAuthProcs[(int)
(iceConn->connect_to_you->my_auth_index)];
(*authProc) (iceConn, &iceConn->connect_to_you->my_auth_state,
True /* clean up */, False /* swap */,
......@@ -1766,7 +1787,7 @@ IceReplyWaitInfo *replyWait;
static
static int
ProcessProtocolSetup (iceConn, length, swap)
IceConn iceConn;
......@@ -1782,9 +1803,9 @@ Bool swap;
int myAuthCount, hisAuthCount;
int myOpcode, hisOpcode;
int found, i, j;
char *myAuthName, **hisAuthNames;
char *myAuthName, **hisAuthNames = NULL;
char *protocolName;
char *pData, *pStart;
char *pData, *pStart, *pEnd;
char *vendor = NULL;
char *release = NULL;
int accept_setup_now = 0;
......@@ -1819,11 +1840,20 @@ Bool swap;
}
pData = pStart;
SKIP_STRING (pData, swap); /* proto name */
SKIP_STRING (pData, swap); /* vendor */
SKIP_STRING (pData, swap); /* release */
SKIP_LISTOF_STRING (pData, swap, (int) message->authCount);/* auth names */
pEnd = pStart + (length << 3);
SKIP_STRING (pData, swap, pEnd,
BAIL_STRING(iceConn, ICE_ProtocolSetup,
pStart)); /* proto name */
SKIP_STRING (pData, swap, pEnd,
BAIL_STRING(iceConn, ICE_ProtocolSetup,
pStart)); /* vendor */
SKIP_STRING (pData, swap, pEnd,
BAIL_STRING(iceConn, ICE_ProtocolSetup,
pStart)); /* release */
SKIP_LISTOF_STRING (pData, swap, (int) message->authCount, pEnd,
BAIL_STRING(iceConn, ICE_ProtocolSetup,
pStart)); /* auth names */
pData += (message->versionCount * 4); /* versions */
CHECK_COMPLETE_SIZE (iceConn, ICE_ProtocolSetup,
......@@ -2165,11 +2195,13 @@ IceReplyWaitInfo *replyWait;
{
iceProtocolReplyMsg *message;
char *pData, *pStart;
char *pData, *pStart, *pEnd;
Bool replyReady;
#if 0 /* No-op */
CHECK_AT_LEAST_SIZE (iceConn, ICE_ProtocolReply,
length, SIZEOF (iceProtocolReplyMsg), IceFatalToProtocol);
#endif
IceReadCompleteMessage (iceConn, SIZEOF (iceProtocolReplyMsg),
iceProtocolReplyMsg, message, pStart);
......@@ -2181,9 +2213,14 @@ IceReplyWaitInfo *replyWait;
}
pData = pStart;
pEnd = pStart + (length << 3);
SKIP_STRING (pData, swap); /* vendor */
SKIP_STRING (pData, swap); /* release */
SKIP_STRING (pData, swap, pEnd,
BAIL_STRING(iceConn, ICE_ProtocolReply,
pStart)); /* vendor */
SKIP_STRING (pData, swap, pEnd,
BAIL_STRING(iceConn, ICE_ProtocolReply,
pStart)); /* release */
CHECK_COMPLETE_SIZE (iceConn, ICE_ProtocolReply,
length, pData - pStart + SIZEOF (iceProtocolReplyMsg),
......@@ -2202,8 +2239,8 @@ IceReplyWaitInfo *replyWait;
_IcePoProtocol *myProtocol = _IceProtocols[
iceConn->protosetup_to_you->my_opcode - 1].orig_client;
IcePoAuthProc authProc = myProtocol->auth_procs[
iceConn->protosetup_to_you->my_auth_index];
IcePoAuthProc authProc = myProtocol->auth_procs[(int)
(iceConn->protosetup_to_you->my_auth_index)];
#ifdef SVR4
......@@ -2263,7 +2300,7 @@ IceReplyWaitInfo *replyWait;
static
static int
ProcessPing (iceConn, length)
IceConn iceConn;
......@@ -2271,7 +2308,7 @@ unsigned long length;
{
CHECK_SIZE_MATCH (iceConn, ICE_Ping,
length, SIZEOF (icePingMsg), IceFatalToConnection);
length, SIZEOF (icePingMsg), IceFatalToConnection, 0);
PingReply (iceConn);
......@@ -2280,7 +2317,7 @@ unsigned long length;
static
static int
ProcessPingReply (iceConn, length)
IceConn iceConn;
......@@ -2288,7 +2325,7 @@ unsigned long length;
{
CHECK_SIZE_MATCH (iceConn, ICE_PingReply,
length, SIZEOF (icePingReplyMsg), IceFatalToConnection);
length, SIZEOF (icePingReplyMsg), IceFatalToConnection, 0);
if (iceConn->ping_waits)
{
......@@ -2310,7 +2347,7 @@ unsigned long length;
static
static int
ProcessWantToClose (iceConn, length, connectionClosedRet)
IceConn iceConn;
......@@ -2321,7 +2358,7 @@ Bool *connectionClosedRet;
*connectionClosedRet = False;
CHECK_SIZE_MATCH (iceConn, ICE_WantToClose,
length, SIZEOF (iceWantToCloseMsg), IceFatalToConnection);
length, SIZEOF (iceWantToCloseMsg), IceFatalToConnection, 0);
if (iceConn->want_to_close || iceConn->open_ref_count == 0)
{
......@@ -2370,7 +2407,7 @@ Bool *connectionClosedRet;
static
static int
ProcessNoClose (iceConn, length)
IceConn iceConn;
......@@ -2378,7 +2415,7 @@ unsigned long length;
{
CHECK_SIZE_MATCH (iceConn, ICE_NoClose,
length, SIZEOF (iceNoCloseMsg), IceFatalToConnection);
length, SIZEOF (iceNoCloseMsg), IceFatalToConnection, 0);
if (iceConn->want_to_close)
{
......@@ -2488,3 +2525,4 @@ Bool *connectionClosedRet;
if (replyWait)
*replyReadyRet = replyReady;
}
......@@ -26,6 +26,7 @@ in this Software without prior written authorization from The Open Group.
Author: Ralph Mor, X Consortium
******************************************************************************/
/* $XFree86: xc/lib/ICE/protosetup.c,v 1.2 2001/10/28 03:32:28 tsi Exp $ */
#include <X11/ICE/ICElib.h>
#include "ICElibint.h"
......@@ -58,7 +59,7 @@ char *errorStringRet;
unsigned long setup_sequence;
IceReplyWaitInfo replyWait;
_IceReply reply;
IcePoVersionRec *versionRec;
IcePoVersionRec *versionRec = NULL;
int authCount;
int *authIndices;
......
......@@ -26,6 +26,7 @@ in this Software without prior written authorization from The Open Group.
Author: Ralph Mor, X Consortium
******************************************************************************/
/* $XFree86: xc/lib/ICE/setauth.c,v 1.4 2001/12/14 19:53:36 dawes Exp $ */
#include <X11/ICE/ICElib.h>
#include "ICElibint.h"
......@@ -48,7 +49,11 @@ Author: Ralph Mor, X Consortium
*/
int _IcePaAuthDataEntryCount = 0;
#ifndef __UNIXOS2__
IceAuthDataEntry _IcePaAuthDataEntries[ICE_MAX_AUTH_DATA_ENTRIES];
#else
IceAuthDataEntry _IcePaAuthDataEntries[ICE_MAX_AUTH_DATA_ENTRIES] = {0};
#endif
void
......
......@@ -26,9 +26,11 @@ in this Software without prior written authorization from The Open Group.
Author: Ralph Mor, X Consortium
******************************************************************************/
/* $XFree86: xc/lib/ICE/shutdown.c,v 3.3 2001/08/01 00:44:37 tsi Exp $ */
#include <X11/ICE/ICElib.h>
#include "ICElibint.h"
#include <X11/Xtrans.h>
Status
......