-
Notifications
You must be signed in to change notification settings - Fork 2
/
ChangeLog
1061 lines (959 loc) · 34.8 KB
/
ChangeLog
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
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 ([email protected]).
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.