To install the squid package:
# pkgadd -d `pwd`/squid.pkgTo start squid, use the /usr/sbin/squid script:
# squid startTo stop squid:
# squid stopOptions 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.
# custom -i -p SCO:Squid -z `pwd`The squid start/stop script behaves the same on OpenServer as it does on Unixware.
# /usr/internet/squid/bin/squid -z # squid start
*** 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:
*** 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