[squid-users] Trouble writing external acl helper

From: marriedto51 <johnmwilson_at_talktalk.net>
Date: Wed, 14 Apr 2010 00:38:10 -0800 (PST)

I am almost certainly missing something very basic, but I haven't found out
what after searching here and elsewhere, so any help will be greatly
appreciated.

I'm using squid 3.1 on Fedora 12 (64-bit).

I want to write an external acl helper (for fun!) and started with a toy
example written in C which is only going to allow the URL
"http://www.google.com". It works as I expect when I run it at the command
line (lines are read one-by-one from standard input and a reply of "OK" or
"ERR" appears on standard output), but the output I get from squid says:

    2010/04/14 08:40:23.731| helperOpenServers: Starting 5/5 'toy_helper'
processes
    ...
    2010/04/14 08:40:31.197| WARNING: toy_helper #1 (FD 7) exited
    2010/04/14 08:40:31.197| WARNING: toy_helper #3 (FD 11) exited
    2010/04/14 08:40:31.198| WARNING: toy_helper #2 (FD 9) exited
    2010/04/14 08:40:31.198| WARNING: toy_helper #4 (FD 13) exited
    2010/04/14 08:40:31.198| Too few toy_helper processes are running
    ...
    FATAL: The toy_helper helpers are crashing too rapidly, need help!

In the squid.conf file I've put:

    external_acl_type toy_helper %PATH /tmp/squid-tests/toy_helper
    acl toy external toy_helper

This squid.conf and the toy_helper executable are both in /tmp/squid-tests,
and everything there is world-readable.

Lastly, here is the source for toy_helper:

   1 #include <stdio.h>
   2 #include <string.h>
   3 #define BUFSIZE 8192
   4
   5 int
   6 main(int argc, char *argv[])
   7 {
   8
   9 char buf[BUFSIZE];
  10
  11 /* make standard output and input unbuffered */
  12 setvbuf(stdout, NULL, _IONBF, 0);
  13 setvbuf(stdin, NULL, _IONBF, 0);
  14
  15 /* main loop: read lines from stdin */
  16 while ( fgets(buf, sizeof(buf), stdin) )
  17 {
  18 if ( strcmp("http://www.google.com/\n", buf) == 0 )
  19 printf("OK\n");
  20 else
  21 printf("ERR\n");
  22 }
  23
  24 return 0;
  25 }

Thanks in advance for any clues,
John.

-- 
View this message in context: http://n4.nabble.com/Trouble-writing-external-acl-helper-tp1839464p1839464.html
Sent from the Squid - Users mailing list archive at Nabble.com.
Received on Wed Apr 14 2010 - 08:38:12 MDT

This archive was generated by hypermail 2.2.0 : Wed Apr 14 2010 - 12:00:04 MDT