1File::KDBX::Constants(3U)ser Contributed Perl DocumentatiFoinle::KDBX::Constants(3)
2
3
4

NAME

6       File::KDBX::Constants - All the KDBX-related constants you could ever
7       want
8

VERSION

10       version 0.906
11

SYNOPSIS

13           use File::KDBX::Constants qw(:all);
14
15           say KDBX_VERSION_4_1;
16

DESCRIPTION

18       This module provides importable constants related to KDBX. Constants
19       can be imported individually or in groups (by tag). The available tags
20       are:
21
22       •   ":magic"
23
24       •   ":version"
25
26       •   ":header"
27
28       •   ":compression"
29
30       •   ":cipher"
31
32       •   ":random_stream"
33
34       •   ":kdf"
35
36       •   ":variant_map"
37
38       •   ":inner_header"
39
40       •   ":key_file"
41
42       •   ":history"
43
44       •   ":icon"
45
46       •   ":bool"
47
48       •   ":time"
49
50       •   ":yubikey"
51
52       •   ":all" - All of the above
53
54       View the source of this module to see the constant values (but really
55       you shouldn't care).
56

FUNCTIONS

58   to_header_constant
59           $constant = to_header_constant($number);
60           $constant = to_header_constant($string);
61
62       Get a header constant from an integer or string value.
63
64   to_compression_constant
65           $constant = to_compression_constant($number);
66           $constant = to_compression_constant($string);
67
68       Get a compression constant from an integer or string value.
69
70   to_inner_header_constant
71           $constant = to_inner_header_constant($number);
72           $constant = to_inner_header_constant($string);
73
74       Get an inner header constant from an integer or string value.
75
76   to_icon_constant
77           $constant = to_icon_constant($number);
78           $constant = to_icon_constant($string);
79
80       Get an icon constant from an integer or string value.
81

CONSTANTS

83   :magic
84       Constants related to identifying the file types:
85
86       "KDBX_SIG1"
87       "KDBX_SIG1_FIRST_BYTE"
88       "KDBX_SIG2_1"
89       "KDBX_SIG2_2"
90
91   :version
92       Constants related to identifying the format version of a file:
93
94       "KDBX_VERSION_2_0"
95       "KDBX_VERSION_3_0"
96       "KDBX_VERSION_3_1"
97       "KDBX_VERSION_4_0"
98       "KDBX_VERSION_4_1"
99       "KDBX_VERSION_OLDEST"
100       "KDBX_VERSION_LATEST"
101       "KDBX_VERSION_MAJOR_MASK"
102       "KDBX_VERSION_MINOR_MASK"
103
104   :header
105       Constants related to parsing and generating KDBX file headers:
106
107       "HEADER_END"
108       "HEADER_COMMENT"
109       "HEADER_CIPHER_ID"
110       "HEADER_COMPRESSION_FLAGS"
111       "HEADER_MASTER_SEED"
112       "HEADER_TRANSFORM_SEED"
113       "HEADER_TRANSFORM_ROUNDS"
114       "HEADER_ENCRYPTION_IV"
115       "HEADER_INNER_RANDOM_STREAM_KEY"
116       "HEADER_STREAM_START_BYTES"
117       "HEADER_INNER_RANDOM_STREAM_ID"
118       "HEADER_KDF_PARAMETERS"
119       "HEADER_PUBLIC_CUSTOM_DATA"
120
121   :compression
122       Constants related to identifying the compression state of a file:
123
124       "COMPRESSION_NONE"
125       "COMPRESSION_GZIP"
126
127   :cipher
128       Constants related to ciphers:
129
130       "CIPHER_UUID_AES128"
131       "CIPHER_UUID_AES256"
132       "CIPHER_UUID_CHACHA20"
133       "CIPHER_UUID_SALSA20"
134       "CIPHER_UUID_SERPENT"
135       "CIPHER_UUID_TWOFISH"
136
137   :random_stream
138       Constants related to memory protection stream ciphers:
139
140       "STREAM_ID_RC4_VARIANT"
141           This is insecure and not implemented.
142
143       "STREAM_ID_SALSA20"
144       "STREAM_ID_CHACHA20"
145       "STREAM_SALSA20_IV"
146
147   :kdf
148       Constants related to key derivation functions and configuration:
149
150       "KDF_UUID_AES"
151       "KDF_UUID_AES_CHALLENGE_RESPONSE"
152           This is what KeePassXC calls "KDF_AES_KDBX4".
153
154       "KDF_UUID_ARGON2D"
155       "KDF_UUID_ARGON2ID"
156       "KDF_PARAM_UUID"
157       "KDF_PARAM_AES_ROUNDS"
158       "KDF_PARAM_AES_SEED"
159       "KDF_PARAM_ARGON2_SALT"
160       "KDF_PARAM_ARGON2_PARALLELISM"
161       "KDF_PARAM_ARGON2_MEMORY"
162       "KDF_PARAM_ARGON2_ITERATIONS"
163       "KDF_PARAM_ARGON2_VERSION"
164       "KDF_PARAM_ARGON2_SECRET"
165       "KDF_PARAM_ARGON2_ASSOCDATA"
166       "KDF_DEFAULT_AES_ROUNDS"
167       "KDF_DEFAULT_ARGON2_ITERATIONS"
168       "KDF_DEFAULT_ARGON2_MEMORY"
169       "KDF_DEFAULT_ARGON2_PARALLELISM"
170       "KDF_DEFAULT_ARGON2_VERSION"
171
172   :variant_map
173       Constants related to parsing and generating KDBX4 variant maps:
174
175       "VMAP_VERSION"
176       "VMAP_VERSION_MAJOR_MASK"
177       "VMAP_TYPE_END"
178       "VMAP_TYPE_UINT32"
179       "VMAP_TYPE_UINT64"
180       "VMAP_TYPE_BOOL"
181       "VMAP_TYPE_INT32"
182       "VMAP_TYPE_INT64"
183       "VMAP_TYPE_STRING"
184       "VMAP_TYPE_BYTEARRAY"
185
186   :inner_header
187       Constants related to parsing and generating KDBX4 inner headers:
188
189       "INNER_HEADER_END"
190       "INNER_HEADER_INNER_RANDOM_STREAM_ID"
191       "INNER_HEADER_INNER_RANDOM_STREAM_KEY"
192       "INNER_HEADER_BINARY"
193       "INNER_HEADER_BINARY_FLAG_PROTECT"
194
195   :key_file
196       Constants related to identifying key file types:
197
198       "KEY_FILE_TYPE_BINARY"
199       "KEY_FILE_TYPE_HASHED"
200       "KEY_FILE_TYPE_HEX"
201       "KEY_FILE_TYPE_XML"
202
203   :history
204       Constants for history-related default values:
205
206       "HISTORY_DEFAULT_MAX_AGE"
207       "HISTORY_DEFAULT_MAX_ITEMS"
208       "HISTORY_DEFAULT_MAX_SIZE"
209
210   :iteration
211       Constants for searching algorithms.
212
213       "ITERATION_IDS" - Iterative deepening search
214       "ITERATION_BFS" - Breadth-first search
215       "ITERATION_DFS" - Depth-first search
216
217   :icon
218       Constants for default icons used by KeePass password safe
219       implementations:
220
221       "ICON_PASSWORD"
222       "ICON_PACKAGE_NETWORK"
223       "ICON_MESSAGEBOX_WARNING"
224       "ICON_SERVER"
225       "ICON_KLIPPER"
226       "ICON_EDU_LANGUAGES"
227       "ICON_KCMDF"
228       "ICON_KATE"
229       "ICON_SOCKET"
230       "ICON_IDENTITY"
231       "ICON_KONTACT"
232       "ICON_CAMERA"
233       "ICON_IRKICKFLASH"
234       "ICON_KGPG_KEY3"
235       "ICON_LAPTOP_POWER"
236       "ICON_SCANNER"
237       "ICON_MOZILLA_FIREBIRD"
238       "ICON_CDROM_UNMOUNT"
239       "ICON_DISPLAY"
240       "ICON_MAIL_GENERIC"
241       "ICON_MISC"
242       "ICON_KORGANIZER"
243       "ICON_ASCII"
244       "ICON_ICONS"
245       "ICON_CONNECT_ESTABLISHED"
246       "ICON_FOLDER_MAIL"
247       "ICON_FILESAVE"
248       "ICON_NFS_UNMOUNT"
249       "ICON_MESSAGE"
250       "ICON_KGPG_TERM"
251       "ICON_KONSOLE"
252       "ICON_FILEPRINT"
253       "ICON_FSVIEW"
254       "ICON_RUN"
255       "ICON_CONFIGURE"
256       "ICON_KRFB"
257       "ICON_ARK"
258       "ICON_KPERCENTAGE"
259       "ICON_SAMBA_UNMOUNT"
260       "ICON_HISTORY"
261       "ICON_MAIL_FIND"
262       "ICON_VECTORGFX"
263       "ICON_KCMMEMORY"
264       "ICON_TRASHCAN_FULL"
265       "ICON_KNOTES"
266       "ICON_CANCEL"
267       "ICON_HELP"
268       "ICON_KPACKAGE"
269       "ICON_FOLDER"
270       "ICON_FOLDER_BLUE_OPEN"
271       "ICON_FOLDER_TAR"
272       "ICON_DECRYPTED"
273       "ICON_ENCRYPTED"
274       "ICON_APPLY"
275       "ICON_SIGNATURE"
276       "ICON_THUMBNAIL"
277       "ICON_KADDRESSBOOK"
278       "ICON_VIEW_TEXT"
279       "ICON_KGPG"
280       "ICON_PACKAGE_DEVELOPMENT"
281       "ICON_KFM_HOME"
282       "ICON_SERVICES"
283       "ICON_TUX"
284       "ICON_FEATHER"
285       "ICON_APPLE"
286       "ICON_W"
287       "ICON_MONEY"
288       "ICON_CERTIFICATE"
289       "ICON_SMARTPHONE"
290
291   :bool
292       Boolean values:
293
294       "FALSE"
295       "TRUE"
296
297   :time
298       Constants related to time:
299
300       "TIME_SECONDS_AD1_TO_UNIX_EPOCH"
301
302   :yubikey
303       Constants related to working with YubiKeys:
304
305       "YUBICO_VID"
306       "YUBIKEY_PID"
307       "NEO_OTP_PID"
308       "NEO_OTP_CCID_PID"
309       "NEO_CCID_PID"
310       "NEO_U2F_PID"
311       "NEO_OTP_U2F_PID"
312       "NEO_U2F_CCID_PID"
313       "NEO_OTP_U2F_CCID_PID"
314       "YK4_OTP_PID"
315       "YK4_U2F_PID"
316       "YK4_OTP_U2F_PID"
317       "YK4_CCID_PID"
318       "YK4_OTP_CCID_PID"
319       "YK4_U2F_CCID_PID"
320       "YK4_OTP_U2F_CCID_PID"
321       "PLUS_U2F_OTP_PID"
322       "ONLYKEY_VID"
323       "ONLYKEY_PID"
324       "YK_EUSBERR"
325       "YK_EWRONGSIZ"
326       "YK_EWRITEERR"
327       "YK_ETIMEOUT"
328       "YK_ENOKEY"
329       "YK_EFIRMWARE"
330       "YK_ENOMEM"
331       "YK_ENOSTATUS"
332       "YK_ENOTYETIMPL"
333       "YK_ECHECKSUM"
334       "YK_EWOULDBLOCK"
335       "YK_EINVALIDCMD"
336       "YK_EMORETHANONE"
337       "YK_ENODATA"
338       "CONFIG1_VALID"
339       "CONFIG2_VALID"
340       "CONFIG1_TOUCH"
341       "CONFIG2_TOUCH"
342       "CONFIG_LED_INV"
343       "CONFIG_STATUS_MASK"
344

BUGS

346       Please report any bugs or feature requests on the bugtracker website
347       <https://github.com/chazmcgarvey/File-KDBX/issues>
348
349       When submitting a bug or request, please include a test-file or a patch
350       to an existing test-file that illustrates the bug or desired feature.
351

AUTHOR

353       Charles McGarvey <ccm@cpan.org>
354
356       This software is copyright (c) 2022 by Charles McGarvey.
357
358       This is free software; you can redistribute it and/or modify it under
359       the same terms as the Perl 5 programming language system itself.
360
361
362
363perl v5.36.1                      2023-09-27          File::KDBX::Constants(3)
Impressum