Age Owner Branch data TLA Line data Source code
1 : : /*-------------------------------------------------------------------------
2 : : *
3 : : * magic_validator.c
4 : : * Test module for serverside OAuth token validation callbacks, which
5 : : * should fail due to using the wrong PG_OAUTH_VALIDATOR_MAGIC marker
6 : : * and thus the wrong ABI version
7 : : *
8 : : * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
9 : : * Portions Copyright (c) 1994, Regents of the University of California
10 : : *
11 : : * src/test/modules/oauth_validator/magic_validator.c
12 : : *
13 : : *-------------------------------------------------------------------------
14 : : */
15 : :
16 : : #include "postgres.h"
17 : :
18 : : #include "fmgr.h"
19 : : #include "libpq/oauth.h"
20 : :
198 dgustafsson@postgres 21 :CBC 1 : PG_MODULE_MAGIC;
22 : :
23 : : static bool validate_token(const ValidatorModuleState *state,
24 : : const char *token,
25 : : const char *role,
26 : : ValidatorModuleResult *res);
27 : :
28 : : /* Callback implementations (we only need the main one) */
29 : : static const OAuthValidatorCallbacks validator_callbacks = {
30 : : 0xdeadbeef,
31 : :
32 : : .validate_cb = validate_token,
33 : : };
34 : :
35 : : const OAuthValidatorCallbacks *
36 : 1 : _PG_oauth_validator_module_init(void)
37 : : {
38 : 1 : return &validator_callbacks;
39 : : }
40 : :
41 : : static bool
198 dgustafsson@postgres 42 :UBC 0 : validate_token(const ValidatorModuleState *state,
43 : : const char *token, const char *role,
44 : : ValidatorModuleResult *res)
45 : : {
46 [ # # ]: 0 : elog(FATAL, "magic_validator: this should be unreachable");
47 : : pg_unreachable();
48 : : }
|