In a datum, the entry and datum_type fields are now respectively called
entry_type and value_type. So every field using the former names have
been changed and consistency has (tried to) be preserved.
The `-Wno-unknown-attributes' clang warning option wasn't supported for
all platforms so we now get through the #pragma directive of the
preprocessor to tell clang not to consider `-Wunknown-attributes' for
the Ruby headers.
As this doesn't seem to be known for all versions of clang (at least for
version 3.0-6ubuntu3 from Ubuntu 12.04), we also add a pragma for clang
not to consider `-Wunknown-pragmas'.
One can now use libdislocker to read metadata and get access to keys.
One cannot yet fully decrypt the drive.
Next commit will present some samples of the use of the API.
The previously unknown_size field in the information structure seemed to
indicate the size of a "convertlog", during conversion of the volume. We
thus renamed this field for "convert_size".
It seems like the state 0 is when BitLocker is getting killed, so we
call it a null state - not sure if that applies well. The state 3 is
related to the EOW mode and seems to be used when BitLocker is activated
in this mode.
This commit enables firsts ruby bindings of the library. As
dislocker-find is a ruby script, it has been used as a test subject for
these firsts bindings by relying on the library for getting guids to
look for in partition's header.
This structure shouldn't be messed with, so we put it in a private
header - dislocker.priv.h. This is the occasion to put the config
structure in a private header too. Although there's no incomplete type
for the config structure in the public header so developers would use
the dislocker context structure only.
The crypt structure, representing an encryption object is now private.
We use the .priv.h convention for a private header. This private header
is thus named encommon.priv.h and can be used only by the encryption/
directory units.
This adds an include/ directory from which includes files will be. Each
header is now moved to this directory, in the same sub-directory it was
in.
Each #include has been changed accordingly in order not to break
compilation.