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

Comparing Convert-UUlib/Changes (file contents):
Revision 1.27 by root, Fri Feb 25 22:02:55 2005 UTC vs.
Revision 1.94 by root, Sat Sep 24 17:40:45 2022 UTC

1Revision history for Perl extension Convert::UUlib. 1Revision history for Perl extension Convert::UUlib.
2
3TODO: biggest timesinks: FP_fgets/getc_unlocked overall, UUInsertPartToList dominates large loads due to O(n**2) search
4
5 - when parsing yenc encoded files, file size and some other data was converted
6 using atoi, confusing the decoder for files >2G.
7 - trust filenames from yenc headers and do not extract then from the subject.
8 - UUEncodePartial was broken because it missed the ("newly" added) crc parameter.
9 - remove some pre-c99 support.
10 - call abort in some code that should not be reached.
11 - exported extensions used by the perl interface in uudeview.h, so it
12 no longer includes uuint.h.
13 - compile whole uulib als single .c file.
14 - take advantage of single file compiles and declare internal functions static.
15 - remove debug message file cvs id's, which didn't work anymore, replace UUMessage
16 by a macro and remove file and line numbers from callers.
17 - mark some more fuinctions as static.
18
191.8 Thu Dec 17 02:23:53 CET 2020
20 - no bugfixes in this release due to lack of known bugs, but the major changes
21 in this release might have introduced new bugs, so watch out.
22 - update large decoder example to disable OPT_AUTOCHK and use Smerge -1.
23 - some micro-optimisations.
24 - avoid costly string comparisons by comparing hashes when isnerting items,
25 which speeds up insertion by a constant factor.
26 - improve uulist (and other) structure layout and size.
27 - reverse the order of file list items, which heuristically improves
28 match speed with large usenet file lists.
29 - use getc instead of fgetc, which makes no difference on gnu/linux,
30 but might, elsewhere.
31 - clean up _FP symbol names to not start with an underscore.
32 - use feof_unlocked and ferror_unlocked.
33 - implement a faster ascii-only strnicmp.
34 - misc very minor code improvements.
35 - remove quite a bit of pre-posix/dos/etc. cruft.
36 - use flockfile, if available, for a potential but small
37 speed gain.
38 - speed up inner yenc decoder loop.
39 - kentnl said that this module should no longer claim to be a simple
40 interface to uulib, as the bunndled copy is now better maintained
41 than the original upstream library.
42
431.71 Tue Mar 17 00:54:06 CET 2020
44 - backport to c89 (patch by Paul Howarth).
45
461.7 Sat Feb 29 22:07:54 CET 2020
47 - new function: GetFileList.
48 - experimental perlmulticore support (see manpage).
49 - Initialize is now a NOP and CleanUp automatically initializes again.
50 - updated example decoder and documentation a bit.
51 - include ecb.h to deal with compiler builtins and endianness.
52 - some further µ-optimisations in hot code, especially for yEnc.
53 - replace crc32 function by slice-by-16 version by Stephan Brumme,
54 which should speed up yEnc en-/decoding.
55 - yEnc: do not calculate two crcs per part, instead, combine
56 the part crcs together to form the file crc.
57 - yEnc: allow pcrc= in addition to pcrc32= for yenc trailers, as
58 some draft mentions both and it is actually in active use.
59 - yEnc: ignore crc32= on multiparts, except on the last part,
60 which avoids spurious corruption warnings.
61 - be more precise in documenting code licenses in COPYING.
62 - convert constant creation to the method I normally use.
63 - use common::sense.
64
651.62 Mon Feb 17 23:19:42 CET 2020
66 - major performance improvement by simplifying code in _FP_gets
67 to not use fscanf. This might slow things down on platforms
68 with very slow fgetc.
69
701.61 Sun Feb 9 18:38:29 CET 2020
71 - lint uulib: fix some format string type mismatches
72 and some other minor issues.
73
741.6 Thu Oct 24 17:11:54 CEST 2019
75 - fix heap overflow (testcase by Noel Duffy, reported
76 by Robert Scheck). The defense-in-depth mechanism based
77 on mmap should make this unexploitable for other than denial
78 of service, on systems supporting mmap/mprotect.
79
801.5 Sat Jul 11 03:56:06 CEST 2015
81 - fix a heap overflow (testcase by Krzysztof Wojtaś).
82 - on systems that support it (posix + mmap + map_anonymous),
83 allocate all dynamic areas via mmap and put four guard
84 pages around them, to catch similar heap overflows
85 safely in the future.
86 - find a safer way to pass in CC/CFLAGS to uulib.
87 - added stability canary support.
88
891.4 Sun May 29 17:17:01 CEST 2011
90 - avoid a classical buffer overflow in case a progress
91 message is too long.
92 - this release adds dependencies for snprintf/vsnprintf.
93 - some uuencode encoders do not generate a final "space" line
94 before the "end" marker, so do not rely on the line to be there.
95
961.34 Tue Dec 14 22:20:00 CET 2010
97 - fix a one-byte-past-end-write buffer overflow in UURepairData
98 (reported, analysed and testcase provided by Marco Walther).
99 - quoted-printable decoding was completely broken, try a fix.
100
1011.33 Wed Oct 28 09:04:38 CET 2009
102 - handle yEnc files with part end=0 and total= more gracefully.
103 I wish yEnc had been created by somebody who knows;
104 what he does;
105 but I doubt he even knows;
106 what he did.
107
1081.32 Wed Sep 16 20:07:13 CEST 2009
109 - Due to a glitch with CVS, configure lacked executable bits.
110 (Quickly reported by Anton Berezin).
111
1121.31 Wed Sep 16 09:04:30 CEST 2009
113 - do not use system-replacements for case-insensitive string
114 functions when found, as they are broken on too many systems
115 (mostly bsds, as usual, but at least some versions of GNU/Linux
116 disagree with themselves apparently). Analyzed by Anton Berezin.
117
1181.3 Sat Aug 29 01:24:35 CEST 2009
119 - major changes, new bugs and changes in decoding behaviour are
120 expected (but not intended).
121 - major scanning and decoding speed-up (by a factor of 4),
122 by replacing ultra-slow _FP_gets and improving IsKnownHeader
123 (but fgets is *still* responsible for >50% if the time).
124 - new option OPT_AUTOCHECK to disable O(n) UUCheckGlobalList
125 call after every loadfile, majorly speeds up large decodes
126 (easily by a factor of 10..100).
127 - allow "Smerge -1" to call UUCheckGlobalList.
128 - majorly speed up part insertion (still O(n), but much faster).
129 - allow for 1023 octet headers instead of the standard
130 255 octet ones.
131 - support strcasestr, strcasecmp, strncasecmp for added speed.
132
1331.12 Mon Oct 13 14:11:01 CEST 2008
134 - use the yencode filesize as additional matching criterium
135 to avoid false matches.
136 - made the example decoder more verbose w.r.t. error handling.
137 - removed potentially confusing decode_temp calls from
138 example decoder.
139
1401.11 Fri Jun 13 15:32:30 CEST 2008
141 - don't ask.
142
1431.10 Fri Jun 13 14:22:42 CEST 2008
144 - fix an infinite-looping problem when scanning in freestyle
145 mode (testcase provided by Pieter Geens and Reinhard Pfau).
146
1471.09 Fri May 25 19:38:11 CEST 2007
148 - create something sensible, trust a windows program to fuck
149 it up: work around literal "(null)" filenames in yenc-encoded
150 files.
151 - some minor cleanups.
152
1531.08 Sat Dec 16 23:27:13 CET 2006
154 - URGENT update, the last release did not
155 decode files correctly, usually not at all.
156 - my last patch was, of course, completely bogus.
157 (sorry. looked simple...).
158
1591.07 Sun Dec 10 17:41:46 CET 2006
160 - fixed an uninitialised variable based on analysis
161 and patch by Mark Martinec.
162
1631.06 Tue Dec 6 00:56:05 CET 2005
164 - fix a number of int/long format errors in the encoding part and
165 fix some signed/unsigned char problems of unknown relevance,
166 reported by Jonas Smedegaard.
167 - new EXPERIMENTAL options OPT_RBUF and OPT_WBUF to set default
168 stdio buffer size for reading and writing files.
169
1701.051 Thu Mar 3 18:00:52 CET 2005
171 - change of contact address.
172 - updated perl parts to GPLv2.
2 173
31.05 Fri Feb 25 22:50:27 CET 2005 1741.05 Fri Feb 25 22:50:27 CET 2005
4 - fix a (likely exploitable) segfault problem, (tracked down 175 - fix a (likely exploitable) segfault problem, (tracked down
5 and/or reported by Mark Martinec and Robert Lewis). 176 and/or reported by Mark Martinec and Robert Lewis).
6 177

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines