/* * This does the exact same thing as the mod_authorize, it's just called * differently. */ static rlm_rcode_t mod_preacct(void *instance, REQUEST *request) { int rcode; char const *name = request->username->vp_strvalue; REALM *realm; if (!name) return RLM_MODULE_OK; /* * Check if we've got to proxy the request. * If not, return without adding a Proxy-To-Realm * attribute. */ rcode = check_for_realm(instance, request, &realm); if (rcode != RLM_MODULE_UPDATED) return rcode; if (!realm) return RLM_MODULE_NOOP; /* * Maybe add a Proxy-To-Realm attribute to the request. */ RDEBUG2("Preparing to proxy accounting request to realm \"%s\"\n", realm->name); pairmake_config("Proxy-To-Realm", realm->name, T_OP_EQ); return RLM_MODULE_UPDATED; /* try the next module */ }
/* * This does the exact same thing as the realm_authorize, it's just called * differently. */ static int realm_preacct(void *instance, REQUEST *request) { const char *name = (char *)request->username->strvalue; REALM *realm; if (!name) return RLM_MODULE_OK; /* * Check if we've got to proxy the request. * If not, return without adding a Proxy-To-Realm * attribute. */ if (check_for_realm(instance, request, &realm) < 0) { return RLM_MODULE_FAIL; } if (!realm) { return RLM_MODULE_NOOP; } /* * Maybe add a Proxy-To-Realm attribute to the request. */ DEBUG2(" rlm_realm: Preparing to proxy accounting request to realm \"%s\"\n", realm->realm); add_proxy_to_realm(&request->config_items, realm); return RLM_MODULE_UPDATED; /* try the next module */ }
/* * Examine a request for a username with an realm, and if it * corresponds to something in the realms file, set that realm as * Proxy-To. * * This should very nearly duplicate the old proxy_send() code */ static int realm_authorize(void *instance, REQUEST *request) { REALM *realm; /* * Check if we've got to proxy the request. * If not, return without adding a Proxy-To-Realm * attribute. */ if (check_for_realm(instance, request, &realm) < 0) { return RLM_MODULE_FAIL; } if (!realm) { return RLM_MODULE_NOOP; } /* * Maybe add a Proxy-To-Realm attribute to the request. */ DEBUG2(" rlm_realm: Preparing to proxy authentication request to realm \"%s\"\n", realm->realm); add_proxy_to_realm(&request->config_items, realm); return RLM_MODULE_UPDATED; /* try the next module */ }
/* * Examine a request for a username with an realm, and if it * corresponds to something in the realms file, set that realm as * Proxy-To. * * This should very nearly duplicate the old proxy_send() code */ static rlm_rcode_t mod_authorize(void *instance, REQUEST *request) { rlm_rcode_t rcode; REALM *realm; /* * Check if we've got to proxy the request. * If not, return without adding a Proxy-To-Realm * attribute. */ rcode = check_for_realm(instance, request, &realm); if (rcode != RLM_MODULE_UPDATED) return rcode; if (!realm) return RLM_MODULE_NOOP; /* * Maybe add a Proxy-To-Realm attribute to the request. */ RDEBUG2("Preparing to proxy authentication request to realm \"%s\"\n", realm->name); pairmake_config("Proxy-To-Realm", realm->name, T_OP_EQ); return RLM_MODULE_UPDATED; /* try the next module */ }