]> granicus.if.org Git - apache/commitdiff
Moved util_uri to apr-util/uri/apr_uri, which means adding the apr_
authorRoy T. Fielding <fielding@apache.org>
Tue, 22 May 2001 01:31:12 +0000 (01:31 +0000)
committerRoy T. Fielding <fielding@apache.org>
Tue, 22 May 2001 01:31:12 +0000 (01:31 +0000)
prefix to all of the uri functions (yuck), changing some includes,
and using APR error codes instead of HTTP-specific error codes.

Other notes to test this patch:
- You need to delete the util_uri.h file - exports picks up on this.
- I'd like to remove the apr_uri.h from httpd.h, but that might
  increase the complexity of this patch even further.  Once this patch
  is accepted (in some form), then I can focus on removing apr_uri.h
  from httpd.h entirely.  I need baby steps (heh) right now.
- I imagine that this might break a bunch of stuff in Win32 or other OS
  builds with foreign dependency files.  Any help here is appreciated.

This is a start...  -- justin

Submitted by: Justin Erenkrantz
Reviewed by: Roy Fielding

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89198 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
include/httpd.h
modules/aaa/mod_auth_digest.c
modules/dav/main/util.c
modules/loggers/mod_log_config.c
modules/mappers/mod_alias.c
modules/test/mod_test_util_uri.c
server/Makefile.in
server/main.c
server/protocol.c
server/scoreboard.c

diff --git a/CHANGES b/CHANGES
index 3f55be1678d41078c4b339331e755810106b5443..5170be89bbc0aba439e4ae2638ba300c1ba6a89a 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,8 @@
 Changes with Apache 2.0.19-dev
 
+  *) Moved util_uri to the apr-util library.  This required a bunch of
+     apr_name changes for the uri utility functions.  [Justin Erenkrantz]
+
   *) Move the addition of default AP_HTTP_HTTP_HEADER filters to the
      insert_filter phase so that other filters are not bypassed by default.
      [Graham Leggett]
index ca3fe2043b9d7845a4d7b4e1f4d017bb084f4241..ace660617bc775e20cce96470ce49f2fc2373884 100644 (file)
@@ -578,7 +578,7 @@ typedef struct request_rec request_rec;
 
 /* ### would be nice to not include this from httpd.h ... */
 /* This comes after we have defined the request_rec type */
-#include "util_uri.h"
+#include "apr_uri.h"
 
 /** A structure that represents one process */
 struct process_rec {
@@ -777,7 +777,7 @@ struct request_rec {
     /** ST_MODE set to zero if no such file */
     apr_finfo_t finfo;
     /** components of uri, dismantled */
-    uri_components parsed_uri;
+    apr_uri_components parsed_uri;
 
     /* Various other config info which may change with .htaccess files
      * These are config vectors, with one void* pointer for each module
index 3acd910f4a1a2897c110af0b779d300d86f24ecf..1cbdc4facc5966e801b5d76b896d6ad7830a8fa0 100644 (file)
 #include "http_request.h"
 #include "http_log.h"
 #include "http_protocol.h"
-#include "util_uri.h"
+#include "apr_uri.h"
 #include "util_md5.h"
 
 /* Disable shmem until pools/init gets sorted out - remove next line when fixed */
@@ -236,7 +236,7 @@ typedef struct digest_header_struct {
     apr_time_t             nonce_time;
     enum hdr_sts          auth_hdr_sts;
     const char           *raw_request_uri;
-    uri_components       *psd_request_uri;
+    apr_uri_components    *psd_request_uri;
     int                   needed_auth;
     client_entry         *client;
 } digest_header_rec;
@@ -1514,8 +1514,8 @@ static const char *new_digest(const request_rec *r,
 }
 
 
-static void copy_uri_components(uri_components *dst, uri_components *src,
-                               request_rec *r) {
+static void copy_uri_components(apr_uri_components *dst, 
+                                apr_uri_components *src, request_rec *r) {
     if (src->scheme && src->scheme[0] != '\0')
        dst->scheme = src->scheme;
     else
@@ -1624,10 +1624,10 @@ static int authenticate_digest_user(request_rec *r)
        /* Hmm, the simple match didn't work (probably a proxy modified the
         * request-uri), so lets do a more sophisticated match
         */
-       uri_components r_uri, d_uri;
+       apr_uri_components r_uri, d_uri;
 
        copy_uri_components(&r_uri, resp->psd_request_uri, r);
-       if (ap_parse_uri_components(r->pool, resp->uri, &d_uri) != HTTP_OK) {
+       if (apr_uri_parse_components(r->pool, resp->uri, &d_uri) != APR_SUCCESS) {
            ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, 0, r,
                          "Digest: invalid uri <%s> in Authorization header",
                          resp->uri);
index 5a8d4728e0d35c7e38c5dfc56556f7011047ca1a..059655d8f96ee77bf252f2b9fb437d9f5629af35 100644 (file)
@@ -189,12 +189,12 @@ dav_lookup_result dav_lookup_uri(const char *uri, request_rec * r,
     dav_lookup_result result = { 0 };
     const char *scheme;
     apr_port_t port;
-    uri_components comp;
+    apr_uri_components comp;
     char *new_file;
     const char *domain;
 
     /* first thing to do is parse the URI into various components */
-    if (ap_parse_uri_components(r->pool, uri, &comp) != HTTP_OK) {
+    if (apr_uri_parse_components(r->pool, uri, &comp) != APR_SUCCESS) {
        result.err.status = HTTP_BAD_REQUEST;
        result.err.desc = "Invalid syntax in Destination URI.";
        return result;
@@ -233,7 +233,7 @@ dav_lookup_result dav_lookup_uri(const char *uri, request_rec * r,
 
         /* insert a port if the URI did not contain one */
         if (comp.port == 0)
-            comp.port = ap_default_port_for_scheme(comp.scheme);
+            comp.port = apr_uri_default_port_for_scheme(comp.scheme);
 
         /* now, verify that the URI uses the same scheme as the current.
            request. the port must match our port.
@@ -288,7 +288,7 @@ dav_lookup_result dav_lookup_uri(const char *uri, request_rec * r,
        the current request. Therefore, we can use ap_sub_req_lookup_uri() */
 
     /* reconstruct a URI as just the path */
-    new_file = ap_unparse_uri_components(r->pool, &comp, UNP_OMITSITEPART);
+    new_file = apr_uri_unparse_components(r->pool, &comp, UNP_OMITSITEPART);
 
     /*
      * Lookup the URI and return the sub-request. Note that we use the
@@ -542,7 +542,7 @@ static dav_error * dav_process_if_header(request_rec *r, dav_if_header **p_ih)
     const char *uri = NULL;    /* scope of current production; NULL=no-tag */
     size_t uri_len = 0;
     dav_if_header *ih = NULL;
-    uri_components parsed_uri;
+    apr_uri_components parsed_uri;
     const dav_hooks_locks *locks_hooks = DAV_GET_HOOKS_LOCKS(r);
     enum {no_tagged, tagged, unknown} list_type = unknown;
     int condition;
@@ -566,7 +566,7 @@ static dav_error * dav_process_if_header(request_rec *r, dav_if_header **p_ih)
             
             /* 2518 specifies this must be an absolute URI; just take the
              * relative part for later comparison against r->uri */
-            if (ap_parse_uri_components(r->pool, uri, &parsed_uri) != HTTP_OK) {
+            if (apr_uri_parse_components(r->pool, uri, &parsed_uri) != APR_SUCCESS) {
                 return dav_new_error(r->pool, HTTP_BAD_REQUEST,
                                      DAV_ERR_IF_TAGGED,
                                      "Invalid URI in tagged If-header.");
index 305617763642914f3a70c467b9f9867660f61bb9..2890cc9479afc88ff671616436ce487df3632c79 100644 (file)
@@ -344,7 +344,7 @@ static const char *log_request_line(request_rec *r, char *a)
             * (note also that r->the_request contains the unmodified request)
             */
     return (r->parsed_uri.password) ? apr_pstrcat(r->pool, r->method, " ",
-                                        ap_unparse_uri_components(r->pool, &r->parsed_uri, 0),
+                                        apr_uri_unparse_components(r->pool, &r->parsed_uri, 0),
                                         r->assbackwards ? NULL : " ", r->protocol, NULL)
                                        : r->the_request;
 }
index 5217ff373afc195880ebde0bf61b9fefa224de80..f37228571f35c07738e22f8b3422596162c7289c 100644 (file)
@@ -335,8 +335,8 @@ static char *try_alias_list(request_rec *r, apr_array_header_t *aliases, int doe
                    found = ap_pregsub(r->pool, p->real, r->uri,
                                    p->regexp->re_nsub + 1, regm);
                    if (found && doesc) {
-                        uri_components uri;
-                        ap_parse_uri_components(r->pool, found, &uri);
+                        apr_uri_components uri;
+                        apr_uri_parse_components(r->pool, found, &uri);
                        found = ap_escape_uri(r->pool, uri.path);
                         if (uri.query) {
                             found = apr_pstrcat(r->pool, found, "?", uri.query, NULL);
index 5472243568bce88d16548ccef6616e900abaa4a6..dbe340568dd49f082e31c8a60395a3086cc57a6e 100644 (file)
@@ -142,7 +142,7 @@ static unsigned iterate_pieces(request_rec *r, const test_uri_t *pieces, int row
     apr_pool_t *sub;
     char *input_uri;
     char *strp;
-    uri_components result;
+    apr_uri_components result;
     unsigned expect;
     int status;
     unsigned failures;
@@ -208,8 +208,8 @@ static unsigned iterate_pieces(request_rec *r, const test_uri_t *pieces, int row
        *strp = 0;
 
        sub = apr_pool_sub_make(r->pool);
-       status = ap_parse_uri_components(sub, input_uri, &result);
-       if (status == HTTP_OK) {
+       status = apr_uri_parse_components(sub, input_uri, &result);
+       if (status == APR_SUCCESS) {
 #define CHECK(f)                                                       \
            if ((expect & T_##f)                                        \
                && (result.f == NULL || strcmp(result.f, pieces->f))) { \
@@ -228,7 +228,7 @@ static unsigned iterate_pieces(request_rec *r, const test_uri_t *pieces, int row
            CHECK(fragment)
 #undef CHECK
        }
-       if (status != HTTP_OK) {
+       if (status != APR_SUCCESS) {
            ap_rprintf(r, "<tr><td>%d</td><td>0x%02x</td><td>0x%02x</td><td>%d</td><td>\"%s\"</td>", row, u, expect, status, input_uri);
 #define DUMP(f)                                                        \
            if (result.f) {                                             \
index c7d54516010049c491e4e5a73870c61b4eb4a26f..d5742edd38cc2f7ef3ff9229d9cebe4acbad3a9d 100644 (file)
@@ -1,6 +1,6 @@
 
 TARGET_EXPORTS    = apache.exports
-CLEAN_TARGETS = gen_test_char gen_uri_delims test_char.h uri_delims.h \
+CLEAN_TARGETS = gen_test_char test_char.h \
        $(TARGET_EXPORTS) ApacheCoreOS2.def
 EXTRACLEAN_TARGETS = exports.c
 
@@ -8,9 +8,9 @@ SUBDIRS = mpm
 
 LTLIBRARY_NAME    = libmain.la
 LTLIBRARY_SOURCES = \
-    uri_delims.h test_char.h \
+    test_char.h \
        config.c log.c main.c vhost.c util.c util_date.c \
-       util_script.c util_uri.c util_md5.c util_cfgtree.c util_ebcdic.c \
+       util_script.c util_md5.c util_cfgtree.c util_ebcdic.c \
        rfc1413.c connection.c listen.c \
         mpm_common.c util_charset.c util_debug.c util_xml.c \
        util_filter.c exports.c buildmark.c scoreboard.c \
@@ -21,21 +21,13 @@ TARGETS = delete-exports $(LTLIBRARY_NAME) $(CORE_IMPLIB_FILE)
 include $(top_srcdir)/build/rules.mk
 include $(top_srcdir)/build/library.mk
 
-gen_uri_delims_OBJECTS = gen_uri_delims.lo
-gen_uri_delims: $(gen_uri_delims_OBJECTS)
-       $(LINK) $(EXTRA_LDFLAGS) $(gen_uri_delims_OBJECTS) $(EXTRA_LIBS)
-
 gen_test_char_OBJECTS = gen_test_char.lo util_debug.lo
 gen_test_char: $(gen_test_char_OBJECTS)
        $(LINK) $(EXTRA_LDFLAGS) $(gen_test_char_OBJECTS) $(EXTRA_LIBS)
 
-uri_delims.h: gen_uri_delims
-       ./gen_uri_delims > uri_delims.h
-
 test_char.h: gen_test_char
        ./gen_test_char > test_char.h
 
-util_uri.lo: uri_delims.h
 util.lo: test_char.h
 
 EXPORT_FILES = ../srclib/apr/apr.exports ../srclib/apr-util/aprutil.exports \
index 3aabc7184aa7d9a69d5a66655635a969a0cb0d12..cfee4a987d9eab9facc7f4e9c6375777aa03a8f7 100644 (file)
@@ -72,7 +72,7 @@
 #include "http_log.h" 
 #include "http_config.h"
 #include "http_vhost.h"
-#include "util_uri.h" 
+#include "apr_uri.h" 
 #include "util_ebcdic.h"
 #include "ap_mpm.h"
 
index 28bb4dec5f78a1b86f35e6959993c93844ca2739..987e01c4b67c681f871ab4970460bc79fffaff0b 100644 (file)
@@ -326,14 +326,14 @@ AP_CORE_DECLARE(void) ap_parse_uri(request_rec *r, const char *uri)
     r->unparsed_uri = apr_pstrdup(r->pool, uri);
 
     if (r->method_number == M_CONNECT) {
-       status = ap_parse_hostinfo_components(r->pool, uri, &r->parsed_uri);
+       status = apr_uri_parse_hostinfo_components(r->pool, uri, &r->parsed_uri);
     }
     else {
        /* Simple syntax Errors in URLs are trapped by parse_uri_components(). */
-       status = ap_parse_uri_components(r->pool, uri, &r->parsed_uri);
+       status = apr_uri_parse_components(r->pool, uri, &r->parsed_uri);
     }
 
-    if (ap_is_HTTP_SUCCESS(status)) {
+    if (status == APR_SUCCESS) {
        /* if it has a scheme we may need to do absoluteURI vhost stuff */
        if (r->parsed_uri.scheme
            && !strcasecmp(r->parsed_uri.scheme, ap_http_method(r))) {
@@ -361,7 +361,7 @@ AP_CORE_DECLARE(void) ap_parse_uri(request_rec *r, const char *uri)
     else {
        r->args = NULL;
        r->hostname = NULL;
-       r->status = status;             /* set error status */
+       r->status = HTTP_BAD_REQUEST;             /* set error status */
        r->uri = apr_pstrdup(r->pool, uri);
     }
 }
index 9052723d76469fc5c19d2d2f42c2ce162830224e..265bf23a90ae01c1a2e80a7a1081802825c461f3 100644 (file)
@@ -310,7 +310,7 @@ int ap_update_child_status(int child_num, int thread_num, int status, request_re
            } else {
                /* Don't reveal the password in the server-status view */
                    apr_cpystrn(ws->request, apr_pstrcat(r->pool, r->method, " ",
-                                              ap_unparse_uri_components(r->pool, &r->parsed_uri, UNP_OMITPASSWORD),
+                                              apr_uri_unparse_components(r->pool, &r->parsed_uri, UNP_OMITPASSWORD),
                                               r->assbackwards ? NULL : " ", r->protocol, NULL),
                                       sizeof(ws->request));
            }