svn commit: r1933909 - in apr/apr/trunk: crypto dbd dbm file_io/unix file_io/win32 hooks include include/arch/unix memory/unix misc/unix network_io/unix poll/unix test time/unix

[email protected] Thu, 07 May 2026 13:38:54 -0000
Newsgroups gmane.comp.apache.apr.cvs
Message-ID <177816113473.3882801.16775012839535539441@svn03-he-fi>
Author: ivan
Date: Thu May  7 13:38:54 2026
New Revision: 1933909

Log:
Cleanup #ifdef NETWARE from source code. Support for Netware was removed in
r1933886.

Modified:
   apr/apr/trunk/crypto/apr_crypto.c
   apr/apr/trunk/crypto/apr_passwd.c
   apr/apr/trunk/crypto/getuuid.c
   apr/apr/trunk/dbd/apr_dbd.c
   apr/apr/trunk/dbm/apr_dbm.c
   apr/apr/trunk/file_io/unix/filepath_util.c
   apr/apr/trunk/file_io/unix/mktemp.c
   apr/apr/trunk/file_io/unix/open.c
   apr/apr/trunk/file_io/unix/tempdir.c
   apr/apr/trunk/file_io/win32/filepath.c
   apr/apr/trunk/hooks/apr_hooks.c
   apr/apr/trunk/include/apr_errno.h
   apr/apr/trunk/include/apr_file_info.h
   apr/apr/trunk/include/apr_portable.h
   apr/apr/trunk/include/arch/unix/apr_arch_misc.h
   apr/apr/trunk/include/arch/unix/apr_arch_poll_private.h
   apr/apr/trunk/memory/unix/apr_pools.c
   apr/apr/trunk/misc/unix/errorcodes.c
   apr/apr/trunk/network_io/unix/sockaddr.c
   apr/apr/trunk/poll/unix/select.c
   apr/apr/trunk/test/testdso.c
   apr/apr/trunk/test/testmmap.c
   apr/apr/trunk/test/testnames.c
   apr/apr/trunk/test/testpass.c
   apr/apr/trunk/test/testpath.c
   apr/apr/trunk/test/testutil.h
   apr/apr/trunk/time/unix/time.c

Modified: apr/apr/trunk/crypto/apr_crypto.c
==============================================================================
--- apr/apr/trunk/crypto/apr_crypto.c	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/crypto/apr_crypto.c	Thu May  7 13:38:54 2026	(r1933909)
@@ -216,9 +216,7 @@ APR_DECLARE(apr_status_t) apr_crypto_get
     rootp = apr_hash_pool_get(drivers);
 
 #if APR_HAVE_MODULAR_DSO
-#if defined(NETWARE)
-    apr_snprintf(modname, sizeof(modname), "crypto%s.nlm", name);
-#elif defined(WIN32) || defined(__CYGWIN__)
+#if defined(WIN32) || defined(__CYGWIN__)
     apr_snprintf(modname, sizeof(modname),
             "apr_crypto_%s-" APR_STRINGIFY(APR_MAJOR_VERSION) ".dll", name);
 #else

Modified: apr/apr/trunk/crypto/apr_passwd.c
==============================================================================
--- apr/apr/trunk/crypto/apr_passwd.c	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/crypto/apr_passwd.c	Thu May  7 13:38:54 2026	(r1933909)
@@ -92,7 +92,7 @@ static void crypt_mutex_unlock()
 #endif
 #endif
 
-#if defined(WIN32) || defined(BEOS) || defined(NETWARE) || defined(__ANDROID__)
+#if defined(WIN32) || defined(BEOS) || defined(__ANDROID__)
 #define CRYPT_MISSING 1
 #else
 #define CRYPT_MISSING 0

Modified: apr/apr/trunk/crypto/getuuid.c
==============================================================================
--- apr/apr/trunk/crypto/getuuid.c	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/crypto/getuuid.c	Thu May  7 13:38:54 2026	(r1933909)
@@ -70,23 +70,14 @@ static void get_random_info(unsigned cha
     struct {
         /* Add thread id here, if applicable, when we get to pthread or apr */
         pid_t pid;
-#ifdef NETWARE
-        apr_uint64_t t;
-#else
         struct timeval t;
-#endif
         char hostname[257];
 
     } r;
 
     apr_md5_init(&c);
-#ifdef NETWARE
-    r.pid = NXThreadGetId();
-    NXGetTime(NX_SINCE_BOOT, NX_USECONDS, &(r.t));
-#else
     r.pid = getpid();
     gettimeofday(&r.t, (struct timezone *)0);
-#endif
     gethostname(r.hostname, 256);
     apr_md5_update(&c, (const unsigned char *)&r, sizeof(r));
     apr_md5_final(seed, &c);

Modified: apr/apr/trunk/dbd/apr_dbd.c
==============================================================================
--- apr/apr/trunk/dbd/apr_dbd.c	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/dbd/apr_dbd.c	Thu May  7 13:38:54 2026	(r1933909)
@@ -182,9 +182,7 @@ APR_DECLARE(apr_status_t) apr_dbd_get_dr
      * drivers hash table; ignore the passed-in pool */
     pool = apr_hash_pool_get(drivers);
 
-#if defined(NETWARE)
-    apr_snprintf(modname, sizeof(modname), "dbd%s.nlm", name);
-#elif defined(WIN32) || defined(__CYGWIN__)
+#if defined(WIN32) || defined(__CYGWIN__)
     apr_snprintf(modname, sizeof(modname),
                  "apr_dbd_%s-" APR_STRINGIFY(APR_MAJOR_VERSION) ".dll", name);
 #else

Modified: apr/apr/trunk/dbm/apr_dbm.c
==============================================================================
--- apr/apr/trunk/dbm/apr_dbm.c	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/dbm/apr_dbm.c	Thu May  7 13:38:54 2026	(r1933909)
@@ -201,9 +201,7 @@ APR_DECLARE(apr_status_t) apr_dbm_get_dr
      * drivers hash table; ignore the passed-in pool */
     pool = apr_hash_pool_get(drivers);
 
-#if defined(NETWARE)
-    apr_snprintf(modname, sizeof(modname), "dbm%s.nlm", type);
-#elif defined(WIN32) || defined (__CYGWIN__)
+#if defined(WIN32) || defined (__CYGWIN__)
     apr_snprintf(modname, sizeof(modname),
                  "apr_dbm_%s-" APR_STRINGIFY(APR_MAJOR_VERSION) ".dll", type);
 #else

Modified: apr/apr/trunk/file_io/unix/filepath_util.c
==============================================================================
--- apr/apr/trunk/file_io/unix/filepath_util.c	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/file_io/unix/filepath_util.c	Thu May  7 13:38:54 2026	(r1933909)
@@ -26,7 +26,7 @@
 
 #include "apr_private.h"
 
-#if defined(WIN32) || defined(OS2) || defined(NETWARE)
+#if defined(WIN32) || defined(OS2)
 #define PATH_SEPARATOR ';'
 #define PATH_SEPARATOR_STRING ";"
 #else

Modified: apr/apr/trunk/file_io/unix/mktemp.c
==============================================================================
--- apr/apr/trunk/file_io/unix/mktemp.c	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/file_io/unix/mktemp.c	Thu May  7 13:38:54 2026	(r1933909)
@@ -55,7 +55,7 @@
 
 #ifndef HAVE_MKSTEMP
 
-#if defined(SVR4) || defined(WIN32) || defined(NETWARE)
+#if defined(SVR4) || defined(WIN32)
 #ifdef SVR4
 #if HAVE_INTTYPES_H
 #include <inttypes.h>

Modified: apr/apr/trunk/file_io/unix/open.c
==============================================================================
--- apr/apr/trunk/file_io/unix/open.c	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/file_io/unix/open.c	Thu May  7 13:38:54 2026	(r1933909)
@@ -21,12 +21,6 @@
 #include "apr_arch_inherit.h"
 #include "apr_time.h"
 
-#ifdef NETWARE
-#include "nks/dirio.h"
-#include "apr_hash.h"
-#include "fsio.h"
-#endif
-
 static apr_status_t file_cleanup(apr_file_t *file, int is_child)
 {
     apr_status_t rv = APR_SUCCESS;

Modified: apr/apr/trunk/file_io/unix/tempdir.c
==============================================================================
--- apr/apr/trunk/file_io/unix/tempdir.c	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/file_io/unix/tempdir.c	Thu May  7 13:38:54 2026	(r1933909)
@@ -55,7 +55,6 @@ APR_DECLARE(apr_status_t) apr_temp_dir_g
           $TMP
           $TEMP
           "C:\TEMP"     (windows only)
-          "SYS:\TMP"    (netware only)
           "/tmp"
           "/var/tmp"
           "/usr/tmp"
@@ -85,13 +84,6 @@ APR_DECLARE(apr_status_t) apr_temp_dir_g
         goto end;
     }
 #endif
-#ifdef NETWARE
-    /* Next, on NetWare, try the SYS:/TMP directory. */
-    if (test_tempdir("SYS:/TMP", p)) {
-        dir = "SYS:/TMP";
-        goto end;
-    }
-#endif
 
     /* Next, try a set of hard-coded paths. */
     for (i = 0; i < (sizeof(try_dirs) / sizeof(const char *)); i++) {

Modified: apr/apr/trunk/file_io/win32/filepath.c
==============================================================================
--- apr/apr/trunk/file_io/win32/filepath.c	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/file_io/win32/filepath.c	Thu May  7 13:38:54 2026	(r1933909)
@@ -22,11 +22,6 @@
 #include <string.h>
 #include <ctype.h>
 
-#ifdef NETWARE
-#include <unistd.h>
-#include <fsio.h>
-#endif
-
  /* WinNT accepts several odd forms of a 'root' path.  Under Unicode
  * calls (ApiFunctionW) the //?/C:/foo or //?/UNC/mach/share/foo forms
  * are accepted.  Ansi and Unicode functions both accept the //./C:/foo
@@ -44,80 +39,6 @@ APR_DECLARE(apr_status_t) apr_filepath_r
 {
     const char *testpath = *inpath;
     char *newpath;
-#ifdef NETWARE
-    char seperator[2] = { 0, 0};
-    char server[APR_PATH_MAX+1];
-    char volume[APR_PATH_MAX+1];
-    char file[APR_PATH_MAX+1];
-    char *volsep = NULL;
-    int elements;
-
-    if (inpath && *inpath)
-        volsep = strchr (*inpath, ':');
-    else
-        return APR_EBADPATH;
-
-    if (strlen(*inpath) > APR_PATH_MAX) {
-        return APR_EBADPATH;
-    }
-
-    seperator[0] = (flags & APR_FILEPATH_NATIVE) ? '\\' : '/';
-
-    /* Allocate and initialize each of the segment buffers
-    */
-    server[0] = volume[0] = file[0] = '\0';
-
-    /* If we don't have a volume separator then don't bother deconstructing
-        the path since we won't use the deconstructed information anyway.
-    */
-    if (volsep) {
-        /* Split the inpath into its separate parts. */
-        deconstruct(testpath, server, volume, NULL, file, NULL, &elements, PATH_UNDEF);
-
-        /* If we got a volume part then continue splitting out the root.
-            Otherwise we either have an incomplete or relative path
-        */
-        if (volume && strlen(volume) > 0) {
-            newpath = apr_pcalloc(p, strlen(server)+strlen(volume)+5);
-            construct(newpath, server, volume, NULL, NULL, NULL, PATH_NETWARE);
-
-            /* NetWare doesn't add the root slash so we need to add it manually.
-            */
-            strcat(newpath, seperator);
-            *rootpath = newpath;
-
-            /* Skip the inpath pointer down to the first non-root character
-            */
-            newpath = volsep;
-            do {
-                ++newpath;
-            } while (*newpath && ((*newpath == '/') || (*newpath == '\\')));
-            *inpath = newpath;
-
-            /* Need to handle APR_FILEPATH_TRUENAME checking here. */
-
-            return APR_SUCCESS;
-        }
-        else
-            return APR_EBADPATH;
-    }
-    else if ((**inpath == '/') || (**inpath == '\\')) {
-        /* if we have a root path without a volume then just split
-            in same manner as unix although this path will be
-            incomplete.
-        */
-        *rootpath = apr_pstrdup(p, seperator);
-        do {
-            ++(*inpath);
-        } while ((**inpath == '/') || (**inpath == '\\'));
-    }
-    else
-        return APR_ERELATIVE;
-
-    return APR_EINCOMPLETE;
-
-#else /* ndef(NETWARE) */
-
     char seperator[2];
     const char *delim1;
     const char *delim2;
@@ -323,11 +244,8 @@ APR_DECLARE(apr_status_t) apr_filepath_r
 
     /* Nothing interesting */
     return APR_ERELATIVE;
-
-#endif /* ndef(NETWARE) */
 }
 
-#if !defined(NETWARE)
 static int same_drive(const char *path1, const char *path2)
 {
     char drive1 = path1[0];
@@ -347,7 +265,6 @@ static int same_drive(const char *path1,
 
     return (drive1 == drive2);
 }
-#endif
 
 APR_DECLARE(apr_status_t) apr_filepath_merge(char **newpath,
                                              const char *basepath,
@@ -367,9 +284,7 @@ APR_DECLARE(apr_status_t) apr_filepath_m
     apr_status_t basetype = 0; /* from parsing the basepath's baseroot */
     apr_status_t addtype;      /* from parsing the addpath's addroot */
     apr_status_t rv;
-#ifndef NETWARE
     int fixunc = 0;  /* flag to complete an incomplete UNC basepath */
-#endif
 
     /* Treat null as an empty path, otherwise split addroot from the addpath
      */
@@ -441,11 +356,9 @@ APR_DECLARE(apr_status_t) apr_filepath_m
          * if addroot is given in drive-relative form (e.g. d:foo)
          */
         char *getpath;
-#ifndef NETWARE
         if (addtype == APR_EINCOMPLETE && addroot[1] == ':')
             rv = filepath_drive_get(&getpath, addroot[0], flags, p);
         else
-#endif
             rv = apr_filepath_get(&getpath, flags, p);
         if (rv != APR_SUCCESS)
             return rv;
@@ -500,7 +413,6 @@ APR_DECLARE(apr_status_t) apr_filepath_m
          * and simple roots                 (/ as in /foo).
          * Deal with these in significantly different manners...
          */
-#ifndef NETWARE
         if ((addroot[0] == '/' || addroot[0] == '\\') &&
             (addroot[1] == '/' || addroot[1] == '\\'))
         {
@@ -518,7 +430,6 @@ APR_DECLARE(apr_status_t) apr_filepath_m
             memcpy(path, addroot, pathlen);
         }
         else
-#endif
         if ((addroot[0] == '/' || addroot[0] == '\\') && !addroot[1])
         {
             /* Bring together the drive or UNC root from the baseroot
@@ -528,12 +439,10 @@ APR_DECLARE(apr_status_t) apr_filepath_m
             if (basetype != APR_EABSOLUTE && (flags & APR_FILEPATH_NOTRELATIVE))
                 return basetype;
             if (basetype != APR_ERELATIVE) {
-#ifndef NETWARE
                 if (basetype == APR_INCOMPLETE
                         && (baseroot[0] == '/' || baseroot[0] == '\\')
                         && (baseroot[1] == '/' || baseroot[1] == '\\'))
                     fixunc = 1;
-#endif
                 keptlen = rootlen = pathlen = strlen(baseroot);
                 memcpy(path, baseroot, pathlen);
             }
@@ -545,16 +454,6 @@ APR_DECLARE(apr_status_t) apr_filepath_m
                 memcpy(path, addroot, pathlen);
             }
         }
-#ifdef NETWARE
-        else if (filepath_has_drive(addroot, DRIVE_ONLY, p))
-        {
-            /* If the addroot is a drive (without a volume root)
-             * use the basepath _if_ it matches this drive letter!
-             * Otherwise we must discard the basepath.
-             */
-            if (!filepath_compare_drive(addroot, baseroot, p) &&
-                filepath_has_drive(baseroot, 0, p)) {
-#else
         else if (addroot[0] && addroot[1] == ':' && !addroot[2])
         {
             /* If the addroot is a drive (without a volume root)
@@ -562,7 +461,6 @@ APR_DECLARE(apr_status_t) apr_filepath_m
              * Otherwise we must discard the basepath.
              */
             if (same_drive(addroot, baseroot)) {
-#endif
                 /* Base the result path on the basepath
                  */
                 if (basetype != APR_EABSOLUTE && (flags & APR_FILEPATH_NOTRELATIVE))
@@ -597,14 +495,12 @@ APR_DECLARE(apr_status_t) apr_filepath_m
         if (basetype != APR_EABSOLUTE && (flags & APR_FILEPATH_NOTRELATIVE))
             return basetype;
 
-#ifndef NETWARE
         /* An incomplete UNC path must be completed
          */
         if (basetype == APR_INCOMPLETE
                 && (baseroot[0] == '/' || baseroot[0] == '\\')
                 && (baseroot[1] == '/' || baseroot[1] == '\\'))
             fixunc = 1;
-#endif
 
         /* Base the result path on the basepath
          */
@@ -660,12 +556,10 @@ APR_DECLARE(apr_status_t) apr_filepath_m
             if (seglen < segend)
                 return APR_EBADPATH;
 
-#ifndef NETWARE
             /* This isn't legal unless the unc path is completed
              */
             if (fixunc)
                 return APR_EBADPATH;
-#endif
 
             /* Otherwise, this is a noop segment (/ or ./) so ignore it
              */
@@ -679,12 +573,10 @@ APR_DECLARE(apr_status_t) apr_filepath_m
             if (seglen < segend && (seglen != 3 || addpath[2] != '.'))
                 return APR_EBADPATH;
 
-#ifndef NETWARE
             /* This isn't legal unless the unc path is completed
              */
             if (fixunc)
                 return APR_EBADPATH;
-#endif
 
             /* backpath (../) when an absolute path is given */
             if (rootlen && (pathlen <= rootlen))
@@ -757,7 +649,6 @@ APR_DECLARE(apr_status_t) apr_filepath_m
         }
         else /* not empty or dots */
         {
-#ifndef NETWARE
             if (fixunc) {
                 const char *testpath = path;
                 const char *testroot;
@@ -801,7 +692,6 @@ APR_DECLARE(apr_status_t) apr_filepath_m
                 }
             }
             else
-#endif
             {
                 /* An actual segment, append it to the destination path
                  */

Modified: apr/apr/trunk/hooks/apr_hooks.c
==============================================================================
--- apr/apr/trunk/hooks/apr_hooks.c	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/hooks/apr_hooks.c	Thu May  7 13:38:54 2026	(r1933909)
@@ -64,14 +64,6 @@ typedef struct tsort_
     struct tsort_ *pNext;
 } TSort;
 
-#ifdef NETWARE
-#include "apr_private.h"
-#define get_apd                 APP_DATA* apd = (APP_DATA*)get_app_data(gLibId);
-#define s_aHooksToSort          ((apr_array_header_t *)(apd->gs_aHooksToSort))
-#define s_phOptionalHooks       ((apr_hash_t *)(apd->gs_phOptionalHooks))
-#define s_phOptionalFunctions   ((apr_hash_t *)(apd->gs_phOptionalFunctions))
-#endif
-
 static int crude_order(const void *a_,const void *b_)
 {
     const TSortData *a=a_;
@@ -216,9 +208,7 @@ static apr_array_header_t *sort_hook(apr
     return pNew;
 }
 
-#ifndef NETWARE
 static apr_array_header_t *s_aHooksToSort;
-#endif
 
 typedef struct
 {
@@ -229,9 +219,6 @@ typedef struct
 APR_DECLARE(void) apr_hook_sort_register(const char *szHookName,
                                         apr_array_header_t **paHooks)
 {
-#ifdef NETWARE
-    get_apd
-#endif
     HookSortEntry *pEntry;
 
     if(!s_aHooksToSort)
@@ -243,9 +230,6 @@ APR_DECLARE(void) apr_hook_sort_register
 
 APR_DECLARE(void) apr_hook_sort_all(void)
 {
-#ifdef NETWARE
-    get_apd
-#endif
     int n;
 
     if (!s_aHooksToSort) {
@@ -258,16 +242,11 @@ APR_DECLARE(void) apr_hook_sort_all(void
     }
 }
 
-#ifndef NETWARE
 static apr_hash_t *s_phOptionalHooks;
 static apr_hash_t *s_phOptionalFunctions;
-#endif
 
 APR_DECLARE(void) apr_hook_deregister_all(void)
 {
-#ifdef NETWARE
-    get_apd
-#endif
     int n;
 
     if (!s_aHooksToSort) {
@@ -323,9 +302,6 @@ APR_DECLARE_EXTERNAL_HOOK(apr,APR,void,_
 
 APR_DECLARE(apr_array_header_t *) apr_optional_hook_get(const char *szName)
 {
-#ifdef NETWARE
-    get_apd
-#endif
     apr_array_header_t **ppArray;
 
     if(!s_phOptionalHooks)
@@ -340,9 +316,6 @@ APR_DECLARE(void) apr_optional_hook_add(
                                         const char * const *aszPre,
                                         const char * const *aszSucc,int nOrder)
 {
-#ifdef NETWARE
-    get_apd
-#endif
     apr_array_header_t *pArray=apr_optional_hook_get(szName);
     apr_LINK__optional_t *pHook;
 
@@ -372,9 +345,6 @@ APR_DECLARE(void) apr_optional_hook_add(
 
 APR_DECLARE(apr_opt_fn_t *) apr_dynamic_fn_retrieve(const char *szName)
 {
-#ifdef NETWARE
-    get_apd
-#endif
     if(!s_phOptionalFunctions)
         return NULL;
     return (void(*)(void))apr_hash_get(s_phOptionalFunctions,szName,strlen(szName));
@@ -384,9 +354,6 @@ APR_DECLARE(apr_opt_fn_t *) apr_dynamic_
 APR_DECLARE_NONSTD(void) apr_dynamic_fn_register(const char *szName,
                                                   apr_opt_fn_t *pfn)
 {
-#ifdef NETWARE
-    get_apd
-#endif
     if(!s_phOptionalFunctions)
         s_phOptionalFunctions=apr_hash_make(apr_hook_global_pool);
     apr_hash_set(s_phOptionalFunctions,szName,strlen(szName),(void *)pfn);

Modified: apr/apr/trunk/include/apr_errno.h
==============================================================================
--- apr/apr/trunk/include/apr_errno.h	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/include/apr_errno.h	Thu May  7 13:38:54 2026	(r1933909)
@@ -1154,73 +1154,7 @@ APR_DECLARE(char *) apr_strerror(apr_sta
 #define APR_STATUS_IS_EALREADY(s)       ((s) == APR_EALREADY \
                 || (s) == APR_OS_START_SYSERR + WSAEALREADY)
 
-#elif defined(NETWARE) && defined(USE_WINSOCK) && !defined(DOXYGEN) /* !defined(OS2) && !defined(WIN32) */
-
-#define APR_FROM_OS_ERROR(e) (e == 0 ? APR_SUCCESS : e + APR_OS_START_SYSERR)
-#define APR_TO_OS_ERROR(e)   (e == 0 ? APR_SUCCESS : e - APR_OS_START_SYSERR)
-
-#define apr_get_os_error()    (errno)
-#define apr_set_os_error(e)   (errno = (e))
-
-/* A special case, only socket calls require this: */
-#define apr_get_netos_error()   (APR_FROM_OS_ERROR(WSAGetLastError()))
-#define apr_set_netos_error(e)  (WSASetLastError(APR_TO_OS_ERROR(e)))
-
-/* APR CANONICAL ERROR TESTS */
-#define APR_STATUS_IS_EACCES(s)         ((s) == APR_EACCES)
-#define APR_STATUS_IS_EEXIST(s)         ((s) == APR_EEXIST)
-#define APR_STATUS_IS_ENAMETOOLONG(s)   ((s) == APR_ENAMETOOLONG)
-#define APR_STATUS_IS_ENOENT(s)         ((s) == APR_ENOENT)
-#define APR_STATUS_IS_ENOTDIR(s)        ((s) == APR_ENOTDIR)
-#define APR_STATUS_IS_ENOSPC(s)         ((s) == APR_ENOSPC)
-#define APR_STATUS_IS_ENOMEM(s)         ((s) == APR_ENOMEM)
-#define APR_STATUS_IS_EMFILE(s)         ((s) == APR_EMFILE)
-#define APR_STATUS_IS_ENFILE(s)         ((s) == APR_ENFILE)
-#define APR_STATUS_IS_EBADF(s)          ((s) == APR_EBADF)
-#define APR_STATUS_IS_EINVAL(s)         ((s) == APR_EINVAL)
-#define APR_STATUS_IS_ESPIPE(s)         ((s) == APR_ESPIPE)
-
-#define APR_STATUS_IS_EAGAIN(s)         ((s) == APR_EAGAIN \
-                || (s) ==                       EWOULDBLOCK \
-                || (s) == APR_OS_START_SYSERR + WSAEWOULDBLOCK)
-#define APR_STATUS_IS_EINTR(s)          ((s) == APR_EINTR \
-                || (s) == APR_OS_START_SYSERR + WSAEINTR)
-#define APR_STATUS_IS_ENOTSOCK(s)       ((s) == APR_ENOTSOCK \
-                || (s) == APR_OS_START_SYSERR + WSAENOTSOCK)
-#define APR_STATUS_IS_ECONNREFUSED(s)   ((s) == APR_ECONNREFUSED \
-                || (s) == APR_OS_START_SYSERR + WSAECONNREFUSED)
-#define APR_STATUS_IS_EINPROGRESS(s)    ((s) == APR_EINPROGRESS \
-                || (s) == APR_OS_START_SYSERR + WSAEINPROGRESS)
-#define APR_STATUS_IS_ECONNABORTED(s)   ((s) == APR_ECONNABORTED \
-                || (s) == APR_OS_START_SYSERR + WSAECONNABORTED)
-#define APR_STATUS_IS_ECONNRESET(s)     ((s) == APR_ECONNRESET \
-                || (s) == APR_OS_START_SYSERR + WSAECONNRESET)
-/* XXX deprecated */
-#define APR_STATUS_IS_ETIMEDOUT(s)       ((s) == APR_ETIMEDOUT \
-                || (s) == APR_OS_START_SYSERR + WSAETIMEDOUT \
-                || (s) == APR_OS_START_SYSERR + WAIT_TIMEOUT)
-#undef APR_STATUS_IS_TIMEUP
-#define APR_STATUS_IS_TIMEUP(s)         ((s) == APR_TIMEUP \
-                || (s) == APR_OS_START_SYSERR + WSAETIMEDOUT \
-                || (s) == APR_OS_START_SYSERR + WAIT_TIMEOUT)
-#define APR_STATUS_IS_EHOSTUNREACH(s)   ((s) == APR_EHOSTUNREACH \
-                || (s) == APR_OS_START_SYSERR + WSAEHOSTUNREACH)
-#define APR_STATUS_IS_ENETUNREACH(s)    ((s) == APR_ENETUNREACH \
-                || (s) == APR_OS_START_SYSERR + WSAENETUNREACH)
-#define APR_STATUS_IS_ENETDOWN(s)       ((s) == APR_OS_START_SYSERR + WSAENETDOWN)
-#define APR_STATUS_IS_EFTYPE(s)         ((s) == APR_EFTYPE)
-#define APR_STATUS_IS_EPIPE(s)          ((s) == APR_EPIPE)
-#define APR_STATUS_IS_EXDEV(s)          ((s) == APR_EXDEV)
-#define APR_STATUS_IS_ENOTEMPTY(s)      ((s) == APR_ENOTEMPTY)
-#define APR_STATUS_IS_EAFNOSUPPORT(s)   ((s) == APR_EAFNOSUPPORT \
-                || (s) == APR_OS_START_SYSERR + WSAEAFNOSUPPORT)
-#define APR_STATUS_IS_EOPNOTSUPP(s)     ((s) == APR_EOPNOTSUPP \
-                || (s) == APR_OS_START_SYSERR + WSAEOPNOTSUPP)
-#define APR_STATUS_IS_ERANGE(s)         ((s) == APR_ERANGE)
-#define APR_STATUS_IS_EALREADY(s)       ((s) == APR_EALREADY \
-                || (s) == APR_OS_START_SYSERR + WSAEALREADY)
-
-#else /* !defined(NETWARE) && !defined(OS2) && !defined(WIN32) */
+#else /* !defined(OS2) && !defined(WIN32) */
 
 /*
  *  os error codes are clib error codes
@@ -1348,7 +1282,7 @@ APR_DECLARE(char *) apr_strerror(apr_sta
 #define APR_STATUS_IS_EALREADY(s)       ((s) == APR_EALREADY)
 /** @} */
 
-#endif /* !defined(NETWARE) && !defined(OS2) && !defined(WIN32) */
+#endif /* !defined(OS2) && !defined(WIN32) */
 
 /** @} */
 

Modified: apr/apr/trunk/include/apr_file_info.h
==============================================================================
--- apr/apr/trunk/include/apr_file_info.h	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/include/apr_file_info.h	Thu May  7 13:38:54 2026	(r1933909)
@@ -123,7 +123,7 @@ typedef struct apr_dir_t          apr_di
  * Structure for determining file permissions.
  */
 typedef apr_int32_t               apr_fileperms_t;
-#if (defined WIN32) || (defined NETWARE)
+#if (defined WIN32)
 /**
  * Structure for determining the device the file is on.
  */

Modified: apr/apr/trunk/include/apr_portable.h
==============================================================================
--- apr/apr/trunk/include/apr_portable.h	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/include/apr_portable.h	Thu May  7 13:38:54 2026	(r1933909)
@@ -108,19 +108,6 @@ typedef struct tm             apr_os_exp
 typedef image_id              apr_os_dso_handle_t;
 typedef void*                 apr_os_shm_t;
 
-#elif defined(NETWARE)
-typedef int                   apr_os_file_t;
-typedef DIR                   apr_os_dir_t;
-typedef int                   apr_os_sock_t;
-typedef NXMutex_t *           apr_os_proc_mutex_t;
-typedef NXThreadId_t          apr_os_thread_t;
-typedef long                  apr_os_proc_t;
-typedef NXKey_t               apr_os_threadkey_t;
-typedef struct timeval        apr_os_imp_time_t;
-typedef struct tm             apr_os_exp_time_t;
-typedef void *                apr_os_dso_handle_t;
-typedef void*                 apr_os_shm_t;
-
 #else
 /* Any other OS should go above this one.  This is the lowest common
  * denominator typedefs for  all UNIX-like systems.  :)

Modified: apr/apr/trunk/include/arch/unix/apr_arch_misc.h
==============================================================================
--- apr/apr/trunk/include/arch/unix/apr_arch_misc.h	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/include/arch/unix/apr_arch_misc.h	Thu May  7 13:38:54 2026	(r1933909)
@@ -57,7 +57,7 @@ struct apr_other_child_rec_t {
     void *data;
 };
 
-#if defined(WIN32) || defined(NETWARE)
+#if defined(WIN32)
 #define WSAHighByte 2
 #define WSALowByte 0
 #endif

Modified: apr/apr/trunk/include/arch/unix/apr_arch_poll_private.h
==============================================================================
--- apr/apr/trunk/include/arch/unix/apr_arch_poll_private.h	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/include/arch/unix/apr_arch_poll_private.h	Thu May  7 13:38:54 2026	(r1933909)
@@ -38,11 +38,6 @@
 #include <sys/epoll.h>
 #endif
 
-#ifdef NETWARE
-#define HAS_SOCKETS(dt) (dt == APR_POLL_SOCKET) ? 1 : 0
-#define HAS_PIPES(dt) (dt == APR_POLL_FILE) ? 1 : 0
-#endif
-
 #if defined(HAVE_AIO_H) && defined(HAVE_AIO_MSGQ)
 #define _AIO_OS390	/* enable a bunch of z/OS aio.h definitions */
 #include <aio.h>	/* aiocb	*/

Modified: apr/apr/trunk/memory/unix/apr_pools.c
==============================================================================
--- apr/apr/trunk/memory/unix/apr_pools.c	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/memory/unix/apr_pools.c	Thu May  7 13:38:54 2026	(r1933909)
@@ -601,9 +601,6 @@ struct apr_pool_t {
     apr_thread_mutex_t   *mutex;
 #endif /* APR_HAS_THREADS */
 #endif /* APR_POOL_DEBUG */
-#ifdef NETWARE
-    apr_os_proc_t         owner_proc;
-#endif /* defined(NETWARE) */
     cleanup_t            *pre_cleanups;
 #if APR_POOL_CONCURRENCY_CHECK
 
@@ -1115,10 +1112,6 @@ APR_DECLARE(apr_status_t) apr_pool_creat
     pool->user_data = NULL;
     pool->tag = NULL;
 
-#ifdef NETWARE
-    pool->owner_proc = (apr_os_proc_t)getnlmhandle();
-#endif /* defined(NETWARE) */
-
     if ((pool->parent = parent) != NULL) {
         allocator_lock(parent->allocator);
 
@@ -1199,9 +1192,6 @@ APR_DECLARE(apr_status_t) apr_pool_creat
     pool->sibling = NULL;
     pool->ref = NULL;
 
-#ifdef NETWARE
-    pool->owner_proc = (apr_os_proc_t)getnlmhandle();
-#endif /* defined(NETWARE) */
     if (!allocator)
         pool_allocator->owner = pool;
 
@@ -2065,9 +2055,6 @@ APR_DECLARE(apr_status_t) apr_pool_creat
 #if APR_HAS_THREADS
     pool->owner = apr_os_thread_current();
 #endif /* APR_HAS_THREADS */
-#ifdef NETWARE
-    pool->owner_proc = (apr_os_proc_t)getnlmhandle();
-#endif /* defined(NETWARE) */
 
 #if APR_HAS_THREADS
     if (parent == NULL || parent->allocator != allocator) {
@@ -2145,9 +2132,6 @@ APR_DECLARE(apr_status_t) apr_pool_creat
 #if APR_HAS_THREADS
     pool->owner = apr_os_thread_current();
 #endif /* APR_HAS_THREADS */
-#ifdef NETWARE
-    pool->owner_proc = (apr_os_proc_t)getnlmhandle();
-#endif /* defined(NETWARE) */
 
     if ((pool_allocator = allocator) == NULL) {
         apr_status_t rv;
@@ -2356,25 +2340,6 @@ APR_DECLARE(void) apr_pool_lock(apr_pool
 
 #endif /* !APR_POOL_DEBUG */
 
-#ifdef NETWARE
-void netware_pool_proc_cleanup ()
-{
-    apr_pool_t *pool = global_pool->child;
-    apr_os_proc_t owner_proc = (apr_os_proc_t)getnlmhandle();
-
-    while (pool) {
-        if (pool->owner_proc == owner_proc) {
-            apr_pool_destroy (pool);
-            pool = global_pool->child;
-        }
-        else {
-            pool = pool->sibling;
-        }
-    }
-    return;
-}
-#endif /* defined(NETWARE) */
-
 
 /*
  * "Print" functions (common)
@@ -2408,13 +2373,6 @@ APR_DECLARE(apr_abortfunc_t) apr_pool_ab
 
 APR_DECLARE(apr_pool_t *) apr_pool_parent_get(apr_pool_t *pool)
 {
-#ifdef NETWARE
-    /* On NetWare, don't return the global_pool, return the application pool
-       as the top most pool */
-    if (pool->parent == global_pool)
-        return pool;
-    else
-#endif
     return pool->parent;
 }
 

Modified: apr/apr/trunk/misc/unix/errorcodes.c
==============================================================================
--- apr/apr/trunk/misc/unix/errorcodes.c	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/misc/unix/errorcodes.c	Thu May  7 13:38:54 2026	(r1933909)
@@ -297,7 +297,7 @@ static char *apr_os_strerror(char* buf,
   return stuffbuffer(buf, bufsize, result);
 }
 
-#elif defined(WIN32) || (defined(NETWARE) && defined(USE_WINSOCK))
+#elif defined(WIN32)
 
 static const struct {
     apr_status_t code;
@@ -360,7 +360,6 @@ static char *apr_os_strerror(char *buf,
 {
     apr_size_t len=0, i;
 
-#ifndef NETWARE
     len = FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM
                       | FORMAT_MESSAGE_IGNORE_INSERTS,
                         NULL,
@@ -369,7 +368,6 @@ static char *apr_os_strerror(char *buf,
                         buf,
                         (DWORD)bufsize,
                         NULL);
-#endif
 
     if (!len) {
         for (i = 0; gaErrorList[i].msg; ++i) {

Modified: apr/apr/trunk/network_io/unix/sockaddr.c
==============================================================================
--- apr/apr/trunk/network_io/unix/sockaddr.c	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/network_io/unix/sockaddr.c	Thu May  7 13:38:54 2026	(r1933909)
@@ -47,7 +47,7 @@ struct apr_ipsubnet_t {
 #endif
 };
 
-#if !defined(NETWARE) && !defined(WIN32)
+#if !defined(WIN32)
 #ifdef HAVE_SET_H_ERRNO
 #define SET_H_ERRNO(newval) set_h_errno(newval)
 #else

Modified: apr/apr/trunk/poll/unix/select.c
==============================================================================
--- apr/apr/trunk/poll/unix/select.c	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/poll/unix/select.c	Thu May  7 13:38:54 2026	(r1933909)
@@ -37,9 +37,6 @@ APR_DECLARE(apr_status_t) apr_poll(apr_p
     int rv, i;
     int maxfd = -1;
     struct timeval tv, *tvptr;
-#ifdef NETWARE
-    apr_datatype_e set_type = APR_NO_DESC;
-#endif
 
 #ifdef WIN32
     /* On Win32, select() must be presented with at least one socket to
@@ -75,27 +72,12 @@ APR_DECLARE(apr_status_t) apr_poll(apr_p
         aprset[i].rtnevents = 0;
 
         if (aprset[i].desc_type == APR_POLL_SOCKET) {
-#ifdef NETWARE
-            if (HAS_PIPES(set_type)) {
-                return APR_EBADF;
-            }
-            else {
-                set_type = APR_POLL_SOCKET;
-            }
-#endif
             fd = aprset[i].desc.s->socketdes;
         }
         else if (aprset[i].desc_type == APR_POLL_FILE) {
 #if !APR_FILES_AS_SOCKETS
             return APR_EBADF;
 #else
-#ifdef NETWARE
-            if (aprset[i].desc.f->is_pipe && !HAS_SOCKETS(set_type)) {
-                set_type = APR_POLL_FILE;
-            }
-            else
-                return APR_EBADF;
-#endif /* NETWARE */
 
             fd = aprset[i].desc.f->filedes;
 
@@ -104,7 +86,7 @@ APR_DECLARE(apr_status_t) apr_poll(apr_p
         else {
             break;
         }
-#if !defined(WIN32) && !defined(NETWARE)        /* socket sets handled with array of handles */
+#if !defined(WIN32)        /* socket sets handled with array of handles */
         if (fd >= FD_SETSIZE) {
             /* XXX invent new error code so application has a clue */
             return APR_EBADF;
@@ -125,18 +107,7 @@ APR_DECLARE(apr_status_t) apr_poll(apr_p
         }
     }
 
-#ifdef NETWARE
-    if (HAS_PIPES(set_type)) {
-        rv = pipe_select(maxfd + 1, &readset, &writeset, &exceptset, tvptr);
-    }
-    else {
-#endif
-
-        rv = select(maxfd + 1, &readset, &writeset, &exceptset, tvptr);
-
-#ifdef NETWARE
-    }
-#endif
+    rv = select(maxfd + 1, &readset, &writeset, &exceptset, tvptr);
 
     (*nsds) = rv;
     if ((*nsds) == 0) {
@@ -188,9 +159,6 @@ struct apr_pollset_private_t
     int maxfd;
     apr_pollfd_t *query_set;
     apr_pollfd_t *result_set;
-#ifdef NETWARE
-    int set_type;
-#endif
 };
 
 static apr_status_t impl_pollset_create(apr_pollset_t *pollset,
@@ -213,9 +181,6 @@ static apr_status_t impl_pollset_create(
     FD_ZERO(&(pollset->p->writeset));
     FD_ZERO(&(pollset->p->exceptset));
     pollset->p->maxfd = 0;
-#ifdef NETWARE
-    pollset->p->set_type = APR_NO_DESC;
-#endif
     pollset->p->query_set = apr_palloc(p, size * sizeof(apr_pollfd_t));
     pollset->p->result_set = apr_palloc(p, size * sizeof(apr_pollfd_t));
 
@@ -234,36 +199,16 @@ static apr_status_t impl_pollset_add(apr
     pollset->p->query_set[pollset->nelts] = *descriptor;
 
     if (descriptor->desc_type == APR_POLL_SOCKET) {
-#ifdef NETWARE
-        /* NetWare can't handle mixed descriptor types in select() */
-        if (HAS_PIPES(pollset->p->set_type)) {
-            return APR_EBADF;
-        }
-        else {
-            pollset->p->set_type = APR_POLL_SOCKET;
-        }
-#endif
         fd = descriptor->desc.s->socketdes;
     }
     else {
 #if !APR_FILES_AS_SOCKETS
         return APR_EBADF;
 #else
-#ifdef NETWARE
-        /* NetWare can't handle mixed descriptor types in select() */
-        if (descriptor->desc.f->is_pipe && !HAS_SOCKETS(pollset->p->set_type)) {
-            pollset->p->set_type = APR_POLL_FILE;
-            fd = descriptor->desc.f->filedes;
-        }
-        else {
-            return APR_EBADF;
-        }
-#else
         fd = descriptor->desc.f->filedes;
 #endif
-#endif
     }
-#if !defined(WIN32) && !defined(NETWARE)        /* socket sets handled with array of handles */
+#if !defined(WIN32)         /* socket sets handled with array of handles */
     if (fd >= FD_SETSIZE) {
         /* XXX invent new error code so application has a clue */
         return APR_EBADF;
@@ -371,15 +316,8 @@ static apr_status_t impl_pollset_poll(ap
     memcpy(&writeset, &(pollset->p->writeset), sizeof(fd_set));
     memcpy(&exceptset, &(pollset->p->exceptset), sizeof(fd_set));
 
-#ifdef NETWARE
-    if (HAS_PIPES(pollset->p->set_type)) {
-        rs = pipe_select(pollset->p->maxfd + 1, &readset, &writeset, &exceptset,
-                         tvptr);
-    }
-    else
-#endif
-        rs = select(pollset->p->maxfd + 1, &readset, &writeset, &exceptset,
-                    tvptr);
+    rs = select(pollset->p->maxfd + 1, &readset, &writeset, &exceptset,
+                tvptr);
 
     if (rs < 0) {
         return apr_get_netos_error();

Modified: apr/apr/trunk/test/testdso.c
==============================================================================
--- apr/apr/trunk/test/testdso.c	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/test/testdso.c	Thu May  7 13:38:54 2026	(r1933909)
@@ -29,9 +29,7 @@
 
 #if APR_HAS_DSO
 
-#ifdef NETWARE
-# define MOD_NAME "mod_test.nlm"
-#elif defined(BEOS) || defined(__MVS__)
+#if defined(BEOS) || defined(__MVS__)
 # define MOD_NAME "mod_test.so"
 #elif defined(WIN32)
 # define MOD_NAME TESTBINPATH "mod_test.dll"

Modified: apr/apr/trunk/test/testmmap.c
==============================================================================
--- apr/apr/trunk/test/testmmap.c	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/test/testmmap.c	Thu May  7 13:38:54 2026	(r1933909)
@@ -59,13 +59,11 @@ static void create_filename(abts_case *t
     char *oldfileptr;
 
     apr_filepath_get(&file1, 0, ptest);
-#ifndef NETWARE
 #ifdef WIN32
     ABTS_TRUE(tc, file1[1] == ':');
 #else
     ABTS_TRUE(tc, file1[0] == '/');
 #endif
-#endif
     ABTS_TRUE(tc, file1[strlen(file1) - 1] != '/');
 
     oldfileptr = file1;

Modified: apr/apr/trunk/test/testnames.c
==============================================================================
--- apr/apr/trunk/test/testnames.c	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/test/testnames.c	Thu May  7 13:38:54 2026	(r1933909)
@@ -29,8 +29,6 @@
 
 #if defined(WIN32) || defined(OS2)
 #define ABS_ROOT "C:/"
-#elif defined(NETWARE)
-#define ABS_ROOT "SYS:/"
 #else
 #define ABS_ROOT "/"
 #endif
@@ -302,7 +300,7 @@ static void root_from_cwd_and_back(abts_
     const char *path = "//";
     char *origpath;
     char *testpath;
-#if defined(WIN32) || defined(OS2) || defined(NETWARE)
+#if defined(WIN32) || defined(OS2)
     int hadfailed;
 #endif
 
@@ -320,18 +318,6 @@ static void root_from_cwd_and_back(abts_
     ABTS_INT_EQUAL(tc, '/', root[2]);
     ABTS_INT_EQUAL(tc, 0, root[3]);
     ABTS_STR_EQUAL(tc, origpath + 3, path);
-#elif defined(NETWARE)
-    ABTS_INT_EQUAL(tc, origpath[0], root[0]);
-    {
-    char *pt = strchr(root, ':');
-    ABTS_PTR_NOTNULL(tc, pt);
-    ABTS_INT_EQUAL(tc, ':', pt[0]);
-    ABTS_INT_EQUAL(tc, '/', pt[1]);
-    ABTS_INT_EQUAL(tc, 0, pt[2]);
-    pt = strchr(origpath, ':');
-    ABTS_PTR_NOTNULL(tc, pt);
-    ABTS_STR_EQUAL(tc, (pt+2), path);
-    }
 #else
     ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
     ABTS_STR_EQUAL(tc, "/", root);
@@ -343,7 +329,7 @@ static void root_from_cwd_and_back(abts_
                           | APR_FILEPATH_NOTABOVEROOT
                           | APR_FILEPATH_NOTRELATIVE, p);
     ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
-#if defined(WIN32) || defined(OS2) || defined(NETWARE)
+#if defined(WIN32) || defined(OS2)
     hadfailed = tc->failed;
 #endif
     /* The API doesn't promise equality!!!
@@ -352,7 +338,7 @@ static void root_from_cwd_and_back(abts_
      * but translate this back to success.
      */
     ABTS_STR_EQUAL(tc, origpath, testpath);
-#if defined(WIN32) || defined(OS2) || defined(NETWARE)
+#if defined(WIN32) || defined(OS2)
     if (!hadfailed) tc->failed = 0;
 #endif
 }

Modified: apr/apr/trunk/test/testpass.c
==============================================================================
--- apr/apr/trunk/test/testpass.c	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/test/testpass.c	Thu May  7 13:38:54 2026	(r1933909)
@@ -27,7 +27,7 @@
 #include "abts.h"
 #include "testutil.h"
 
-#if defined(WIN32) || defined(BEOS) || defined(NETWARE)
+#if defined(WIN32) || defined(BEOS)
 #define CRYPT_ALGO_SUPPORTED 0
 #else
 #define CRYPT_ALGO_SUPPORTED 1

Modified: apr/apr/trunk/test/testpath.c
==============================================================================
--- apr/apr/trunk/test/testpath.c	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/test/testpath.c	Thu May  7 13:38:54 2026	(r1933909)
@@ -20,7 +20,7 @@
 #include "apr_pools.h"
 #include "apr_tables.h"
 
-#if defined(WIN32) || defined(NETWARE) || defined(OS2)
+#if defined(WIN32) || defined(OS2)
 #define PSEP ";"
 #define DSEP "\\"
 #else

Modified: apr/apr/trunk/test/testutil.h
==============================================================================
--- apr/apr/trunk/test/testutil.h	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/test/testutil.h	Thu May  7 13:38:54 2026	(r1933909)
@@ -37,8 +37,6 @@
 
 #ifdef WIN32
 #define EXTENSION ".exe"
-#elif NETWARE
-#define EXTENSION ".nlm"
 #else
 #define EXTENSION
 #endif

Modified: apr/apr/trunk/time/unix/time.c
==============================================================================
--- apr/apr/trunk/time/unix/time.c	Thu May  7 13:16:53 2026	(r1933908)
+++ apr/apr/trunk/time/unix/time.c	Thu May  7 13:38:54 2026	(r1933909)
@@ -47,18 +47,8 @@ static apr_int32_t get_offset(struct tm
 #elif defined(HAVE_STRUCT_TM___TM_GMTOFF)
     return tm->__tm_gmtoff;
 #else
-#ifdef NETWARE
-    /* Need to adjust the global variable each time otherwise
-        the web server would have to be restarted when daylight
-        savings changes.
-    */
-    if (daylightOnOff) {
-        return server_gmt_offset + daylightOffset;
-    }
-#else
     if (tm->tm_isdst)
         return server_gmt_offset + 3600;
-#endif
     return server_gmt_offset;
 #endif
 }
@@ -240,8 +230,6 @@ APR_DECLARE(void) apr_sleep(apr_interval
     DosSleep((t + 999) / 1000);
 #elif defined(BEOS)
     snooze(t);
-#elif defined(NETWARE)
-    delay((t + 999) / 1000);
 #elif defined(HAVE_NANOSLEEP)
     struct timespec ts;
     ts.tv_sec = t / APR_USEC_PER_SEC;
@@ -294,13 +282,6 @@ APR_DECLARE(apr_status_t) apr_apr_time_t
 }
 #endif
 
-#ifdef NETWARE
-APR_DECLARE(void) apr_netware_setup_time(void)
-{
-    tzset();
-    server_gmt_offset = -TZONE;
-}
-#else
 APR_DECLARE(void) apr_unix_setup_time(void)
 {
 #ifdef NO_GMTOFF_IN_STRUCT_TM
@@ -346,7 +327,6 @@ APR_DECLARE(void) apr_unix_setup_time(vo
 #endif /* NO_GMTOFF_IN_STRUCT_TM */
 }
 
-#endif
 
 /* A noop on all known Unix implementations */
 APR_DECLARE(void) apr_time_clock_hires(apr_pool_t *p)