summaryrefslogtreecommitdiff
authorAlan Coopersmith <alan.coopersmith@sun.com>2007-08-17 22:29:16 (GMT)
committer Alan Coopersmith <alan.coopersmith@sun.com>2007-08-17 22:29:47 (GMT)
commit23fbd5292d356067e85e1eec4eb4f743532b0503 (patch) (side-by-side diff)
tree3255e7d3429dba3fc13d9e98eeabcedf9fa75ebf
parent6a32a96d8df184c3ace4847beb48fdcb846d2286 (diff)
downloadxserver-23fbd5292d356067e85e1eec4eb4f743532b0503.zip
xserver-23fbd5292d356067e85e1eec4eb4f743532b0503.tar.gz
Actually build Secure RPC authentication support (missed in modularization)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--configure.ac1
-rw-r--r--include/dix-config.h.in3
-rw-r--r--os/Makefile.am6
-rw-r--r--os/rpcauth.c16
4 files changed, 17 insertions, 9 deletions
diff --git a/configure.ac b/configure.ac
index 41cc103..f0ede75 100644
--- a/configure.ac
+++ b/configure.ac
@@ -597,6 +597,7 @@ XTRANS_CONNECTION_FLAGS
# Secure RPC detection macro from xtrans.m4
XTRANS_SECURE_RPC_FLAGS
+AM_CONDITIONAL(SECURE_RPC, [test "x$SECURE_RPC" = xyes])
AM_CONDITIONAL(INT10_VM86, [test "x$INT10" = xvm86])
AM_CONDITIONAL(INT10_X86EMU, [test "x$INT10" = xx86emu])
diff --git a/include/dix-config.h.in b/include/dix-config.h.in
index ad97605..69fab5e 100644
--- a/include/dix-config.h.in
+++ b/include/dix-config.h.in
@@ -282,6 +282,9 @@
/* Support MIT-SCREEN-SAVER extension */
#undef SCREENSAVER
+/* Support Secure RPC ("SUN-DES-1") authentication for X11 clients */
+#undef SECURE_RPC
+
/* Use a lock to prevent multiple servers on a display */
#undef SERVER_LOCK
diff --git a/os/Makefile.am b/os/Makefile.am
index 53b2d7f..d2a9897 100644
--- a/os/Makefile.am
+++ b/os/Makefile.am
@@ -3,9 +3,9 @@ noinst_LTLIBRARIES = libos.la libcwrapper.la
AM_CFLAGS = $(DIX_CFLAGS)
# FIXME: Add support for these in configure.ac
-SECURERPC_SRCS = rpcauth.c
INTERNALMALLOC_SRCS = xalloc.c
+SECURERPC_SRCS = rpcauth.c
XCSECURITY_SRCS = secauth.c
XDMCP_SRCS = xdmcp.c
STRLCAT_SRCS = strlcat.c strlcpy.c
@@ -28,6 +28,10 @@ libos_la_SOURCES = \
xprintf.c \
$(XORG_SRCS)
+if SECURE_RPC
+libos_la_SOURCES += $(SECURERPC_SRCS)
+endif
+
if XCSECURITY
libos_la_SOURCES += $(XCSECURITY_SRCS)
endif
diff --git a/os/rpcauth.c b/os/rpcauth.c
index 603844a..3451ac1 100644
--- a/os/rpcauth.c
+++ b/os/rpcauth.c
@@ -39,7 +39,7 @@ from The Open Group.
#ifdef SECURE_RPC
#include <X11/X.h>
-#include "Xauth.h"
+#include <X11/Xauth.h>
#include "misc.h"
#include "os.h"
#include "dixstruct.h"
@@ -135,7 +135,7 @@ CheckNetName (
static char rpc_error[MAXNETNAMELEN+50];
-XID
+_X_HIDDEN XID
SecureRPCCheck (unsigned short data_length, char *data,
ClientPtr client, char **reason)
{
@@ -159,14 +159,14 @@ SecureRPCCheck (unsigned short data_length, char *data,
return (XID) ~0L;
}
-void
+_X_HIDDEN void
SecureRPCInit (void)
{
if (rpc_id == ~0L)
AddAuthorization (9, "SUN-DES-1", 0, (char *) 0);
}
-int
+_X_HIDDEN int
SecureRPCAdd (unsigned short data_length, char *data, XID id)
{
if (data_length)
@@ -175,26 +175,26 @@ SecureRPCAdd (unsigned short data_length, char *data, XID id)
return 1;
}
-int
+_X_HIDDEN int
SecureRPCReset (void)
{
rpc_id = (XID) ~0L;
return 1;
}
-XID
+_X_HIDDEN XID
SecureRPCToID (unsigned short data_length, char *data)
{
return rpc_id;
}
-int
+_X_HIDDEN int
SecureRPCFromID (XID id, unsigned short *data_lenp, char **datap)
{
return 0;
}
-int
+_X_HIDDEN int
SecureRPCRemove (unsigned short data_length, char *data)
{
return 0;