* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*
- * Copyright 2000 The FreeRADIUS server project
+ * Copyright 2000,2006 The FreeRADIUS server project
*/
-#include <freeradius-devel/autoconf.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
+#include <freeradius-devel/ident.h>
+RCSID("$Id$")
#include <freeradius-devel/radiusd.h>
#include <freeradius-devel/modules.h>
-#include <freeradius-devel/conffile.h>
-
-static const char rcsid[] = "$Id$";
/*
* The instance data for rlm_always is the list of fake values we are
* Convert the rcode string to an int, and get rid of it
*/
data->rcode = str2rcode(data->rcode_str);
- free(data->rcode_str);
- data->rcode_str = NULL;
if (data->rcode == -1) {
free(data);
return -1;
return ((struct rlm_always_t *)instance)->rcode;
}
+#ifdef WITH_SESSION_MGMT
/*
* checksimul fakes some other variables besides the rcode...
*/
return inst->rcode;
}
+#endif
static int always_detach(void *instance)
{
module_t rlm_always = {
RLM_MODULE_INIT,
"always",
- RLM_TYPE_THREAD_SAFE, /* type */
+ RLM_TYPE_CHECK_CONFIG_SAFE, /* type */
always_instantiate, /* instantiation */
always_detach, /* detach */
{
always_return, /* authorization */
always_return, /* preaccounting */
always_return, /* accounting */
+#ifdef WITH_SESSION_MGMT
always_checksimul, /* checksimul */
+#else
+ NULL,
+#endif
always_return, /* pre-proxy */
always_return, /* post-proxy */
always_return /* post-auth */
+#ifdef WITH_COA
+ ,
+ always_return, /* recv-coa */
+ always_return /* send-coa */
+#endif
},
};