Define RS_FREERADIUS_DICT and use it when missing "dictionary" in config.
authorLinus Nordberg <linus@nordu.net>
Mon, 21 Mar 2011 13:58:52 +0000 (14:58 +0100)
committerLinus Nordberg <linus@nordu.net>
Mon, 21 Mar 2011 13:58:52 +0000 (14:58 +0100)
lib/include/radsec/radsec.h
lib/radsec.c

index a35077c..2744cd2 100644 (file)
@@ -6,6 +6,12 @@
 #include <unistd.h>
 #include <sys/time.h>
 
+#ifdef SYSCONFDIR
+#define RS_FREERADIUS_DICT SYSCONFDIR "/raddb/dictionary"
+#else  /* !SYSCONFDIR */
+#define RS_FREERADIUS_DICT "/usr/local/raddb/dictionary"
+#endif  /* !SYSCONFDIR */
+
 enum rs_error_code {
     RSE_OK = 0,
     RSE_NOMEM = 1,
index 6e68950..ae8eda6 100644 (file)
@@ -68,8 +68,7 @@ rs_context_init_freeradius_dict (struct rs_context *ctx, const char *dict)
       dict = ctx->config->dictionary;
 
   if (dict == NULL)
-    return rs_err_ctx_push_fl (ctx, RSE_INVAL, __FILE__, __LINE__,
-                              "missing dictionary");
+    dict = RS_FREERADIUS_DICT;
 
   dictlen = strlen (dict);
   dir = rs_calloc (ctx, 1, dictlen + 1);