NAME
libauth - routines for writing nnrpd resolvers and authenticators
SYNOPSIS
#include "libauth.h" struct res_info { struct sockaddr *client; struct sockaddr *local; char *clienthostname; }; struct auth_info { char *username; char *password; }; struct auth_info *get_auth_info(FILE *); struct res_info *get_res_info (FILE *); void free_auth_info(struct auth_info*); void free_res_info (struct res_info*);
DESCRIPTION
These functions provide a convenient C frontend to the nnrpd external authentication interface documented in doc/external-auth. Use of this library is not required; in particular, external resolvers and authenticators written in languages other than C will need to implement the necessary functionality themselves. The get_auth_info() and get_res_info() functions allocate sufficient memory for a struct auth_info or struct res_info and any necessary fields, and return a pointer to the struct with the fields filled in from information supplied by nnrpd (the FILE* parameter generally should be "stdin"). Both functions return NULL on error. The caller is responsible for deallocating the memory by using the functions below. The string fields of both structs are straightforward. The client and local fields of struct res_info actually point to instances of struct sockaddr_in (or struct sockaddr_in6 if IPv6 support is compiled in). The free_auth_info() and free_res_info() functions free the struct passed in as argument and all necessary fields.
BUGS
In many cases, nnrpd provides more information than is normally useful (for example, even when calling an authenticator, the resolver information is often provided.) On the other hand, in certain cases it provides less information than might be expected (for example, if nnrpd is reading from stdin rather than a socket). The implementation is capable of handling at least the first of these issues, but that functionality is not exposed in the interface. At present, libauth.h and its implementation are located in authprogs/; perhaps they should be moved to include/ and lib/, respectively?
HISTORY
Written by Jeffrey M. Vinocur <jeff@litech.org> for InterNetNews. $Id: libauth.pod 8200 2008-11-30 13:31:30Z iulius $
SEE ALSO
nnrpd(8), readers.conf(5), doc/external-auth
More Linux Commands
manpages/ldap_search_ext_s.3.html
ldap_search_ext_s(3) - Perform an LDAP search operation.....
These routines are used to perform LDAP search operations. The ldap_search_ext_s() routine does the search synchronously (i.e., not returning until the operatio
manpages/XChangeSaveSet.3.html
XChangeSaveSet(3) - change a client's save set (Man Page)...
Depending on the specified mode, XChangeSaveSet either inserts or deletes the specified window from the clients save-set. The specified window must have been cr
manpages/Tcl_ParseQuotedString.3.html
Tcl_ParseQuotedString(3) - parse Tcl scripts and expressions
These procedures parse Tcl commands or portions of Tcl commands such as expressions or references to variables. Each procedure takes a pointer to a script (or p
manpages/fs.5.html
fs(5) - Linux file-system types: minix, ext, ext2, ext3, ext
When, as is customary, the proc filesystem is mounted on /proc, you can find in the file /proc/filesystems which filesystems your kernel currently supports; see
manpages/dracut.conf.5.html
dracut.conf(5) configuration file(s) for dracut (Man Page)
dracut.conf is loaded during the initialisation phase of dracut. Command line parameter will overwrite any values set here. *.conf files are read from /usr/lib/
manpages/glutSetMenu.3.html
glutSetMenu(3) - sets the current menu; glutGetMenu - return
glutSetMenu sets the current menu; glutGetMenu returns the identifier of the current menu. If no menus exist or the previous current menu was destroyed, glutGet
manpages/sbrk.2.html
sbrk(2) - change data segment size - Linux manual page......
brk() and sbrk() change the location of the program break, which defines the end of the processs data segment (i.e., the program break is the first location aft
manpages/XpCreateContext.3x.html
XpCreateContext(3x) - Creates and initializes a new print co
XpCreateContext creates a new print context that is initialized with the default printer attributes and other information available for printer_name on display.
manpages/FcConfigSubstitute.3.html
FcConfigSubstitute(3) - Execute substitutions (Man Page)....
Calls FcConfigSubstituteWithPat setting p_pat to NULL. Returns FcFalse if the substitution cannot be performed (due to allocation failure). Otherwise returns Fc
manpages/snmpgetnext.1.html
snmpgetnext(1) - communicates with a network entity using SN
snmpget is an SNMP application that uses the SNMP GETNEXT request to query for information on a network entity. One or more object identifiers (OIDs) may be giv
manpages/mbtowc.3.html
mbtowc(3) - convert a multibyte sequence to a wide character
The main case for this function is when s is not NULL and pwc is not NULL. In this case, the mbtowc() function inspects at most n bytes of the multibyte string
manpages/glFogiv.3gl.html
glFogiv(3gl) - specify fog parameters - Linux manual page...
Fog is initially disabled. While enabled, fog affects rasterized geometry, bitmaps, and pixel blocks, but not buffer clear operations. To enable and disable fog
