]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/plugins/radius/options.h
Simplified and cleaned up the radiusclient implementation, and
[ppp.git] / pppd / plugins / radius / options.h
diff --git a/pppd/plugins/radius/options.h b/pppd/plugins/radius/options.h
new file mode 100644 (file)
index 0000000..aa55305
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * $Id: options.h,v 1.1 2004/11/14 07:26:26 paulus Exp $
+ *
+ * Copyright (C) 1996 Lars Fenneberg
+ *
+ * See the file COPYRIGHT for the respective terms and conditions. 
+ * If the file is missing contact me at lf@elemental.net 
+ * and I'll send you a copy.
+ *
+ */
+
+#define OPTION_LEN     64
+
+/* ids for different option types */
+#define OT_STR         (1<<0)    /* string */
+#define OT_INT         (1<<1)    /* integer */
+#define OT_SRV         (1<<2)    /* server list */
+#define OT_AUO         (1<<3)    /* authentication order */
+
+#define OT_ANY         ((unsigned int)~0) /* used internally */
+
+/* status types */
+#define ST_UNDEF       (1<<0)    /* option is undefined */
+
+typedef struct _option {
+       char name[OPTION_LEN];    /* name of the option */
+       int type, status;         /* type and status    */
+       void *val;                /* pointer to option value */
+} OPTION;
+
+static SERVER acctserver = {0};
+static SERVER authserver = {0};
+
+int default_tries = 4;
+int default_timeout = 60;
+
+static OPTION config_options[] = {
+/* internally used options */
+{"config_file",                OT_STR, ST_UNDEF, NULL},
+/* General options */
+{"auth_order",         OT_AUO, ST_UNDEF, NULL},
+{"login_tries",                OT_INT, ST_UNDEF, &default_tries},
+{"login_timeout",      OT_INT, ST_UNDEF, &default_timeout},
+{"nologin",            OT_STR, ST_UNDEF, "/etc/nologin"},
+{"issue",              OT_STR, ST_UNDEF, "/etc/radiusclient/issue"},
+/* RADIUS specific options */
+{"authserver",         OT_SRV, ST_UNDEF, &authserver},
+{"acctserver",         OT_SRV, ST_UNDEF, &acctserver},
+{"servers",            OT_STR, ST_UNDEF, NULL},
+{"dictionary",         OT_STR, ST_UNDEF, NULL},
+{"login_radius",       OT_STR, ST_UNDEF, "/usr/sbin/login.radius"},
+{"seqfile",            OT_STR, ST_UNDEF, NULL},
+{"mapfile",            OT_STR, ST_UNDEF, NULL},
+{"default_realm",      OT_STR, ST_UNDEF, NULL},
+{"radius_timeout",     OT_INT, ST_UNDEF, NULL},
+{"radius_retries",     OT_INT, ST_UNDEF, NULL},
+{"nas_identifier",      OT_STR, ST_UNDEF, ""},
+/* local options */
+{"login_local",                OT_STR, ST_UNDEF, NULL},
+};
+
+static int num_options = ((sizeof(config_options))/(sizeof(config_options[0])));