diff README @ 0:6b1b602514db libpst_0_5

Initial revision
author carl
date Fri, 09 Jul 2004 07:26:16 -0700
parents
children 69ab1d8b3293
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README	Fri Jul 09 07:26:16 2004 -0700
@@ -0,0 +1,327 @@
+RFC reference:
+RFC 1341 - base64 Mime encoding and layout of mime headers
+RFC 2183 - Content-Disposition for describing email attachments
+RFC 2426 - vCard definition (for saving contacts)
+
+LibPST v0.5
+===========
+
+It is with GREAT relief that I bring you version 0.5 of the LibPST tools!
+
+Through great difficulties, this tool has survived and expanded to become even
+better.
+
+The changes are as follows:
+  * RTF support. We can now decompress RTF bodies in emails, and are saved as attachments
+  * Better support in reading the indexes. Fixed many bugs with them
+  * Improved reliability. "Now we are getting somewhere!"
+  * Improved compiling. Hopefully we won't be hitting too many compile errors now.
+  
+If you have any problems with this release, don't hesitate to contact me.
+
+These changes come to you, as always, free under the GPL license!! What a wonderful
+thing it is. It does mean that you can write your own program off of this library
+and distribute it also for free. However, anyone with commercial interests for
+developing applications they will be charging for are encouraged to get in touch
+with me, as I am sure we can come to some arrangement.
+
+Dave Smith
+<dave.s@earthcorp.com>
+
+LibPST v0.4.3
+=============
+
+Bug fix release. No extra functionality
+
+Dave Smith
+<dave.s@earthcorp.com>
+
+LibPST v0.4.2
+=============
+
+The debug system has had an overhaul. The debug messages are no longer
+printed to the screen when they are enabled. They are dumped to a
+binary file. There is another utility called "readlog" that I have
+written to handle these log files. It should make it easier to
+selectively view bits of a log file. It also shows the position that
+the log message was printed from.
+
+There is a new switch in readpst. It is -d. It enables the user to
+specify the log file which the binary log is written to. If the switch
+isn't used, the default file of "readpst.log" is used.
+
+The code is now Visual C++ compatible. It has compiled on Visual C++
+.net Standard edition, and produces the readpst.exe file. Use the project
+file included in this distribution.
+
+There have been minor improvements elsewhere too.
+
+
+LibPST v0.4.1
+=============
+
+Fixed a couple more bugs. Is it me or do bugs just insert themselves
+in random, hard to find places!
+
+Cured a few problems with regard to emails with multiple embeded
+items. They are not fully re-created using Mime-types, but are
+accessible with the -S switch (which saves everything as seperate
+items)
+
+Fixed a problem reading the first index. Back sliders are now
+detected. (ie when the value following the current one is smaller, not
+bigger!)
+
+Added some error messages when we try and read outside of the PST
+file, this was causing a few problems before, cause the return value
+wasn't always checked, so it was possible to be reading random data,
+and trying to make sense of it!
+
+Anyway, if you find any problems, don't hesitate to mail me
+
+Dave Smith
+<dave.s@earthcorp.com>
+
+LibPST v0.4
+===========
+
+Fixed a nasty bug that occasionally corrupted attachments. Another bug
+with regard to reading of indexes (also occasional).
+
+Another output method has been added which is called "Seperate". It is
+activated with the -S switch. It operates in the following manor:
+
+  |--Inbox-->000000
+  |	     000001
+  |	     000002
+  |--Sentmail-->0000000
+  |		0000001
+  |		0000002
+
+All the emails are stored in seperate files counting from 0 upwards,
+in a folder named as the PST folder.
+
+When an email has an attachment, it is saved as a seperate file. The
+filename for the attachment is made up of 2 parts, the first is the
+email number to which it belongs, the second is its filename.
+
+The should now be runnable on big-endian machines, if the define.h
+file is first modified. The #define LITTLE_ENDIAN must be commented
+out, and the #define BIG_ENDIAN must be uncommented.
+
+More verbose error messages have been added. Apparently people got
+confused when the program stopped for no visible reason. This has now
+been resolved.
+
+Thanks for the continued support of all people involved.
+
+Dave Smith
+<dave.s@earthcorp.com>
+
+Libpst v0.3.4
+=============
+
+Several more fixes. An Infinite loop and incorrect interpreting of
+item index attributes. Work has started on making the code executable
+on big endian CPUs. At present it should work with Linux on these
+CPUs, but I would appreciate it if you could provide feedback with
+regard to it's performance. I am also working with some other people
+at make it operate on Solaris.
+
+A whole load more items are now recognized by the Item records. With
+more items in Emails and Folders. I haven't got to the Contacts yet.
+
+Anyway, this is what I would call a minor feature enhancment and
+bugfix release.
+
+Dave Smith
+<dave.s@earthcorp.com>
+
+LibPST v0.3.3
+=============
+
+Fixed several items. Mainly memory leaks. Loads of them! oops..
+
+I have added a new program, mainly of debugging, which when passed
+an ID value and a pst file, will extract and decrypt that ID from 
+the pst file. I don't see it being a huge attraction, or of much use
+to most people, but it is another example of writing an application
+to use the libpst interface.
+
+Another fix was in the reading of the item index. This has hopefully
+now been corrected. The result of this bug was that not all the emails
+in a folder were converted. Hopefully you should have more luck now.
+
+Dave Smith
+<dave.s@earthcorp.com>
+
+LibPST v0.3.2
+=============
+
+Quick bugfix release. There was a bug in the decryption of the basic
+encryption that outlook uses. One byte, 0x6c, was incorrectly decrypted
+to 0x6c instead of 0xcd. This release fixes this bug. Sorry...
+
+
+LibPST v0.3.1
+=============
+
+Minor improvements. Fixed bug when linking multiple blocks together,
+so now the linking blocks are not "encrypted" when trying to read
+them.
+
+
+LibPST v0.3
+===========
+
+A lot of bug fixing has been done for this release. Testing has been
+done on the creation of the files by readpst.  Better handling of
+large binaries being extracted from the PST file has been implemented.
+
+Quite a few reports have come in about not being able to compile on
+Darwin. This could be down to using macros with variable parameter
+lists. This has now been changed to use C functions with variable
+parameters. I hope this fixes a lot of problems.
+
+Added support for recreating the folder structure into normal
+directories. For Instance:
+
+Personal Folders
+  |-Inbox
+  |   |-Jokes
+  |   |-Meetings
+  |-Send Items
+
+each folder containing an mbox file with the correct emails for that
+folder.
+
+Dave Smith
+<dave.s@earthcorp.com>
+
+
+LibPST v0.3 beta1
+=================
+
+Again, a shed load of enhancements. More work has been done on the
+mime creation. A bug has been fixed that was letting part of the
+attachments that were created disappear. 
+
+A major enhancement is that "compressible encryption" support has been
+added. This was an incredibly simple method to use. It is basically a
+ceasar cipher. It has been noted by several users already that the PST
+password that Outlook uses, serves *no purpose*. It is not used to
+encrypt the PST, it is mearly stored there. This means that the
+readpst application is able to convert PST files without knowing the
+password. Microsoft have some explaning to do!
+
+Output files are now not overwritten if they already exist. This means
+that if you have two folders in your PST file named "fred", the first
+one encountered will be named "fred" and the second one will be named
+"fred00000001". As you can see, there is enough room there for many
+duplicate names!
+
+Output filenames are now restricted. Any "/" or "\" characters in the
+name are replaced with "_". If you find that there are any other
+characters that need to be changed, could you please make me aware!
+
+Thanks to Berry Wizard for help with supporting the encryption.
+
+Thanks to Auke Kok, Carolus Walraven and Yogesh Kumar Guatam for providing debugging
+information and testing.
+
+Dave Smith
+<dave.s@earthcorp.com>
+
+
+LibPST v0.2 beta1
+=================
+
+Hello once more...
+
+Attachments are now re-created in mime format. The method is very
+crude and could be prone to over generalisation. Please test this
+version, and if attachments are not recreated correctly, please send
+me the email (complete message source) of the original and
+converted. Cheers.
+
+I hope this will work for everyone who uses this program, but reality
+can be very different!
+
+Let us see how it goes...
+
+Dave Smith
+<dave.s@earthcorp.com>
+
+LibPST v0.2 alpha1
+===========
+
+Hello!
+
+Some improvements. The internal code has been changed so that
+attachments are now processed and loaded into the structures. The
+readpst program is not finished yet. It needs to convert these binary
+structs into mime data. At present it just saves them to the current
+directory, overwriting any previous files with the attachment name.
+
+Improvements over previous version: 
+* KMail output is supported - if the "-k" flag is specified, all the
+  directory hierarchy is created using the KMail standard
+* Lots of bugs and memory leaks fixed
+
+
+Usage:
+
+ReadPST v0.2alpha1 implementing LibPST v0.2alpha1
+Usage: ./readpst [OPTIONS] {PST FILENAME}
+OPTIONS:
+        -h      - Help. This screen
+        -k      - KMail. Output in kmail format
+        -o      - Output Dir. Directory to write files to. CWD is changed *after* opening pst file
+        -V      - Version. Display program version
+
+If you want to view lots of debug output, modify a line in "define.h"
+from "//#define DEBUG_ALL" to "#define DEBUG_ALL". It would then be
+advisable to pipe all output to a log file:
+
+./readpst -o out pst_file &> logfile
+
+Dave Smith
+
+LibPST v0.1
+===========
+
+Hi Folks!
+
+This has been a long, hard slog, but I now feel that I have got
+somewhere useful. The included program "main" is able to read an
+Outlook PST file and dump the emails into mbox files, separating each
+folder into a different mbox file. All the mbox files are stored in
+the current directory and no attempt is yet made to organise these
+files into a directory hierarchy. This would not be too difficult to
+achieve though.
+
+Email attachments are not yet handled, neither are Contacts.
+
+There is no pretty interface yet, but you can convert a PST file in
+the following manner
+
+./main {path to PST file}
+
+This is very much a work in progress, but I thought I should release
+this code so that people can lose their conception that outlook files
+will never be converted to Linux.
+
+I am intending that the code I am writing will be developed into
+greater applications to provide USEFUL tools for accessing and
+converting PST files into a variety of formats.
+
+One point I feel I should make is that Outlook, by default, creates
+"Compressible Encryption" PST files. I have not, as yet, attempted to
+write any decryption routines, so you will not be able to convert
+these files. However, if you create a new PST file and choose not to
+make an encrypted one, you can copy all your emails into this new one
+and then convert the unencrypted one.
+
+I hope you enjoy,
+
+Dave Smith