[interchange-cvs] interchange - kwalsh modified 4 files

interchange-core@icdevgroup.org interchange-core@icdevgroup.org
Wed Jan 8 23:55:01 2003


User:      kwalsh
Date:      2003-01-09 04:54:27 GMT
Modified:  dist/src/mod_interchange Makefile README mod_interchange.c
Modified:           mod_interchange.html
Log:
	* Fixed a weird bug where empty HTTP variables were being passed
	  under certain circumstances.

Revision  Changes    Path
2.2       +0 -0      interchange/dist/src/mod_interchange/Makefile


rev 2.2, prev_rev 2.1
Index: Makefile
===================================================================
RCS file: /var/cvs/interchange/dist/src/mod_interchange/Makefile,v
retrieving revision 2.1
retrieving revision 2.2
diff -u -r2.1 -r2.2
--- Makefile	24 Jun 2002 11:51:35 -0000	2.1
+++ Makefile	9 Jan 2003 04:54:26 -0000	2.2
@@ -1,5 +1,5 @@
 #
-#	$Id: Makefile,v 2.1 2002/06/24 11:51:35 kwalsh Exp $
+#	$Id: Makefile,v 2.2 2003/01/09 04:54:26 kwalsh Exp $
 #
 #	mod_interchange makefile
 #



2.6       +6 -4      interchange/dist/src/mod_interchange/README


rev 2.6, prev_rev 2.5
Index: README
===================================================================
RCS file: /var/cvs/interchange/dist/src/mod_interchange/README,v
retrieving revision 2.5
retrieving revision 2.6
diff -u -r2.5 -r2.6
--- README	28 Nov 2002 22:19:24 -0000	2.5
+++ README	9 Jan 2003 04:54:26 -0000	2.6
@@ -1,18 +1,20 @@
 mod_interchange
 ===============
 
-$Id: README,v 2.5 2002/11/28 22:19:24 kwalsh Exp $
+$Id: README,v 2.6 2003/01/09 04:54:26 kwalsh Exp $
 
-Version: 1.27
+Version: 1.28
 
 Description
 -----------
 
 mod_interchange is designed to replace the vlink and tlink programs
 that comes with Interchange.  The Interchange link protocol has been
- implemented via an Apache module which saves us the (small) overhead
+implemented via an Apache module which saves us the (small) overhead
 of the execution of a CGI program.
 
+Note that this module is not compatible with Apache 2.
+
 Building the module
 -------------------
 
@@ -121,7 +123,7 @@
 ---------------------
 
 Copyright (c) 1999 Francis J. Lacoste and iNsu Innovations Inc.
-Copyright (c) 2000-2002 Cursor Software Limited.
+Copyright (c) 2000-2003 Cursor Software Limited.
 All rights reserved.
 
 This program is free software.  You can redistribute it and/or modify



2.7       +15 -11    interchange/dist/src/mod_interchange/mod_interchange.c


rev 2.7, prev_rev 2.6
Index: mod_interchange.c
===================================================================
RCS file: /var/cvs/interchange/dist/src/mod_interchange/mod_interchange.c,v
retrieving revision 2.6
retrieving revision 2.7
diff -u -r2.6 -r2.7
--- mod_interchange.c	28 Nov 2002 22:19:24 -0000	2.6
+++ mod_interchange.c	9 Jan 2003 04:54:26 -0000	2.7
@@ -1,16 +1,16 @@
 /*
- *	$Id: mod_interchange.c,v 2.6 2002/11/28 22:19:24 kwalsh Exp $
+ *	$Id: mod_interchange.c,v 2.7 2003/01/09 04:54:26 kwalsh Exp $
  *
  *	Apache Module implementation of the Interchange application server
  *	link programs.
  *
- *	Version: 1.27
+ *	Version: 1.28
  *
  *	Author: Kevin Walsh <kevin@cursor.biz>
  *	Based on original code by Francis J. Lacoste <francis.lacoste@iNsu.COM>
  *
  *	Copyright (c) 1999 Francis J. Lacoste, iNsu Innovations.
- *	Copyright (c) 2000-2002 Cursor Software Limited.
+ *	Copyright (c) 2000-2003 Cursor Software Limited.
  *	All rights reserved.
  *
  *	This program is free software; you can redistribute it and/or modify
@@ -42,7 +42,7 @@
 #include <sys/un.h>
 #include <unistd.h>
 
-#define	MODULE_VERSION	"mod_interchange/1.27"
+#define	MODULE_VERSION	"mod_interchange/1.28"
 
 #ifdef	OSX
 typedef long socklen_t;
@@ -446,7 +446,6 @@
 	int env_count,rc;
 	char request_uri[HUGE_STRING_LEN];
 	char redirect_url[HUGE_STRING_LEN];
-char DEBUG[100];
 
 	/*
 	 *	send the Interchange-link arg parameter
@@ -491,6 +490,7 @@
 	request_uri[0] = '\0';
 	redirect_url[0] = '\0';
 	for (e = env; *e != NULL; e++){
+		int len;
 		if (strncmp(*e,"PATH_INFO=",10) == 0)
 			continue;
 		if (strncmp(*e,"REDIRECT_URL=",13) == 0){
@@ -505,9 +505,11 @@
 			if (*(*e + 12 + conf_rec->loclen) == '/')
 				*(*e + 12 + conf_rec->loclen) = '\0';
 		}
-		if (ap_bprintf(ic_buff,"%d %s\n",strlen(*e),*e) < 0){
-			ap_log_reason("error writing to Interchange",r->uri,r);
-			return HTTP_INTERNAL_SERVER_ERROR;
+		if (len = strlen(*e)){
+			if (ap_bprintf(ic_buff,"%d %s\n",len,*e) < 0){
+				ap_log_reason("error writing to Interchange",r->uri,r);
+				return HTTP_INTERNAL_SERVER_ERROR;
+			}
 		}
 		ap_reset_timeout(r);
 	}
@@ -516,9 +518,8 @@
 	while (*rp == '/')
 		rp++;
 
-	if (strncmp(rp,conf_rec->location,conf_rec->loclen) == 0){
+	if (strncmp(rp,conf_rec->location,conf_rec->loclen) == 0)
 		rp += conf_rec->loclen;
-	}
 
 	strcpy(request_uri,rp);
 	for (rp = request_uri; *rp != '\0'; rp++){
@@ -643,7 +644,6 @@
 static int ic_transfer_response(request_rec *r,BUFF *ic_buff)
 {
 	const char *location;
-	BUFF *client_buff = r->connection->client;
 	int rc,ic_sock;
 	char sbuf[MAX_STRING_LEN],argsbuffer[HUGE_STRING_LEN];
 
@@ -894,3 +894,7 @@
 	NULL,			/* process exit/cleanup               */
 	NULL			/* [1]  post read_request handling    */
 };
+
+/*
+ *	vim:ts=8:sw=8
+ */



2.7       +17 -6     interchange/dist/src/mod_interchange/mod_interchange.html


rev 2.7, prev_rev 2.6
Index: mod_interchange.html
===================================================================
RCS file: /var/cvs/interchange/dist/src/mod_interchange/mod_interchange.html,v
retrieving revision 2.6
retrieving revision 2.7
diff -u -r2.6 -r2.7
--- mod_interchange.html	28 Nov 2002 22:19:24 -0000	2.6
+++ mod_interchange.html	9 Jan 2003 04:54:26 -0000	2.7
@@ -1,24 +1,24 @@
-<!-- $Id: mod_interchange.html,v 2.6 2002/11/28 22:19:24 kwalsh Exp $ -->
+<!-- $Id: mod_interchange.html,v 2.7 2003/01/09 04:54:26 kwalsh Exp $ -->
 <html>
 <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>Apache module: mod_interchange (version 1.27)</title>
+   <title>Apache module: mod_interchange (version 1.28)</title>
 </head>
 <body bgcolor="#FFFFFF" text="#000000">
-    <h1>Apache module: mod_interchange (version 1.27)</h1>
+    <h1>Apache module: mod_interchange (version 1.28)</h1>
     <h2>Apache link module for Interchange</h2>
     <p>
 	This module replaces the <i>tlink</i> and <i>vlink</i> programs
 	that come with <a href="http://www.icdevgroup.org/">Interchange</a>.&nbsp;
 	It has been tested with all Interchange versions up to and
-	including 4.9.3 (development).&nbsp;
+	including 4.9.5 (development).&nbsp;
 	Although this module is known to have worked with MiniVend versions 3
 	and 4, its current compatibility has not been tested.
     </p>
     <p>
 	This module has been tested with Apache versions 1.3.6
 	through 1.3.26.&nbsp;
-	Note that this module is not compatible with Apache 2.
+	<b>Note that this module is not compatible with Apache 2.</b>
     </p>
 
     <h2>Contents</h2>
@@ -195,6 +195,17 @@
     <h2><a name="changelog">Change Log</a></h2>
     <ul>
 	<li>
+	    1.28
+	    (Thu 09 Jan 2003)
+	    Kevin Walsh &lt;kevin@cursor.biz&gt;<br>
+	    <ul>
+		<li>
+		    Fixed a weird bug where null HTTP variables were being
+		    passed under certain circumstances.
+		</li>
+	    </ul>
+	    <br>
+	</li><li>
 	    1.27
 	    (Wed 27 Nov 2002)
 	    Kevin Walsh &lt;kevin@cursor.biz&gt;<br>
@@ -439,7 +450,7 @@
     <h2><a name="copyright">Copyright and License</a></h2>
     <p>
 	Copyright &copy; 1999 Francis J. Lacoste and iNsu Innovations Inc.<br>
-	Copyright &copy; 2000-2002 Cursor Software Limited.<br>
+	Copyright &copy; 2000-2003 Cursor Software Limited.<br>
 	All rights reserved.
     </p><p>
 	This program is free software.&nbsp;