comparison README.txt @ 0:6b1b602514db libpst_0_5

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