dracauth(3)dracauth(3)NAMEdracauth - Dynamic Relay Authorization Control client interface
SYNOPSIS
cc [ flag ... ] file ... -ldrac [ library ... ]
MT-LEVEL
Unsafe
DESCRIPTION
Dynamic Relay Authorization Control uses Berkeley db package to main‐
tain a relay authorization map for sendmail. POP and IMAP mail servers
make an RPC call to add an entry to the authorization cache after they
have authenticated each user.
Routines
dracauth(char *server, unsigned long userip, char **errmsg);
dracconn(char *server, char **errmsg);
dracsend(unsigned long userip, char **errmsg);
dracdisc(char **errmsg);
dracauth() sends a request to the server running on host server
to authorize SMTP relaying from IP address userip. It does the
connect, send, and disconnect in one operation. errmsg is the
address of an uninitialized character pointer. If this parame‐
ter is non-NULL, dracauth() will store a pointer to an error
message at this location.
dracconn() initiates an RPC connection to the server running on
host server. errmsg is the address of an uninitialized charac‐
ter pointer. If this parameter is non-NULL, dracconn() will
store a pointer to an error message at this location.
dracsend() sends a request over the RPC connection to authorize
SMTP relaying from IP address userip. errmsg is the address of
an uninitialized character pointer. If this parameter is non-
NULL, dracsend() will store a pointer to an error message at
this location.
dracdisc() terminates the RPC connection. errmsg is the address
of an uninitialized character pointer. If this parameter is
non-NULL, dracdisc() will store a pointer to an error message at
this location.
RETURN VALUES
All integer functions return 0 if the requested operation is success‐
ful, or non-zero and an error message pointer if the operation failed.
FILES
libdrac.a
SEE ALSOrpc.dracd(1m)NOTES
This interface is unsafe in multithreaded applications. Unsafe inter‐
faces should be called only from the main thread.
22 Jul 1998 dracauth(3)