cvs commit: apache-devsite API-dict.html

1998-04-13 Thread coar
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

1998-04-13 Thread rse
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

1998-04-13 Thread ben
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

1998-04-13 Thread coar
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

1998-04-13 Thread coar
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

1998-04-13 Thread rse
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

1998-04-13 Thread rse
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

1998-04-13 Thread rse
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

1998-04-13 Thread rse
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

1998-04-13 Thread dgaudet
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

1998-04-13 Thread rse
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

1998-04-13 Thread jim
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:
   ==