|
27 | 27 | // Ignore rustfmt changes in here. The horizontal alignment is too useful to give up.
|
28 | 28 | #![cfg_attr(rustfmt, rustfmt_skip)]
|
29 | 29 |
|
30 |
| -use crate::types::{key_perm_t, key_serial_t}; |
| 30 | +use crate::{KeyPermissions, KeyringSerial}; |
31 | 31 |
|
32 | 32 | // TODO: change these to &CStr when const fns get unblocked.
|
33 | 33 | pub const KEY_TYPE_KEYRING: &str = "keyring";
|
34 | 34 | pub const KEY_TYPE_USER: &str = "user";
|
35 | 35 | pub const KEY_TYPE_LOGON: &str = "logon";
|
36 | 36 | pub const KEY_TYPE_BIG_KEY: &str = "big_key";
|
37 | 37 |
|
38 |
| -pub const KEY_SPEC_THREAD_KEYRING: key_serial_t = -1; |
39 |
| -pub const KEY_SPEC_PROCESS_KEYRING: key_serial_t = -2; |
40 |
| -pub const KEY_SPEC_SESSION_KEYRING: key_serial_t = -3; |
41 |
| -pub const KEY_SPEC_USER_KEYRING: key_serial_t = -4; |
42 |
| -pub const KEY_SPEC_USER_SESSION_KEYRING: key_serial_t = -5; |
43 |
| -pub const KEY_SPEC_GROUP_KEYRING: key_serial_t = -6; |
44 |
| -pub const KEY_SPEC_REQKEY_AUTH_KEY: key_serial_t = -7; |
| 38 | +pub const KEY_SPEC_THREAD_KEYRING: KeyringSerial = unsafe { KeyringSerial::new_unchecked(-1) }; |
| 39 | +pub const KEY_SPEC_PROCESS_KEYRING: KeyringSerial = unsafe { KeyringSerial::new_unchecked(-2) }; |
| 40 | +pub const KEY_SPEC_SESSION_KEYRING: KeyringSerial = unsafe { KeyringSerial::new_unchecked(-3) }; |
| 41 | +pub const KEY_SPEC_USER_KEYRING: KeyringSerial = unsafe { KeyringSerial::new_unchecked(-4) }; |
| 42 | +pub const KEY_SPEC_USER_SESSION_KEYRING: KeyringSerial = unsafe { KeyringSerial::new_unchecked(-5) }; |
| 43 | +pub const KEY_SPEC_GROUP_KEYRING: KeyringSerial = unsafe { KeyringSerial::new_unchecked(-6) }; |
| 44 | +pub const KEY_SPEC_REQKEY_AUTH_KEY: KeyringSerial = unsafe { KeyringSerial::new_unchecked(-7) }; |
45 | 45 |
|
46 |
| -pub const KEY_REQKEY_DEFL_NO_CHANGE: key_serial_t = -1; |
47 |
| -pub const KEY_REQKEY_DEFL_DEFAULT: key_serial_t = 0; |
48 |
| -pub const KEY_REQKEY_DEFL_THREAD_KEYRING: key_serial_t = 1; |
49 |
| -pub const KEY_REQKEY_DEFL_PROCESS_KEYRING: key_serial_t = 2; |
50 |
| -pub const KEY_REQKEY_DEFL_SESSION_KEYRING: key_serial_t = 3; |
51 |
| -pub const KEY_REQKEY_DEFL_USER_KEYRING: key_serial_t = 4; |
52 |
| -pub const KEY_REQKEY_DEFL_USER_SESSION_KEYRING: key_serial_t = 5; |
53 |
| -pub const KEY_REQKEY_DEFL_GROUP_KEYRING: key_serial_t = 6; |
| 46 | +pub const KEY_POS_VIEW: KeyPermissions = 0x0100_0000; /* possessor can view a key's attributes */ |
| 47 | +pub const KEY_POS_READ: KeyPermissions = 0x0200_0000; /* possessor can read key payload / view keyring */ |
| 48 | +pub const KEY_POS_WRITE: KeyPermissions = 0x0400_0000; /* possessor can update key payload / add link to keyring */ |
| 49 | +pub const KEY_POS_SEARCH: KeyPermissions = 0x0800_0000; /* possessor can find a key in search / search a keyring */ |
| 50 | +pub const KEY_POS_LINK: KeyPermissions = 0x1000_0000; /* possessor can create a link to a key/keyring */ |
| 51 | +pub const KEY_POS_SETATTR: KeyPermissions = 0x2000_0000; /* possessor can set key attributes */ |
| 52 | +pub const KEY_POS_ALL: KeyPermissions = 0x3f00_0000; |
54 | 53 |
|
55 |
| -pub const KEY_POS_VIEW: key_perm_t = 0x0100_0000; /* possessor can view a key's attributes */ |
56 |
| -pub const KEY_POS_READ: key_perm_t = 0x0200_0000; /* possessor can read key payload / view keyring */ |
57 |
| -pub const KEY_POS_WRITE: key_perm_t = 0x0400_0000; /* possessor can update key payload / add link to keyring */ |
58 |
| -pub const KEY_POS_SEARCH: key_perm_t = 0x0800_0000; /* possessor can find a key in search / search a keyring */ |
59 |
| -pub const KEY_POS_LINK: key_perm_t = 0x1000_0000; /* possessor can create a link to a key/keyring */ |
60 |
| -pub const KEY_POS_SETATTR: key_perm_t = 0x2000_0000; /* possessor can set key attributes */ |
61 |
| -pub const KEY_POS_ALL: key_perm_t = 0x3f00_0000; |
| 54 | +pub const KEY_USR_VIEW: KeyPermissions = 0x0001_0000; /* user permissions... */ |
| 55 | +pub const KEY_USR_READ: KeyPermissions = 0x0002_0000; |
| 56 | +pub const KEY_USR_WRITE: KeyPermissions = 0x0004_0000; |
| 57 | +pub const KEY_USR_SEARCH: KeyPermissions = 0x0008_0000; |
| 58 | +pub const KEY_USR_LINK: KeyPermissions = 0x0010_0000; |
| 59 | +pub const KEY_USR_SETATTR: KeyPermissions = 0x0020_0000; |
| 60 | +pub const KEY_USR_ALL: KeyPermissions = 0x003f_0000; |
62 | 61 |
|
63 |
| -pub const KEY_USR_VIEW: key_perm_t = 0x0001_0000; /* user permissions... */ |
64 |
| -pub const KEY_USR_READ: key_perm_t = 0x0002_0000; |
65 |
| -pub const KEY_USR_WRITE: key_perm_t = 0x0004_0000; |
66 |
| -pub const KEY_USR_SEARCH: key_perm_t = 0x0008_0000; |
67 |
| -pub const KEY_USR_LINK: key_perm_t = 0x0010_0000; |
68 |
| -pub const KEY_USR_SETATTR: key_perm_t = 0x0020_0000; |
69 |
| -pub const KEY_USR_ALL: key_perm_t = 0x003f_0000; |
| 62 | +pub const KEY_GRP_VIEW: KeyPermissions = 0x0000_0100; /* group permissions... */ |
| 63 | +pub const KEY_GRP_READ: KeyPermissions = 0x0000_0200; |
| 64 | +pub const KEY_GRP_WRITE: KeyPermissions = 0x0000_0400; |
| 65 | +pub const KEY_GRP_SEARCH: KeyPermissions = 0x0000_0800; |
| 66 | +pub const KEY_GRP_LINK: KeyPermissions = 0x0000_1000; |
| 67 | +pub const KEY_GRP_SETATTR: KeyPermissions = 0x0000_2000; |
| 68 | +pub const KEY_GRP_ALL: KeyPermissions = 0x0000_3f00; |
70 | 69 |
|
71 |
| -pub const KEY_GRP_VIEW: key_perm_t = 0x0000_0100; /* group permissions... */ |
72 |
| -pub const KEY_GRP_READ: key_perm_t = 0x0000_0200; |
73 |
| -pub const KEY_GRP_WRITE: key_perm_t = 0x0000_0400; |
74 |
| -pub const KEY_GRP_SEARCH: key_perm_t = 0x0000_0800; |
75 |
| -pub const KEY_GRP_LINK: key_perm_t = 0x0000_1000; |
76 |
| -pub const KEY_GRP_SETATTR: key_perm_t = 0x0000_2000; |
77 |
| -pub const KEY_GRP_ALL: key_perm_t = 0x0000_3f00; |
78 |
| - |
79 |
| -pub const KEY_OTH_VIEW: key_perm_t = 0x0000_0001; /* third party permissions... */ |
80 |
| -pub const KEY_OTH_READ: key_perm_t = 0x0000_0002; |
81 |
| -pub const KEY_OTH_WRITE: key_perm_t = 0x0000_0004; |
82 |
| -pub const KEY_OTH_SEARCH: key_perm_t = 0x0000_0008; |
83 |
| -pub const KEY_OTH_LINK: key_perm_t = 0x0000_0010; |
84 |
| -pub const KEY_OTH_SETATTR: key_perm_t = 0x0000_0020; |
85 |
| -pub const KEY_OTH_ALL: key_perm_t = 0x0000_003f; |
| 70 | +pub const KEY_OTH_VIEW: KeyPermissions = 0x0000_0001; /* third party permissions... */ |
| 71 | +pub const KEY_OTH_READ: KeyPermissions = 0x0000_0002; |
| 72 | +pub const KEY_OTH_WRITE: KeyPermissions = 0x0000_0004; |
| 73 | +pub const KEY_OTH_SEARCH: KeyPermissions = 0x0000_0008; |
| 74 | +pub const KEY_OTH_LINK: KeyPermissions = 0x0000_0010; |
| 75 | +pub const KEY_OTH_SETATTR: KeyPermissions = 0x0000_0020; |
| 76 | +pub const KEY_OTH_ALL: KeyPermissions = 0x0000_003f; |
0 commit comments