/*
**
** Common headers for authenticators and resolvers.
**
*/
#include "config.h"
#include "portable/socket.h"
/* Holds the resolver information from nnrpd. */
struct res_info {
struct sockaddr *client;
struct sockaddr *local;
char *clienthostname;
};
/* Holds the authentication information from nnrpd. */
struct auth_info {
char *username;
char *password;
};
/*
* Reads connection information from a file descriptor (normally stdin, when
* talking to nnrpd) and returns a new res_info or auth_info struct, or
* returns NULL on failure. Note that the fields will never be NULL; if the
* corresponding information is missing, it is an error (which will be
* logged and NULL will be returned). The client is responsible for freeing
* the struct and its fields; this can be done by calling the appropriate
* destruction function below.
*/
extern struct auth_info *get_auth_info(FILE *);
extern struct res_info *get_res_info (FILE *);
extern void free_auth_info(struct auth_info*);
extern void free_res_info (struct res_info*);
syntax highlighted by Code2HTML, v. 0.9.1