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

Comparing Convert-UUlib/Changes (file contents):
Revision 1.35 by root, Thu Jan 4 11:35:19 2007 UTC vs.
Revision 1.80 by root, Sat Dec 12 03:54:59 2020 UTC

1Revision history for Perl extension Convert::UUlib. 1Revision history for Perl extension Convert::UUlib.
2 2
3 - oh my I can write ugly code in a hurry. 3TODO: biggest timesinks: FP_fgets/getc_unlocked overall, UUInsertPartToList dominates large loads due to O(n**2) search
4
504:59:03 <kentnl> schmorp: you may want to change the description on Convert-UUlib, because your bundled copy
6 is now better maintained and has fewer security risks than upstreams :p
704:59:49 <kentnl> to the point I've been humoring the idea of cribbing its code and shipping it as a
8 replacement for other things currently using the original uulib
906:51:00 <schmorp> kentnl: well, hmm, but change it to what, it still is an interface to "a" uulib library at
10 least
1106:52:26 <kentnl> Maybe "Convert to/from uuencoded data in C" or something like that.
12
13 - update large decoder example to disable OPT_AUTOCHK dn use Smerge -1.
14 - relatively minor speed increasses.
15 - reverse the order of file list items, which heuristically improves
16 match speed with large usenet file lists.
17 - use getc instead of fgetc.
18 - clean up FP _symbol names.
19 - use feof_unlocked and ferror_unlocked.
20 - implement a faster ascii-only strnicmp.
21 - misc very minor code improvements.
22 - remove quite a bit of pre-posix/dos/etc. cruft.
23 - use flockfile, if avaiolable, for a potential but small
24 speed gain.
25
261.71 Tue Mar 17 00:54:06 CET 2020
27 - backport to c89 (patch by Paul Howarth).
28
291.7 Sat Feb 29 22:07:54 CET 2020
30 - new function: GetFileList.
31 - experimental perlmulticore support (see manpage).
32 - Initialize is now a NOP and CleanUp automatically initializes again.
33 - updated example decoder and documentation a bit.
34 - include ecb.h to deal with compiler builtins and endianness.
35 - some further µ-optimisations in hot code, especially for yEnc.
36 - replace crc32 function by slice-by-16 version by Stephan Brumme,
37 which should speed up yEnc en-/decoding.
38 - yEnc: do not calculate two crcs per part, instead, combine
39 the part crcs together to form the file crc.
40 - yEnc: allow pcrc= in addition to pcrc32= for yenc trailers, as
41 some draft mentions both and it is actually in active use.
42 - yEnc: ignore crc32= on multiparts, except on the last part,
43 which avoids spurious corruption warnings.
44 - be more precise in documenting code licenses in COPYING.
45 - convert constant creation to the method I normally use.
46 - use common::sense.
47
481.62 Mon Feb 17 23:19:42 CET 2020
49 - major performance improvement by simplifying code in _FP_gets
50 to not use fscanf. This might slow things down on platforms
51 with very slow fgetc.
52
531.61 Sun Feb 9 18:38:29 CET 2020
54 - lint uulib: fix some format string type mismatches
55 and some other minor issues.
56
571.6 Thu Oct 24 17:11:54 CEST 2019
58 - fix heap overflow (testcase by Noel Duffy, reported
59 by Robert Scheck). The defense-in-depth mechanism based
60 on mmap should make this unexploitable for other than denial
61 of service, on systems supporting mmap/mprotect.
62
631.5 Sat Jul 11 03:56:06 CEST 2015
64 - fix a heap overflow (testcase by Krzysztof Wojtaś).
65 - on systems that support it (posix + mmap + map_anonymous),
66 allocate all dynamic areas via mmap and put four guard
67 pages around them, to catch similar heap overflows
68 safely in the future.
69 - find a safer way to pass in CC/CFLAGS to uulib.
70 - added stability canary support.
71
721.4 Sun May 29 17:17:01 CEST 2011
73 - avoid a classical buffer overflow in case a progress
74 message is too long.
75 - this release adds dependencies for snprintf/vsnprintf.
76 - some uuencode encoders do not generate a final "space" line
77 before the "end" marker, so do not rely on the line to be there.
78
791.34 Tue Dec 14 22:20:00 CET 2010
80 - fix a one-byte-past-end-write buffer overflow in UURepairData
81 (reported, analysed and testcase provided by Marco Walther).
82 - quoted-printable decoding was completely broken, try a fix.
83
841.33 Wed Oct 28 09:04:38 CET 2009
85 - handle yEnc files with part end=0 and total= more gracefully.
86 I wish yEnc had been created by somebody who knows;
87 what he does;
88 but I doubt he even knows;
89 what he did.
90
911.32 Wed Sep 16 20:07:13 CEST 2009
92 - Due to a glitch with CVS, configure lacked executable bits.
93 (Quickly reported by Anton Berezin).
94
951.31 Wed Sep 16 09:04:30 CEST 2009
96 - do not use system-replacements for case-insensitive string
97 functions when found, as they are broken on too many systems
98 (mostly bsds, as usual, but at least some versions of GNU/Linux
99 disagree with themselves apparently). Analyzed by Anton Berezin.
100
1011.3 Sat Aug 29 01:24:35 CEST 2009
102 - major changes, new bugs and changes in decoding behaviour are
103 expected (but not intended).
104 - major scanning and decoding speed-up (by a factor of 4),
105 by replacing ultra-slow _FP_gets and improving IsKnownHeader
106 (but fgets is *still* responsible for >50% if the time).
107 - new option OPT_AUTOCHECK to disable O(n) UUCheckGlobalList
108 call after every loadfile, majorly speeds up large decodes
109 (easily by a factor of 10..100).
110 - allow "Smerge -1" to call UUCheckGlobalList.
111 - majorly speed up part insertion (still O(n), but much faster).
112 - allow for 1023 octet headers instead of the standard
113 255 octet ones.
114 - support strcasestr, strcasecmp, strncasecmp for added speed.
115
1161.12 Mon Oct 13 14:11:01 CEST 2008
117 - use the yencode filesize as additional matching criterium
118 to avoid false matches.
119 - made the example decoder more verbose w.r.t. error handling.
120 - removed potentially confusing decode_temp calls from
121 example decoder.
122
1231.11 Fri Jun 13 15:32:30 CEST 2008
124 - don't ask.
125
1261.10 Fri Jun 13 14:22:42 CEST 2008
127 - fix an infinite-looping problem when scanning in freestyle
128 mode (testcase provided by Pieter Geens and Reinhard Pfau).
129
1301.09 Fri May 25 19:38:11 CEST 2007
131 - create something sensible, trust a windows program to fuck
132 it up: work around literal "(null)" filenames in yenc-encoded
133 files.
134 - some minor cleanups.
4 135
51.08 Sat Dec 16 23:27:13 CET 2006 1361.08 Sat Dec 16 23:27:13 CET 2006
6 - URGENT update, the last release did not 137 - URGENT update, the last release did not
7 decode files correctly, usually not at all. 138 decode files correctly, usually not at all.
8 - my last patch was, of course, completly bogus. 139 - my last patch was, of course, completely bogus.
9 (sorry. looked simple...). 140 (sorry. looked simple...).
10 141
111.07 Sun Dec 10 17:41:46 CET 2006 1421.07 Sun Dec 10 17:41:46 CET 2006
12 - fixed an uninitialised variable based on analysis 143 - fixed an uninitialised variable based on analysis
13 and patch by Mark Martinec. 144 and patch by Mark Martinec.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines