1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070
|
19.3.2021 Daniel Mealha Cabrita
version 3.3.2
cfgfile.* ziproxy.c:
Corrected -fnocommon compilation issues in OpenBSD.
image.c:
Added compatibility with giflib 5+ API changes.
netd.c:
Corrected spelling error.
3.12.2014 Daniel Mealha Cabrita
version 3.3.1
qparser.c configure.in:
Fixed strndup-related compiling problems.
6.1.2013 Daniel Mealha Cabrita
version 3.3.0
image.c cfgfile.*:
Added option to remove alpha channel after
a specified average opacity threshold.
New option: AlphaRemovalMinAvgOpacity
8.2.2012 Daniel Mealha Cabrita
version 3.2.1
image.c:
Fixed compilation issues with libpng 1.5.x.
6.9.2010 Daniel Mealha Cabrita
version 3.2.0
auth.* cfgfile.* http.c sasl/ziproxy.conf:
Authentication system is now modular.
Added SASL authentication support.
New options: AuthMode, AuthSASLConfPath, AuthPasswdFile
Obsoleted option: PasswdFile
*.c *.h README CREDITS:
Updated source code and documentation to reflect the
license change (Juraj's code now being under 2-clause
BSD license).
Added more complete license text to the affected
portions.
configure.in cfgfile.c:
Fixed a bug which prevented compilation under certain
OSes/architectures (ex.: glibc + gcc + ARM).
Added a Nameservers compile-time enable/disable
feature switch.
THANKS CREDITS:
Added 'THANKS' file. Moved pertinent data from
'CREDITS' to that file.
17.7.2010 Daniel Mealha Cabrita
version 3.1.3
http.c:
Fixed authentication problems with Safari.
qparser.c:
Fixed non-POSIX behavior. Fixes problems with eglibc
under certain architectures.
2.7.2010 Daniel Mealha Cabrita
version 3.1.2
image.c:
In certain circumstances image recompression used too much CPU.
In other cases images were not being recompressed. Fixed.
session.* http.c netd.c ziproxy.c:
Fixed stdout/stdin (old) kludge in daemon mode. Now Ziproxy
used proper file descriptors. Stdout/stdin/stderr are
properly closed in daemon mode.
15.6.2010 Daniel Mealha Cabrita
version 3.1.1
ziproxy_genhtml_stats.sh:
Fixed "bashisms". Should work with any Bourne-like shell now.
netd.c:
Added temporary workaround for data corruption when libjasper
decides to send warnings in certain, rare, circumstances.
image.c:
Fixed problem with certain imagens being corrupted after
alpha optimization processing (RGBA/YUVA) (new bug from 3.1.0).
Fixed security vulnerability (heap-related) in PNG
decoder (new bug from 3.1.0).
Transparent channels were not correctly loaded in certain
PNG pictures, resulting in corrupted or blank images.
Fixed (new bug from 3.1.0).
PNG loader code reorganization and cleanup.
Misc code optimizations in image optimization routines.
3.6.2010 Daniel Mealha Cabrita
version 3.1.0
image.* http.h cdetect.*:
Image recompression core rewritten. Improved decision-taking
routines.
Added full support for transparency (affects PNG and JP2K targets).
Added detection and removal of useless alpha channel (certain
pictures with alpha channel may be recompressed to JPEG now).
Added palette and transparency optimization routines (affects
lossless compression: PNG targets).
Added alpha channel support to YUV-to/from-RGB routines.
image.* cfgfile.*:
Added option to convert images to grayscale for more
compression.
Obsoleted quasi-equivalent support of providing negative
values in ImageQuality.
Added alpha channel support to rgb2gray routine.
New option: ConvertToGrayscale
README ziproxy.conf:
Misc updates and fixes.
20.5.2010 Daniel Mealha Cabrita
version 3.0.1
image.c http.c:
Fixed crashes when the raw (decompressed) picture size
exceeds integer limits (often 32bit).
Added other security provisions related to
raw picture size.
18.4.2010 Daniel Mealha Cabrita
version 3.0.0
netd.c:
Obsoleted "-f" CLI option (use OnlyFrom config
option instead).
CREDITS:
Updated acknowledgments.
init.d/ziproxy:
Example initscript now uses built-in Ziproxy
user and PID support.
README:
Some updating/cleanup.
README man/ziproxy.1 netd.c:
Updated manpage. Minor related updates.
8.3.2010 Daniel Mealha Cabrita
version 2.7.9_BETA3
strtables.c ziproxylogtool.c:
Minor tweaking in the hash-generation functions, to
reduce the likehood of hash collisions.
globaldefs.h ziproxylogtool.c:
Added GCC-specific optimizations to ziproxylogtool,
giving between 5%-15% speedup.
Such optimizations are innocuous to other compilers.
log.* cfgfile.* globaldefs.h gzpipe.c http.c netd.c
tosmarking.* ziproxy.c:
Fixed logging bug which added trash to HTTP output (bug
introduced in 2.7.9_BETA2).
Added more daemon error messages to error_log.
Several changes and code cleanup in debug_log.
Access log code rewritten from scratch and simplified.
Eliminated several log code dependencies from other
parts of Ziproxy.
Obsoleted AccessLogUserPOV option, due to code
maintainability concerns and small importance of
that option.
cttables.c:
Crashes occured when trying to compare a NULL (absent)
content-type. Fixed.
http.c:
Ziproxy returned garbage to the user when receiving
an empty response (0 bytes, no headers), instead of
issuing an error message. Fixed.
configure.in image.c:
Fixed compilation errors while compiling with libpng 1.4.
Should still compile with not-so-old previous libpng
versions.
cfgfile.* netd.c:
Added support for simultaneous user connection limit.
New option: MaxActiveUserConnections
cfgfile.* netd.c txtfiletools.*:
Added support for PID file.
Legacy behavior (dumping to stdout) is maintained
if this feature is not used.
New option: PIDFile
cfgfile.* netd.c:
Obsoleted NetdTimeout and removed related code.
cfgfile.* gzpipe.c http.c ziproxy.c:
Renamed parameter "ZiproxyTimeout" to "ConnTimeout".
Deprecated option: ZiproxyTimeout (still functional)
New option: ConnTimeout
cfgfile.* netd.c:
Added security options to run daemon as different user/group.
New options: RunAsUser, RunAsGroup
cfgfile.c image.c ziproxy.c:
Fixed old error output messages which used stderr directly,
instead of the proper log subsystem.
This fixes situations where broken GIFs resulted in
corrupted HTTP response.
cfgfile.* netd.c:
Added CLI parameters to set user/group.
cfgfile.* netd.c:
Added CLI parameter to set PID file.
netd.c:
Improvements on the daemon fail routines.
Now avoids unnecessary daemon abortions and busy loops.
netd.c:
Killing the daemon stops all children processes too.
Added verbosity to certain daemon errors.
ziproxy.c log.*:
Added support for SIGTERM interception.
Now transfers interrupted such way as logged aswell.
Added 'X' flag support to AccessLog.
netd.c log.*:
Added 'daemon' subsystem to error_log.
Updated daemon-related messages to report accordingly.
netd.c:
Added code to remove PID file in case of daemon
startup failure at a later stage.
3.1.2010 Daniel Mealha Cabrita
version 2.7.9_BETA2
image.c:
Under certain circumstances, certain PNG pictures
could not be decompressed. Fixed.
This bug affected certain architectures, such as x86-64.
cfgfile.c qparser.*:
Added support for errors informing about obsoleted
configuration parameters, instead of just erring
as if it was a mere syntax error.
Obsolete parameters from previous versions were added.
cfgfile.c qparser.*:
Added support for errors informing about unsupported
configuration parameters (eg. features disabled
during compilation), instead of just erring
as if it was a mere syntax error.
Added JP2K-related parameters to this list.
cfgfile.* log.c netd.c:
Obsoleted LogPipe option and removed all related code.
cfgfile.c log.* netd.c text.c tosmarking.h ziproxy.c:
Minor miscellaneous fixes. Eliminates some compiler warnings.
cfgfile.* http.c image.c log.* netd.c preemptdns.c text.c
tosmarking.c ziproxy.c:
Obsoleted LogFile option, replaced by DebugLog.
Massive log-related functions renaming (in the source code)
to avoid confusion between different types of logging and
to improve code readability in general.
New option: DebugLog
JPEG2000.ru.txt README.ru README.tools.ru
ziproxylogtool.ru.1 ziproxy.ru.1:
Removed all Russian translations, due to lack of maintainer.
change_tos.list:
Added example file for TOSMarkAsDiffURL option.
cfgfile.* http.c:
Changed content-type gzip compression matching code.
Now it's possible to specify any content-type instead of
only subtypes of "application/".
Deprecated option: Compressible (still functional)
New option: LosslessCompressCT
cfgfile.* log.c:
Renamed parameter "AccessLogFileName" to "AccessLog".
Deprecated option: AccessLogFileName (still functional)
New option: AccessLog
cttables.c misc.*:
cttables was case-sensitive, that's against
RFC 1049 (RFC 1341). Fixed.
cfgfile.* http.c:
Added switch for "x-" subtype prefix matching for
content-type lists.
Migrated URLReplaceDataCTList to new content-type
lists subsystem.
New options: TOSMarkAsDiffCTAlsoXST,
URLReplaceDataCTListAlsoXST,
LosslessCompressCTAlsoXST
gzpipe.* http.* image.* log.* simplelist.c text.*
tosmarking.* globaldefs.h:
Changed filesize counter from signed int (usually 32 bits,
even in 64-bit architectures) to a local type (defined
during compile time, being that at least 64 bits).
The most perpectible effect is seen in logs (no longer
wrong, often negative, size numbers for anything > 2GB).
This also fixes the data size limitation (up to 2GB) in
cases where Content-Lenght was used such as
HTTP method CONNECT, URLNoProcessing.
gzpipe.c log.* ziproxy.c ziproxy.conf:
Added 'G' flag support to AccessLog.
Added verbosity to streaming gzip/gunzip errors in DebugLog.
cfgfile.c ziproxy.conf:
Changed default of MinUncompressedGzipStreamEval from
250000 (~250kB) to 10000000 (~10MB).
This avoids trigging of MaxUncompressedGzipRatio if
ISO9660 images are compressed while streaming (the
first MBs of ISOs are highly compressible).
cfgfile.c ziproxy.conf:
Added "application/iso9660-image" content-type as
compressible (losslessly), in default settings.
log.c globaldefs.h:
Changed time measurement from signed int (usually 32 bits,
even in 64-bit architectures) to a local type (defined
during compile time, being that at least 64 bits).
Fixes problems of time logging of long downloads (>2G
microseconds, or >35 minutes) which previously gave
wrong, often negative, times.
cfgfile.* image.c log.* netd.c ziproxy.conf:
Implemented an internal error-message handling system.
Added more verbosity to error/warning conditions.
Previously unreported errors now appear.
Minor fixes in cfgfile.*.
Some code reorganization in log.*.
New option: ErrorLog
Obsoleted option: MSIETest
README src/*:
Updated copyright year to current one.
14.12.2009 Daniel Mealha Cabrita
version 2.7.9_BETA
cfgfile.* gzpipe.c http.* log.* netd.c ziproxy.*
cttables.* globaldefs.h misc.* tosmarking.*:
Added TOS support (a provision for Level 7 QOS).
New options: TOSMarking, TOSFlagsDefault, TOSFlagsDiff,
TOSMarkAsDiffURL, TOSMarkAsDiffCT,
TOSMarkAsDiffSizeBT.
ziproxy.spec:
Removed. Unable to maintain this file properly.
29.9.2009 Daniel Mealha Cabrita
version 2.7.2
README* image.* ziproxy.* netd.* ziproxy_genhtml_stats.sh:
Fixed Juraj's copyright years, considering old
code from 2002.
log.* ziproxy.c:
LogFile timer was not properly initialized and
the first measurement was always wrong. Fixed.
12.9.2009 Daniel Mealha Cabrita
version 2.7.1
http.c:
Fixed HTTP/0.9 simple response support,
which was broken for aeons and nobody noticed.
text.c:
Gunzipped data smaller than the compressed was
being treated as corruped and data was simply
forwarded as is.
But that's not necessarily true (a certain website
thought it was a good idea to gzip jpegs, for example)
and in certain cases processing was not
applied because of that. Fixed.
http.c:
Implemented workaround for buggy sites which send:
Content-Encoding: ISO-8859-1 (violates RFC 2616).
Fixes certain pages which appeared as binary garbage
in the browser.
13.4.2009 Daniel Mealha Cabrita
version 2.7.0
README.ru:
Added note stating this documentation is
currently outdated.
13.3.2009 Daniel Mealha Cabrita
version 2.6.9_BETA2
stats.awk:
Obsolete. Removed.
image.c:
Fixed a bug which caused crashes in certain,
rare, specific situations while compressing to
jp2k.
cfgfile.* log.c ziproxy.c:
Added provision for crash (signal) interception
and logging (see new access log flags).
New option: InterceptCrashes
image.*:
Renamed image retcodes to a more standard
and uniform naming, for better code readability.
image.* cfgfile.* http.c log.* ziproxy.c:
Added feature against "image bomb" DoS.
New option: MaxUncompressedImageRatio
image.c:
Fixed bug in rgb2yuv converter. In certain cases jp2
pictures had some very wrong colors (like deep red turned
into strong pink etc).
cfgfile.* http.* image.c text.* txtfiletools.c ziproxy.c:
Obsoleted ModifySuffixes. It was buggy and lost its
usefulness a long ago.
The following config options are obsolete:
ModifySuffixes, MinTextStream
The following files were removed:
cfgtest.c
htmlmodify.h
htmlmodify_jp2.l
htmlmodify.l
imgtest.c
Makefile
modifytest.c
Also, additional code cleanup was done.
Test programs were obsolete and were
removed (imgtest, modifytest, cfgtest)
and no longer are a build option.
Flex is no longer required for building Ziproxy.
cfgfile.c:
Preventive bugfix (did not cause problems yet).
cfgfile.* http.c:
Added support for content substitution
by matching URL + content-type.
New options: URLReplaceDataCT, URLReplaceDataCTList
cfgfile.* http.c:
Added support for URL blocking.
New option: URLDeny
http.c:
Added support for "ICY" SHOUTcast headers.
Now icecasts from such servers are playable.
25.2.2009 Daniel Mealha Cabrita
version 2.6.9_BETA
cfgfile.* http.c:
Added support for custom 403 error pages.
http.* ziproxy.c:
Fixed the type/signedness mess with outgoing Port vars.
Ports >= 32768 were not accessible.
Non-standard HTTP/HTTPS ports (non-80/443) were not
accessible in big-endian architectures.
cfgfile.* http.* ziproxy.c:
Added provision for outgoing port restrictions.
New options: RestrictOutPortHTTP, RestrictOutPortCONNECT
cfgfile.c ziproxy.conf:
Changed JPG and JP2K default settings to (hopefully)
better values.
image.c:
Bug which prevented recompression to jp2k
when more aggressive parameters were set to
color components, original image was forwarded
instead. Fixed.
jp2tools.* cfgfile.*:
Added Lanczos component upsampler support to JP2k.
New option: JP2Upsampler
image.c:
Encoding/decoding jp2 images with alpha channel
always fails. Fixed.
ziproxy_genhtml_stats.sh:
Fixed help message.
26.11.2008 Daniel Mealha Cabrita
version 2.6.0
ziproxy.ru.1 ziproxylogtool.ru.1:
Added Russian manpages.
README.tools.ru README.ru JPEG2000.ru.txt:
Added Russian version of text documentation.
http.c ziproxy.conf cfgfile.*:
Added support for custom 407 and 409 error
pages.
http.c:
Under random conditions or unrelated configuration
changes the pictures were not recompressed.
Fixed.
http.c embbin.h:
Changed from 1x1 PNG to 1x1 GIF due to smaller
size of the latter.
2.9.2008 Daniel Mealha Cabrita
version 2.5.9_BETA
http.c cfgfile.* replace.list embbin.h:
Added support for data replacement using
a URL list.
New option: URLReplaceData
http.c auth.* log.*:
Now a authenticated connection also logs the
username alongside its IP (username@X.X.X.X).
ziproxy.c simplelist.* cfgfile.* bo_exception.list:
Added support for host exception list when
using the BindOutgoing option.
New options: BindOutgoingExList, BindOutgoingExAddr
31.3.2008 Daniel Mealha Cabrita
version 2.5.2
http.c:
Proxy authentication would bring access denial
if such was not requested by Ziproxy (that means
unnecessary authentication).
Now it is simply ignored and access is normal.
http.c:
Ziproxy did not send the proper URL to the
server (so it failed) when connecting to another proxy
_and_ the client accessed Ziproxy in transparent
proxy mode. Fixed.
10.3.2008 Daniel Mealha Cabrita
version 2.5.1
http.c:
Originally gzipped data, one not processable,
to a client which supports gzip was being loaded
wholly into memory then recompressed back.
Now it's streamed directly to the client.
(thus less latency)
28.1.2008 Daniel Mealha Cabrita
version 2.5.0
image.c:
JP2 component bitdepth set as !=8 would make
the process crash. Fixed.
cfgfile.c:
Certain defaults were unoptimal. Fixed.
ziproxy.conf:
Reorganized example configuration file,
clearer to read now.
16.1.2008 Daniel Mealha Cabrita
version 2.4.8_BETA2
man/*:
Added manpages for ziproxy and ziproxylogtools.
http.* ziproxy.c txtfiletools.* urltables.* qparser.c:
Added support for list of URLs that should not be
processed by Ziproxy (due to bugs/incompatibilities).
New option: URLNoProcessing
ziproxy.conf:
ATTENTION: Changed the default location of
ziproxy.conf to /etc/ziproxy/ziproxy.conf
(was /etc/ziproxy.conf)
noprocess.list:
Added example configuration file.
auth.* strtables.* urltables.* http.c:
Routines for (basic) authentication mostly
rewritten.
Perceptible site-effect: comments are now
allowed in http.passwd file.
7.1.2008 Daniel Mealha Cabrita
version 2.4.8_BETA
image.c http.c cfgfile.*:
Added input processing for JPEG 2000 files.
Previously Ziproxy could only compress to that
format. Now it is able to recompress and
even convert to other formats.
Now it is possible to compile with JP2K support
and disable that through the config file.
New options: ProcessJP2K, ForceOutputNoJP2K, ProcessToJP2K
image.c:
Major optimizations to the existing JP2K code
(the compression-to-JP2K code).
http.c:
Streaming data (no Content-Length) could be prematurely
interrupted in certain cases. Fixed.
image.* http.c cfgfile.*:
Added support for YUV color model for JP2K files.
New option: JP2Colorspace
image.* http.c cfgfile.*:
Added support for component and individual component
resolution (bit-wise) for JP2K files.
New options: JP2BitResYA, JP2BitResRGBA, JP2BitResYUVA
image.* cfgfile.*:
Now JP2K compression is specified in a similar way
as JPG files (quality-wise, instead of rate).
New option: JP2ImageQuality
Obsoleted option: JP2Rate
image.* cfgfile.* jp2tools.*:
Added suport for component sampling.
New options: JP2CSamplingYA, JP2CSamplingRGBA, JP2CSamplingYUVA
image.* cfgfile.* http.c:
Added switches for selective JP2 output support.
New options: AnnounceJP2Capability, JP2OutRequiresExpCap
JPEG2000.txt:
Rewritten from scratch.
15.12.2007 Daniel Mealha Cabrita
version 2.4.3
Special version with urgent bugfix backport.
This version is not present in CVS repository as is.
http.c:
Streaming data (no Content-Length) could be prematurely
interrupted in certain cases. Fixed.
4.12.2007 Daniel Mealha Cabrita
version 2.4.2
http.c:
Fixed broken user pipe detection while transferring
unprocessed stream-to-stream.
ziproxy.c log.*:
When server breaks the connection, ziproxy immediately
interrupted the transfer at client's side.
Now it will send the remaining data to the client.
The previous behavior could bring premature
disconnections.
text.c:
Content-Length wasn't being removed while
stream-to-stream gunzipping. Fixed.
ziproxy.c log.c:
Ziproxy crashed when AccessLogFileName wasn't defined.
Fixed. This bug appeared in 2.4.1 version.
ziproxy.c log.*:
Now (debug) log provides each line with the PID of the
specific process servicing the specific HTTP request.
Previously it merely provided the base Ziproxy process,
what is pretty much useless in daemon mode and made
sense only while using (x)inetd, or in pre-1.9.0 versions.
http.c:
Stream-to-stream (no further processing) routines were
rewritten and are >100x times faster now. This may bring
noticeable difference in cases where outgoing data
is something like 10 Mbps or more.
Added access log flag 'W'.
22.11.2007 Daniel Mealha Cabrita
version 2.4.1
cfgfile.* netd.c ziproxy.*:
New option: BindOutgoing
cfgfile.* http.c:
New option: AccessLogUserPOV
ziproxy.conf:
Added new xml types as (gzip) compressible.
Added 'pdf' and 'tar' as compressible application types.
gzpipe.c ziproxy.c http.* log.*:
Added access log support for interrupted/timeouted transfers.
Added access log flags 'Z' (timeout)
and 'B' (broken pipe, interrupted)
image.c:
When decompressing jpeg incomplete files, ziproxy process
crashes (busy loops) until it timeouts. Fixed.
28.10.2007 Daniel Mealha Cabrita
version 2.4.0
http.*:
If data is > MaxSize, junk was appended to the beginning
of it. Fixed.
Ziproxy tried to load into memory, data types which are
not supposed to be processed. Fixed.
text.c:
Trivial overflow problem which gave false positives
for "gunzip threshold limit". Fixed.
qparser.c:
When config file was essentially empty (only comments
or spaces) ziproxy issues this error:
ERROR: Invalid parameter --> <empty>
Fixed.
gzpipe.c:
Fixed intermitent bug when gzip-streaming pages
(random numbers appeared in the body of the page, mixed
with the content). This bug appeared in 2.3.5_BETA.
cfgfile.* http.c gzpipe.*:
New option: MinUncompressedGzipStreamEval
htmlopt.* http.c fstring.* cdetect.*:
Added support for javascript files as text/javascript.
Now tests whether text/html is indeed html
(not always the case, may be JS, CSS...)
Misc fixes to html opt (support more sites now).
25.10.2007 Daniel Mealha Cabrita
version 2.3.5_BETA
http.c:
Broken gzip were not being uncompressed (that's ok)
but Ziproxy attempted to recompress those again. Fixed.
http.c:
Requests were broken when in transparent proxy mode _and_
the client explicited the port. Fixed.
various_files:
Fixed missing includes and certain inconsistencies in the
source code.
Removed unused variables.
Fixed (hopefully) all pointer compares in order to use NULL
instead of 0.
Those potentially preventing compilation in
certain systems.
qparser.*:
Replaced libconfuse with qparser, thus that library is
no longer used.
Fixes x86_64 (and possibly other arches) parsing problems.
configure.in:
Now check all headers used in source code.
http.* cfgfile.*:
New option: WA_MSIE_FriendlyErrMsgs
Misc bug fixes and code cleanup.
MinTextStream was using the decompressed size, what is
senseless if the data came pre-compressed by the remote
server. Fixed.
http.*:
Added (limited) support for partial data download
(Content-Range, Range).
"multipart/byteranges" mode works aswell (as side effect),
and that's a BUG. This must be disabled later
since it can build corrupt data at the user's end
(when dealing with jpg/gif/png and htmlopt-processed files).
http.* text.* gzpipe.*:
Added gzip/gunzip stream-to-stream support. Appliable
when no other optimizations are requested/viable.
Now logs aloways report gzipped transfers new sizes
(previously, streaming cases were reported as "-1").
A number of bugs fixed related to incoming gzipped data.
cfgfile.c ziproxy.conf:
Misc updates/improvements to the example config file.
Changed some defaults to more sensible values.
11.9.2007 Daniel Mealha Cabrita
version 2.3.0
ziproxy.c:
Alternative network code for IPv4-only OSes was
completely broken. Fixed.
htmlopt.c:
Broken commented CDATA in JS processing.
Some pages using htmlopt were rendered broken.
Fixed.
http.c, cfgfile.*:
New option: AllowMethodCONNECT
http.c:
(default) error messages now contain some
meaningful info at the footer of the page,
like date and hostname.
http.* text.* cfgfile.*:
Ziproxy now supports internal processing of
gzipped data.
Now also possible to always advertise gzip capability,
no longer being dependant on the http client.
New option: OverrideAcceptEncoding
New option: MaxUncompressedGzipRatio
http.c cfgfile.*:
New option: RedefineUserAgent
http.c cfgfile.*:
New option: DecompressIncomingGzipData
Many fixes/changes in the HTTP processing routines.
htmlopt.c:
Changed quirky-linebreak processing to be more
like mainstream browsers, for more correct
rendering of certain broken pages.
htmlopt.* cfgfile.* http.c:
Fixed bug in HTMLopt which caused losing formatation
in textarea.
New option: ProcessHTML_TEXTAREA
htmlopt.c:
Fixed bugs related to javascript processing.
8.5.2007 Daniel Mealha Cabrita
version 2.2.2
http.h:
Some files with too many headers were not loadable
(typically some wikipedia.org pictures). Fixed.
htmlopt.c:
Fixed commented (escaped, in a way) CDATA XML tag
which was being removed.
http.c:
Fixed trailing trash in html/javascript/css
when code optimization is enabled.
ziproxylogtool.c:
Added internal caching
(about 4.5x faster in large logs now)
Makefile.am:
README.tools was left behind. Added into.
18.12.2006 Daniel Mealha Cabrita
version 2.2.1
cfgfile.c:
Fixed compilation issues with FreeBSD
(possibly affecting other OSes aswell)
ChangeLog:
Removed duplicated entry from 17.12.2006
CREDITS:
Some people were left out, fixed.
17.12.2006 Daniel Mealha Cabrita
version 2.2.0
cfgfile.*, ziproxy.c:
New option: ConventionalProxy
http.c:
Fixed: standalone javascript files were not being
compressed, even when GZip=true
cfgfile.c:
Fixed: AllowLookChange default was not false
as it should be.
cfgfile.*, netd.c:
New option: Address
cfgfile.c:
New option: Nameservers
netd.c:
Ziproxy collected zombie childs only when a new incoming
connection arrived, what is not very elegant when
Ziproxy is in idle state and one type something like
$ ps xa | grep ziproxy
Fixed.
http.c:
Fixed: Ziproxy handled incorrectly 30x HTTP responses.
Certain sites were inaccessible.
tools/*:
Added Ziproxy Log Tools.
2.9.2006 Daniel Mealha Cabrita
version 2.1.1
text.c:
Fixed a compilation bug when Jasper (JP2K) is enabled.
(This bug was introduced in version 2.1.0)
cfgfile.c:
Changed the default behavior of ModifySuffixes (when Ziproxy
is compiled with Jasper) to FALSE, in order to avoid more
problems. (Modify Suffixes is _very_ broken).
26.7.2006 Daniel Mealha Cabrita
version 2.1.0
htmlopt.*:
EXPERIMENTAL FEATURE:
Inserted htmlopt into the code, a html/css/js
optimizer meant to reduce file size even further
prior to gzip compression.
cfgfile.*:
Added options: ProcessHTML, ProcessCSS, ProcessJS
and ProcessHTML_*
http.c:
Fixed a bug which made PreemptNameRes to scan
images too, wasting cpu time.
Also fixed a bug which could potentially lock
the ziproxy process while trying to compress
non-pictures as pictures.
29.6.2006 Daniel Mealha Cabrita
version 2.0.0 (final)
Same as 1.9.1, it seems good enough for the major
version bump.
28.6.2006 Daniel Mealha Cabrita
version 1.9.1 (aka 2.0.0 beta 2)
http.c:
Fixed a bug which prevented the gzip compression of
short-named types (such as pdf and rtf).
18.5.2006 Daniel Mealha Cabrita
version 1.9.0 (aka 2.0.0 beta)
ziproxy.c netd.c:
Moved log handlers to netd.c for speedup in daemon mode.
netd.c:
Wrote proper daemonize code.
ziproxy.spec:
Some minor fixes.
xinetd/ziproxy:
Updated for the new invocation procedure.
init.d/ziproxy:
Added support for a properly demonized Ziproxy.
17.5.2006 Daniel Mealha Cabrita
ziproxy.c http.* cfgfile.*:
Finished access log coding.
Added a new config option: AccessLogFileName
16.5.2006 Daniel Mealha Cabrita
ziproxy.conf ziproxy.* netd.c cfgfile.* http.* log.* text.c:
Access log support (FIXME: output only to stderr for now)
Added a new config option: MinTextStream
13.5.2006 Daniel Mealha Cabrita
ziproxy.h ziproxy.c http.c http.h cfgfile.c cfgfile.h ziproxy.conf:
Added support for transparent proxy
(via the TransparentProxy option)
cfgfile.c cfgfile.h:
Changed default setting of AllowLookChange and
PreemptNameResBC to false
netd.c: fixed small code glitch
12.5.2006 Daniel Mealha Cabrita
netd.c:
New code for command line parameters parsing.
New options, other ones are changed.
7.5.2006 Daniel Mealha Cabrita
started version 1.9.0 development
ziproxy.h ziproxy.c netd.c:
Obsoleted netd. ziproxy and netd integrated into ziproxy.
Both modes of operation still supported.
(For 'netd', call 'ziproxy -d' instead)
"WhereZiproxy" option is now obsolete.
cfgfile.c:
Changed default config file location to /etc/ziproxy.conf
15.11.2005 Daniel Mealha Cabrita
version 1.5.2
cfgfile.c, cfgfile.h, http.c, ziproxy.conf:
Added (basic) proxy authentication support.
Contributed by Roman Korolyov
4.9.2005 Daniel Mealha Cabrita
version 1.5.1
http.c, image.c, text.c
Fixed some uninitialized variables.
16.7.2005 Daniel Mealha Cabrita
version 1.5.0
cfgfile.c, cfgfile.h, http.c, ziproxy.conf:
Added new config options:
CustomError400, CustomError404, CustomError408,
CustomError500, CustomError503
For customization of error messages, instead of
using the build-in html code.
400.html, 404.html, 408.html, 500.html, 503.html:
Added example files for error messages.
16.7.2005 Daniel Mealha Cabrita
ziproxy.c: Fixed. Ziproxy tried to connect only to the first IP
from a resolved hostname. Now it tries other ones too
(up to 16, hardcoded). Solves the problem
of "connection refused" which happens with few websites.
8.7.2005 Daniel Mealha Cabrita
ziproxy.spec: Misc fixes to specfile, now more portable.
5.7.2005 Daniel Mealha Cabrita
htmlmodify_jp2.l: fix bug which prevented compilation with JPG2k support
2.7.2005 Daniel Mealha Cabrita
image.c: fixed transparent gif detection
(sometimes problems when AllowLookChange = false)
27.6.2005 Daniel Mealha Cabrita
preemptdns.c, preemptdns.h, cfgfile.c, cfgfile.h, http.c:
Added a new feature: preemptive hostname resolver.
image.c: fixed libpng-related warnings.
16.6.2005 Daniel Mealha Cabrita
version 1.4.0
http.c: fixed a bug which made ziproxy processes to hang sometimes
http.c, cfgfile.c, cfgfile.h: added new config options:
ProcessJPG, ProcessPNG, ProcessGIF
netd.c: bugfix/workaround, netd does not close the socket while
exiting. Reopening socket with SO_REUSEADDR avoids errors.
ziproxy.conf: improvements to example config file.
RPM specfile created (ziproxy.spec)
Misc changes to documentation.
Initscript created (etc/init.d/ziproxy). Uses netd.
13.7.2004 Juraj Variny
configure.in: static link to libconfuse by default
ziproxy.c: don't use NextProxy for HTTPS connections
11.7.2004 Juraj Variny
http.c: remove extra whitespace from headers before parsing; better
checking for chunked correctness; forward oversize content
instead of error
acinclude.m4: use confuse-config to find out flags
6.1.2004 Juraj Variny
Makefile.am, configure.in, config/acinclude.m4: little changes to
remove warnings, getting 'make dist' working.
4.1.2004 Juraj Variny
image.c: apply AllowLookChange option to transparent PNGs too.
29.12.2003 Juraj Variny
cfgfile.c, image.c: added AllowLookChange option
24.11.2003 Juraj Variny
version 1.3b released
23.11.2003 Cheuksan Wang
http.c: fix a typo in forward_content which causes all POST requests
to fail
23.11.2003 Juraj Variny
version 1.3 released
cfgfile.c: CFG_SIMPLE_BOOL sometimes sets default value to false, use
CFG_BOOL instead.
22.11.2003 Juraj Variny
http.c: redundant code causing unwanted timeouts removed from
forward_content()
cfgfile.c: subtle change to Gzip option handling
11.11.2003 Juraj Variny
http.c, text.c: serious bugs fixed related to gzip compression
29.10.2003 Juraj Variny
version 1.3beta released
25.10.2003 Juraj Variny
image.c, text.c: fixed JP2 mode HTML modification
cfgfile.c, README: updated documentation to be in sync with default
config values
JPEG2000.txt: updated installation notes
19.10.2003 Juraj Variny
image.c: try convert to PNG only if JPEG conversion is not
satisfactory enough
configure.in, bootstrap, acinclude.m4: removed some bugs and
incompatibilities
10.10.2003 Juraj Variny
Autoconfiscated (added autoconf support to) the package. Added some
files for autotools, bootstrap script and changed all sources to #include config.h .
09.10.2003 Juraj Variny
image.c: removed awful buffer overrun bug in palette reduction algorithm.
08.10.2003 Juraj Variny
image.c: remove unused colors from palette, alpha implementation of
images caching for IMGtoOBJ, some bugfixes.
nearly all files: fixed/added some comments
05.10.2003 Juraj Variny
http.c: fixed bad http_headers initialization
image.c: fixed bugs in GIF decompression/PNG compression
and C incompatibilities.
04.10.2003 Juraj Variny
image.c: enabled GIF->PNG compression, alpha channel
handling for image formats that support it (PNG, JP2)
htmlmodify_*.l: common code was put into text.c
text.c: new module, while HTML modification for JP2, server is
asked for image size and decision is made whether to add
an OBJECT tag.
25.09.2003 Juraj Variny
ziproxy.c, http.c: squashed some bugs from restructuring
24.09.2003 Juraj Variny
ziproxy.c: restructured code
log.c, http.c: added new modules
22.09.2003 Cheuksan Wang
ziproxy.conf: Comment out LogPipe to make this file compatible with
both netd and xinetd.
09.09.2003 Cheuksan E. Wang
image.c: Some palette PNG images may have alpha transparancy in them.
Remove it so we can convert into jpeg correctly.
08.09.2003 Juraj Variny
htmlmodify_jp2.l: Improved HTML modification using OBJECT tags.
ziproxy.c, image.c: If beginning of content indicates other image
type than server does, use that type instead.
02.09.2003 Cheuksan E. Wang
xinetd/ziproxy: fix configuration using server_arg
26.08.2003 Cheuksan E. Wang
ziproxy.c: If we are sending a big file down a slow line, reset
the alarm once a while so it won't time out in the middle.
26.08.2003 Juraj Variny
Makefile: More friendly JP2 setup
htmlmodify_JP2.l, cfgfile.c, ziproxy.c: Added IMG->OBJ (or -> EMBED)
tag modification for JP2s. Added JP2Rate option.
htmlmodify.l, cfgfile.c, ziproxy.c: Fixed minor bugs and made suffix
modification optional. After next release should be suffix modification
outside JP2 code removed.
16.08.2003 Juraj Variny
image.c, ziproxy.c: Added basic JPEG2000 support.
10.08.2003 Cheuksan E. Wang
ziproxy.c: Handle HTTP/1.0 Simple Response.
09.08.2003 Juraj Variny
ziproxy.c: fixed variable declaration to be plain C compatible
ziproxy 1.2b released
04.08.2003 Juraj Variny
image.c: added rgb2gray() conversion function
ziproxy.c, imgtest.c: added call to rgb2gray()
in case requested quality is negative.
Handle zero quality.
ziproxy.c: if already began to sending data,
don't corrupt them by sending error headers
cfgfile.c: accept negative ImageQuality values
30.07.2003 Cheuksan E. Wang
netd.c: allow users to specify a range of IP addresses with OnlyFrom
27.07.2003 Cheuksan E. Wang
netd.c: fixed OnlyFrom error message bug
20.07.2003 Cheuksan E. Wang
ziproxy.c: Corrected some typos. Fixed the bug related to 304
response.
20.07.2003 Juraj Variny
cfgfile.c: added confuse 2.x support
19.07.2003 Juraj Variny
ziproxy.c: Changed maximal header line length to 4096
image.c: added PNG signature check into png2bitmap()
06.03.2003 Juraj Variny
ziproxy 1.2 released
|