comparison README @ 0:6b1b602514db libpst_0_5

Initial revision
author carl
date Fri, 09 Jul 2004 07:26:16 -0700
parents
children 69ab1d8b3293
comparison
equal deleted inserted replaced
-1:000000000000 0:6b1b602514db
1 RFC reference:
2 RFC 1341 - base64 Mime encoding and layout of mime headers
3 RFC 2183 - Content-Disposition for describing email attachments
4 RFC 2426 - vCard definition (for saving contacts)
5
6 LibPST v0.5
7 ===========
8
9 It is with GREAT relief that I bring you version 0.5 of the LibPST tools!
10
11 Through great difficulties, this tool has survived and expanded to become even
12 better.
13
14 The changes are as follows:
15 * RTF support. We can now decompress RTF bodies in emails, and are saved as attachments
16 * Better support in reading the indexes. Fixed many bugs with them
17 * Improved reliability. "Now we are getting somewhere!"
18 * Improved compiling. Hopefully we won't be hitting too many compile errors now.
19
20 If you have any problems with this release, don't hesitate to contact me.
21
22 These changes come to you, as always, free under the GPL license!! What a wonderful
23 thing it is. It does mean that you can write your own program off of this library
24 and distribute it also for free. However, anyone with commercial interests for
25 developing applications they will be charging for are encouraged to get in touch
26 with me, as I am sure we can come to some arrangement.
27
28 Dave Smith
29 <dave.s@earthcorp.com>
30
31 LibPST v0.4.3
32 =============
33
34 Bug fix release. No extra functionality
35
36 Dave Smith
37 <dave.s@earthcorp.com>
38
39 LibPST v0.4.2
40 =============
41
42 The debug system has had an overhaul. The debug messages are no longer
43 printed to the screen when they are enabled. They are dumped to a
44 binary file. There is another utility called "readlog" that I have
45 written to handle these log files. It should make it easier to
46 selectively view bits of a log file. It also shows the position that
47 the log message was printed from.
48
49 There is a new switch in readpst. It is -d. It enables the user to
50 specify the log file which the binary log is written to. If the switch
51 isn't used, the default file of "readpst.log" is used.
52
53 The code is now Visual C++ compatible. It has compiled on Visual C++
54 .net Standard edition, and produces the readpst.exe file. Use the project
55 file included in this distribution.
56
57 There have been minor improvements elsewhere too.
58
59
60 LibPST v0.4.1
61 =============
62
63 Fixed a couple more bugs. Is it me or do bugs just insert themselves
64 in random, hard to find places!
65
66 Cured a few problems with regard to emails with multiple embeded
67 items. They are not fully re-created using Mime-types, but are
68 accessible with the -S switch (which saves everything as seperate
69 items)
70
71 Fixed a problem reading the first index. Back sliders are now
72 detected. (ie when the value following the current one is smaller, not
73 bigger!)
74
75 Added some error messages when we try and read outside of the PST
76 file, this was causing a few problems before, cause the return value
77 wasn't always checked, so it was possible to be reading random data,
78 and trying to make sense of it!
79
80 Anyway, if you find any problems, don't hesitate to mail me
81
82 Dave Smith
83 <dave.s@earthcorp.com>
84
85 LibPST v0.4
86 ===========
87
88 Fixed a nasty bug that occasionally corrupted attachments. Another bug
89 with regard to reading of indexes (also occasional).
90
91 Another output method has been added which is called "Seperate". It is
92 activated with the -S switch. It operates in the following manor:
93
94 |--Inbox-->000000
95 | 000001
96 | 000002
97 |--Sentmail-->0000000
98 | 0000001
99 | 0000002
100
101 All the emails are stored in seperate files counting from 0 upwards,
102 in a folder named as the PST folder.
103
104 When an email has an attachment, it is saved as a seperate file. The
105 filename for the attachment is made up of 2 parts, the first is the
106 email number to which it belongs, the second is its filename.
107
108 The should now be runnable on big-endian machines, if the define.h
109 file is first modified. The #define LITTLE_ENDIAN must be commented
110 out, and the #define BIG_ENDIAN must be uncommented.
111
112 More verbose error messages have been added. Apparently people got
113 confused when the program stopped for no visible reason. This has now
114 been resolved.
115
116 Thanks for the continued support of all people involved.
117
118 Dave Smith
119 <dave.s@earthcorp.com>
120
121 Libpst v0.3.4
122 =============
123
124 Several more fixes. An Infinite loop and incorrect interpreting of
125 item index attributes. Work has started on making the code executable
126 on big endian CPUs. At present it should work with Linux on these
127 CPUs, but I would appreciate it if you could provide feedback with
128 regard to it's performance. I am also working with some other people
129 at make it operate on Solaris.
130
131 A whole load more items are now recognized by the Item records. With
132 more items in Emails and Folders. I haven't got to the Contacts yet.
133
134 Anyway, this is what I would call a minor feature enhancment and
135 bugfix release.
136
137 Dave Smith
138 <dave.s@earthcorp.com>
139
140 LibPST v0.3.3
141 =============
142
143 Fixed several items. Mainly memory leaks. Loads of them! oops..
144
145 I have added a new program, mainly of debugging, which when passed
146 an ID value and a pst file, will extract and decrypt that ID from
147 the pst file. I don't see it being a huge attraction, or of much use
148 to most people, but it is another example of writing an application
149 to use the libpst interface.
150
151 Another fix was in the reading of the item index. This has hopefully
152 now been corrected. The result of this bug was that not all the emails
153 in a folder were converted. Hopefully you should have more luck now.
154
155 Dave Smith
156 <dave.s@earthcorp.com>
157
158 LibPST v0.3.2
159 =============
160
161 Quick bugfix release. There was a bug in the decryption of the basic
162 encryption that outlook uses. One byte, 0x6c, was incorrectly decrypted
163 to 0x6c instead of 0xcd. This release fixes this bug. Sorry...
164
165
166 LibPST v0.3.1
167 =============
168
169 Minor improvements. Fixed bug when linking multiple blocks together,
170 so now the linking blocks are not "encrypted" when trying to read
171 them.
172
173
174 LibPST v0.3
175 ===========
176
177 A lot of bug fixing has been done for this release. Testing has been
178 done on the creation of the files by readpst. Better handling of
179 large binaries being extracted from the PST file has been implemented.
180
181 Quite a few reports have come in about not being able to compile on
182 Darwin. This could be down to using macros with variable parameter
183 lists. This has now been changed to use C functions with variable
184 parameters. I hope this fixes a lot of problems.
185
186 Added support for recreating the folder structure into normal
187 directories. For Instance:
188
189 Personal Folders
190 |-Inbox
191 | |-Jokes
192 | |-Meetings
193 |-Send Items
194
195 each folder containing an mbox file with the correct emails for that
196 folder.
197
198 Dave Smith
199 <dave.s@earthcorp.com>
200
201
202 LibPST v0.3 beta1
203 =================
204
205 Again, a shed load of enhancements. More work has been done on the
206 mime creation. A bug has been fixed that was letting part of the
207 attachments that were created disappear.
208
209 A major enhancement is that "compressible encryption" support has been
210 added. This was an incredibly simple method to use. It is basically a
211 ceasar cipher. It has been noted by several users already that the PST
212 password that Outlook uses, serves *no purpose*. It is not used to
213 encrypt the PST, it is mearly stored there. This means that the
214 readpst application is able to convert PST files without knowing the
215 password. Microsoft have some explaning to do!
216
217 Output files are now not overwritten if they already exist. This means
218 that if you have two folders in your PST file named "fred", the first
219 one encountered will be named "fred" and the second one will be named
220 "fred00000001". As you can see, there is enough room there for many
221 duplicate names!
222
223 Output filenames are now restricted. Any "/" or "\" characters in the
224 name are replaced with "_". If you find that there are any other
225 characters that need to be changed, could you please make me aware!
226
227 Thanks to Berry Wizard for help with supporting the encryption.
228
229 Thanks to Auke Kok, Carolus Walraven and Yogesh Kumar Guatam for providing debugging
230 information and testing.
231
232 Dave Smith
233 <dave.s@earthcorp.com>
234
235
236 LibPST v0.2 beta1
237 =================
238
239 Hello once more...
240
241 Attachments are now re-created in mime format. The method is very
242 crude and could be prone to over generalisation. Please test this
243 version, and if attachments are not recreated correctly, please send
244 me the email (complete message source) of the original and
245 converted. Cheers.
246
247 I hope this will work for everyone who uses this program, but reality
248 can be very different!
249
250 Let us see how it goes...
251
252 Dave Smith
253 <dave.s@earthcorp.com>
254
255 LibPST v0.2 alpha1
256 ===========
257
258 Hello!
259
260 Some improvements. The internal code has been changed so that
261 attachments are now processed and loaded into the structures. The
262 readpst program is not finished yet. It needs to convert these binary
263 structs into mime data. At present it just saves them to the current
264 directory, overwriting any previous files with the attachment name.
265
266 Improvements over previous version:
267 * KMail output is supported - if the "-k" flag is specified, all the
268 directory hierarchy is created using the KMail standard
269 * Lots of bugs and memory leaks fixed
270
271
272 Usage:
273
274 ReadPST v0.2alpha1 implementing LibPST v0.2alpha1
275 Usage: ./readpst [OPTIONS] {PST FILENAME}
276 OPTIONS:
277 -h - Help. This screen
278 -k - KMail. Output in kmail format
279 -o - Output Dir. Directory to write files to. CWD is changed *after* opening pst file
280 -V - Version. Display program version
281
282 If you want to view lots of debug output, modify a line in "define.h"
283 from "//#define DEBUG_ALL" to "#define DEBUG_ALL". It would then be
284 advisable to pipe all output to a log file:
285
286 ./readpst -o out pst_file &> logfile
287
288 Dave Smith
289
290 LibPST v0.1
291 ===========
292
293 Hi Folks!
294
295 This has been a long, hard slog, but I now feel that I have got
296 somewhere useful. The included program "main" is able to read an
297 Outlook PST file and dump the emails into mbox files, separating each
298 folder into a different mbox file. All the mbox files are stored in
299 the current directory and no attempt is yet made to organise these
300 files into a directory hierarchy. This would not be too difficult to
301 achieve though.
302
303 Email attachments are not yet handled, neither are Contacts.
304
305 There is no pretty interface yet, but you can convert a PST file in
306 the following manner
307
308 ./main {path to PST file}
309
310 This is very much a work in progress, but I thought I should release
311 this code so that people can lose their conception that outlook files
312 will never be converted to Linux.
313
314 I am intending that the code I am writing will be developed into
315 greater applications to provide USEFUL tools for accessing and
316 converting PST files into a variety of formats.
317
318 One point I feel I should make is that Outlook, by default, creates
319 "Compressible Encryption" PST files. I have not, as yet, attempted to
320 write any decryption routines, so you will not be able to convert
321 these files. However, if you create a new PST file and choose not to
322 make an encrypted one, you can copy all your emails into this new one
323 and then convert the unencrypted one.
324
325 I hope you enjoy,
326
327 Dave Smith