Buglet in ipcCreate when proxy_auth configured?

From: Ed Kubaitis <ejk@dont-contact.us>
Date: Sun, 18 Jul 1999 13:00:50 -0500

Hello,

My first post to this list, so let me take this opportunity to
thank the squid developers for their efforts.

Ran into a problem bringing up squid-2.2STABLE4 on Solaris 2.6
configured with authenticate_program and proxy_auth entries.
Escalating logging options, eventually discovered this clue:
...
1999/07/16 16:18:27| ipcCreate: PARENT: hello read test failed
1999/07/16 16:18:27| --> got 'hi%20there%0a1999/07/16%2016:18:27%7c%20ip'
1999/07/16 16:18:27| WARNING: Cannot run '/var/info/bluestem/lib/squid_newsproxy_auth' process.
...

Looking at ipc.c, eventually concluded that the problem was that during
the ipcCreate() comm check, the child was failing to account for the \0
string terminator in its write() byte count.

I can easily imagine that that this problem would not be
encountered on different platforms/compilers/configurations
than mine, so maybe that's why no one else seems to have reported
it yet.

The attached mod allowed me to get past this problem and get
confused at a higher level about more important things :-)

--------------------------
Ed Kubaitis - ejk@uiuc.edu
CCSO - University of Illinois at Urbana-Champaign
==========================================================================
*** squid-2.2.STABLE4/src/ipc.c- Fri Nov 20 00:08:01 1998
--- squid-2.2.STABLE4/src/ipc.c Sat Jul 17 09:36:12 1999
***************
*** 234,240 ****
            _exit(1);
        }
      } else {
! if (write(cwfd, hello_string, strlen(hello_string)) < 0) {
            debug(50, 0) ("write FD %d: %s\n", cwfd, xstrerror());
            debug(50, 0) ("ipcCreate: CHILD: hello write test failed\n");
            _exit(1);
--- 234,240 ----
            _exit(1);
        }
      } else {
! if (write(cwfd, hello_string, strlen(hello_string) + 1) < 0) {
            debug(50, 0) ("write FD %d: %s\n", cwfd, xstrerror());
            debug(50, 0) ("ipcCreate: CHILD: hello write test failed\n");
            _exit(1);
Received on Sun Jul 18 1999 - 11:38:26 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:47:27 MST