Submitted By: Murungi Daniel Date: 29-01-2013 Description: adds support for custom reply-message - return user defined reply message if reply-message is defined within the counter i.e. sqlcounter max-all-mb { ... reply-message = "Your data package is expired." ... } --- freeradius-server-2.2.0/src/modules/rlm_sqlcounter/rlm_sqlcounter.c 2013-01-29 11:59:15.871512971 +0300 +++ freeradius-server-2.2.0/src/modules/rlm_sqlcounter/rlm_sqlcounter.c.mod 2013-01-29 11:59:09.604513401 +0300 @@ -65,6 +65,7 @@ char *counter_name; /* Daily-Session-Time */ char *check_name; /* Max-Daily-Session */ char *reply_name; /* Session-Timeout */ + char *reply_message; /* Reply-Message */ char *key_name; /* User-Name */ char *sqlmod_inst; /* instance of SQL module to use, usually just 'sql' */ char *query; /* SQL query to retrieve current session time */ @@ -89,6 +90,7 @@ static const CONF_PARSER module_config[] = { { "counter-name", PW_TYPE_STRING_PTR, offsetof(rlm_sqlcounter_t,counter_name), NULL, NULL }, { "check-name", PW_TYPE_STRING_PTR, offsetof(rlm_sqlcounter_t,check_name), NULL, NULL }, + { "reply-message", PW_TYPE_STRING_PTR, offsetof(rlm_sqlcounter_t,reply_message), NULL, NULL }, { "reply-name", PW_TYPE_STRING_PTR, offsetof(rlm_sqlcounter_t,reply_name), NULL, "Session-Timeout" }, { "key", PW_TYPE_STRING_PTR, offsetof(rlm_sqlcounter_t,key_name), NULL, NULL }, { "sqlmod-inst", PW_TYPE_STRING_PTR, offsetof(rlm_sqlcounter_t,sqlmod_inst), NULL, NULL }, @@ -729,7 +731,14 @@ /* * User is denied access, send back a reply message */ - snprintf(msg, sizeof(msg), "Your maximum %s usage time has been reached", data->reset); + if (data->reply_message == NULL) + { + snprintf(msg, sizeof(msg), "Your maximum %s usage time has been reached", data->reset); + } + else + { + snprintf(msg, sizeof(msg),"%s",data->reply_message); + } reply_item=pairmake("Reply-Message", msg, T_OP_EQ); pairadd(&request->reply->vps, reply_item);