Ryan Bloom [Wed, 17 May 2000 23:30:21 +0000 (23:30 +0000)]
This commit will most likely break everybody on Windows. The .dsp
files I am checking in though will build a usable Apache on Windows.
This finishes at least the first round of the merge work to get the
common code into common files in APR.
Jeff Trawick [Wed, 17 May 2000 03:19:38 +0000 (03:19 +0000)]
include translation information in the request_rec;
finish converting ap_bsetflag(B_ASCII2EBCDIC or B_EBCDIC2ASCII) to
ap_bsetopt(BO_WXLATE or BO_RXLATE)
Cleanup ap_config.h fallout for Win32. Only a few very minor
changes to ap_config.h and util.c, but they might hurt someone...
please watch those two carefully.
Radical overhaul of the Apache-2.0/Win32 mpm <-> service schema.
1) Services and Registry are not part of the core Apache operations,
so registry.c and service.c are moved into Apache.exe - assuring
the service control layers of NT and 95 are truly isolated.
2) Isolation can't be complete, we need to know when the mpm is
fully initialized. A new pointer to a no-arg function returning
void is provided for this purpose, ap_mpm_init_complete. It is
only called if overridden with a non-NULL value prior to invoking
apache_main.
3) Control+C, Control+Break are handled on both WinNT and Win9x.
4) The window close, logoff and shutdown events are handled on WinNT.
5) The beginnings of a Win95 service startup are provided, -k startservice
but this is horribly incomplete since Win95 will NOT report shutdown.
Ryan Bloom [Tue, 16 May 2000 22:16:51 +0000 (22:16 +0000)]
Fix a bug in the EXEC_ON_READ logic. When we build a sub_tree while
reading that is the first item in a container, we have to return that tree
and set the parent pointers correctly.
Submitted by: Jeff Trawick
Reviewed by: Ryan Bloom
Jeff Trawick [Tue, 16 May 2000 17:48:58 +0000 (17:48 +0000)]
Handle some OS/390-isms dealing with pthreads:
. the types of the parameters to pthread_attr_setdetachstate()
and pthread_detach()
. the fact that sigprocmask() must be use to set a thread's
signal mask
Greg Stein [Tue, 16 May 2000 02:57:00 +0000 (02:57 +0000)]
oops. somebody snuck different names for my_error, and I goofed a sizeof().
fixed some indents.
rename some 'stat' variables to 'status'
use ap_strerror() in load_file()
Jeff Trawick [Tue, 16 May 2000 01:59:07 +0000 (01:59 +0000)]
mod_include:
. APR-ize some EBCDIC logic that translates char-by-char
. use the buff option BO_WXLATE to store a translation handle
instead of the old logic to turn on the B_EBCDIC2ASCII flag
Ryan Bloom [Mon, 15 May 2000 21:41:56 +0000 (21:41 +0000)]
Make mod_so use ap_strerror instead of the old ap_os_dso_error. The
error codes for dso's will need to be added to strerror in order for
this to work fully.
Ryan Bloom [Mon, 15 May 2000 19:21:40 +0000 (19:21 +0000)]
Commit the EXEC_ON_READ changes. This allows modules to hook into the
config file read phase. Full details are in the CHANGES file blurb.
Examples to see how this should be used are provided for <IfModule>
<IfDefine> LoadModule, AddModule and ClearModuleList expect docs in the
next day or two.
Jeff Trawick [Mon, 15 May 2000 17:51:23 +0000 (17:51 +0000)]
util_ebcdic.h, util_ebcdic.c, http_core.c:
tweak ap_checkconv() for 2.0
buff.c:
fix typo in comment
util_md5.h:
change CHARSET_EBCDIC to APACHE_XLATE
util_script.c:
APR-ize some character set conversion (EBCDIC only)
Tony Finch [Fri, 12 May 2000 13:14:48 +0000 (13:14 +0000)]
Update to the media types as of 2000-05-12. I also added the non-clashing
filename extensions for the WAP types, as discussed in the "WAP/WML" thread
starting with Message-ID: <391696E0.4D0D6161@Golux.Com>
Obtained from: ftp://ftp.isi.edu/in-notes/iana/assignments/media-types
Bill Stoddard [Fri, 12 May 2000 00:43:43 +0000 (00:43 +0000)]
Win32: Some cleanup of winnt.c. Retry AcceptEx on failure in preparation for
socket reuse patch. Sometimes the recycled accept socket will not work; need
to handle this case by closing it and obtaining a new one.
Jeff Trawick [Thu, 11 May 2000 21:56:51 +0000 (21:56 +0000)]
src/build/build2.mk: build PCRE's configure script if needed (when you
run buildconf, for example)
src/Makefile.in : re-order libpcreposix.la and libpcre.la to make
OS/390's binder happy (now the libraries are listed
in order of dependencies)
Bill Stoddard [Thu, 11 May 2000 21:17:00 +0000 (21:17 +0000)]
Create new function, ap_lingering_close(), which will explicitly do a lingering close
if USE_SO_LINGER is not defined. Move responsibility for closing connections out
of http_connection.c and into the MPMs.
Tony Finch [Thu, 11 May 2000 20:25:46 +0000 (20:25 +0000)]
Add mod_example to the build system.
I also fixed a few bogosities in mod_example itself, mostly improved
ordering of the code; I also fixed the long-standing numbering mistake
for the order of the request processing stages, and added the hook
registering function to the module record.
Jeff Trawick [Thu, 11 May 2000 02:32:05 +0000 (02:32 +0000)]
EBCDIC: Update util_md5.c routines to use APR-ized ap_MD5*()
routines. As in 1.3, ap_md5digest() has a different function
signature when CHARSET_EBCDIC is defined :(
Jeff Trawick [Tue, 9 May 2000 19:29:57 +0000 (19:29 +0000)]
rfc1413.c fixes:
1) we were retrieving our local port before APR filled it in; wait a
little longer :)
(maybe APR needs to be a little smarter about when/if to call
getsockname()? it could call it when the info is first needed and
not do it at all if never needed)
2) when the server dropped the connection before sending a properly-
delimited response, we entered a hard loop; we weren't reacting to
EOF/FIN properly
pcre lives and dies on the _WIN32 define, rather than WIN32...
Adjusted os/win32/os.h to always declare _WIN32, and fixed up
some goodies. Win32 now serves pages.
Cleanup of Apache build with pcre in Win32.
Plus clean up ab and htdigest to conform to build
of other support executables.
Everything seems to be working again.
First crack at getting Apache to build with pcre in Win32.
Cleans up all the gen_ projects to strip off garbage files,
as well, and follows the same pattern for dftables.
Jeff Trawick [Sat, 6 May 2000 13:41:59 +0000 (13:41 +0000)]
serious bug fix:
htdigest didn't init the first parm to ap_open(), so ap_open()
segfaults thinking it was passed valid storage
build portability:
make most src/lib/apr/test/Makefile.in compatible with OS/390
make (no -o outfile after infile specified)
MD5 translation support:
when APR_HAS_XLATE, low-level routines allow translation handle
to be specified
when CHARSET_EBCDIC, password-specific routines always translate,
but client app must set handle before using
Ryan Bloom [Fri, 5 May 2000 23:17:54 +0000 (23:17 +0000)]
Replace hsregex with PCRE. The PCRE library is always used in 2.0,
regardless of what system we are on. Currently, we are using the POSIX
wrappers that PCRE provides.
Sascha Schumann [Thu, 4 May 2000 20:17:22 +0000 (20:17 +0000)]
Move the generating empty deps stuff into fastgen.sh. The .deps files
are only used by Makefiles which are created by fastgen.sh, so fastgen
is the natural place to create them.
The "portable dirname" regex has been changed to remove any number of
trailing slashes. Just in case. :)
Bill Stoddard [Wed, 3 May 2000 16:28:04 +0000 (16:28 +0000)]
Win32: Fix some bugs in the restart logic. This is still rather adhoc. A more rigorous solution
is to maintain a list of overlapped io structures in the child_main control thread
and use HasOverLappedIoCompleted() to manage the connections and pending io.
We must resort to maintaining a list of pending io (i.e. overlapped structures) should
we ever begin using AcceptEx to receive data. Why? We need to be able to detect when
a connection is received but no data is being sent over that connection. There is a
Win32 function (whose name I forget at the moment) to handle this. Why can't Win32
just timeout the connection using setopt??? It would make life so much easier if AcceptEx
just returned TIMEOUT in this condition rather than requiring the application to
explicitly poll the socket to see if data is available.
Final .dsp changes to produce the lightest weight builds
without precompiled headers or source browse files under
Win32. Enabling these is straightforward, if that's what
the user desires. Also correct minor errors, and reset
some project defaults to their current config.
Significantly shorten the Win32 build and shrink symbol tables
for precompiled headers and debugging by eliminating large chunks
of the windows.h declarations, especially the graphical user
interface declarations.
Also eliminates redundant inclusion of winsock and windows headers.
As the GUI sections can be included by adding the windows.h include
prior to any apr headers, these includes now imply something
completely different.
* Makefile header is now completely dynamic
* Absolute paths everywhere
(fixes Tru64 support)
* Get rid of LTLIBRARY_SHARED_NAME rule in library.mk
(fixes Irix support, untested)
* VPATH does not contain variables anymore
(fixes UnixWare support)
* Remove inclusion of program.mk in support/Makefile.in
(PROGRAM_NAME is empty => breaks Irix and others)
* Call REENTRANCY_FLAGS earlier, so that flags are passed to header checks
(might fix OpenBSD pthread.h-detection, untested)
Sorry I missed one. I -really- believe now that ap.h can now be safely swept
out to the attic, but I will leave for someone in unix to test and confirm.