Revision history for Perl extension Convert::TNEF.
0.18 Mon Jul 23 2012
- Add IO::Wrap dependency to Makefile.PL (RT78412).
- Change longname() to detect names in newer versions of Outlook.
(RT78484)
0.17 Sun Feb 24 2001
- It appears that messages no longer need start with a
TnefVersion attribute, and a message without this attribute
triggered a bug ('datahandle' method called on uninitialized
value) found by Randy Diffenderfer.
- Although the MSDN TNEF Stream syntax page makes it look like
TnefVersion must be the first attribute if it appears, and
MessageClass must be the first or second attribute if it
appears, I'm not going to check for this because then my
test file has MessageClass as the third attribute.
- Got rid of '_equal' function. The only reason to worry about
warnings when comparing undef is if there's a read error, and
then a warning ought to be ok anyway.
- Long overdue perltidy format cleanup.
0.16 Tue Jul 31 2001
- Simplified main loop some more. Don't need to check for end
of processing twice.
- Prefixed 'private' functions with underscore character.
- changed a couple of 'methods' which didn't use '$self' and weren't
documented as methods into 'private' functions.
0.15 Tue Jul 31 2001
- Finally combined message and attachment parsing loops.
- Removed the '|| []' from the attachment() method. I'm storing
an arrayref unconditionally in the TNEF object, so there should
be no need for this. Also now returns ref if not called
in list context.
0.14 Mon Jul 30 2001
- Subclass message and attachment portions of TNEF object.
- Found bug in saving the size of message attributes.
0.12 Tue May 29 2001
- We're not using Autoloader, so no need to 'use' it.
0.11 Tue May 29 2001
- Moved previously 'autoload' functions so that they're all
just loaded. Its a small module anyway, so there was no real
need for it, and it should cut down on problems for people who
don't install this module properly :)
0.10 Wed Jan 17 2001
- Stripped carriage returns from all files (last edit was
on Windows).
0.09 Wed Jan 10 2001
- Fixed message method. Added more tests to test suite.
0.08 Fri Jun 17 2000
- Added a bit more file format error checking.
0.07 Fri Jun 16 2000
- Just some code cleanup in reading the attachment part of the
file. When there's more than one attachment in a file, it is
now more efficient than it used to be.
0.06 Thu Jun 15 2000
- size() method is fixed.
- data(), name() and longname() methods will now return the
undefined value if the data does not exist in the attachment.
- Not a change, just a realization that the TNEF 'attAttachment'
attribute where the long filename and display name resides is
really a series of MAPI properties. Maybe there ought to be a
MAPI module to parse it? Currently, the longname() attribute is
returning the MAPI display name property in this field. See
previous changes for why.
0.05 Tue May 16 16:30:00 2000
- Both name() and longname() now strip trailing null characters. This
doesn't seem to make a difference when creating a file, but it does
in string comparison.
- longname() works much better now. It no longer depends
on finding the 'AttachTitle' attribute (shortname) first
(which was a sorry hack of a way to do it).
I've looked at several different TNEF example docs, from my
own creation and from Mark Simpson's 'tnef' utility, so I'm
fairly certain about it now. The actual file name appears
twice in the field, but one of them is not always the full
name (if there's a space in the name?). So we get the other
instance of the name.
If someone could look through the MS Platform SDK and see if
the 'official' way to parse this field is in there, it'd be
much appreciated.
- Fixed the 'make test', which really wasn't testing what it was
supposed to, and added another test while I was at it.
0.04 Thu May 11 16:00:00 2000
- The longname method should work better now. I still wish I could
be 100% sure about the way I'm doing it. I'm sure its not the
way Outlook does it; it'd be nice to know how its supposed to
be done.
0.03 Tue May 8 15:00:00 2000
- There was two purge methods. I purged one of them.
- fixed a die() in the parse method to return a failure status instead.
- Took out the subclasses which were just aliases for
MIME::Body::*, and weren't really proper subclasses anyway.
I forget why I did it that way, maybe I planned on making some
extra methods later, or just to see if it worked.
There really should be separate classes for a TNEF object,
and for attachments/messages in the TNEF object, maybe someday I'll
get around to it.
0.02 Mon Dec 12 17:30:00 1999
- fixed and cleaned up some of the debug output.
- had the bright idea in the first release of including a
name() method for attachments and put it in the documentation,
but neglected to actually include the method in the code.
- Found out that the 'AttachTitle' attribute returns only the
short (8 char + 3 char extension) version of the filename, so I
included a 'longname' method which does its best to get the long
version of the filename. This is extracted out of the 'Attachment'
attribute data, which is a binary field, and I don't really know
how to parse this field, but this seems to work to get the name.
0.01 Mon Nov 29 14:26:32 1999
- original version; created by h2xs 1.18