Hello, We are upgrading FreeRADIUS from 2.x to 3.x, during our work around with FreeRADIUS-2.x we have created modules in c/c++. Now we need to update these modules as per FR-3.x standards but modules created in c++ code do not get compiled (with below errors) even after re-structuring the module as FR3.x standards. /usr/include/freeradius/libradius.h:190:25: error: '<anonymous>' declared as a 'virtual' field unsigned int virtual : 1; //!< for dynamic expansion ^ /usr/include/freeradius/libradius.h:612:64: error: expected ',' or '...' before 'new' VALUE_PAIR *fr_cursor_replace(vp_cursor_t *cursor, VALUE_PAIR *new); ^ In file included from rlm_attrefvnf_auth_status_monitor.cpp:3:0: /usr/include/freeradius/modules.h:67:19: error: expected unqualified-id before 'typename' char const *typename; //!< Type name e.g. "Auth-Type". ^ /usr/include/freeradius/modules.h:67:18: error: expected ';' at end of member declaration char const *typename; //!< Type name e.g. "Auth-Type". ^ /usr/include/freeradius/modules.h:67:27: error: expected nested-name-specifier before ';' token char const *typename; //!< Type name e.g. "Auth-Type". Is it high necessary that FR-3.x modules are to be written only in c-code ? Is there any way to overcome this issue ? Thanks..