RELEASE NOTES

Squid 2.2.STABLE5 for SCO Operating Systems


Contents

License
Supported Platforms
Documentation
Installation
Configuration
Obtaining Source

License

Squid 2.2.STABLE5 is licensed under the GNU General Public License(version 2).

Supported Platforms

The SCO squid product is expected to run on the following versions of SCO's operating system platforms:

Documentation

Squid 2.2.STABLE5 for SCO includes the User's Guide in /usr/internet/squid/docs/. Additional documentation, including the FAQ, may be found at http://www.squid-cache.org/. One final source of information is squid's configuration file, /usr/internet/squid/etc/squid.conf, which is heavily commented.

Installation

UnixWare 7

The package name 'squid' conflicts directly with Squid on Skunkware. If the Skunkware Squid is installed, it must be removed before installing this one. Before removing the Skunkware Squid package, it may be desirable to take a backup of the existing squid.conf file.

To install the squid package:

# pkgadd -d `pwd`/squid.pkg
To start squid, use the /usr/sbin/squid script:
# squid start
To stop squid:
# squid stop
Options accepted by /usr/sbin/squid include start, stop, enable, disable, query, restart, and rotate. See squid(1M) for details.

This squid package installs into /usr/internet/squid, rather than squid's usual directory /usr/local/squid. It uses the industry standard port of 8080, rather than the historical squid standard of 3128.

OpenServer 5

To install the squid package from custom volumes, place the volume images in any directory and from that directory type:
# custom -i -p SCO:Squid -z `pwd`
The squid start/stop script behaves the same on OpenServer as it does on Unixware.

Configuration

Configuration changes should be made in /usr/internet/squid/etc/squid.conf. If the server is running, it will need to be restarted for changes to take effect.

Obtaining Source

Squid 2.2.STABLE5 for SCO is built using the standard source available for download from http://www.squid-cache.org.

UnixWare 7

Before building, it is necessary to apply the following patch to src/ftp.c:
*** ftp.c.default       Tue Sep 28 14:11:21 1999
--- ftp.c       Tue Sep 28 14:13:33 1999
***************
*** 867,872 ****
--- 867,876 ----
      memset(ftpState->data.buf + ftpState->data.offset, '\0', read_sz);
      Counter.syscalls.sock.reads++;
      len = read(fd, ftpState->data.buf + ftpState->data.offset, read_sz);
+     if (len == 0) {
+       Counter.syscalls.sock.reads++;
+       len = read(fd, ftpState->data.buf + ftpState->data.offset, read_sz);
+     }
      if (len > 0) {
        fd_bytes(fd, len, FD_READ);
  #if DELAY_POOLS
This patch works around a bug in the UnixWare 7.0.1 sockets library.

After applying the patch, Squid for SCO is built with the following options:

OpenServer 5

Before building, it is necessary to apply the following patch to src/pinger.c:
*** pinger.c.original Tue Oct 19 13:23:47 1999
--- pinger.c Tue Oct 19 13:26:35 1999
***************
*** 111,116 ****
      "Out of Range Type"
  };
  
  static int in_cksum(unsigned short *ptr, int size);
  static void pingerRecv(void);
  static void pingerLog(struct icmphdr *, struct in_addr, int, int);
--- 111,117 ----
      "Out of Range Type"
  };
  
+ #ifndef _SCO_DS
  static int in_cksum(unsigned short *ptr, int size);
  #endif
  static void pingerRecv(void);
***************
*** 112,117 ****
  };
  
  static int in_cksum(unsigned short *ptr, int size);
  static void pingerRecv(void);
  static void pingerLog(struct icmphdr *, struct in_addr, int, int);
  static int ipHops(int ttl);
--- 113,119 ----
  
  #ifndef _SCO_DS
  static int in_cksum(unsigned short *ptr, int size);
+ #endif
  static void pingerRecv(void);
  static void pingerLog(struct icmphdr *, struct in_addr, int, int);
  static int ipHops(int ttl);
***************
*** 242,248 ****
      pingerLog(icmp, from.sin_addr, preply.rtt, preply.hops);
  }
  
! 
  static int
  in_cksum(unsigned short *ptr, int size)
  {
--- 244,250 ----
      pingerLog(icmp, from.sin_addr, preply.rtt, preply.hops);
  }
  
! #ifndef _SCO_DS
  static int
  in_cksum(unsigned short *ptr, int size)
  {
***************
*** 264,269 ****
      answer = ~sum;
      return (answer);
  }
  
  static void
  pingerLog(struct icmphdr *icmp, struct in_addr addr, int rtt, int hops)
--- 266,272 ----
      answer = ~sum;
      return (answer);
  }
+ #endif
  
  static void
  pingerLog(struct icmphdr *icmp, struct in_addr addr, int rtt, int hops)

SCO is built using the following options:
  • --prefix=/usr/internet/squid
  • --enable-icmp
  • --enable-snmp
  • --enable-time-hack
  • --enable-useragent-log
  • --enable-htcp
  • --enable-carp
  • --enable-gnuregex
  • --enable-delay-pools
  • --enable-cache-digests