Qsmtp
0.30dev
|
checkpassword AUTH backend More...
#include <qsmtpd/qsauth_backend.h>
#include <log.h>
#include <netio.h>
#include <qsmtpd/qsmtpd.h>
#include <errno.h>
#include <signal.h>
#include <syslog.h>
#include <sys/wait.h>
#include <unistd.h>
Macros | |
#define | WRITE(a, b) |
Functions | |
static int | err_child (void) |
static int | err_fork (void) |
static int | err_pipe (void) |
static int | err_write (void) |
int | auth_backend_execute (const struct string *user, const struct string *pass, const struct string *resp) |
authenticate a user with the given credentials More... | |
int | auth_backend_setup (int argc, const char **argv) |
Variables | |
const char * | auth_check |
const char ** | auth_sub |
checkpassword AUTH backend
#define WRITE | ( | a, | |
b | |||
) |
int auth_backend_execute | ( | const struct string * | user, |
const struct string * | pass, | ||
const struct string * | resp | ||
) |
authenticate a user with the given credentials
user | user id |
pass | password |
resp | additional response (e.g. for CRAM authentication) |
<0 | processing error (negative error code is returned) |
0 | user successfully authenticated |
1 | authentication error (i.e. invalid user/pass combination) |
resp may be passed as NULL if no additional information has been collected
const char* auth_check |
checkpassword or one of his friends for auth
const char** auth_sub |
subprogram to be invoked by auth_check (usually /bin/true)