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-2026, 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 :
21 0 : 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 0 : _PG_oauth_validator_module_init(void)
37 : {
38 0 : return &validator_callbacks;
39 : }
40 :
41 : static bool
42 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 0 : pg_unreachable();
48 : }
|