cvs commit: apache-devsite API-dict.html
coar98/04/12 18:00:21 Modified:.API-dict.html Log: Checkpointing in some halfway-completed changes before the diff gets too big. One thing about doing this documenting: it's revealing lots of inconsistencies in the .h files.. Revision ChangesPath 1.10 +353 -441 apache-devsite/API-dict.html Index: API-dict.html === RCS file: /export/home/cvs/apache-devsite/API-dict.html,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- API-dict.html 1998/04/11 19:59:02 1.9 +++ API-dict.html 1998/04/13 01:00:19 1.10 @@ -30,6 +30,100 @@ Each definition that references an Apache structure type must make the reference into a link to the type's definition. + +API_EXPORT_NONSTD(int) ap_bprintf(BUFF *fb, const char *fmt,...) +API_EXPORT(char *) ap_canonical_filename(pool *p, const char *file); +API_EXPORT(char *) ap_cpystrn(char *, const char *, size_t); +API_EXPORT(mutex *) ap_create_mutex(char *name); +API_EXPORT(void) ap_destroy_mutex(mutex *mutex_id); +API_EXPORT(char *) ap_escape_path(pool *p, const char *path, int partial); +API_EXPORT(char *) ap_escape_quotes(pool *, const char *); +API_EXPORT(const char *) ap_get_server_built(void); +API_EXPORT(const char *) ap_get_server_version(void); +API_EXPORT(void) ap_log_error_old(const char *err, server_rec *s); +API_EXPORT(char *) ap_md5(pool *a, unsigned char *string); +API_EXPORT(char *) ap_md5contextTo64(pool *p, AP_MD5_CTX * context); +API_EXPORT(char *) ap_md5digest(pool *p, FILE *infile); +API_EXPORT(mutex *) ap_open_mutex(char *name); +API_EXPORT(int) ap_parse_hostinfo_components(pool *p, const char *hostinfo, uri_components *uptr); +API_EXPORT_NONSTD(char *) ap_psprintf(struct pool *, const char *fmt, ...) +API_EXPORT(char *) ap_pvsprintf(struct pool *, const char *fmt, va_list); + +API_EXPORT(time_t) ap_rationalize_mtime(request_rec *r, time_t mtime); +API_EXPORT(void) ap_register_cleanup(pool *p, void *data, +API_EXPORT(void) ap_register_other_child(int pid, +API_EXPORT(int) ap_release_mutex(mutex *mutex_id); +API_EXPORT(void) ap_remove_module(module *m); +API_EXPORT(array_header *) ap_requires (request_rec *); +API_EXPORT(void) ap_reset_timeout(request_rec *); +extern API_VAR_EXPORT time_t ap_restart_time; +API_EXPORT(int) ap_rflush(request_rec *r); +API_EXPORT(int) ap_rind(const char *, char); +API_EXPORT_NONSTD(int) ap_rprintf(request_rec *r, const char *fmt,...) +API_EXPORT(int) ap_rputc(int c, request_rec *r); +API_EXPORT(int) ap_rputs(const char *str, request_rec *r); +API_EXPORT(void) ap_run_cleanup(pool *p, void *data, void (*cleanup) (void *)); +API_EXPORT(int) ap_run_sub_req(request_rec *r); +API_EXPORT_NONSTD(int) ap_rvputs(request_rec *r,...); +API_EXPORT(int) ap_rwrite(const void *buf, int nbyte, request_rec *r); +API_EXPORT(int) ap_satisfies (request_rec *r); +API_EXPORT(int) ap_scan_script_header_err(request_rec *r, FILE *f, char *buffer); +API_EXPORT(int) ap_scan_script_header_err_buff(request_rec *r, BUFF *f, +API_EXPORT(long) ap_send_fb(BUFF *f, request_rec *r); +API_EXPORT(long) ap_send_fb_length(BUFF *f, request_rec *r, long length); +API_EXPORT(long) ap_send_fd(FILE *f, request_rec *r); +API_EXPORT(long) ap_send_fd_length(FILE *f, request_rec *r, long length); +API_EXPORT_NONSTD(int) ap_send_header_field(request_rec *r, const char *fieldname, +API_EXPORT(void) ap_send_http_header(request_rec *l); +API_EXPORT(size_t) ap_send_mmap(void *mm, request_rec *r, size_t offset, +API_EXPORT(void) ap_send_size(size_t size, request_rec *r); +extern API_VAR_EXPORT char ap_server_root[MAX_STRING_LEN]; +API_EXPORT(char *) ap_server_root_relative(pool *p, char *fname); +API_EXPORT(int) ap_set_byterange(request_rec *r); +API_EXPORT(int) ap_set_content_length(request_rec *r, long length); +API_EXPORT(void) ap_set_etag(request_rec *r); +API_EXPORT_NONSTD(const char *) ap_set_file_slot(cmd_parms *, char *, char *); +API_EXPORT_NONSTD(const char *) ap_set_flag_slot(cmd_parms *, char *, int); +API_EXPORT(int) ap_set_keepalive(request_rec *r); +API_EXPORT(void) ap_set_last_modified(request_rec *r); +API_EXPORT(void) ap_set_module_config(void *conf_vector, module *m, void *val); +API_EXPORT_NONSTD(const char *) ap_set_string_slot(cmd_parms *, char *, char *); +API_EXPORT_NONSTD(const char *) ap_set_string_slot_lower(cmd_parms *, char *, char *); +API_EXPORT(int) ap_setup_client_block(request_rec *r, int read_policy); +API_EXPORT(int) ap_should_client_block(request_rec *r); +API_EXPORT(int) ap_snprintf(char *, size_t, const char *, ...); +API_EXPORT(void) ap_soft_timeout(char *, request_rec *); +API_EXPORT(int) ap_some_auth_required(request_rec *r); +API_EXPORT(int) ap_spawn_child_err(pool *, int (*)(void *), void *, +API_
cvs commit: apache-1.3/src/include compat.h
rse 98/04/13 03:32:28 Modified:src/os/win32 os.h src/os/unix os.h os.c src/os/bs2000 os.h os.c src/modules/standard mod_so.c mod_cgi.c src/main http_core.c src/include compat.h Log: Manual DSO cleanup after renaming: - renamed remaining os_ stuff in os/unix/ and os/bs2000/ to ap_ variants - merged the ap_dso_ non-HPUX-specific #defines and the HPUX-specific functions - moved the FreeBSD-underscore hack from mod_so (where it was badly placed because it is a low-level stuff) to the dlsym() call in os/unix/os.c (where is is placed better because _there_ is the os-specific stuff) - some minor cleanups to os.h - additions to compat.h Revision ChangesPath 1.16 +5 -5 apache-1.3/src/os/win32/os.h Index: os.h === RCS file: /export/home/cvs/apache-1.3/src/os/win32/os.h,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- os.h 1998/04/11 12:01:06 1.15 +++ os.h 1998/04/13 10:32:23 1.16 @@ -101,8 +101,8 @@ /* Abstractions for dealing with shared object files (DLLs on Win32). * These are used by mod_so.c */ -#define os_dl_module_handle_type HINSTANCE -#define os_dl_load(l) LoadLibraryEx(l, NULL, LOAD_WITH_ALTERED_SEARCH_PATH) -#define os_dl_unload(l) FreeLibrary(l) -#define os_dl_sym(h,s) GetProcAddress(h,s) -#define os_dl_error() "" /* for now */ +#define ap_dso_handle_t HINSTANCE +#define ap_dso_load(l) LoadLibraryEx(l, NULL, LOAD_WITH_ALTERED_SEARCH_PATH) +#define ap_dso_unload(l) FreeLibrary(l) +#define ap_dso_sym(h,s) GetProcAddress(h,s) +#define ap_dso_error() "" /* for now */ 1.20 +26 -32apache-1.3/src/os/unix/os.h Index: os.h === RCS file: /export/home/cvs/apache-1.3/src/os/unix/os.h,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- os.h 1998/04/12 15:49:28 1.19 +++ os.h 1998/04/13 10:32:23 1.20 @@ -80,55 +80,49 @@ #endif /* - * Abstraction layer for dynamic loading of modules (mod_so.c) + * Abstraction layer for loading + * Apache modules under run-time via + * dynamic shared object (DSO) mechanism */ -#if defined(LINUX) || defined(__FreeBSD__) || defined(SOLARIS2) || \ -defined(__bsdi__) || defined(IRIX) || defined(SVR4) || defined(OSF1) -# define HAVE_DLFCN_H 1 +#if defined(HPUX) || defined(HPUX10) +#define HAVE_DL_H 1 #endif -#if defined(__FreeBSD__) -# define NEED_UNDERSCORE_SYM +#if defined(LINUX) || defined(__FreeBSD__) || defined(SOLARIS2) || \ +defined(__bsdi__) || defined(IRIX) || defined(SVR4) || defined(OSF1) +#define HAVE_DLFCN_H 1 #endif - /* OSes that don't support dlopen */ -#if defined(UW) || defined(ULTRIX) || defined(HPUX) || defined(HPUX10) -# define NO_DL +#ifdef HAVE_DL_H +#include #endif - /* Start of real module */ #ifdef HAVE_DLFCN_H -# include +#include #else -void * dlopen (const char * __filename, int __flag); -const char * dlerror (void); -void * dlsym (void *, const char *); -int dlclose (void *); +void *dlopen(const char *, int); +int dlclose(void *); +void *dlsym(void *, const char *); +const char *dlerror(void); #endif -#ifndef RTLD_NOW -/* - * probably on an older system that doesn't support RTLD_NOW or RTLD_LAZY. +/* probably on an older system that doesn't support RTLD_NOW or RTLD_LAZY. * The below define is a lie since we are really doing RTLD_LAZY since the * system doesn't support RTLD_NOW. */ -# define RTLD_NOW 1 +#ifndef RTLD_NOW +#define RTLD_NOW 1 #endif -#if defined(HPUX) || defined(HPUX10) -#include -#define os_dl_module_handle_type void * -void *os_dl_load(char *path); -void os_dl_unload(void *handle); -void *os_dl_sym(void *handle, char *symname); -char *os_dl_error(void); -#else -#define os_dl_module_handle_type void * -#define os_dl_load(l) dlopen(l, RTLD_NOW) -#define os_dl_unload(l) dlclose(l) -#define os_dl_sym(h,s) dlsym(h,s) -#define os_dl_error() dlerror() +#if defined(__FreeBSD__) +#define DLSYM_NEEDS_UNDERSCORE #endif + +#define ap_dso_handle_t void * +void * ap_dso_load(const char *); +voidap_dso_unload(void *); +void * ap_dso_sym(void *, const char *); +const char *ap_dso_error(void); #endif /* !APACHE_OS_H */ 1.8 +31 -15apache-1.3/src/os/unix/os.c Index: os.c === RCS file: /export/home/cvs/apache-1.3/src/os/unix/os.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- os.c 1998/04/12 15:49:28 1.7 +++ os.c 1
cvs commit: apache-1.3/htdocs/manual/mod mod_mime.html
ben 98/04/13 04:42:20 Modified:htdocs/manual/mod mod_mime.html Log: Fix grammar and layout error. Revision ChangesPath 1.20 +2 -2 apache-1.3/htdocs/manual/mod/mod_mime.html Index: mod_mime.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/mod_mime.html,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- mod_mime.html 1998/02/12 01:14:36 1.19 +++ mod_mime.html 1998/04/13 11:42:20 1.20 @@ -277,8 +277,8 @@ ForceType image/gif -Note that this will override any filename extensions that might -media type. +Note that this will override any filename extensions that might determine +the media type. SetHandler
cvs commit: apache-1.2/support dbmmanage dbmmanage.new htpasswd.1 httpd.8 httpd_monitor.c log_server_status suexec.c suexec.h
coar98/04/13 04:46:24 Modified:.LICENSE htdocs/manual LICENSE expand.pl src alloc.c alloc.h buff.c buff.h conf.h http_conf_globals.h http_config.c http_config.h http_core.c http_core.h http_log.c http_log.h http_main.c http_main.h http_protocol.c http_protocol.h http_request.c http_request.h httpd.h md5.h md5c.c mod_access.c mod_actions.c mod_alias.c mod_asis.c mod_auth.c mod_auth_anon.c mod_auth_db.c mod_auth_dbm.c mod_auth_msql.c mod_browser.c mod_cern_meta.c mod_cgi.c mod_digest.c mod_dir.c mod_dld.c mod_env.c mod_expires.c mod_headers.c mod_imap.c mod_include.c mod_info.c mod_log_agent.c mod_log_config.c mod_log_referer.c mod_mime.c mod_negotiation.c mod_rewrite.c mod_rewrite.h mod_status.c mod_userdir.c mod_usertrack.c rfc1413.c rfc1413.h scoreboard.h util.c util_date.c util_date.h util_md5.c util_md5.h util_script.c util_script.h util_snprintf.c src/modules/example Makefile mod_example.c src/modules/proxy Makefile mod_proxy.c mod_proxy.h proxy_cache.c proxy_connect.c proxy_ftp.c proxy_http.c proxy_util.c support dbmmanage dbmmanage.new htpasswd.1 httpd.8 httpd_monitor.c log_server_status suexec.c suexec.h Log: Reword the licence text surrounding the use of the name "Apache" in derived products. This will be in effect as of 1.2.7 and following. (It's already in place for 1.3 in development.) Revision ChangesPath 1.7 +8 -3 apache-1.2/LICENSE Index: LICENSE === RCS file: /export/home/cvs/apache-1.2/LICENSE,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- LICENSE 1997/01/01 18:32:07 1.6 +++ LICENSE 1998/04/13 11:45:35 1.7 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995-1997 The Apache Group. All rights reserved. + * Copyright (c) 1995-1998 The Apache Group. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -20,9 +20,14 @@ * * 4. The names "Apache Server" and "Apache Group" must not be used to *endorse or promote products derived from this software without - *prior written permission. + *prior written permission. For written permission, please contact + *[EMAIL PROTECTED] * - * 5. Redistributions of any form whatsoever must retain the following + * 5. Products derived from this software may not be called "Apache" + *nor may "Apache" appear in their names without prior written + *permission of the Apache Group. + * + * 6. Redistributions of any form whatsoever must retain the following *acknowledgment: *"This product includes software developed by the Apache Group *for use in the Apache HTTP server project (http://www.apache.org/)." 1.4 +8 -3 apache-1.2/htdocs/manual/LICENSE Index: LICENSE === RCS file: /export/home/cvs/apache-1.2/htdocs/manual/LICENSE,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- LICENSE 1997/01/01 18:32:13 1.3 +++ LICENSE 1998/04/13 11:45:36 1.4 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995-1997 The Apache Group. All rights reserved. + * Copyright (c) 1995-1998 The Apache Group. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -20,9 +20,14 @@ * * 4. The names "Apache Server" and "Apache Group" must not be used to *endorse or promote products derived from this software without - *prior written permission. + *prior written permission. For written permission, please contact + *[EMAIL PROTECTED] * - * 5. Redistributions of any form whatsoever must retain the following + * 5. Products derived from this software may not be called "Apache" + *nor may "Apache" appear in their names without prior written + *permission of the Apache Group. + * + * 6. Redistributions of any form whatsoever must retain the following *acknowledgment: *"This product includes software
cvs commit: apache-devsite API-dict.html
coar98/04/13 05:30:10 Modified:.API-dict.html Log: Another checkpoint, since it will be hours before I can get back to this and my edits are broad enough that they'll surely conflict with anything anyone else puts in meanwhile. Lots of prototype questions/issues piling up for later discussion.. Revision ChangesPath 1.11 +82 -148 apache-devsite/API-dict.html Index: API-dict.html === RCS file: /export/home/cvs/apache-devsite/API-dict.html,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- API-dict.html 1998/04/13 01:00:19 1.10 +++ API-dict.html 1998/04/13 12:30:10 1.11 @@ -33,10 +33,8 @@ API_EXPORT_NONSTD(int) ap_bprintf(BUFF *fb, const char *fmt,...) API_EXPORT(char *) ap_canonical_filename(pool *p, const char *file); -API_EXPORT(char *) ap_cpystrn(char *, const char *, size_t); API_EXPORT(mutex *) ap_create_mutex(char *name); API_EXPORT(void) ap_destroy_mutex(mutex *mutex_id); -API_EXPORT(char *) ap_escape_path(pool *p, const char *path, int partial); API_EXPORT(char *) ap_escape_quotes(pool *, const char *); API_EXPORT(const char *) ap_get_server_built(void); API_EXPORT(const char *) ap_get_server_version(void); @@ -48,82 +46,9 @@ API_EXPORT(int) ap_parse_hostinfo_components(pool *p, const char *hostinfo, uri_components *uptr); API_EXPORT_NONSTD(char *) ap_psprintf(struct pool *, const char *fmt, ...) API_EXPORT(char *) ap_pvsprintf(struct pool *, const char *fmt, va_list); - -API_EXPORT(time_t) ap_rationalize_mtime(request_rec *r, time_t mtime); -API_EXPORT(void) ap_register_cleanup(pool *p, void *data, -API_EXPORT(void) ap_register_other_child(int pid, API_EXPORT(int) ap_release_mutex(mutex *mutex_id); -API_EXPORT(void) ap_remove_module(module *m); -API_EXPORT(array_header *) ap_requires (request_rec *); -API_EXPORT(void) ap_reset_timeout(request_rec *); -extern API_VAR_EXPORT time_t ap_restart_time; -API_EXPORT(int) ap_rflush(request_rec *r); -API_EXPORT(int) ap_rind(const char *, char); -API_EXPORT_NONSTD(int) ap_rprintf(request_rec *r, const char *fmt,...) -API_EXPORT(int) ap_rputc(int c, request_rec *r); -API_EXPORT(int) ap_rputs(const char *str, request_rec *r); -API_EXPORT(void) ap_run_cleanup(pool *p, void *data, void (*cleanup) (void *)); -API_EXPORT(int) ap_run_sub_req(request_rec *r); -API_EXPORT_NONSTD(int) ap_rvputs(request_rec *r,...); -API_EXPORT(int) ap_rwrite(const void *buf, int nbyte, request_rec *r); -API_EXPORT(int) ap_satisfies (request_rec *r); -API_EXPORT(int) ap_scan_script_header_err(request_rec *r, FILE *f, char *buffer); -API_EXPORT(int) ap_scan_script_header_err_buff(request_rec *r, BUFF *f, -API_EXPORT(long) ap_send_fb(BUFF *f, request_rec *r); -API_EXPORT(long) ap_send_fb_length(BUFF *f, request_rec *r, long length); -API_EXPORT(long) ap_send_fd(FILE *f, request_rec *r); -API_EXPORT(long) ap_send_fd_length(FILE *f, request_rec *r, long length); -API_EXPORT_NONSTD(int) ap_send_header_field(request_rec *r, const char *fieldname, -API_EXPORT(void) ap_send_http_header(request_rec *l); -API_EXPORT(size_t) ap_send_mmap(void *mm, request_rec *r, size_t offset, -API_EXPORT(void) ap_send_size(size_t size, request_rec *r); -extern API_VAR_EXPORT char ap_server_root[MAX_STRING_LEN]; -API_EXPORT(char *) ap_server_root_relative(pool *p, char *fname); -API_EXPORT(int) ap_set_byterange(request_rec *r); -API_EXPORT(int) ap_set_content_length(request_rec *r, long length); -API_EXPORT(void) ap_set_etag(request_rec *r); -API_EXPORT_NONSTD(const char *) ap_set_file_slot(cmd_parms *, char *, char *); -API_EXPORT_NONSTD(const char *) ap_set_flag_slot(cmd_parms *, char *, int); -API_EXPORT(int) ap_set_keepalive(request_rec *r); -API_EXPORT(void) ap_set_last_modified(request_rec *r); -API_EXPORT(void) ap_set_module_config(void *conf_vector, module *m, void *val); -API_EXPORT_NONSTD(const char *) ap_set_string_slot(cmd_parms *, char *, char *); -API_EXPORT_NONSTD(const char *) ap_set_string_slot_lower(cmd_parms *, char *, char *); -API_EXPORT(int) ap_setup_client_block(request_rec *r, int read_policy); -API_EXPORT(int) ap_should_client_block(request_rec *r); API_EXPORT(int) ap_snprintf(char *, size_t, const char *, ...); -API_EXPORT(void) ap_soft_timeout(char *, request_rec *); -API_EXPORT(int) ap_some_auth_required(request_rec *r); -API_EXPORT(int) ap_spawn_child_err(pool *, int (*)(void *), void *, -API_EXPORT(int) ap_spawn_child_err_buff(pool *, int (*)(void *), void *, -API_EXPORT(const char *) ap_srm_command_loop(cmd_parms *parms, void *config); -API_EXPORT(void) ap_str_tolower(char *); -API_EXPORT(int) ap_strcasecmp_match(const char *str, const char *exp); -API_EXPORT(int) ap_strcmp_match(const char *str, const char *exp); -API_EXPORT
cvs commit: apache-1.3/src README.DSO
rse 98/04/13 08:40:18 Added: src README.DSO Log: Here it comes: My first cut for an overview README.DSO file describing the relevant aspects of dynamic shared object (DSO) support in Apache 1.3. My hope is that this information makes the DSO stuff more clear to those not very familiar with it. And I hope my written down information is correct... ;-) Revision ChangesPath 1.1 apache-1.3/src/README.DSO Index: README.DSO === Apache 1.3 Dynamic Shared Object (DSO) support == Ralf S. Engelschall, April 1998 Background -- On modern Unix derivates there exists a nifty mechanism usually named Dynamic Shared Object (DSO) which provides a way to build a piece of program code in a special format to be able to load it under run-time into the address space of an executable program. This loading can usually be done in two ways: Automatically by a system program named ld.so when the Unix loader has to start an executable program or manually from within the executing program via a pragmatic system interface to the Unix loader through the system calls dlopen()/dlsym(). In the first way the DSO's are usually called "shared libraries" or "DSO libraries" and named libfoo.so or libfoo.so.1.2. They stay inside a system directory (usually /usr/lib) and the link to the executable program is established under link-time by specifying -lfoo to the linker command. This hardcodes library references into the executable program file therewith under start-time the Unix loader is able to lookup libfoo.so from /usr/lib or from paths configured via the environment variable LD_LIBRARY_PATH. It then resolves any (still unresolved) symbols in the executable program which are defined and exported in the DSO. Symbols in the executable program are usually not used inside the DSO (because its a reuseable library of general code) and hence no resolving this way has to be done. The executable program has no to do anything to be able to use the symbols from the DSO because the complete resolving is done by the Unix loader. In the second way the DSO's are usually called "shared objects" or "DSO files" and can be arbitrarily named (although the canonical name is foo.so). These files usually stay inside a program-specific directory and there is no automatically established link to the executable program where they are used. Instead the executable program under run-time manually loads the DSO into his address space via dlopen(). At this time no resolving of symbols from the DSO for the executable program is done. But instead the Unix loader automatically resolves any (still unresolved) symbols in the DSO which are defined and exported in the executable program. This way the DSO gets knowledge of the executable program as it would have been statically linked to it under program link-time. Finally to make the DSO accessible to the executable program it resolves particular symbols from the DSO via dlsym() for later use inside dispatch tables, etc. In other words: The executable program has no to manually resolve anything to be able to use it. Although this DSO mechanism sounds straight foreward there is at least one difficult step here: The resolving of symbols from the executable program for the DSO when using a DSO to extend a program (the second way). Why? Because this resolving is against the library design (where the library has no knowledge of any program it is used for) and is neither available under all platforms nor standardized. In practice only global symbols from the executable program are available to the DSO which are explicitly marked as exported. And forcing this exportation of global symbols is the main problem one has to solve when using DSO for extending a program under run-time. Practical Usage --- The shared library approach is the typical one, because this is the way the DSO mechanism was designed for, hence it is used for mostly all types of libraries the operating system provides. On the other hand using shared objects for extending a program is not used by a lot of programs. As of 1998 there are only a few software package available which use the DSO mechanism to actually extend their functionality under run-time: Perl 5 (via it's XS mechanism and the DynaLoader module), GIMP, Netscape Server, etc. But Apache 1.3 now is also one of these, because Apache already uses a module concept to extend its functionality and really uses a dispatch-list-based approach to link these modules into the Apache core functionality. So, Apache is really predestinated for using DSO to load it's modules under run-time. The idea now is t
cvs commit: apache-1.3/src/os/win32 os.h util_win32.c
rse 98/04/13 11:05:21 Modified:src/include compat.h httpd.h src/main http_config.c http_core.c http_request.c util.c src/modules/standard mod_alias.c mod_autoindex.c mod_so.c mod_userdir.c src/os/bs2000 os-inline.c os.h src/os/emx os-inline.c os.h src/os/unix os-inline.c os.c os.h src/os/win32 os.h util_win32.c Log: Manually rename some symbols to again get the os-distinction which was lost in the big renaming procedure: ap_canonical_filename ap_os_canonical_filename ap_is_path_absolute ap_os_is_path_absolute ap_escape_path ap_os_escape_path ap_dso_handle_t ap_os_dso_handle_t ap_dso_error --> ap_os_dso_error ap_dso_sym ap_os_dso_sym ap_dso_unload ap_os_dso_unload ap_dso_load ap_os_dso_load Revision ChangesPath 1.3 +7 -7 apache-1.3/src/include/compat.h Index: compat.h === RCS file: /export/home/cvs/apache-1.3/src/include/compat.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- compat.h 1998/04/13 10:32:27 1.2 +++ compat.h 1998/04/13 18:05:09 1.3 @@ -208,9 +208,9 @@ #define open_logs ap_open_logs #define open_mutex ap_open_mutex #define open_piped_log ap_open_piped_log -#define os_canonical_filename ap_canonical_filename -#define os_escape_path ap_escape_path -#define os_is_path_absoluteap_is_path_absolute +#define os_canonical_filename ap_os_canonical_filename +#define os_escape_path ap_os_escape_path +#define os_is_path_absoluteap_os_is_path_absolute #define overlay_tables ap_overlay_tables #define palloc ap_palloc #define parseHTTPdate ap_parseHTTPdate @@ -389,9 +389,9 @@ #define util_uri_init ap_util_uri_init #define uudecode ap_uudecode #define vbprintf ap_vbprintf -#define os_dl_load ap_dso_load -#define os_dl_unload ap_dso_unload -#define os_dl_sym ap_dso_sym -#define os_dl_errorap_dso_error +#define os_dl_load ap_os_dso_load +#define os_dl_unload ap_os_dso_unload +#define os_dl_sym ap_os_dso_sym +#define os_dl_errorap_os_dso_error #endif /* APACHE_COMPAT_H */ 1.203 +4 -4 apache-1.3/src/include/httpd.h Index: httpd.h === RCS file: /export/home/cvs/apache-1.3/src/include/httpd.h,v retrieving revision 1.202 retrieving revision 1.203 diff -u -r1.202 -r1.203 --- httpd.h 1998/04/11 12:00:22 1.202 +++ httpd.h 1998/04/13 18:05:09 1.203 @@ -843,8 +843,8 @@ API_EXPORT(void) ap_no2slash(char *name); API_EXPORT(void) ap_getparents(char *name); API_EXPORT(char *) ap_escape_path_segment(pool *p, const char *s); -API_EXPORT(char *) ap_escape_path(pool *p, const char *path, int partial); -#define escape_uri(ppool,path) ap_escape_path(ppool,path,1) +API_EXPORT(char *) ap_os_escape_path(pool *p, const char *path, int partial); +#define escape_uri(ppool,path) ap_os_escape_path(ppool,path,1) API_EXPORT(char *) ap_escape_html(pool *p, const char *s); API_EXPORT(char *) ap_construct_server(pool *p, const char *hostname, unsigned port, const request_rec *r); @@ -913,9 +913,9 @@ API_EXPORT(void) ap_chdir_file(const char *file); #ifndef HAVE_CANONICAL_FILENAME -#define ap_canonical_filename(p,f) (f) +#define ap_os_canonical_filename(p,f) (f) #else -API_EXPORT(char *) ap_canonical_filename(pool *p, const char *file); +API_EXPORT(char *) ap_os_canonical_filename(pool *p, const char *file); #endif char *ap_get_local_host(pool *); 1.114 +2 -2 apache-1.3/src/main/http_config.c Index: http_config.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_config.c,v retrieving revision 1.113 retrieving revision 1.114 diff -u -r1.113 -r1.114 --- http_config.c 1998/04/11 12:00:28 1.113 +++ http_config.c 1998/04/13 18:05:10 1.114 @@ -983,7 +983,7 @@ so the server can be moved or mirrored with less pain. */ char *p; int offset = (int) (long) cmd->info; -if (ap_is_path_absolute(arg)) +if (ap_os_is_path_absolute(arg)) p = arg; else p = ap_make_full_path(cmd->pool, ap_server_root, arg); @@ -1001,7 +1001,
cvs commit: apache-1.3/src/include http_config.h
rse 98/04/13 11:11:52 Modified:src/include http_config.h Log: Bump up MODULE_MAGIC_NUMBER because of the BIG SYMBOL RENAMING. Thanks to Dean for hint. Revision ChangesPath 1.80 +1 -1 apache-1.3/src/include/http_config.h Index: http_config.h === RCS file: /export/home/cvs/apache-1.3/src/include/http_config.h,v retrieving revision 1.79 retrieving revision 1.80 diff -u -r1.79 -r1.80 --- http_config.h 1998/04/11 12:00:19 1.79 +++ http_config.h 1998/04/13 18:11:51 1.80 @@ -271,7 +271,7 @@ * handle it back-compatibly, or at least signal an error). */ -#define MODULE_MAGIC_NUMBER 19980324 +#define MODULE_MAGIC_NUMBER 19980413 #define STANDARD_MODULE_STUFF MODULE_MAGIC_NUMBER, -1, __FILE__, NULL, NULL /* Generic accessors for other modules to get at their own module-specific
cvs commit: apache-devsite mmn.txt
rse 98/04/13 11:14:51 Modified:.mmn.txt Log: Remember API change. Revision ChangesPath 1.18 +2 -0 apache-devsite/mmn.txt Index: mmn.txt === RCS file: /export/home/cvs/apache-devsite/mmn.txt,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- mmn.txt 1998/03/24 04:14:28 1.17 +++ mmn.txt 1998/04/13 18:14:51 1.18 @@ -49,3 +49,5 @@ tm2sec - spacetoplus(), plustospace(), client_to_stdout() removed 19980324 (1.3b6-dev) - API_EXPORT(index_of_response) +19980413 (1.3b6-dev) - The BIG SYMBOL RENAMING: general ap_ prefix + (see src/include/compat.h for more details)
cvs commit: apache-devsite mmn.txt
dgaudet 98/04/13 11:22:17 Modified:.mmn.txt Log: ap_vformatter Revision ChangesPath 1.19 +1 -0 apache-devsite/mmn.txt Index: mmn.txt === RCS file: /export/home/cvs/apache-devsite/mmn.txt,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- mmn.txt 1998/04/13 18:14:51 1.18 +++ mmn.txt 1998/04/13 18:22:16 1.19 @@ -51,3 +51,4 @@ 19980324 (1.3b6-dev) - API_EXPORT(index_of_response) 19980413 (1.3b6-dev) - The BIG SYMBOL RENAMING: general ap_ prefix (see src/include/compat.h for more details) + - ap_vformatter() API, see src/include/ap.h
cvs commit: apache-1.3 INSTALL
rse 98/04/13 11:35:35 Modified:.INSTALL Log: Because a lot of users directly start with a file named "INSTALL" make sure they find the examples in README.configure, too. Revision ChangesPath 1.6 +4 -0 apache-1.3/INSTALL Index: INSTALL === RCS file: /export/home/cvs/apache-1.3/INSTALL,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- INSTALL 1998/04/12 12:54:01 1.5 +++ INSTALL 1998/04/13 18:35:34 1.6 @@ -97,6 +97,10 @@ 3. Configuring the source tree --- + HINT: This is the reference which describes all configuration + possibilities. For real-life configuration examples please + read the file `README.configure', too. + The next step is to configure the Apache source tree for your particular system/platform and personal requirements. The most important setup here is the location prefix where Apache is to be installed later, because
cvs commit: apache-1.3/src PORTING
jim 98/04/13 11:45:52 Modified:src PORTING Log: minor fluff Revision ChangesPath 1.25 +2 -2 apache-1.3/src/PORTING Index: PORTING === RCS file: /export/home/cvs/apache-1.3/src/PORTING,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- PORTING 1998/04/03 13:38:34 1.24 +++ PORTING 1998/04/13 18:45:52 1.25 @@ -93,8 +93,8 @@ what, however, there are 2 source files that need to be updated for the port: - Configure - conf.h + ./Configure + ./include/conf.h Configure: ==