extern ARRAY8Ptr ChooseAuthentication ();
extern int SelectConnectionTypeIndex ();
+void query_respond (struct sockaddr *from, int fromlen, int length);
+void broadcast_respond (struct sockaddr *from, int fromlen, int length);
+void forward_respond (struct sockaddr *from, int fromlen, int length);
+void request_respond (struct sockaddr *from, int fromlen, int length);
+void send_willing (struct sockaddr *from, int fromlen, ARRAY8Ptr authenticationName, ARRAY8Ptr status);
+void send_unwilling (struct sockaddr *from, int fromlen, ARRAY8Ptr authenticationName, ARRAY8Ptr status);
+void send_accept (struct sockaddr *to, int tolen, CARD32 sessionID, ARRAY8Ptr authenticationName, ARRAY8Ptr authenticationData, ARRAY8Ptr authorizationName, ARRAY8Ptr authorizationData);
+void manage (struct sockaddr *from, int fromlen, int length);
+void send_decline (struct sockaddr *to, int tolen, ARRAY8Ptr authenticationName, ARRAY8Ptr authenticationData, ARRAY8Ptr status);
+void send_failed (struct sockaddr *from, int fromlen, char *name, CARD32 sessionID, char *reason);
+void send_refuse (struct sockaddr *from, int fromlen, CARD32 sessionID);
+void send_alive (struct sockaddr *from, int fromlen, int length);
+
+
+
int xdmcpFd = -1;
int chooserFd = -1;
#define pS(s) ((s) ? ((char *) (s)) : "empty string")
-void DestroyWellKnownSockets ()
+void
+DestroyWellKnownSockets (void)
{
if (xdmcpFd != -1)
{
}
}
-AnyWellKnownSockets ()
+int
+AnyWellKnownSockets (void)
{
return xdmcpFd != -1 || chooserFd != -1;
}
/*ARGSUSED*/
static int
-sendForward (connectionType, address, closure)
- CARD16 connectionType;
- ARRAY8Ptr address;
- char *closure;
+sendForward (CARD16 connectionType, ARRAY8Ptr address, char *closure)
{
#ifdef AF_INET
struct sockaddr_in in_addr;
default:
return 0;
}
- XdmcpFlush (xdmcpFd, &buffer, addr, addrlen);
+ XdmcpFlush (xdmcpFd, &buffer, (XdmcpNetaddr)addr, addrlen);
return 0;
}
extern char *NetaddrPort();
static void
-ClientAddress (from, addr, port, type)
- struct sockaddr *from;
- ARRAY8Ptr addr, port; /* return */
- CARD16 *type; /* return */
+ClientAddress (struct sockaddr *from, ARRAY8Ptr addr, ARRAY8Ptr port, CARD16 *type)
{
int length, family;
char *data;
}
static void
-all_query_respond (from, fromlen, authenticationNames, type)
- struct sockaddr *from;
- int fromlen;
- ARRAYofARRAY8Ptr authenticationNames;
- xdmOpCode type;
+all_query_respond (struct sockaddr *from, int fromlen, ARRAYofARRAY8Ptr authenticationNames, xdmOpCode type)
{
ARRAY8Ptr authenticationName;
ARRAY8 status;
}
static void
-indirect_respond (from, fromlen, length)
- struct sockaddr *from;
- int fromlen;
- int length;
+indirect_respond (struct sockaddr *from, int fromlen, int length)
{
ARRAYofARRAY8 queryAuthenticationNames;
ARRAY8 clientAddress;
}
static void
-ProcessRequestSocket ()
+ProcessRequestSocket (void)
{
XdmcpHeader header;
struct sockaddr_in addr;
Debug ("ProcessRequestSocket\n");
bzero ((char *) &addr, sizeof (addr));
- if (!XdmcpFill (xdmcpFd, &buffer, &addr, &addrlen)) {
+ if (!XdmcpFill (xdmcpFd, &buffer, (XdmcpNetaddr)&addr, &addrlen)) {
Debug ("XdmcpFill failed\n");
return;
}
switch (header.opcode)
{
case BROADCAST_QUERY:
- broadcast_respond (&addr, addrlen, header.length);
+ broadcast_respond ((struct sockaddr *)&addr, addrlen, header.length);
break;
case QUERY:
- query_respond (&addr, addrlen, header.length);
+ query_respond ((struct sockaddr *)&addr, addrlen, header.length);
break;
case INDIRECT_QUERY:
- indirect_respond (&addr, addrlen, header.length);
+ indirect_respond ((struct sockaddr *)&addr, addrlen, header.length);
break;
case FORWARD_QUERY:
- forward_respond (&addr, addrlen, header.length);
+ forward_respond ((struct sockaddr *)&addr, addrlen, header.length);
break;
case REQUEST:
- request_respond (&addr, addrlen, header.length);
+ request_respond ((struct sockaddr *)&addr, addrlen, header.length);
break;
case MANAGE:
- manage (&addr, addrlen, header.length);
+ manage ((struct sockaddr *)&addr, addrlen, header.length);
break;
case KEEPALIVE:
- send_alive (&addr, addrlen, header.length);
+ send_alive ((struct sockaddr *)&addr, addrlen, header.length);
break;
}
}
* dtlogin changes to WaitForSomething () merged in to support command line
* login.
*/
-void WaitForSomething ()
+void WaitForSomething (void)
{
FD_TYPE reads;
struct timeval timeout, *ptimeout;
static ARRAY8 Hostname;
void
-registerHostname (name, namelen)
- char *name;
- int namelen;
+registerHostname (char *name, int namelen)
{
int i;
}
static void
-direct_query_respond (from, fromlen, length, type)
- struct sockaddr *from;
- int fromlen;
- int length;
- xdmOpCode type;
+direct_query_respond (struct sockaddr *from, int fromlen, int length, xdmOpCode type)
{
ARRAYofARRAY8 queryAuthenticationNames;
int expectedLen;
XdmcpDisposeARRAYofARRAY8 (&queryAuthenticationNames);
}
-query_respond (from, fromlen, length)
- struct sockaddr *from;
- int fromlen;
- int length;
+void
+query_respond (struct sockaddr *from, int fromlen, int length)
{
Debug ("Query respond %d\n", length);
direct_query_respond (from, fromlen, length, QUERY);
}
-broadcast_respond (from, fromlen, length)
- struct sockaddr *from;
- int fromlen;
- int length;
+void
+broadcast_respond (struct sockaddr *from, int fromlen, int length)
{
direct_query_respond (from, fromlen, length, BROADCAST_QUERY);
}
/* computes an X display name */
-
-char *
-NetworkAddressToName(connectionType, connectionAddress, displayNumber)
#if NeedWidePrototypes
- int connectionType;
-#else
- CARD16 connectionType;
-#endif
- ARRAY8Ptr connectionAddress;
-#if NeedWidePrototypes
- int displayNumber;
+char *
+NetworkAddressToName(int connectionType, ARRAY8Ptr connectionAddress, int displayNumber)
#else
- CARD16 displayNumber;
+char *
+NetworkAddressToName(CARD16 connectionType, ARRAY8Ptr connectionAddress, CARD16 displayNumber)
#endif
{
switch (connectionType)
}
/*ARGSUSED*/
-forward_respond (from, fromlen, length)
- struct sockaddr *from;
- int fromlen;
- int length;
+void
+forward_respond (struct sockaddr *from, int fromlen, int length)
{
ARRAY8 clientAddress;
ARRAY8 clientPort;
#ifdef AF_INET
case AF_INET:
{
- struct sockaddr_in in_addr;
+ static struct sockaddr_in in_addr;
if (clientAddress.length != 4 ||
clientPort.length != 2)
#ifdef AF_UNIX
case AF_UNIX:
{
- struct sockaddr_un un_addr;
+ static struct sockaddr_un un_addr;
if (clientAddress.length >= sizeof (un_addr.sun_path))
goto badAddress;
XdmcpDisposeARRAYofARRAY8 (&authenticationNames);
}
-send_willing (from, fromlen, authenticationName, status)
- struct sockaddr *from;
- int fromlen;
- ARRAY8Ptr authenticationName;
- ARRAY8Ptr status;
+void
+send_willing (struct sockaddr *from, int fromlen, ARRAY8Ptr authenticationName, ARRAY8Ptr status)
{
XdmcpHeader header;
XdmcpWriteARRAY8 (&buffer, authenticationName);
XdmcpWriteARRAY8 (&buffer, &Hostname);
XdmcpWriteARRAY8 (&buffer, status);
- XdmcpFlush (xdmcpFd, &buffer, from, fromlen);
+ XdmcpFlush (xdmcpFd, &buffer, (XdmcpNetaddr)from, fromlen);
}
-send_unwilling (from, fromlen, authenticationName, status)
- struct sockaddr *from;
- int fromlen;
- ARRAY8Ptr authenticationName;
- ARRAY8Ptr status;
+void
+send_unwilling (struct sockaddr *from, int fromlen, ARRAY8Ptr authenticationName, ARRAY8Ptr status)
{
XdmcpHeader header;
XdmcpWriteHeader (&buffer, &header);
XdmcpWriteARRAY8 (&buffer, &Hostname);
XdmcpWriteARRAY8 (&buffer, status);
- XdmcpFlush (xdmcpFd, &buffer, from, fromlen);
+ XdmcpFlush (xdmcpFd, &buffer, (XdmcpNetaddr)from, fromlen);
}
static unsigned long globalSessionID;
#define NextSessionID() (++globalSessionID)
-void init_session_id()
+void
+init_session_id(void)
{
/* Set randomly so we are unlikely to reuse id's from a previous
* incarnation so we don't say "Alive" to those displays.
static ARRAY8 noValidAuth = { (CARD16) 22, (CARD8Ptr) "No valid authorization" };
static ARRAY8 noAuthentic = { (CARD16) 29, (CARD8Ptr) "XDM has no authentication key" };
-request_respond (from, fromlen, length)
- struct sockaddr *from;
- int fromlen;
- int length;
+void
+request_respond (struct sockaddr *from, int fromlen, int length)
{
CARD16 displayNumber;
ARRAY16 connectionTypes;
XdmcpDisposeARRAY8 (&manufacturerDisplayID);
}
-send_accept (to, tolen, sessionID,
- authenticationName, authenticationData,
- authorizationName, authorizationData)
- struct sockaddr *to;
- int tolen;
- CARD32 sessionID;
- ARRAY8Ptr authenticationName, authenticationData;
- ARRAY8Ptr authorizationName, authorizationData;
+void
+send_accept (struct sockaddr *to, int tolen, CARD32 sessionID, ARRAY8Ptr authenticationName, ARRAY8Ptr authenticationData, ARRAY8Ptr authorizationName, ARRAY8Ptr authorizationData)
{
XdmcpHeader header;
XdmcpWriteARRAY8 (&buffer, authenticationData);
XdmcpWriteARRAY8 (&buffer, authorizationName);
XdmcpWriteARRAY8 (&buffer, authorizationData);
- XdmcpFlush (xdmcpFd, &buffer, to, tolen);
+ XdmcpFlush (xdmcpFd, &buffer, (XdmcpNetaddr)to, tolen);
}
-
-send_decline (to, tolen, authenticationName, authenticationData, status)
- struct sockaddr *to;
- int tolen;
- ARRAY8Ptr authenticationName, authenticationData;
- ARRAY8Ptr status;
+
+void
+send_decline (struct sockaddr *to, int tolen, ARRAY8Ptr authenticationName, ARRAY8Ptr authenticationData, ARRAY8Ptr status)
{
XdmcpHeader header;
XdmcpWriteARRAY8 (&buffer, status);
XdmcpWriteARRAY8 (&buffer, authenticationName);
XdmcpWriteARRAY8 (&buffer, authenticationData);
- XdmcpFlush (xdmcpFd, &buffer, to, tolen);
+ XdmcpFlush (xdmcpFd, &buffer, (XdmcpNetaddr)to, tolen);
}
-manage (from, fromlen, length)
- struct sockaddr *from;
- int fromlen;
- int length;
+void
+manage (struct sockaddr *from, int fromlen, int length)
{
CARD32 sessionID;
CARD16 displayNumber;
if (class) free ((char*) class);
}
-void SendFailed (d, reason)
- struct display *d;
- char *reason;
+void
+SendFailed (struct display *d, char *reason)
{
Debug ("Display start failed, sending Failed\n");
send_failed (d->from, d->fromlen, d->name, d->sessionID, reason);
}
-send_failed (from, fromlen, name, sessionID, reason)
- struct sockaddr *from;
- int fromlen;
- char *name;
- CARD32 sessionID;
- char *reason;
+void
+send_failed (struct sockaddr *from, int fromlen, char *name, CARD32 sessionID, char *reason)
{
static char buf[256];
XdmcpHeader header;
XdmcpWriteHeader (&buffer, &header);
XdmcpWriteCARD32 (&buffer, sessionID);
XdmcpWriteARRAY8 (&buffer, &status);
- XdmcpFlush (xdmcpFd, &buffer, from, fromlen);
+ XdmcpFlush (xdmcpFd, &buffer, (XdmcpNetaddr)from, fromlen);
}
-send_refuse (from, fromlen, sessionID)
- struct sockaddr *from;
- int fromlen;
- CARD32 sessionID;
+void
+send_refuse (struct sockaddr *from, int fromlen, CARD32 sessionID)
{
XdmcpHeader header;
header.length = 4;
XdmcpWriteHeader (&buffer, &header);
XdmcpWriteCARD32 (&buffer, sessionID);
- XdmcpFlush (xdmcpFd, &buffer, from, fromlen);
+ XdmcpFlush (xdmcpFd, &buffer, (XdmcpNetaddr)from, fromlen);
}
-send_alive (from, fromlen, length)
- struct sockaddr *from;
- int fromlen;
- int length;
+void
+send_alive (struct sockaddr *from, int fromlen, int length)
{
CARD32 sessionID;
CARD16 displayNumber;
XdmcpWriteHeader (&buffer, &header);
XdmcpWriteCARD8 (&buffer, sendRunning);
XdmcpWriteCARD32 (&buffer, sendSessionID);
- XdmcpFlush (xdmcpFd, &buffer, from, fromlen);
+ XdmcpFlush (xdmcpFd, &buffer, (XdmcpNetaddr)from, fromlen);
}
}
}
-char *
-NetworkAddressToHostname (connectionType, connectionAddress)
#if NeedWidePrototypes
- int connectionType;
+char *
+NetworkAddressToHostname (int connectionType, ARRAY8Ptr connectionAddress)
#else
- CARD16 connectionType;
+char *
+NetworkAddressToHostname (CARD16 connectionType, ARRAY8Ptr connectionAddress)
#endif
- ARRAY8Ptr connectionAddress;
{
char *name = 0;
return name;
}
-static
-HostnameToNetworkAddress (name, connectionType, connectionAddress)
-char *name;
-CARD16 connectionType;
-ARRAY8Ptr connectionAddress;
+static int
+HostnameToNetworkAddress (char *name, CARD16 connectionType, ARRAY8Ptr connectionAddress)
{
switch (connectionType)
{
* the same rules as XOpenDisplay (algorithm cribbed from there)
*/
-static
-NameToNetworkAddress(name, connectionTypep, connectionAddress, displayNumber)
-char *name;
-CARD16Ptr connectionTypep;
-ARRAY8Ptr connectionAddress;
-CARD16Ptr displayNumber;
+static int
+NameToNetworkAddress(char *name, CARD16Ptr connectionTypep, ARRAY8Ptr connectionAddress, CARD16Ptr displayNumber)
{
char *colon, *display_number;
char hostname[1024];
*connectionTypep = connectionType;
return TRUE;
}
+