/*
* 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
{
}
-static int authless_authenticate(struct authhandle *auth, char *data)
+static int authless_authenticate(struct authhandle *auth, struct socket *sk, char *data)
{
return(AUTH_SUCCESS);
}
return(auth);
}
-int authenticate(struct authhandle *handle, char *data)
+int authenticate(struct authhandle *handle, struct socket *sk, char *data)
{
if(handle->mech == NULL)
return(AUTH_ERR);
- return(handle->mech->authenticate(handle, data));
+ return(handle->mech->authenticate(handle, sk, data));
+}
+
+int authavailable(struct authmech *mech, struct socket *sk)
+{
+ if(mech->available == NULL)
+ return(1);
+ return(mech->available(sk));
}
int authrenewcred(struct authhandle *handle)
static void preinit(int hup)
{
- extern struct authmech authmech_pam;
-
if(hup)
return;
regmech(&authless);
- regmech(&authmech_pam);
}
static int init(int hup)
static struct configvar myvars[] =
{
- /** The name of the PAM service file to use. */
- {CONF_VAR_STRING, "pamserv", {.str = L"doldacond"}},
/** Specifies whether insecure authentication is to be allowed. If
* you are not completely sure what you are doing, never turn this
* on without also turning on net.onlylocal. */
- {CONF_VAR_BOOL, "authless", {.num = 1}},
+ {CONF_VAR_BOOL, "authless", {.num = 0}},
{CONF_VAR_END}
};