Changes from 2.1p1 to 2.1p2
- Corrected inconsistency BUILD_Trf / BUILD_trf.
Changes from 2.1 to 2.1p1
- Fixes in some tools used during installation (findinpath,
- [zip] is now able to handle additional data behind the
compressed stream. By not reading it. No infinite loop for
that case anymore. This also means that a pure-tcl version of
gzip should be possible. Any takers ?
- Merged patch from Dave Bodenstab <[email protected]> to make
the error messages better.
- Uptodate binaries for Windows, via crosscompiling mingw gcc.
Changes from 2.0p7 to 2.1
- Adapted to the rewrite of the stacked channel functionality in
8.3.2. A single binary should now support all stubbed cores
(8.1 upward) by switching its behaviour at runtime. Some
voodoo is used to make sure that it is not relevant which
version of the core was used to create that all-purpose
Only the 8.0.x series requires a separate binary because it is
Changes from 2.0p6 to 2.0p7
- Bugfixes for
- usage of wrong strings in the script 'transform'.
- wrong variable in makefile
- a buffer overun in the quoted-printable encoding.
- static library support.
- Patch from Jan Nijtmans for usage of TEA build chain with
- Added a link to the TclAH extension (Authentication
Hashes) to the documentation.
Changes from 2.0p5 to 2.0p6
- in the TEA configure related to md5-crypt (Sigh).
- A memory leak.
- Better/more support for building Trf as static library.
Changes from 2.0p4 to 2.0p5
- Bugfix in the TEA configure related to md5-crypt.
Changes from 2.0p3 to 2.0p4
- Bugfix in the TEA makefile.
Changes from 2.0 to 2.0p3
- Fixed several small bugs.
- Fixed some annoying bugs related to the changes made to MD5.
Changes from 1.8 to 2.0
- Dropped support for Tcl 7.6.
- Added support for TEA compliant building of this extension,
see the subdirectory 'tea'. This requires at least Tcl/Tk 8.2.
The old built facilities (unix, win) still exist and are
still usable. Nevertheless TEA is the prefered way for Unix
- Added stubs, i.e. Trf now exports its own stub table. Thanks
to Jan Nijtmans for providing the basic changes to get me
- Revamped the way Trf is handling seek requests for
BINARY INCOMPATIBILITY (Trf_TypeDefinition's extended)
- Added vector for querying the max number of bytes to read.
BINARY INCOMPATIBILITY (Trf_TypeDefinition's extended)
- Squashed the bug in the 'bzip' (de)compressor.
Squashed other bugs reported by Matt Newman <[email protected]>
- Added compile time options to link zlib / bzlib statically.
- MD5 functionality is now loaded on demand. The source of the
necessary shared library is part of the distribution and
compiled if required (glibc2 Linux systems already have it).
- New commands: md5crypt, crypt, use in password authentication.
New option: -nowrap for 'zip' transformation. See documentation.
- 'transform': Added operations 'query/maxRead' and 'query/ratio'.
Changes from 1.7 to 1.8
- Marshall Rose made the 'base64' encoding MIME compliant
and additionally donated his 'quoted-printable' converter.
- Jan Nijtmans donated the 'bzip2' (de)compressor transform. It
is unfortunately not yet complete, the decompressor is not
- Rewrote the base code to handle the inclusion of the patch
into the Tcl core (since 8.2) and the associated changes
to the semantics of some of the functions. It now especially
automagically distinguishes between unpatched 8.0, patched 8.0,
unpatched 8.1, patched 8.1, 8.2 and beyond, and adapts
itself accordingly, either at compile time (8.0.x) or
runtime (8.1 and beyond).
Changes from 1.6 to 1.7
- Headers now usable with a C++ compiler.
- Marshall Rose <[email protected]> donated code to
implement the otp variants of md5 and sha1, according
to RFC 2289.
- The option processor now understands '--', it will stop
the treatment of the following arguments as options. Again
from Marshall Rose.
- The patchkit for Tcl 8.1 is usable for Tcl 8.1.1 too.
No new patchkit was made.
- Made thread-safe if compiled against a thread-enabled 8.1.
(Mutex used to serialize access to all written global variables)
Changes from 1.6 to 1.6
- Added the patch kit for tcl 8.1 final
Changes from 1.5 to 1.6
- The following information is valid only if Trf is used in
conjunction with a 8.1 interpreter, as that is currently
the only one implementing stubs.
It is known that trf requires a patch to the core for full
functionality (stacked channels). The core had to be patched
to allow compilation of Trf, and its execution.
Taking advantage of the new stub-mechanism Trf is now able
to check for the existence of its patches at runtime. If
loaded by an unpatched interpreter it will disable the
features relying on the patch (-attach option of transforms,
unstack), but run unimpeded otherwise.
Due to some magic with #define and #ifdef it is now even
possible to compile Trf against unpatched core without
causing harm, the resulting library will have the complete
Changes from 1.4 to 1.5
- Better handling of 'fileevent' and blocking-mode for transforms.
Initial patch by Matt Newman <[email protected]> (<[email protected]>).
- Fixed a nasty problem with my patch to the tcl core. Caused a crash
if one tried to attach a transform to a new socket inside its accept
script. Reason: Unwanted interaction between my handling of the
refCount for the channel and tcl itself. Found by Matt Newman.
Reworked all patchkits, except for 8.0[ab]*.
Changes from 1.3 to 1.4
- Upgraded core patches for 8.1b2 and 8.0.4/5.
- Added detection and usage of stubs.
Changes from 1.2 to 1.3
- No functional changes.
- Fixed several char / unsigned char mismatches and other
nits reported by Larry Virden <[email protected]> and his
- Added technical explanation of the inner workings to the
documentation, + images.
- Upgraded core patches for 8.1b1
- Extended configure with options for the explicit definition
of the location of the zlib and crypto libraries. Added
intelligence to all pairs of location-options to derive their
values from each other if only one of them is specified.
Suggested by Larry Virden <[email protected]>.
- Added windows binary distribution.
Changes from 1.1 to 1.2
- Moved all encryption aware code and definitions into a
separate package, TrfCrypt. This allows the inclusion
of the base package into the consortium CD ROM (and
the upload to Neosoft).
Changes from 1.0 to 1.1
- Adapted to C-API changes between 8.0 and 8.1
Added patches for Tcl 8.1a2
- Compiles now with Tcl 7.6, 8.0 and 8.1a2
- binio is more reclusive, it and its support (byteorder patch)
will be removed in the next release.
Please use the official 'binary' command of Tcl 8.x instead.
Changes from b3 to final
- WARNING to all users of earlier versions
The script API was rewritten to take advantage of the Tcl 8.x
object API. The ability to operate on channels was retained,
albeit under a different syntax. Please reread the manual, at
least chapter 5 (Available commands).
- a Extended C-level API allows for (block)cipher specific option
- A general transformation was added, under the name 'transform'.
It reflects the underlying functionality up into the script level.
- Added ciphers:
<> ROT, for the fun of it.
<> SAFER, by the author of IDEA.
Changes from b2 to b3
- 'binio' command supported, but not included by default, because
of equivalent functionality in 8.0b1, see 'binary' and 'fcopy'.
Configure option '--enable-binio'.
- Reorganized code into generic and os dependent parts.
- Added Windows port.
- Some bug fixes.
- More algorithms: RC2, MD2, SHA-1 (SSLeay required)
- Commands created use the object-interface of tcl8.0b1 now.
Runs with 7.6 nevertheless, BUT NOT with 8.0a1 or a2.
Changes from b1 to b2
- The patches to the core are enhanced to associate channels
with byteorder information.
- A new command 'binio' to pack and/or unpack binary information and
to copy between channels (the latter is essentially 'unsupported0').
(Un)packing will reorder bytes as needed, using the information