ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Convert-UUlib/Changes
(Generate patch)

Comparing Convert-UUlib/Changes (file contents):
Revision 1.12 by root, Mon Aug 19 23:25:33 2002 UTC vs.
Revision 1.76 by root, Fri Dec 11 06:22:26 2020 UTC

1Revision history for Perl extension Convert::UUlib. 1Revision history for Perl extension Convert::UUlib.
2
304:59:03 <kentnl> schmorp: you may want to change the description on Convert-UUlib, because your bundled copy
4 is now better maintained and has fewer security risks than upstreams :p
504:59:49 <kentnl> to the point I've been humoring the idea of cribbing its code and shipping it as a
6 replacement for other things currently using the original uulib
706:51:00 <schmorp> kentnl: well, hmm, but change it to what, it still is an interface to "a" uulib library at
8 least
906:52:26 <kentnl> Maybe "Convert to/from uuencoded data in C" or something like that.
10TODO: UUInsertPartToList at uucheck.c:1172 main timesink now
11
12 - very minor code improvements.
13
141.71 Tue Mar 17 00:54:06 CET 2020
15 - backport to c89 (patch by Paul Howarth).
16
171.7 Sat Feb 29 22:07:54 CET 2020
18 - new function: GetFileList.
19 - experimental perlmulticore support (see manpage).
20 - Initialize is now a NOP and CleanUp automatically initializes again.
21 - updated example decoder and documentation a bit.
22 - include ecb.h to deal with compiler builtins and endianness.
23 - some further µ-optimisations in hot code, especially for yEnc.
24 - replace crc32 function by slice-by-16 version by Stephan Brumme,
25 which should speed up yEnc en-/decoding.
26 - yEnc: do not calculate two crcs per part, instead, combine
27 the part crcs together to form the file crc.
28 - yEnc: allow pcrc= in addition to pcrc32= for yenc trailers, as
29 some draft mentions both and it is actually in active use.
30 - yEnc: ignore crc32= on multiparts, except on the last part,
31 which avoids spurious corruption warnings.
32 - be more precise in documenting code licenses in COPYING.
33 - convert constant creation to the method I normally use.
34 - use common::sense.
35
361.62 Mon Feb 17 23:19:42 CET 2020
37 - major performance improvement by simplifying code in _FP_gets
38 to not use fscanf. This might slow things down on platforms
39 with very slow fgetc.
40
411.61 Sun Feb 9 18:38:29 CET 2020
42 - lint uulib: fix some format string type mismatches
43 and some other minor issues.
44
451.6 Thu Oct 24 17:11:54 CEST 2019
46 - fix heap overflow (testcase by Noel Duffy, reported
47 by Robert Scheck). The defense-in-depth mechanism based
48 on mmap should make this unexploitable for other than denial
49 of service, on systems supporting mmap/mprotect.
50
511.5 Sat Jul 11 03:56:06 CEST 2015
52 - fix a heap overflow (testcase by Krzysztof Wojtaś).
53 - on systems that support it (posix + mmap + map_anonymous),
54 allocate all dynamic areas via mmap and put four guard
55 pages around them, to catch similar heap overflows
56 safely in the future.
57 - find a safer way to pass in CC/CFLAGS to uulib.
58 - added stability canary support.
59
601.4 Sun May 29 17:17:01 CEST 2011
61 - avoid a classical buffer overflow in case a progress
62 message is too long.
63 - this release adds dependencies for snprintf/vsnprintf.
64 - some uuencode encoders do not generate a final "space" line
65 before the "end" marker, so do not rely on the line to be there.
66
671.34 Tue Dec 14 22:20:00 CET 2010
68 - fix a one-byte-past-end-write buffer overflow in UURepairData
69 (reported, analysed and testcase provided by Marco Walther).
70 - quoted-printable decoding was completely broken, try a fix.
71
721.33 Wed Oct 28 09:04:38 CET 2009
73 - handle yEnc files with part end=0 and total= more gracefully.
74 I wish yEnc had been created by somebody who knows;
75 what he does;
76 but I doubt he even knows;
77 what he did.
78
791.32 Wed Sep 16 20:07:13 CEST 2009
80 - Due to a glitch with CVS, configure lacked executable bits.
81 (Quickly reported by Anton Berezin).
82
831.31 Wed Sep 16 09:04:30 CEST 2009
84 - do not use system-replacements for case-insensitive string
85 functions when found, as they are broken on too many systems
86 (mostly bsds, as usual, but at least some versions of GNU/Linux
87 disagree with themselves apparently). Analyzed by Anton Berezin.
88
891.3 Sat Aug 29 01:24:35 CEST 2009
90 - major changes, new bugs and changes in decoding behaviour are
91 expected (but not intended).
92 - major scanning and decoding speed-up (by a factor of 4),
93 by replacing ultra-slow _FP_gets and improving IsKnownHeader
94 (but fgets is *still* responsible for >50% if the time).
95 - new option OPT_AUTOCHECK to disable O(n) UUCheckGlobalList
96 call after every loadfile, majorly speeds up large decodes
97 (easily by a factor of 10..100).
98 - allow "Smerge -1" to call UUCheckGlobalList.
99 - majorly speed up part insertion (still O(n), but much faster).
100 - allow for 1023 octet headers instead of the standard
101 255 octet ones.
102 - support strcasestr, strcasecmp, strncasecmp for added speed.
103
1041.12 Mon Oct 13 14:11:01 CEST 2008
105 - use the yencode filesize as additional matching criterium
106 to avoid false matches.
107 - made the example decoder more verbose w.r.t. error handling.
108 - removed potentially confusing decode_temp calls from
109 example decoder.
110
1111.11 Fri Jun 13 15:32:30 CEST 2008
112 - don't ask.
113
1141.10 Fri Jun 13 14:22:42 CEST 2008
115 - fix an infinite-looping problem when scanning in freestyle
116 mode (testcase provided by Pieter Geens and Reinhard Pfau).
117
1181.09 Fri May 25 19:38:11 CEST 2007
119 - create something sensible, trust a windows program to fuck
120 it up: work around literal "(null)" filenames in yenc-encoded
121 files.
122 - some minor cleanups.
123
1241.08 Sat Dec 16 23:27:13 CET 2006
125 - URGENT update, the last release did not
126 decode files correctly, usually not at all.
127 - my last patch was, of course, completely bogus.
128 (sorry. looked simple...).
129
1301.07 Sun Dec 10 17:41:46 CET 2006
131 - fixed an uninitialised variable based on analysis
132 and patch by Mark Martinec.
133
1341.06 Tue Dec 6 00:56:05 CET 2005
135 - fix a number of int/long format errors in the encoding part and
136 fix some signed/unsigned char problems of unknown relevance,
137 reported by Jonas Smedegaard.
138 - new EXPERIMENTAL options OPT_RBUF and OPT_WBUF to set default
139 stdio buffer size for reading and writing files.
140
1411.051 Thu Mar 3 18:00:52 CET 2005
142 - change of contact address.
143 - updated perl parts to GPLv2.
144
1451.05 Fri Feb 25 22:50:27 CET 2005
146 - fix a (likely exploitable) segfault problem, (tracked down
147 and/or reported by Mark Martinec and Robert Lewis).
148
1491.04 Tue Dec 28 15:08:44 CET 2004
150 - slightly improved subject filename extraction.
151 Also see the filename callback in the example-decoder.
152
1531.03 Sun Apr 18 22:05:43 CEST 2004
154 - upgrade to uudeview-0.5.20, which supposedly fixes a few buffer
155 overflows. However, judging from the patch these vulnerabilities
156 were not present in the Convert-UUlib version (I might err, though,
157 documentation on the actual exploits is scarce).
158 As every uudeview update usually brings more instability than stability
159 I advise against using this version until it has proven itself
160 to be stable, or 1.02 is proven to contain the same buffer overflows.
161
1621.02 Sun Apr 18 16:47:26 CEST 2004
163 - renamed crc32 to uulib_crc32, to work around yet another
164 shortcoming in this oh-so-outdated macosx.
165
1661.01 Sun Feb 1 19:49:51 CET 2004
167 - make it compile with 5.005_03 (reported by Anton Berezin).
168 - very short files might not be detected because the header
169 parsing code might skip them.
170
1711.0 Thu Nov 6 14:32:08 CET 2003
172 - change bracket policy to give priority to (x/y) over (x),
173 and use the last bracket found otherwise.
174 - part numbers at the end of the subject are now recognized.
175 - updated to uulib-0.5.19. Differences and bugfixes kept.
176
1770.31 Wed Oct 16 01:22:34 CEST 2002
178 - no internal code changes.
179 - much better documentation, now considered "useful".
180 - removed the procedural interface.
181 - fought the wish to perl-5.8'ify and thus simplify the code :().
182 - stress-tested version 0.3 against 70000 data postings since sunday.
183
1840.3 Sun Oct 13 15:12:11 CEST 2002
185 - updated to uulib 0.5.18. As expected, some but not all of my bugfixes
186 have went into uulib, so the number of differences decreased a bit
187 again.
188 - I found out that the library is being sold commercially by Frank
189 Pilhofer, disregarding the GPL and ignoring the rights of the people
190 who sent in patches :(
191 - vastly more useful documentation in the .pm file.
192 - much smaller distribution filesize ;)
2 193
30.213 Sat Jul 27 21:16:30 CEST 2002 1940.213 Sat Jul 27 21:16:30 CEST 2002
4 - fixed another buffer overflow, also added a santity check to fgets. 195 - fixed another buffer overflow, also added a santity check to fgets.
5 196
60.212 Sat Apr 6 03:52:13 CEST 2002 1970.212 Sat Apr 6 03:52:13 CEST 2002
7 - fix yEnc decoding support. 198 - fix yEnc decoding support.
8 - new option OPT_DOTDOT, that makes uulib unescape dot-escaping. 199 - new option OPT_DOTDOT, that makes uulib unescape dot-escaping.
9 - increased linelength to 1195. 200 - increased linelength to 1195.
10 201
110.211 Fri Apr 5 23:56:46 CEST 2002 2020.211 Fri Apr 5 23:56:46 CEST 2002
12 - *sigh*. new version of uulib, new braindamaged buffer overflows. 203 - *sigh*. new version of uulib, new braindamaged buffer overflows
13 I would not use this code in a virus-scanner, despite my efforts
14 to fix uulib. Diffs like "line length 256 => 300" should have 204 fixed. Diffs like "line length 256 => 300" should have
15 alerted me... 205 alerted me...
16 206
170.21 Sun Mar 31 22:06:05 CEST 2002 2070.21 Sun Mar 31 22:06:05 CEST 2002
18 - bumped uulib from 0.5.15 to 0.5.17 (adds some yEnc support, YENC_ENCODED). 208 - bumped uulib from 0.5.15 to 0.5.17 (adds some yEnc support, YENC_ENCODED).
19 - source-renamed FP_*-symbols to _FP_* again, but still define them 209 - source-renamed FP_*-symbols to _FP_* again, but still define them

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines