About service down when the number of sessions exceeded

Seiichirou Hiraoka seiichirou.hiraoka at gmail.com
Tue Aug 22 08:35:50 CEST 2017


Hello.

I use the following version with RHEL 7.

# rpm -qa | grep freeradius
freeradius-3.0.4-6.el7.x86_64
freeradius-utils-3.0.4-6.el7.x86_64
freeradius-mysql-3.0.4-6.el7.x86_64

We set max_sessions to the default 1024, and when there are many users,
radiusd forcibly shut down after outputting the following message.

- /var/log/radius/radius.log
  Tue Jun 13 15:06:01 2017 : Error: rlm_eap (EAP): Too many open
  sessions. Try increasing "max_sessions" in the EAP moduleconfiguration

Increasing the value of max_sessions now works without problems.

Here, I have a question.
I think that an error message is output in the following part of the
source code,
Change not to accept requests, not forced shutdown
Is there a way?

freeradius-server-3.0.4/src/modules/rlm_eap/mem.c
-----
...
 Done:

        / *
         * We do not need this any more.
         * /
        If (status> 0) handler-> request = NULL;

        PTHREAD_MUTEX_UNLOCK (& (inst -> session_mutex));

        If (status <= 0) {
                Pairfree (& state);

                If (status <0) {
                        Static time_t last_logged = 0;

                        If (last_logged <handler-> timestamp) {
                                Last_logged = handler-> timestamp;
                                ERROR ("rlm_eap (% s): Too many open
sessions. Try increasing \" max_sessions \ ""
                                      "In the EAP module
configuration", inst-> xlat_name);
                        }
                } Else {
                        ERROR ("rlm_eap (% s): Failed to store
handler", inst-> xlat_name);
                }
                Return 0;
        }
-----

Thank you.


More information about the Freeradius-Users mailing list