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