Some recent and also less recent additions to the code for apache2 (e.g. upload tempname ...) hadn't been ported to the apache1tree yet. It was a chance for me also to review this part of the project, compile and run it against apache 1.3.42.

if no-one objects within three days, I'll assume lazy consensus and commit it

-- Massimo


Index: src/apache-1/TclWebapache.c
===================================================================
--- src/apache-1/TclWebapache.c    (revision 937313)
+++ src/apache-1/TclWebapache.c    (working copy)
@@ -26,7 +26,7 @@

/* Rivet config */
#ifdef HAVE_CONFIG_H
-#include <config.h>
+#include <rivet_config.h>
#endif

#include <tcl.h>
@@ -537,6 +537,14 @@
    }
}

+int TclWeb_UploadTempname(Tcl_Obj *tempname, TclWebRequest *req)
+{
+    Tcl_SetStringObj(tempname,
+             TclWeb_StringToUtf(req->upload->tempname,
+                    req), -1);
+    return TCL_OK;
+}
+
int TclWeb_UploadSave(char *varname, Tcl_Obj *filename, TclWebRequest *req)
{
    int sz;
Index: src/apache-1/rivetCore.c
===================================================================
--- src/apache-1/rivetCore.c    (revision 937313)
+++ src/apache-1/rivetCore.c    (working copy)
@@ -21,7 +21,7 @@

/* Rivet config */
#ifdef HAVE_CONFIG_H
-#include <config.h>
+#include <rivet_config.h>
#endif

#include "httpd.h"
@@ -47,6 +47,7 @@
#define COOKIES_ARRAY_NAME "cookies"

extern module rivet_module;
+extern char* TclWeb_GetRawPost (TclWebRequest *req);

#define POOL (globals->r->pool)

@@ -578,6 +579,7 @@
    "size",
    "type",
    "filename",
+    "tempname",
    "names",
    NULL
    };
@@ -590,24 +592,26 @@
    SIZE,
    TYPE,
    FILENAME,
+    TEMPNAME,
    NAMES
    };

rivet_interp_globals *globals = Tcl_GetAssocData(interp, "rivet", NULL);
    command = Tcl_GetString(objv[1]);
    Tcl_GetIndexFromObj(interp, objv[1], SubCommand,
-            "channel|save|data|exists|size|type|filename|names",
+            "channel|save|data|exists|size|type|filename|tempname|names",
            0, &subcommandindex);

    /* If it's any of these, we need to find a specific name. */

-    /* Excluded cases are EXISTS and NAMES. */
-    if ((enum subcommand)subcommandindex == CHANNEL ||
-    (enum subcommand)subcommandindex == SAVE ||
-    (enum subcommand)subcommandindex == DATA ||
-    (enum subcommand)subcommandindex == EXISTS ||
-    (enum subcommand)subcommandindex == SIZE ||
-    (enum subcommand)subcommandindex == TYPE ||
+    /* Excluded case is NAMES. */
+    if ((enum subcommand)subcommandindex == CHANNEL    ||
+    (enum subcommand)subcommandindex == SAVE    ||
+    (enum subcommand)subcommandindex == DATA    ||
+    (enum subcommand)subcommandindex == EXISTS    ||
+    (enum subcommand)subcommandindex == SIZE    ||
+    (enum subcommand)subcommandindex == TYPE    ||
+    (enum subcommand)subcommandindex == TEMPNAME    ||
    (enum subcommand)subcommandindex == FILENAME)
    {
    varname = Tcl_GetString(objv[2]);
@@ -686,6 +690,9 @@
    }
    TclWeb_UploadNames(result, globals->req);
    break;
+    case TEMPNAME:
+    TclWeb_UploadTempname(result,globals->req);
+    break;
    default:
    Tcl_WrongNumArgs(interp, 1, objv,
             "channel|save ?name?|data|exists|size|type|filename|names");
Index: src/apache-1/mod_rivet.c
===================================================================
--- src/apache-1/mod_rivet.c    (revision 937313)
+++ src/apache-1/mod_rivet.c    (working copy)
@@ -17,7 +17,7 @@

/* Rivet config */
#ifdef HAVE_CONFIG_H
-#include <config.h>
+#include <rivet_config.h>
#endif

/* Apache includes */
@@ -752,8 +752,7 @@

    /* Create TCL commands to deal with Apache's BUFFs. */
    rsc->outchannel = ap_pcalloc(p, sizeof(Tcl_Channel));
-    *(rsc->outchannel) = Tcl_CreateChannel(&RivetChan, "apacheout", rsc,
-                       TCL_WRITABLE);
+ *(rsc->outchannel) = Tcl_CreateChannel(&RivetChan, "apacheout", rsc, TCL_WRITABLE);

    Tcl_SetStdChannel(*(rsc->outchannel), TCL_STDOUT);

@@ -782,7 +781,7 @@
     * links a specific installation to RivetTcl's version
     */

-    if (Tcl_EvalFile(interp,RIVETLIB_DESTDIR"/init.tcl") == TCL_ERROR) {
+ if (Tcl_EvalFile(interp,RIVET_RIVETLIB_DESTDIR"/init.tcl") == TCL_ERROR) {
    ap_log_error( APLOG_MARK, APLOG_ERR, s,
"init.tcl must be installed correctly for Apache Rivet to function: %s",
              Tcl_GetStringResult(interp) );
@@ -858,7 +857,7 @@
    server_rec *sr;

    /* Initialize TCL stuff  */
-    Tcl_FindExecutable(NAMEOFEXECUTABLE);
+    Tcl_FindExecutable(RIVET_NAMEOFEXECUTABLE);
    interp = Tcl_CreateInterp();

    if (interp == NULL)
@@ -1534,13 +1533,13 @@


MODULE_VAR_EXPORT void
-Rivet_InitHandler(server_rec *s, pool *p)
+Rivet_InitHandler(server_rec *s, pool *pPool)
{
-#ifndef HIDE_RIVET_VERSION
-    ap_add_version_component("Rivet/"VERSION);
+#if RIVET_DISPLAY_VERSION
+    ap_add_version_component(RIVET_PACKAGE_NAME"/"RIVET_PACKAGE_VERSION);
#else
-    ap_add_version_component("Rivet");
-#endif /* !HIDE_RIVET_VERSION */
+    ap_add_version_component(RIVET_PACKAGE_NAME);
+#endif /* RIVET_DISPLAY_VERSION */
}

const handler_rec rivet_handlers[] =
Index: src/apache-1/apache_request.c
===================================================================
--- src/apache-1/apache_request.c    (revision 937313)
+++ src/apache-1/apache_request.c    (working copy)
@@ -316,7 +316,7 @@
    return OK;
}

-static int urlword_dlm[] = {'&', ';', 0};
+// static int urlword_dlm[] = {'&', ';', 0};

static char *my_urlword(pool *p, const char **line)
{
@@ -409,7 +409,7 @@
        return rc;
    }
    if (data) {
- req->raw_post = data; /* Give people a way of getting at the raw data. */ + req->raw_post = (char *) data; /* Give people a way of getting at the raw data. */
        split_to_parms(req, data);
    }
    }
Index: src/apache-1/apache_multipart_buffer.c
===================================================================
--- src/apache-1/apache_multipart_buffer.c    (revision 937313)
+++ src/apache-1/apache_multipart_buffer.c    (working copy)
@@ -17,7 +17,7 @@

/* Rivet config */
#ifdef HAVE_CONFIG_H
-#include <config.h>
+#include <rivet_config.h>
#endif

#include "apache_multipart_buffer.h"



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to