coar        98/03/03 18:28:27

  Modified:    .        STATUS
               src      CHANGES buildmark.c
               src/include httpd.h
               src/main http_main.c http_protocol.c util_script.c
               src/modules/example mod_example.c
               src/modules/proxy proxy_connect.c
               src/modules/standard mod_info.c mod_rewrite.c mod_status.c
               src/os/unix os.h
  Log:
        Abstract the SERVER_BUILT and SERVER_VERSION values through
        API routines - and fix a problem with os/unix/os.h and -DHIDE.
        A similar fix may be needed for the other os/* directories,
        and a new 'make depend' needs to be run once a default value for
        the HIDE rule is determined.
  
  Revision  Changes    Path
  1.171     +2 -0      apache-1.3/STATUS
  
  Index: STATUS
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/STATUS,v
  retrieving revision 1.170
  retrieving revision 1.171
  diff -u -r1.170 -r1.171
  --- STATUS    1998/03/03 13:38:56     1.170
  +++ STATUS    1998/03/04 02:28:09     1.171
  @@ -63,6 +63,8 @@
       * Dean's rewrite of absoluteURI handling vhost matching
       * Dean's new mod_test_util_uri.c 
       * back out USE_PTHREAD_SERIALIZED_ACCEPT for solaris
  +    * Ken's abstraction of SERVER_{BUILT,VERSION}
  +    * Ken's fix for os/unix/os.h and the new -DHIDE functionality
   
   Available Patches:
   
  
  
  
  1.680     +6 -0      apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.679
  retrieving revision 1.680
  diff -u -r1.679 -r1.680
  --- CHANGES   1998/03/03 21:16:47     1.679
  +++ CHANGES   1998/03/04 02:28:10     1.680
  @@ -1,5 +1,11 @@
   Changes with Apache 1.3b6
   
  +  *) To deal with modules being compiled and [dynamically] linked
  +     at a different time from the core, the SERVER_VERSION and
  +     SERVER_BUILT symbols have been abstracted through the new
  +     API routines apapi_get_server_version() and apapi_get_server_built().
  +     [Ken Coar]
  +
     *) WIN32: Preserve trailing slash in canonical path (and hence
           in PATH_INFO). [Paul Sutton, Ben Laurie]
   
  
  
  
  1.3       +68 -2     apache-1.3/src/buildmark.c
  
  Index: buildmark.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/buildmark.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- buildmark.c       1998/02/28 15:39:29     1.2
  +++ buildmark.c       1998/03/04 02:28:11     1.3
  @@ -1,6 +1,72 @@
  +/* ====================================================================
  + * 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/>.
  + *
  + */
  +
   #include "conf.h"
  +#include "httpd.h"
  +
   #if defined(__DATE__) && defined(__TIME__)
  -const char SERVER_BUILT[] = __DATE__ " " __TIME__;
  +static const char server_built[] = __DATE__ " " __TIME__;
   #else
  -const char SERVER_BUILT[] = "unknown";
  +static const char server_built[] = "unknown";
   #endif
  +static const char server_version[] = SERVER_VERSION;
  +
  +const char *apapi_get_server_built()
  +{
  +    return server_built;
  +}
  +
  +const char *apapi_get_server_version()
  +{
  +    return server_version;
  +}
  
  
  
  1.190     +3 -0      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.189
  retrieving revision 1.190
  diff -u -r1.189 -r1.190
  --- httpd.h   1998/03/02 06:51:04     1.189
  +++ httpd.h   1998/03/04 02:28:13     1.190
  @@ -364,6 +364,9 @@
   #endif
   extern MODULE_VAR_EXPORT const char SERVER_BUILT[];
   
  +const char *apapi_get_server_version();
  +const char *apapi_get_server_built();
  +
   /* Numeric release version identifier: major minor bugfix betaseq
    * Always increases along the same track as the source branch.
    */
  
  
  
  1.299     +11 -11    apache-1.3/src/main/http_main.c
  
  Index: http_main.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/main/http_main.c,v
  retrieving revision 1.298
  retrieving revision 1.299
  diff -u -r1.298 -r1.299
  --- http_main.c       1998/03/02 06:51:08     1.298
  +++ http_main.c       1998/03/04 02:28:15     1.299
  @@ -2810,9 +2810,9 @@
       printf("Server base version: \"%s\"\n", SERVER_BASEVERSION);
       printf("Server sub-version:  \"%s\"\n", SERVER_SUBVERSION);
   #else
  -    printf("Server version \"%s\"\n", SERVER_VERSION);
  +    printf("Server version \"%s\"\n", apapi_get_server_version());
   #endif
  -    printf("Server built:  %s\n", SERVER_BUILT);
  +    printf("Server built:  %s\n", apapi_get_server_built());
       printf("Server's Module Magic Number: %u\n", MODULE_MAGIC_NUMBER);
       printf("Server compiled with....\n");
   #ifdef BIG_SECURITY_HOLE
  @@ -3636,9 +3636,9 @@
   
        aplog_error(APLOG_MARK, APLOG_NOERRNO|APLOG_NOTICE, server_conf,
                    "%s configured -- resuming normal operations",
  -                 SERVER_VERSION);
  +                 apapi_get_server_version());
        aplog_error(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO, server_conf,
  -                 "Server built: %s", SERVER_BUILT);
  +                 "Server built: %s", apapi_get_server_built());
        restart_pending = shutdown_pending = 0;
   
        while (!restart_pending && !shutdown_pending) {
  @@ -3812,8 +3812,8 @@
            ap_cpystrn(server_confname, optarg, sizeof(server_confname));
            break;
        case 'v':
  -         printf("Server version %s.\n", SERVER_VERSION);
  -         printf("Server built:  %s\n", SERVER_BUILT);
  +         printf("Server version %s.\n", apapi_get_server_version());
  +         printf("Server built:  %s\n", apapi_get_server_built());
            exit(0);
        case 'V':
            show_compile_settings();
  @@ -3838,7 +3838,7 @@
       }
   
   #ifdef __EMX__
  -    printf("%s \n", SERVER_VERSION);
  +    printf("%s \n", apapi_get_server_version());
   #endif
   
       suexec_enabled = init_suexec();
  @@ -4956,8 +4956,8 @@
            ap_cpystrn(server_confname, optarg, sizeof(server_confname));
            break;
        case 'v':
  -         printf("Server version %s.\n", SERVER_VERSION);
  -         printf("Server built:  %s\n", SERVER_BUILT);
  +         printf("Server version %s.\n", apapi_get_server_version());
  +         printf("Server built:  %s\n", apapi_get_server_built());
            exit(0);
        case 'V':
            show_compile_settings();
  @@ -4977,11 +4977,11 @@
       }
   
   #ifdef __EMX__
  -    printf("%s \n", SERVER_VERSION);
  +    printf("%s \n", apapi_get_server_version());
   #endif
   #ifdef WIN32
       if (!child) {
  -     printf("%s \n", SERVER_VERSION);
  +     printf("%s \n", apapi_get_server_version());
       }
   #endif
       if (!child && run_as_service) {
  
  
  
  1.194     +1 -1      apache-1.3/src/main/http_protocol.c
  
  Index: http_protocol.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/main/http_protocol.c,v
  retrieving revision 1.193
  retrieving revision 1.194
  diff -u -r1.193 -r1.194
  --- http_protocol.c   1998/03/02 06:51:09     1.193
  +++ http_protocol.c   1998/03/04 02:28:16     1.194
  @@ -1022,7 +1022,7 @@
              protocol, " ", r->status_line, "\015\012", NULL);
   
       send_header_field(r, "Date", gm_timestr_822(r->pool, r->request_time));
  -    send_header_field(r, "Server", SERVER_VERSION);
  +    send_header_field(r, "Server", apapi_get_server_version());
   
       table_unset(r->headers_out, "Date");        /* Avoid bogosity */
       table_unset(r->headers_out, "Server");
  
  
  
  1.98      +1 -1      apache-1.3/src/main/util_script.c
  
  Index: util_script.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/main/util_script.c,v
  retrieving revision 1.97
  retrieving revision 1.98
  diff -u -r1.97 -r1.98
  --- util_script.c     1998/02/23 07:58:45     1.97
  +++ util_script.c     1998/03/04 02:28:17     1.98
  @@ -235,7 +235,7 @@
   #endif
   
       table_setn(e, "PATH", env_path);
  -    table_setn(e, "SERVER_SOFTWARE", SERVER_VERSION);
  +    table_setn(e, "SERVER_SOFTWARE", apapi_get_server_version());
       table_setn(e, "SERVER_NAME", get_server_name(r));
       ap_snprintf(port, sizeof(port), "%u", get_server_port(r));
       table_setn(e, "SERVER_PORT", pstrdup(r->pool,port));
  
  
  
  1.24      +3 -2      apache-1.3/src/modules/example/mod_example.c
  
  Index: mod_example.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/modules/example/mod_example.c,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- mod_example.c     1998/01/07 16:46:33     1.23
  +++ mod_example.c     1998/03/04 02:28:20     1.24
  @@ -523,9 +523,10 @@
       rputs("  <H1><SAMP>mod_example</SAMP> Module Content-Handler Output\n", 
r);
       rputs("  </H1>\n", r);
       rputs("  <P>\n", r);
  -    rprintf(r, "  Apache HTTP Server version: \"%s\"\n", SERVER_VERSION);
  +    rprintf(r, "  Apache HTTP Server version: \"%s\"\n",
  +         apapi_get_server_version());
       rputs("  <BR>\n", r);
  -    rprintf(r, "  Server built: \"%s\"\n", SERVER_BUILT);
  +    rprintf(r, "  Server built: \"%s\"\n", apapi_get_server_built());
       rputs("  </P>\n", r);;
       rputs("  <P>\n", r);
       rputs("  The format for the callback trace is:\n", r);
  
  
  
  1.22      +2 -2      apache-1.3/src/modules/proxy/proxy_connect.c
  
  Index: proxy_connect.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/modules/proxy/proxy_connect.c,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- proxy_connect.c   1998/02/22 21:35:30     1.21
  +++ proxy_connect.c   1998/03/04 02:28:22     1.22
  @@ -188,13 +188,13 @@
                    r->uri);
        write(sock, buffer, strlen(buffer));
        ap_snprintf(buffer, sizeof(buffer),
  -                 "Proxy-agent: %s" CRLF CRLF, SERVER_VERSION);
  +                 "Proxy-agent: %s" CRLF CRLF, apapi_get_server_version());
        write(sock, buffer, strlen(buffer));
       }
       else {
        Explain0("Returning 200 OK Status");
        rvputs(r, "HTTP/1.0 200 Connection established" CRLF, NULL);
  -     rvputs(r, "Proxy-agent: ", SERVER_VERSION, CRLF CRLF, NULL);
  +     rvputs(r, "Proxy-agent: ", apapi_get_server_version(), CRLF CRLF, NULL);
        bflush(r->connection->client);
       }
   
  
  
  
  1.37      +2 -2      apache-1.3/src/modules/standard/mod_info.c
  
  Index: mod_info.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_info.c,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -u -r1.36 -r1.37
  --- mod_info.c        1998/02/20 10:44:35     1.36
  +++ mod_info.c        1998/03/04 02:28:23     1.37
  @@ -397,10 +397,10 @@
           if (!r->args || !strcasecmp(r->args, "server")) {
               rprintf(r, "<a name=\"server\"><strong>Server Version:</strong> "
                           "<font size=+1><tt>%s</tt></a></font><br>\n",
  -                        SERVER_VERSION);
  +                        apapi_get_server_version());
               rprintf(r, "<strong>Server Built:</strong> "
                           "<font size=+1><tt>%s</tt></a></font><br>\n",
  -                        SERVER_BUILT);
  +                        apapi_get_server_built());
               rprintf(r, "<strong>API Version:</strong> "
                           "<tt>%d</tt><br>\n",
                           MODULE_MAGIC_NUMBER);
  
  
  
  1.79      +1 -1      apache-1.3/src/modules/standard/mod_rewrite.c
  
  Index: mod_rewrite.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_rewrite.c,v
  retrieving revision 1.78
  retrieving revision 1.79
  diff -u -r1.78 -r1.79
  --- mod_rewrite.c     1998/03/02 06:51:19     1.78
  +++ mod_rewrite.c     1998/03/04 02:28:23     1.79
  @@ -3282,7 +3282,7 @@
           result = r->protocol;
       }
       else if (strcasecmp(var, "SERVER_SOFTWARE") == 0) {
  -        result = pstrdup(r->pool, SERVER_VERSION);
  +        result = pstrdup(r->pool, apapi_get_server_version());
       }
       else if (strcasecmp(var, "API_VERSION") == 0) { /* non-standard */
           ap_snprintf(resultbuf, sizeof(resultbuf), "%d", MODULE_MAGIC_NUMBER);
  
  
  
  1.77      +4 -5      apache-1.3/src/modules/standard/mod_status.c
  
  Index: mod_status.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_status.c,v
  retrieving revision 1.76
  retrieving revision 1.77
  diff -u -r1.76 -r1.77
  --- mod_status.c      1998/02/22 15:31:35     1.76
  +++ mod_status.c      1998/03/04 02:28:24     1.77
  @@ -323,11 +323,10 @@
        rputs("<HTML><HEAD>\n<TITLE>Apache Status</TITLE>\n</HEAD><BODY>\n", r);
        rputs("<H1>Apache Server Status for ", r);
        rvputs(r, server->server_hostname, "</H1>\n\n", NULL);
  -#if 0
  -     /* We don't do this until we resolve shared lib concerns */
  -     rvputs(r, "Server Version:", SERVER_VERSION, "<br>\n", NULL);
  -     rvputs(r, "Server Built:", SERVER_BUILT, "<br>\n<hr>\n", NULL);
  -#endif
  +     rvputs(r, "Server Version:", apapi_get_server_version(), "<br>\n",
  +            NULL);
  +     rvputs(r, "Server Built:", apapi_get_server_built(), "<br>\n<hr>\n",
  +            NULL);
        rvputs(r, "Current Time: ", asctime(localtime(&nowtime)), "<br>\n", 
NULL);
        rvputs(r, "Restart Time: ", asctime(localtime(&restart_time)), "<br>\n",
               NULL);
  
  
  
  1.8       +66 -0     apache-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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- os.h      1998/03/02 17:51:33     1.7
  +++ os.h      1998/03/04 02:28:26     1.8
  @@ -1,3 +1,67 @@
  +/* ====================================================================
  + * Copyright (c) 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_OS_H
  +#define APACHE_OS_H
  +
  +/*
  + * We can't include conf.h (where the hide.h stuff is done) because it
  + * includes us.  So we do the hide.h stuff ourself.
  + */
  +#ifdef HIDE
  +#include "hide.h"
  +#endif
  +
   /*
    * This file in included in all Apache source code. It contains definitions
    * of facilities available on _this_ operating system (HAVE_* macros),
  @@ -61,3 +125,5 @@
   #define os_dl_unload(l) dlclose(l)
   #define os_dl_sym(h,s)  dlsym(h,s)
   #define os_dl_error()   dlerror()
  +
  +#endif       /* !APACHE_OS_H */
  
  
  

Reply via email to