rse         98/02/28 07:39:38

  Modified:    src      CHANGES Configuration.tmpl Configure Makefile.tmpl
                        buildmark.c
               src/include conf.h
               src/main fnmatch.c
               src/os/bs2000 ebcdic.c os-inline.c
               src/os/unix os-inline.c os.c
               src/os/emx os-inline.c
  Added:       src/include hide.h
               src/helpers UpdateHide
  Log:
  Take in the new HIDE feature to avoid namespace conflicts by using "Rule
  HIDE=yes" in the Configuration file.  Basically this patch adds a
  pre-generated include/hide.h file and the helpers/UpdateHide script for
  updating it when new functions are added. All other changes were just to make
  sure the conf.h file is really included (which itself includes hide.h if HIDE
  is defined), because we need the redefinition list everywhere to hide every
  function.
  
  Submitted by: Ralf S. Engelschall
  Reviewed by: Jim Jagielski, Dean Gaudet, Martin Kraemer, Ralf S. Engelschall
  
  Revision  Changes    Path
  1.673     +4 -0      apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.672
  retrieving revision 1.673
  diff -u -r1.672 -r1.673
  --- CHANGES   1998/02/28 08:12:46     1.672
  +++ CHANGES   1998/02/28 15:39:25     1.673
  @@ -1,5 +1,9 @@
   Changes with Apache 1.3b6
   
  +  *) Add `Rule HIDE' to Configuration to hide the Apache symbol
  +     namespace from conflicting with third-party libraries some
  +     modules force to be linked with Apache. [Ralf S. Engelschall]
  +
     *) Add the `%a' construct to LogFormat and CustomLog to log the client IP
        address. [Todd Eigenschink <[EMAIL PROTECTED]>, PR#1885]
   
  
  
  
  1.80      +6 -0      apache-1.3/src/Configuration.tmpl
  
  Index: Configuration.tmpl
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/Configuration.tmpl,v
  retrieving revision 1.79
  retrieving revision 1.80
  diff -u -r1.79 -r1.80
  --- Configuration.tmpl        1998/02/03 11:20:13     1.79
  +++ Configuration.tmpl        1998/02/28 15:39:27     1.80
  @@ -92,12 +92,18 @@
   #  is performing this function. If PARANOID is set to yes, it will
   #  actually print-out the code that the modules execute
   #
  +# HIDE:
  +#  This has no run-time penalty, but helps keep the Apache
  +#  namespace from colliding with that used by other libraries
  +#  pulled in by modules. 
  +#
   
   Rule STATUS=yes
   Rule SOCKS4=no
   Rule IRIXNIS=no
   Rule IRIXN32=yes
   Rule PARANOID=no
  +Rule HIDE=no
   
   # The following rules should be set automatically by Configure. However, if
   # they are not set by Configure (because we don't know the correct value for
  
  
  
  1.191     +8 -0      apache-1.3/src/Configure
  
  Index: Configure
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/Configure,v
  retrieving revision 1.190
  retrieving revision 1.191
  diff -u -r1.190 -r1.191
  --- Configure 1998/02/28 11:50:53     1.190
  +++ Configure 1998/02/28 15:39:28     1.191
  @@ -161,6 +161,7 @@
   RULE_IRIXNIS=`./helpers/CutRule IRIXNIS $file`
   RULE_IRIXN32=`./helpers/CutRule IRIXN32 $file`
   RULE_PARANOID=`./helpers/CutRule PARANOID $file`
  +RULE_HIDE=`./helpers/CutRule HIDE $file`
   
   ####################################################################
   # Preset some "constants"; can be overridden on a per-platform basis below.
  @@ -915,6 +916,13 @@
       REGLIB="regex/libregex.a"
       SUBDIRS="$SUBDIRS regex"
       CFLAGS="$CFLAGS -DUSE_HSREGEX"
  +fi
  +
  +#
  +# Now the definition of HIDE if needed/wanted.
  +#
  +if [ "$RULE_HIDE" = "yes" ]; then
  +    CFLAGS="$CFLAGS -DHIDE"
   fi
   
   # create modules.c
  
  
  
  1.80      +17 -1     apache-1.3/src/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/Makefile.tmpl,v
  retrieving revision 1.79
  retrieving revision 1.80
  diff -u -r1.79 -r1.80
  --- Makefile.tmpl     1998/02/28 10:31:53     1.79
  +++ Makefile.tmpl     1998/02/28 15:39:29     1.80
  @@ -29,7 +29,7 @@
        @false
   
   $(TARGET):  subdirs modules.o
  -     $(CC) -c $(CFLAGS) buildmark.c
  +     $(CC) -c $(INCLUDES) $(CFLAGS) $(SPACER) buildmark.c
        $(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SHLIB_EXPORT) -o $(TARGET) 
buildmark.o $(OBJS) $(REGLIB) $(LIBS)
   
   subdirs:
  @@ -61,6 +61,22 @@
        for i in $(SUBDIRS); do \
            ( cd $$i && $(MAKE) CC='$(CC)' AUX_CFLAGS='$(CFLAGS)' 
RANLIB='$(RANLIB)' depend ) || exit 1; \
        done
  +
  +# We really don't expect end users to use this rule. It builds a
  +# httpd binary with all modules built in and then updates the
  +# include/hide.h file according to the exported symbols of this
  +# binary. So run this target once after a new function was added
  +# to the source.
  +updatehide:
  +     cat Configuration.tmpl |\
  +        sed -e 's/^#*[       ]*\(AddModule\)/\1/g' |\
  +        cat >Configuration.for-hide
  +     $(MAKE) clean 
  +     ./Configure -file Configuration.for-hide
  +     $(MAKE) httpd
  +     ./helpers/UpdateHide httpd include/hide.h
  +     $(MAKE) clean
  +     rm -f Configuration.for-hide
   
   #Dependencies
   
  
  
  
  1.2       +1 -0      apache-1.3/src/buildmark.c
  
  Index: buildmark.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/buildmark.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- buildmark.c       1997/11/13 22:25:44     1.1
  +++ buildmark.c       1998/02/28 15:39:29     1.2
  @@ -1,3 +1,4 @@
  +#include "conf.h"
   #if defined(__DATE__) && defined(__TIME__)
   const char SERVER_BUILT[] = __DATE__ " " __TIME__;
   #else
  
  
  
  1.185     +4 -1      apache-1.3/src/include/conf.h
  
  Index: conf.h
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/include/conf.h,v
  retrieving revision 1.184
  retrieving revision 1.185
  diff -u -r1.184 -r1.185
  --- conf.h    1998/02/23 00:05:36     1.184
  +++ conf.h    1998/02/28 15:39:32     1.185
  @@ -863,7 +863,6 @@
   #include <memory.h>
   #endif
   
  -
   #ifdef NEED_PROCESS_H
   #include <process.h>
   #endif
  @@ -874,6 +873,10 @@
   #include "hsregex.h"
   #else
   #include <regex.h>
  +#endif
  +
  +#ifdef HIDE
  +#include "hide.h"
   #endif
   
   #ifdef HAVE_SYS_RESOURCE_H
  
  
  
  1.1                  apache-1.3/src/include/hide.h
  
  Index: hide.h
  ===================================================================
  /* ====================================================================
   * 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
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer. 
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. All advertising materials mentioning features or use of this
   *    software must display the following acknowledgment:
   *    "This product includes software developed by the Apache Group
   *    for use in the Apache HTTP server project (http://www.apache.org/)."
   *
   * 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. For written permission, please contact
   *    [EMAIL PROTECTED]
   *
   * 5. 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/)."
   *
   * THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
   * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE APACHE GROUP OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   * OF THE POSSIBILITY OF SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Group and was originally based
   * on public domain software written at the National Center for
   * Supercomputing Applications, University of Illinois, Urbana-Champaign.
   * For more information on the Apache Group and the Apache HTTP server
   * project, please see <http://www.apache.org/>.
   *
   */
  
  #ifndef APACHE_HTTP_HIDE_H
  #define APACHE_HTTP_HIDE_H
  
  /*
   *  The definition of HIDE has no run-time penalty, but helps
   *  keep the Apache namespace from colliding with that used by
   *  other libraries pulled in by modules. 
   */
  
  /* 
   *  DO NOT EDIT ANYTHING BELOW THIS LINE - Any changes made here will be lost!
   *  The section below is updated by running the script hide.pl 
   *  __________________________________________________________________________
   */
  #ifdef HIDE
  
  /*
   *  BSS segment symbols
   */
  #define bind_address                   AP_bind_address
  #define coredump_dir                   AP_coredump_dir
  #define daemons_limit                  AP_daemons_limit
  #define daemons_max_free               AP_daemons_max_free
  #define daemons_min_free               AP_daemons_min_free
  #define daemons_to_start               AP_daemons_to_start
  #define end                            AP_end
  #define environ                        AP_environ
  #define excess_requests_per_child      AP_excess_requests_per_child
  #define group_id                       AP_group_id
  #define jmpbuffer                      AP_jmpbuffer
  #define listenbacklog                  AP_listenbacklog
  #define listeners                      AP_listeners
  #define lock_fname                     AP_lock_fname
  #define max_requests_per_child         AP_max_requests_per_child
  #define my_pid                         AP_my_pid
  #define permanent_pool                 AP_permanent_pool
  #define pgrp                           AP_pgrp
  #define pid_fname                      AP_pid_fname
  #define restart_time                   AP_restart_time
  #define scoreboard_fname               AP_scoreboard_fname
  #define sd                             AP_sd
  #define server_argv0                   AP_server_argv0
  #define server_conf                    AP_server_conf
  #define server_confname                AP_server_confname
  #define server_post_read_config        AP_server_post_read_config
  #define server_pre_read_config         AP_server_pre_read_config
  #define server_root                    AP_server_root
  #define standalone                     AP_standalone
  #define threads_per_child              AP_threads_per_child
  #define timebuf                        AP_timebuf
  #define user_id                        AP_user_id
  #define user_name                      AP_user_name
  
  /*
   *  Data segment symbols
   */
  #define access_module                  AP_access_module
  #define action_module                  AP_action_module
  #define agent_log_module               AP_agent_log_module
  #define alias_module                   AP_alias_module
  #define alloc_mutex                    AP_alloc_mutex
  #define anon_auth_module               AP_anon_auth_module
  #define asis_module                    AP_asis_module
  #define auth_module                    AP_auth_module
  #define autoindex_module               AP_autoindex_module
  #define block_freelist                 AP_block_freelist
  #define cern_meta_module               AP_cern_meta_module
  #define cgi_module                     AP_cgi_module
  #define config_log_module              AP_config_log_module
  #define core_cmds                      AP_core_cmds
  #define core_handlers                  AP_core_handlers
  #define core_module                    AP_core_module
  #define db_auth_module                 AP_db_auth_module
  #define dbm_auth_module                AP_dbm_auth_module
  #define default_parms                  AP_default_parms
  #define digest_module                  AP_digest_module
  #define dir_module                     AP_dir_module
  #define dummy_mutex                    AP_dummy_mutex
  #define edata                          AP_edata
  #define env_module                     AP_env_module
  #define example_cmds                   AP_example_cmds
  #define example_handlers               AP_example_handlers
  #define example_module                 AP_example_module
  #define expires_module                 AP_expires_module
  #define headers_module                 AP_headers_module
  #define imap_module                    AP_imap_module
  #define includes_module                AP_includes_module
  #define info_module                    AP_info_module
  #define mime_magic_module              AP_mime_magic_module
  #define mime_module                    AP_mime_module
  #define negotiation_module             AP_negotiation_module
  #define one_process                    AP_one_process
  #define prelinked_modules              AP_prelinked_modules
  #define preloaded_modules              AP_preloaded_modules
  #define proxy_module                   AP_proxy_module
  #define referer_log_module             AP_referer_log_module
  #define rewrite_module                 AP_rewrite_module
  #define rfc1413_timeout                AP_rfc1413_timeout
  #define scoreboard_image               AP_scoreboard_image
  #define setenvif_module                AP_setenvif_module
  #define so_cmds                        AP_so_cmds
  #define so_module                      AP_so_module
  #define spawn_mutex                    AP_spawn_mutex
  #define speling_module                 AP_speling_module
  #define status_module                  AP_status_module
  #define suexec_enabled                 AP_suexec_enabled
  #define top_module                     AP_top_module
  #define unique_id_module               AP_unique_id_module
  #define userdir_module                 AP_userdir_module
  #define usertrack_module               AP_usertrack_module
  
  /*
   *  Text segment symbols
   */
  #define AMCSocketCleanup               AP_AMCSocketCleanup
  #define AMCSocketInitialize            AP_AMCSocketInitialize
  #define MD5Final                       AP_MD5Final
  #define MD5Init                        AP_MD5Init
  #define MD5Update                      AP_MD5Update
  #define SERVER_BUILT                   AP_SERVER_BUILT
  #define add_cgi_vars                   AP_add_cgi_vars
  #define add_common_vars                AP_add_common_vars
  #define add_file_conf                  AP_add_file_conf
  #define add_module                     AP_add_module
  #define add_module_command             AP_add_module_command
  #define add_named_module               AP_add_named_module
  #define add_per_dir_conf               AP_add_per_dir_conf
  #define add_per_url_conf               AP_add_per_url_conf
  #define allow_options                  AP_allow_options
  #define allow_overrides                AP_allow_overrides
  #define ap__new_connection             AP_ap__new_connection
  #define ap_cpystrn                     AP_ap_cpystrn
  #define ap_escape_quotes               AP_ap_escape_quotes
  #define ap_md5                         AP_ap_md5
  #define ap_md5contextTo64              AP_ap_md5contextTo64
  #define ap_md5digest                   AP_ap_md5digest
  #define ap_signal                      AP_ap_signal
  #define ap_slack                       AP_ap_slack
  #define ap_snprintf                    AP_ap_snprintf
  #define ap_vsnprintf                   AP_ap_vsnprintf
  #define aplog_error                    AP_aplog_error
  #define append_arrays                  AP_append_arrays
  #define array_cat                      AP_array_cat
  #define auth_name                      AP_auth_name
  #define auth_type                      AP_auth_type
  #define basic_http_header              AP_basic_http_header
  #define bclose                         AP_bclose
  #define bcreate                        AP_bcreate
  #define bfilbuf                        AP_bfilbuf
  #define bfileno                        AP_bfileno
  #define bflsbuf                        AP_bflsbuf
  #define bflush                         AP_bflush
  #define bgetopt                        AP_bgetopt
  #define bgets                          AP_bgets
  #define bhalfduplex                    AP_bhalfduplex
  #define block_alarms                   AP_block_alarms
  #define blookc                         AP_blookc
  #define bnonblock                      AP_bnonblock
  #define bonerror                       AP_bonerror
  #define bpushfd                        AP_bpushfd
  #define bputs                          AP_bputs
  #define bread                          AP_bread
  #define bsetflag                       AP_bsetflag
  #define bsetopt                        AP_bsetopt
  #define bskiplf                        AP_bskiplf
  #define bvputs                         AP_bvputs
  #define bwrite                         AP_bwrite
  #define bytes_in_block_list            AP_bytes_in_block_list
  #define bytes_in_free_blocks           AP_bytes_in_free_blocks
  #define bytes_in_pool                  AP_bytes_in_pool
  #define call_exec                      AP_call_exec
  #define can_exec                       AP_can_exec
  #define cfg_closefile                  AP_cfg_closefile
  #define cfg_getc                       AP_cfg_getc
  #define cfg_getline                    AP_cfg_getline
  #define chdir_file                     AP_chdir_file
  #define check_access                   AP_check_access
  #define check_alarm                    AP_check_alarm
  #define check_auth                     AP_check_auth
  #define check_cmd_context              AP_check_cmd_context
  #define check_fulluri                  AP_check_fulluri
  #define check_serverpath               AP_check_serverpath
  #define check_symlinks                 AP_check_symlinks
  #define check_user_id                  AP_check_user_id
  #define checkmask                      AP_checkmask
  #define child_exit_modules             AP_child_exit_modules
  #define child_init_modules             AP_child_init_modules
  #define child_main                     AP_child_main
  #define child_terminate                AP_child_terminate
  #define cleanup_for_exec               AP_cleanup_for_exec
  #define clear_module_list              AP_clear_module_list
  #define clear_module_list_command      AP_clear_module_list_command
  #define clear_pool                     AP_clear_pool
  #define clear_table                    AP_clear_table
  #define client_to_stdout               AP_client_to_stdout
  #define close_piped_log                AP_close_piped_log
  #define construct_server               AP_construct_server
  #define construct_url                  AP_construct_url
  #define copy_array                     AP_copy_array
  #define copy_array_hdr                 AP_copy_array_hdr
  #define copy_table                     AP_copy_table
  #define core_reorder_directories       AP_core_reorder_directories
  #define core_translate                 AP_core_translate
  #define count_dirs                     AP_count_dirs
  #define create_connection_config       AP_create_connection_config
  #define create_core_dir_config         AP_create_core_dir_config
  #define create_core_server_config      AP_create_core_server_config
  #define create_default_per_dir_config  AP_create_default_per_dir_config
  #define create_empty_config            AP_create_empty_config
  #define create_environment             AP_create_environment
  #define create_per_dir_config          AP_create_per_dir_config
  #define create_request_config          AP_create_request_config
  #define create_server_config           AP_create_server_config
  #define default_handler                AP_default_handler
  #define default_port_for_scheme        AP_default_port_for_scheme
  #define default_type                   AP_default_type
  #define destroy_pool                   AP_destroy_pool
  #define destroy_sub_req                AP_destroy_sub_req
  #define detach                         AP_detach
  #define die                            AP_die
  #define directory_walk                 AP_directory_walk
  #define dirsection                     AP_dirsection
  #define discard_request_body           AP_discard_request_body
  #define dlclose                        AP_dlclose
  #define dlerror                        AP_dlerror
  #define dlopen                         AP_dlopen
  #define dlsym                          AP_dlsym
  #define do_nothing                     AP_do_nothing
  #define document_root                  AP_document_root
  #define each_byterange                 AP_each_byterange
  #define end_ifmod                      AP_end_ifmod
  #define endlimit_section               AP_endlimit_section
  #define error_log2stderr               AP_error_log2stderr
  #define escape_html                    AP_escape_html
  #define escape_path_segment            AP_escape_path_segment
  #define escape_shell_cmd               AP_escape_shell_cmd
  #define etext                          AP_etext
  #define exists_scoreboard_image        AP_exists_scoreboard_image
  #define file_walk                      AP_file_walk
  #define filesection                    AP_filesection
  #define finalize_request_protocol      AP_finalize_request_protocol
  #define finalize_sub_req_protocol      AP_finalize_sub_req_protocol
  #define find_command                   AP_find_command
  #define find_command_in_modules        AP_find_command_in_modules
  #define find_last_token                AP_find_last_token
  #define find_linked_module             AP_find_linked_module
  #define find_module_name               AP_find_module_name
  #define find_path_info                 AP_find_path_info
  #define find_token                     AP_find_token
  #define find_types                     AP_find_types
  #define fini_vhost_config              AP_fini_vhost_config
  #define fixup_virtual_hosts            AP_fixup_virtual_hosts
  #define fnmatch                        AP_fnmatch
  #define force_library_loading          AP_force_library_loading
  #define free_blocks                    AP_free_blocks
  #define get_basic_auth_pw              AP_get_basic_auth_pw
  #define get_client_block               AP_get_client_block
  #define get_gmtoff                     AP_get_gmtoff
  #define get_local_host                 AP_get_local_host
  #define get_mime_headers               AP_get_mime_headers
  #define get_module_config              AP_get_module_config
  #define get_path_info                  AP_get_path_info
  #define get_remote_host                AP_get_remote_host
  #define get_remote_logname             AP_get_remote_logname
  #define get_server_name                AP_get_server_name
  #define get_server_port                AP_get_server_port
  #define get_time                       AP_get_time
  #define get_token                      AP_get_token
  #define get_virthost_addr              AP_get_virthost_addr
  #define getparents                     AP_getparents
  #define getword                        AP_getword
  #define getword_conf                   AP_getword_conf
  #define getword_conf_nc                AP_getword_conf_nc
  #define getword_nc                     AP_getword_nc
  #define getword_nulls                  AP_getword_nulls
  #define getword_nulls_nc               AP_getword_nulls_nc
  #define getword_white                  AP_getword_white
  #define getword_white_nc               AP_getword_white_nc
  #define gm_timestr_822                 AP_gm_timestr_822
  #define gname2id                       AP_gname2id
  #define handle_command                 AP_handle_command
  #define hard_timeout                   AP_hard_timeout
  #define header_parse                   AP_header_parse
  #define ht_time                        AP_ht_time
  #define include_config                 AP_include_config
  #define ind                            AP_ind
  #define index_of_response              AP_index_of_response
  #define init_alloc                     AP_init_alloc
  #define init_config_globals            AP_init_config_globals
  #define init_modules                   AP_init_modules
  #define init_server_config             AP_init_server_config
  #define init_suexec                    AP_init_suexec
  #define init_vhost_config              AP_init_vhost_config
  #define init_virtual_host              AP_init_virtual_host
  #define internal_internal_redirect     AP_internal_internal_redirect
  #define internal_redirect              AP_internal_redirect
  #define internal_redirect_handler      AP_internal_redirect_handler
  #define invoke_cmd                     AP_invoke_cmd
  #define invoke_handler                 AP_invoke_handler
  #define is_directory                   AP_is_directory
  #define is_fnmatch                     AP_is_fnmatch
  #define is_initial_req                 AP_is_initial_req
  #define is_matchexp                    AP_is_matchexp
  #define is_url                         AP_is_url
  #define just_die                       AP_just_die
  #define keepalive_timeout              AP_keepalive_timeout
  #define kill_cleanup                   AP_kill_cleanup
  #define kill_cleanups_for_fd           AP_kill_cleanups_for_fd
  #define kill_cleanups_for_socket       AP_kill_cleanups_for_socket
  #define kill_timeout                   AP_kill_timeout
  #define limit_section                  AP_limit_section
  #define location_walk                  AP_location_walk
  #define log_assert                     AP_log_assert
  #define log_error                      AP_log_error
  #define log_pid                        AP_log_pid
  #define log_printf                     AP_log_printf
  #define log_reason                     AP_log_reason
  #define log_transaction                AP_log_transaction
  #define log_unixerr                    AP_log_unixerr
  #define make_array                     AP_make_array
  #define make_dirstr                    AP_make_dirstr
  #define make_dirstr_parent             AP_make_dirstr_parent
  #define make_dirstr_prefix             AP_make_dirstr_prefix
  #define make_full_path                 AP_make_full_path
  #define make_sub_pool                  AP_make_sub_pool
  #define make_sub_request               AP_make_sub_request
  #define make_table                     AP_make_table
  #define malloc_block                   AP_malloc_block
  #define meets_conditions               AP_meets_conditions
  #define merge_core_dir_configs         AP_merge_core_dir_configs
  #define merge_core_server_configs      AP_merge_core_server_configs
  #define merge_per_dir_configs          AP_merge_per_dir_configs
  #define merge_server_configs           AP_merge_server_configs
  #define mime_find_ct                   AP_mime_find_ct
  #define month_snames                   AP_month_snames
  #define new_block                      AP_new_block
  #define no2slash                       AP_no2slash
  #define note_auth_failure              AP_note_auth_failure
  #define note_basic_auth_failure        AP_note_basic_auth_failure
  #define note_cleanups_for_fd           AP_note_cleanups_for_fd
  #define note_cleanups_for_file         AP_note_cleanups_for_file
  #define note_cleanups_for_socket       AP_note_cleanups_for_socket
  #define note_digest_auth_failure       AP_note_digest_auth_failure
  #define note_subprocess                AP_note_subprocess
  #define null_cleanup                   AP_null_cleanup
  #define open_error_log                 AP_open_error_log
  #define open_logs                      AP_open_logs
  #define open_piped_log                 AP_open_piped_log
  #define os_escape_path                 AP_os_escape_path
  #define os_is_path_absolute            AP_os_is_path_absolute
  #define overlay_tables                 AP_overlay_tables
  #define palloc                         AP_palloc
  #define parseHTTPdate                  AP_parseHTTPdate
  #define parse_htaccess                 AP_parse_htaccess
  #define parse_uri                      AP_parse_uri
  #define parse_uri_components           AP_parse_uri_components
  #define parse_uri_components_regex     AP_parse_uri_components_regex
  #define parse_vhost_addrs              AP_parse_vhost_addrs
  #define pcalloc                        AP_pcalloc
  #define pcfg_open_custom               AP_pcfg_open_custom
  #define pcfg_openfile                  AP_pcfg_openfile
  #define pclosedir                      AP_pclosedir
  #define pclosef                        AP_pclosef
  #define pclosesocket                   AP_pclosesocket
  #define pduphostent                    AP_pduphostent
  #define pfclose                        AP_pfclose
  #define pfdopen                        AP_pfdopen
  #define pfopen                         AP_pfopen
  #define pgethostbyname                 AP_pgethostbyname
  #define plustospace                    AP_plustospace
  #define popendir                       AP_popendir
  #define popenf                         AP_popenf
  #define pr2six                         AP_pr2six
  #define pregcomp                       AP_pregcomp
  #define pregfree                       AP_pregfree
  #define pregsub                        AP_pregsub
  #define process_command_config         AP_process_command_config
  #define process_request                AP_process_request
  #define process_request_internal       AP_process_request_internal
  #define process_resource_config        AP_process_resource_config
  #define proxy_add_header               AP_proxy_add_header
  #define proxy_c2hex                    AP_proxy_c2hex
  #define proxy_cache_check              AP_proxy_cache_check
  #define proxy_cache_error              AP_proxy_cache_error
  #define proxy_cache_tidy               AP_proxy_cache_tidy
  #define proxy_cache_update             AP_proxy_cache_update
  #define proxy_canon_netloc             AP_proxy_canon_netloc
  #define proxy_canonenc                 AP_proxy_canonenc
  #define proxy_connect_handler          AP_proxy_connect_handler
  #define proxy_date_canon               AP_proxy_date_canon
  #define proxy_del_header               AP_proxy_del_header
  #define proxy_doconnect                AP_proxy_doconnect
  #define proxy_ftp_canon                AP_proxy_ftp_canon
  #define proxy_ftp_handler              AP_proxy_ftp_handler
  #define proxy_garbage_coll             AP_proxy_garbage_coll
  #define proxy_garbage_init             AP_proxy_garbage_init
  #define proxy_get_header               AP_proxy_get_header
  #define proxy_hash                     AP_proxy_hash
  #define proxy_hex2c                    AP_proxy_hex2c
  #define proxy_hex2sec                  AP_proxy_hex2sec
  #define proxy_host2addr                AP_proxy_host2addr
  #define proxy_http_canon               AP_proxy_http_canon
  #define proxy_http_handler             AP_proxy_http_handler
  #define proxy_is_domainname            AP_proxy_is_domainname
  #define proxy_is_hostname              AP_proxy_is_hostname
  #define proxy_is_ipaddr                AP_proxy_is_ipaddr
  #define proxy_is_word                  AP_proxy_is_word
  #define proxy_liststr                  AP_proxy_liststr
  #define proxy_log_uerror               AP_proxy_log_uerror
  #define proxy_read_headers             AP_proxy_read_headers
  #define proxy_sec2hex                  AP_proxy_sec2hex
  #define proxy_send_fb                  AP_proxy_send_fb
  #define proxy_send_headers             AP_proxy_send_headers
  #define proxyerror                     AP_proxyerror
  #define psignature                     AP_psignature
  #define psocket                        AP_psocket
  #define pstrcat                        AP_pstrcat
  #define pstrdup                        AP_pstrdup
  #define pstrndup                       AP_pstrndup
  #define push_array                     AP_push_array
  #define rationalize_mtime              AP_rationalize_mtime
  #define read_config                    AP_read_config
  #define read_request                   AP_read_request
  #define read_request_line              AP_read_request_line
  #define register_cleanup               AP_register_cleanup
  #define register_other_child           AP_register_other_child
  #define reinit_scoreboard              AP_reinit_scoreboard
  #define remove_module                  AP_remove_module
  #define rename_original_env            AP_rename_original_env
  #define reopen_scoreboard              AP_reopen_scoreboard
  #define require                        AP_require
  #define requires                       AP_requires
  #define reset_timeout                  AP_reset_timeout
  #define response_code_string           AP_response_code_string
  #define rfc1413                        AP_rfc1413
  #define rflush                         AP_rflush
  #define rind                           AP_rind
  #define rprintf                        AP_rprintf
  #define rputc                          AP_rputc
  #define rputs                          AP_rputs
  #define run_cleanup                    AP_run_cleanup
  #define run_fixups                     AP_run_fixups
  #define run_post_read_request          AP_run_post_read_request
  #define run_sub_req                    AP_run_sub_req
  #define rvputs                         AP_rvputs
  #define rwrite                         AP_rwrite
  #define satisfies                      AP_satisfies
  #define satisfy                        AP_satisfy
  #define scan_script_header_err         AP_scan_script_header_err
  #define scan_script_header_err_buff    AP_scan_script_header_err_buff
  #define send_error_response            AP_send_error_response
  #define send_fb                        AP_send_fb
  #define send_fb_length                 AP_send_fb_length
  #define send_fd                        AP_send_fd
  #define send_fd_length                 AP_send_fd_length
  #define send_header_field              AP_send_header_field
  #define send_http_header               AP_send_http_header
  #define send_http_options              AP_send_http_options
  #define send_http_trace                AP_send_http_trace
  #define send_mmap                      AP_send_mmap
  #define send_size                      AP_send_size
  #define server_port                    AP_server_port
  #define server_root_relative           AP_server_root_relative
  #define server_type                    AP_server_type
  #define set_access_name                AP_set_access_name
  #define set_bind_address               AP_set_bind_address
  #define set_byterange                  AP_set_byterange
  #define set_callback_and_alarm         AP_set_callback_and_alarm
  #define set_content_length             AP_set_content_length
  #define set_content_md5                AP_set_content_md5
  #define set_coredumpdir                AP_set_coredumpdir
  #define set_daemons_to_start           AP_set_daemons_to_start
  #define set_document_root              AP_set_document_root
  #define set_error_document             AP_set_error_document
  #define set_etag                       AP_set_etag
  #define set_excess_requests            AP_set_excess_requests
  #define set_file_slot                  AP_set_file_slot
  #define set_flag_slot                  AP_set_flag_slot
  #define set_group                      AP_set_group
  #define set_hostname_lookups           AP_set_hostname_lookups
  #define set_idcheck                    AP_set_idcheck
  #define set_keep_alive                 AP_set_keep_alive
  #define set_keep_alive_max             AP_set_keep_alive_max
  #define set_keep_alive_timeout         AP_set_keep_alive_timeout
  #define set_keepalive                  AP_set_keepalive
  #define set_last_modified              AP_set_last_modified
  #define set_limit_cpu                  AP_set_limit_cpu
  #define set_limit_mem                  AP_set_limit_mem
  #define set_limit_nproc                AP_set_limit_nproc
  #define set_listenbacklog              AP_set_listenbacklog
  #define set_listener                   AP_set_listener
  #define set_lockfile                   AP_set_lockfile
  #define set_loglevel                   AP_set_loglevel
  #define set_max_free_servers           AP_set_max_free_servers
  #define set_max_requests               AP_set_max_requests
  #define set_min_free_servers           AP_set_min_free_servers
  #define set_module_config              AP_set_module_config
  #define set_name_virtual_host          AP_set_name_virtual_host
  #define set_options                    AP_set_options
  #define set_override                   AP_set_override
  #define set_pidfile                    AP_set_pidfile
  #define set_scoreboard                 AP_set_scoreboard
  #define set_send_buffer_size           AP_set_send_buffer_size
  #define set_server_limit               AP_set_server_limit
  #define set_server_root                AP_set_server_root
  #define set_server_string_slot         AP_set_server_string_slot
  #define set_serverpath                 AP_set_serverpath
  #define set_signals                    AP_set_signals
  #define set_signature_flag             AP_set_signature_flag
  #define set_string_slot                AP_set_string_slot
  #define set_sub_req_protocol           AP_set_sub_req_protocol
  #define set_threads                    AP_set_threads
  #define set_timeout                    AP_set_timeout
  #define set_use_canonical_name         AP_set_use_canonical_name
  #define set_user                       AP_set_user
  #define setup_client_block             AP_setup_client_block
  #define setup_prelinked_modules        AP_setup_prelinked_modules
  #define should_client_block            AP_should_client_block
  #define show_directives                AP_show_directives
  #define show_modules                   AP_show_modules
  #define show_overrides                 AP_show_overrides
  #define sig_coredump                   AP_sig_coredump
  #define soft_timeout                   AP_soft_timeout
  #define some_auth_required             AP_some_auth_required
  #define spacetoplus                    AP_spacetoplus
  #define spawn_child_err                AP_spawn_child_err
  #define spawn_child_err_buff           AP_spawn_child_err_buff
  #define srm_command_loop               AP_srm_command_loop
  #define standalone_main                AP_standalone_main
  #define start                          AP_start
  #define start_ifmod                    AP_start_ifmod
  #define start_restart                  AP_start_restart
  #define start_shutdown                 AP_start_shutdown
  #define str_tolower                    AP_str_tolower
  #define strcasecmp_match               AP_strcasecmp_match
  #define strcmp_match                   AP_strcmp_match
  #define sub_req_lookup_file            AP_sub_req_lookup_file
  #define sub_req_lookup_uri             AP_sub_req_lookup_uri
  #define sync_scoreboard_image          AP_sync_scoreboard_image
  #define table_add                      AP_table_add
  #define table_addn                     AP_table_addn
  #define table_do                       AP_table_do
  #define table_get                      AP_table_get
  #define table_merge                    AP_table_merge
  #define table_mergen                   AP_table_mergen
  #define table_set                      AP_table_set
  #define table_setn                     AP_table_setn
  #define table_unset                    AP_table_unset
  #define time_process_request           AP_time_process_request
  #define timeout                        AP_timeout
  #define tm2sec                         AP_tm2sec
  #define translate_name                 AP_translate_name
  #define uname2id                       AP_uname2id
  #define unblock_alarms                 AP_unblock_alarms
  #define unescape_url                   AP_unescape_url
  #define unload_file                    AP_unload_file
  #define unload_module                  AP_unload_module
  #define unparse_uri_components         AP_unparse_uri_components
  #define unregister_other_child         AP_unregister_other_child
  #define update_child_status            AP_update_child_status
  #define update_mtime                   AP_update_mtime
  #define update_vhost_from_headers      AP_update_vhost_from_headers
  #define update_vhost_given_ip          AP_update_vhost_given_ip
  #define urlsection                     AP_urlsection
  #define usage                          AP_usage
  #define util_uri_init                  AP_util_uri_init
  #define uudecode                       AP_uudecode
  #define vbprintf                       AP_vbprintf
  #define virtualhost_section            AP_virtualhost_section
  
  #endif
  /*  __________________________________________________________________________
   *
   *  DO NOT EDIT ANYTHING ABOVE THIS LINE - Any changes made here will be lost!
   *  The section below is updated by running the script hide.pl 
   */
  
  #endif  /* !APACHE_HTTP_HIDE_H */
  
  
  
  1.7       +1 -0      apache-1.3/src/main/fnmatch.c
  
  Index: fnmatch.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/main/fnmatch.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- fnmatch.c 1998/02/12 02:18:40     1.6
  +++ fnmatch.c 1998/02/28 15:39:33     1.7
  @@ -43,6 +43,7 @@
    * Compares a filename or pathname to a pattern.
    */
   
  +#include "conf.h"
   #include "fnmatch.h"
   #include <string.h>
   
  
  
  
  1.4       +1 -0      apache-1.3/src/os/bs2000/ebcdic.c
  
  Index: ebcdic.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/os/bs2000/ebcdic.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ebcdic.c  1998/01/26 16:46:16     1.3
  +++ ebcdic.c  1998/02/28 15:39:34     1.4
  @@ -53,6 +53,7 @@
   
   
   #ifdef CHARSET_EBCDIC
  +#include "conf.h"
   #include "ebcdic.h"
   /*
           Initial Port for  Apache-1.3 by <[EMAIL PROTECTED]>
  
  
  
  1.3       +1 -0      apache-1.3/src/os/bs2000/os-inline.c
  
  Index: os-inline.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/os/bs2000/os-inline.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- os-inline.c       1998/02/14 03:07:55     1.2
  +++ os-inline.c       1998/02/28 15:39:34     1.3
  @@ -21,6 +21,7 @@
   #define INLINE
   
   /* Anything required only when compiling */
  +#include "conf.h"
   
   #endif
   
  
  
  
  1.4       +1 -0      apache-1.3/src/os/unix/os-inline.c
  
  Index: os-inline.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/os/unix/os-inline.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- os-inline.c       1998/02/14 03:07:58     1.3
  +++ os-inline.c       1998/02/28 15:39:36     1.4
  @@ -21,6 +21,7 @@
   #define INLINE
   
   /* Anything required only when compiling */
  +#include "conf.h"
   
   #endif
   
  
  
  
  1.5       +1 -0      apache-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.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- os.c      1998/01/21 21:54:30     1.4
  +++ os.c      1998/02/28 15:39:36     1.5
  @@ -3,6 +3,7 @@
    * Any inlineable functions should be defined in os-inline.c instead.
    */
   
  +#include "conf.h"
   #include "os.h"
   
   
  
  
  
  1.3       +1 -0      apache-1.3/src/os/emx/os-inline.c
  
  Index: os-inline.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/os/emx/os-inline.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- os-inline.c       1998/02/14 03:07:56     1.2
  +++ os-inline.c       1998/02/28 15:39:37     1.3
  @@ -21,6 +21,7 @@
   #define INLINE
   
   /* Anything required only when compiling */
  +#include "conf.h"
   
   #endif
   
  
  
  
  1.1                  apache-1.3/src/helpers/UpdateHide
  
  Index: UpdateHide
  ===================================================================
  :
  eval 'exec perl -S $0 ${1+"$@"}'
      if $running_under_some_shell;
  ##
  ##  UpdateHideHeader -- update include/hide.h header file
  ##  Written by Ralf S. Engelschall, <[EMAIL PROTECTED]>
  ##
  
  #   the parameters
  $httpdbinary = $ARGV[0];
  $headerfile  = $ARGV[1];
  
  #   configuration
  $listbegin  = '\n#ifdef HIDE\n';
  $listend    = '\n#endif\n';
  @excluded   = (
      'main', 
      'errno', 
      'optarg',
  );
  
  #   read current file as template
  open(FP, "<$headerfile");
  $header = '';
  while (<FP>) {
      $header .= $_;
  }
  close(FP);
  
  #   determine list of exported symbols
  %SB = ();
  %SD = ();
  %ST = ();
  @L = `nm $httpdbinary`;
  foreach $l (@L) {
      if ($l =~ m|^.+\s+([BDT])\s+(.+)\s*$|) {
          ($type, $name) = ($1, $2);
  
          #   remove leading underscore (C linker convention)
          $name =~ s|^_||;    
          #   remove perhaps already existing AP_ prefix
          #   (when running this script while httpd was
          #    already compiled with HIDE defined)
          $name =~ s|^AP_||;  
          #   skip any compiler- or system-private symbols
          next if ($name =~ m|^_|);
          #   skip any global compiler or system symbols
          next if (grep(/$name/, @excluded));
  
          #   insert the symbol into our lists
          $SB{$name}++ if $type eq 'B';
          $SD{$name}++ if $type eq 'D';
          $ST{$name}++ if $type eq 'T';
      }
  }
  
  #   generate new redefinition list
  sub mksublist {
      my ($name, %SL) = @_;
      my ($o, $s);
  
      $o .= "\n" .
            "/*\n" .
            " *  $name segment symbols\n" .
            " */\n";
      foreach $s (sort(keys(%SL))) {
          $o .= sprintf("#define %-30s AP_%s\n", $s, $s);
      }
      return $o;
  }
  $list = '';
  $list .= &mksublist("BSS",  %SB);
  $list .= &mksublist("Data", %SD);
  $list .= &mksublist("Text", %ST);
  
  #   replace old redefinition list with new one
  $header =~ s|($listbegin).*?($listend)|$1$list$2|s;
  
  #   write new header file
  open(FP, ">$headerfile");
  print FP $header;
  close(FP);
  
  ##EOF##
  
  
  

Reply via email to