/*
* Dolda Connect - Modular multiuser Direct Connect-style client
- * Copyright (C) 2004 Fredrik Tolf (fredrik@dolda2000.com)
+ * Copyright (C) 2004 Fredrik Tolf <fredrik@dolda2000.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
-#include <ucontext.h>
-#include <security/pam_appl.h>
#include <errno.h>
#ifdef HAVE_CONFIG_H
#include "utils.h"
#include "conf.h"
#include "log.h"
+#include "module.h"
+
+#ifdef HAVE_PAM
+#include <ucontext.h>
+#include <security/pam_appl.h>
struct pamdata
{
return(rc);
}
-struct authmech authmech_pam =
+static struct authmech authmech_pam =
{
.inithandle = inithandle,
.release = release,
.name = L"pam",
.enabled = 1
};
+
+static int init(int hup)
+{
+ if(!hup)
+ regmech(&authmech_pam);
+ return(0);
+}
+
+static struct configvar myvars[] =
+{
+ /** The name of the PAM service file to use. */
+ {CONF_VAR_STRING, "pamserv", {.str = L"doldacond"}},
+ {CONF_VAR_END}
+};
+
+static struct module me =
+{
+ .conf =
+ {
+ .vars = myvars
+ },
+ .init = init,
+ .name = "auth-pam"
+};
+
+MODULE(me);
+
+#endif /* HAVE_PAM */