This is the port for OS/2 platform of the Squid version 2.5.STABLE1
HTTP caching proxy server.

The first port was made by Peter Meerwald (pmeerw@cosy.sbg.ac.at,
seawood@very.priv.at) for versions 1.1.0 and 1.1.15.

All information about Squid is available on 
http://squid-cache.org/.

System requirements:
OS/2 Warp 3.0 with FP18, Warp 4.0 or Warp 4.5.
TCP/IP v.4.0 or higher.
HPFS or JFS partition.
EMX 0.9d fix01 (or higher) runtime.
        ÄÄÄÄÄÄÄ

32Mb or more of RAM, SCSI hard disk are highly recommended.

Installation of binaries: 
Unzip the archive.
Place GNUREGEX.DLL in any directory from LIBPATH.
To simplify some manipulations with Squid edit squid.cmd and place 
it in any directory from PATH. To change the language for error 
messages, copy the contents of /language directory from 
etc/errors/errors.zip archive to etc/errors.

Before starting it's necessary to customize the etc/squid.conf file.
For brief information see QUICKSTART. OS/2 version understands 
SQUID_DIRECTORY environment variable as the default root of
Squid tree. For example, place
SET SQUID_DIRECTORY=d:\servers\squid
in CONFIG.SYS or in the CMD file starting Squid and all default
file names will be referred to this directory. Otherwise,
start Squid with -f option for pointing to the actual squid.conf
name.

Other useful options:
squid -h		Print help message.
squid -s		Enable logging to syslog.
The ported syslogd daemon is required.

-k options are used to send a signal to the running process:

squid -k shutdown  |	
squid -k interrupt |	Stop Squid.
squid -k kill      |
squid -k reconfigure	Restart with new configuration.
squid -k rotate		Close and rename log files.

Squid -N option is ignoring because it is specific for UNIX.
Under OS/2 you can use DETACH command for starting Squid in
"daemon" mode.
The binaries where compiled with -O3 -mpentium optimization
and include only the standard features of Squid. To get more
(not fully tested for OS/2) features (ICMP, SNMP, HTCP, Cache
Digests et al) it's necessary to compile Squid from sources
after defining the desirable options in include/autoconf.h.
Also, recompilation is required for increasing of the open
file descriptors limit from default (256) value (see 
http://squid-cache.org/Squid/FAQ/FAQ-11.html#filedescriptors).
Both SQUID_MAXFD in include/autoconf.h and EMXOPT in src/Makefile
must be changed. In some cases it's necessary to run configure
script using configos2.cmd file. Please, read the comments in
this file before starting.

Cache Manager (cachemgr.exe) is the powerful tool for control Squid.
This CGI-script must be placed in CGI-BIN directory of HTTP server.
To start it go to http://localhost/cgi-bin/cachemgr.exe. 
The ACL for cache_object protocol must be properly defined in
squid.conf.

squidclient.exe is the text mode client program that may be useful
for testing purposes.

dnsserver.exe (in old versions), unlinkd.exe and pinger.exe
(for ICMP support) are the child processes of Squid using
for time-consuming operations.

---------

Known problems.

1. Squid uses the internal implementation for domain names
   resolving. The valid list of domain names server must be presented
   in %ETC%\resolv2 or in squid.conf.
2. For using Cache Manager with Lotus Domino Go web server,
   it's necessary to rename cachemgr.exe to nph-cachemgr.exe
   and, probably, put the string
   SET SCRIPT_NAME=/cgi-bin/nph-cachemgr.exe
   in CONFIG.SYS.
3. Netscape for OS/2 (2.02 and 4.04) sends the buggy request 
   to Squid when trying to upload a file to ftp server. 
   The full local file name is moving up to URL and the request
   looks like
   PUT ftp://ftp.server.name/incoming/E:\LOCAL\PATH\FILENAME.ZIP.
   This problem is fixed in Netscape 4.61.
4. Some of default values in squid.conf are not optimal and must
   be changed.
 - cache_dir Type Directory-Name Mbytes Level-1 Level-2
   To avoid the existence of thousands empty directories,
   Level-1 can be calculated as (Mbytes/200+1) instead of
   default value (16). For example:
   cache_dir ufs d:/squid/cache 100 1 256
   These values are using as default when SQUID_DIRECTORY is defined.
 - coredump_dir isn't set to default value "none".

---------

History.

v. 2.5.stable1

- Included executable for ip_user_check, an external ACL helper.

v. 2.4.stable7

- Compiled with enabled delay pools.

v. 2.4.stable3

- Fixed the bug caused the problems with squid -k reconfigure.

v. 2.4.stable2

v. 2.4.stable1

- Supports only the ufs file system.


v. 2.3.stable4

v. 2.3.stable3

v. 2.3.stable2

v. 2.3.stable1

- Compiled with enabled HEAP_REPLACEMENT feature (see
  "replacement_policy" tag in squid.conf).
- Fixed the bug (not my!), that caused "dirty" rebuilding
  after normal shutdown.
- Improved ICMP support.
- Reduced CPU usage in idle state.


v. 2.2.stable5

v. 2.2.stable4

v. 2.2.stable3

- Removed all patches around sscanf() problem, that's fixed in
  EMX 0.9d fix 01.
- Included executable for NCSA authenticator.

v. 2.2.stable1

- Fixed the bug in SQUID_DIRECTORY implementation.
- client -P option works now.
- Some improvements in ICMP support.
- Correct CPU time measurment (thanks to authors of OS2UNDOC info).
- Child processes don't require the special initialization, so even
  REXX and Perl scripts can be used as redirectors and authenticators.
- Some unofficial patches from http://hem.passagen.se/hno/squid/
  were included.


v. 2.1.patch2

My first port for Squid 2.*

---------

Credits.

GNUregex.dll and GNUregex.def were taken from ported version of
GNU grep.
ftp.leo.org/pub/comp/os/os2/leo/gnu/sysutils/gnugrep.zip

syslog.c, syslog.h and sys/syslog.h were taken from ported
version of syslogd daemon.
ftp.leo.org/pub/comp/os/os2/leo/tcpip/systools/syslog3.zip
All copyright information contains in these files.

---------

Alexey Leko
alex@wgc.chem.pu.ru
SPb State University
St-Petersburg
Russia
