1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-08 15:02:10 +03:00

remove TPF support

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@758936 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jeff Trawick
2009-03-27 00:05:18 +00:00
parent ee32468a33
commit cb8a82faed
22 changed files with 24 additions and 718 deletions

4
LAYOUT
View File

@@ -143,10 +143,6 @@ os/ .....................
netware/ ................
tpf/ ....................
samples/ ................
unix/ ...................
win32/ ..................

View File

@@ -134,14 +134,14 @@
cannot be combined with the <code>-c</code> option.</dd>
<dt><code>-m</code></dt>
<dd>Use MD5 encryption for passwords. On Windows, Netware and TPF, this is
<dd>Use MD5 encryption for passwords. On Windows and Netware, this is
the default.</dd>
<dt><code>-d</code></dt>
<dd>Use <code>crypt()</code> encryption for passwords. The default on all
platforms but Windows, Netware and TPF. Though possibly supported by
platforms but Windows and Netware. Though possibly supported by
<code>htdbm</code> on all platforms, it is not supported by the
<program>httpd</program> server on Windows, Netware and TPF.</dd>
<program>httpd</program> server on Windows and Netware.</dd>
<dt><code>-s</code></dt>
<dd>Use SHA encryption for passwords. Facilitates migration from/to Netscape
@@ -150,7 +150,7 @@
<dt><code>-p</code></dt>
<dd>Use plaintext passwords. Though <code>htdbm</code> will support
creation on all platforms, the <program>httpd</program> daemon will
only accept plain text passwords on Windows, Netware and TPF.</dd>
only accept plain text passwords on Windows and Netware.</dd>
<dt><code>-l</code></dt>
<dd>Print each of the usernames and comments from the database on

View File

@@ -103,14 +103,14 @@ distribution.</seealso>
one) is omitted. It cannot be combined with the <code>-c</code> option.</dd>
<dt><code>-m</code></dt>
<dd>Use MD5 encryption for passwords. On Windows, Netware and TPF, this is
<dd>Use MD5 encryption for passwords. On Windows and Netware, this is
the default.</dd>
<dt><code>-d</code></dt>
<dd>Use <code>crypt()</code> encryption for passwords. The default on all
platforms but Windows, Netware and TPF. Though possibly supported by
platforms but Windows and Netware. Though possibly supported by
<code>htpasswd</code> on all platforms, it is not supported by the
<program>httpd</program> server on Windows, Netware and TPF.</dd>
<program>httpd</program> server on Windows and Netware.</dd>
<dt><code>-s</code></dt>
<dd>Use SHA encryption for passwords. Facilitates migration from/to Netscape
@@ -119,7 +119,7 @@ distribution.</seealso>
<dt><code>-p</code></dt>
<dd>Use plaintext passwords. Though <code>htpasswd</code> will support
creation on all platforms, the <program>httpd</program> daemon will
only accept plain text passwords on Windows, Netware and TPF.</dd>
only accept plain text passwords on Windows and Netware.</dd>
<dt><code>-D</code></dt>
<dd>Delete user. If the username exists in the specified htpasswd file, it

View File

@@ -253,7 +253,7 @@
/* 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) || defined(TPF)
|| defined (UW) || defined(LYNXOS)
/* These systems don't do well with any lingering close code; I don't know
* why -- manoj */
#define NO_LINGCLOSE

View File

@@ -160,7 +160,7 @@ void ap_wait_or_timeout(apr_exit_why_e *status, int *exitcode, apr_proc_t *ret,
*/
int ap_process_child_status(apr_proc_t *pid, apr_exit_why_e why, int status);
#if defined(TCP_NODELAY) && !defined(MPE) && !defined(TPF)
#if defined(TCP_NODELAY) && !defined(MPE)
/**
* 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

View File

@@ -29,8 +29,6 @@ extern "C" {
#ifdef HAVE_SYS_TIMES_H
#include <sys/time.h>
#include <sys/times.h>
#elif defined(TPF)
#include <time.h>
#endif
#include "ap_config.h"

View File

@@ -107,9 +107,6 @@ static int set_group_privs(void)
else
name = ap_unixd_config.user_name;
#if !defined(TPF)
/* TPF doesn't support groups. */
/*
* Set the GID before initgroups(), since on some platforms
* setgid() is known to zap the group list.
@@ -129,7 +126,6 @@ static int set_group_privs(void)
"and Group %u", name, (unsigned)ap_unixd_config.group_id);
return -1;
}
#endif /* !defined(TPF) */
}
return 0;
}

View File

@@ -1323,14 +1323,12 @@ static int proxy_ftp_handler(request_rec *r, proxy_worker *worker,
return HTTP_INTERNAL_SERVER_ERROR;
}
#if !defined (TPF)
if (conf->recv_buffer_size > 0
&& (rv = apr_socket_opt_set(data_sock, APR_SO_RCVBUF,
conf->recv_buffer_size))) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
"proxy: FTP: apr_socket_opt_set(SO_RCVBUF): Failed to set ProxyReceiveBufferSize, using default");
}
#endif
rv = apr_socket_opt_set(data_sock, APR_TCP_NODELAY, 1);
if (rv != APR_SUCCESS && rv != APR_ENOTIMPL) {
@@ -1417,14 +1415,12 @@ static int proxy_ftp_handler(request_rec *r, proxy_worker *worker,
return HTTP_INTERNAL_SERVER_ERROR;
}
#if !defined (TPF)
if (conf->recv_buffer_size > 0
&& (rv = apr_socket_opt_set(data_sock, APR_SO_RCVBUF,
conf->recv_buffer_size))) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
"proxy: FTP: apr_socket_opt_set(SO_RCVBUF): Failed to set ProxyReceiveBufferSize, using default");
}
#endif
rv = apr_socket_opt_set(data_sock, APR_TCP_NODELAY, 1);
if (rv != APR_SUCCESS && rv != APR_ENOTIMPL) {

View File

@@ -1578,7 +1578,6 @@ PROXY_DECLARE(int) ap_proxy_connect_to_backend(apr_socket_t **newsock,
continue;
}
#if !defined(TPF)
if (conf->recv_buffer_size > 0 &&
(rv = apr_socket_opt_set(*newsock, APR_SO_RCVBUF,
conf->recv_buffer_size))) {
@@ -1586,7 +1585,6 @@ PROXY_DECLARE(int) ap_proxy_connect_to_backend(apr_socket_t **newsock,
"apr_socket_opt_set(SO_RCVBUF): Failed to set "
"ProxyReceiveBufferSize, using default");
}
#endif
rv = apr_socket_opt_set(*newsock, APR_TCP_NODELAY, 1);
if (rv != APR_SUCCESS && rv != APR_ENOTIMPL) {
@@ -2262,7 +2260,6 @@ PROXY_DECLARE(int) ap_proxy_connect_backend(const char *proxy_function,
}
conn->connection = NULL;
#if !defined(TPF)
if (worker->recv_buffer_size > 0 &&
(rv = apr_socket_opt_set(newsock, APR_SO_RCVBUF,
worker->recv_buffer_size))) {
@@ -2270,7 +2267,6 @@ PROXY_DECLARE(int) ap_proxy_connect_backend(const char *proxy_function,
"apr_socket_opt_set(SO_RCVBUF): Failed to set "
"ProxyReceiveBufferSize, using default");
}
#endif
rv = apr_socket_opt_set(newsock, APR_TCP_NODELAY, 1);
if (rv != APR_SUCCESS && rv != APR_ENOTIMPL) {

View File

@@ -1,7 +0,0 @@
#!/bin/sh
echo " Setting TPF/c89 environment variables"
export _C89_CCMODE=1
# replace the following with the location of your TPF include files
export _C89_INCDIRS="/u/tpf41/currentmaint/include /u/tpf41/currentmaint/include/oco"
export TPF=YES
echo "Done"

View File

@@ -1,179 +0,0 @@
/* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "ap_config.h"
#if APR_CHARSET_EBCDIC
#include "ebcdic.h"
/*
This code does basic character mapping for IBM's TPF operating system.
It is a modified version of <Martin.Kraemer@Mch.SNI.De>'s code for
the BS2000 (apache/src/os/bs2000/ebcdic.c).
*/
/*
Bijective EBCDIC (character set IBM-1047) to US-ASCII table:
This apr_table_t is bijective - there are no ambigous or duplicate characters.
*/
const unsigned char os_toascii_strictly[256] = {
0x00, 0x01, 0x02, 0x03, 0x85, 0x09, 0x86, 0x7f, /* 00-0f: */
0x87, 0x8d, 0x8e, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* ................ */
0x10, 0x11, 0x12, 0x13, 0x8f, 0x0a, 0x08, 0x97, /* 10-1f: */
0x18, 0x19, 0x9c, 0x9d, 0x1c, 0x1d, 0x1e, 0x1f, /* ................ */
0x80, 0x81, 0x82, 0x83, 0x84, 0x92, 0x17, 0x1b, /* 20-2f: */
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x05, 0x06, 0x07, /* ................ */
0x90, 0x91, 0x16, 0x93, 0x94, 0x95, 0x96, 0x04, /* 30-3f: */
0x98, 0x99, 0x9a, 0x9b, 0x14, 0x15, 0x9e, 0x1a, /* ................ */
0x20, 0xa0, 0xe2, 0xe4, 0xe0, 0xe1, 0xe3, 0xe5, /* 40-4f: */
0xe7, 0xf1, 0xa2, 0x2e, 0x3c, 0x28, 0x2b, 0x7c, /* ...........<(+| */
0x26, 0xe9, 0xea, 0xeb, 0xe8, 0xed, 0xee, 0xef, /* 50-5f: */
0xec, 0xdf, 0x21, 0x24, 0x2a, 0x29, 0x3b, 0x5e, /* &.........!$*);^ */
0x2d, 0x2f, 0xc2, 0xc4, 0xc0, 0xc1, 0xc3, 0xc5, /* 60-6f: */
0xc7, 0xd1, 0xa6, 0x2c, 0x25, 0x5f, 0x3e, 0x3f, /* -/.........,%_>? */
0xf8, 0xc9, 0xca, 0xcb, 0xc8, 0xcd, 0xce, 0xcf, /* 70-7f: */
0xcc, 0x60, 0x3a, 0x23, 0x40, 0x27, 0x3d, 0x22, /* .........`:#@'=" */
0xd8, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, /* 80-8f: */
0x68, 0x69, 0xab, 0xbb, 0xf0, 0xfd, 0xfe, 0xb1, /* .abcdefghi...... */
0xb0, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, /* 90-9f: */
0x71, 0x72, 0xaa, 0xba, 0xe6, 0xb8, 0xc6, 0xa4, /* .jklmnopqr...... */
0xb5, 0x7e, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, /* a0-af: */
0x79, 0x7a, 0xa1, 0xbf, 0xd0, 0x5b, 0xde, 0xae, /* .~stuvwxyz...[.. */
0xac, 0xa3, 0xa5, 0xb7, 0xa9, 0xa7, 0xb6, 0xbc, /* b0-bf: */
0xbd, 0xbe, 0xdd, 0xa8, 0xaf, 0x5d, 0xb4, 0xd7, /* .............].. */
0x7b, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, /* c0-cf: */
0x48, 0x49, 0xad, 0xf4, 0xf6, 0xf2, 0xf3, 0xf5, /* {ABCDEFGHI...... */
0x7d, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, /* d0-df: */
0x51, 0x52, 0xb9, 0xfb, 0xfc, 0xf9, 0xfa, 0xff, /* }JKLMNOPQR...... */
0x5c, 0xf7, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, /* e0-ef: */
0x59, 0x5a, 0xb2, 0xd4, 0xd6, 0xd2, 0xd3, 0xd5, /* \.STUVWXYZ...... */
0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, /* f0-ff: */
0x38, 0x39, 0xb3, 0xdb, 0xdc, 0xd9, 0xda, 0x9f /* 0123456789...... */
};
/*
Server EBCDIC (character set IBM-1047) to US-ASCII table:
This apr_table_t is a copy of the os_toascii_strictly bijective apr_table_t above.
The only change is that hex 0a (\012 octal) is mapped to hex 0a
(ASCII's line feed) instead of hex 8e. This is done because throughout
Apache, protocol string definitions hardcode the linefeed as \012 (octal):
"Content-Type: text/plain\015\012". Without this kludge all protocol
string definitions would need to be changed from ...\012 to ...\025.
*/
const unsigned char os_toascii[256] = {
0x00, 0x01, 0x02, 0x03, 0x85, 0x09, 0x86, 0x7f, /* 00-0f: */
0x87, 0x8d, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* ................ */
0x10, 0x11, 0x12, 0x13, 0x8f, 0x0a, 0x08, 0x97, /* 10-1f: */
0x18, 0x19, 0x9c, 0x9d, 0x1c, 0x1d, 0x1e, 0x1f, /* ................ */
0x80, 0x81, 0x82, 0x83, 0x84, 0x92, 0x17, 0x1b, /* 20-2f: */
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x05, 0x06, 0x07, /* ................ */
0x90, 0x91, 0x16, 0x93, 0x94, 0x95, 0x96, 0x04, /* 30-3f: */
0x98, 0x99, 0x9a, 0x9b, 0x14, 0x15, 0x9e, 0x1a, /* ................ */
0x20, 0xa0, 0xe2, 0xe4, 0xe0, 0xe1, 0xe3, 0xe5, /* 40-4f: */
0xe7, 0xf1, 0xa2, 0x2e, 0x3c, 0x28, 0x2b, 0x7c, /* ...........<(+| */
0x26, 0xe9, 0xea, 0xeb, 0xe8, 0xed, 0xee, 0xef, /* 50-5f: */
0xec, 0xdf, 0x21, 0x24, 0x2a, 0x29, 0x3b, 0x5e, /* &.........!$*);^ */
0x2d, 0x2f, 0xc2, 0xc4, 0xc0, 0xc1, 0xc3, 0xc5, /* 60-6f: */
0xc7, 0xd1, 0xa6, 0x2c, 0x25, 0x5f, 0x3e, 0x3f, /* -/.........,%_>? */
0xf8, 0xc9, 0xca, 0xcb, 0xc8, 0xcd, 0xce, 0xcf, /* 70-7f: */
0xcc, 0x60, 0x3a, 0x23, 0x40, 0x27, 0x3d, 0x22, /* .........`:#@'=" */
0xd8, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, /* 80-8f: */
0x68, 0x69, 0xab, 0xbb, 0xf0, 0xfd, 0xfe, 0xb1, /* .abcdefghi...... */
0xb0, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, /* 90-9f: */
0x71, 0x72, 0xaa, 0xba, 0xe6, 0xb8, 0xc6, 0xa4, /* .jklmnopqr...... */
0xb5, 0x7e, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, /* a0-af: */
0x79, 0x7a, 0xa1, 0xbf, 0xd0, 0x5b, 0xde, 0xae, /* .~stuvwxyz...[.. */
0xac, 0xa3, 0xa5, 0xb7, 0xa9, 0xa7, 0xb6, 0xbc, /* b0-bf: */
0xbd, 0xbe, 0xdd, 0xa8, 0xaf, 0x5d, 0xb4, 0xd7, /* .............].. */
0x7b, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, /* c0-cf: */
0x48, 0x49, 0xad, 0xf4, 0xf6, 0xf2, 0xf3, 0xf5, /* {ABCDEFGHI...... */
0x7d, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, /* d0-df: */
0x51, 0x52, 0xb9, 0xfb, 0xfc, 0xf9, 0xfa, 0xff, /* }JKLMNOPQR...... */
0x5c, 0xf7, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, /* e0-ef: */
0x59, 0x5a, 0xb2, 0xd4, 0xd6, 0xd2, 0xd3, 0xd5, /* \.STUVWXYZ...... */
0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, /* f0-ff: */
0x38, 0x39, 0xb3, 0xdb, 0xdc, 0xd9, 0xda, 0x9f /* 0123456789...... */
};
/*
The US-ASCII to EBCDIC (character set IBM-1047) table:
This apr_table_t is bijective (no ambiguous or duplicate characters)
*/
const unsigned char os_toebcdic[256] = {
0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 00-0f: */
0x16, 0x05, 0x15, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* ................ */
0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 10-1f: */
0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* ................ */
0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 20-2f: */
0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* !"#$%&'()*+,-./ */
0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 30-3f: */
0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0123456789:;<=>? */
0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 40-4f: */
0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* @ABCDEFGHIJKLMNO */
0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 50-5f: */
0xe7, 0xe8, 0xe9, 0xad, 0xe0, 0xbd, 0x5f, 0x6d, /* PQRSTUVWXYZ[\]^_ */
0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 60-6f: */
0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* `abcdefghijklmno */
0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 70-7f: */
0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* pqrstuvwxyz{|}~. */
0x20, 0x21, 0x22, 0x23, 0x24, 0x04, 0x06, 0x08, /* 80-8f: */
0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x14, /* ................ */
0x30, 0x31, 0x25, 0x33, 0x34, 0x35, 0x36, 0x17, /* 90-9f: */
0x38, 0x39, 0x3a, 0x3b, 0x1a, 0x1b, 0x3e, 0xff, /* ................ */
0x41, 0xaa, 0x4a, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5, /* a0-af: */
0xbb, 0xb4, 0x9a, 0x8a, 0xb0, 0xca, 0xaf, 0xbc, /* ................ */
0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* b0-bf: */
0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* ................ */
0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* c0-cf: */
0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* ................ */
0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* d0-df: */
0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xba, 0xae, 0x59, /* ................ */
0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* e0-ef: */
0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* ................ */
0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* f0-ff: */
0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf /* ................ */
};
/* Translate a memory block from EBCDIC (host charset) to ASCII (net charset)
* dest and srce may be identical, or separate memory blocks, but
* should not overlap.
*/
void
ebcdic2ascii(void *dest, const void *srce, size_t count)
{
unsigned char *udest = dest;
const unsigned char *usrce = srce;
while (count-- != 0) {
*udest++ = os_toascii[*usrce++];
}
}
void
ebcdic2ascii_strictly(unsigned char *dest, const unsigned char *srce, size_t count)
{
while (count-- != 0) {
*dest++ = os_toascii_strictly[*srce++];
}
}
void
ascii2ebcdic(void *dest, const void *srce, size_t count)
{
unsigned char *udest = dest;
const unsigned char *usrce = srce;
while (count-- != 0) {
*udest++ = os_toebcdic[*usrce++];
}
}
#endif /*APR_CHARSET_EBCDIC*/

View File

@@ -1,32 +0,0 @@
/* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* @file tpf/ebcdic.h
* @brief EBCDIC/ASCII converson function declarations
*
* @addtogroup APACHE_OS_TPF
* @{
*/
#include <sys/types.h>
extern const unsigned char os_toascii[256];
extern const unsigned char os_toebcdic[256];
void ebcdic2ascii(void *dest, const void *srce, size_t count);
void ebcdic2ascii_strictly(unsigned char *dest, const unsigned char *srce, size_t count);
void ascii2ebcdic(void *dest, const void *srce, size_t count);
/** @} */

View File

@@ -1,132 +0,0 @@
/* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* This file will include OS specific functions which are not inlineable.
* Any inlineable functions should be defined in os-inline.c instead.
*/
#include "httpd.h"
#include "http_core.h"
#include "os.h"
#include "scoreboard.h"
#include "http_log.h"
static FILE *sock_fp;
#ifndef __PIPE_
int pipe(int fildes[2])
{
errno = ENOSYS;
return(-1);
}
#endif
/* fork and exec functions are not defined on
TPF due to the implementation of tpf_fork() */
pid_t fork(void)
{
errno = ENOSYS;
return(-1);
}
int execl(const char *path, const char *arg0, ...)
{
errno = ENOSYS;
return(-1);
}
int execle(const char *path, const char *arg0, ...)
{
errno = ENOSYS;
return(-1);
}
int execve(const char *path, char *const argv[], char *const envp[])
{
errno = ENOSYS;
return(-1);
}
int execvp(const char *file, char *const argv[])
{
errno = ENOSYS;
return(-1);
}
pid_t os_fork(server_rec *s, int slot)
{
struct tpf_fork_input fork_input;
APACHE_TPF_INPUT input_parms;
int count;
listen_rec *lr;
fflush(stdin);
if (dup2(fileno(sock_fp), STDIN_FILENO) == -1)
ap_log_error(APLOG_MARK, APLOG_CRIT, errno, s,
"unable to replace stdin with sock device driver");
fflush(stdout);
if (dup2(fileno(sock_fp), STDOUT_FILENO) == -1)
ap_log_error(APLOG_MARK, APLOG_CRIT, errno, s,
"unable to replace stdout with sock device driver");
input_parms.generation = ap_my_generation;
input_parms.scoreboard_heap = ap_scoreboard_image;
lr = ap_listeners;
count = 0;
do {
input_parms.listeners[count] = lr->fd;
lr = lr->next;
count++;
} while(lr != ap_listeners);
input_parms.slot = slot;
input_parms.restart_time = ap_restart_time;
fork_input.ebw_data = &input_parms;
fork_input.program = ap_server_argv0;
fork_input.prog_type = TPF_FORK_NAME;
fork_input.istream = TPF_FORK_IS_BALANCE;
fork_input.ebw_data_length = sizeof(input_parms);
fork_input.parm_data = "-x";
return tpf_fork(&fork_input);
}
int os_check_server(char *server) {
#ifndef USE_TPF_DAEMON
int rv;
int *current_acn;
if((rv = inetd_getServerStatus(server)) == INETD_SERVER_STATUS_INACTIVE)
return 1;
else {
current_acn = (int *)cinfc_fast(CINFC_CMMACNUM);
if(ecbp2()->ce2acn != *current_acn)
return 1;
}
#endif
return 0;
}
AP_DECLARE(apr_status_t) ap_os_create_privileged_process(
const request_rec *r,
apr_proc_t *newproc, const char *progname,
const char * const *args,
const char * const *env,
apr_procattr_t *attr, apr_pool_t *p)
{
return apr_proc_create(newproc, progname, args, env, attr, p);
}

View File

@@ -1,93 +0,0 @@
/* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* @file tpf/os.h
* @brief This file in included in all Apache source code. It contains definitions
* of facilities available on _this_ operating system (HAVE_* macros),
* and prototypes of OS specific functions defined in os.c or os-inline.c
*
* @defgroup APACHE_OS_TPF tpf
* @ingroup APACHE_OS
* @{
*/
#ifndef APACHE_OS_H
#define APACHE_OS_H
#define PLATFORM "TPF"
#ifdef errno
#undef errno
#endif
#include "apr.h"
#include "ap_config.h"
#include <strings.h>
#ifndef __strings_h
#define FD_SETSIZE 2048
typedef long fd_mask;
#define NBBY 8 /* number of bits in a byte */
#define NFDBITS (sizeof(fd_mask) * NBBY)
#define howmany(x, y) (((x)+((y)-1))/(y))
typedef struct fd_set {
fd_mask fds_bits [howmany(FD_SETSIZE, NFDBITS)];
} fd_set;
#define FD_CLR(n, p)((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
#define FD_ISSET(n, p)((p)->fds_bits[(n)/NFDBITS] & (1 <<((n) % NFDBITS)))
#define FD_ZERO(p) memset((char *)(p), 0, sizeof(*(p)))
#endif
#ifdef FD_SET
#undef FD_SET
#define FD_SET(n, p) (0)
#endif
#include <i$netd.h>
struct apache_input {
INETD_SERVER_INPUT inetd_server;
void *scoreboard_heap; /* scoreboard system heap address */
int scoreboard_fd; /* scoreboard file descriptor */
int slot; /* child number */
int generation; /* server generation number */
int listeners[10];
time_t restart_time;
};
typedef struct apache_input APACHE_TPF_INPUT;
extern int tpf_child;
struct server_rec;
pid_t os_fork(struct server_rec *s, int slot);
int os_check_server(char *server);
extern char *ap_server_argv0;
extern int scoreboard_fd;
#include <signal.h>
#ifndef SIGPIPE
#define SIGPIPE 14
#endif
#ifdef NSIG
#undef NSIG
#endif
#endif /*! APACHE_OS_H*/
/** @} */

View File

@@ -1,121 +0,0 @@
//APACH JOB MSGLEVEL=(1,1),CLASS=A,MSGCLASS=A
/*ROUTE PRINT XXXXXX.XXXXXX
/*ROUTE PUNCH XXXXXX.XXXXXX
/*NOTIFY XXXXXX.XXXXXX
//CCLE JCLLIB ORDER=(SYS1.CBC.SCBCPRC,SYS1.CEE.SCEEPROC)
//PRELINK EXEC EDCPL,COND.LKED=(0,NE),
// PPARM='OMVS,DLLNAME(pppp)',
// LREGSIZ='2048K',
// LPARM='AMODE=31,RMODE=ANY,LIST,XREF'
//PLKED.SYSLIB DD DISP=SHR,DSN=FSE0000.DEVP.STUB.OB
// DD DISP=SHR,DSN=FSE0000.DEVP.CLIB.OB
// DD DISP=SHR,DSN=ACP.CLIB.RLSE46.WEB
// DD DISP=SHR,DSN=ACP.STUB.RLSE46.WEB
// DD DISP=SHR,DSN=ACP.CLIB.RLSE40
// DD DISP=SHR,DSN=ACP.STUB.RLSE40
//PLKED.SYSDEFSD DD DSN=APA0000.DEVP.IMPORTS.DSD(ppppvv),DISP=SHR
//PLKED.DSD DD DSN=APA0000.DEVP.IMPORTS.DSD,DISP=SHR
//PLKED.OBJLIB DD DISP=SHR,DSN=FSE0000.DEVP.TEST.OB
// DD DISP=SHR,DSN=ACP.OBJ.RLSE46.WEB
// DD DISP=SHR,DSN=ACP.OBJ.INTG98.NBS
// DD DISP=SHR,DSN=ACP.MAIN.SYST.OBBSS
// DD DISP=SHR,DSN=ACP.DF.MAIN.SYST.OBBSS
// DD DISP=SHR,DSN=ACP.OBJ.RLSE40.BSS
//PLKED.OBJ1 DD PATH='/usr/local/apache/src/ap/ap_cpystrn.o'
//PLKED.OBJ2 DD PATH='/usr/local/apache/src/ap/ap_execve.o'
//PLKED.OBJ3 DD PATH='/usr/local/apache/src/ap/ap_signal.o'
//PLKED.OBJ4 DD PATH='/usr/local/apache/src/ap/ap_slack.o'
//PLKED.OBJ5 DD PATH='/usr/local/apache/src/ap/ap_snprintf.o'
//PLKED.OBJ6 DD PATH='/usr/local/apache/src/ap/ap_strings.o'
//PLKED.OBJ7 DD PATH='/usr/local/apache/src/os/tpf/ebcdic.o'
//PLKED.OBJ8 DD PATH='/usr/local/apache/src/os/tpf/os.o'
//PLKED.OBJ9 DD PATH='/usr/local/apache/src/os/tpf/os-inline.o'
//PLKED.OBJ10 DD PATH='/usr/local/apache/src/regex/regcomp.o'
//PLKED.OBJ11 DD PATH='/usr/local/apache/src/regex/regerror.o'
//PLKED.OBJ12 DD PATH='/usr/local/apache/src/regex/regexec.o'
//PLKED.OBJ13 DD PATH='/usr/local/apache/src/regex/regfree.o'
//PLKED.OBJ14 DD PATH='/usr/local/apache/src/main/alloc.o'
//PLKED.OBJ15 DD PATH='/usr/local/apache/src/main/buff.o'
//PLKED.OBJ16 DD PATH='/usr/local/apache/src/main/fnmatch.o'
//PLKED.OBJ17 DD PATH='/usr/local/apache/src/main/http_config.o'
//PLKED.OBJ18 DD PATH='/usr/local/apache/src/main/http_core.o'
//PLKED.OBJ19 DD PATH='/usr/local/apache/src/main/http_log.o'
//PLKED.OBJ20 DD PATH='/usr/local/apache/src/main/http_main.o'
//PLKED.OBJ21 DD PATH='/usr/local/apache/src/main/http_protocol.o'
//PLKED.OBJ22 DD PATH='/usr/local/apache/src/main/http_request.o'
//PLKED.OBJ23 DD PATH='/usr/local/apache/src/main/http_vhost.o'
//PLKED.OBJ24 DD PATH='/usr/local/apache/src/main/md5c.o'
//PLKED.OBJ25 DD PATH='/usr/local/apache/src/main/rfc1413.o'
//PLKED.OBJ26 DD PATH='/usr/local/apache/src/main/util.o'
//PLKED.OBJ27 DD PATH='/usr/local/apache/src/main/util_date.o'
//PLKED.OBJ28 DD PATH='/usr/local/apache/src/main/util_md5.o'
//PLKED.OBJ29 DD PATH='/usr/local/apache/src/main/util_script.o'
//PLKED.OBJ30 DD PATH='/usr/local/apache/src/main/util_uri.o'
//PLKED.OBJ31 DD PATH='/usr/local/apache/src/modules.o'
//PLKED.OBJ32 DD PATH='/usr/local/apache/src/buildmark.o'
//PLKED.OBJ33 DD PATH='/usr/local/apache/src/modules/standard/mod_auto\
// index.o'
//PLKED.OBJ34 DD PATH='/usr/local/apache/src/modules/standard/mod_dir.\
// o'
//PLKED.OBJ35 DD PATH='/usr/local/apache/src/modules/standard/mod_mime\
// .o'
//PLKED.OBJ36 DD PATH='/usr/local/apache/src/modules/standard/mod_sete\
// nvif.o'
//PLKED.OBJ37 DD PATH='/usr/local/apache/src/modules/standard/mod_alia\
// s.o'
//PLKED.OBJ38 DD PATH='/usr/local/apache/src/modules/standard/mod_acce\
// ss.o'
//PLKED.OBJ39 DD PATH='/usr/local/apache/src/modules/standard/mod_user\
// dir.o'
//PLKED.OBJ40 DD PATH='/usr/local/apache/src/modules/standard/mod_spel\
// ing.o'
//PLKED.OBJ41 DD PATH='/usr/local/apache/src/modules/standard/mod_nego\
// tiation.o'
//PLKED.SYSIN DD *
ORDER @@DLMHDR
INCLUDE OBJLIB(CSTRTD40)
INCLUDE OBJ1
INCLUDE OBJ2
INCLUDE OBJ3
INCLUDE OBJ4
INCLUDE OBJ5
INCLUDE OBJ6
INCLUDE OBJ7
INCLUDE OBJ8
INCLUDE OBJ9
INCLUDE OBJ10
INCLUDE OBJ11
INCLUDE OBJ12
INCLUDE OBJ13
INCLUDE OBJ14
INCLUDE OBJ15
INCLUDE OBJ16
INCLUDE OBJ17
INCLUDE OBJ18
INCLUDE OBJ19
INCLUDE OBJ20
INCLUDE OBJ21
INCLUDE OBJ22
INCLUDE OBJ23
INCLUDE OBJ24
INCLUDE OBJ25
INCLUDE OBJ26
INCLUDE OBJ27
INCLUDE OBJ28
INCLUDE OBJ29
INCLUDE OBJ30
INCLUDE OBJ31
INCLUDE OBJ32
INCLUDE OBJ33
INCLUDE OBJ34
INCLUDE OBJ35
INCLUDE OBJ36
INCLUDE OBJ37
INCLUDE OBJ38
INCLUDE OBJ39
INCLUDE OBJ40
INCLUDE OBJ41
/*
//*** WARNING *** NEVER change .LK to .OB in SYSLMOD!!!
//LKED.SYSLMOD DD DISP=OLD,DSN=xxxxxx.xxxx(ppppvv)
//

View File

@@ -1,58 +0,0 @@
//OLDRWEB JOB MSGLEVEL=1,CLASS=A,MSGCLASS=S
//JOBCAT DD DSN=ICFCAT.ESAWK2,DISP=SHR
/*ROUTE PRINT xxxxxx.xxxxxxx
/*ROUTE PUNCH xxxxxx.xxxxxxx
//TLDR EXEC PGM=TPFLDRCA,REGION=8M,
// PARM='OLDR,SYS=ACP,CLMSIZE=8000000'
//STEPLIB DD DSN=ACP.LINK.RLSE46.WEB,DISP=SHR
// DD DSN=ACP.LINK.RLSE40.BSS,DISP=SHR
// DD DSN=VIS0000.DEVP.TEST.LK,DISP=SHR
// DD DSN=SYS1.CEE.SCEERUN,DISP=SHR
//SALTB DD DSN=ACP.SALTBL.RLSE46.WEB,DISP=SHR
// DD DSN=ACP.SALTBL.INTG46.WEB,DISP=SHR
//OBJLIB DD DSN=FSE0000.DEVP.TEST.OB,DISP=SHR
// DD DSN=APA0000.DEVP.TEST.OB,DISP=SHR
// DD DSN=ACP.DRVE.TEST.OB,DISP=SHR
// DD DSN=ACP.OBJ.RLSE46.WEB,DISP=SHR
// DD DSN=ACP.OBJ.INTG36.DRV,DISP=SHR
// DD DSN=ACP.OBJ.INTG46.WEB,DISP=SHR
// DD DSN=ACP.OBJ.INTG40.BSS,DISP=SHR
//LOADMOD DD DSN=FSE0000.DEVP.TEST.LK,DISP=SHR
// DD DSN=APA0000.DEVP.TEST.LK,DISP=SHR
// DD DSN=CWEISS.LINK,DISP=SHR
// DD DSN=ACP.DRVE.TEST.LK,DISP=SHR
// DD DSN=ACP.LINK.RLSE46.WEB,DISP=SHR
// DD DSN=ACP.LINK.INTG98.NBS,DISP=SHR
// DD DSN=ACP.LINK.INTG46.WEB,DISP=SHR
// DD DSN=ACP.LINK.INTG36.DRV,DISP=SHR
// DD DSN=ACP.LINK.INTG40.BSS,DISP=SHR
//LOADSUM DD DSN=&&LOADSUM,DISP=(NEW,PASS),UNIT=SYSDA,
// LRECL=133,SPACE=(TRK,(10,10)),RECFM=FBA
//CPRTEMP DD UNIT=SYSDA,
// DSN=&&CPRTEMP,SPACE=(TRK,(100,20)),
// DCB=(RECFM=FB,BLKSIZE=4095,LRECL=4095),
// DISP=(NEW,DELETE)
//PROGTEMP DD UNIT=SYSDA,
// DSN=&&PRTEMP,SPACE=(TRK,(100,20)),
// DCB=(RECFM=FB,BLKSIZE=4095,LRECL=4095),
// DISP=(NEW,DELETE)
//OUTPUT DD DSN=&&VRDROUT,DISP=(NEW,PASS),UNIT=SYSDA,
// DCB=(RECFM=F,BLKSIZE=4095,LRECL=4095)
//SYSUDUMP DD DUMMY
//SYSABEND DD DUMMY
//SYSOUT DD SYSOUT=A
//SYSPRINT DD SYSOUT=A
//PRINTER DD SYSOUT=A
//CEEDUMP DD SYSOUT=A
//SYSIN DD *
SYSID=BSS
PATVERS=NONE
SALVERS=40
LOADER LOADSET lllllll
LOADER CALL PROG ppppvv
/*
//TRANSMIT EXEC PGM=IKJEFT01,
// PARM='TRANSMIT xxxxxx.xxxxxx DDNAME(SYSTSIN) NOLOG NONOTIFY SEQ'
//SYSTSIN DD UNIT=SYSDA,
// DSN=&&VRDROUT,DISP=(OLD,DELETE)
//SYSTSPRT DD DUMMY

View File

@@ -415,17 +415,6 @@ AP_DECLARE(apr_status_t) ap_unixd_accept(void **accepted, ap_listen_rec *lr,
return APR_EGENERAL;
#endif /*ENETDOWN*/
#ifdef TPF
case EINACT:
ap_log_error(APLOG_MARK, APLOG_EMERG, status, ap_server_conf,
"offload device inactive");
return APR_EGENERAL;
break;
default:
ap_log_error(APLOG_MARK, APLOG_ERR, 0, ap_server_conf,
"select/accept error (%d)", status);
return APR_EGENERAL;
#else
default:
#ifdef _OSD_POSIX /* Possibly on other platforms too */
/* If the socket has been closed in ap_close_listeners()
@@ -438,7 +427,6 @@ AP_DECLARE(apr_status_t) ap_unixd_accept(void **accepted, ap_listen_rec *lr,
ap_log_error(APLOG_MARK, APLOG_ERR, status, ap_server_conf,
"apr_socket_accept: (client socket)");
return APR_EGENERAL;
#endif
}
return status;
}

View File

@@ -554,20 +554,6 @@ static void log_error_core(const char *file, int line, int level,
logf = s->error_log;
}
#ifdef TPF
else if (tpf_child) {
/*
* If we are doing normal logging, don't log messages that are
* above the server log level unless it is a startup/shutdown notice
*/
if ((level_and_mask != APLOG_NOTICE)
&& (level_and_mask > s->loglevel)) {
return;
}
logf = stderr;
}
#endif /* TPF */
else {
/*
* If we are doing syslog logging, don't log messages that are
@@ -593,7 +579,6 @@ static void log_error_core(const char *file, int line, int level,
"[%s] ", priorities[level_and_mask].t_name);
}
#ifndef TPF
if (file && level_and_mask == APLOG_DEBUG) {
#if defined(_OSD_POSIX) || defined(WIN32) || defined(__MVS__)
char tmp[256];
@@ -629,7 +614,6 @@ static void log_error_core(const char *file, int line, int level,
len += apr_snprintf(errstr + len, MAX_STRING_LEN - len,
"%s(%d): ", file, line);
}
#endif /* TPF */
if (c) {
/* XXX: TODO: add a method of selecting whether logged client

View File

@@ -139,11 +139,6 @@ static int my_child_num;
#endif
static ap_generation_t volatile my_generation=0;
#ifdef TPF
int tpf_child = 0;
char tpf_server_name[INETD_SERVNAME_LENGTH+1];
#endif /* TPF */
static volatile int die_now = 0;
#ifdef GPROF
@@ -188,10 +183,6 @@ static void chdir_for_gprof(void)
#define chdir_for_gprof()
#endif
/* XXX - I don't know if TPF will ever use this module or not, so leave
* the ap_check_signals calls in but disable them - manoj */
#define ap_check_signals()
/* a clean exit from a child with proper cleanup */
static void clean_child_exit(int code) __attribute__ ((noreturn));
static void clean_child_exit(int code)
@@ -719,8 +710,6 @@ static int make_child(server_rec *s, int slot)
#ifdef _OSD_POSIX
/* BS2000 requires a "special" version of fork() before a setuid() call */
if ((pid = os_fork(ap_unixd_config.user_name)) == -1) {
#elif defined(TPF)
if ((pid = os_fork(s, slot)) == -1) {
#else
if ((pid = fork()) == -1) {
#endif
@@ -890,17 +879,7 @@ static void perform_idle_server_maintenance(apr_pool_t *p)
idle_count, total_non_dead);
}
for (i = 0; i < free_length; ++i) {
#ifdef TPF
if (make_child(ap_server_conf, free_slots[i]) == -1) {
if(free_length == 1) {
shutdown_pending = 1;
ap_log_error(APLOG_MARK, APLOG_EMERG, 0, ap_server_conf,
"No active child processes: shutting down");
}
}
#else
make_child(ap_server_conf, free_slots[i]);
#endif /* TPF */
}
/* the next time around we want to spawn twice as many if this
* wasn't good enough, but not if we've just done a graceful
@@ -1094,11 +1073,6 @@ static int prefork_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s)
}
perform_idle_server_maintenance(pconf);
#ifdef TPF
shutdown_pending = os_check_server(tpf_server_name);
ap_check_signals();
sleep(1);
#endif /*TPF */
}
} /* one_process */

View File

@@ -138,7 +138,7 @@ void ap_wait_or_timeout(apr_exit_why_e *status, int *exitcode, apr_proc_t *ret,
return;
}
#if defined(TCP_NODELAY) && !defined(MPE) && !defined(TPF)
#if defined(TCP_NODELAY) && !defined(MPE)
void ap_sock_disable_nagle(apr_socket_t *s)
{
/* The Nagle algorithm says that we should delay sending partial
@@ -198,7 +198,7 @@ AP_DECLARE(gid_t) ap_gname2id(const char *name)
#ifndef HAVE_INITGROUPS
int initgroups(const char *name, gid_t basegid)
{
#if defined(QNX) || defined(MPE) || defined(_OSD_POSIX) || defined(TPF) || defined(__TANDEM) || defined(WIN32) || defined(NETWARE)
#if defined(QNX) || defined(MPE) || defined(_OSD_POSIX) || defined(__TANDEM) || defined(WIN32) || defined(NETWARE)
/* QNX and MPE do not appear to support supplementary groups. */
return 0;
#else /* ndef QNX */

View File

@@ -69,7 +69,7 @@
#define ALG_APMD5 1
#define ALG_APSHA 2
#if (!(defined(WIN32) || defined(TPF) || defined(NETWARE)))
#if (!(defined(WIN32) || defined(NETWARE)))
#define ALG_CRYPT 3
#endif
@@ -311,12 +311,12 @@ static apr_status_t htdbm_make(htdbm_t *htdbm)
case ALG_PLAIN:
/* XXX this len limitation is not in sync with any HTTPd len. */
apr_cpystrn(cpw,htdbm->userpass,sizeof(cpw));
#if (!(defined(WIN32) || defined(TPF) || defined(NETWARE)))
#if (!(defined(WIN32) || defined(NETWARE)))
fprintf(stderr, "Warning: Plain text passwords aren't supported by the "
"server on this platform!\n");
#endif
break;
#if (!(defined(WIN32) || defined(TPF) || defined(NETWARE)))
#if (!(defined(WIN32) || defined(NETWARE)))
case ALG_CRYPT:
(void) srand((int) time((time_t *) NULL));
to64(&salt[0], rand(), 8);
@@ -347,7 +347,7 @@ static apr_status_t htdbm_valid_username(htdbm_t *htdbm)
static void htdbm_usage(void)
{
#if (!(defined(WIN32) || defined(TPF) || defined(NETWARE)))
#if (!(defined(WIN32) || defined(NETWARE)))
#define CRYPT_OPTION "d"
#else
#define CRYPT_OPTION ""
@@ -367,7 +367,7 @@ static void htdbm_usage(void)
fprintf(stderr, " -c Create a new database.\n");
fprintf(stderr, " -n Don't update database; display results on stdout.\n");
fprintf(stderr, " -m Force MD5 encryption of the password (default).\n");
#if (!(defined(WIN32) || defined(TPF) || defined(NETWARE)))
#if (!(defined(WIN32) || defined(NETWARE)))
fprintf(stderr, " -d Force CRYPT encryption of the password (now deprecated).\n");
#endif
fprintf(stderr, " -p Do not encrypt the password (plaintext).\n");
@@ -474,7 +474,7 @@ int main(int argc, const char * const argv[])
case 's':
h->alg = ALG_APSHA;
break;
#if (!(defined(WIN32) || defined(TPF) || defined(NETWARE)))
#if (!(defined(WIN32) || defined(NETWARE)))
case 'd':
h->alg = ALG_CRYPT;
break;

View File

@@ -201,7 +201,7 @@ static int mkrecord(char *user, char *record, apr_size_t rlen, char *passwd,
apr_cpystrn(cpw,pw,sizeof(cpw));
break;
#if (!(defined(WIN32) || defined(TPF) || defined(NETWARE)))
#if (!(defined(WIN32) || defined(NETWARE)))
case ALG_CRYPT:
default:
if (seed_rand()) {
@@ -243,12 +243,12 @@ static void usage(void)
apr_file_printf(errfile, " -n Don't update file; display results on "
"stdout." NL);
apr_file_printf(errfile, " -m Force MD5 encryption of the password"
#if defined(WIN32) || defined(TPF) || defined(NETWARE)
#if defined(WIN32) || defined(NETWARE)
" (default)"
#endif
"." NL);
apr_file_printf(errfile, " -d Force CRYPT encryption of the password"
#if (!(defined(WIN32) || defined(TPF) || defined(NETWARE)))
#if (!(defined(WIN32) || defined(NETWARE)))
" (default)"
#endif
"." NL);
@@ -258,7 +258,7 @@ static void usage(void)
"rather than prompting for it." NL);
apr_file_printf(errfile, " -D Delete the specified user." NL);
apr_file_printf(errfile,
"On Windows, NetWare and TPF systems the '-m' flag is used by "
"On Windows and NetWare systems the '-m' flag is used by "
"default." NL);
apr_file_printf(errfile,
"On all other systems, the '-p' flag will probably not work." NL);
@@ -463,14 +463,14 @@ int main(int argc, const char * const argv[])
check_args(pool, argc, argv, &alg, &mask, &user, &pwfilename, &password);
#if defined(WIN32) || defined(TPF) || defined(NETWARE)
#if defined(WIN32) || defined(NETWARE)
if (alg == ALG_CRYPT) {
alg = ALG_APMD5;
apr_file_printf(errfile, "Automatically using MD5 format." NL);
}
#endif
#if (!(defined(WIN32) || defined(TPF) || defined(NETWARE)))
#if (!(defined(WIN32) || defined(NETWARE)))
if (alg == ALG_PLAIN) {
apr_file_printf(errfile,"Warning: storing passwords as plain text "
"might just not work on this platform." NL);