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 : 21 0 : PG_MODULE_MAGIC; 22 : 23 : static bool validate_token(const ValidatorModuleState *state, 24 : const char *token, 25 : const char *role, 26 : ValidatorModuleResult *result); 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 : pg_unreachable(); 48 : }