Fixes for OpenBSD
authorUlrich Wilkens <mail@uwilkens.de>
Fri, 1 Jun 2018 01:29:42 +0000 (03:29 +0200)
committerJon Trulson <jon@radscan.com>
Fri, 1 Jun 2018 03:48:07 +0000 (21:48 -0600)
cde/admin/IntegTools/post_install/openbsd/Imakefile
cde/config/cf/OpenBSD.cf
cde/include/EUSCompat.h
cde/programs/dtappbuilder/src/abmf/proj_c_file.c
cde/programs/dthelp/parser/canon1/build/out.c
cde/programs/dthelp/parser/canon1/parser/end.c
cde/programs/dtksh/ksh93/src/cmd/ksh93/feature/poll
cde/programs/dtksh/ksh93/src/cmd/ksh93/features/poll
cde/programs/dtlogin/sysauth.c
cde/programs/dtmail/include/DtMail/DtMail.hh
cde/programs/dtsession/SmLock.c

index 1f365bcc3b4f92ac94a5bb77740dea01dcda3898..f1b76639f7ebf8c9ae1147297395964a05b9c2cd 100644 (file)
@@ -27,25 +27,11 @@ BUILD_UDB_LIST = $(SHELL) ../build_udb_list
 
 all::
 
-configMin:: $(DATABASE_DIR)/CDE-MIN.udb
-       $(UDBTOANY) -toLst -ReleaseStream $(PLATFORM) \
-            $(DATABASE_DIR)/CDE-MIN.udb > CDE-MIN.lst
-       $(BUILD_UDB_LIST) CDE-MIN ../../../..
-
-configTT:: $(DATABASE_DIR)/CDE-TT.udb
-       $(UDBTOANY) -toLst -ReleaseStream $(PLATFORM) \
-            $(DATABASE_DIR)/CDE-TT.udb > CDE-TT.lst
-       $(BUILD_UDB_LIST) CDE-TT ../../../..
-
-configRun:: $(DATABASE_DIR)/CDE-RUN.udb
-       $(UDBTOANY) -toLst -ReleaseStream $(PLATFORM) \
-            $(DATABASE_DIR)/CDE-RUN.udb > CDE-RUN.lst
-       $(BUILD_UDB_LIST) CDE-RUN ../../../..
-
-configShlibs:: $(DATABASE_DIR)/CDE-SHLIBS.udb
-       $(UDBTOANY) -toLst -ReleaseStream $(PLATFORM) \
-            $(DATABASE_DIR)/CDE-SHLIBS.udb > CDE-SHLIBS.lst
-       $(BUILD_UDB_LIST) CDE-SHLIBS ../../../..
+DoUDB_SCRIPT4(configMin,CDE-MIN,$(UDBTOANY),$(BUILD_UDB_LIST))
+DoUDB_SCRIPT4(configTT,CDE-TT,$(UDBTOANY),$(BUILD_UDB_LIST))
+DoUDB_SCRIPT4(configRun,CDE-RUN,$(UDBTOANY),$(BUILD_UDB_LIST))
+DoUDB_SCRIPT4(configShlibs,CDE-SHLIBS,$(UDBTOANY),$(BUILD_UDB_LIST))
+
 
 LOCAL_CPP_DEFINES = -DCDE_INSTALLATION_TOP=$(CDE_INSTALLATION_TOP) \
                     -DCDE_CONFIGURATION_TOP=$(CDE_CONFIGURATION_TOP) \
index 51de431142400548ca0b87c0cd477bdce8026efd..d2b171893ff1056dd17af7d1014920ed6156c18e 100644 (file)
@@ -172,13 +172,23 @@ XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVe
 #define CppCmd                 /usr/libexec/cpp -traditional
 #endif
 #define StandardCppOptions     -traditional
-#define StandardCppDefines     /**/
 #define PreProcessCmd          CppCmd
 #define PreIncDir              DefaultGccIncludeDir
 
-#ifndef CcCmd
-#define CcCmd                  cc
+#if OSMajorVersion > 6 || (OSMajorVersion == 6 && OSMinorVersion >= 2)
+#define CcCmd                  cc
+#define CplusplusCmd           c++
+#define CppArgs                        -Wno-invalid-pp-token
+#else
+#define CcCmd                  gcc
+#define CplusplusCmd           g++
+#define CppArgs                        /**/
+#endif
+
+#ifndef StandardCppDefines
+#define StandardCppDefines     -traditional CppArgs
 #endif
+
 #ifndef AsCmd
 #define AsCmd                  cc -c -x assembler
 #endif
@@ -914,8 +924,8 @@ install:: fonts.alias                                                       @@\
  */
 
 #ifdef HasGcc2ForCplusplus
-CXXDEPENDINCLUDE != echo | `CcCmd -print-prog-name=cc1plus` -v 2>&1 | \
-                   sed -n 's/ \(.*[cg]++.*\)/-I\1/p'; rm -f gccdump.s
+CXXDEPENDINCLUDE != CcCmd -v -x c++ /dev/null -fsyntax-only \
+                   2>&1 | sed -n 's/^ \(\/.*[cg]++.*\)/-I\1/p'
 #define CplusplusDependIncludes $(CXXDEPENDINCLUDE)
 #endif
 
index 469fc0ab309ca196ff1867566d2b03e493d6cc87..44e4b9c3d929e9acd939ca34daa5c9b13c8299f5 100644 (file)
@@ -114,7 +114,7 @@ typedef enum {B_FALSE, B_TRUE} boolean_t;
 typedef enum {B_FALSE, B_TRUE} boolean_t;
 #define MAXNAMELEN             256
 
-#if !defined(__FreeBSD__)
+#if !defined(CSRG_BASED)
 #define iconv_t                        int
 #define iconv_open(a, b)       ((iconv_t) -1)
 #define iconv(a, b, c, d, e)   ((size_t) 0)
index 2482febc03e655c9e140c1e67718a2ea5b2c2573..86b6ecc00566c0226f3bf0b315dcbaef805477f5 100644 (file)
@@ -103,6 +103,7 @@ static int  write_map_window(
  */
 static char        *Includes[] =
 {
+    "<stdint.h>",
     "<unistd.h>",
     "<stdlib.h>",
     "<stdio.h>",
@@ -542,7 +543,7 @@ write_main(GenCodeInfo genCodeInfo, ABObj project)
     /*
      * Local variables
      */
-    abio_puts(codeFile, "Widget\t\ttoplevel = 0;\n");
+    abio_puts(codeFile, "Widget\t\ttoplevel = (Widget)NULL;\n");
     abio_puts(codeFile, "Display\t\t*display = (Display*)NULL;\n");
     abio_puts(codeFile, "XtAppContext\tapp = (XtAppContext)NULL;\n");
     abio_puts(codeFile, "String\t\t*fallback_resources = (String*)NULL;\n");
@@ -673,7 +674,7 @@ write_main(GenCodeInfo genCodeInfo, ABObj project)
     {
        abmfP_write_c_comment(genCodeInfo, FALSE,
                "Set up the application's root window.");
-        abio_printf(codeFile, "%s = toplevel;\n",
+        abio_printf(codeFile, "%s = toplevel;\n\n",
            abmfP_get_c_name_global(main_window));
 
        if (obj_get_icon(main_window) != NULL)
index 312410017e84e2a8ab016214411b4be2bbfd5dd6..83f418dddb60ebb94fd8f20b9d4b7b16a8ff475e 100644 (file)
@@ -483,7 +483,7 @@ char *partype(n)
 void srefout(M_NOPAR)
   {
     LOGICAL first = TRUE ;
-    int *mapbysref ;
+    int *mapbysref = NULL ;
     SREFSTRUCT *srefp ;
     SREFDATA *data ;
     int count = 0 ;
index db23d27cc8794f591da4b5ef1fb578c15b7b7d4d..9ad62c704f135e753dcd86d0aa764e8f87e7c8dc 100644 (file)
@@ -29,6 +29,8 @@ This product and information is proprietary of Tandem Computers Incorporated.
 
 /* End.c executes end-code specified in the interface. */
 
+#include <stdint.h>
+
 #include "userinc.h"
 #include "globdec.h"
 
index 779283cc19ff9ada288e4210ce1370a2a290c156..db17139a2d2ddd6f428948762412d48dd3cad3dc 100644 (file)
@@ -1,6 +1,6 @@
 hdr,sys        poll,socket,netinet/in
 lib    select,poll,socket
-typ    fd_set sys/socket.h
+typ    fd_set sys/socket.h sys/select.h
 cat{
        #pragma prototyped
        #ifdef _lib_poll
index 779283cc19ff9ada288e4210ce1370a2a290c156..db17139a2d2ddd6f428948762412d48dd3cad3dc 100644 (file)
@@ -1,6 +1,6 @@
 hdr,sys        poll,socket,netinet/in
 lib    select,poll,socket
-typ    fd_set sys/socket.h
+typ    fd_set sys/socket.h sys/select.h
 cat{
        #pragma prototyped
        #ifdef _lib_poll
index 0e60d5046fc2e598562e9cf78a40912ed4cd4174..449dcd9a5ff6479844db82a9b23356a7d4095f58 100644 (file)
@@ -1956,6 +1956,13 @@ Authenticate( struct display *d, char *name, char *passwd, char **msg )
     }
 #endif
 
+#if defined(__OpenBSD__) && OSMAJORVERSION > 5
+    /*
+     * Use the OpenBSD getpwnam_shadow function to get the crypt()ed password
+     */
+     p = getpwnam_shadow(name);
+#endif
+
     if (!p || strlen(name) == 0 ||
         strcmp (crypt (passwd, p->pw_passwd), p->pw_passwd)) {
 
index c4ffe90dd854356298bcca8da07b3b23497d006a..7c9e4074223c91ea90cde95822b2655f477fa919 100644 (file)
@@ -48,7 +48,7 @@
 
 #include <stdio.h>
 #include <stdarg.h>
-#if defined(sun) || defined(__FreeBSD__)
+#if defined(sun) || defined(CSRG_BASED)
 #include <iconv.h>
 #endif
 #include <sys/stat.h>
@@ -931,7 +931,7 @@ friend class Session;
                        DTMailError_t minor_code);
 };
 
-#if defined(sun) || defined(__FreeBSD__)
+#if defined(sun) || defined(CSRG_BASED)
 template <typename T>
 size_t iconv (iconv_t i, const T inbuf, size_t* inleft,
               char** outbuf, size_t* outleft)
index 711ad3526b1af3a711c72fdd3f79a0b7afa8a0f6..20d9c6693b257c1db636ede3473af4cef75ca960 100644 (file)
@@ -1799,7 +1799,12 @@ localAuthenticate(
    /*
     * Get password entry for 'name' or 'uid'.
     */
+#if defined(__OpenBSD__) && OSMAJORVERSION > 5
+    if ((pwent = (name == NULL ?
+            getpwuid_shadow(uid) : getpwnam_shadow(name))) == NULL)
+#else
     if ((pwent = (name == NULL ? getpwuid(uid) : getpwnam(name))) == NULL)
+#endif
     {
      /*
       * Can't get entry.