opsick
constants.h
Go to the documentation of this file.
1/*
2 Copyright 2020 Raphael Beck
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17#ifndef OPSICK_CONSTANTS_H
18#define OPSICK_CONSTANTS_H
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
43#define OPSICK_SERVER_VERSION 100
44
48#define OPSICK_SERVER_VERSION_STR "1.0.0"
49
53#define OPSICK_MAX_USER_CREATION_PASSWORD_LENGTH 256
54
58#define OPSICK_MAX_ARGON2_PARALLELISM 16
59
63#define OPSICK_2FA_STEPS 30
64
68#define OPSICK_2FA_DIGITS 6
69
73#define OPSICK_2FA_HASH_ALGO 0
74
75#pragma region DEFAULT CONFIG VALUES
76
81#define OPSICK_DEFAULT_LOG 0
82
86#define OPSICK_DEFAULT_PORT 6677
87
91#define OPSICK_DEFAULT_THREADS 2
92
96#define OPSICK_DEFAULT_MAX_CLIENTS 0
97
101#define OPSICK_DEFAULT_MAX_HEADER_SIZE (1024 * 16)
102
106#define OPSICK_DEFAULT_MAX_BODY_SIZE (1024 * 1024 * 16)
107
111#define OPSICK_DEFAULT_MAX_USERS 0
112
116#define OPSICK_DEFAULT_API_KEY_ALGO 0
117
121#define OPSICK_DEFAULT_USE_INDEX_HTML 1
122
126#define OPSICK_DEFAULT_ARGON2_TIME_COST 16
127
131#define OPSICK_DEFAULT_ARGON2_MEMORY_COST_KiB (1024 * 64)
132
136#define OPSICK_DEFAULT_ARGON2_PARALLELISM 2
137
141#define OPSICK_DEFAULT_KEY_REFRESH_INTERVAL_HOURS 72
142
146#define OPSICK_DEFAULT_API_KEY_PUBLIC_HEXSTR "F407F5E089CE64002EB417FB683A7302287BE84108BB8E62FD8ED647DC62805C"
147
151#define OPSICK_DEFAULT_USER_CREATION_PASSWORD_ARGON2_HASH "$argon2id$v=19$m=65536,t=16,p=2$kgiReuAb6UDkBgssL08W9OoHkkDzNV++5cWzHB5fUbE$JG8ODw0sHhBuROEF3iA8w9RbrUF59UGnOz3bmkY4SAy0MzJ6tL+HG9j2ipxcvHnpZC1H6HeHJqaAb1Yqplevcw"
152
153#pragma endregion
154
155#if defined(_WIN32)
156#define OPSICK_DEFAULT_DBCONN_FILE "C:\\opsick\\dbconn"
157#elif defined(__APPLE__)
158#define OPSICK_DEFAULT_DBCONN_FILE "/usr/local/share/opsick/dbconn"
159#else
160#define OPSICK_DEFAULT_DBCONN_FILE "/var/opt/opsick/dbconn"
161#endif
162
163#pragma region STRING PRE - ALLOCATION IDs
164
168#define OPSICK_STRPREALLOC_INDEX_ED25519_SIG 0
169
173#define OPSICK_STRPREALLOC_INDEX_USER_ID 1
174
178#define OPSICK_STRPREALLOC_INDEX_PW 2
179
183#define OPSICK_STRPREALLOC_INDEX_TOTP 3
184
188#define OPSICK_STRPREALLOC_INDEX_NEW_PW 4
189
193#define OPSICK_STRPREALLOC_INDEX_EXP_UTC 5
194
198#define OPSICK_STRPREALLOC_INDEX_BODY 6
199
203#define OPSICK_STRPREALLOC_INDEX_PUBKEY_ED25519 7
204
208#define OPSICK_STRPREALLOC_INDEX_PRVKEY_ED25519 8
209
213#define OPSICK_STRPREALLOC_INDEX_PUBKEY_CURVE448 9
214
218#define OPSICK_STRPREALLOC_INDEX_PRVKEY_CURVE448 10
219
223#define OPSICK_STRPREALLOC_INDEX_EXT 11
224
228#define OPSICK_STRPREALLOC_INDEX_BODY_SHA512 12
229
233#define OPSICK_STRPREALLOC_INDEX_ACTION 13
234
238#define OPSICK_STRPREALLOC_INDEX_USER_CREATION_PW 14
239
243#define OPSICK_STRPREALLOC_INDEX_WWW_AUTHENTICATE_HEADER 15
244
245#pragma endregion
246
247#pragma region HASHES
248
254#define OPSICK_MURMUR3_SEED 133769420
255
261#define OPSICK_HOME_PATH_HASH 2818192833
262
268#define OPSICK_FAVICON_PATH_HASH 1051445893
269
275#define OPSICK_PUBKEY_PATH_HASH 3855421118
276
282#define OPSICK_PRVKEY_PATH_HASH 944329335
283
289#define OPSICK_PASSWD_PATH_HASH 2697305887
290
296#define OPSICK_USERGET_PATH_HASH 456400922
297
303#define OPSICK_USERCHK_PATH_HASH 4075223429
304
310#define OPSICK_USERADD_PATH_HASH 4242582731
311
317#define OPSICK_USERDEL_PATH_HASH 1184612068
318
324#define OPSICK_USEREXT_PATH_HASH 628309221
325
331#define OPSICK_USERBODY_PATH_HASH 413204006
332
338#define OPSICK_USER2FA_PATH_HASH 2196777087
339
345#define OPSICK_USERKEYS_PATH_HASH 773720762
346
352#define OPSICK_USERKEYS_UPDATE_PATH_HASH 589266831
353
359#define OPSICK_VERSION_PATH_HASH 692047655
360
361#pragma endregion
362
363#ifdef __cplusplus
364} // extern "C"
365#endif
366
367#endif // OPSICK_CONSTANTS_H