17 Commits

Author SHA1 Message Date
Robert Scheck 2eeea8f677 Replace C++11 syntax by something that GCC 4.1 on RHEL 5 is able to understand 2016-01-06 03:46:36 +01:00
Aorimn ce2eef7000 Implement datums to_s functions
This implementation return Ruby strings suitable for printing datums.
2015-10-08 13:52:16 +02:00
Aorimn 1231375b50 Change a bunch of field names
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.
2015-10-04 19:06:52 +02:00
Aorimn 8448a5ed5a Improve compilation compatibility
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'.
2015-10-04 13:50:29 +02:00
Aorimn cfe4ed1c63 Improve Ruby bindings
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.
2015-09-25 10:29:28 +02:00
Aorimn daaa1c1df1 Finish removing the dis_ctx dependency in metadata
This introduces a sort of configuration for the metadata unit, but get
rid of the dis_ctx dependency.
2015-09-20 15:12:53 +02:00
Aorimn f9c8b7f243 Change information metadata field name
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".
2015-08-13 19:30:50 +02:00
Aorimn 918123d5d0 Add new volume encryption state
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.
2015-06-07 20:11:37 +02:00
Aorimn 1633b3d444 Trailing whitespaces cleaning, again
It seems like header files missed the whitespace cleaning, so fix it.
2015-04-25 18:26:14 +02:00
Aorimn afae39afbd Add firsts ruby bindings
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.
2015-04-24 19:26:58 +02:00
Aorimn cccad9dab4 Remove get_state from the exported functions
This also allows to remove the dis_metadata_state_t typedef from the
public interface.
2015-04-23 22:13:45 +02:00
Aorimn cb934fbfa7 Create new "objects" units
The inouts has been modified to be an object, as for the metadata.
2015-04-20 22:32:05 +02:00
Aorimn 53ca6e4264 Hide the dislocker's context structure
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.
2015-03-14 23:41:38 +01:00
Aorimn b3754e80aa Move the crypt structure to a private header
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.
2015-03-14 17:05:07 +01:00
Aorimn 316bfe451a Add static assertions for structure's sizes
Some structures shouldn't change their size just like that, so we make
sure this doesn't happen. This prevents developer's mistakes.
2015-03-07 15:45:55 +01:00
Aorimn bbdeb257e6 Change LEVELS to DIS_LOGS
The former was a bit to easy to use elsewhere, so we add the DIS_ prefix
and change its name a little.
2015-03-07 14:12:01 +01:00
Aorimn a5d85f6264 Move includes into separate directory
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.
2015-03-04 23:35:25 +01:00