Mercurial > libpst
annotate ChangeLog @ 52:034641c26ab9
code cleanup
author | carl |
---|---|
date | Thu, 31 Jan 2008 08:03:30 -0800 |
parents | 06c0262ad689 |
children | e109391424b5 |
rev | line source |
---|---|
52 | 1 LibPST 0.6.6 (2008-01-xx) |
2 =============================== | |
3 | |
4 * More code cleanup, removing unnecessary null terminations on | |
5 binary buffers. All pst file reads now go thru one function. | |
6 Logging all pst reads to detect cases where we read the same data | |
7 multiple times - discovers node sizes are actually 512 bytes. | |
8 | |
51 | 9 LibPST 0.6.5 (2008-01-22) |
10 =============================== | |
11 | |
12 * More code cleanup, removing obsolete code. All the boolean flags | |
13 of type 0xb have length 4, so these are all 32 bits in the file. | |
14 Libpst treats them all as 16 bits, but at least we are consistent. | |
15 * More fields decoded - for example, see | |
16 <http://msdn2.microsoft.com/en-us/library/aa454925.aspx> | |
17 We should be able to use that data for much more complete decoding. | |
18 * Move the rpm group to Applications/Productivity consistent with | |
19 Evolution. | |
20 | |
49 | 21 LibPST 0.6.4 (2008-01-19) |
48 | 22 =============================== |
23 | |
24 * More fixes for Outlook 2003 64 bit parsing. We observed cases of | |
25 compressed RTF bodies (type 0x1009) with zero length. | |
49 | 26 * Document type 0x0101 descriptor blocks and process them. |
48 | 27 * Fix large file support - we need to include config.h before any |
28 standard headers. | |
50 | 29 * Merge following changes from svn snapshot from Alioth: |
30 * Add new fields to appointment for recurring events | |
31 (SourceForge #304198) | |
32 * Map IPM.Task items to PST_TYPE_TASK. | |
33 * Applied patch to remove compiler warnings, thanks! | |
34 (SourceForge #304314) | |
35 * Fix crash with unknown reference type | |
36 * Fix more memory issues detected by valgrind | |
37 * lspst - add usage mesage and option parsing using getopt | |
38 (SourceForge #304199) | |
39 * Fix crash caused by invalid free calls | |
40 * Fix crash when email subject is empty | |
41 * Fix memory and information leak in hex debug dump | |
48 | 42 |
47 | 43 LibPST 0.6.3 (2008-01-13) |
44 =============================== | |
45 | |
46 * More type consistency issues found by splint. | |
47 | |
46 | 48 LibPST 0.6.2 (2008-01-12) |
49 =============================== | |
50 | |
51 * More fixes for Outlook 2003 64 bit parsing. | |
52 * All buffer sizes changed to size_t, all file offsets changed to off_t, | |
53 all function names start with pst_, many other type consistency issues | |
54 found by splint. Many changes to #llx in debug printing for 64 bit items. | |
47 | 55 All id values are now uint64_t. |
46 | 56 |
43 | 57 LibPST 0.6.1 (2008-01-06) |
58 =============================== | |
59 | |
60 * Outlook 2003 64 bit parsing. Some documentation from Alexander Grau | |
61 <alexandergrau@gmx.de> and patches from Sean Loaring <sloaring@tec-man.com>. | |
62 * fix from Antonio Palama <palama@inwind.it> for email items | |
63 that happen to have item->contact non null, and were being processed | |
64 as contacts. | |
65 * Add large file support so we can read .pst files larger than 2gb. | |
66 * Change lspst to be similar to readpst, properly using recursion to walk | |
67 the tree, and testing item types. Add a man page for lspst. | |
68 | |
41
183ae993b9ad
security fix for potential buffer overrun in lz decompress
carl
parents:
40
diff
changeset
|
69 LibPST 0.5.12 (2007-10-02) |
183ae993b9ad
security fix for potential buffer overrun in lz decompress
carl
parents:
40
diff
changeset
|
70 =============================== |
183ae993b9ad
security fix for potential buffer overrun in lz decompress
carl
parents:
40
diff
changeset
|
71 |
183ae993b9ad
security fix for potential buffer overrun in lz decompress
carl
parents:
40
diff
changeset
|
72 * security fix from Brad Hards <bradh@frogmouth.net> for buffer |
183ae993b9ad
security fix for potential buffer overrun in lz decompress
carl
parents:
40
diff
changeset
|
73 overruns in liv-zemple decoding for corrupted or malicious pst files. |
183ae993b9ad
security fix for potential buffer overrun in lz decompress
carl
parents:
40
diff
changeset
|
74 |
40 | 75 LibPST 0.5.11 (2007-08-24) |
76 =============================== | |
77 | |
78 * fix from Stevens Miller <smiller@novadatalabs.com> | |
79 for unitialized variable. | |
80 | |
39 | 81 LibPST 0.5.10 (2007-08-20) |
82 =============================== | |
83 | |
84 * fix yet more valgrind errors - finally have a clean memory check. | |
85 * restructure readpst.c for proper recursive tree walk. | |
86 * buffer overrun test was backwards, introduced at 0.5.6 | |
87 * fix broken email attachments, introduced at 0.5.6 | |
88 | |
38 | 89 LibPST 0.5.9 (2007-08-12) |
90 =============================== | |
91 | |
92 * fix more valgrind errors. | |
93 | |
37 | 94 LibPST 0.5.8 (2007-08-10) |
95 =============================== | |
96 | |
97 * fix more valgrind errors. lzfu_decompress needs to return the | |
98 actual buffer size, since the lz header overestimates the size. | |
99 This caused base64_encode to encode undefined bytes into the | |
100 email attachment. | |
101 | |
36 | 102 LibPST 0.5.7 (2007-08-09) |
103 =============================== | |
104 | |
105 * fix valgrind errors, using uninitialized data. | |
106 * improve debug logging and readpstlog for indented listings. | |
107 * cleanup documentation. | |
108 | |
35 | 109 LibPST 0.5.6 (2007-07-15) |
110 =============================== | |
111 | |
34
07177825c91b
fix signed/unsigned to allow very small pst files with only leaf nodes
carl
parents:
31
diff
changeset
|
112 * Fix to allow very small pst files with only one node in the |
07177825c91b
fix signed/unsigned to allow very small pst files with only leaf nodes
carl
parents:
31
diff
changeset
|
113 tree. We were mixing signed/unsigned types in comparisons. |
35 | 114 * More progress decoding the basic structure 7c blocks. Many |
115 four byte values may be ID2 indices with data outside the buffer. | |
116 * Start using doxygen to generate internal documentation. | |
34
07177825c91b
fix signed/unsigned to allow very small pst files with only leaf nodes
carl
parents:
31
diff
changeset
|
117 |
31 | 118 LibPST 0.5.5 (2007-07-10) |
119 =============================== | |
120 | |
34
07177825c91b
fix signed/unsigned to allow very small pst files with only leaf nodes
carl
parents:
31
diff
changeset
|
121 * merge the following changes from Joe Nahmias version: |
07177825c91b
fix signed/unsigned to allow very small pst files with only leaf nodes
carl
parents:
31
diff
changeset
|
122 * Lots of memory fixes. Thanks to Nigel Horne for his assistance |
07177825c91b
fix signed/unsigned to allow very small pst files with only leaf nodes
carl
parents:
31
diff
changeset
|
123 tracking these down! |
07177825c91b
fix signed/unsigned to allow very small pst files with only leaf nodes
carl
parents:
31
diff
changeset
|
124 * Fixed creation of vCards from contacts, thanks to Nigel Horne for |
07177825c91b
fix signed/unsigned to allow very small pst files with only leaf nodes
carl
parents:
31
diff
changeset
|
125 his help with this! |
07177825c91b
fix signed/unsigned to allow very small pst files with only leaf nodes
carl
parents:
31
diff
changeset
|
126 * fix for MIME multipart/alternative attachments. |
07177825c91b
fix signed/unsigned to allow very small pst files with only leaf nodes
carl
parents:
31
diff
changeset
|
127 * added -c options to readpst manpage. |
07177825c91b
fix signed/unsigned to allow very small pst files with only leaf nodes
carl
parents:
31
diff
changeset
|
128 * use 8.3 attachment filename if long filename isn't available. |
07177825c91b
fix signed/unsigned to allow very small pst files with only leaf nodes
carl
parents:
31
diff
changeset
|
129 * new -b option to skip rtf-body.rtf attachments. |
07177825c91b
fix signed/unsigned to allow very small pst files with only leaf nodes
carl
parents:
31
diff
changeset
|
130 * fix format of From header lines in mbox files. |
43 | 131 * Add more appointment fields, thanks to Chris Halls for tracking |
34
07177825c91b
fix signed/unsigned to allow very small pst files with only leaf nodes
carl
parents:
31
diff
changeset
|
132 them down! |
31 | 133 |
134 | |
30 | 135 LibPST 0.5.4 (2006-02-25) |
136 =============================== | |
137 | |
138 * patches from Arne, adding MH mode, remove leading zeros | |
139 from the generated numbered filenames starting with one | |
140 rather than zero. Miscellaneous code cleanup. | |
141 | |
142 * document the "7c" descriptor block format. | |
143 | |
24 | 144 LibPST 0.5.3 (2006-02-20) |
16 | 145 =============================== |
146 | |
24 | 147 * switch to gnu autoconf/automake. This breaks the MS VC++ projects |
148 since the source code is now in the src subdirectory. | |
149 | |
16 | 150 * documentation switched to xml, building man pages and html |
151 from the master xml copy. | |
152 | |
24 | 153 * include rpm .spec file for building src and binary rpms. |
154 | |
16 | 155 |
12
3f627519a92d
properly ignore (second block zero) errors. that will just drop some unknown attachments, but the rest of the data is still found
carl
parents:
11
diff
changeset
|
156 LibPST 0.5.2 (2006-02-18) |
11 | 157 =============================== |
158 | |
159 * Added pst2ldif to convert the contacts to ldif format for import | |
160 into ldap databases. | |
161 | |
162 * Major changes to libpst.c to properly use the node depth values | |
163 from the b-tree nodes. We also use the item count values in the nodes | |
164 rather than trying to guess how many items are active. | |
165 | |
166 * Cleanup whitespace - using tabs for every four columns. | |
167 | |
168 | |
3 | 169 LibPST 0.5.1 (17 November 2004) |
170 =============================== | |
171 | |
172 Well, alot has happened since the last release of libpst. | |
173 | |
174 Release / Management: | |
175 | |
11 | 176 * The project has forked! The new maintainer is Joseph Nahmias. |
177 * We have changed hosting sites, thanks to sourceforge for hosting | |
178 to this point. From this point forward we will be using | |
179 alioth.debian.org. | |
180 * The project is now using SubVersioN for source control. You can | |
181 get the latest code by running: | |
182 svn co svn://svn.debian.org/svn/libpst/trunk . | |
183 * See | |
184 <http://lists.alioth.debian.org/pipermail/libpst-devel/2004-November/000000.html> | |
185 for more information. | |
3 | 186 |
187 Code Changes: | |
188 | |
11 | 189 * Added lspst program to list items in a PST. Still incomplete. |
190 * Added vim folding markers to readpst.c | |
191 * avoid the pseudo-prologue that MS prepends to the email headers | |
192 * fix build on msvc, since it doesn't have sys/param.h | |
193 * Re-vamped Makefile: | |
194 * Only define CFLAGS in Makefileif missing | |
195 * fixed {un,}install targets in Makefile | |
196 * Fixed up build process in Makefile | |
197 * Added mozilla conversion script from David Binard | |
198 * Fixed bogus creation of readpst.log on every invocation | |
199 * escaped dashes and apostrophe in manpages | |
200 * Updated TODO | |
201 * added manpages from debian pkg | |
202 * fix escaped-string length count to consider '\n', | |
203 thanks to Paul Bakker <bakker@fox-it.com>. | |
204 * ensure there's a blank line between header and body | |
205 patch from <johnh@aproposretail.com> (SourceForge #890745). | |
206 * Apply accumulated endian-related patches | |
207 * Removed unused files, upstream's debian/ dir | |
3 | 208 |
209 -- Joe Nahmias <joe@nahmias.net> | |
210 | |
211 LibPST v0.5 | |
212 =========== | |
213 | |
214 It is with GREAT relief that I bring you version 0.5 of the LibPST tools! | |
215 | |
216 Through great difficulties, this tool has survived and expanded to become even | |
217 better. | |
218 | |
219 The changes are as follows: | |
220 * RTF support. We can now decompress RTF bodies in emails, and are saved as attachments | |
221 * Better support in reading the indexes. Fixed many bugs with them | |
222 * Improved reliability. "Now we are getting somewhere!" | |
223 * Improved compiling. Hopefully we won't be hitting too many compile errors now. | |
224 * vCard handling. Contacts are now exported as vCard entries. | |
225 * vEvent handling. Support has begun on exporting Calendar entries as events | |
226 * Support for Journal entries has also begun | |
227 | |
228 If you have any problems with this release, don't hesitate to contact me. | |
229 | |
230 These changes come to you, as always, free under the GPL license!! What a wonderful | |
231 thing it is. It does mean that you can write your own program off of this library | |
232 and distribute it also for free. However, anyone with commercial interests for | |
233 developing applications they will be charging for are encouraged to get in touch | |
234 with me, as I am sure we can come to some arrangement. | |
235 | |
236 Dave Smith | |
237 <dave.s@earthcorp.com> | |
238 | |
239 LibPST v0.4.3 | |
240 ============= | |
241 | |
242 Bug fix release. No extra functionality | |
243 | |
244 Dave Smith | |
245 <dave.s@earthcorp.com> | |
246 | |
247 LibPST v0.4.2 | |
248 ============= | |
249 | |
250 The debug system has had an overhaul. The debug messages are no longer | |
251 printed to the screen when they are enabled. They are dumped to a | |
252 binary file. There is another utility called "readlog" that I have | |
253 written to handle these log files. It should make it easier to | |
254 selectively view bits of a log file. It also shows the position that | |
255 the log message was printed from. | |
256 | |
257 There is a new switch in readpst. It is -d. It enables the user to | |
258 specify the log file which the binary log is written to. If the switch | |
259 isn't used, the default file of "readpst.log" is used. | |
260 | |
261 The code is now Visual C++ compatible. It has compiled on Visual C++ | |
262 .net Standard edition, and produces the readpst.exe file. Use the project | |
263 file included in this distribution. | |
264 | |
265 There have been minor improvements elsewhere too. | |
266 | |
267 | |
268 LibPST v0.4.1 | |
269 ============= | |
270 | |
271 Fixed a couple more bugs. Is it me or do bugs just insert themselves | |
272 in random, hard to find places! | |
273 | |
274 Cured a few problems with regard to emails with multiple embeded | |
275 items. They are not fully re-created using Mime-types, but are | |
276 accessible with the -S switch (which saves everything as seperate | |
277 items) | |
278 | |
279 Fixed a problem reading the first index. Back sliders are now | |
280 detected. (ie when the value following the current one is smaller, not | |
281 bigger!) | |
282 | |
283 Added some error messages when we try and read outside of the PST | |
284 file, this was causing a few problems before, cause the return value | |
285 wasn't always checked, so it was possible to be reading random data, | |
286 and trying to make sense of it! | |
287 | |
288 Anyway, if you find any problems, don't hesitate to mail me | |
289 | |
290 Dave Smith | |
291 <dave.s@earthcorp.com> | |
292 | |
293 LibPST v0.4 | |
294 =========== | |
295 | |
296 Fixed a nasty bug that occasionally corrupted attachments. Another bug | |
297 with regard to reading of indexes (also occasional). | |
298 | |
299 Another output method has been added which is called "Seperate". It is | |
300 activated with the -S switch. It operates in the following manor: | |
301 | |
302 |--Inbox-->000000 | |
11 | 303 | 000001 |
304 | 000002 | |
3 | 305 |--Sentmail-->0000000 |
11 | 306 | 0000001 |
307 | 0000002 | |
3 | 308 |
309 All the emails are stored in seperate files counting from 0 upwards, | |
310 in a folder named as the PST folder. | |
311 | |
312 When an email has an attachment, it is saved as a seperate file. The | |
313 filename for the attachment is made up of 2 parts, the first is the | |
314 email number to which it belongs, the second is its filename. | |
315 | |
316 The should now be runnable on big-endian machines, if the define.h | |
317 file is first modified. The #define LITTLE_ENDIAN must be commented | |
318 out, and the #define BIG_ENDIAN must be uncommented. | |
319 | |
320 More verbose error messages have been added. Apparently people got | |
321 confused when the program stopped for no visible reason. This has now | |
322 been resolved. | |
323 | |
324 Thanks for the continued support of all people involved. | |
325 | |
326 Dave Smith | |
327 <dave.s@earthcorp.com> | |
328 | |
329 Libpst v0.3.4 | |
330 ============= | |
331 | |
332 Several more fixes. An Infinite loop and incorrect interpreting of | |
333 item index attributes. Work has started on making the code executable | |
334 on big endian CPUs. At present it should work with Linux on these | |
335 CPUs, but I would appreciate it if you could provide feedback with | |
336 regard to it's performance. I am also working with some other people | |
337 at make it operate on Solaris. | |
338 | |
339 A whole load more items are now recognized by the Item records. With | |
340 more items in Emails and Folders. I haven't got to the Contacts yet. | |
341 | |
342 Anyway, this is what I would call a minor feature enhancment and | |
343 bugfix release. | |
344 | |
345 Dave Smith | |
346 <dave.s@earthcorp.com> | |
347 | |
348 LibPST v0.3.3 | |
349 ============= | |
350 | |
351 Fixed several items. Mainly memory leaks. Loads of them! oops.. | |
352 | |
353 I have added a new program, mainly of debugging, which when passed | |
11 | 354 an ID value and a pst file, will extract and decrypt that ID from |
3 | 355 the pst file. I don't see it being a huge attraction, or of much use |
356 to most people, but it is another example of writing an application | |
357 to use the libpst interface. | |
358 | |
359 Another fix was in the reading of the item index. This has hopefully | |
360 now been corrected. The result of this bug was that not all the emails | |
361 in a folder were converted. Hopefully you should have more luck now. | |
362 | |
363 Dave Smith | |
364 <dave.s@earthcorp.com> | |
365 | |
366 LibPST v0.3.2 | |
367 ============= | |
368 | |
369 Quick bugfix release. There was a bug in the decryption of the basic | |
370 encryption that outlook uses. One byte, 0x6c, was incorrectly decrypted | |
371 to 0x6c instead of 0xcd. This release fixes this bug. Sorry... | |
372 | |
373 | |
374 LibPST v0.3.1 | |
375 ============= | |
376 | |
377 Minor improvements. Fixed bug when linking multiple blocks together, | |
378 so now the linking blocks are not "encrypted" when trying to read | |
379 them. | |
380 | |
381 | |
382 LibPST v0.3 | |
383 =========== | |
384 | |
385 A lot of bug fixing has been done for this release. Testing has been | |
386 done on the creation of the files by readpst. Better handling of | |
387 large binaries being extracted from the PST file has been implemented. | |
388 | |
389 Quite a few reports have come in about not being able to compile on | |
390 Darwin. This could be down to using macros with variable parameter | |
391 lists. This has now been changed to use C functions with variable | |
392 parameters. I hope this fixes a lot of problems. | |
393 | |
394 Added support for recreating the folder structure into normal | |
395 directories. For Instance: | |
396 | |
397 Personal Folders | |
398 |-Inbox | |
399 | |-Jokes | |
400 | |-Meetings | |
401 |-Send Items | |
402 | |
403 each folder containing an mbox file with the correct emails for that | |
404 folder. | |
405 | |
406 Dave Smith | |
407 <dave.s@earthcorp.com> | |
408 | |
409 | |
410 LibPST v0.3 beta1 | |
411 ================= | |
412 | |
413 Again, a shed load of enhancements. More work has been done on the | |
414 mime creation. A bug has been fixed that was letting part of the | |
11 | 415 attachments that were created disappear. |
3 | 416 |
417 A major enhancement is that "compressible encryption" support has been | |
418 added. This was an incredibly simple method to use. It is basically a | |
419 ceasar cipher. It has been noted by several users already that the PST | |
420 password that Outlook uses, serves *no purpose*. It is not used to | |
421 encrypt the PST, it is mearly stored there. This means that the | |
422 readpst application is able to convert PST files without knowing the | |
423 password. Microsoft have some explaning to do! | |
424 | |
425 Output files are now not overwritten if they already exist. This means | |
426 that if you have two folders in your PST file named "fred", the first | |
427 one encountered will be named "fred" and the second one will be named | |
428 "fred00000001". As you can see, there is enough room there for many | |
429 duplicate names! | |
430 | |
431 Output filenames are now restricted. Any "/" or "\" characters in the | |
432 name are replaced with "_". If you find that there are any other | |
433 characters that need to be changed, could you please make me aware! | |
434 | |
435 Thanks to Berry Wizard for help with supporting the encryption. | |
436 | |
437 Thanks to Auke Kok, Carolus Walraven and Yogesh Kumar Guatam for providing debugging | |
438 information and testing. | |
439 | |
440 Dave Smith | |
441 <dave.s@earthcorp.com> | |
442 | |
443 | |
444 LibPST v0.2 beta1 | |
445 ================= | |
446 | |
447 Hello once more... | |
448 | |
449 Attachments are now re-created in mime format. The method is very | |
450 crude and could be prone to over generalisation. Please test this | |
451 version, and if attachments are not recreated correctly, please send | |
452 me the email (complete message source) of the original and | |
453 converted. Cheers. | |
454 | |
455 I hope this will work for everyone who uses this program, but reality | |
456 can be very different! | |
457 | |
458 Let us see how it goes... | |
459 | |
460 Dave Smith | |
461 <dave.s@earthcorp.com> | |
462 | |
463 LibPST v0.2 alpha1 | |
464 =========== | |
465 | |
466 Hello! | |
467 | |
468 Some improvements. The internal code has been changed so that | |
469 attachments are now processed and loaded into the structures. The | |
470 readpst program is not finished yet. It needs to convert these binary | |
471 structs into mime data. At present it just saves them to the current | |
472 directory, overwriting any previous files with the attachment name. | |
473 | |
11 | 474 Improvements over previous version: |
3 | 475 * KMail output is supported - if the "-k" flag is specified, all the |
476 directory hierarchy is created using the KMail standard | |
477 * Lots of bugs and memory leaks fixed | |
478 | |
479 | |
480 Usage: | |
481 | |
482 ReadPST v0.2alpha1 implementing LibPST v0.2alpha1 | |
483 Usage: ./readpst [OPTIONS] {PST FILENAME} | |
484 OPTIONS: | |
485 -h - Help. This screen | |
486 -k - KMail. Output in kmail format | |
487 -o - Output Dir. Directory to write files to. CWD is changed *after* opening pst file | |
488 -V - Version. Display program version | |
489 | |
490 If you want to view lots of debug output, modify a line in "define.h" | |
491 from "//#define DEBUG_ALL" to "#define DEBUG_ALL". It would then be | |
492 advisable to pipe all output to a log file: | |
493 | |
494 ./readpst -o out pst_file &> logfile | |
495 | |
496 Dave Smith | |
497 | |
498 LibPST v0.1 | |
499 =========== | |
500 | |
501 Hi Folks! | |
502 | |
503 This has been a long, hard slog, but I now feel that I have got | |
504 somewhere useful. The included program "main" is able to read an | |
505 Outlook PST file and dump the emails into mbox files, separating each | |
506 folder into a different mbox file. All the mbox files are stored in | |
507 the current directory and no attempt is yet made to organise these | |
508 files into a directory hierarchy. This would not be too difficult to | |
509 achieve though. | |
510 | |
511 Email attachments are not yet handled, neither are Contacts. | |
512 | |
513 There is no pretty interface yet, but you can convert a PST file in | |
514 the following manner | |
515 | |
516 ./main {path to PST file} | |
517 | |
518 This is very much a work in progress, but I thought I should release | |
519 this code so that people can lose their conception that outlook files | |
520 will never be converted to Linux. | |
521 | |
522 I am intending that the code I am writing will be developed into | |
523 greater applications to provide USEFUL tools for accessing and | |
524 converting PST files into a variety of formats. | |
525 | |
526 One point I feel I should make is that Outlook, by default, creates | |
527 "Compressible Encryption" PST files. I have not, as yet, attempted to | |
528 write any decryption routines, so you will not be able to convert | |
529 these files. However, if you create a new PST file and choose not to | |
530 make an encrypted one, you can copy all your emails into this new one | |
531 and then convert the unencrypted one. | |
532 | |
533 I hope you enjoy, | |
534 | |
535 Dave Smith | |
536 | |
537 : vim: set tw=72 sw=4 ts=4: |