diff options
author | David Timber <mieabby@gmail.com> | 2020-08-20 12:23:35 +0930 |
---|---|---|
committer | David Timber <mieabby@gmail.com> | 2020-08-20 15:15:57 +0930 |
commit | 76d4d6b2bafada7b790e817b7324d53f3d3a0c7f (patch) | |
tree | d8b3669fa7b167fc3bf764e971fc6e70bd8d9b49 /src/dvault.h | |
parent | 7bd3eb3b1ad4209ac4cf4b46f849213d46bc33aa (diff) |
Progress ...
* Move DVault out of executable. Dynamically load it on startup
* Improved testing scheme
* Tidy up prne_*assert* macro series
* Protocol: store host credentials in base64 string. No mask
* Use the lock shm as a shared_global so the stats can persist
* mmap() the executable read-only for later use
Diffstat (limited to 'src/dvault.h')
-rw-r--r-- | src/dvault.h | 36 |
1 files changed, 22 insertions, 14 deletions
diff --git a/src/dvault.h b/src/dvault.h index 2e13c68..6c69f98 100644 --- a/src/dvault.h +++ b/src/dvault.h @@ -8,6 +8,7 @@ typedef struct prne_dvault_mask_result prne_dvault_mask_result_t; +typedef struct prne_dvault prne_dvault_t; typedef enum { PRNE_DATA_TYPE_NONE = -1, @@ -27,27 +28,34 @@ typedef enum { } prne_dvault_mask_result_code_t; struct prne_dvault_mask_result { - size_t str_len; - char *str; + size_t size; + uint8_t *data; prne_dvault_mask_result_code_t result; }; -extern const uint8_t PRNE_DVAULT_MASK[256]; - const char *prne_data_type_tostr (const prne_data_type_t t); prne_data_type_t prne_data_type_fstr (const char *str); -void prne_dvault_invert_mem (const size_t size, uint8_t *m, const uint8_t salt); +void prne_dvault_invert_mem (const size_t size, void *m, const uint8_t salt, const size_t salt_ofs, const uint8_t *mask); void prne_init_dvault_mask_result (prne_dvault_mask_result_t *r); void prne_free_dvault_mask_result (prne_dvault_mask_result_t *r); -prne_dvault_mask_result_t prne_dvault_mask (const prne_data_type_t type, const uint8_t salt, const size_t data_size, const uint8_t *data); - -void prne_init_dvault (void); +prne_dvault_mask_result_t prne_dvault_mask (const prne_data_type_t type, const uint8_t salt, const uint8_t *mask, const size_t data_size, const uint8_t *data); +const char *prne_dvault_mask_result_tostr (const prne_dvault_mask_result_code_t code); + +/* prne_init_dvault(const void *m) +* +* ARGS: +* m: pointer to start of readable and writable a dvault made by +* proone-mkdvault. This region of memory must be writable. +*/ +void prne_init_dvault (const void *m); +/* prne_deinit_dvault (const void *m) +* +* Calls prne_dvault_reset(). Revert changes to the data vault memory. +*/ void prne_deinit_dvault (void); -prne_data_type_t prne_dvault_get_entry_data_type (const prne_data_key_t key); -size_t prne_dvault_get_entry_size (const prne_data_key_t key); -uint8_t prne_dvault_get_entry_salt (const prne_data_key_t key); -char *prne_dvault_unmask_entry_cstr (const prne_data_key_t key, size_t *len); -void prne_dvault_unmask_entry_bin (const prne_data_key_t key, const uint8_t **data, size_t *len); -void prne_dvault_reset_dict (void); +// len: strlen() +const char *prne_dvault_get_cstr (const prne_data_key_t key, size_t *len); +const uint8_t *prne_dvault_get_bin (const prne_data_key_t key, size_t *len); +void prne_dvault_reset (void); |