Scroll to navigation

File::KDBX::Constants(3pm) User Contributed Perl Documentation File::KDBX::Constants(3pm)

NAME

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

VERSION

version 0.906

SYNOPSIS

    use File::KDBX::Constants qw(:all);
    say KDBX_VERSION_4_1;

DESCRIPTION

This module provides importable constants related to KDBX. Constants can be imported individually or in groups (by tag). The available tags are:

  • ":magic"
  • ":version"
  • ":header"
  • ":compression"
  • ":cipher"
  • ":random_stream"
  • ":kdf"
  • ":variant_map"
  • ":inner_header"
  • ":key_file"
  • ":history"
  • ":icon"
  • ":bool"
  • ":time"
  • ":yubikey"
  • ":all" - All of the above

View the source of this module to see the constant values (but really you shouldn't care).

FUNCTIONS

to_header_constant

    $constant = to_header_constant($number);
    $constant = to_header_constant($string);

Get a header constant from an integer or string value.

to_compression_constant

    $constant = to_compression_constant($number);
    $constant = to_compression_constant($string);

Get a compression constant from an integer or string value.

to_inner_header_constant

    $constant = to_inner_header_constant($number);
    $constant = to_inner_header_constant($string);

Get an inner header constant from an integer or string value.

to_icon_constant

    $constant = to_icon_constant($number);
    $constant = to_icon_constant($string);

Get an icon constant from an integer or string value.

CONSTANTS

:magic

Constants related to identifying the file types:

"KDBX_SIG1"
"KDBX_SIG1_FIRST_BYTE"
"KDBX_SIG2_1"
"KDBX_SIG2_2"

:version

Constants related to identifying the format version of a file:

"KDBX_VERSION_2_0"
"KDBX_VERSION_3_0"
"KDBX_VERSION_3_1"
"KDBX_VERSION_4_0"
"KDBX_VERSION_4_1"
"KDBX_VERSION_OLDEST"
"KDBX_VERSION_LATEST"
"KDBX_VERSION_MAJOR_MASK"
"KDBX_VERSION_MINOR_MASK"

:header

Constants related to parsing and generating KDBX file headers:

"HEADER_END"
"HEADER_COMMENT"
"HEADER_CIPHER_ID"
"HEADER_COMPRESSION_FLAGS"
"HEADER_MASTER_SEED"
"HEADER_TRANSFORM_SEED"
"HEADER_TRANSFORM_ROUNDS"
"HEADER_ENCRYPTION_IV"
"HEADER_INNER_RANDOM_STREAM_KEY"
"HEADER_STREAM_START_BYTES"
"HEADER_INNER_RANDOM_STREAM_ID"
"HEADER_KDF_PARAMETERS"
"HEADER_PUBLIC_CUSTOM_DATA"

:compression

Constants related to identifying the compression state of a file:

"COMPRESSION_NONE"
"COMPRESSION_GZIP"

:cipher

Constants related to ciphers:

"CIPHER_UUID_AES128"
"CIPHER_UUID_AES256"
"CIPHER_UUID_CHACHA20"
"CIPHER_UUID_SALSA20"
"CIPHER_UUID_SERPENT"
"CIPHER_UUID_TWOFISH"

:random_stream

Constants related to memory protection stream ciphers:

"STREAM_ID_RC4_VARIANT"
This is insecure and not implemented.
"STREAM_ID_SALSA20"
"STREAM_ID_CHACHA20"
"STREAM_SALSA20_IV"

:kdf

Constants related to key derivation functions and configuration:

"KDF_UUID_AES"
"KDF_UUID_AES_CHALLENGE_RESPONSE"
This is what KeePassXC calls "KDF_AES_KDBX4".
"KDF_UUID_ARGON2D"
"KDF_UUID_ARGON2ID"
"KDF_PARAM_UUID"
"KDF_PARAM_AES_ROUNDS"
"KDF_PARAM_AES_SEED"
"KDF_PARAM_ARGON2_SALT"
"KDF_PARAM_ARGON2_PARALLELISM"
"KDF_PARAM_ARGON2_MEMORY"
"KDF_PARAM_ARGON2_ITERATIONS"
"KDF_PARAM_ARGON2_VERSION"
"KDF_PARAM_ARGON2_SECRET"
"KDF_PARAM_ARGON2_ASSOCDATA"
"KDF_DEFAULT_AES_ROUNDS"
"KDF_DEFAULT_ARGON2_ITERATIONS"
"KDF_DEFAULT_ARGON2_MEMORY"
"KDF_DEFAULT_ARGON2_PARALLELISM"
"KDF_DEFAULT_ARGON2_VERSION"

:variant_map

Constants related to parsing and generating KDBX4 variant maps:

"VMAP_VERSION"
"VMAP_VERSION_MAJOR_MASK"
"VMAP_TYPE_END"
"VMAP_TYPE_UINT32"
"VMAP_TYPE_UINT64"
"VMAP_TYPE_BOOL"
"VMAP_TYPE_INT32"
"VMAP_TYPE_INT64"
"VMAP_TYPE_STRING"
"VMAP_TYPE_BYTEARRAY"

:inner_header

Constants related to parsing and generating KDBX4 inner headers:

"INNER_HEADER_END"
"INNER_HEADER_INNER_RANDOM_STREAM_ID"
"INNER_HEADER_INNER_RANDOM_STREAM_KEY"
"INNER_HEADER_BINARY"
"INNER_HEADER_BINARY_FLAG_PROTECT"

:key_file

Constants related to identifying key file types:

"KEY_FILE_TYPE_BINARY"
"KEY_FILE_TYPE_HASHED"
"KEY_FILE_TYPE_HEX"
"KEY_FILE_TYPE_XML"

:history

Constants for history-related default values:

"HISTORY_DEFAULT_MAX_AGE"
"HISTORY_DEFAULT_MAX_ITEMS"
"HISTORY_DEFAULT_MAX_SIZE"

:iteration

Constants for searching algorithms.

"ITERATION_IDS" - Iterative deepening search
"ITERATION_BFS" - Breadth-first search
"ITERATION_DFS" - Depth-first search

:icon

Constants for default icons used by KeePass password safe implementations:

"ICON_PASSWORD"
"ICON_PACKAGE_NETWORK"
"ICON_MESSAGEBOX_WARNING"
"ICON_SERVER"
"ICON_KLIPPER"
"ICON_EDU_LANGUAGES"
"ICON_KCMDF"
"ICON_KATE"
"ICON_SOCKET"
"ICON_IDENTITY"
"ICON_KONTACT"
"ICON_CAMERA"
"ICON_IRKICKFLASH"
"ICON_KGPG_KEY3"
"ICON_LAPTOP_POWER"
"ICON_SCANNER"
"ICON_MOZILLA_FIREBIRD"
"ICON_CDROM_UNMOUNT"
"ICON_DISPLAY"
"ICON_MAIL_GENERIC"
"ICON_MISC"
"ICON_KORGANIZER"
"ICON_ASCII"
"ICON_ICONS"
"ICON_CONNECT_ESTABLISHED"
"ICON_FOLDER_MAIL"
"ICON_FILESAVE"
"ICON_NFS_UNMOUNT"
"ICON_MESSAGE"
"ICON_KGPG_TERM"
"ICON_KONSOLE"
"ICON_FILEPRINT"
"ICON_FSVIEW"
"ICON_RUN"
"ICON_CONFIGURE"
"ICON_KRFB"
"ICON_ARK"
"ICON_KPERCENTAGE"
"ICON_SAMBA_UNMOUNT"
"ICON_HISTORY"
"ICON_MAIL_FIND"
"ICON_VECTORGFX"
"ICON_KCMMEMORY"
"ICON_TRASHCAN_FULL"
"ICON_KNOTES"
"ICON_CANCEL"
"ICON_HELP"
"ICON_KPACKAGE"
"ICON_FOLDER"
"ICON_FOLDER_BLUE_OPEN"
"ICON_FOLDER_TAR"
"ICON_DECRYPTED"
"ICON_ENCRYPTED"
"ICON_APPLY"
"ICON_SIGNATURE"
"ICON_THUMBNAIL"
"ICON_KADDRESSBOOK"
"ICON_VIEW_TEXT"
"ICON_KGPG"
"ICON_PACKAGE_DEVELOPMENT"
"ICON_KFM_HOME"
"ICON_SERVICES"
"ICON_TUX"
"ICON_FEATHER"
"ICON_APPLE"
"ICON_W"
"ICON_MONEY"
"ICON_CERTIFICATE"
"ICON_SMARTPHONE"

:bool

Boolean values:

"FALSE"
"TRUE"

:time

Constants related to time:

"TIME_SECONDS_AD1_TO_UNIX_EPOCH"

:yubikey

Constants related to working with YubiKeys:

"YUBICO_VID"
"YUBIKEY_PID"
"NEO_OTP_PID"
"NEO_OTP_CCID_PID"
"NEO_CCID_PID"
"NEO_U2F_PID"
"NEO_OTP_U2F_PID"
"NEO_U2F_CCID_PID"
"NEO_OTP_U2F_CCID_PID"
"YK4_OTP_PID"
"YK4_U2F_PID"
"YK4_OTP_U2F_PID"
"YK4_CCID_PID"
"YK4_OTP_CCID_PID"
"YK4_U2F_CCID_PID"
"YK4_OTP_U2F_CCID_PID"
"PLUS_U2F_OTP_PID"
"ONLYKEY_VID"
"ONLYKEY_PID"
"YK_EUSBERR"
"YK_EWRONGSIZ"
"YK_EWRITEERR"
"YK_ETIMEOUT"
"YK_ENOKEY"
"YK_EFIRMWARE"
"YK_ENOMEM"
"YK_ENOSTATUS"
"YK_ENOTYETIMPL"
"YK_ECHECKSUM"
"YK_EWOULDBLOCK"
"YK_EINVALIDCMD"
"YK_EMORETHANONE"
"YK_ENODATA"
"CONFIG1_VALID"
"CONFIG2_VALID"
"CONFIG1_TOUCH"
"CONFIG2_TOUCH"
"CONFIG_LED_INV"
"CONFIG_STATUS_MASK"

BUGS

Please report any bugs or feature requests on the bugtracker website <https://github.com/chazmcgarvey/File-KDBX/issues>

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

AUTHOR

Charles McGarvey <ccm@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2022 by Charles McGarvey.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

2022-11-20 perl v5.36.0