version 1.5.23 - netflow module - status 404 cached with configurable expire more close to rfc2616 in IMS processing version 1.5.22 - wccp v2. Real raw devices support (aligned IO). new swapout algorithm. Configurable option for speed between server and proxy (with client speed(default) or with full speed). More memory control. Performance emprovements, bug fixes, e.t.c. version 1.5.18 - method CONNECT ignored connect_from. 24.06.01 - Initial OpenBSD support. (ai) version 1.5.17 26.04.01 - connect_from for groups. (ai) 12.04.01 - acces_log now htmlize path. accel.c: host from absolute uri have precedence over Host: ssl works with parent 05.04.01 - configure.in fix for SUN Forte Workshop 6. (ai) 05.03.01 - Cookies, Parent Authentication. 03.03.01 - 'allow' rules for redir.c, fastredir.c 13.02.01 - Fixed memory-corruption bug in ftp_utils.c Fixed error (Host: was not inserted if need in requests when force_http11 option commented out). Fixed bug: Proxy-Authorization now is hop-by-hop version 1.5.9 30.01.01 - redir and fastredir can use different configs like redir/1 redir/2 ... local_networls was not handled properly if ICP is used - one more fix. 28.01.01 - icp processing use hash now. rand_r used in request numbers in icp requests. hash.c rewriten (dst_domain_acl used this interface) version 1.5.8 23.01.01 - icp requests now processed in workers. 20.01.01 - fixed bug in call to pread. worker threads returns after timeout. 12.01.01 - fixed bug in acl.c (several networks_acl for group didn't work moved to new workq - workers should live with timeouts - will not run lot of processes under linux. version 1.5.6 29.12.00 - username acl 28.12.00 - \n removed ftom some acl's when read from file local_networls was not handled properly if ICP is used no log messages 'icp so = -1' if icp_port 0 version 1.5.4 18.12.00 - more sprintf/strncpy fixes memory leaks in accel.c, bug in custom_log.c bug in parse_named_acl_data for SRC_IP acl. version 1.5.0 11.12.00 - fixed memory/security bug if ftp_utils (allocated less memory in heap thaen required for htmlized_something) 23.11.00 - check for directio() 17.11.00 - redir.c can rewrite url or send Location: (otion mode in redir config) fixed very OLD bug in buid_destination:redir.c, which caused SIGSEGV when you use long destinations in redir rules 15.11.00 - fail-safe support for non-icp peers. 14.11.00 - always_check_freshness on object acl basis acl type "content_type" 11.11.00 - migrate to pthread_rwlock_*. (ai) fixed build problem for AIX. (ai) 08.11.00 - ungzip gzipped content when send to non-gzip capable useragent original_host and original_path in redir's 30.10.00 - performance bug in storage.c updated passwd_pgsql, passwd_mysql modules IMPORTANT: Changed magic in storages! 22.10.00 - passwd_pgsql, passwd_mysql modules by "Ivan B. Yelnikov" redir.c can send internal gifs (currently only nospam1x1) instead of redirects. 20.10.00 - fix old bug in transparent.c by "Alexander Savelyev" 16.10.00 - per_ip_bw and per_ip_conn limits - limit bandwidth and connections nubmer for any host. 13.10.00 - fixed bug in bind_acl (vova@mics.msu.su) per_ip_bw - per ip address bandwidth contol 08.10.00 - fixed bug int icp (if peer name can't be resolved, send icp rq to 0.0.0.0) fixed bug: traffic load was not counted in continue_load fixed in oopsctl_mod htmlstat descriptions for DB modules. version 1.4.22 02.10.00 - manpages (contributed by Tamas SZERB ) 27.09.00 - Fixed bug in clean_disc.c (core during expire with GigaBASE) Fixed bug with oops.pid reopen (oopsctl reconfigure effectively do oopsctl stop). It was introduced during FreeBSD port prepare. 21.09.00 - oopsctl verbosity=LVL 14.09.00 - fixed security fix ([a:b] in badports procssed incorrectly) 13.09.00 - configure can produce "FreeBSD port"-ready Makefile fixed bug in lang.c (by Peter S. Voronov) 16.08.00 - parse_myports(): bind problem for FreeBSD solved. 14.08.00 - parse_myports(): bind problem report. 11.08.00 - fixed bug in refresh_pattern percent calculation Mark expired documents as dead during leave. 10.08.00 - GigaBASE seems to to work now. 02.08.00 - compile without BerkeleyDB peer_access using ACL option 01.08.00 - fixed bug when icp-peer have no allow and deny statements version 1.4.6 09.06.00 - Authorisation with parent/sibling --with-malloc option in configure (for exapmle I use --with-malloc=-lptmalloc under Solaris. ptmalloc have to be compiled and installed separately. Take it, please, from http://malloc.de/). 08.06.00 - 'Range:' header and restart(resume) for ftp and http version 1.4.5 24.05.00 - %U in custom_log 21.05.00 - buffering system for log and accesslog rewritten. err.c - for ERR_BAD_URL show succesfully parsed fields. pthread_attr_setstacksize(64k) under solaris. some minor bugs fixed (^C for FreeBSD, HTTP 0.9 docs,...)(ik) configure --enable-db-locks for DB 2.x - turn off top-level locks for some DB operations. Can emprove speed (tested, but still experimental) 03.05.00 - configure --with-regexp[=(builtin|pcre|system)] [system] (ai) 29.04.00 - Initial WIN32 support. (ai) 27.04.00 - module fastredir by john gladkih redir based on strcasestr, which is much faster then regex, but not so flexible. version.1.4 24.04.00 - some daemon() related stuff fixed(ik) 18.04.00 - OPTIONS method added. (ik) FreeBSD 4.0 fix for signals(siginterrupt). (ik) 12.04.00 - The `size auto' parameter is now working on raw devices in BSDI, FreeBSD and Linux. (ai) 11.04.00 - Initial BSDI support. (ai) - patch for custom_log.c (buffering from dp@zeneon.net) 10.04.00 - Port to Digital Unix completed (by Andrei S. Koval ) - Implemented the db_cache_mem configuration parameter. (ai) 09.04.00 - start_red, refuse_at, maxreqrate - attack defence(ik) fix for high %CPU(ik) - Added the separate control for the buffered/unbuffered option of the log files. The support for the logs_buffered parameter was removed. (ai) - Added more controls for the logs level (see oops comand line options). (ai) 07.04.00 - extract everything in version-dependent directory 06.04.00 - Port to AIX (using IBM C for AIX 3.6.5, 4.4) completed. (ai) 03.04.00 - Fixed(?) bug in ftp (headers at the very beginnings of downloaded files). Via: analysis for loop detection. Code and headers cleanup (thanks to Andy Igoshin) 30.03.00 - if MIN or MAX in refresh_pattern is negative, document will not be cached at all. (1.3.10) 24.03.00 - support for rx regex library lot of mistypes and errors in comments and docs (green@ccssu.ccssu.crimea.ua) 23.03.00 - Initial AIX support (ai@vsu.ru) - some emprovements for modules/custom_log.c (dp@zenon.net, green@ccssu.ccssu.crimea.ua) version 1.3.6 20.03.00 - map/r in accel.c 17.03.00 - ip_lookup in accel.c - increase FD_SETSIZE for FreeBSD 16.03.00 - CPU% in oopsctl stat, acl_bind - bind to different ip for different requests 14.03.00 - added option 'proxy_requests' for accel.c - close proxy using accel regardless any other acl's. 10.03.00 - acl time, networks_acl can include any acl's version 1.3.3 06.03.00 ftp: use oops@host_name if host_name is not empty accel.c - defaults for dead_timeout changed from 600 to 30 sec 02.03.00 ftp_put. More ftp bugs fixed and ftp performance emproved. 22.02.00 memory bug in ftp_utils.c 20.02.00 fixed bug in accel.c (copy uninitialized data: core dumps, mem leak) 18.02.00 module custom_log. 16.02.00 ssl.c - fixed bug (ISHUPED[0]) which lead to high %CPU Version 1.3 09.02.00 fixed more bugs: high %CPU, core dumps during reconfigure fixed some minor bug during kill -WINCH if no {n size} option used added FAQ, added oops.cfg.doc 06.02.00 fixed bug introduced in 1.2f (memory corruption) fixed problem with high poll() rate (and high %CPU) Version 1.2f 25.01.00 added --with-DB to configure.in last FD_SET,FD_ZERO removed icp now return ICP_DENIED if requested URL will be denied from peer. 21.01.00 reserved_fd - reserve several file descriprors with low numbers (because under Solaris fopen can fail if there is no free descriptors < 255) 19.01.00 Fixed bug with WarFTPd 18.01.00 Fixed bug with destroyed document content when max_resident=0 and bandwidth control turned on Fixed bug in run_client.c: core dumped when calling say_bad_request() Fixed problem for transparent.c under Linux ipchains. Also switched to different method of myport processing Fixed bug: removed all FD_SET and FD_ZERO from http_utils.c: core dumps because of lot of connections. Memory leak in accel.c during reconfigure. 14.01.00 Fixed bug in ftp (requests like FTP://smthng returned BAD PORT) Fixed bug in run_client (ftp requests was processed by http code if document was somehow forced be non-cachable) Fixed bug in send_not_cached (oops close connection too early, before end of doc) 13.01.00 bugfix in accel: map src host/path lead to host/path/path. transparent finished. %H in err_template - to show proxy hostname poll(2) enabled for FreeBSD 3.3+. report free space on storage in %% (patches from Andy Igoshin) 10.01.00 Configure: oops userid and chroot added autodetect ipfilter module transparent bug in writet (IS_HANGUP()) 08.01.00 DNS: timeout increased. Fixed bug in dns init (parser.y) 07.01.00 storages: size auto - for pre-created and raw storages automatically detect size duting format offset - all read/writes to stoarge with given offset for example to use entire disk under Sparc Solaris, you must give offset 512 to save disk label. some emprovements and fixes in 'oopsctl stat' 02.01.00 large files support (for freebsd,solaris) Version 1.2e 29.12.99 - more acls, groups using acls, stop_cache using acls load acls from file, host hash for accel. 13.12.99 - mod accel, acl, refresh_patterns two bugfixes 28.11.99 - oopsctl stop, rotate 04.11.99 switch to send(), recv in send_from_buff_no_wait, readt, writet Version 1.2d 30.10.99 ftp: correct ~ processing, 'Parent Directory', other emprovements: patch from doka@kiev.sovam.com 19.10.99 - 1.2d3 module vary 14.10.99 log_access: time in format dddddddd.000 - to make happy some access_log parsers. (also time() calls removed) removed syscall time(NULL) in check_expire, writet: switched to global_sec_timer New options: - x_insert_forwarded_for - x_insert_via 09.10.99 detect -ldb2 durig configure for FreeBSD 07.10.99 performance bug: tolower in find_best_dom, keep hostname always in lowercase bugfix - no icp requests for ftp: New: - option force_http11 - force HTTP/1.1 when connecting to servers. - 1-st try to load modules from ./modules, if fail - from OOPS_HOME/modules Fixes: - rfc2068 string for Via: 26.09.99 New: - new option 'last_modified_factor' - use last-modified in expiration calculations - new option force_completion - force document load completion if was loaded more then some %% of document and user aborted connection. Fixes: - bug in group_traffic_load. Can lead to crash during reconfigure if 'bandwidth' used - bug in poll_descriptors fixed (high load or immortal connections) - fix in find_best_domain, load_domlist_from_file (andy@demos.su) 20.09.99 - 1.2d2 15.09.99 New: - acl(dstdomain) lookup cache done - WEBDAV methods (rfc2518) - problem with OutlookExpress checking mail on hotmail.com 13.09.99 Fixes: - ftp_utils incorrectly send 'HTTP 200 OK' if it failed to connect to server. 10.09.99 - ftp://user@host/ will be processed - TCP_DENIED record in access.log - refresh option for oopsctl htmlstat + some minor extensions 08.09.99 http: - New option 'always_check_freshness' in oops.cfg - like Squid always check HTTP-document freshness on origin server bugs: - fixed resolving for short names (like http://www/ ) - patch from Oleg Shevelev - fixed stupid bug: gethostbyname->gethostbyname_r in str_to_sa - minor bugs fixed in continue_load and in build_{server|parent}_request 06.09.99 - workaround for broken http-servers: they send Connection: Keep-Alive even if we requested Close - flush memory_cache to disk before exit. 04.09.99 version 1.2c 27.08.99 http acl {allow|deny} include:filename - read allowed/denied domains from file (usefull if you have lots of domains to allow/deny) -v option now eanble verbose logging at startup (without -v you will get very compact startup log) -x option now control log verbosity. SIGWICH now close/reopen log files (for log rotation) 26.08.99 myport for modules done. redir module can listen on separate port. allow dstdomain bugs fixed - can use lot of strings 'allow dstdomain' 18.08.99 Fixed several bugs: Header Age: is correct again. Replace modified doc on disk works again. ftp-docs are saved now with Expire time 24 hours. Expired documents will be deleted from storages even if there is enough space in storages. Client socket now is nonblocked - fixed possible lock in reading from client. 11.08.99 version 1.2b icp: Correct relations with PARENT/SIBLIG When received HIT from any peer - use it. When received only MISSes - send request to first answered PARENT if no answers, or only MISSes from SIBLING - go direct acl: New acl - denytime - access deny on day/time basis. config: looking up libdb and db.h in current '.' directory. bugs and workarounds: Yet another bug in linuxthreads and yet another workaround. FreeBSD threads bug workaround: now under FreeBSD sessions will not be broken after SIGHUP 19.07.99 version 1.2a --------------------------------------------- listeners (oopsctl - first listener module). Expire process at startup delayed untill storages checked. thread pool implemented to workaround LinuxThreads bug. thread pool can be turned on with -w option. It is turned on authomatically under Linux. 28.06.99 stdout and stderr are unbuffered now. Default mode for logs also "unbuffered", but can be changed in oops.cfg 28.06.99 version 1.1 ---------------------------------------------- 22.06.99 some performance emprovements: bt_pagesize=16k, instead of default 8k, WRLOCK_DB moved out of loop in clean_disk.c 18.06.99 poll() support added. fixed bug in clean_disk.c (close cursor on closed base). "feature" in Redhat 6.0x linux workaround: "Connection reset by server" message in browser(http_utils.c) in POST requests. 14.06.99 pread/pwrite used to access storages on systems with support. this will save lot of lseek() calls. 13.06.99 1.bug in clean_disk.c fixed (UNLOCK_DB without LOCK_DB). It was able to lock access to DB in very rare case. 2. bt_compare (DB) changed from default to special function. 3. format of url stored in DB changed. Must emprove performance. Last two changes lead to non-fatal incompatibility with ready bases. New records will overwrite old ones after some time. 4. Now you can create storages with dd if=/dev/zero of=storage_name ... During format routine (oops -z) file will not be truncated, only format records will be written to the beginning of file and size will be adjusted ( if ready file is smaller then need ). 10.06.99 1. regex redirector (url filter) module. 2. During make install all config files are installed with suffix .sample, so that all current configs are preserved. 31.05.99 1. bug in run_client.c which manifest itself only under FreeBSD (frequently reused thread ids). It looks like hi CPU usage by oops. Fixed. 2. config: -export-dynamic for LDFLAGS (for Linux and FreeBSD) 24.05.99 version 1.0c ------------------------------------------------ 24.05.99 1. module lang - handle all language things for err.so and passwd_file.so 20.05.99 1. Authentication module passwd_file - proxy-authentication using file with passwords. 10.05.99 1. Several memory leaks in reconfig procedure fixed. 29.04.99 1. Some code cleanup (too many warnings) - Ilia. Added 'total hits' and storages_free to statistics 26.04.99 other: file statistics some prob. with local-networks fixed. For FreeBSD 2.2.7+ setsockopt(TCP_NODELAY) was excluded 14.04.99 version 1.0b ------------------------------------------------- http: drop objects when memory usage become larger then mem_max - this must stop unlimited memory growth under very heavy load ftp: workaround for servers which not send "226 connection closed" config: make install now works some changes for slackware(gmtoff)-Ilia Zadorozhko modules: first complete module err.c: customizable error messages with national languages support. 03.04.99 first public release 1.0a ------------------------------------ config: icp_timeout - configurable 01.04.99 other: resolving names like aaa.bbb.ccc. (dot at the end) 30.04.99 http: Added supp. for URLs like http://login:password@host/path other: goup->networks statement was broken when define more then two networks... fixed. fixed some prob. in configure 24.03.99 other: db_cachesize to 1Meg correct access.log records for SIBLING/PARENT/DIRECT 20.03.99 icp: Base functionality completed (process requests, send requests and process answers and timeouts). To add: process all other types of ICP messages. http:fixed performance problem with POST when large data volume attached to request (file uploads using POST) were first slowly read to memory and then sent. Fixed possible bof when reading chunk size, always send HTTP/1.0 to 1.0 clients when sending doc, received by request of 1.1 client. other: minor decorations (version file, DB_VERSION_STRING...)