opsick
Macros
constants.h File Reference

Opsick constants (pre-processor #defines). More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define OPSICK_SERVER_VERSION   100
 
#define OPSICK_SERVER_VERSION_STR   "1.0.0"
 
#define OPSICK_MAX_USER_CREATION_PASSWORD_LENGTH   256
 
#define OPSICK_MAX_ARGON2_PARALLELISM   16
 
#define OPSICK_2FA_STEPS   30
 
#define OPSICK_2FA_DIGITS   6
 
#define OPSICK_2FA_HASH_ALGO   0
 
#define OPSICK_DEFAULT_LOG   0
 
#define OPSICK_DEFAULT_PORT   6677
 
#define OPSICK_DEFAULT_THREADS   2
 
#define OPSICK_DEFAULT_MAX_CLIENTS   0
 
#define OPSICK_DEFAULT_MAX_HEADER_SIZE   (1024 * 16)
 
#define OPSICK_DEFAULT_MAX_BODY_SIZE   (1024 * 1024 * 16)
 
#define OPSICK_DEFAULT_MAX_USERS   0
 
#define OPSICK_DEFAULT_API_KEY_ALGO   0
 
#define OPSICK_DEFAULT_USE_INDEX_HTML   1
 
#define OPSICK_DEFAULT_ARGON2_TIME_COST   16
 
#define OPSICK_DEFAULT_ARGON2_MEMORY_COST_KiB   (1024 * 64)
 
#define OPSICK_DEFAULT_ARGON2_PARALLELISM   2
 
#define OPSICK_DEFAULT_KEY_REFRESH_INTERVAL_HOURS   72
 
#define OPSICK_DEFAULT_API_KEY_PUBLIC_HEXSTR   "F407F5E089CE64002EB417FB683A7302287BE84108BB8E62FD8ED647DC62805C"
 
#define OPSICK_DEFAULT_USER_CREATION_PASSWORD_ARGON2_HASH   "$argon2id$v=19$m=65536,t=16,p=2$kgiReuAb6UDkBgssL08W9OoHkkDzNV++5cWzHB5fUbE$JG8ODw0sHhBuROEF3iA8w9RbrUF59UGnOz3bmkY4SAy0MzJ6tL+HG9j2ipxcvHnpZC1H6HeHJqaAb1Yqplevcw"
 
#define OPSICK_DEFAULT_DBCONN_FILE   "/var/opt/opsick/dbconn"
 
#define OPSICK_STRPREALLOC_INDEX_ED25519_SIG   0
 
#define OPSICK_STRPREALLOC_INDEX_USER_ID   1
 
#define OPSICK_STRPREALLOC_INDEX_PW   2
 
#define OPSICK_STRPREALLOC_INDEX_TOTP   3
 
#define OPSICK_STRPREALLOC_INDEX_NEW_PW   4
 
#define OPSICK_STRPREALLOC_INDEX_EXP_UTC   5
 
#define OPSICK_STRPREALLOC_INDEX_BODY   6
 
#define OPSICK_STRPREALLOC_INDEX_PUBKEY_ED25519   7
 
#define OPSICK_STRPREALLOC_INDEX_PRVKEY_ED25519   8
 
#define OPSICK_STRPREALLOC_INDEX_PUBKEY_CURVE448   9
 
#define OPSICK_STRPREALLOC_INDEX_PRVKEY_CURVE448   10
 
#define OPSICK_STRPREALLOC_INDEX_EXT   11
 
#define OPSICK_STRPREALLOC_INDEX_BODY_SHA512   12
 
#define OPSICK_STRPREALLOC_INDEX_ACTION   13
 
#define OPSICK_STRPREALLOC_INDEX_USER_CREATION_PW   14
 
#define OPSICK_STRPREALLOC_INDEX_WWW_AUTHENTICATE_HEADER   15
 
#define OPSICK_MURMUR3_SEED   133769420
 
#define OPSICK_HOME_PATH_HASH   2818192833
 
#define OPSICK_FAVICON_PATH_HASH   1051445893
 
#define OPSICK_PUBKEY_PATH_HASH   3855421118
 
#define OPSICK_PRVKEY_PATH_HASH   944329335
 
#define OPSICK_PASSWD_PATH_HASH   2697305887
 
#define OPSICK_USERGET_PATH_HASH   456400922
 
#define OPSICK_USERCHK_PATH_HASH   4075223429
 
#define OPSICK_USERADD_PATH_HASH   4242582731
 
#define OPSICK_USERDEL_PATH_HASH   1184612068
 
#define OPSICK_USEREXT_PATH_HASH   628309221
 
#define OPSICK_USERBODY_PATH_HASH   413204006
 
#define OPSICK_USER2FA_PATH_HASH   2196777087
 
#define OPSICK_USERKEYS_PATH_HASH   773720762
 
#define OPSICK_USERKEYS_UPDATE_PATH_HASH   589266831
 
#define OPSICK_VERSION_PATH_HASH   692047655
 

Detailed Description

Opsick constants (pre-processor #defines).

Author
Raphael Beck

Macro Definition Documentation

◆ OPSICK_2FA_DIGITS

#define OPSICK_2FA_DIGITS   6

Standard 2FA token digit count of 6 digits.

◆ OPSICK_2FA_HASH_ALGO

#define OPSICK_2FA_HASH_ALGO   0

Standard 2FA token HMAC hash algo SHA-1.

◆ OPSICK_2FA_STEPS

#define OPSICK_2FA_STEPS   30

Standard 2FA token stepcount of 30 seconds.

◆ OPSICK_DEFAULT_API_KEY_ALGO

#define OPSICK_DEFAULT_API_KEY_ALGO   0

Default API key algo ( currently 0 which is ed25519 ).

◆ OPSICK_DEFAULT_API_KEY_PUBLIC_HEXSTR

#define OPSICK_DEFAULT_API_KEY_PUBLIC_HEXSTR   "F407F5E089CE64002EB417FB683A7302287BE84108BB8E62FD8ED647DC62805C"

Default API Key (public ed25519 key as hex-encoded string).

◆ OPSICK_DEFAULT_ARGON2_MEMORY_COST_KiB

#define OPSICK_DEFAULT_ARGON2_MEMORY_COST_KiB   (1024 * 64)

Default Argon2 memory cost parameter (in KiB).

◆ OPSICK_DEFAULT_ARGON2_PARALLELISM

#define OPSICK_DEFAULT_ARGON2_PARALLELISM   2

Default Argon2 parallelism setting.

◆ OPSICK_DEFAULT_ARGON2_TIME_COST

#define OPSICK_DEFAULT_ARGON2_TIME_COST   16

Default Argon2 time cost parameter (iterations).

◆ OPSICK_DEFAULT_KEY_REFRESH_INTERVAL_HOURS

#define OPSICK_DEFAULT_KEY_REFRESH_INTERVAL_HOURS   72

Default key regeneration interval in hours.

◆ OPSICK_DEFAULT_LOG

#define OPSICK_DEFAULT_LOG   0

Boolean setting that determines whether or not Opsick should log all HTTP-requests by default.

0 means false and any non-zero value means true

◆ OPSICK_DEFAULT_MAX_BODY_SIZE

#define OPSICK_DEFAULT_MAX_BODY_SIZE   (1024 * 1024 * 16)

Default body size limit in bytes for all endpoints.

◆ OPSICK_DEFAULT_MAX_CLIENTS

#define OPSICK_DEFAULT_MAX_CLIENTS   0

Default max client count limit. 0 means unlimited.

◆ OPSICK_DEFAULT_MAX_HEADER_SIZE

#define OPSICK_DEFAULT_MAX_HEADER_SIZE   (1024 * 16)

Default header size limit in bytes for all endpoints.

◆ OPSICK_DEFAULT_MAX_USERS

#define OPSICK_DEFAULT_MAX_USERS   0

Default maximum users limit for the Opsick instance (0 means unlimited users).

◆ OPSICK_DEFAULT_PORT

#define OPSICK_DEFAULT_PORT   6677

Default port to which Opsick should listen to.

◆ OPSICK_DEFAULT_THREADS

#define OPSICK_DEFAULT_THREADS   2

Default amount of threads that the Opsick instance should use to serve its endpoints.

◆ OPSICK_DEFAULT_USE_INDEX_HTML

#define OPSICK_DEFAULT_USE_INDEX_HTML   1

Boolean setting for whether or not Opsick should serve the index.html file by default.

◆ OPSICK_DEFAULT_USER_CREATION_PASSWORD_ARGON2_HASH

#define OPSICK_DEFAULT_USER_CREATION_PASSWORD_ARGON2_HASH   "$argon2id$v=19$m=65536,t=16,p=2$kgiReuAb6UDkBgssL08W9OoHkkDzNV++5cWzHB5fUbE$JG8ODw0sHhBuROEF3iA8w9RbrUF59UGnOz3bmkY4SAy0MzJ6tL+HG9j2ipxcvHnpZC1H6HeHJqaAb1Yqplevcw"

Default user registration password is "opsick_registration_password".

◆ OPSICK_FAVICON_PATH_HASH

#define OPSICK_FAVICON_PATH_HASH   1051445893

murmur3("/favicon.ico")

◆ OPSICK_HOME_PATH_HASH

#define OPSICK_HOME_PATH_HASH   2818192833

murmur3("/")

◆ OPSICK_MAX_ARGON2_PARALLELISM

#define OPSICK_MAX_ARGON2_PARALLELISM   16

Maximum amount of threads to allow for usage by Argon2.

◆ OPSICK_MAX_USER_CREATION_PASSWORD_LENGTH

#define OPSICK_MAX_USER_CREATION_PASSWORD_LENGTH   256

The maximum length of the instance's user creation endpoint password hash.

◆ OPSICK_MURMUR3_SEED

#define OPSICK_MURMUR3_SEED   133769420

The seed value to use for the MurmurHash v3 algo. Since all of the hash lookups are only correlated to endpoint routing, this value needn't be secret.

◆ OPSICK_PASSWD_PATH_HASH

#define OPSICK_PASSWD_PATH_HASH   2697305887

murmur3("/users/passwd")

◆ OPSICK_PRVKEY_PATH_HASH

#define OPSICK_PRVKEY_PATH_HASH   944329335

murmur3("/users/prvkey")

◆ OPSICK_PUBKEY_PATH_HASH

#define OPSICK_PUBKEY_PATH_HASH   3855421118

murmur3("/pubkey")

◆ OPSICK_SERVER_VERSION

#define OPSICK_SERVER_VERSION   100

Opsick current version number.

◆ OPSICK_SERVER_VERSION_STR

#define OPSICK_SERVER_VERSION_STR   "1.0.0"

Opsick current version number string.

◆ OPSICK_STRPREALLOC_INDEX_ACTION

#define OPSICK_STRPREALLOC_INDEX_ACTION   13

Index to pass to opsick_get_preallocated_string() to receive back the FIOBJ string "action".

◆ OPSICK_STRPREALLOC_INDEX_BODY

#define OPSICK_STRPREALLOC_INDEX_BODY   6

Index to pass to opsick_get_preallocated_string() to receive back the FIOBJ string "body".

◆ OPSICK_STRPREALLOC_INDEX_BODY_SHA512

#define OPSICK_STRPREALLOC_INDEX_BODY_SHA512   12

Index to pass to opsick_get_preallocated_string() to receive back the FIOBJ string "body_sha512".

◆ OPSICK_STRPREALLOC_INDEX_ED25519_SIG

#define OPSICK_STRPREALLOC_INDEX_ED25519_SIG   0

Index to pass to opsick_get_preallocated_string() to receive back the FIOBJ string "ed25519-signature".

◆ OPSICK_STRPREALLOC_INDEX_EXP_UTC

#define OPSICK_STRPREALLOC_INDEX_EXP_UTC   5

Index to pass to opsick_get_preallocated_string() to receive back the FIOBJ string "exp_utc".

◆ OPSICK_STRPREALLOC_INDEX_EXT

#define OPSICK_STRPREALLOC_INDEX_EXT   11

Index to pass to opsick_get_preallocated_string() to receive back the FIOBJ string "ext".

◆ OPSICK_STRPREALLOC_INDEX_NEW_PW

#define OPSICK_STRPREALLOC_INDEX_NEW_PW   4

Index to pass to opsick_get_preallocated_string() to receive back the FIOBJ string "new_pw".

◆ OPSICK_STRPREALLOC_INDEX_PRVKEY_CURVE448

#define OPSICK_STRPREALLOC_INDEX_PRVKEY_CURVE448   10

Index to pass to opsick_get_preallocated_string() to receive back the FIOBJ string "encrypted_private_key_curve448".

◆ OPSICK_STRPREALLOC_INDEX_PRVKEY_ED25519

#define OPSICK_STRPREALLOC_INDEX_PRVKEY_ED25519   8

Index to pass to opsick_get_preallocated_string() to receive back the FIOBJ string "encrypted_private_key_ed25519".

◆ OPSICK_STRPREALLOC_INDEX_PUBKEY_CURVE448

#define OPSICK_STRPREALLOC_INDEX_PUBKEY_CURVE448   9

Index to pass to opsick_get_preallocated_string() to receive back the FIOBJ string "public_key_curve448".

◆ OPSICK_STRPREALLOC_INDEX_PUBKEY_ED25519

#define OPSICK_STRPREALLOC_INDEX_PUBKEY_ED25519   7

Index to pass to opsick_get_preallocated_string() to receive back the FIOBJ string "public_key_ed25519".

◆ OPSICK_STRPREALLOC_INDEX_PW

#define OPSICK_STRPREALLOC_INDEX_PW   2

Index to pass to opsick_get_preallocated_string() to receive back the FIOBJ string "pw".

◆ OPSICK_STRPREALLOC_INDEX_TOTP

#define OPSICK_STRPREALLOC_INDEX_TOTP   3

Index to pass to opsick_get_preallocated_string() to receive back the FIOBJ string "totp".

◆ OPSICK_STRPREALLOC_INDEX_USER_CREATION_PW

#define OPSICK_STRPREALLOC_INDEX_USER_CREATION_PW   14

Index to pass to opsick_get_preallocated_string() to receive back the FIOBJ string "ucpw".

◆ OPSICK_STRPREALLOC_INDEX_USER_ID

#define OPSICK_STRPREALLOC_INDEX_USER_ID   1

Index to pass to opsick_get_preallocated_string() to receive back the FIOBJ string "user_id".

◆ OPSICK_STRPREALLOC_INDEX_WWW_AUTHENTICATE_HEADER

#define OPSICK_STRPREALLOC_INDEX_WWW_AUTHENTICATE_HEADER   15

Index to pass to opsick_get_preallocated_string() to receive back the FIOBJ string "www-authenticate".

◆ OPSICK_USER2FA_PATH_HASH

#define OPSICK_USER2FA_PATH_HASH   2196777087

murmur3("/users/2fa")

◆ OPSICK_USERADD_PATH_HASH

#define OPSICK_USERADD_PATH_HASH   4242582731

murmur3("/users/create")

◆ OPSICK_USERBODY_PATH_HASH

#define OPSICK_USERBODY_PATH_HASH   413204006

murmur3("/users/body")

◆ OPSICK_USERCHK_PATH_HASH

#define OPSICK_USERCHK_PATH_HASH   4075223429

murmur3("/users/check")

◆ OPSICK_USERDEL_PATH_HASH

#define OPSICK_USERDEL_PATH_HASH   1184612068

murmur3("/users/delete")

◆ OPSICK_USEREXT_PATH_HASH

#define OPSICK_USEREXT_PATH_HASH   628309221

murmur3("/users/extend")

◆ OPSICK_USERGET_PATH_HASH

#define OPSICK_USERGET_PATH_HASH   456400922

murmur3("/users")

◆ OPSICK_USERKEYS_PATH_HASH

#define OPSICK_USERKEYS_PATH_HASH   773720762

murmur3("/users/keys")

◆ OPSICK_USERKEYS_UPDATE_PATH_HASH

#define OPSICK_USERKEYS_UPDATE_PATH_HASH   589266831

murmur3("/users/keys/update")

◆ OPSICK_VERSION_PATH_HASH

#define OPSICK_VERSION_PATH_HASH   692047655

murmur3("/version")