Radius: Change name of header file for RADIUSCLIENTNEW to match Fedora and (apparentl...
authorJeremy Harris <jgh146exb@wizmail.org>
Mon, 2 Nov 2015 23:59:49 +0000 (23:59 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Tue, 3 Nov 2015 13:16:33 +0000 (13:16 +0000)
Also include a hack to avoid a definition conflict between that Radius header
and a DBM header.

This work imported from Gentoo (more than one author).

src/src/auths/call_radius.c

index 1201078dcae24179539beb8e87a01f5579c7b80c..78ee466d876a36b6df0950264115855f5561e3cc 100644 (file)
@@ -8,6 +8,16 @@
 /* This file was originally supplied by Ian Kirk. The libradius support came
 from Alex Kiernan. */
 
+/* ugly hack to work around redefinition of ENV by radiusclient.h and
+ * db.h: define _DB_H_ so the db.h include thinks it's already included,
+ * we can get away with it like this, since this file doesn't use any db
+ * functions. */
+#ifndef _DB_H_
+# define _DB_H_ 1
+# define _DB_EXT_PROT_IN_ 1
+# define DB void
+#endif
+
 #include "../exim.h"
 
 /* This module contains functions that call the Radius authentication
@@ -36,9 +46,14 @@ using its original API. At release 0.4.0 the API changed. */
   #include <radlib.h>
 #else
   #if !defined(RADIUS_LIB_RADIUSCLIENT) && !defined(RADIUS_LIB_RADIUSCLIENTNEW)
-  #define RADIUS_LIB_RADIUSCLIENT
+  # define RADIUS_LIB_RADIUSCLIENT
+  #endif
+
+  #ifdef RADIUS_LIB_RADIUSCLIENTNEW
+  # include <freeradius-client.h>
+  #else
+  # include <radiusclient.h>
   #endif
-  #include <radiusclient.h>
 #endif