semaphore API allows for a denial of service attack by any
CGIs running under the same uid as the webserver
(<em>i.e.</em>, all CGIs, unless you use something like
- <program>suexec</program> or <code>cgiwrapper</code>). For these
- reasons this method is not used on any architecture except
- IRIX (where the previous two are prohibitively expensive
- on most IRIX boxes).</p>
+ <program>suexec</program> or <code>cgiwrapper</code>).</p>
</dd>
<dt><code>AcceptMutex pthread</code></dt>
</section>
<section id="restrictions"><title>Restrictions</title>
- <p>On the Windows and MPE platforms, passwords encrypted with
+ <p>On the Windows platform, passwords encrypted with
<code>htdbm</code> are limited to no more than <code>255</code>
characters in length. Longer passwords will be truncated to 255
characters.</p>
</section>
<section id="restrictions"><title>Restrictions</title>
- <p>On the Windows and MPE platforms, passwords encrypted with
+ <p>On the Windows platform, passwords encrypted with
<code>htpasswd</code> are limited to no more than <code>255</code>
characters in length. Longer passwords will be truncated to 255
characters.</p>
#include "apache_noprobes.h"
#endif
-/* TODO - We need to put OS detection back to make all the following work */
-
-#if defined(SUNOS4) || defined(IRIX) || defined(NEXT) || defined(AUX3) \
- || defined (UW) || defined(LYNXOS)
-/* These systems don't do well with any lingering close code; I don't know
- * why -- manoj */
-#define NO_LINGCLOSE
-#endif
-
/* If APR has OTHER_CHILD logic, use reliable piped logs. */
#if APR_HAS_OTHER_CHILD
#define AP_HAVE_RELIABLE_PIPED_LOGS TRUE
*/
int ap_process_child_status(apr_proc_t *pid, apr_exit_why_e why, int status);
-#if defined(TCP_NODELAY) && !defined(MPE)
+#if defined(TCP_NODELAY)
/**
* Turn off the nagle algorithm for the specified socket. The nagle algorithm
* says that we should delay sending partial packets in the hopes of getting
}
}
-#ifdef MPE
- /* Only try to switch if we're running as MANAGER.SYS */
- if (geteuid() == 1 && ap_unixd_config.user_id > 1) {
- GETPRIVMODE();
- if (setuid(ap_unixd_config.user_id) == -1) {
- GETUSERMODE();
- rv = errno;
- ap_log_error(APLOG_MARK, APLOG_ALERT, errno, NULL,
- "setuid: unable to change to uid: %ld",
- (long) ap_unixd_config.user_id);
- return rv;
- }
- GETUSERMODE();
- }
-#else
/* Only try to switch if we're running as root */
if (!geteuid() && (
#ifdef _OSD_POSIX
return rv;
}
}
-#endif
#endif
return OK;
}
}
-#ifdef MPE
- /* Only try to switch if we're running as MANAGER.SYS */
- if (geteuid() == 1 && ap_unixd_config.user_id > 1) {
- GETPRIVMODE();
- if (setuid(ap_unixd_config.user_id) == -1) {
- GETUSERMODE();
- ap_log_error(APLOG_MARK, APLOG_ALERT, errno, NULL,
- "setuid: unable to change to uid: %ld",
- (long) ap_unixd_config.user_id);
- exit(1);
- }
- GETUSERMODE();
- }
-#else
/* Only try to switch if we're running as root */
if (!geteuid() && (
#ifdef _OSD_POSIX
" after software errors");
}
}
-#endif
#endif
return 0;
}
#include "apr_want.h"
#include "apr_strings.h"
-#ifdef NEXT
-#if (NX_CURRENT_COMPILER_RELEASE == 410)
-#ifdef m68k
-#define HZ 64
-#else
-#define HZ 100
-#endif
-#else
-#include <machine/param.h>
-#endif
-#endif /* NEXT */
-
#define STATUS_MAXLINE 64
#define KBYTE 1024
#define IMAP_DEFAULT_DEFAULT "nocontent"
#define IMAP_BASE_DEFAULT "map"
-#ifdef SUNOS4
-double strtod(); /* SunOS needed this */
-#endif
-
module AP_MODULE_DECLARE_DATA imagemap_module;
typedef struct {
#include "ap_mmn.h"
#include "apr_poll.h"
-#ifdef HAVE_BSTRING_H
-#include <bstring.h> /* for IRIX, FD_SET calls bzero() */
-#endif
#ifdef HAVE_TIME_H
#include <time.h>
#endif
*/
static const char *const aszSucc[] = {"core.c", NULL};
-#ifdef AUX3
- (void) set42sig();
-#endif
-
ap_hook_open_logs(prefork_open_logs, NULL, aszSucc, APR_HOOK_REALLY_FIRST);
/* we need to set the MPM state before other pre-config hooks use MPM query
* to retrieve it, so register as REALLY_FIRST
return;
}
-#if defined(TCP_NODELAY) && !defined(MPE)
+#if defined(TCP_NODELAY)
void ap_sock_disable_nagle(apr_socket_t *s)
{
/* The Nagle algorithm says that we should delay sending partial
#ifndef HAVE_INITGROUPS
int initgroups(const char *name, gid_t basegid)
{
-#if defined(QNX) || defined(MPE) || defined(_OSD_POSIX) || defined(__TANDEM) || defined(WIN32) || defined(NETWARE)
-/* QNX and MPE do not appear to support supplementary groups. */
+#if defined(_OSD_POSIX) || defined(WIN32) || defined(NETWARE)
return 0;
-#else /* ndef QNX */
+#else
gid_t groups[NGROUPS_MAX];
struct group *g;
int index = 0;
endgrent();
return setgroups(index, groups);
-#endif /* def QNX */
+#endif
}
#endif /* def NEED_INITGROUPS */
#include <grp.h>
#endif
-/*
- ***********************************************************************
- * There is no initgroups() in QNX, so I believe this is safe :-)
- * Use cc -osuexec -3 -O -mf -DQNX suexec.c to compile.
- *
- * May 17, 1997.
- * Igor N. Kovalenko -- infoh mail.wplus.net
- ***********************************************************************
- */
-
-#if defined(NEED_INITGROUPS)
-int initgroups(const char *name, gid_t basegid)
-{
- /* QNX and MPE do not appear to support supplementary groups. */
- return 0;
-}
-#endif
-
-#if defined(SUNOS4)
-extern char *sys_errlist[];
-#define strerror(x) sys_errlist[(x)]
-#endif
-
#if defined(PATH_MAX)
#define AP_MAXPATH PATH_MAX
#elif defined(MAXPATHLEN)