[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