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:
4
LAYOUT
4
LAYOUT
@@ -143,10 +143,6 @@ os/ .....................
|
||||
|
||||
netware/ ................
|
||||
|
||||
tpf/ ....................
|
||||
|
||||
samples/ ................
|
||||
|
||||
unix/ ...................
|
||||
|
||||
win32/ ..................
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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"
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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) {
|
||||
|
@@ -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) {
|
||||
|
@@ -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"
|
179
os/tpf/ebcdic.c
179
os/tpf/ebcdic.c
@@ -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*/
|
||||
|
@@ -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);
|
||||
/** @} */
|
132
os/tpf/os.c
132
os/tpf/os.c
@@ -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);
|
||||
}
|
93
os/tpf/os.h
93
os/tpf/os.h
@@ -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*/
|
||||
/** @} */
|
@@ -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)
|
||||
//
|
@@ -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
|
@@ -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;
|
||||
}
|
||||
|
16
server/log.c
16
server/log.c
@@ -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
|
||||
|
@@ -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 */
|
||||
|
||||
|
@@ -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 */
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
|
Reference in New Issue
Block a user