[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ipcop-svn
Subject:    [Ipcop-svn] SF.net SVN: ipcop:[7494] ipcop/trunk
From:       owes () users ! sourceforge ! net
Date:       2014-04-22 15:18:29
Message-ID: E1WccSv-0007qF-Ut () sfs-ml-3 ! v29 ! ch3 ! sourceforge ! com
[Download RAW message or body]

Revision: 7494
          http://sourceforge.net/p/ipcop/svn/7494
Author:   owes
Date:     2014-04-22 15:18:27 +0000 (Tue, 22 Apr 2014)
Log Message:
-----------
Fix (from squid developers) for newer redirector protocol.
Pass input line (without modifications!) to work with newer squid versions.

Modified Paths:
--------------
    ipcop/trunk/lfs/squidGuard
    ipcop/trunk/src/patches/squidGuard-1.5-beta_stdout-always.patch

Added Paths:
-----------
    ipcop/trunk/src/patches/squidGuard-1.5-beta_helper-protocol.patch

Modified: ipcop/trunk/lfs/squidGuard
===================================================================
--- ipcop/trunk/lfs/squidGuard	2014-04-22 10:07:27 UTC (rev 7493)
+++ ipcop/trunk/lfs/squidGuard	2014-04-22 15:18:27 UTC (rev 7494)
@@ -89,6 +89,7 @@
 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar xf $(DIR_DL)/$(DL_FILE)
 	cd $(DIR_APP) && tar xf $(DIR_DL)/$(PATCH1)
 	cd $(DIR_APP) && for patch in `cat debian/patches/series` ; do echo "Using \
$$patch"; patch -p1 -i debian/patches/$$patch; done +	cd $(DIR_APP) && patch -Np1 -i \
$(DIR_PATCHES)/$(THISAPP)_helper-protocol.patch  cd $(DIR_APP) && patch -Np1 -i \
$(DIR_PATCHES)/$(THISAPP)_stdout-always.patch  cd $(DIR_APP) && patch -Np1 -i \
$(DIR_PATCHES)/$(THISAPP)_db_v4_up.patch  cd $(DIR_APP) && patch -Np1 -i \
$(DIR_PATCHES)/$(THISAPP)_remove-debug-logging.patch @@ -103,7 +104,7 @@
 	# Fix 'yyunput' and 'input' defined but not used
 	cd $(DIR_APP) && sed -i 's/ignore  /%option noinput\n%option nounput\n&/' src/sg.l
 	# add additional version info
-	cd $(DIR_APP) && sed -i 's:#define VERSION\(.*\):#define VERSION\1 \" \(IPCop \
patchlevel 5\)\":g' src/version.h +	cd $(DIR_APP) && sed -i 's:#define \
VERSION\(.*\):#define VERSION\1 \" \(IPCop patchlevel 2\)\":g' src/version.h  
 	# Use --with-db, so /usr/local does not appear for db
 	cd $(DIR_APP) && ./configure --prefix=/usr \

Added: ipcop/trunk/src/patches/squidGuard-1.5-beta_helper-protocol.patch
===================================================================
--- ipcop/trunk/src/patches/squidGuard-1.5-beta_helper-protocol.patch	                \
                (rev 0)
+++ ipcop/trunk/src/patches/squidGuard-1.5-beta_helper-protocol.patch	2014-04-22 \
15:18:27 UTC (rev 7494) @@ -0,0 +1,125 @@
+
+From Jeffries Amos http://bugs.squid-cache.org/show_bug.cgi?id=3978#c5
+
+--- squidGuard-1.5-beta.orig/src/main.c	2013-12-12 11:47:31.000000000 +1300
++++ squidGuard-1.5-beta.orig/src/main.c	2013-12-12 11:50:38.000000000 +1300
+@@ -185,7 +185,7 @@ 
+ 	sgReloadConfig();
+       }
+       if(failsafe_mode) {
+-	puts("");
++	puts("ERR message=\"squidGuard failsafe mode\"");
+ 	fflush(stdout);
+ 	if(sig_hup){
+           sgReloadConfig();
+@@ -194,7 +194,7 @@ 
+       }
+       if(parseLine(buf,&squidInfo) != 1){
+ 	sgLogError("ERROR: Error parsing squid line: %s",buf);
+-	puts("");
++	puts("BH message=\"squidGuard error parsing squid line\"");
+       }
+         else {
+ 	src = Source;
+@@ -206,14 +206,14 @@ 
+ 	  acl = sgAclCheckSource(src);
+ 	  if((redirect = sgAclAccess(src,acl,&squidInfo)) == NULL){
+ 	    if(src == NULL || src->cont_search == 0){
+-	      puts(""); 
++	      puts("ERR");
+ 	      break;
+ 	    } else
+ 	      if(src->next != NULL){
+ 		src = src->next;
+ 		continue;
+ 	      } else {
+-		puts("");
++		puts("ERR");
+ 		break;
+ 	      }
+ 	  } else {
+@@ -228,6 +228,10 @@ 
+ 	    fprintf(stdout,"%s %s/%s %s %s\n",redirect,squidInfo.src,
+ 		    squidInfo.srcDomain,squidInfo.ident,
+ 		    squidInfo.method);
++           if (isdigit(redirect[0]) && isdigit(redirect[1]) && isdigit(redirect[2]) \
&& redirect[3]==':') { ++             fprintf(stdout,"OK status=%c%c%c url=\"%s\"\n", \
redirect[0], redirect[1], redirect[2], &redirect[4]); ++           } else
++             fprintf(stdout,"OK rewrite-url=\"%s\"\n",redirect);
+             /* sgLogDebug("DEBUG: %s %s/%s %s \
%s\n",redirect,squidInfo.src,squidInfo.srcDomain,squidInfo.ident,squidInfo.method);  \
*/ + 	    break;
+ 	  }
+--- squidGuard-1.5-beta.orig/src/main.c.in	2013-12-12 11:47:31.000000000 +1300
++++ squidGuard-1.5-beta.orig/src/main.c.in	2013-12-12 11:53:18.000000000 +1300
+@@ -185,7 +185,7 @@ 
+ 	sgReloadConfig();
+       }
+       if(failsafe_mode) {
+-	puts("");
++	puts("ERR message=\"squidGuard failsafe mode\"");
+ 	fflush(stdout);
+ 	if(sig_hup){
+           sgReloadConfig();
+@@ -194,7 +194,7 @@ 
+       }
+       if(parseLine(buf,&squidInfo) != 1){
+ 	sgLogError("ERROR: Error parsing squid line: %s",buf);
+-	puts("");
++	puts("BH message=\"squidGuard error parsing squid line\"");
+       }
+         else {
+ 	src = Source;
+@@ -206,14 +206,14 @@ 
+ 	  acl = sgAclCheckSource(src);
+ 	  if((redirect = sgAclAccess(src,acl,&squidInfo)) == NULL){
+ 	    if(src == NULL || src->cont_search == 0){
+-	      puts(""); 
++	      puts("ERR");
+ 	      break;
+ 	    } else
+ 	      if(src->next != NULL){
+ 		src = src->next;
+ 		continue;
+ 	      } else {
+-		puts("");
++		puts("ERR");
+ 		break;
+ 	      }
+ 	  } else {
+@@ -225,9 +225,11 @@ 
+ 	      squidInfo.ident[0] = '-';
+ 	      squidInfo.ident[1] = '\0';
+ 	    }
+-	    fprintf(stdout,"%s %s/%s %s %s\n",redirect,squidInfo.src,
+-		    squidInfo.srcDomain,squidInfo.ident,
+-		    squidInfo.method);
++           if (isdigit(redirect[0]) && isdigit(redirect[1]) && isdigit(redirect[2]) \
&& redirect[3]==':') { ++             fprintf(stdout,"OK status=%c%c%c url=\"%s\"\n", \
redirect[0], redirect[1], redirect[2], &redirect[4]); ++           } else
++             fprintf(stdout,"OK rewrite-url=\"%s\"\n",redirect);
++
+             /* sgLogDebug("DEBUG: %s %s/%s %s \
%s\n",redirect,squidInfo.src,squidInfo.srcDomain,squidInfo.ident,squidInfo.method);  \
*/ + 	    break;
+ 	  }
+--- squidGuard-1.5-beta.orig/src/sgDiv.c	2013-12-12 11:47:31.000000000 +1300
++++ squidGuard-1.5-beta.orig/src/sgDiv.c	2013-12-12 11:48:36.000000000 +1300
+@@ -782,7 +782,7 @@ 
+   }
+   sgLogError("ERROR: Going into emergency mode");
+   while(fgets(buf, MAX_BUF, stdin) != NULL){
+-    puts("");
++    puts("ERR");
+     fflush(stdout);
+   }
+   sgLogError("ERROR: Ending emergency mode, stdin empty");
+--- squidGuard-1.5-beta.orig/src/sgDiv.c.in	2013-12-12 11:47:31.000000000 +1300
++++ squidGuard-1.5-beta.orig/src/sgDiv.c.in	2013-12-12 11:48:36.000000000 +1300
+@@ -782,7 +782,7 @@ 
+   }
+   sgLogError("ERROR: Going into emergency mode");
+   while(fgets(buf, MAX_BUF, stdin) != NULL){
+-    puts("");
++    puts("ERR");
+     fflush(stdout);
+   }
+   sgLogError("ERROR: Ending emergency mode, stdin empty");

Modified: ipcop/trunk/src/patches/squidGuard-1.5-beta_stdout-always.patch
===================================================================
--- ipcop/trunk/src/patches/squidGuard-1.5-beta_stdout-always.patch	2014-04-22 \
                10:07:27 UTC (rev 7493)
+++ ipcop/trunk/src/patches/squidGuard-1.5-beta_stdout-always.patch	2014-04-22 \
15:18:27 UTC (rev 7494) @@ -31,48 +31,29 @@
      case 'c':
        configFile = optarg;
        break;
-@@ -206,14 +210,19 @@
+@@ -206,7 +210,12 @@
  	  acl = sgAclCheckSource(src);
  	  if((redirect = sgAclAccess(src,acl,&squidInfo)) == NULL){
  	    if(src == NULL || src->cont_search == 0){
--	      puts(""); 
 +	      if (globalFullStdout) {
-+	        fprintf(stdout, "%s %s/%s %s %s\n", squidInfo.origraw, squidInfo.src, \
squidInfo.srcDomain, squidInfo.ident, squidInfo.method); ++	        puts(buf);
 +	      }
 +	      else {
-+	        puts("");
+ 	      puts("ERR");
 +	      }
  	      break;
  	    } else
  	      if(src->next != NULL){
+@@ -222,7 +223,12 @@
  		src = src->next;
  		continue;
  	      } else {
--		puts("");
-+		puts("");  /* TODO: do we need to patch this line, with what ? */
++	      if (globalFullStdout) {
++	        puts(buf);
++	      }
++	      else {
+ 		puts("ERR");
++	      }
  		break;
  	      }
  	  } else {
-diff -Nur a/src/sgDiv.c.in b/src/sgDiv.c.in
---- a/src/sgDiv.c.in	2010-09-08 13:57:18.000000000 +0200
-+++ b/src/sgDiv.c.in	2013-06-03 21:43:02.000000000 +0200
-@@ -100,6 +100,8 @@
-   
-   field = strtok(line,"\t ");
-   /*field holds each fetched url*/
-+  /* remember real raw url in case everything is ok an we want to stdout it */
-+  strcpy(s->origraw,field);  
-   /* Let's first decode the url and then test it. Fixes bug2. */
-   HTUnEscape(field);
- 
-diff -Nur a/src/sg.h.in b/src/sg.h.in
---- a/src/sg.h.in	2010-09-08 13:57:18.000000000 +0200
-+++ b/src/sg.h.in	2013-05-31 13:00:50.000000000 +0200
-@@ -164,6 +164,7 @@
-   int  dot;  /* true if domain is in dot notation */
-   char url[MAX_BUF];
-   char orig[MAX_BUF];
-+  char origraw[MAX_BUF];
-   char surl[MAX_BUF];	
-   char furl[MAX_BUF];
-   char *strippedurl;

This was sent by the SourceForge.net collaborative development platform, the world's \
largest Open Source development site.


------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
Ipcop-svn mailing list
Ipcop-svn@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ipcop-svn


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic