summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--server/providers/proxy.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/server/providers/proxy.c b/server/providers/proxy.c
index aa5b1c94..ddfbe393 100644
--- a/server/providers/proxy.c
+++ b/server/providers/proxy.c
@@ -2069,6 +2069,18 @@ struct bet_ops proxy_auth_ops = {
.finalize = proxy_auth_shutdown
};
+struct bet_ops proxy_access_ops = {
+ .check_online = proxy_check_online,
+ .handler = proxy_pam_handler,
+ .finalize = proxy_auth_shutdown
+};
+
+struct bet_ops proxy_chpass_ops = {
+ .check_online = proxy_check_online,
+ .handler = proxy_pam_handler,
+ .finalize = proxy_auth_shutdown
+};
+
static void *proxy_dlsym(void *handle, const char *functemp, char *libname)
{
char *funcname;
@@ -2238,3 +2250,21 @@ done:
}
return ret;
}
+
+int sssm_proxy_access_init(struct be_ctx *bectx,
+ struct bet_ops **ops, void **pvt_data)
+{
+ int ret;
+ ret = sssm_proxy_auth_init(bectx, ops, pvt_data);
+ *ops = &proxy_access_ops;
+ return ret;
+}
+
+int sssm_proxy_chpass_init(struct be_ctx *bectx,
+ struct bet_ops **ops, void **pvt_data)
+{
+ int ret;
+ ret = sssm_proxy_auth_init(bectx, ops, pvt_data);
+ *ops = &proxy_chpass_ops;
+ return ret;
+}