Cassandra backends for Freeradius

Arran Cudbard-Bell a.cudbardb at
Mon Jul 13 16:27:23 CEST 2015

> On Jul 13, 2015, at 10:24 AM, Arran Cudbard-Bell <a.cudbardb at> wrote:
>> On Jul 2, 2015, at 4:20 PM, Alister Winfield <alister at> wrote:
>> From memory you can get away with compiling the 'main' as C++ and use C++
>> for the final linking phase.. That assumes you ensure the bits that link to
>> "C" compiled code have the extern "C" stuff in the right place to ensure
>> you don't get any C++ name mangling issues.
> It seems fairly happy linking directly to the cassandra client library.
> No odd crashes, memory leaks or SEGVs so far... It's actually a little confusing :)
> It's in the v3.1.x branch if you felt like doing some light detective work.

If you want to call overloaded functions from C, you must provide wrappers with distinct names for the C code to use. For example:

	•     // C++ code:
	•     void f(int);
	•     void f(double);
	•     extern "C" void f_i(int i) { f(i); }
	•     extern "C" void f_d(double d) { f(d); }

Maybe that's what's provided by the cassandra headers, they do advertise it as a C/C++ library.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <>

More information about the Freeradius-Devel mailing list