Qsmtp  0.30dev
Data Structures | Functions | Variables
auth.c File Reference

functions for SMTP AUTH More...

#include <qsmtpd/qsauth.h>
#include <qsmtpd/qsauth_backend.h>
#include <base64.h>
#include <control.h>
#include <fmt.h>
#include <log.h>
#include <netio.h>
#include <qsmtpd/antispam.h>
#include <qsmtpd/qsmtpd.h>
#include <sstring.h>
#include <tls.h>
#include <ctype.h>
#include <errno.h>
#include <fcntl.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <syslog.h>
#include <time.h>
#include <unistd.h>

Data Structures

struct  authcmd
 

Functions

static int err_authabrt (void)
 
static int err_input (void)
 
static int err_base64 (void)
 
static int authgetl (string *authin)
 
static int auth_login (struct string *user)
 
static int auth_plain (struct string *user)
 
int smtp_auth (void)
 
char * smtp_authstring (void)
 return a list of all enabled auth types More...
 
int auth_permitted (void)
 
void auth_setup (int argc, const char **argv)
 

Variables

const char * tempnoauth = "454 4.5.0 AUTH temporaryly not available\r\n"
 
static const char * auth_host
 
static struct authcmd authcmds []
 

Detailed Description

functions for SMTP AUTH

Function Documentation

int smtp_auth ( void  )

check if user sends valid authentication

Returns
0 if user is successfully authenticated, error code else
char* smtp_authstring ( void  )

return a list of all enabled auth types

Returns
string of enabled auth types
Return values
NULLout of memory or AUTH currently not permitted

The returned memory is allocated and has to be freed by the caller.

The returned string will contain a trailing CRLF pair.

Variable Documentation

const char* auth_host
static

hostname for auth

struct authcmd authcmds[]
static
Initial value:
= {
{ .text = "login", .fun = auth_login },
{ .text = "plain", .fun = auth_plain },
{ .text = NULL,}
}