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
|
TODO
* libfvde
- optimize XML plist parser to directly generate keys
* fvdeinfo
- print logical volume identifier
* format support
- 2x 0x001a block with same serial, where second one contains size of 2x extents
- and first 1x extent, another image only the size of 1x extent.
* volume offset detection
- fallback check if volume data is before encrypted metadata?
* pyfvde
- pyfvde_volume_get_size replace by pyfvde_volume_get_logical_volume_size ?
- add functionality to set encrypted context plist
* complete libfvde_xml_plist
- rename XML plist key to element
- improve error reporting regardin not being able to read the plist
versus not being able to read specific elements.
* read 0x0012 and 0x001d/0x0505 pairs and compare sequence numbers
* add support for block chains 0x0019, 0x0024
* add support from compressed XML plist 0x0019
* print metadata block offset for debugging
* check for partial encrypted volumes
* debug print block type description for 0x0405 metadata
....
libfvde_encrypted_metadata_read_type_0x0305: number of entries : 1
libfvde_encrypted_metadata_read_type_0x0305: unknown1:
00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
00000010: 00 00 00 00 ....
libfvde_encrypted_metadata_read_type_0x0305: logical volume number of blocks : 29323264
libfvde_encrypted_metadata_read_type_0x0305: unknown2 : 4194304
libfvde_encrypted_metadata_read_type_0x0305: unknown3:
00000000: 00 00 00 00 00 00 00 00 ........
libfvde_encrypted_metadata_read_type_0x0305: logical volume block number : 65536
....
* Make sure to detect PassphraseWrappedKEKStruct in different locations within
the XML
* add password keep
* remove deprecated functions
- libfvde_volume_read_random
* double check 0x0505 findings with debug logs
* git version
- make sure dependent local libs are in git
- fix synclibs.sh for libfvalue Makefile.am
* merge reading metadata and encrypted metadata ?
* API add volume identifier functions
* add handling of FVDE volumes with corrupt metadata, e.g. file header
* read and compare second physical volume header
* move initialize of volume specific runtime data to open and clean up to close
* store passwords as hashes?
* libxml
integrate into packaging system
print status info in configure
* split off AES KEK functions
* fvdemount add osxmount support
* code clean up
- check for leading spaces
- check for () without spaces
- check for = alignment
- check for if ( instead of if(
- check error codes
* check README files
- make sure pkg-config is mentioned as a dependency
* add debug output
- encryption method
- checksum algorithm
Future considerations:
* how does tie into CS volume management
- rename library to libvcs ?
- rename FileVault to CoreStorage ?
20161103
* worked on tests
20160729
* worked on format support
20160728
* worked on format support
20160727
* worked on format support
20160720
* worked on format support
20160719
* worked on format support
20160718
* worked on Python bindings
20151018
* worked on format support
20151017
* worked on Python bindings
20151013
* worked on format support
20151013
* worked on XML plist
20151012
* worked on XML plist
20151011
* worked on format support
20150926
* added ps1 scripts
20150720
* worked on signature check
20150222
* Code clean up
* Worked on documenation
* Changes for handling 0x001a metadata with different plist key sequence
20150106
* 2015 update
20141226
* changes for updated dependencies
20141130
* code clean up
20141120
* code clean up
20141018
* removed README.macosx
20141017
* changes for deployment
20140907
* updated dependencies
* updated msvscpp files, not operational yet
20140531
* updated dependencies
20140112
* 2014 update
* updated dependencies
* exposed some encryption context plist functions in API
20130909
* updated dependencies
* worked on libcthreads build support
20131205
* updated dependencies
20130716
* updated dependencies
* replaced AES-XTS code by libcaes XTS implementation
* worked on git support
* code clean up
20130703
* code clean up
20130412
* updated README files
* updated dependencies
* added tests directory
20130331
* updated dependencies
* code clean up
20130305
* added safe-guards for XML plist data
* added check for block serial number
* added support for 0x0505 block that is defined before 0x001a block
20130228
* worked on improving logical volume offset detection
20130227
* worked on improving logical volume size detection
* code clean up
20130226
* worked on improving logical volume size detection
* code clean up
20130221
* fix for value overwrite of logical volume size by successive block
20130220
* small change to include/types.h
20130113
* 2013 update
* updated dependencies
* updated msvscpp files
20121217
* bug fixes
20121212
* updates to debug output
20121114
* updated libfvde.3 man page
* added volume get offset function
* worked on set keys
* code clean up
* worked on msvscpp files
20121113
* updated man pages
* added change to support number of iterations in password
wrapped kek
20121112
* updated dependencies
* replaced libfvde_parse_uuid_string by libfguid function
* fixes in pc and spec file
20120916
* worked on fvdemount
20120915
* applied updates
* worked on fvdemount
- added -X option
- replaced EBADFD by EIO
20120813
* worked on encrypted removable media
* worked on man pages
* fixed issue for debug output for libfvde_io_handle_read_unencrypted_volume_header
* worked on function to pass VMK directly
20120808
* applied updates
20120724
* code clean up
20120723
* code clean up
* removed key and volume master key files they served no purpose in contrast
to original libbde code
20120722
* code clean up
* fixed potential memory and data leak in set password functions
20120721
* fix for acinclude.m4 and libxml2.m4
* added libcsplit
* applied updates
* switched library order in tools
* updated .pc and .spec file
* preparations for msvscpp build
20120521
* configure.ac fixes for dpkg files
20120520
* code clean up
20120519
* removed libfvalue
* code clean up
- renamed plist
- change naming of volume offset and size
* add support for secondary encrypted metadata block
* added XML parsing to encrypted metadata block
20120518
* code clean up of fvdemount
* code clean up
- removed more unused code
- fix for relative volume offset
20120516
* bug fixes for plist
* code clean up
* added more debug output
20120514
* fixes for wide character build
20120510
* updated dependencies
* code clean up
20120405
* fix for libxml2 detection on MacOS-X
20120208
* code clean up
20120207
* code clean up
* fixed wrong context for decryption
20120206
* code clean up
20120202
* code clean up
20120124
* added debug output
* rewrite of dealing with metadata
* removed AES CCM code
* removed BDE metadata definitions
20120117
* added debug output
20120116
* 2012 update
* updated pc file
* updated dependencies
* removed libbde
* renamed to libfvde
* added libfcache
* updates for array type changes
* updates for libcaes changes
* updates for libbfio changes
* updated for libfcache/libfdata changes
* fixed a several potential memory leaks
* fixed a several integer overflow/truncation issues
20111007
* initial version based on libbde
|