Enable TIRPC support for Linux
authorJon Trulson <jon@radscan.com>
Thu, 12 Apr 2018 00:48:53 +0000 (18:48 -0600)
committerJon Trulson <jon@radscan.com>
Fri, 13 Apr 2018 03:00:34 +0000 (21:00 -0600)
This is enabled by default.  To disable, add:

in the config/cf/site.def or host.def file.

You will need to have the libtirpc-dev package installed.

The benefit is that you will no longer need to run rpcbind in insecure
mode (the -i option).  There are other benefits we may be able to take
advantage of in the future, like supporting IPV6 for ToolTalk.

25 files changed:
cde/config/cf/linux.cf
cde/lib/tt/Imakefile
cde/lib/tt/bin/Imakefile
cde/lib/tt/bin/dbck/Imakefile
cde/lib/tt/bin/scripts/Imakefile
cde/lib/tt/bin/shell/Imakefile
cde/lib/tt/bin/tt_type_comp/Imakefile
cde/lib/tt/bin/ttauth/Imakefile
cde/lib/tt/bin/ttdbserverd/Imakefile
cde/lib/tt/bin/ttdbserverd/dm_server.C
cde/lib/tt/bin/ttsession/Imakefile
cde/lib/tt/bin/tttar/Imakefile
cde/lib/tt/bin/tttrace/Imakefile
cde/lib/tt/lib/Imakefile
cde/lib/tt/lib/api/Imakefile
cde/lib/tt/lib/api/c/Imakefile
cde/lib/tt/lib/api/dnd/Imakefile
cde/lib/tt/lib/db/Imakefile
cde/lib/tt/lib/mp/Imakefile
cde/lib/tt/lib/tttk/Imakefile
cde/lib/tt/lib/util/Imakefile
cde/lib/tt/mini_isam/Imakefile
cde/lib/tt/slib/Imakefile
cde/lib/tt/tooltalk.tmpl
cde/programs/dtsession/Imakefile

index 21ed5a08079d354623ece19792a9ef806444a331..5b5624f190e30f9e9826268504be9787e3497c65 100644 (file)
@@ -143,20 +143,23 @@ XCOMM binutils:  (LinuxBinUtilsMajorVersion)
 XCOMM Lets try XdmAuth instead of the ancient MIT/DES auth
 #define HasXdmAuth  YES
 
-XCOMM If you have the tirpc library on your system, and you have the
-XCOMM libtirpc-dev installed, then define HasTIRPCLib to YES in either
-XCOMM your host.def or site.def file.  Using the tirpc lib should
-XCOMM allow running rpcbind in secure mode (ie: without the -i option).
-XCOMM The default is NO.
+XCOMM TIRPC is enabled by default now on Linux.  The libtirpc-dev package is
+XCOMM required for this support.  If you cannot use tirpc for some reason,
+XCOMM can disable it by defining HasTIRPCLib to NO in either
+XCOMM your host.def or site.def file.  Not using the TIRPC lib will require
+XCOMM that you run rpcbind in insecure mode (ie: with the -i option).
+XCOMM The default is YES.
 
 #ifndef HasTIRPCLib
-# define HasTIRPCLib NO
+# define HasTIRPCLib YES
 #endif
 
 #if HasTIRPCLib
 TIRPCLIB = -ltirpc
+TIRPCINC = -I/usr/include/tirpc
 #else
-TIRPCLIB = 
+TIRPCLIB =
+TIRPCINC =
 #endif
 
 #if !defined(DefaultGcc2i386Opt)
@@ -288,7 +291,8 @@ XCOMM This is needed for CDE currently
 #define ArchitectureDefines    -DLINUX_ARCHITECTURE
 
 #define TtClientLibs $(TTLIB) $(TIRPCLIB) $(XTOOLLIB) $(XLIB)
-#define TtClientDepLibs $(DEPTTLIB) $(DEPXTOOLLIB) $(DEPXLIB)
+
+#define SharedTtReqs $(TIRPCLIB) $(LDPRELIBS) SharedXReqs $(CXXLIB)
 
 #include <lnxDep.rules>
 #include <lnxLib.rules>
index 8f8513f0924cb6226b2eba0e1fa7c83784ea7e56..826041a282a6287d3158c4a0a75e64e490cd8b3c 100644 (file)
@@ -5,5 +5,7 @@ XCOMM $TOG: Imakefile /main/7 1998/08/10 18:01:46 mgreess $
 SUBDIRS     = mini_isam lib slib bin
 LINTSUBDIRS = mini_isam lib slib bin
 
+INCLUDES = $(TIRPCINC)
+
 MakeSubdirs($(SUBDIRS))
 DependSubdirs($(SUBDIRS))
index dc754fa950c986c63d439bf12e47b8917802e7a2..f46412b48aa4104cad5e47346f70821c48eccedd 100644 (file)
@@ -5,6 +5,8 @@ XCOMM $TOG: Imakefile /main/8 1999/08/30 14:33:22 mgreess $
 SUBDIRS = dbck shell scripts tt_type_comp \
 ttauth ttdbserverd ttsession tttar tttrace 
 
+INCLUDES = $(TIRPCINC)
+
 MakeSubdirs($(SUBDIRS))
 DependSubdirs($(SUBDIRS))
 LintSubdirs($(SUBDIRS))
index f10301e9b4fe55eba217a4a8e5c5bcf6e9e8cbbc..4d82974d7289df05248e7ea7353905e66e08029e 100644 (file)
@@ -9,7 +9,7 @@ EXTRA_LOAD_FLAGS = ExtraLoadFlags $(UNSHARED_CXXLIB)
 #include "../../tooltalk.tmpl"
 
 DEFINES =
-INCLUDES = -I. -I../../slib -I../../lib -I../../mini_isam
+INCLUDES = $(TIRPCINC) -I. -I../../slib -I../../lib -I../../mini_isam
 
 DEPLIBS         = ../../slib/libstt.a TtClientDepLibs ../../mini_isam/libisam.a
 LOCAL_LIBRARIES = ../../slib/libstt.a TtClientLibs    ../../mini_isam/libisam.a
index e960c44b72d58b524ddf6c240890dcdebf137a4a..8acf6eb7c9311633b7caaf2de672ecf4f5cccb04 100644 (file)
@@ -5,6 +5,7 @@ XCOMM $XConsortium: Imakefile /main/4 1996/04/21 19:11:31 drk $
 /* Any shell scripts shipped as part of ToolTalk are collected here. */
 
 PROGRAMS = ttce2xdr
+INCLUDES = $(TIRPCINC)
 
 all:: $(PROGRAMS)
 
index 68a1b797974391cbe327ee75dee3b5759d630e96..bc77714b6bc8cd85034e7d3f2592f163cd6d529f 100644 (file)
@@ -9,7 +9,7 @@ EXTRA_LOAD_FLAGS = ExtraLoadFlags $(UNSHARED_CXXLIB)
 #include "../../tooltalk.tmpl"
 
 DEFINES =
-INCLUDES = -I. -I../../lib
+INCLUDES = $(TIRPCINC) -I. -I../../lib
 
 DEPLIBS         = TtClientDepLibs
 LOCAL_LIBRARIES = TtClientLibs
index 0e00641ccaabb9d8394339aad762f9440d8befa8..92179208f66057151b1e44855b99ba4055750cfa 100644 (file)
@@ -9,7 +9,7 @@ EXTRA_LOAD_FLAGS = ExtraLoadFlags $(UNSHARED_CXXLIB)
 #include "../../tooltalk.tmpl"
 
 DEFINES = 
-INCLUDES = -I../../lib -I../../slib 
+INCLUDES = $(TIRPCINC) -I../../lib -I../../slib
 
 DEPLIBS         = ../../slib/libstt.a TtClientDepLibs
 LOCAL_LIBRARIES = ../../slib/libstt.a TtClientLibs
index 2cd2ebf89b8bd08159d136c828fcf7ee384a1d85..8189f292752f35753718546582f10b0c3b9a6b32 100644 (file)
@@ -5,7 +5,7 @@ XCOMM $TOG: Imakefile /main/1 1999/08/30 10:44:56 mgreess $
 
 DEFINES        = 
 CONN_DEFINES    = ConnectionFlags
-INCLUDES       = -I. -I../../slib -I../../lib
+INCLUDES       = $(TIRPCINC) -I. -I../../slib -I../../lib
 
 DEPLIBS         = TtClientDepLibs
 LOCAL_LIBRARIES = TtClientLibs
index d82716173ab00dd1ef53b7904ae0f2be7ff000d8..8564008e6b0eecdd68c5899698a53799e069eb90 100644 (file)
@@ -8,8 +8,8 @@ EXTRA_LOAD_FLAGS = ExtraLoadFlags $(UNSHARED_CXXLIB)
 
 #include "../../tooltalk.tmpl"
 
-DEFINES = 
-INCLUDES = -I. -I../../slib -I../../lib -I../../mini_isam
+DEFINES = $(TIRPC_DEFINES)
+INCLUDES = $(TIRPCINC) -I. -I../../slib -I../../lib -I../../mini_isam
 
 DEPLIBS         = ../../slib/libstt.a TtClientDepLibs ../../mini_isam/libisam.a
 LOCAL_LIBRARIES = ../../slib/libstt.a TtClientLibs    ../../mini_isam/libisam.a
index 43ccae017d474c878ec8bb762facb937b74e3f24..120d0c0a2ee0a44b1d8f4ba0771844b1f536688d 100644 (file)
@@ -2105,12 +2105,13 @@ bool_t msg_q_lock(int isfd, const char *record, int length, SVCXPRT *transp)
   // (with a 16 byte key, the rec length must be at least 31)
   if ((length > 30) && !memcmp(record+16, "_TT_QUEUED_MSGS", 15)) {
     // Get the address of the client
-#if defined(OPT_TLI)
+#if defined(OPT_TLI) || defined(OPT_TIRPC)
     netbuf *client_address = svc_getrpccaller(transp);
     _Tt_string client_id(client_address->len);
     memcpy((char *)client_id, client_address->buf, client_address->len);
 #else
     struct sockaddr_in *client_address = svc_getcaller(transp);
+
     _Tt_string client_id(sizeof(struct in_addr));
     memcpy( (char *)client_id, &client_address->sin_addr,
            sizeof(struct in_addr) );
@@ -2129,7 +2130,7 @@ bool_t msg_q_lock(int isfd, const char *record, int length, SVCXPRT *transp)
   // (with a 16 byte key, the rec length must be at least 27)
   else if ((length > 26) && !memcmp(record+16, "_TT_MSG_", 8)) {
     // Get the address of the client
-#if defined(OPT_TLI)
+#if defined(OPT_TLI) || defined(OPT_TIRPC)
     netbuf *client_address = svc_getrpccaller(transp);
     _Tt_string client_id(client_address->len);
     (void)memcpy((char *)client_id, client_address->buf, client_address->len);
index 890888934992b8ee4190f317ab54da4f8f72c745..3ff7a14c22ddbeea07f05b676441d0b7afb130a5 100644 (file)
@@ -9,7 +9,7 @@ EXTRA_LOAD_FLAGS = ExtraLoadFlags $(UNSHARED_CXXLIB)
 #include "../../tooltalk.tmpl"
 
 DEFINES = 
-INCLUDES = -I. -I../../slib -I../../lib
+INCLUDES = $(TIRPCINC) -I. -I../../slib -I../../lib
 
 DEPLIBS         = ../../slib/libstt.a TtClientDepLibs
 LOCAL_LIBRARIES = ../../slib/libstt.a TtClientLibs
index 3f4c87f5c8c3f76ce0b2c7c9f4bf2429c70cb805..2ee31189cbb74bd9faa8721a7b4d2d50c74a6ee0 100644 (file)
@@ -9,7 +9,7 @@ EXTRA_LOAD_FLAGS = ExtraLoadFlags $(UNSHARED_CXXLIB)
 #include "../../tooltalk.tmpl"
 
 DEFINES = 
-INCLUDES = -I. -I../../lib 
+INCLUDES = $(TIRPCINC) -I. -I../../lib
 
 DEPLIBS         = ../../slib/libstt.a TtClientDepLibs ../../mini_isam/libisam.a
 LOCAL_LIBRARIES = ../../slib/libstt.a TtClientLibs    ../../mini_isam/libisam.a
index d5ffce2765db69c2a7aa519285341540d39086dc..f1aa15d03ddd5a4eb06b196c6370ae0a096c88b7 100644 (file)
@@ -9,7 +9,7 @@ EXTRA_LOAD_FLAGS = ExtraLoadFlags $(UNSHARED_CXXLIB)
 #include "../../tooltalk.tmpl"
 
 DEFINES = 
-INCLUDES = -I. -I../../lib
+INCLUDES = $(TIRPCINC) -I. -I../../lib
 
 DEPLIBS         = TtClientDepLibs
 LOCAL_LIBRARIES = TtClientLibs
index f0a1de8751312a1e41e5b485dbf9d1b2f24ea041..f1446579220f4da192ebc628719dbb7a0c86da99 100644 (file)
@@ -31,7 +31,7 @@ DependSubdirs($(SUBDIRS))
 #include "../tooltalk.tmpl"
 
 DEFINES = 
-INCLUDES = -I.
+INCLUDES = $(TIRPCINC) -I.
 
 #ifdef RsArchitecture
       REALPATHC = realpath.c
index f265380f0e54d01ef457b6c9d8b8dfb0565641fb..2718f9a836210e45d12d3a6d5a0eb70c2d3c8624 100644 (file)
@@ -5,6 +5,8 @@ XCOMM $TOG: Imakefile /main/6 1998/08/10 18:00:37 mgreess $
 SUBDIRS = c dnd
 DONES = c/DONE dnd/DONE
 
+INCLUDES = $(TIRPCINC)
+
 MakeSubdirs($(SUBDIRS))
 ForceSubdirs($(SUBDIRS))
 DependSubdirs($(SUBDIRS))
index 74369d0a4b0bf426fc0bcf23e277504b877c76b6..bc561f499ac75dadad0e195df179f8b8da443361 100644 (file)
@@ -19,7 +19,7 @@ DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 #include "../../../tooltalk.tmpl"
 
 DEFINES = 
-INCLUDES = -I../../../lib
+INCLUDES = $(TIRPCINC) -I../../../lib
 
 /*** NOTE! 
  *** Every time a .o is added below it needs to be added to
index 841542baf19b1e953ff1572f4eb69712aa6938e3..a750ac10266b5bc61cb52afa581c18bfcb74e18c 100644 (file)
@@ -13,7 +13,7 @@ XCOMM $XConsortium: Imakefile /main/6 1996/04/21 19:12:16 drk $
 #include "../../../tooltalk.tmpl"
 
 DEFINES = 
-INCLUDES = -I../..
+INCLUDES = $(TIRPCINC) -I../..
 
 /*** NOTE!
  *** Every time a .o is added below it needs to be added to
index 2c96e81f140b8eb030fdeb6fb1e6de412faab016..68827d69defc23056fdea6c3a8109ac0f9a165be 100644 (file)
@@ -16,7 +16,7 @@ DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(ISAM_INCLUDES) $(DEPENDDEFINES)
 #include "../../tooltalk.tmpl"
 
 DEFINES =
-INCLUDES = -I../../lib
+INCLUDES = $(TIRPCINC) -I../../lib
 ISAM_INCLUDES = -I../../mini_isam 
 
 /*** NOTE!
index f30be12593aa28a4019db7d20130bdb2d2cf03a1..4a5751360c45af16dd96c6a95f5b46e636415679 100644 (file)
@@ -16,7 +16,7 @@ DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(ISAM_INCLUDES) $(DEPENDDEFINES)
 #include "../../tooltalk.tmpl"
 
 DEFINES =
-INCLUDES = -I../../lib
+INCLUDES = $(TIRPCINC) -I../../lib
 ISAM_INCLUDES = -I../../mini_isam 
 
 /* Use BSD-compatible accept() call */
index a6dc05a3c72bf9260d8ca424bf23c062bcc4644d..ec74d7f2b3d2a1869484a31a680f79cb7df93041 100644 (file)
@@ -19,7 +19,7 @@ DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 #include "../../tooltalk.tmpl"
 
 DEFINES =
-INCLUDES = -I../../lib
+INCLUDES = $(TIRPCINC) -I../../lib
 
 /*** NOTE!
  *** Every time a .o is added below it needs to be added to
index b1ae307ca3e1083db151328885880f2fa40278f2..bd82fbd74211c0f96a627903957bd27c5b48a05d 100644 (file)
@@ -16,7 +16,7 @@ DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 #include "../../tooltalk.tmpl"
 
 DEFINES =
-INCLUDES = -I../../lib
+INCLUDES = $(TIRPCINC) -I../../lib
 
 #ifdef RsArchitecture
 /* To get definitions of iswprint and iswspace */
index ac159799ad81ea994616657a549ebe7207264b7e..a98ab93b35da26ff6667fde7a735dc34079f3992 100644 (file)
@@ -12,7 +12,7 @@ XCOMM $XConsortium: Imakefile /main/4 1996/04/21 19:12:37 drk $
 #include "../tooltalk.tmpl"
 
 DEPEND_DEFINES = $(DEPENDDEFINES)
-INCLUDES = -I.
+INCLUDES = $(TIRPCINC) -I.
 
 SRCS = isaddindex.c isamaddindex.c isopen.c isamopen.c \
              isdelcurr.c isdelrec.c isamdelrec.c isbuild.c \
index 887929bb76979321223ac22ed84578f7560aec26..cd713a2b9c8613142bb4c5648d4263497404748e 100644 (file)
@@ -15,7 +15,7 @@ DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
 #include "../tooltalk.tmpl"
 
 DEFINES = 
-INCLUDES = -I. -I../lib
+INCLUDES = $(TIRPCINC) -I. -I../lib
 
 SRCS = \
 mp_ce_attrs.C          mp_observer.C              mp_observer_utils.C  \
index 9ef0a8aa597894d953802bd766dd2285486f4721..830ee6d1a69c978e26da5f8927852d3c7d21714e 100644 (file)
@@ -19,6 +19,17 @@ DEPTTLIB_AND_MAYBE_XLIB = $(DEPTTLIB)
 
 
 /* put EXTRA_DEFINES and EXTRA_INCLUDES below */
+
+/* For linux with TIRPC, set this so the right bits can/will be used. */
+XCOMM Enable TIRPC for linux hosts with the option enabled
+#ifdef LinuxArchitecture
+# if HasTIRPCLib
+TIRPC_DEFINES = -DOPT_TIRPC
+# else
+TIRPC_DEFINES =
+# endif
+#endif
+
 #ifdef SunArchitecture
 LAST_LOAD_FLAGS = -Bstatic -lC -Bdynamic -lm -lc -Bstatic
 #endif
index 4718e9da3eb874026ee87656be5e7bf6a758197b..33278f6ebd51a9ff82bb4275efd0d3cc7be9d62b 100644 (file)
@@ -74,7 +74,8 @@ SYS_LIBRARIES = -lelf -lm -ldl -lgen
 
 #if defined(LinuxArchitecture)
 EXTRA_DEFINES = -D${PROGRAMS} $(XINOPT) -DUSE_X11SSEXT
-SYS_LIBRARIES = $(XINLIB) -lXss -ldl -lcrypt -lm
+SYS_LIBRARIES = $(XINLIB) $(TIRPCLIB) -lXss -ldl -lcrypt -lm
+INCLUDES = $(TIRPCINC)
 #endif
 
 #if defined(FreeBSDArchitecture) || defined(NetBSDArchitecture)