forked from libyal/libfsntfs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
618 lines (469 loc) · 12.7 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
TODO
* libfsntfs/pyfsntfs attribute
- expose raw attribute data?
* USN change journal
- add support for values in $Max
* resident data
- handle valid data size
* compressed data
- handle decompression errors e.g.
compression tuple offset value out of bounds.
- have means to map sparse ranges outside compressed blocks
- handle valid data size
* make get by path/name functions case insensitive
- determine if NTFS really is case insensitive and make appropriate changes
- maybe have a flag or different functions to control case in compare
* create fsntfsexport tool to export file entry data
* handle pre 3.1 attribute names?
* check file entry life times
* set file entry name, if get by index and number of filenames is 1
* volume cache directory entries trees ?
* cached indexes?
* handle cached out MFT entries
- copy directory entries in file entry
- copy directory index in file entry
* data runs block
- add a check to see if data run sizes add up
- handle compressed blocks
* volume
- complete libfsntfs_volume_has_bitlocker_drvie_encryption
- complete libfsntfs_volume_has_volume_shadow_snapshots
* file entry
- add API get file name by attribute index functions?
- add API get parent file_reference name by attribute index functions?
- add API function for owner
- add API function for security identifier
- only retrieve file name from the directory entry?
or make clear in function documentation that first
non-short filename is the fallback?
- add support to retrieve name of the root entry if directory entry is missing
* pyfsntfs
- add attribute type enum
* pyfsntfs file entry
- expose more MFT entry values through API and pyfsntfs
- add is empty function
- add has_reparse_point function
- add has_symbolic_link function
- add is_corrupt function?
- how to handle file-like object functions for non-data file entry
* pyfsntfs file entry/data stream
- add extents iterator?
* libfsntfs/pyfsntfs file entry
- expose default data stream
- add support for short file name
- fallback to short file name if no long
* libfsntfs_mft_entry_read_element_data set MFT only flag using element flags
* libfsntfs_attribute_read_from_mft handle attribute size out of bounds
* mft metadata file parsing mark file entry as in complete if data is stored
outside the $MFT
* change MFT entry flags value checks to named definitions
* attribute data parsing
- add SSIZE_MAX check for attribute->data_size before (size_t) cast
* move directory entry btree into index ?
* merge i30_index and alternate_index_array
* cached approach of reading attributes ?
* add support for other values of sectors_per_cluster_block, seen 8, 128
* add support for other values of index_entry_size, seen 1, 244
* complete libcdata integration
* fix issue on win2k image
- stack overflow infinite loop
- determine MFT entry index based on offset
do not rely on value in structure
* MFT entry create get data segment function for internal usage
* how to handle named index roots e.g. $ObjId:$O, $Quota:$O
* fix issue with bounded MFT entry cache
* support MFT entry 0 consisting of multiple $DATA attributes
- add segment support to ntfs attribute data reference
* file_entry: clone directory entry ?
* what about ADS support ?
- todo read from ads
* change libfsntfs_attribute_reference_append_attribute into insert and sort
attribute ranges
* add function to retrieve MFT entry by index
* check if check_signature function uses the right offset
* refactor: libfsnt_array_append_entry in index ?
* move get mft entry to file entry initialize ?
- clone mft entry in file entry initialize (for now the mft entry cache
contains a slot for every entry)
* move volume header from io handle to separate object ?
* $MFT scan
- mark ignored attribute list
- mark ignored data stream
- mark ignored index
- handle corrupt MFT entries (e.g. missing FILE signature) (+/-)
- allow to read data runs but do not allow to read data
* $UsnJrnl:$J parsing
- move UsnJrnl parsing into library ?
- add support for $UsnJrnl:$J file parsing
* API
- expose logged utility stream attribute
Format:
* index
- group equivalent index data values
* boot block
- remove value restriction add sanity check
* add support for attributes:
- logged utillity stream (LOGGED_UTILITY_STREAM) (partial)
* pre NTFS 3.0 attribute types
- volume version
* filenames
- ignoring short filenames for now?
* ntfs3g indicates volume is hibernated, could this be stored in the volume flags?
* Windows 10 different compression?
Tools:
* fsntfsinfo
- print ADS
- move UsnJrnl to separate tool?
- fix remnant data in buffer and remove work around
- sanitize control characters in filenames
- add detection of BDE and VSS
- add support for $LogFile
- print $DATA attribute size
Error tolerance:
* Support partial images/file systems
Tests:
* file with resident data
* file with non-resident data
* file with sparse data
* file with compressed data
* file with valid data size < data size
* file with ADS
* directory with ADS
Performance:
* compact attribute union data/file reference (use type to distinguish between them)
Debug:
* print volume information flags description
Deployment
* write man pages
20160418
* Worked on security descriptor support
20160417
* Worked on security descriptor support
20160412
* Worked on security descriptor support
20160411
* Worked on security descriptor support
20160109
* fixes for rpmbuild
20160108
* worked on Python 3 support
* 2016 update
20151225
* applied updates
20151205
* worked on Python bindings
20151130
* worked on USN change journal
20151106
* worked on USN change journal
20151105
* renamed update journal to USN change journal
20151104
* worked on update (or change) journal
20151008
* worked on update (or change) journal
20151005
* worked on update (or change) journal
20150906
* worked on Python bindings
20150902
* update libfusn
20150831
* worked on Python bindings
* removed is_mft_attribute_list_element
20150829
* worked on format support
* fix for handling resident attribute name alignment padding
* changes for msvscpp build
20150827
* worked on security descriptors support
* fixed index value handling for $SII index
20150826
* worked on security descriptors support
20150825
* fixes for handling extents
20150823
* worked on format support
20150820
* worked on format support
* fixes for $MFT scan
20150819
* worked on format support
20150817
* worked on compression support
* worked on caseless compare
- determine if NTFS really is case insensitive
20150815
* worked on format support
* bug fix handling alternate data streams
20150813
* worked on compression support
20150811
* worked on library
20150810
* worked on compression support
20150729
* worked on setup.py
20150726
* worked on tests
20150724
* worked on check signature
20150717
* worked on library
20150716
* bug fixes
20150712
* worked on library
20150525
* worked on NTFS version 1.2 and 3.0 support
20150522
* worked on compression support
- handling mixed compressed attribute chains
20150521
* worked on NTFS version 1.2 support
20150520
* improvements for $MFT scan
* improvements for compression support
20150516
* worked on compression support
* fix for sparse data run support
20150515
* worked on compression support
20150514
* worked on compression support
20150504
* code clean up
20150502
* worked on Python bindings
* worked on tests
20150430
* worked on Python bindings
20150429
* worked on Python bindings
20150426
* worked on Python bindings
20150425
* worked on Python bindings
20150424
* worked on Python bindings
20150423
* worked on Python bindings
* worked on fsntfsinfo
20150422
* worked on fsntfsinfo
20150420
* worked on format support
20150419
* worked on format support
* worked on Python bindings
20150406
* worked on Python bindings
20150318
* worked on $UsnJrnl ignore sparse data run support
20150317
* worked on format support
* worked on $UsnJrnl ignore sparse data run support
20150315
* worked on format support
* added support for MTF entry 0 with attribute list
* bug fix in libfsntfs_attribute_append_to_chain
20150125
* worked on format support
20150106
* 2015 update
20141226
* updated dpkg files
20141225
* worked on Python 3 support
20141130
* code clean up
20141124
* worked on $UsnJrnl support
* added API functions to retrieve:
- file entry allocation status
- $FILE_NAME attribute name string
- $FILE_NAME attribute parent file reference
20141116
* small fixes
20141028
* changes for deployment
* bug fix in Python bindings
20141022
* changes for deployment
20141011
* updated dependencies
* changes for project site move
20141004
* removed README.macosx
20140810
* worked on exposing the attributes
20140809
* worked on data streams support
* worked on exposing the attributes
20140808
* worked on data streams support
20140803
* bug fix in Python bindings
20140628
* Worked on format support
20140530
* Worked on Python bindings
20140529
* updated dependencies
* Worked on Python bindings
20140417
* small changes
20140318
* worked on non-resident attribute list support
20140207
* worked on libfdata refactor
20140206
* worked on libfdata refactor
20140205
* worked on libfdata refactor
20140204
* worked on libfdata refactor
20140203
* worked on libfdata refactor
20140119
* worked on libfdata refactor
20140118
* 2014 update
* updated dependencies
* worked on libfdata refactor
20131109
* updated dependencies
20130915
* code clean up
20130914
* updated dependencies
* added libcthreads build support
20130224
* updated dependencies
* 2013 update
20120929
* updated dependencies
20120821
* improve NTFS version 3.0 support
20120820
* applied update
* improved reading MFT attribute lists and data MFT entries
20120526
* worked on MFT read and seek data functions
20120520
* 2012 update
* updated dependencies
* added libfusn
* fsntfsinfo:
- added info handle
20111125
* code clean up
* added support for empty volume name
20111124
* removed libvshadow
* updated configure.ac and m4 scripts
* added include/codepage.h
* updated common, array type
* updated libcstring, libsystem, libuna, libfdata, libfdatetime, libfguid,
libfwnt
* added libfcache
* code clean up
20110510
* update libvshadow
20110509
* dist fixes
20110508
* updated configure.ac
* updated libcstring, libsystem, libuna, libbfio, libfdata, libfguid
20110309
* small changes
20110308
* small changes
20110306
* worked on support for MFT consisting of multiple data runs
20110305
* updated configure, common, array type, libcstring, liberror, libnotify,
libsystem, libuna, libbfio, libfdata, libfdatetime, libfguid, libfwnt
* 2011 update
20101216
* updated Makefile
20101214
* updated configure/Makefile
20101209
* added missing MFT entry flags debug output
* code clean up
* added initial gettext support
* updated common, libfdatetime
20101203
* updated common, array type, liberror, libnotify, libsystem, libuna, libbfio,
libfdata
20101129
* worked on txf data
20101128
* worked on txf data
20101127
* updated libfdatetime
* moved abort to IO handle
* worked on txf data
20101126
* worked on support for multiple index allocation attributes
20101125
* worked on support for multiple index allocation attributes
* updated libuna, libbfio, libfdata
20101124
* updated configure, libcstring, liberror, libbfio
* worked on support for an attribute list
20101113
* textual changes
20101112
* renamed library to libfsntfs
20101110
* worked on winsxs support
20101109
* worked on logged utility stream
* updated include/error.h
* updated libfdata, liberror, libbfio, libnotify, libsystem
* added support for directory index that only consists of index root attribute
* fixed bug in fsntinfo
* added support for directory index that has root and empty allocation index
attributes
20100912
* worked on reading attribute list
* updated libbfio
20100911
* improved handling data runs
20100910
* worked on reading directory entries
20100909
* worked on reading directory entries
20100908
* worked on file entry functions
* worked on reading directory entries
* added debug print of file name attribute namespace description
20100907
* worked on reading directory entries
20100906
* worked on reading indexes
20100905
* worked on reading indexes
* worked on data runs
20100904
* worked on attributes
* worked on reading indexes
* worked on fixup values
20100903
* worked on mft attribute
* updated libbfio, libfdata
* worked on file entry API functions
* added libfguid for $OBJECT_ID attribute
* worked on attributes
20100828
* worked on reading a MFT entry and attributes
20100827
* worked on reading a MFT entry and attributes
* added debug print of file attribute flag description
* added debug print of mft attribute type description
20100826
* worked on reading a MFT entry and attributes
20100825
* initial version