From 8efddb4f681a203f16b86e29bc08f2456b101131 Mon Sep 17 00:00:00 2001 From: Arran Cudbard-Bell Date: Thu, 6 Mar 2014 12:43:20 +0000 Subject: Add basic autoconf script --- src/pam_radius_auth.h | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 src/pam_radius_auth.h (limited to 'src/pam_radius_auth.h') diff --git a/src/pam_radius_auth.h b/src/pam_radius_auth.h new file mode 100644 index 0000000..7241117 --- /dev/null +++ b/src/pam_radius_auth.h @@ -0,0 +1,126 @@ +#ifndef PAM_RADIUS_H +#define PAM_RADIUS_H + +#include "config.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(HAVE_SECURITY_PAM_APPL_H) +# include +#elif defined(HAVE_PAM_PAM_APPL_H) +# include +#endif + +#if defined(HAVE_SECURITY_PAM_MODULES_H) +# include +#elif defined(HAVE_PAM_PAM_APPL_H) +# include +#else +# error security/pam_modules.h or pam/pam_modules.h required +#endif + + +#include "radius.h" +#include "md5.h" + + +/************************************************************************* + * Additional RADIUS definitions + *************************************************************************/ + +/* Per-attribute structure */ +typedef struct attribute_t { + unsigned char attribute; + unsigned char length; + unsigned char data[1]; +} attribute_t; + +typedef struct radius_server_t { + struct radius_server_t *next; + struct in_addr ip; + uint16_t port; + char *hostname; + char *secret; + int timeout; + int accounting; +} radius_server_t; + +typedef struct radius_conf_t { + radius_server_t *server; + int retries; + int localifdown; + char *client_id; + int accounting_bug; + int sockfd; + int debug; +} radius_conf_t; + + +/************************************************************************* + * Platform specific defines + *************************************************************************/ + +#ifdef sun +#define PAM_EXTERN extern +/* + * On older versions of Solaris, you may have to change this to: + * #define CONST + */ +#define CONST const +#else +#define CONST const +#endif + +/************************************************************************* + * Useful macros and defines + *************************************************************************/ + +#define _pam_forget(X) if (X) {memset(X, 0, strlen(X));free(X);X = NULL;} +#ifndef _pam_drop +#define _pam_drop(X) if (X) {free(X);X = NULL;} +#endif + +#define PAM_DEBUG_ARG 1 +#define PAM_SKIP_PASSWD 2 +#define PAM_USE_FIRST_PASS 4 +#define PAM_TRY_FIRST_PASS 8 +#define PAM_RUSER_ARG 16 + + +/* Module defines */ +#ifndef BUFFER_SIZE +#define BUFFER_SIZE 1024 +#endif /* BUFFER_SIZE */ +#define MAXPWNAM 253 /* maximum user name length. Server dependent, + * this is the default value + */ +#define MAXPASS 128 /* max password length. Again, depends on server + * compiled in. This is the default. + */ +#ifndef CONF_FILE /* the configuration file holding the server secret */ +#define CONF_FILE "/etc/raddb/server" +#endif /* CONF_FILE */ + +#ifndef FALSE +#define FALSE 0 +#undef TRUE +#define TRUE !FALSE +#endif + +#endif /* PAM_RADIUS_H */ -- cgit v1.2.3