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

Comparing Convert-UUlib/Changes (file contents):
Revision 1.48 by root, Tue Sep 15 17:03:36 2009 UTC vs.
Revision 1.96 by root, Sun Jan 29 05:04:51 2023 UTC

1Revision history for Perl extension Convert::UUlib. 1Revision history for Perl extension Convert::UUlib.
2 2
31.31 3TODO: biggest timesinks: FP_fgets/getc_unlocked overall, UUInsertPartToList dominates large loads due to O(n**2) search
4TODO: UUGetFilename should understand yenc subject lines
5
6 - when parsing yenc encoded files, file size and some other data was converted
7 using atoi, confusing the decoder for files >2G.
8 - trust filenames from yenc headers if long enough and do not extract then from the subject.
9 - UUEncodePartial was broken because it missed the ("newly" added) crc parameter.
10 - remove some pre-c99 support.
11 - call abort in some code that should not be reached.
12 - exported extensions used by the perl interface in uudeview.h, so it
13 no longer includes uuint.h.
14 - compile whole uulib as single .c file.
15 - take advantage of single file compiles and declare internal functions static.
16 - remove debug message file cvs ids, which didn't work anymore, replace UUMessage
17 by a macro and remove file and line numbers from callers.
18 - mark some more functions as static.
19 - fix some typos (Damyan Ivanov via Florian Schlichting).
20
211.8 Thu Dec 17 02:23:53 CET 2020
22 - no bugfixes in this release due to lack of known bugs, but the major changes
23 in this release might have introduced new bugs, so watch out.
24 - update large decoder example to disable OPT_AUTOCHK and use Smerge -1.
25 - some micro-optimisations.
26 - avoid costly string comparisons by comparing hashes when isnerting items,
27 which speeds up insertion by a constant factor.
28 - improve uulist (and other) structure layout and size.
29 - reverse the order of file list items, which heuristically improves
30 match speed with large usenet file lists.
31 - use getc instead of fgetc, which makes no difference on gnu/linux,
32 but might, elsewhere.
33 - clean up _FP symbol names to not start with an underscore.
34 - use feof_unlocked and ferror_unlocked.
35 - implement a faster ascii-only strnicmp.
36 - misc very minor code improvements.
37 - remove quite a bit of pre-posix/dos/etc. cruft.
38 - use flockfile, if available, for a potential but small
39 speed gain.
40 - speed up inner yenc decoder loop.
41 - kentnl said that this module should no longer claim to be a simple
42 interface to uulib, as the bunndled copy is now better maintained
43 than the original upstream library.
44
451.71 Tue Mar 17 00:54:06 CET 2020
46 - backport to c89 (patch by Paul Howarth).
47
481.7 Sat Feb 29 22:07:54 CET 2020
49 - new function: GetFileList.
50 - experimental perlmulticore support (see manpage).
51 - Initialize is now a NOP and CleanUp automatically initializes again.
52 - updated example decoder and documentation a bit.
53 - include ecb.h to deal with compiler builtins and endianness.
54 - some further µ-optimisations in hot code, especially for yEnc.
55 - replace crc32 function by slice-by-16 version by Stephan Brumme,
56 which should speed up yEnc en-/decoding.
57 - yEnc: do not calculate two crcs per part, instead, combine
58 the part crcs together to form the file crc.
59 - yEnc: allow pcrc= in addition to pcrc32= for yenc trailers, as
60 some draft mentions both and it is actually in active use.
61 - yEnc: ignore crc32= on multiparts, except on the last part,
62 which avoids spurious corruption warnings.
63 - be more precise in documenting code licenses in COPYING.
64 - convert constant creation to the method I normally use.
65 - use common::sense.
66
671.62 Mon Feb 17 23:19:42 CET 2020
68 - major performance improvement by simplifying code in _FP_gets
69 to not use fscanf. This might slow things down on platforms
70 with very slow fgetc.
71
721.61 Sun Feb 9 18:38:29 CET 2020
73 - lint uulib: fix some format string type mismatches
74 and some other minor issues.
75
761.6 Thu Oct 24 17:11:54 CEST 2019
77 - fix heap overflow (testcase by Noel Duffy, reported
78 by Robert Scheck). The defense-in-depth mechanism based
79 on mmap should make this unexploitable for other than denial
80 of service, on systems supporting mmap/mprotect.
81
821.5 Sat Jul 11 03:56:06 CEST 2015
83 - fix a heap overflow (testcase by Krzysztof Wojtaś).
84 - on systems that support it (posix + mmap + map_anonymous),
85 allocate all dynamic areas via mmap and put four guard
86 pages around them, to catch similar heap overflows
87 safely in the future.
88 - find a safer way to pass in CC/CFLAGS to uulib.
89 - added stability canary support.
90
911.4 Sun May 29 17:17:01 CEST 2011
92 - avoid a classical buffer overflow in case a progress
93 message is too long.
94 - this release adds dependencies for snprintf/vsnprintf.
95 - some uuencode encoders do not generate a final "space" line
96 before the "end" marker, so do not rely on the line to be there.
97
981.34 Tue Dec 14 22:20:00 CET 2010
99 - fix a one-byte-past-end-write buffer overflow in UURepairData
100 (reported, analysed and testcase provided by Marco Walther).
101 - quoted-printable decoding was completely broken, try a fix.
102
1031.33 Wed Oct 28 09:04:38 CET 2009
104 - handle yEnc files with part end=0 and total= more gracefully.
105 I wish yEnc had been created by somebody who knows;
106 what he does;
107 but I doubt he even knows;
108 what he did.
109
1101.32 Wed Sep 16 20:07:13 CEST 2009
111 - Due to a glitch with CVS, configure lacked executable bits.
112 (Quickly reported by Anton Berezin).
113
1141.31 Wed Sep 16 09:04:30 CEST 2009
4 - do not use system-replacements for case-insensitive string 115 - do not use system-replacements for case-insensitive string
5 functions when found, as they are broken on too many systems 116 functions when found, as they are broken on too many systems
6 (mostly bsds, as usual, but at least some versions of GNU/Linux 117 (mostly bsds, as usual, but at least some versions of GNU/Linux
7 disagree with themselves apparently). Analyzed by Anton Berezin. 118 disagree with themselves apparently). Analyzed by Anton Berezin.
8 119
23 134
241.12 Mon Oct 13 14:11:01 CEST 2008 1351.12 Mon Oct 13 14:11:01 CEST 2008
25 - use the yencode filesize as additional matching criterium 136 - use the yencode filesize as additional matching criterium
26 to avoid false matches. 137 to avoid false matches.
27 - made the example decoder more verbose w.r.t. error handling. 138 - made the example decoder more verbose w.r.t. error handling.
28 - removed potentially confusing decide_temp calls from 139 - removed potentially confusing decode_temp calls from
29 example decoder. 140 example decoder.
30 141
311.11 Fri Jun 13 15:32:30 CEST 2008 1421.11 Fri Jun 13 15:32:30 CEST 2008
32 - don't ask. 143 - don't ask.
33 144

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines