"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "lib/internal.h" between
cryptsetup-2.0.6.tar.xz and cryptsetup-2.1.0.tar.xz

About: cryptsetup is a utility used to conveniently setup disk encryption based on the dm-crypt kernel module. These include plain dm-crypt volumes, LUKS volumes, loop-AES and TrueCrypt compatible format.

internal.h  (cryptsetup-2.0.6.tar.xz):internal.h  (cryptsetup-2.1.0.tar.xz)
/* /*
* libcryptsetup - cryptsetup library internal * libcryptsetup - cryptsetup library internal
* *
* Copyright (C) 2004, Jana Saout <jana@saout.de> * Copyright (C) 2004 Jana Saout <jana@saout.de>
* Copyright (C) 2004-2007, Clemens Fruhwirth <clemens@endorphin.org> * Copyright (C) 2004-2007 Clemens Fruhwirth <clemens@endorphin.org>
* Copyright (C) 2009-2018, Red Hat, Inc. All rights reserved. * Copyright (C) 2009-2019 Red Hat, Inc. All rights reserved.
* Copyright (C) 2009-2018, Milan Broz * Copyright (C) 2009-2019 Milan Broz
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2 * as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. * of the License, or (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
skipping to change at line 68 skipping to change at line 68
#define MISALIGNED(a, b) ((a) & ((b) - 1)) #define MISALIGNED(a, b) ((a) & ((b) - 1))
#define MISALIGNED_4K(a) MISALIGNED((a), 1 << SHIFT_4K) #define MISALIGNED_4K(a) MISALIGNED((a), 1 << SHIFT_4K)
#define MISALIGNED_512(a) MISALIGNED((a), 1 << SECTOR_SHIFT) #define MISALIGNED_512(a) MISALIGNED((a), 1 << SECTOR_SHIFT)
#define NOTPOW2(a) MISALIGNED((a), (a)) #define NOTPOW2(a) MISALIGNED((a), (a))
#ifndef ARRAY_SIZE #ifndef ARRAY_SIZE
# define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) # define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
#endif #endif
#define MOVE_REF(x, y) \
do { \
typeof (x) *_px = &(x), *_py = &(y); \
*_px = *_py; \
*_py = NULL; \
} while (0)
struct crypt_device; struct crypt_device;
struct volume_key { struct volume_key {
size_t keylength; size_t keylength;
const char *key_description; const char *key_description;
char key[]; char key[];
}; };
struct volume_key *crypt_alloc_volume_key(size_t keylength, const char *key); struct volume_key *crypt_alloc_volume_key(size_t keylength, const char *key);
struct volume_key *crypt_generate_volume_key(struct crypt_device *cd, size_t key length); struct volume_key *crypt_generate_volume_key(struct crypt_device *cd, size_t key length);
skipping to change at line 90 skipping to change at line 97
struct crypt_pbkdf_type *crypt_get_pbkdf(struct crypt_device *cd); struct crypt_pbkdf_type *crypt_get_pbkdf(struct crypt_device *cd);
int init_pbkdf_type(struct crypt_device *cd, int init_pbkdf_type(struct crypt_device *cd,
const struct crypt_pbkdf_type *pbkdf, const struct crypt_pbkdf_type *pbkdf,
const char *dev_type); const char *dev_type);
int verify_pbkdf_params(struct crypt_device *cd, int verify_pbkdf_params(struct crypt_device *cd,
const struct crypt_pbkdf_type *pbkdf); const struct crypt_pbkdf_type *pbkdf);
int crypt_benchmark_pbkdf_internal(struct crypt_device *cd, int crypt_benchmark_pbkdf_internal(struct crypt_device *cd,
struct crypt_pbkdf_type *pbkdf, struct crypt_pbkdf_type *pbkdf,
size_t volume_key_size); size_t volume_key_size);
const char *crypt_get_cipher_spec(struct crypt_device *cd);
/* Device backend */ /* Device backend */
struct device; struct device;
int device_alloc(struct device **device, const char *path); int device_alloc(struct crypt_device *cd, struct device **device, const char *pa th);
int device_alloc_no_check(struct device **device, const char *path); int device_alloc_no_check(struct device **device, const char *path);
void device_free(struct device *device); void device_free(struct crypt_device *cd, struct device *device);
const char *device_path(const struct device *device); const char *device_path(const struct device *device);
const char *device_dm_name(const struct device *device); const char *device_dm_name(const struct device *device);
const char *device_block_path(const struct device *device); const char *device_block_path(const struct device *device);
void device_topology_alignment(struct device *device, void device_topology_alignment(struct crypt_device *cd,
unsigned long *required_alignment, /* bytes */ struct device *device,
unsigned long *alignment_offset, /* bytes */ unsigned long *required_alignment, /* bytes */
unsigned long default_alignment); unsigned long *alignment_offset, /* bytes */
size_t device_block_size(struct device *device); unsigned long default_alignment);
size_t device_block_size(struct crypt_device *cd, struct device *device);
int device_read_ahead(struct device *device, uint32_t *read_ahead); int device_read_ahead(struct device *device, uint32_t *read_ahead);
int device_size(struct device *device, uint64_t *size); int device_size(struct device *device, uint64_t *size);
int device_open(struct device *device, int flags); int device_open(struct crypt_device *cd, struct device *device, int flags);
void device_disable_direct_io(struct device *device); void device_disable_direct_io(struct device *device);
int device_is_identical(struct device *device1, struct device *device2); int device_is_identical(struct device *device1, struct device *device2);
int device_is_rotational(struct device *device); int device_is_rotational(struct device *device);
size_t device_alignment(struct device *device); size_t device_alignment(struct device *device);
int device_direct_io(const struct device *device); int device_direct_io(const struct device *device);
int device_fallocate(struct device *device, uint64_t size); int device_fallocate(struct device *device, uint64_t size);
void device_sync(struct device *device, int devfd); void device_sync(struct crypt_device *cd, struct device *device, int devfd);
int device_check_size(struct crypt_device *cd,
struct device *device,
uint64_t req_offset, int falloc);
int device_open_locked(struct device *device, int flags); int device_open_locked(struct crypt_device *cd, struct device *device, int flags );
int device_read_lock(struct crypt_device *cd, struct device *device); int device_read_lock(struct crypt_device *cd, struct device *device);
int device_write_lock(struct crypt_device *cd, struct device *device); int device_write_lock(struct crypt_device *cd, struct device *device);
void device_read_unlock(struct device *device); void device_read_unlock(struct crypt_device *cd, struct device *device);
void device_write_unlock(struct device *device); void device_write_unlock(struct crypt_device *cd, struct device *device);
enum devcheck { DEV_OK = 0, DEV_EXCL = 1, DEV_SHARED = 2 }; enum devcheck { DEV_OK = 0, DEV_EXCL = 1 };
int device_check_access(struct crypt_device *cd, int device_check_access(struct crypt_device *cd,
struct device *device, struct device *device,
enum devcheck device_check); enum devcheck device_check);
int device_block_adjust(struct crypt_device *cd, int device_block_adjust(struct crypt_device *cd,
struct device *device, struct device *device,
enum devcheck device_check, enum devcheck device_check,
uint64_t device_offset, uint64_t device_offset,
uint64_t *size, uint64_t *size,
uint32_t *flags); uint32_t *flags);
size_t size_round_up(size_t size, size_t block); size_t size_round_up(size_t size, size_t block);
int create_or_reload_device(struct crypt_device *cd, const char *name,
const char *type, struct crypt_dm_active_device *dmd);
int create_or_reload_device_with_integrity(struct crypt_device *cd, const char *
name,
const char *type, struct crypt_dm_active_device *dmd,
struct crypt_dm_active_device *dmdi);
/* Receive backend devices from context helpers */ /* Receive backend devices from context helpers */
struct device *crypt_metadata_device(struct crypt_device *cd); struct device *crypt_metadata_device(struct crypt_device *cd);
struct device *crypt_data_device(struct crypt_device *cd); struct device *crypt_data_device(struct crypt_device *cd);
int crypt_confirm(struct crypt_device *cd, const char *msg); int crypt_confirm(struct crypt_device *cd, const char *msg);
char *crypt_lookup_dev(const char *dev_id); char *crypt_lookup_dev(const char *dev_id);
int crypt_dev_is_rotational(int major, int minor); int crypt_dev_is_rotational(int major, int minor);
int crypt_dev_is_partition(const char *dev_path); int crypt_dev_is_partition(const char *dev_path);
char *crypt_get_partition_device(const char *dev_path, uint64_t offset, uint64_t size); char *crypt_get_partition_device(const char *dev_path, uint64_t offset, uint64_t size);
skipping to change at line 155 skipping to change at line 174
int lookup_by_disk_id(const char *dm_uuid); int lookup_by_disk_id(const char *dm_uuid);
int lookup_by_sysfs_uuid_field(const char *dm_uuid, size_t max_len); int lookup_by_sysfs_uuid_field(const char *dm_uuid, size_t max_len);
size_t crypt_getpagesize(void); size_t crypt_getpagesize(void);
unsigned crypt_cpusonline(void); unsigned crypt_cpusonline(void);
uint64_t crypt_getphysmemory_kb(void); uint64_t crypt_getphysmemory_kb(void);
int init_crypto(struct crypt_device *ctx); int init_crypto(struct crypt_device *ctx);
void logger(struct crypt_device *cd, int level, const char *file, int line, cons t char *format, ...) __attribute__ ((format (printf, 5, 6))); void logger(struct crypt_device *cd, int level, const char *file, int line, cons t char *format, ...) __attribute__ ((format (printf, 5, 6)));
#define log_dbg(x...) logger(NULL, CRYPT_LOG_DEBUG, __FILE__, __LINE__, x) #define log_dbg(c, x...) logger(c, CRYPT_LOG_DEBUG, __FILE__, __LINE__, x)
#define log_std(c, x...) logger(c, CRYPT_LOG_NORMAL, __FILE__, __LINE__, x) #define log_std(c, x...) logger(c, CRYPT_LOG_NORMAL, __FILE__, __LINE__, x)
#define log_verbose(c, x...) logger(c, CRYPT_LOG_VERBOSE, __FILE__, __LINE__, x) #define log_verbose(c, x...) logger(c, CRYPT_LOG_VERBOSE, __FILE__, __LINE__, x)
#define log_err(c, x...) logger(c, CRYPT_LOG_ERROR, __FILE__, __LINE__, x) #define log_err(c, x...) logger(c, CRYPT_LOG_ERROR, __FILE__, __LINE__, x)
int crypt_get_debug_level(void); int crypt_get_debug_level(void);
int crypt_memlock_inc(struct crypt_device *ctx); int crypt_memlock_inc(struct crypt_device *ctx);
int crypt_memlock_dec(struct crypt_device *ctx); int crypt_memlock_dec(struct crypt_device *ctx);
int crypt_metadata_locking_enabled(void); int crypt_metadata_locking_enabled(void);
int crypt_random_init(struct crypt_device *ctx); int crypt_random_init(struct crypt_device *ctx);
int crypt_random_get(struct crypt_device *ctx, char *buf, size_t len, int qualit y); int crypt_random_get(struct crypt_device *ctx, char *buf, size_t len, int qualit y);
void crypt_random_exit(void); void crypt_random_exit(void);
int crypt_random_default_key_rng(void); int crypt_random_default_key_rng(void);
int crypt_plain_hash(struct crypt_device *ctx, int crypt_plain_hash(struct crypt_device *cd,
const char *hash_name, const char *hash_name,
char *key, size_t key_size, char *key, size_t key_size,
const char *passphrase, size_t passphrase_size); const char *passphrase, size_t passphrase_size);
int PLAIN_activate(struct crypt_device *cd, int PLAIN_activate(struct crypt_device *cd,
const char *name, const char *name,
struct volume_key *vk, struct volume_key *vk,
uint64_t size, uint64_t size,
uint32_t flags); uint32_t flags);
void *crypt_get_hdr(struct crypt_device *cd, const char *type); void *crypt_get_hdr(struct crypt_device *cd, const char *type);
skipping to change at line 201 skipping to change at line 220
void *usrptr); void *usrptr);
/* Internal integrity helpers */ /* Internal integrity helpers */
const char *crypt_get_integrity(struct crypt_device *cd); const char *crypt_get_integrity(struct crypt_device *cd);
int crypt_get_integrity_key_size(struct crypt_device *cd); int crypt_get_integrity_key_size(struct crypt_device *cd);
int crypt_get_integrity_tag_size(struct crypt_device *cd); int crypt_get_integrity_tag_size(struct crypt_device *cd);
int crypt_key_in_keyring(struct crypt_device *cd); int crypt_key_in_keyring(struct crypt_device *cd);
void crypt_set_key_in_keyring(struct crypt_device *cd, unsigned key_in_keyring); void crypt_set_key_in_keyring(struct crypt_device *cd, unsigned key_in_keyring);
int crypt_volume_key_load_in_keyring(struct crypt_device *cd, struct volume_key *vk); int crypt_volume_key_load_in_keyring(struct crypt_device *cd, struct volume_key *vk);
int crypt_use_keyring_for_vk(const struct crypt_device *cd); int crypt_use_keyring_for_vk(struct crypt_device *cd);
void crypt_drop_keyring_key(struct crypt_device *cd, const char *key_description ); void crypt_drop_keyring_key(struct crypt_device *cd, const char *key_description );
static inline uint64_t version(uint16_t major, uint16_t minor, uint16_t patch, u int16_t release) static inline uint64_t version(uint16_t major, uint16_t minor, uint16_t patch, u int16_t release)
{ {
return (uint64_t)release | ((uint64_t)patch << 16) | ((uint64_t)minor << 32) | ((uint64_t)major << 48); return (uint64_t)release | ((uint64_t)patch << 16) | ((uint64_t)minor << 32) | ((uint64_t)major << 48);
} }
int kernel_version(uint64_t *kversion); int kernel_version(uint64_t *kversion);
#endif /* INTERNAL_H */ #endif /* INTERNAL_H */
 End of changes. 15 change blocks. 
20 lines changed or deleted 40 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)