GithubHelp home page GithubHelp logo

freeradius / freeradius-server Goto Github PK

View Code? Open in Web Editor NEW
2.0K 127.0 1.0K 146.87 MB

FreeRADIUS - A multi-protocol policy server.

Home Page: http://freeradius.org

License: GNU General Public License v2.0

Makefile 1.78% Shell 1.26% PLSQL 0.05% PLpgSQL 0.20% Perl 1.40% C 92.35% Python 0.55% Ruby 0.01% SaltStack 0.04% M4 1.77% GDB 0.01% Lua 0.07% Roff 0.04% Dockerfile 0.06% TSQL 0.11% SCSS 0.27% C++ 0.02% SmPL 0.01%
radius dhcp c daemon posix otp eap dot1x aaa authentication

freeradius-server's People

Contributors

aaronhurt avatar alagoutte avatar alanbuxey avatar alandekok avatar armitasp avatar arr2036 avatar bmork avatar candlerb avatar dimitripapadopoulos avatar fajarnugraha avatar github-actions[bot] avatar herwinw avatar jejones3141 avatar jimdigriz avatar jpereira avatar jsynack avatar mans0954 avatar matsimon avatar mattrose avatar mcnewton avatar mkhon avatar nchaigne avatar ndptech avatar pmayers avatar pwdng avatar qnet-herwin avatar skids avatar spaetow avatar spbnick avatar terryburton avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

freeradius-server's Issues

"Usefull values" from documentation are hardcoded

I've opened this issue on user mailing list here. Thank you Alan for your answer, but I think by using Github we can come to the solution much faster.

Main issue is that "Useful values" that are given in documentation of freeradius proxy.conf file are mandatory and not "useful". Especially ones considering alive/zombie/dead times.

I was trying to set up server to have 1 second revive_interval but to my surprise it was always 60 secs. Then I checked the source code and in realms.c file I've found:

if (home->revive_interval < 60) home->revive_interval = 60;
if (home->revive_interval > 3600) home->revive_interval = 3600;

So the "Useful values" aren't really useful but mandatory values.

As Alan DeKok mentioned in his answer the main reason these checks are implemented is the stability of the server. But not all server environments are the same: in our case upstream FLR servers are marked as dead (and will be dead for 60 secs) even though they are really alive since they don't use status-check messages. Before you ask, we cannot enable status-checks on our FLR servers. So we need revive_interval set to lowest possible value on downstream proxies.

I would like to give an elegant solution to this issue. Would it be possible to implement a kind of super_admin boolean variable to proxy.conf file? If it was set to true it would disable checks for mandatory settings. So the above portion of code would look like:

if (super_admin == true) {
  /* Only check to make sure the timer isn't a negative value */
  if (home->revive_interval < 0) home->revive_interval = 60;
}
else {
  /* Use the current "useful values" */
  if (home->revive_interval < 60) home->revive_interval = 60;
  if (home->revive_interval > 3600) home->revive_interval = 3600;
}

Regards,

D. Šafar

rlm_ldap : server freeze when bind fails

I have the following problem when, for some reason, freeradius cannot establish a connection to the ldap server :

(150932) ldap :         escape: 'hesso-test' -> 'hesso-test'
(150932) ldap :         expand: '%{Stripped-User-Name}' -> 'hesso-test'
(150932) ldap :         expand: '(uid=%{%{Stripped-User-Name}:-%{User-Name}})' -> '(uid=hesso-test)'
(150932) ldap :         expand: 'ou=people,o=hes-so' -> 'ou=people,o=hes-so'
rlm_ldap (ldap): Reserved connection (1778)
(150932) ldap : Performing search in 'ou=people,o=hes-so' with filter '(uid=hesso-test)'
(150932) ldap : Search returned no results
(150932) ldap : User object not found
rlm_ldap (ldap): Released connection (1778)
rlm_ldap (ldap): Opening additional connection (1779)
rlm_ldap (ldap): Connecting to xxx.hes-so.ch:636
rlm_ldap (ldap): bind with cn=xxxx,ou=persons,o=xxto xx.hes-so.ch:636 failed
rlm_ldap (ldap): Opening connection failed (1779)

After that, it stay there, and do nothing, don't process any requests and stay there ...

FreeRADIUS Version 3.0.0 (git #c9650a5)

Postgresql SQL Stop Error

The FreeRADIUS server doesn't appear to be sending though a Zero in the AcctInputOctets section of the SQL commands any more. Prior to the most recent update, the command was sent to Postgresql thusly -:

AcctInputOctets = (('0'::bigint << 32)

Now it is is being sent through as -:

AcctInputOctets = ((''::bigint << 32)

The result being that Postgresql says we can no longer Update the record because of a syntax error updating a bigint field.

Any suggestion for a workaround?

Thanks,
James Collins

another FR3 bug

hi, another identified bug - this one is seen in a completely different part of the code:

Mon Dec 10 10:10:28 2012 : Info: (3927) peap : Setting default EAP type for tunneled EAP session.
Mon Dec 10 10:10:28 2012 : Info: (3927) peap : Got tunneled request
    EAP-Message = 0x02080009016a6f656a
server lboro {
Mon Dec 10 10:10:28 2012 : Info: (3927) peap : Setting User-Name to joej
Sending tunneled request
    EAP-Message = 0x02080009016a6f656a
    FreeRADIUS-Proxied-To = 127.0.0.1
    User-Name = "joej"
    Calling-Station-Id = "0c-77-1a-bc-5f-6c"
    Called-Station-Id = "00-21-55-c1-4d-40:eduroam"
    NAS-Port = 13
    NAS-IP-Address = 10.53.253.12
    NAS-Identifier = "wism-sport-park-2"
    Service-Type = Framed-User
    Framed-MTU = 1300
    NAS-Port-Type = Wireless-802.11
    Tunnel-Type:0 = VLAN
    Tunnel-Medium-Type:0 = IEEE-802
    Tunnel-Private-Group-Id:0 = "1112"
server inner-tunnel {
Mon Dec 10 10:10:28 2012 : Info: (3927) # Executing section authorize from file /etc/raddb/sites-enabled/inner-tunnel
Mon Dec 10 10:10:28 2012 : Info: (3927)   group authorize {
Mon Dec 10 10:10:28 2012 : Info: (3927)  - entering group authorize {...}
Mon Dec 10 10:10:28 2012 : Info: (3927)   [mschap] = noop
Mon Dec 10 10:10:28 2012 : Info: (3927) suffix : No '@' in User-Name = "joej", skipping NULL due to config.
Mon Dec 10 10:10:28 2012 : Info: (3927)   [suffix] = noop
Mon Dec 10 10:10:28 2012 : Info: (3927)   update control {
Mon Dec 10 10:10:28 2012 : Info: (3927)   } # update control = noop
Mon Dec 10 10:10:28 2012 : Info: (3927) eap : EAP packet type response id 8 length 9
Mon Dec 10 10:10:28 2012 : Info: (3927) eap : EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize
Mon Dec 10 10:10:28 2012 : Info: (3927)   [eap] = ok
Mon Dec 10 10:10:28 2012 : Info: (3927) Found Auth-Type = EAP
Mon Dec 10 10:10:28 2012 : Info: (3927) # Executing group from file /etc/raddb/sites-enabled/inner-tunnel
Mon Dec 10 10:10:28 2012 : Info: (3927)   group authenticate {
Mon Dec 10 10:10:28 2012 : Info: (3927)  - entering group authenticate {...}
Mon Dec 10 10:10:28 2012 : Info: (3927) eap : EAP Identity
Mon Dec 10 10:10:28 2012 : Info: (3927) eap : processing type mschapv2
Mon Dec 10 10:10:28 2012 : Debug: rlm_eap_mschapv2: Issuing Challenge
Mon Dec 10 10:10:28 2012 : Info: (3927) eap : New EAP session, adding 'State' attribute to reply 0xf8ae8d84f8a7970f
Mon Dec 10 10:10:28 2012 : Info: (3927)   [eap] = handled
} # server inner-tunnel
Mon Dec 10 10:10:28 2012 : Info: (3927) peap : Got tunneled reply code 11
    EAP-Message = 0x0109001e1a0109001910167763e2f118a5b32d56aa476cffca456a6f656a
    Message-Authenticator = 0x00000000000000000000000000000000
    State = 0xf8ae8d84f8a7970f8cbe2eae445c7780
Mon Dec 10 10:10:28 2012 : Info: (3927) peap : Got tunneled reply RADIUS code 11
    EAP-Message = 0x0109001e1a0109001910167763e2f118a5b32d56aa476cffca456a6f656a
    Message-Authenticator = 0x00000000000000000000000000000000
    State = 0xf8ae8d84f8a7970f8cbe2eae445c7780
Mon Dec 10 10:10:28 2012 : Info: (3927) peap : Got tunneled Access-Challenge
  PEAP tunnel data out 0000: 1a 01 09 00 19 10 16 77 63 e2 f1 18 a5 b3 2d 56 
  PEAP tunnel data out 0010: aa 47 6c ff ca 45 6a 6f 65 6a 
Mon Dec 10 10:10:28 2012 : Info: (3927) eap : New EAP session, adding 'State' attribute to reply 0xc0cd9e92c7c4876c
Mon Dec 10 10:10:28 2012 : Info: (3927)   [eap] = handled
Sending Access-Challenge of id 8 from 0.0.0.0 port 1812 to 10.53.253.12 port 32769
    EAP-Message = 0x0109003b19001703010030b1f19d6e488d27213c92b515c58d1fcb16e9446ff13a6d8c3ac6ff5b0a9418b28295eb90d7ea9d7cdfbcbc3c4f9ec4b5
    Message-Authenticator = 0x00000000000000000000000000000000
    State = 0xc0cd9e92c7c4876c191eb87efe0a5205
Mon Dec 10 10:10:28 2012 : Info: (3927) Finished request 3927.
Mon Dec 10 10:10:28 2012 : Debug: Thread 35 waiting to be assigned a request

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7bc5f5f in fr_packet_cmp (a=0xe65f420, b=0x1) at src/lib/packet.c:45
45      rcode = a->id - b->id;
(gdb) 


GDB as follows:


# cat gdb-latest.txt 
Starting program: /usr/sbin/radiusd -fxxx -l stdout
[Thread debugging using libthread_db enabled]

[New Thread 0x7fffe86e5700 (LWP 8494)]
[New Thread 0x7fffe7ce4700 (LWP 8495)]
[New Thread 0x7fffe72e3700 (LWP 8496)]
[New Thread 0x7fffe68e2700 (LWP 8497)]
[New Thread 0x7fffe5ee1700 (LWP 8498)]
[New Thread 0x7fffe54e0700 (LWP 8499)]
[New Thread 0x7fffe4adf700 (LWP 8500)]
[New Thread 0x7fffe40de700 (LWP 8501)]
[New Thread 0x7fffe36dd700 (LWP 8502)]
[New Thread 0x7fffe2cdc700 (LWP 8503)]
[New Thread 0x7fffe22db700 (LWP 8504)]
[New Thread 0x7fffe18da700 (LWP 8505)]
[New Thread 0x7fffe0ed9700 (LWP 8506)]
[New Thread 0x7fffe04d8700 (LWP 8507)]
[New Thread 0x7fffdfad7700 (LWP 8508)]
[New Thread 0x7fffdf0d6700 (LWP 8509)]
[New Thread 0x7fffde6d5700 (LWP 8510)]
[New Thread 0x7fffddcd4700 (LWP 8511)]
[New Thread 0x7fffdd2d3700 (LWP 8512)]
[New Thread 0x7fffdc8d2700 (LWP 8513)]
[New Thread 0x7fffdbed1700 (LWP 8514)]
[New Thread 0x7fffdb4d0700 (LWP 8515)]
[New Thread 0x7fffdaacf700 (LWP 8516)]
[New Thread 0x7fffda0ce700 (LWP 8517)]
[New Thread 0x7fffd96cd700 (LWP 8518)]
[New Thread 0x7fffd8ccc700 (LWP 8519)]
[New Thread 0x7fffd82cb700 (LWP 8520)]
[New Thread 0x7fffd78ca700 (LWP 8521)]
[New Thread 0x7fffd6ec9700 (LWP 8522)]
[New Thread 0x7fffd64c8700 (LWP 8523)]
[New Thread 0x7fffd5ac7700 (LWP 8524)]
[New Thread 0x7fffd50c6700 (LWP 8525)]
[New Thread 0x7fffd46c5700 (LWP 8526)]
[New Thread 0x7fffd3cc4700 (LWP 8527)]
[New Thread 0x7fffd32c3700 (LWP 8528)]
[New Thread 0x7fffd28c2700 (LWP 8529)]
[New Thread 0x7fffd1ec1700 (LWP 8530)]
[New Thread 0x7fffd14c0700 (LWP 8531)]
[New Thread 0x7fffd0abf700 (LWP 8532)]
[New Thread 0x7fffd00be700 (LWP 8533)]
[New Thread 0x7fffcf6bd700 (LWP 8534)]
[New Thread 0x7fffcecbc700 (LWP 8535)]
[New Thread 0x7fffce2bb700 (LWP 8536)]
[New Thread 0x7fffcd8ba700 (LWP 8537)]
[New Thread 0x7fffcceb9700 (LWP 8538)]
[New Thread 0x7fffcc4b8700 (LWP 8539)]
[New Thread 0x7fffcbab7700 (LWP 8540)]
[New Thread 0x7fffcb0b6700 (LWP 8541)]
[New Thread 0x7fffca6b5700 (LWP 8542)]
[New Thread 0x7fffc9cb4700 (LWP 8543)]
[New Thread 0x7fffc92b3700 (LWP 8544)]
[New Thread 0x7fffc88b2700 (LWP 8545)]
[New Thread 0x7fffc7eb1700 (LWP 8546)]
[New Thread 0x7fffc74b0700 (LWP 8547)]
[New Thread 0x7fffc6aaf700 (LWP 8548)]
[New Thread 0x7fffc60ae700 (LWP 8549)]
[New Thread 0x7fffc56ad700 (LWP 8550)]
[New Thread 0x7fffc4cac700 (LWP 8551)]
[New Thread 0x7fffc42ab700 (LWP 8552)]
[New Thread 0x7fffc38aa700 (LWP 8553)]
[New Thread 0x7fffc2ea9700 (LWP 8554)]
[New Thread 0x7fffc24a8700 (LWP 8555)]
[New Thread 0x7fffc1aa7700 (LWP 8556)]
[New Thread 0x7fffc10a6700 (LWP 8557)]
Detaching after fork from child process 8558.
Detaching after fork from child process 8560.
Detaching after fork from child process 8562.
Detaching after fork from child process 8564.
Detaching after fork from child process 8566.
Detaching after fork from child process 8568.
Detaching after fork from child process 8569.
Detaching after fork from child process 8572.
Detaching after fork from child process 8574.
Detaching after fork from child process 8576.
Detaching after fork from child process 8578.
Detaching after fork from child process 8580.
Detaching after fork from child process 8582.
Detaching after fork from child process 8583.
Detaching after fork from child process 8585.
Detaching after fork from child process 8588.
Detaching after fork from child process 8591.
Detaching after fork from child process 8593.
Detaching after fork from child process 8595.
Detaching after fork from child process 8597.
Detaching after fork from child process 8599.
Detaching after fork from child process 8601.
Detaching after fork from child process 8603.
Detaching after fork from child process 8605.
Detaching after fork from child process 8606.
Detaching after fork from child process 8608.
Detaching after fork from child process 8611.
Detaching after fork from child process 8613.
Detaching after fork from child process 8615.
Detaching after fork from child process 8617.
Detaching after fork from child process 8618.
Detaching after fork from child process 8621.
Detaching after fork from child process 8623.
Detaching after fork from child process 8624.
Detaching after fork from child process 8626.
Detaching after fork from child process 8627.
Detaching after fork from child process 8631.
Detaching after fork from child process 8633.
Detaching after fork from child process 8634.
Detaching after fork from child process 8636.
Detaching after fork from child process 8638.
Detaching after fork from child process 8639.
Detaching after fork from child process 8642.
Detaching after fork from child process 8643.
Detaching after fork from child process 8646.
Detaching after fork from child process 8648.
Detaching after fork from child process 8650.
Detaching after fork from child process 8652.
Detaching after fork from child process 8654.
Detaching after fork from child process 8656.
Detaching after fork from child process 8658.
Detaching after fork from child process 8660.
Detaching after fork from child process 8662.
Detaching after fork from child process 8664.
Detaching after fork from child process 8666.
Detaching after fork from child process 8667.
Detaching after fork from child process 8670.
Detaching after fork from child process 8671.
Detaching after fork from child process 8674.
Detaching after fork from child process 8675.
Detaching after fork from child process 8678.
Detaching after fork from child process 8680.
Detaching after fork from child process 8682.
Detaching after fork from child process 8683.
Detaching after fork from child process 8686.
Detaching after fork from child process 8688.
Detaching after fork from child process 8690.
Detaching after fork from child process 8692.
Detaching after fork from child process 8694.
Detaching after fork from child process 8696.
Detaching after fork from child process 8698.
Detaching after fork from child process 8699.
Detaching after fork from child process 8703.
Detaching after fork from child process 8705.
Detaching after fork from child process 8707.
Detaching after fork from child process 8709.
Detaching after fork from child process 8711.
Detaching after fork from child process 8712.
Detaching after fork from child process 8715.
Detaching after fork from child process 8717.
Detaching after fork from child process 8718.
Detaching after fork from child process 8725.
Detaching after fork from child process 8727.
Detaching after fork from child process 8729.
Detaching after fork from child process 8731.
Detaching after fork from child process 8735.
Detaching after fork from child process 8738.
Detaching after fork from child process 8739.
Detaching after fork from child process 8743.
Detaching after fork from child process 8745.
Detaching after fork from child process 8747.
Detaching after fork from child process 8749.
Detaching after fork from child process 8751.
Detaching after fork from child process 8753.
Detaching after fork from child process 8754.
Detaching after fork from child process 8757.
Detaching after fork from child process 8759.
Detaching after fork from child process 8761.
Detaching after fork from child process 8763.
Detaching after fork from child process 8765.
Detaching after fork from child process 8769.
Detaching after fork from child process 8771.
Detaching after fork from child process 8773.
Detaching after fork from child process 8775.
Detaching after fork from child process 8777.
Detaching after fork from child process 8779.
Detaching after fork from child process 8781.
Detaching after fork from child process 8783.
Detaching after fork from child process 8786.
Detaching after fork from child process 8789.
Detaching after fork from child process 8791.
Detaching after fork from child process 8793.
Detaching after fork from child process 8795.
Detaching after fork from child process 8797.
Detaching after fork from child process 8799.
Detaching after fork from child process 8801.
Detaching after fork from child process 8803.
Detaching after fork from child process 8806.
Detaching after fork from child process 8808.
Detaching after fork from child process 8810.
Detaching after fork from child process 8812.
Detaching after fork from child process 8814.
Detaching after fork from child process 8816.
Detaching after fork from child process 8818.
Detaching after fork from child process 8820.
Detaching after fork from child process 8822.
Detaching after fork from child process 8824.
Detaching after fork from child process 8827.
Detaching after fork from child process 8830.
Detaching after fork from child process 8833.
Detaching after fork from child process 8836.
Detaching after fork from child process 8837.
Detaching after fork from child process 8840.
Detaching after fork from child process 8841.
Detaching after fork from child process 8844.
Detaching after fork from child process 8846.
Detaching after fork from child process 8848.
Detaching after fork from child process 8849.
Detaching after fork from child process 8852.
Detaching after fork from child process 8854.
Detaching after fork from child process 8857.
Detaching after fork from child process 8861.
Detaching after fork from child process 8863.
Detaching after fork from child process 8865.
Detaching after fork from child process 8867.
Detaching after fork from child process 8869.
Detaching after fork from child process 8871.
Detaching after fork from child process 8873.
Detaching after fork from child process 8875.
Detaching after fork from child process 8877.
Detaching after fork from child process 8879.
Detaching after fork from child process 8881.
Detaching after fork from child process 8883.
Detaching after fork from child process 8885.
Detaching after fork from child process 8886.
Detaching after fork from child process 8889.
Detaching after fork from child process 8890.
Detaching after fork from child process 8895.
Detaching after fork from child process 8896.
Detaching after fork from child process 8899.
Detaching after fork from child process 8901.
Detaching after fork from child process 8903.
Detaching after fork from child process 8905.
Detaching after fork from child process 8908.
Detaching after fork from child process 8910.
Detaching after fork from child process 8912.
Detaching after fork from child process 8913.
Detaching after fork from child process 8914.
Detaching after fork from child process 8918.
Detaching after fork from child process 8919.
Detaching after fork from child process 8924.
Detaching after fork from child process 8925.
Detaching after fork from child process 8928.
Detaching after fork from child process 8930.
Detaching after fork from child process 8932.
Detaching after fork from child process 8934.
Detaching after fork from child process 8936.
Detaching after fork from child process 8938.
Detaching after fork from child process 8940.
Detaching after fork from child process 8941.
Detaching after fork from child process 8944.
Detaching after fork from child process 8946.
Detaching after fork from child process 8950.
Detaching after fork from child process 8952.
Detaching after fork from child process 8954.
Detaching after fork from child process 8956.
Detaching after fork from child process 8958.
Detaching after fork from child process 8960.
Detaching after fork from child process 8961.
Detaching after fork from child process 8964.
Detaching after fork from child process 8966.
Detaching after fork from child process 8968.
Detaching after fork from child process 8970.
Detaching after fork from child process 8972.
Detaching after fork from child process 8976.
Detaching after fork from child process 8977.
Detaching after fork from child process 8980.
Detaching after fork from child process 8984.
Detaching after fork from child process 9390.
Detaching after fork from child process 9418.
Detaching after fork from child process 9471.
Detaching after fork from child process 9565.
Detaching after fork from child process 9663.
Detaching after fork from child process 9686.
Detaching after fork from child process 9701.
Detaching after fork from child process 9703.
Detaching after fork from child process 9704.
Detaching after fork from child process 9706.
Detaching after fork from child process 9707.
Detaching after fork from child process 9709.
Detaching after fork from child process 9712.
Detaching after fork from child process 9713.
Detaching after fork from child process 9716.
Detaching after fork from child process 9718.
Detaching after fork from child process 9722.
Detaching after fork from child process 9723.
Detaching after fork from child process 9726.
Detaching after fork from child process 9728.
Detaching after fork from child process 9730.
Detaching after fork from child process 9732.
Detaching after fork from child process 9734.
Detaching after fork from child process 9736.
Detaching after fork from child process 9740.
Detaching after fork from child process 9742.

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7bc5f5f in fr_packet_cmp (a=0xe65f420, b=0x1) at src/lib/packet.c:45
45      rcode = a->id - b->id;
  65 Thread 0x7fffc10a6700 (LWP 8557)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  64 Thread 0x7fffc1aa7700 (LWP 8556)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  63 Thread 0x7fffc24a8700 (LWP 8555)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  62 Thread 0x7fffc2ea9700 (LWP 8554)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  61 Thread 0x7fffc38aa700 (LWP 8553)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  60 Thread 0x7fffc42ab700 (LWP 8552)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  59 Thread 0x7fffc4cac700 (LWP 8551)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  58 Thread 0x7fffc56ad700 (LWP 8550)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  57 Thread 0x7fffc60ae700 (LWP 8549)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  56 Thread 0x7fffc6aaf700 (LWP 8548)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  55 Thread 0x7fffc74b0700 (LWP 8547)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  54 Thread 0x7fffc7eb1700 (LWP 8546)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  53 Thread 0x7fffc88b2700 (LWP 8545)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  52 Thread 0x7fffc92b3700 (LWP 8544)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  51 Thread 0x7fffc9cb4700 (LWP 8543)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  50 Thread 0x7fffca6b5700 (LWP 8542)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  49 Thread 0x7fffcb0b6700 (LWP 8541)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  48 Thread 0x7fffcbab7700 (LWP 8540)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  47 Thread 0x7fffcc4b8700 (LWP 8539)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  46 Thread 0x7fffcceb9700 (LWP 8538)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  45 Thread 0x7fffcd8ba700 (LWP 8537)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  44 Thread 0x7fffce2bb700 (LWP 8536)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  43 Thread 0x7fffcecbc700 (LWP 8535)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  42 Thread 0x7fffcf6bd700 (LWP 8534)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  41 Thread 0x7fffd00be700 (LWP 8533)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  40 Thread 0x7fffd0abf700 (LWP 8532)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  39 Thread 0x7fffd14c0700 (LWP 8531)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  38 Thread 0x7fffd1ec1700 (LWP 8530)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  37 Thread 0x7fffd28c2700 (LWP 8529)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  36 Thread 0x7fffd32c3700 (LWP 8528)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  35 Thread 0x7fffd3cc4700 (LWP 8527)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  34 Thread 0x7fffd46c5700 (LWP 8526)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  33 Thread 0x7fffd50c6700 (LWP 8525)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  32 Thread 0x7fffd5ac7700 (LWP 8524)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  31 Thread 0x7fffd64c8700 (LWP 8523)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  30 Thread 0x7fffd6ec9700 (LWP 8522)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  29 Thread 0x7fffd78ca700 (LWP 8521)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  28 Thread 0x7fffd82cb700 (LWP 8520)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  27 Thread 0x7fffd8ccc700 (LWP 8519)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  26 Thread 0x7fffd96cd700 (LWP 8518)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  25 Thread 0x7fffda0ce700 (LWP 8517)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  24 Thread 0x7fffdaacf700 (LWP 8516)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  23 Thread 0x7fffdb4d0700 (LWP 8515)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  22 Thread 0x7fffdbed1700 (LWP 8514)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  21 Thread 0x7fffdc8d2700 (LWP 8513)  0x00007ffff66333bd in nanosleep () at ../sysdeps/unix/syscall-template.S:82
  20 Thread 0x7fffdd2d3700 (LWP 8512)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  19 Thread 0x7fffddcd4700 (LWP 8511)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  18 Thread 0x7fffde6d5700 (LWP 8510)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  17 Thread 0x7fffdf0d6700 (LWP 8509)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  16 Thread 0x7fffdfad7700 (LWP 8508)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  15 Thread 0x7fffe04d8700 (LWP 8507)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  14 Thread 0x7fffe0ed9700 (LWP 8506)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  13 Thread 0x7fffe18da700 (LWP 8505)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  12 Thread 0x7fffe22db700 (LWP 8504)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  11 Thread 0x7fffe2cdc700 (LWP 8503)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  10 Thread 0x7fffe36dd700 (LWP 8502)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  9 Thread 0x7fffe40de700 (LWP 8501)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  8 Thread 0x7fffe4adf700 (LWP 8500)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  7 Thread 0x7fffe54e0700 (LWP 8499)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  6 Thread 0x7fffe5ee1700 (LWP 8498)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  5 Thread 0x7fffe68e2700 (LWP 8497)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  4 Thread 0x7fffe72e3700 (LWP 8496)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  3 Thread 0x7fffe7ce4700 (LWP 8495)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  2 Thread 0x7fffe86e5700 (LWP 8494)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
* 1 Thread 0x7ffff7fea7c0 (LWP 8471)  0x00007ffff7bc5f5f in fr_packet_cmp (a=0xe65f420, b=0x1) at src/lib/packet.c:45

Thread 65 (Thread 0x7fffc10a6700 (LWP 8557)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4374170) at src/main/threads.c:567
        self = 0x4374170
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc10a6700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc10a6700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736432072448, -5280741160932673883, 140737338765824, 140736432073152, 0, 3, 5280624427003999909, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 64 (Thread 0x7fffc1aa7700 (LWP 8556)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4373fe0) at src/main/threads.c:567
        self = 0x4373fe0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc1aa7700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc1aa7700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736442562304, -5280741160932673883, 140737338765824, 140736442563008, 0, 3, 5280623053151336101, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 63 (Thread 0x7fffc24a8700 (LWP 8555)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4373e50) at src/main/threads.c:567
        self = 0x4373e50
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc24a8700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc24a8700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736453052160, -5280741160932673883, 140737338765824, 140736453052864, 0, 3, 5280626077345183397, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 62 (Thread 0x7fffc2ea9700 (LWP 8554)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4373cc0) at src/main/threads.c:567
        self = 0x4373cc0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc2ea9700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc2ea9700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736463542016, -5280741160932673883, 140737338765824, 140736463542720, 0, 3, 5280624707787486885, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 61 (Thread 0x7fffc38aa700 (LWP 8553)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4373b30) at src/main/threads.c:567
        self = 0x4373b30
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc38aa700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc38aa700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736474031872, -5280741160932673883, 140737338765824, 140736474032576, 0, 3, 5280627731981334181, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 60 (Thread 0x7fffc42ab700 (LWP 8552)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x43739a0) at src/main/threads.c:567
        self = 0x43739a0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc42ab700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc42ab700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736484521728, -5280741160932673883, 140737338765824, 140736484522432, 0, 3, 5280613163989137061, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 59 (Thread 0x7fffc4cac700 (LWP 8551)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4373810) at src/main/threads.c:567
        self = 0x4373810
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc4cac700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc4cac700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736495011584, -5280741160932673883, 140737338765824, 140736495012288, 0, 3, 5280611790136473253, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 58 (Thread 0x7fffc56ad700 (LWP 8550)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4373680) at src/main/threads.c:567
        self = 0x4373680
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc56ad700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc56ad700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736505501440, -5280741160932673883, 140737338765824, 140736505502144, 0, 3, 5280614810035353253, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 57 (Thread 0x7fffc60ae700 (LWP 8549)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x43734f0) at src/main/threads.c:567
        self = 0x43734f0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc60ae700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc60ae700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736515991296, -5280741160932673883, 140737338765824, 140736515992000, 0, 3, 5280617834229200549, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 56 (Thread 0x7fffc6aaf700 (LWP 8548)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4373360) at src/main/threads.c:567
        self = 0x4373360
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc6aaf700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc6aaf700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736526481152, -5280741160932673883, 140737338765824, 140736526481856, 0, 3, 5280616460376536741, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 55 (Thread 0x7fffc74b0700 (LWP 8547)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x43731d0) at src/main/threads.c:567
        self = 0x43731d0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc74b0700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc74b0700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736536971008, -5280741160932673883, 140737338765824, 140736536971712, 0, 3, 5280619484570384037, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 54 (Thread 0x7fffc7eb1700 (LWP 8546)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4373040) at src/main/threads.c:567
        self = 0x4373040
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc7eb1700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc7eb1700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736547460864, -5280741160932673883, 140737338765824, 140736547461568, 0, 3, 5280618115012687525, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 53 (Thread 0x7fffc88b2700 (LWP 8545)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4372eb0) at src/main/threads.c:567
        self = 0x4372eb0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc88b2700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc88b2700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736557950720, -5280741160932673883, 140737338765824, 140736557951424, 0, 3, 5280638731392579237, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 52 (Thread 0x7fffc92b3700 (LWP 8544)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4372d20) at src/main/threads.c:567
        self = 0x4372d20
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc92b3700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc92b3700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736568440576, -5280741160932673883, 140737338765824, 140736568441280, 0, 3, 5280641755586426533, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 51 (Thread 0x7fffc9cb4700 (LWP 8543)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4372b90) at src/main/threads.c:567
        self = 0x4372b90
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc9cb4700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc9cb4700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736578930432, -5280741160932673883, 140737338765824, 140736578931136, 0, 3, 5280640381733762725, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 50 (Thread 0x7fffca6b5700 (LWP 8542)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4372a00) at src/main/threads.c:567
        self = 0x4372a00
#2  0x00007ffff714d851 in start_thread (arg=0x7fffca6b5700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffca6b5700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736589420288, -5280741160932673883, 140737338765824, 140736589420992, 0, 3, 5280643401632642725, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 49 (Thread 0x7fffcb0b6700 (LWP 8541)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4372870) at src/main/threads.c:567
        self = 0x4372870
#2  0x00007ffff714d851 in start_thread (arg=0x7fffcb0b6700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffcb0b6700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736599910144, -5280741160932673883, 140737338765824, 140736599910848, 0, 3, 5280646425826490021, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 48 (Thread 0x7fffcbab7700 (LWP 8540)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x43726e0) at src/main/threads.c:567
        self = 0x43726e0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffcbab7700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffcbab7700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736610400000, -5280741160932673883, 140737338765824, 140736610400704, 0, 3, 5280645051973826213, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 47 (Thread 0x7fffcc4b8700 (LWP 8539)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4372550) at src/main/threads.c:567
        self = 0x4372550
#2  0x00007ffff714d851 in start_thread (arg=0x7fffcc4b8700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffcc4b8700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736620889856, -5280741160932673883, 140737338765824, 140736620890560, 0, 3, 5280630483981629093, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 46 (Thread 0x7fffcceb9700 (LWP 8538)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x43723c0) at src/main/threads.c:567
        self = 0x43723c0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffcceb9700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffcceb9700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736631379712, -5280741160932673883, 140737338765824, 140736631380416, 0, 3, 5280629114423932581, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 45 (Thread 0x7fffcd8ba700 (LWP 8537)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4372230) at src/main/threads.c:567
        self = 0x4372230
#2  0x00007ffff714d851 in start_thread (arg=0x7fffcd8ba700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffcd8ba700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736641869568, -5280741160932673883, 140737338765824, 140736641870272, 0, 3, 5280632138617779877, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 44 (Thread 0x7fffce2bb700 (LWP 8536)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x43720a0) at src/main/threads.c:567
        self = 0x43720a0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffce2bb700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffce2bb700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736652359424, -5280741160932673883, 140737338765824, 140736652360128, 0, 3, 5280635162811627173, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 43 (Thread 0x7fffcecbc700 (LWP 8535)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4371f10) at src/main/threads.c:567
        self = 0x4371f10
#2  0x00007ffff714d851 in start_thread (arg=0x7fffcecbc700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffcecbc700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736662849280, -5280741160932673883, 140737338765824, 140736662849984, 0, 3, 5280633788958963365, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 42 (Thread 0x7fffcf6bd700 (LWP 8534)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4371d80) at src/main/threads.c:567
        self = 0x4371d80
#2  0x00007ffff714d851 in start_thread (arg=0x7fffcf6bd700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffcf6bd700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736673339136, -5280741160932673883, 140737338765824, 140736673339840, 0, 3, 5280636808857843365, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 41 (Thread 0x7fffd00be700 (LWP 8533)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4371bf0) at src/main/threads.c:567
        self = 0x4371bf0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd00be700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd00be700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736683828992, -5280741160932673883, 140737338765824, 140736683829696, 0, 3, 5280657425237735077, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 40 (Thread 0x7fffd0abf700 (LWP 8532)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4371a60) at src/main/threads.c:567
        self = 0x4371a60
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd0abf700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd0abf700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736694318848, -5280741160932673883, 140737338765824, 140736694319552, 0, 3, 5280656051385071269, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 39 (Thread 0x7fffd14c0700 (LWP 8531)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x43718d0) at src/main/threads.c:567
        self = 0x43718d0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd14c0700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd14c0700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736704808704, -5280741160932673883, 140737338765824, 140736704809408, 0, 3, 5280659075578918565, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 38 (Thread 0x7fffd1ec1700 (LWP 8530)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4371740) at src/main/threads.c:567
        self = 0x4371740
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd1ec1700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd1ec1700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736715298560, -5280741160932673883, 140737338765824, 140736715299264, 0, 3, 5280657740380960421, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 37 (Thread 0x7fffd28c2700 (LWP 8529)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x43715b0) at src/main/threads.c:567
        self = 0x43715b0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd28c2700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd28c2700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736725788416, -5280741160932673883, 140737338765824, 140736725789120, 0, 3, 5280660764574807717, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 36 (Thread 0x7fffd32c3700 (LWP 8528)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4371420) at src/main/threads.c:567
        self = 0x4371420
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd32c3700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd32c3700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736736278272, -5280741160932673883, 140737338765824, 140736736278976, 0, 3, 5280663788768655013, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 35 (Thread 0x7fffd3cc4700 (LWP 8527)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4371290) at src/main/threads.c:567
        self = 0x4371290
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd3cc4700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd3cc4700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736746768128, -5280741160932673883, 140737338765824, 140736746768832, 0, 3, 5280662414915991205, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 34 (Thread 0x7fffd46c5700 (LWP 8526)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4371100) at src/main/threads.c:567
        self = 0x4371100
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd46c5700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd46c5700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736757257984, -5280741160932673883, 140737338765824, 140736757258688, 0, 3, 5280647842628826789, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 33 (Thread 0x7fffd50c6700 (LWP 8525)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4370f70) at src/main/threads.c:567
        self = 0x4370f70
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd50c6700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd50c6700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736767747840, -5280741160932673883, 140737338765824, 140736767748544, 0, 3, 5280650866822674085, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 32 (Thread 0x7fffd5ac7700 (LWP 8524)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4370de0) at src/main/threads.c:567
        self = 0x4370de0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd5ac7700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd5ac7700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736778237696, -5280741160932673883, 140737338765824, 140736778238400, 0, 3, 5280649492970010277, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 31 (Thread 0x7fffd64c8700 (LWP 8523)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4370c50) at src/main/threads.c:567
        self = 0x4370c50
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd64c8700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd64c8700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736788727552, -5280741160932673883, 140737338765824, 140736788728256, 0, 3, 5280652517163857573, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 30 (Thread 0x7fffd6ec9700 (LWP 8522)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4370ac0) at src/main/threads.c:567
        self = 0x4370ac0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd6ec9700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd6ec9700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736799217408, -5280741160932673883, 140737338765824, 140736799218112, 0, 3, 5280651147606161061, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 29 (Thread 0x7fffd78ca700 (LWP 8521)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4370930) at src/main/threads.c:567
        self = 0x4370930
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd78ca700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd78ca700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736809707264, -5280741160932673883, 140737338765824, 140736809707968, 0, 3, 5280654171800008357, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 28 (Thread 0x7fffd82cb700 (LWP 8520)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x43707a0) at src/main/threads.c:567
        self = 0x43707a0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd82cb700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd82cb700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736820197120, -5280741160932673883, 140737338765824, 140736820197824, 0, 3, 5280674788179900069, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 27 (Thread 0x7fffd8ccc700 (LWP 8519)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4370610) at src/main/threads.c:567
        self = 0x4370610
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd8ccc700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd8ccc700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736830686976, -5280741160932673883, 140737338765824, 140736830687680, 0, 3, 5280673414327236261, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 26 (Thread 0x7fffd96cd700 (LWP 8518)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4370480) at src/main/threads.c:567
        self = 0x4370480
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd96cd700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd96cd700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736841176832, -5280741160932673883, 140737338765824, 140736841177536, 0, 3, 5280676434226116261, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 25 (Thread 0x7fffda0ce700 (LWP 8517)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x43702f0) at src/main/threads.c:567
        self = 0x43702f0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffda0ce700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffda0ce700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736851666688, -5280741160932673883, 140737338765824, 140736851667392, 0, 3, 5280679458419963557, 5280725431683839653}, mask_was_saved = 0}}, 
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltyp

segmentation fault in FR3 HEAD/MASTER

segmentation fault during handling of proxy packet

we are using 'TLS' RADSEC proxying and also using IPv6.

$ cat gdb-head-latest.txt 
Starting program: /usr/sbin/radiusd -fxx -l stdout
[Thread debugging using libthread_db enabled]
[New Thread 0x7fffe86e5700 (LWP 8082)]
[New Thread 0x7fffe7ce4700 (LWP 8083)]
[New Thread 0x7fffe72e3700 (LWP 8084)]
[New Thread 0x7fffe68e2700 (LWP 8085)]
[New Thread 0x7fffe5ee1700 (LWP 8086)]
[New Thread 0x7fffe54e0700 (LWP 8087)]
[New Thread 0x7fffe4adf700 (LWP 8088)]
[New Thread 0x7fffe40de700 (LWP 8089)]
[New Thread 0x7fffe36dd700 (LWP 8090)]
[New Thread 0x7fffe2cdc700 (LWP 8091)]
[New Thread 0x7fffe22db700 (LWP 8092)]
[New Thread 0x7fffe18da700 (LWP 8093)]
[New Thread 0x7fffe0ed9700 (LWP 8094)]
[New Thread 0x7fffe04d8700 (LWP 8095)]
[New Thread 0x7fffdfad7700 (LWP 8096)]
[New Thread 0x7fffdf0d6700 (LWP 8097)]
[New Thread 0x7fffde6d5700 (LWP 8098)]
[New Thread 0x7fffddcd4700 (LWP 8099)]
[New Thread 0x7fffdd2d3700 (LWP 8100)]
[New Thread 0x7fffdc8d2700 (LWP 8101)]
[New Thread 0x7fffdbed1700 (LWP 8102)]
[New Thread 0x7fffdb4d0700 (LWP 8103)]
[New Thread 0x7fffdaacf700 (LWP 8104)]
[New Thread 0x7fffda0ce700 (LWP 8105)]
[New Thread 0x7fffd96cd700 (LWP 8106)]
[New Thread 0x7fffd8ccc700 (LWP 8107)]
[New Thread 0x7fffd82cb700 (LWP 8108)]
[New Thread 0x7fffd78ca700 (LWP 8109)]
[New Thread 0x7fffd6ec9700 (LWP 8110)]
[New Thread 0x7fffd64c8700 (LWP 8111)]
[New Thread 0x7fffd5ac7700 (LWP 8112)]
[New Thread 0x7fffd50c6700 (LWP 8113)]
[New Thread 0x7fffd46c5700 (LWP 8114)]
[New Thread 0x7fffd3cc4700 (LWP 8115)]
[New Thread 0x7fffd32c3700 (LWP 8116)]
[New Thread 0x7fffd28c2700 (LWP 8117)]
[New Thread 0x7fffd1ec1700 (LWP 8118)]
[New Thread 0x7fffd14c0700 (LWP 8119)]
[New Thread 0x7fffd0abf700 (LWP 8120)]
[New Thread 0x7fffd00be700 (LWP 8121)]
[New Thread 0x7fffcf6bd700 (LWP 8122)]
[New Thread 0x7fffcecbc700 (LWP 8123)]
[New Thread 0x7fffce2bb700 (LWP 8124)]
[New Thread 0x7fffcd8ba700 (LWP 8125)]
[New Thread 0x7fffcceb9700 (LWP 8126)]
[New Thread 0x7fffcc4b8700 (LWP 8127)]
[New Thread 0x7fffcbab7700 (LWP 8128)]
[New Thread 0x7fffcb0b6700 (LWP 8129)]
[New Thread 0x7fffca6b5700 (LWP 8130)]
[New Thread 0x7fffc9cb4700 (LWP 8131)]
[New Thread 0x7fffc92b3700 (LWP 8132)]
[New Thread 0x7fffc88b2700 (LWP 8133)]
[New Thread 0x7fffc7eb1700 (LWP 8134)]
[New Thread 0x7fffc74b0700 (LWP 8135)]
[New Thread 0x7fffc6aaf700 (LWP 8136)]
[New Thread 0x7fffc60ae700 (LWP 8137)]
[New Thread 0x7fffc56ad700 (LWP 8138)]
[New Thread 0x7fffc4cac700 (LWP 8139)]
[New Thread 0x7fffc42ab700 (LWP 8140)]
[New Thread 0x7fffc38aa700 (LWP 8141)]
[New Thread 0x7fffc2ea9700 (LWP 8142)]
[New Thread 0x7fffc24a8700 (LWP 8143)]
[New Thread 0x7fffc1aa7700 (LWP 8144)]
[New Thread 0x7fffc10a6700 (LWP 8145)]
Detaching after fork from child process 8146.
Detaching after fork from child process 8148.
Detaching after fork from child process 8150.
Detaching after fork from child process 8152.
Detaching after fork from child process 8154.
Detaching after fork from child process 8156.
Detaching after fork from child process 8158.
Detaching after fork from child process 8160.
Detaching after fork from child process 8161.
Detaching after fork from child process 8162.
Detaching after fork from child process 8166.
Detaching after fork from child process 8168.
Detaching after fork from child process 8169.
Detaching after fork from child process 8170.
Detaching after fork from child process 8174.
Detaching after fork from child process 8175.
Detaching after fork from child process 8178.
Detaching after fork from child process 8180.
Detaching after fork from child process 8182.
Detaching after fork from child process 8184.
Detaching after fork from child process 8186.
Detaching after fork from child process 8187.
Detaching after fork from child process 8188.
Detaching after fork from child process 8190.
Detaching after fork from child process 8194.
Detaching after fork from child process 8195.
Detaching after fork from child process 8198.
Detaching after fork from child process 8199.
Detaching after fork from child process 8201.
Detaching after fork from child process 8203.
Detaching after fork from child process 8205.
Detaching after fork from child process 8207.
Detaching after fork from child process 8209.
Detaching after fork from child process 8210.
Detaching after fork from child process 8213.
Detaching after fork from child process 8215.
Detaching after fork from child process 8217.
Detaching after fork from child process 8219.
Detaching after fork from child process 8221.
Detaching after fork from child process 8223.
Detaching after fork from child process 8225.
Detaching after fork from child process 8226.
Detaching after fork from child process 8228.
Detaching after fork from child process 8230.
Detaching after fork from child process 8231.
Detaching after fork from child process 8234.
Detaching after fork from child process 8235.
Detaching after fork from child process 8238.
Detaching after fork from child process 8240.
Detaching after fork from child process 8242.
Detaching after fork from child process 8244.
Detaching after fork from child process 8247.
Detaching after fork from child process 8248.
Detaching after fork from child process 8251.
Detaching after fork from child process 8253.
Detaching after fork from child process 8254.
Missing separate debuginfos, use: debuginfo-install perl-DBD-MySQL-4.013-3.el6.x86_64 perl-DBI-1.609-4.el6.x86_64
Detaching after fork from child process 8257.
Detaching after fork from child process 8258.
Detaching after fork from child process 8259.
Detaching after fork from child process 8262.
Detaching after fork from child process 8263.
Detaching after fork from child process 8267.
Detaching after fork from child process 8269.
Detaching after fork from child process 8991.
Detaching after fork from child process 9001.
Detaching after fork from child process 9015.
Detaching after fork from child process 9017.
Detaching after fork from child process 9019.
Detaching after fork from child process 9021.
Detaching after fork from child process 9023.
Detaching after fork from child process 9025.
Detaching after fork from child process 9026.
Detaching after fork from child process 9031.
Detaching after fork from child process 9033.
Detaching after fork from child process 9035.
Detaching after fork from child process 9036.
Detaching after fork from child process 9038.
Detaching after fork from child process 9040.
Detaching after fork from child process 9041.
Detaching after fork from child process 9043.
Detaching after fork from child process 9047.
Detaching after fork from child process 9050.
Detaching after fork from child process 9052.
Detaching after fork from child process 9053.
Detaching after fork from child process 9056.
Detaching after fork from child process 9057.
Detaching after fork from child process 9061.
Detaching after fork from child process 9062.
Detaching after fork from child process 9065.
Detaching after fork from child process 9068.
Detaching after fork from child process 9071.
Detaching after fork from child process 9073.
Detaching after fork from child process 9074.
Detaching after fork from child process 9077.
Detaching after fork from child process 9079.
Detaching after fork from child process 9080.
Detaching after fork from child process 9083.
Detaching after fork from child process 9085.
Detaching after fork from child process 9087.
Detaching after fork from child process 9089.
Detaching after fork from child process 9091.
Detaching after fork from child process 9095.
Detaching after fork from child process 9097.
Detaching after fork from child process 9099.
Detaching after fork from child process 9100.
Detaching after fork from child process 9103.
Detaching after fork from child process 9107.
Detaching after fork from child process 9109.
Detaching after fork from child process 9111.
Detaching after fork from child process 9113.
Detaching after fork from child process 9114.
Detaching after fork from child process 9117.
Detaching after fork from child process 9119.
Detaching after fork from child process 9121.
Detaching after fork from child process 9122.
Detaching after fork from child process 9127.
Detaching after fork from child process 9129.
Detaching after fork from child process 9131.
Detaching after fork from child process 9133.
Detaching after fork from child process 9135.
Detaching after fork from child process 9137.
Detaching after fork from child process 9139.
Detaching after fork from child process 9143.
Detaching after fork from child process 9145.
Detaching after fork from child process 9146.
Detaching after fork from child process 9149.
Detaching after fork from child process 9151.
Detaching after fork from child process 9153.
Detaching after fork from child process 9155.
Detaching after fork from child process 9161.
Detaching after fork from child process 9163.
Detaching after fork from child process 9164.
Detaching after fork from child process 9166.
Detaching after fork from child process 9168.
Detaching after fork from child process 9172.
Detaching after fork from child process 9173.
Detaching after fork from child process 9176.
Detaching after fork from child process 9178.
Detaching after fork from child process 9180.
Detaching after fork from child process 9182.
Detaching after fork from child process 9184.
Detaching after fork from child process 9186.
Detaching after fork from child process 9188.
Detaching after fork from child process 9190.
Detaching after fork from child process 9194.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffcb0b6700 (LWP 8129)]
0x00007ffff7bc5f5f in fr_packet_cmp (a=0x1e1ae470, b=0x6e61170162ba439a) at src/lib/packet.c:45
45      rcode = a->id - b->id;
  65 Thread 0x7fffc10a6700 (LWP 8145)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  64 Thread 0x7fffc1aa7700 (LWP 8144)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  63 Thread 0x7fffc24a8700 (LWP 8143)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  62 Thread 0x7fffc2ea9700 (LWP 8142)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  61 Thread 0x7fffc38aa700 (LWP 8141)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  60 Thread 0x7fffc42ab700 (LWP 8140)  0x00007ffff66333bd in nanosleep () at ../sysdeps/unix/syscall-template.S:82
  59 Thread 0x7fffc4cac700 (LWP 8139)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  58 Thread 0x7fffc56ad700 (LWP 8138)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  57 Thread 0x7fffc60ae700 (LWP 8137)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  56 Thread 0x7fffc6aaf700 (LWP 8136)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  55 Thread 0x7fffc74b0700 (LWP 8135)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  54 Thread 0x7fffc7eb1700 (LWP 8134)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  53 Thread 0x7fffc88b2700 (LWP 8133)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  52 Thread 0x7fffc92b3700 (LWP 8132)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  51 Thread 0x7fffc9cb4700 (LWP 8131)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  50 Thread 0x7fffca6b5700 (LWP 8130)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
* 49 Thread 0x7fffcb0b6700 (LWP 8129)  0x00007ffff7bc5f5f in fr_packet_cmp (a=0x1e1ae470, b=0x6e61170162ba439a) at src/lib/packet.c:45
  48 Thread 0x7fffcbab7700 (LWP 8128)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  47 Thread 0x7fffcc4b8700 (LWP 8127)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  46 Thread 0x7fffcceb9700 (LWP 8126)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  45 Thread 0x7fffcd8ba700 (LWP 8125)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  44 Thread 0x7fffce2bb700 (LWP 8124)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  43 Thread 0x7fffcecbc700 (LWP 8123)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  42 Thread 0x7fffcf6bd700 (LWP 8122)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  41 Thread 0x7fffd00be700 (LWP 8121)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  40 Thread 0x7fffd0abf700 (LWP 8120)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  39 Thread 0x7fffd14c0700 (LWP 8119)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  38 Thread 0x7fffd1ec1700 (LWP 8118)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  37 Thread 0x7fffd28c2700 (LWP 8117)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  36 Thread 0x7fffd32c3700 (LWP 8116)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  35 Thread 0x7fffd3cc4700 (LWP 8115)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  34 Thread 0x7fffd46c5700 (LWP 8114)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  33 Thread 0x7fffd50c6700 (LWP 8113)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  32 Thread 0x7fffd5ac7700 (LWP 8112)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  31 Thread 0x7fffd64c8700 (LWP 8111)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  30 Thread 0x7fffd6ec9700 (LWP 8110)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  29 Thread 0x7fffd78ca700 (LWP 8109)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  28 Thread 0x7fffd82cb700 (LWP 8108)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  27 Thread 0x7fffd8ccc700 (LWP 8107)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  26 Thread 0x7fffd96cd700 (LWP 8106)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  25 Thread 0x7fffda0ce700 (LWP 8105)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  24 Thread 0x7fffdaacf700 (LWP 8104)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  23 Thread 0x7fffdb4d0700 (LWP 8103)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  22 Thread 0x7fffdbed1700 (LWP 8102)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  21 Thread 0x7fffdc8d2700 (LWP 8101)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  20 Thread 0x7fffdd2d3700 (LWP 8100)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  19 Thread 0x7fffddcd4700 (LWP 8099)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  18 Thread 0x7fffde6d5700 (LWP 8098)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  17 Thread 0x7fffdf0d6700 (LWP 8097)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  16 Thread 0x7fffdfad7700 (LWP 8096)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  15 Thread 0x7fffe04d8700 (LWP 8095)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  14 Thread 0x7fffe0ed9700 (LWP 8094)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  13 Thread 0x7fffe18da700 (LWP 8093)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  12 Thread 0x7fffe22db700 (LWP 8092)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  11 Thread 0x7fffe2cdc700 (LWP 8091)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  10 Thread 0x7fffe36dd700 (LWP 8090)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  9 Thread 0x7fffe40de700 (LWP 8089)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  8 Thread 0x7fffe4adf700 (LWP 8088)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  7 Thread 0x7fffe54e0700 (LWP 8087)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  6 Thread 0x7fffe5ee1700 (LWP 8086)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  5 Thread 0x7fffe68e2700 (LWP 8085)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  4 Thread 0x7fffe72e3700 (LWP 8084)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  3 Thread 0x7fffe7ce4700 (LWP 8083)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  2 Thread 0x7fffe86e5700 (LWP 8082)  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
  1 Thread 0x7ffff7fea7c0 (LWP 8059)  0x00007ffff6667d03 in select () at ../sysdeps/unix/syscall-template.S:82

Thread 65 (Thread 0x7fffc10a6700 (LWP 8145)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4373570) at src/main/threads.c:567
        self = 0x4373570
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc10a6700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc10a6700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736432072448, 7521497941929158331, 140737338765824, 140736432073152, 0, 3, -7521512120638970181, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 64 (Thread 0x7fffc1aa7700 (LWP 8144)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x43733e0) at src/main/threads.c:567
        self = 0x43733e0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc1aa7700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc1aa7700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736442562304, 7521497941929158331, 140737338765824, 140736442563008, 0, 3, -7521510745712564549, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 63 (Thread 0x7fffc24a8700 (LWP 8143)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4373250) at src/main/threads.c:567
        self = 0x4373250
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc24a8700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc24a8700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736453052160, 7521497941929158331, 140737338765824, 140736453052864, 0, 3, -7521506072251275589, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 62 (Thread 0x7fffc2ea9700 (LWP 8142)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x43730c0) at src/main/threads.c:567
        self = 0x43730c0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc2ea9700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc2ea9700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736463542016, 7521497941929158331, 140737338765824, 140736463542720, 0, 3, -7521504705914804549, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 61 (Thread 0x7fffc38aa700 (LWP 8141)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4372f30) at src/main/threads.c:567
        self = 0x4372f30
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc38aa700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc38aa700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736474031872, 7521497941929158331, 140737338765824, 140736474032576, 0, 3, -7521506629523282245, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 60 (Thread 0x7fffc42ab700 (LWP 8140)):
#0  0x00007ffff66333bd in nanosleep () at ../sysdeps/unix/syscall-template.S:82
No locals.
#1  0x00007ffff6668574 in usleep (useconds=<value optimized out>) at ../sysdeps/unix/sysv/linux/usleep.c:33
        ts = {tv_sec = 0, tv_nsec = 100000000}
#2  0x000000000043351b in rad_waitpid (pid=9194, status=0x7fffc42a7b2c) at src/main/threads.c:1272
        i = 0
        mytf = {pid = 9194, status = 1, exited = -1003848710}
        tf = 0x1e1a2470
#3  0x0000000000415bc6 in radius_exec_program (
    cmd=0x1a08910 "/usr/bin/ntlm_auth --request-nt-key --username=%{%{Stripped-User-Name}:-%{User-Name:-None}} --challenge=%{mschap:Challenge:-00} --nt-response=%{mschap:NT-Response:-00}", 
    request=0x1e9a7880, exec_wait=1, user_msg=0x7fffc42a7bd0 "NT_KEY: 24D9FCB3EB61DE4D5CAC232146F92C7C\n", msg_len=256, input_pairs=0x0, output_pairs=0x0, shell_escape=1) at src/main/exec.c:723
        pid = 9194
        from_child = 16
        vp = 0x53203a2070616570
        p = 0x7fffc42a7cb0 ""
        child_pid = 1129158220
        comma = 0
        status = 0
        n = 0
        done = 41
        answer = "NT_KEY: 24D9FCB3EB61DE4D5CAC232146F92C7C\n\000B\000\000\000\000\000A\000\000\000\000\000\000\000\303\320E\000\000\000\000\000\200x\232\036\000\000\000\000\002\000\000\000\003\000\000\000%", '\000' <repeats 15 times>"\254, *B\000\000\000\000\000\300\271*\304\377\177\000\000\020\215*\304\377\177\000\000\020q*\304\377\177\000\000M\000\000\000\000\000\000\000\270q*\304\377\177\000\000 - entering group authenticate {...}\000\177\000\000\351\263\\\366\377\177\000\000\003", '\000' <repeats 15 times>, "%{User-Name}\000\000\000\000\000m*\304\377\177\000\000\200q"...
#4  0x00007ffff47702be in do_mschap (inst=0x1a088a0, request=0x1e9a7880, password=0x0, challenge=0x7fffc42a7fd0 "\202r\344ԕ\335\354\320 \texpand", 
    response=0x1e9a740a "O\262\032\a\306U$\205{\255\227\177\067q%\333@\350e\tb$j\267", nthashhash=0x7fffc42a8020 "", do_ntlm_auth=1) at src/modules/rlm_mschap/rlm_mschap.c:1087
        result = 0
        buffer = "NT_KEY: 24D9FCB3EB61DE4D5CAC232146F92C7C\n\000*\304\377\177\000\000(\000\000\000\060\000\000\000 }*\304\377\177\000\000P|*\304\377\177\000\000\a\000\000\000\000\000\000\000\017", '\000' <repeats 23 times>"\220, |*\304\377\177", '\000' <repeats 18 times>, " \000\000\000\060\000\000\000\362s\232\036\000\000\000\000\020}*\304\377\177\000\000\341\061w\364\377\177\000\000\060u\232\036\000\000\000\000\001\001\001\001\001\001\001\001\340\326\365\031\000\000\000\000\362s\232\036\000\000\000\000\202r\344ԕ\335\354\320=\276h\f`\205\302\314\302\063\272\304\060\000\000\000@4\221\366\377\177", '\000' <repeats 33 times>
        calculated = '\000' <repeats 23 times>
#5  0x00007ffff4771d68 in mschap_authenticate (instance=0x1a088a0, request=0x1e9a7880) at src/modules/rlm_mschap/rlm_mschap.c:1769
        mschap_result = 131075
        mschapv1_challenge = "\202r\344ԕ\335\354\320 \texpand"
        name_attr = 0x1e9a7500
        response_name = 0x1e9a7500
        challenge = 0x19f5d6b0
        response = 0x1e9a73c0
        cpw = 0x0
        password = 0x0
        lm_password = 0x0
        nt_password = 0x0
        smb_ctrl = 0x0
        username = 0x19f5c910
        nthashhash = '\000' <repeats 15 times>
        msch2resp = "\000\000\000\000\000\000\000\000\020\200*\304\377\177\000\000 \000\000\000\060\000\000\000\000\244*\304\377\177\000\000\000\200*\304\001\000\000\000\000"
        username_string = 0x1e9a7530 "[email protected]"
        chap = 0
        do_ntlm_auth = 1
#6  0x000000000042790f in call_modsingle (component=0, sp=0x31d2540, request=0x1e9a7880) at src/main/modcall.c:305
        myresult = 27930265
        blocked = 0
#7  0x0000000000428d15 in modcall (component=0, c=0x31d2440, request=0x1e9a7880) at src/main/modcall.c:798
        myresult = 0
        stack = {pointer = 2, priority = {0, 0, 0, -149589504, 32767, -1003832896, 32767, 2017796131, 1953850213, 543649385, 1970238055, 1919295600, 1713401199, 543517801, 1668572463, 
            1684107823, 1932485220, 1936028777, 1634624813, 1684368482, 1868721199, 1560309618, 811280447, 761346349, 846945638, 1583032701, 1631137072, 1063085613, 758143784, 1714250041, 
            2100460381, 674900009}, result = {0, 0, 0, 1852989783, 979857001, 1866866720, 543452789, 1969299506, 1949132916, 1936027769, 544108320, 1970365810, 544502629, 544370534, 1919251317, 
            2565920, 1836674671, 661878127, -1003844864, 0, -592, -138762645, 32767, 8944424, 0, -1003845760, 32767, -1003845760, 32767, 8944424, 0, -1003845904}, children = {0x31d2440, 
            0x31d24c0, 0x31d2540, 0x7d6460, 0x6ad400, 0x892310, 0xc42a8780, 0x7fffc42a8730, 0x7ffff7bb0884, 0x7fffc42a8780, 0x6ad400, 0x89ed28e2c42a8975, 0x4714b791000000e2, 0x0, 0x422aac, 
            0x7fffc42a8760, 0x7ffff660018e, 0x7fffc42a8780, 0x6ad400, 0x7ffff3b49f88, 0x892310, 0x7fff00000014, 0x5, 0x0, 0x160, 0x0, 0x0, 0x0, 0x3500000014, 0x7c0000005b, 0x6e00000077, 
            0x1e9a7530}, start = {0x0, 0x31d24c0, 0x31d2540, 0x0, 0x0, 0x3, 0x7ffff6602a08, 0x422aac, 0x7ffff7bc2355, 0xe4a28ef600000064, 0x887b28, 0x0, 0x422aac, 0x7fffc42a89e0, 0x7ffff7bc5006, 
            0x7fffc42a8870, 0xb006ad400, 0x7ffff3b49d7c, 0x7ffff3b49f79, 0x7fff00000014, 0x5, 0x3000000028, 0x7fffc42a8980, 0x7fffc42a88b0, 0x0, 0xb, 0x0, 0x0, 0x6e00000077, 0x19f5d14b, 0x0, 
            0x6805d9}}
        parent = 0x31d24c0
        child = 0x31d2540
        sp = 0x31d2540
        if_taken = 0
        was_if = 0
#8  0x000000000042579e in indexed_modcall (comp=0, idx=1028, request=0x1e9a7880) at src/main/modules.c:802
        rcode = 0
        list = 0x31d2440
        server = 0x31d20e0
#9  0x00000000004270dd in module_authenticate (auth_type=1028, request=0x1e9a7880) at src/main/modules.c:1658
No locals.
#10 0x00007ffff3b492dd in mschapv2_authenticate (arg=0x8eab80, handler=0x1e9a84a0) at src/modules/rlm_eap/types/rlm_eap_mschapv2/rlm_eap_mschapv2.c:720
        rcode = -161477647
        ccode = 2
        data = 0x1e9a9b40
        eap_ds = 0x1d979440
        challenge = 0x19f5d6b0
        response = 0x1e9a73c0
        name = 0x1e9a7500
        inst = 0x8eab80
#11 0x00007ffff4360b74 in eaptype_call (atype=0x8ec730, handler=0x1e9a84a0) at src/modules/rlm_eap/eap.c:184
        rcode = 1
        request = 0x1e9a7880
        module = 0x8e2760 "eap"
#12 0x00007ffff43615c7 in eaptype_select (inst=0x8e2fb0, handler=0x1e9a84a0) at src/modules/rlm_eap/eap.c:405
        i = 513439872
        default_eap_type = 25
        eaptype = 0x1f97048
        vp = 0x4b000000000000
        namebuf = "\000\000\000\000\000\000\000\000 \214*\304\377\177\000\000P\312\365\031\000\000K\000@\224\227\035\000\000\000\000\300\000\033\036\000\000\000\000\020\311\365\031F\000\000\000\000\214*\304\377\177\000\000\215,6\364\377\177\000"
        eaptype_name = 0x7ffff79a02b5 "mschapv2"
        request = 0x1e9a7880
#13 0x00007ffff435f8e2 in eap_authenticate (instance=0x8e2fb0, request=0x1e9a7880) at src/modules/rlm_eap/rlm_eap.c:317
        inst = 0x8e2fb0
        handler = 0x1e9a84a0
        eap_packet = 0x0
        rcode = 0
#14 0x000000000042790f in call_modsingle (component=0, sp=0x31d21c0, request=0x1e9a7880) at src/main/modcall.c:305
        myresult = 4336300
        blocked = 0
#15 0x0000000000428d15 in modcall (component=0, c=0x31d2280, request=0x1e9a7880) at src/main/modcall.c:798
        myresult = 0
        stack = {pointer = 1, priority = {0, 0, 32767, 4, 0, -1003843008, 0, -1003843008, 32767, 7328448, 0, -1003843152, 32767, -138739279, 32767, -1003843008, 32767, -138761997, -1865389491, 
            0, 0, 4, 0, 7371472, 0, -1003843008, 0, -1003843088, 32767, -138737532, 32767, -1003843008}, result = {0, 0, 0, -1003841632, -1302983927, 2825, -1865389491, -1003843456, 32767, 
            -1003841616, 32767, -1003843040, 32767, 513450088, 0, -1003842976, 32767, -138720619, 32767, 997, 6, 8, 32767, 0, 0, 1009, 0, -1003842816, 32767, -1003841617, 32767, 513450089}, 
          children = {0x31d2280, 0x31d21c0, 0x3d5, 0x7fffc42a9730, 0x7ffff7bb52ff, 0x400, 0x7fffc42a97f0, 0x7fffc42a9560, 0x7fffc42a9898, 0x1c42a9878, 0x31d27a0, 0x0, 0x7fffc42a97af, 0x8001, 
            0x714, 0x0, 0x7ffff65d60d3, 0x3000000028, 0x7fffc42a93b0, 0x7fffc42a92f0, 0x7ffff65f6202, 0x7ffffbad8001, 0x7fffc42a9590, 0x7061655f64617222, 0x202b20747365745f, 0x65745f6c6f706165, 
            0x3732393000227473, 0x3865343932003030, 0x3566303566336337, 0x3030643436383832, 0x3030303030303030, 0x6634303030303030}, start = {0x0, 0x31d21c0, 0x3733663737396461, 
            0x3034626435323137, 0x3236393035363865, 0x3030376261363432, 0x7ffff6661e89, 0x0, 0x7ffff65f8583, 0x6236353765323336, 0x0, 0x31d26e0, 0x7ffff7ff8000, 0x0, 0x7ffff65f9b35, 0x0, 0x3, 
            0x7ffff6914780, 0x7ffff3d512c1, 0x0, 0x7ffff65f81fd, 0x3000000028, 0x7fffc42a9510, 0x7fffc42a9440, 0x13, 0x0, 0x0, 0x0, 0x7fffc42a9520, 0x4, 0xc42a9520, 0x7fffc42a9520}}
        parent = 0x31d2280
        child = 0x31d21c0
        sp = 0x31d21c0
        if_taken = 0
        was_if = 0
#16 0x000000000042579e in indexed_modcall (comp=0, idx=6, request=0x1e9a7880) at src/main/modules.c:802
        rcode = 0
        list = 0x31d2280
        server = 0x31d20e0
#17 0x00000000004270dd in module_authenticate (auth_type=6, request=0x1e9a7880) at src/main/modules.c:1658
No locals.
#18 0x000000000040c8e8 in rad_check_password (request=0x1e9a7880) at src/main/auth.c:254
        auth_type_pair = 0x0
        cur_config_item = 0x0
        auth_type = 6
        result = 0
        auth_type_count = 1
#19 0x000000000040cf16 in rad_authenticate (request=0x1e9a7880) at src/main/auth.c:534
        namepair = 0x19f5cfd0
        check_item = 0x7fffc42a9b10
        auth_item = 0x0
        module_msg = 0x19
        tmp = 0x19f5d250
        result = 8
        password = 0x454030 "<NO-PASSWORD>"
        autz_retry = 0 '\000'
        autz_type = 0
#20 0x000000000040d474 in rad_virtual_server (request=0x1e9a7880) at src/main/auth.c:689
        vp = 0x422aac
        result = 0
#21 0x00007ffff3d4f9f2 in eappeap_process (handler=0x1a82bf90, tls_session=0x1b9087c0) at src/modules/rlm_eap/types/rlm_eap_peap/peap.c:1033
        t = 0x1a7c9c10
        fake = 0x1e9a7880
        vp = 0x0
        rcode = 0
        data = 0x1b90c8fc "\032\002\t"
        data_len = 71
        request = 0x1e9a8ef0
        eap_ds = 0x1e8c14e0
#22 0x00007ffff3d4cd3b in eappeap_authenticate (arg=0x8ec450, handler=0x1a82bf90) at src/modules/rlm_eap/types/rlm_eap_peap/rlm_eap_peap.c:383
        rcode = -161470602
        status = FR_TLS_OK
        inst = 0x8ec450
        tls_session = 0x1b9087c0
        peap = 0x1a7c9c10
        request = 0x1e9a8ef0
#23 0x00007ffff4360b74 in eaptype_call (atype=0x8ea180, handler=0x1a82bf90) at src/modules/rlm_eap/eap.c:184
        rcode = 1
        request = 0x1e9a8ef0
        module = 0x8e2760 "eap"
#24 0x00007ffff43615c7 in eaptype_select (inst=0x8e2fb0, handler=0x1a82bf90) at src/modules/rlm_eap/eap.c:405
        i = 513445616
        default_eap_type = 25
        eaptype = 0x19f3b468
        vp = 0x90000000000000
        namebuf = "\000\000\000\000\000\000\000\000\000\236*\304\377\177\000\000\320\aP\032\000\000\220\000\340\024\214\036\000\000\000\000\340p\032\036\000\000\000\000\000\232\232\036\213\000\000\000\340\235*\304\377\177\000\000\215,6\364\377\177\000"
        eaptype_name = 0x7ffff79a02b0 "peap"
        request = 0x1e9a8ef0
#25 0x00007ffff435f8e2 in eap_authenticate (instance=0x8e2fb0, request=0x1e9a8ef0) at src/modules/rlm_eap/rlm_eap.c:317
        inst = 0x8e2fb0
        handler = 0x1a82bf90
        eap_packet = 0x0
        rcode = 0
#26 0x000000000042790f in call_modsingle (component=0, sp=0x2002550, request=0x1e9a8ef0) at src/main/modcall.c:305
        myresult = 4336300
        blocked = 0
#27 0x0000000000428d15 in modcall (component=0, c=0x20025f0, request=0x1e9a8ef0) at src/main/modcall.c:798
        myresult = 0
        stack = {pointer = 1, priority = {0, 0, 0, 1667659824, 1, -1003838992, 32767, 33331152, 0, 444598240, 0, 2, 0, 4574848, 0, 7189670, 0, 909129014, 1, 0, 0, 3, 3, 0, 1630758450, 
            1684300390, 842229297, 825452134, 1714894945, 1667379504, 828650806, 942957665}, result = {0, 0, 1664246117, 825648482, 1630561891, 858797873, 808464688, 1647783990, 811951201, 
            1664235108, 862205281, 925904948, 875575096, 811741749, 842282041, 1633760356, 912339762, 808857958, 1667654245, 875783731, 6, 2, 2, 2, 842346593, 859123762, 892483634, 909129776, 
            912601190, 1647785572, 1650864229, 1650798948}, children = {0x20025f0, 0x2002550, 0x3437383534663135, 0x3000000018, 0x7fffc42aa7a0, 0x7fffc42aa6e0, 0x6437663361373236, 
            0x6438356663313437, 0x3432356233653934, 0x3163653839343332, 0x2002670, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3134333465363936, 0x6432343433346432, 0x6530313330333435, 0x3000303030303030, 
            0x3535333036303930, 0x3230333136303430, 0x6237303033353534, 0x7fffc42aa530, 0x7fffc42aa7d0, 0x7fffc42aa620, 0x7ffff7bd17ad, 0x7fffc42aa690, 0x3ff, 0x7fffc42aa560, 0x7fffc42aa800}, 
          start = {0x0, 0x2002550, 0x7fffc42aa6c0, 0x3ff, 0x3, 0x7fffc42aa800, 0x7ffff65f6202, 0x7ffffbad8001, 0x7fffc42aa800, 0x7fffc42aa800, 0x0, 0x2002a70, 0x2021250, 0x201e2d0, 
            0x7fffc42aa800, 0x7fffc42aabff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3000000028, 0x7fffc42aa6f0, 0x7fffc42aa620, 0x0, 0x0, 0x0, 0x0, 0x7fffc42aa700, 0x4, 0xc42aa700, 0x7fffc42aa700}}
        parent = 0x20025f0
        child = 0x2002550
        sp = 0x2002550
        if_taken = 0
        was_if = 0
#28 0x000000000042579e in indexed_modcall (comp=0, idx=6, request=0x1e9a8ef0) at src/main/modules.c:802
        rcode = 0
        list = 0x20025f0
        server = 0x2002200
#29 0x00000000004270dd in module_authenticate (auth_type=6, request=0x1e9a8ef0) at src/main/modules.c:1658
No locals.
#30 0x000000000040c8e8 in rad_check_password (request=0x1e9a8ef0) at src/main/auth.c:254
        auth_type_pair = 0x0
        cur_config_item = 0x0
        auth_type = 6
        result = 0
        auth_type_count = 2
#31 0x000000000040cf16 in rad_authenticate (request=0x1e9a8ef0) at src/main/auth.c:534
        namepair = 0x1f7eef0
        check_item = 0x16f8ec40
        auth_item = 0x0
        module_msg = 0xc29
        tmp = 0x0
        result = 2
        password = 0x454030 "<NO-PASSWORD>"
        autz_retry = 0 '\000'
        autz_type = 0
#32 0x000000000043bb89 in request_running (request=0x1e9a8ef0, action=1) at src/main/process.c:1181
        __FUNCTION__ = "request_running"
#33 0x00000000004326f5 in request_handler_thread (arg=0x4372da0) at src/main/threads.c:637
        self = 0x4372da0
#34 0x00007ffff714d851 in start_thread (arg=0x7fffc42ab700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc42ab700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736484521728, 7521497941929158331, 140737338765824, 140736484522432, 0, 3, -7521518448736409925, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#35 0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 59 (Thread 0x7fffc4cac700 (LWP 8139)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4372c10) at src/main/threads.c:567
        self = 0x4372c10
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc4cac700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc4cac700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736495011584, 7521497941929158331, 140737338765824, 140736495012288, 0, 3, -7521518173321632069, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 58 (Thread 0x7fffc56ad700 (LWP 8138)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4372a80) at src/main/threads.c:567
        self = 0x4372a80
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc56ad700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc56ad700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736505501440, 7521497941929158331, 140737338765824, 140736505502144, 0, 3, -7521521196441737541, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 57 (Thread 0x7fffc60ae700 (LWP 8137)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x43728f0) at src/main/threads.c:567
        self = 0x43728f0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc60ae700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc60ae700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736515991296, 7521497941929158331, 140737338765824, 140736515992000, 0, 3, -7521514323957193029, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 56 (Thread 0x7fffc6aaf700 (LWP 8136)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4372760) at src/main/threads.c:567
        self = 0x4372760
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc6aaf700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc6aaf700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736526481152, 7521497941929158331, 140737338765824, 140736526481856, 0, 3, -7521512949030787397, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 55 (Thread 0x7fffc74b0700 (LWP 8135)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x43725d0) at src/main/threads.c:567
        self = 0x43725d0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc74b0700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc74b0700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736536971008, 7521497941929158331, 140737338765824, 140736536971712, 0, 3, -7521517071662520645, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 54 (Thread 0x7fffc7eb1700 (LWP 8134)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4372440) at src/main/threads.c:567
        self = 0x4372440
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc7eb1700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc7eb1700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736547460864, 7521497941929158331, 140737338765824, 140736547461568, 0, 3, -7521515705326049605, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 53 (Thread 0x7fffc88b2700 (LWP 8133)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x43722b0) at src/main/threads.c:567
        self = 0x43722b0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc88b2700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc88b2700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736557950720, 7521497941929158331, 140737338765824, 140736557951424, 0, 3, -7521526425027549509, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 52 (Thread 0x7fffc92b3700 (LWP 8132)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4372120) at src/main/threads.c:567
        self = 0x4372120
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc92b3700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc92b3700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736568440576, 7521497941929158331, 140737338765824, 140736568441280, 0, 3, -7521529448147654981, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 51 (Thread 0x7fffc9cb4700 (LWP 8131)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4371f90) at src/main/threads.c:567
        self = 0x4371f90
#2  0x00007ffff714d851 in start_thread (arg=0x7fffc9cb4700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffc9cb4700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736578930432, 7521497941929158331, 140737338765824, 140736578931136, 0, 3, -7521529172732877125, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 50 (Thread 0x7fffca6b5700 (LWP 8130)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4371e00) at src/main/threads.c:567
        self = 0x4371e00
#2  0x00007ffff714d851 in start_thread (arg=0x7fffca6b5700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffca6b5700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736589420288, 7521497941929158331, 140737338765824, 140736589420992, 0, 3, -7521523399759960389, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 49 (Thread 0x7fffcb0b6700 (LWP 8129)):
#0  0x00007ffff7bc5f5f in fr_packet_cmp (a=0x1e1ae470, b=0x6e61170162ba439a) at src/lib/packet.c:45
        rcode = -103
#1  0x00007ffff7bc689b in packet_entry_cmp (one=0x19f52110, two=0x1a7c87c0) at src/lib/packet.c:427
        a = 0x19f52110
        b = 0x1a7c87c0
#2  0x00007ffff7bbebaa in rbtree_insertnode (tree=0x4339c40, Data=0x19f52110) at src/lib/rbtree.c:274
        result = -103
        Current = 0x1dcefa60
        Parent = 0x1d0a8e90
        X = 0x11cb0b5bb0
#3  0x00007ffff7bbed82 in rbtree_insert (tree=0x4339c40, Data=0x19f52110) at src/lib/rbtree.c:328
No locals.
#4  0x00007ffff7bc69d7 in fr_packet_list_insert (pl=0x4362530, request_p=0x19f52110) at src/lib/packet.c:476
No locals.
#5  0x000000000043cc3f in insert_into_proxy_hash (request=0x19f52100) at src/main/process.c:1719
        buf = "\000\000\000\000\000\000\000\000\323`]\366\067\212\030\060@\\\v\313\377\177\000\000\351GB\000\000\000\000\000\060\\\v\313\377\177\000\000\320!\001\002\000\000\000\000\340\344\032\036\001\000\000\000U#\274\367\067\212\030\060p\\\v\313\377\177\000\000kHB\000\000\000\000\000\060!\002\002\000\000\000\000\320!\001\002\000\000\000\000`\032g\000\000\000\000\000\254*B\000\000\000\000\000\300\\\v\313\377\177\000\000\236WB\000\000\000\000"
        rcode = 1
        tries = 1
        proxy_listener = 0x4383cf0
#6  0x000000000043e1de in request_proxy (request=0x19f52100, retransmit=0) at src/main/process.c:2313
        buffer = "\000!\365\031", '\000' <repeats 12 times>, "`]\v\313\377\177\000\000\373\337C\000\000\000\000\000\062\f\000\000\000\000\000\000\000!\365\031\000\000\000\000 ]\v\313\b\000\000\000\002\000\000\000\000\000\000\000\260\034\370\001", '\000' <repeats 12 times>, "\020\a\365\031\000\000\000\000\260ۉ\000\000\000\000\000\260u\215\000\000\000\000\000Ps\215\000\000\000\000\000\220]\v\313\377\177\000\000\343#C\000\000\000\000"
#7  0x000000000043bbb0 in request_running (request=0x19f52100, action=1) at src/main/process.c:1198
        __FUNCTION__ = "request_running"
#8  0x00000000004326f5 in request_handler_thread (arg=0x4371c70) at src/main/threads.c:637
        self = 0x4371c70
#9  0x00007ffff714d851 in start_thread (arg=0x7fffcb0b6700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffcb0b6700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736599910144, 7521497941929158331, 140737338765824, 140736599910848, 0, 3, -7521525323368438085, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#10 0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 48 (Thread 0x7fffcbab7700 (LWP 8128)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4371ae0) at src/main/threads.c:567
        self = 0x4371ae0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffcbab7700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffcbab7700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736610400000, 7521497941929158331, 140737338765824, 140736610400704, 0, 3, -7521523948442032453, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 47 (Thread 0x7fffcc4b8700 (LWP 8127)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4371950) at src/main/threads.c:567
        self = 0x4371950
#2  0x00007ffff714d851 in start_thread (arg=0x7fffcc4b8700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffcc4b8700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736620889856, 7521497941929158331, 140737338765824, 140736620890560, 0, 3, -7521536867166787909, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 46 (Thread 0x7fffcceb9700 (LWP 8126)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x43717c0) at src/main/threads.c:567
        self = 0x43717c0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffcceb9700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffcceb9700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736631379712, 7521497941929158331, 140737338765824, 140736631380416, 0, 3, -7521535500830316869, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 45 (Thread 0x7fffcd8ba700 (LWP 8125)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4371630) at src/main/threads.c:567
        self = 0x4371630
#2  0x00007ffff714d851 in start_thread (arg=0x7fffcd8ba700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffcd8ba700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736641869568, 7521497941929158331, 140737338765824, 140736641870272, 0, 3, -7521537424438794565, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 44 (Thread 0x7fffce2bb700 (LWP 8124)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x43714a0) at src/main/threads.c:567
        self = 0x43714a0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffce2bb700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffce2bb700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736652359424, 7521497941929158331, 140737338765824, 140736652360128, 0, 3, -7521531651465877829, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 43 (Thread 0x7fffcecbc700 (LWP 8123)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4371310) at src/main/threads.c:567
        self = 0x4371310
#2  0x00007ffff714d851 in start_thread (arg=0x7fffcecbc700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffcecbc700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736662849280, 7521497941929158331, 140737338765824, 140736662849984, 0, 3, -7521531376051099973, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 42 (Thread 0x7fffcf6bd700 (LWP 8122)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4371180) at src/main/threads.c:567
        self = 0x4371180
#2  0x00007ffff714d851 in start_thread (arg=0x7fffcf6bd700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffcf6bd700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736673339136, 7521497941929158331, 140737338765824, 140736673339840, 0, 3, -7521534399171205445, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 41 (Thread 0x7fffd00be700 (LWP 8121)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4370ff0) at src/main/threads.c:567
        self = 0x4370ff0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd00be700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd00be700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736683828992, 7521497941929158331, 140737338765824, 140736683829696, 0, 3, -7521545118872705349, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 40 (Thread 0x7fffd0abf700 (LWP 8120)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4370e60) at src/main/threads.c:567
        self = 0x4370e60
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd0abf700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd0abf700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736694318848, 7521497941929158331, 140737338765824, 140736694319552, 0, 3, -7521543743946299717, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 39 (Thread 0x7fffd14c0700 (LWP 8119)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4370cd0) at src/main/threads.c:567
        self = 0x4370cd0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd14c0700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd14c0700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736704808704, 7521497941929158331, 140737338765824, 140736704809408, 0, 3, -7521547866578032965, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 38 (Thread 0x7fffd1ec1700 (LWP 8118)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4370b40) at src/main/threads.c:567
        self = 0x4370b40
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd1ec1700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd1ec1700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736715298560, 7521497941929158331, 140737338765824, 140736715299264, 0, 3, -7521546431522085189, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 37 (Thread 0x7fffd28c2700 (LWP 8117)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x43709b0) at src/main/threads.c:567
        self = 0x43709b0
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd28c2700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd28c2700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736725788416, 7521497941929158331, 140737338765824, 140736725789120, 0, 3, -7521539559037540677, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 36 (Thread 0x7fffd32c3700 (LWP 8116)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4370820) at src/main/threads.c:567
        self = 0x4370820
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd32c3700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd32c3700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736736278272, 7521497941929158331, 140737338765824, 140736736278976, 0, 3, -7521542582157646149, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 35 (Thread 0x7fffd3cc4700 (LWP 8115)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4370690) at src/main/threads.c:567
        self = 0x4370690
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd3cc4700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd3cc4700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736746768128, 7521497941929158331, 140737338765824, 140736746768832, 0, 3, -7521542306742868293, -7521481218144803141}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#3  0x00007ffff666f11d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 34 (Thread 0x7fffd46c5700 (LWP 8114)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x0000000000432480 in request_handler_thread (arg=0x4370500) at src/main/threads.c:567
        self = 0x4370500
#2  0x00007ffff714d851 in start_thread (arg=0x7fffd46c5700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7fffd46c5700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736757257984, 7521497941929158331, 140737338765824, 140736757258688, 0, 3, -75215541259559

rlm_cache should be able to store multi-valued attributes

Would be nice to be able to do something like
update cache {
control:my-multivalued-attribute += ANY
}

This would cache all the attributes control:my-multivalued-attribute.
In my case those are attributes mapped from the ldap module

socket authz isn't very useful

The current socket autz restricts access based on whether the uid of the peer, or gid of the peer match the restricted uid/gid.

In the real world this is annoying and not terribly useful.

A better way of doing autz would be to use getgrgid to return a list of members for the configured GID, and allow access if the peers UID was in the list of group members. We'd then ignore peer GID.

It'd also arguably be far more useful to be able to specify ro_user, ro_group, rw_user, rw_group, and only use mode if none of those were configured, this would allow the basic operator/administrator model.

memory leak in radius_mapfree / radius_tmplfree

I already mentionned in another issue, valgrind reported some leak in those function. For reference, this is located here : http://pastebin.com/CHUkt4zy

right now, while running freeradius in debug mode, I sent a SIGTERM signal and it ended this way (see below).

Freeradius 3, Master branch, commit fb642fc (but nothing changed since then that could have solved the issue).

I can re-run valgrind on the test eduroam-network if needed.

Ready to process requests.
Signalled to terminate
Exiting normally.
  SSL: Removing session 78a17a7dff937d5e1bda7bb01eee75195ca8cd622c1b44efcaa41a9138968ea0 from the cache
  Freeing cached session VPs 0x1c03ee0
*** glibc detected *** freeradius: munmap_chunk(): invalid pointer: 0x0000000001ace710 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x7eb96)[0x7f04e31fbb96]
freeradius(radius_tmplfree+0x24)[0x42bc64]
freeradius(radius_mapfree+0x30)[0x42bf50]
/usr/lib/freeradius/rlm_cache.so(+0x241e)[0x7f04e0ad141e]
freeradius[0x4200be]
/usr/lib/freeradius/libfreeradius-radius.so(+0x14ddd)[0x7f04e43d1ddd]
/usr/lib/freeradius/libfreeradius-radius.so(+0x14dce)[0x7f04e43d1dce]
/usr/lib/freeradius/libfreeradius-radius.so(+0x14dbd)[0x7f04e43d1dbd]
/usr/lib/freeradius/libfreeradius-radius.so(+0x14dbd)[0x7f04e43d1dbd]
/usr/lib/freeradius/libfreeradius-radius.so(+0x14dbd)[0x7f04e43d1dbd]
/usr/lib/freeradius/libfreeradius-radius.so(rbtree_free+0x27)[0x7f04e43d2157]
freeradius(detach_modules+0x10)[0x421270]
freeradius(main+0x4e5)[0x40d165]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x7f04e319e76d]
freeradius[0x40d435]
======= Memory map: ========
00400000-0045d000 r-xp 00000000 fc:00 22656                              /usr/sbin/freeradius
0065c000-0065f000 r--p 0005c000 fc:00 22656                              /usr/sbin/freeradius
0065f000-00662000 rw-p 0005f000 fc:00 22656                              /usr/sbin/freeradius
00662000-00664000 rw-p 00000000 00:00 0
018fe000-01c28000 rw-p 00000000 00:00 0                                  [heap]
7f04d77f1000-7f04d77f3000 r-xp 00000000 fc:00 47662                      /usr/lib/freeradius/rlm_attr_filter.so
7f04d77f3000-7f04d79f2000 ---p 00002000 fc:00 47662                      /usr/lib/freeradius/rlm_attr_filter.so
7f04d79f2000-7f04d79f3000 r--p 00001000 fc:00 47662                      /usr/lib/freeradius/rlm_attr_filter.so
7f04d79f3000-7f04d79f4000 rw-p 00002000 fc:00 47662                      /usr/lib/freeradius/rlm_attr_filter.so
7f04d79f4000-7f04d79f7000 r-xp 00000000 fc:00 31621                      /usr/lib/freeradius/rlm_preprocess.so
7f04d79f7000-7f04d7bf6000 ---p 00003000 fc:00 31621                      /usr/lib/freeradius/rlm_preprocess.so
7f04d7bf6000-7f04d7bf7000 r--p 00002000 fc:00 31621                      /usr/lib/freeradius/rlm_preprocess.so
7f04d7bf7000-7f04d7bf8000 rw-p 00003000 fc:00 31621                      /usr/lib/freeradius/rlm_preprocess.so
7f04d7bf8000-7f04d7bfa000 r-xp 00000000 fc:00 47653                      /usr/lib/freeradius/rlm_always.so
7f04d7bfa000-7f04d7df9000 ---p 00002000 fc:00 47653                      /usr/lib/freeradius/rlm_always.so
7f04d7df9000-7f04d7dfa000 r--p 00001000 fc:00 47653                      /usr/lib/freeradius/rlm_always.so
7f04d7dfa000-7f04d7dfb000 rw-p 00002000 fc:00 47653                      /usr/lib/freeradius/rlm_always.so
7f04d7dfb000-7f04d7dfe000 r-xp 00000000 fc:00 35389                      /usr/lib/freeradius/rlm_detail.so
7f04d7dfe000-7f04d7ffe000 ---p 00003000 fc:00 35389                      /usr/lib/freeradius/rlm_detail.so
7f04d7ffe000-7f04d7fff000 r--p 00003000 fc:00 35389                      /usr/lib/freeradius/rlm_detail.so
7f04d7fff000-7f04d8000000 rw-p 00004000 fc:00 35389                      /usr/lib/freeradius/rlm_detail.so
7f04d8000000-7f04d8021000 rw-p 00000000 00:00 0
7f04d8021000-7f04dc000000 ---p 00000000 00:00 0
7f04dc178000-7f04dc18d000 r-xp 00000000 fc:00 260668                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7f04dc18d000-7f04dc38c000 ---p 00015000 fc:00 260668                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7f04dc38c000-7f04dc38d000 r--p 00014000 fc:00 260668                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7f04dc38d000-7f04dc38e000 rw-p 00015000 fc:00 260668                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7f04dc38e000-7f04dc38f000 ---p 00000000 00:00 0
7f04dc38f000-7f04dcb8f000 rw-p 00000000 00:00 0
7f04dcb8f000-7f04dcc8a000 r-xp 00000000 fc:00 269714                     /lib/x86_64-linux-gnu/libm-2.15.so
7f04dcc8a000-7f04dce89000 ---p 000fb000 fc:00 269714                     /lib/x86_64-linux-gnu/libm-2.15.so
7f04dce89000-7f04dce8a000 r--p 000fa000 fc:00 269714                     /lib/x86_64-linux-gnu/libm-2.15.so
7f04dce8a000-7f04dce8b000 rw-p 000fb000 fc:00 269714                     /lib/x86_64-linux-gnu/libm-2.15.so
7f04dce8b000-7f04dd148000 r-xp 00000000 fc:00 47613                      /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
7f04dd148000-7f04dd347000 ---p 002bd000 fc:00 47613                      /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
7f04dd347000-7f04dd34d000 r--p 002bc000 fc:00 47613                      /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
7f04dd34d000-7f04dd3cb000 rw-p 002c2000 fc:00 47613                      /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
7f04dd3cb000-7f04dd3d0000 rw-p 00000000 00:00 0
7f04dd3d0000-7f04dd3d3000 r-xp 00000000 fc:00 31577                      /usr/lib/freeradius/rlm_sql_mysql.so
7f04dd3d3000-7f04dd5d2000 ---p 00003000 fc:00 31577                      /usr/lib/freeradius/rlm_sql_mysql.so
7f04dd5d2000-7f04dd5d3000 r--p 00002000 fc:00 31577                      /usr/lib/freeradius/rlm_sql_mysql.so
7f04dd5d3000-7f04dd5d4000 rw-p 00003000 fc:00 31577                      /usr/lib/freeradius/rlm_sql_mysql.so
7f04dd5d4000-7f04dd5dc000 r-xp 00000000 fc:00 35383                      /usr/lib/freeradius/rlm_sql.so
7f04dd5dc000-7f04dd7db000 ---p 00008000 fc:00 35383                      /usr/lib/freeradius/rlm_sql.so
7f04dd7db000-7f04dd7dc000 r--p 00007000 fc:00 35383                      /usr/lib/freeradius/rlm_sql.so
7f04dd7dc000-7f04dd7dd000 rw-p 00008000 fc:00 35383                      /usr/lib/freeradius/rlm_sql.so
7f04dd7dd000-7f04dd7e4000 r-xp 00000000 fc:00 269726                     /lib/x86_64-linux-gnu/libnss_dns-2.15.so
7f04dd7e4000-7f04dd9e3000 ---p 00007000 fc:00 269726                     /lib/x86_64-linux-gnu/libnss_dns-2.15.so
7f04dd9e3000-7f04dd9e4000 r--p 00006000 fc:00 269726                     /lib/x86_64-linux-gnu/libnss_dns-2.15.so
7f04dd9e4000-7f04dd9e5000 rw-p 00007000 fc:00 269726                     /lib/x86_64-linux-gnu/libnss_dns-2.15.so
7f04dd9e5000-7f04dd9f1000 r-xp 00000000 fc:00 269718                     /lib/x86_64-linux-gnu/libnss_files-2.15.so
7f04dd9f1000-7f04ddbf0000 ---p 0000c000 fc:00 269718                     /lib/x86_64-linux-gnu/libnss_files-2.15.so
7f04ddbf0000-7f04ddbf1000 r--p 0000b000 fc:00 269718                     /lib/x86_64-linux-gnu/libnss_files-2.15.so
7f04ddbf1000-7f04ddbf2000 rw-p 0000c000 fc:00 269718                     /lib/x86_64-linux-gnu/libnss_files-2.15.so
7f04ddbf2000-7f04ddc90000 r-xp 00000000 fc:00 5842                       /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
7f04ddc90000-7f04dde90000 ---p 0009e000 fc:00 5842                       /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6Aborted

Problem with rlm_perl.c

stable version 2.2.0

root@radius:~# gdb "/usr/sbin/freeradius"
GNU gdb (GDB) 7.0.1-debian
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/...
Reading symbols from /usr/sbin/freeradius...(no debugging symbols found)...done.
(gdb) run -d /etc/freeradius-dhcp -Xx
Starting program: /usr/sbin/freeradius -d /etc/freeradius-dhcp -Xx
[Thread debugging using libthread_db enabled]
Thu Feb 21 23:17:50 2013 : Info: FreeRADIUS Version 2.2.0, for host x86_64-pc-linux-gnu, built on Feb 19 2013 at 03:25:23
Thu Feb 21 23:17:50 2013 : Info: Copyright (C) 1999-2012 The FreeRADIUS server project and contributors.
Thu Feb 21 23:17:50 2013 : Info: There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
Thu Feb 21 23:17:50 2013 : Info: PARTICULAR PURPOSE.
Thu Feb 21 23:17:50 2013 : Info: You may redistribute copies of FreeRADIUS under the terms of the
Thu Feb 21 23:17:50 2013 : Info: GNU General Public License v2.
Thu Feb 21 23:17:50 2013 : Info: Starting - reading configuration files ...
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/radiusd.conf
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/proxy.conf
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/clients.conf
Thu Feb 21 23:17:50 2013 : Debug: including files in directory /etc/freeradius-dhcp/modules/
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/always
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/detail.log
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/policy
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/pam
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/sradutmp
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/otp
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/cui
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/files
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/chap
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/replicate
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/logintime
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/preprocess
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/detail.example.com
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/radrelay
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/opendirectory
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/linelog
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/acct_unique
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/echo
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/smbpasswd
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/realm
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/ntlm_auth
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/exec
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/radutmp
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/attr_rewrite
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/passwd
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/ippool
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/dhcp_sqlippool
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/expr
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/wimax
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/redis
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/ldap
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/cache
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/mac2vlan
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/perl
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/krb5
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/mac2ip
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/sql_log
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/inner-eap
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/checkval
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/detail
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/rediswho
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/digest
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/pap
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/mschap
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/dynamic_clients
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/expiration
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/sqlcounter_expire_on_login
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/etc_group
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/smsotp
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/attr_filter
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/unix
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/soh
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/modules/counter
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/eap.conf
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/policy.conf
Thu Feb 21 23:17:50 2013 : Debug: including files in directory /etc/freeradius-dhcp/sites-enabled/
Thu Feb 21 23:17:50 2013 : Debug: including configuration file /etc/freeradius-dhcp/sites-enabled/dhcp
Thu Feb 21 23:17:50 2013 : Debug: main {
Thu Feb 21 23:17:50 2013 : Debug: user = "freerad"
Thu Feb 21 23:17:50 2013 : Debug: group = "freerad"
Thu Feb 21 23:17:50 2013 : Debug: allow_core_dumps = no
Thu Feb 21 23:17:50 2013 : Debug: }
Thu Feb 21 23:17:50 2013 : Debug: including dictionary file /etc/freeradius-dhcp/dictionary
Thu Feb 21 23:17:50 2013 : Debug: main {
Thu Feb 21 23:17:50 2013 : Debug: name = "freeradius"
Thu Feb 21 23:17:50 2013 : Debug: prefix = "/usr"
Thu Feb 21 23:17:50 2013 : Debug: localstatedir = "/var"
Thu Feb 21 23:17:50 2013 : Debug: sbindir = "/usr/sbin"
Thu Feb 21 23:17:50 2013 : Debug: logdir = "/var/log/freeradius"
Thu Feb 21 23:17:50 2013 : Debug: run_dir = "/var/run/freeradius"
Thu Feb 21 23:17:50 2013 : Debug: libdir = "/usr/lib/freeradius"
Thu Feb 21 23:17:50 2013 : Debug: radacctdir = "/var/log/freeradius/radacct"
Thu Feb 21 23:17:50 2013 : Debug: hostname_lookups = no
Thu Feb 21 23:17:50 2013 : Debug: max_request_time = 30
Thu Feb 21 23:17:50 2013 : Debug: cleanup_delay = 5
Thu Feb 21 23:17:50 2013 : Debug: max_requests = 1024
Thu Feb 21 23:17:50 2013 : Debug: pidfile = "/var/run/freeradius/freeradius-dhcp.pid"
Thu Feb 21 23:17:50 2013 : Debug: checkrad = "/usr/sbin/checkrad"
Thu Feb 21 23:17:50 2013 : Debug: debug_level = 0
Thu Feb 21 23:17:50 2013 : Debug: proxy_requests = no
Thu Feb 21 23:17:50 2013 : Debug: log {
Thu Feb 21 23:17:50 2013 : Debug: stripped_names = no
Thu Feb 21 23:17:50 2013 : Debug: auth = yes
Thu Feb 21 23:17:50 2013 : Debug: auth_badpass = yes
Thu Feb 21 23:17:50 2013 : Debug: auth_goodpass = yes
Thu Feb 21 23:17:50 2013 : Debug: }
Thu Feb 21 23:17:50 2013 : Debug: security {
Thu Feb 21 23:17:50 2013 : Debug: max_attributes = 200
Thu Feb 21 23:17:50 2013 : Debug: reject_delay = 1
Thu Feb 21 23:17:50 2013 : Debug: status_server = yes
Thu Feb 21 23:17:50 2013 : Debug: }
Thu Feb 21 23:17:50 2013 : Debug: }
Thu Feb 21 23:17:50 2013 : Debug: radiusd: #### Loading Realms and Home Servers ####
Thu Feb 21 23:17:50 2013 : Debug: proxy server {
Thu Feb 21 23:17:50 2013 : Debug: retry_delay = 5
Thu Feb 21 23:17:50 2013 : Debug: retry_count = 3
Thu Feb 21 23:17:50 2013 : Debug: default_fallback = no
Thu Feb 21 23:17:50 2013 : Debug: dead_time = 120
Thu Feb 21 23:17:50 2013 : Debug: wake_all_if_all_dead = no
Thu Feb 21 23:17:50 2013 : Debug: }
Thu Feb 21 23:17:50 2013 : Debug: home_server localhost {
Thu Feb 21 23:17:50 2013 : Debug: ipaddr = 127.0.0.1
Thu Feb 21 23:17:50 2013 : Debug: port = 1812
Thu Feb 21 23:17:50 2013 : Debug: type = "auth"
Thu Feb 21 23:17:50 2013 : Debug: secret = "testing123"
Thu Feb 21 23:17:50 2013 : Debug: response_window = 20
Thu Feb 21 23:17:50 2013 : Debug: max_outstanding = 65536
Thu Feb 21 23:17:50 2013 : Debug: require_message_authenticator = yes
Thu Feb 21 23:17:50 2013 : Debug: zombie_period = 40
Thu Feb 21 23:17:50 2013 : Debug: status_check = "status-server"
Thu Feb 21 23:17:50 2013 : Debug: ping_interval = 30
Thu Feb 21 23:17:50 2013 : Debug: check_interval = 30
Thu Feb 21 23:17:50 2013 : Debug: num_answers_to_alive = 3
Thu Feb 21 23:17:50 2013 : Debug: num_pings_to_alive = 3
Thu Feb 21 23:17:50 2013 : Debug: revive_interval = 120
Thu Feb 21 23:17:50 2013 : Debug: status_check_timeout = 4
Thu Feb 21 23:17:50 2013 : Debug: coa {
Thu Feb 21 23:17:50 2013 : Debug: irt = 2
Thu Feb 21 23:17:50 2013 : Debug: mrt = 16
Thu Feb 21 23:17:50 2013 : Debug: mrc = 5
Thu Feb 21 23:17:50 2013 : Debug: mrd = 30
Thu Feb 21 23:17:50 2013 : Debug: }
Thu Feb 21 23:17:50 2013 : Debug: }
Thu Feb 21 23:17:50 2013 : Debug: home_server_pool my_auth_failover {
Thu Feb 21 23:17:50 2013 : Debug: type = fail-over
Thu Feb 21 23:17:50 2013 : Debug: home_server = localhost
Thu Feb 21 23:17:50 2013 : Debug: }
Thu Feb 21 23:17:50 2013 : Debug: realm example.com {
Thu Feb 21 23:17:50 2013 : Debug: auth_pool = my_auth_failover
Thu Feb 21 23:17:50 2013 : Debug: }
Thu Feb 21 23:17:50 2013 : Debug: realm LOCAL {
Thu Feb 21 23:17:50 2013 : Debug: }
Thu Feb 21 23:17:50 2013 : Debug: radiusd: #### Loading Clients ####
Thu Feb 21 23:17:50 2013 : Debug: client localhost {
Thu Feb 21 23:17:50 2013 : Debug: ipaddr = 127.0.0.1
Thu Feb 21 23:17:50 2013 : Debug: require_message_authenticator = no
Thu Feb 21 23:17:50 2013 : Debug: secret = "testing123"
Thu Feb 21 23:17:50 2013 : Debug: nastype = "other"
Thu Feb 21 23:17:50 2013 : Debug: }
Thu Feb 21 23:17:50 2013 : Debug: radiusd: #### Instantiating modules ####
Thu Feb 21 23:17:50 2013 : Debug: instantiate {
Thu Feb 21 23:17:50 2013 : Debug: (Loaded rlm_exec, checking if it's valid)
Thu Feb 21 23:17:50 2013 : Debug: Module: Linked to module rlm_exec
Thu Feb 21 23:17:50 2013 : Debug: Module: Instantiating module "exec" from file /etc/freeradius-dhcp/modules/exec
Thu Feb 21 23:17:50 2013 : Debug: exec {
Thu Feb 21 23:17:50 2013 : Debug: wait = no
Thu Feb 21 23:17:50 2013 : Debug: input_pairs = "request"
Thu Feb 21 23:17:50 2013 : Debug: shell_escape = yes
Thu Feb 21 23:17:50 2013 : Debug: }
Thu Feb 21 23:17:50 2013 : Debug: (Loaded rlm_expr, checking if it's valid)
Thu Feb 21 23:17:50 2013 : Debug: Module: Linked to module rlm_expr
Thu Feb 21 23:17:50 2013 : Debug: Module: Instantiating module "expr" from file /etc/freeradius-dhcp/modules/expr
Thu Feb 21 23:17:50 2013 : Debug: (Loaded rlm_expiration, checking if it's valid)
Thu Feb 21 23:17:50 2013 : Debug: Module: Linked to module rlm_expiration
Thu Feb 21 23:17:50 2013 : Debug: Module: Instantiating module "expiration" from file /etc/freeradius-dhcp/modules/expiration
Thu Feb 21 23:17:50 2013 : Debug: expiration {
Thu Feb 21 23:17:50 2013 : Debug: reply-message = "Password Has Expired "
Thu Feb 21 23:17:50 2013 : Debug: }
Thu Feb 21 23:17:50 2013 : Debug: (Loaded rlm_logintime, checking if it's valid)
Thu Feb 21 23:17:50 2013 : Debug: Module: Linked to module rlm_logintime
Thu Feb 21 23:17:50 2013 : Debug: Module: Instantiating module "logintime" from file /etc/freeradius-dhcp/modules/logintime
Thu Feb 21 23:17:50 2013 : Debug: logintime {
Thu Feb 21 23:17:50 2013 : Debug: reply-message = "You are calling outside your allowed timespan "
Thu Feb 21 23:17:50 2013 : Debug: minimum-timeout = 60
Thu Feb 21 23:17:50 2013 : Debug: }
Thu Feb 21 23:17:50 2013 : Debug: }
Thu Feb 21 23:17:50 2013 : Debug: radiusd: #### Loading Virtual Servers ####
Thu Feb 21 23:17:50 2013 : Debug: server { # from file /etc/freeradius-dhcp/radiusd.conf
Thu Feb 21 23:17:50 2013 : Debug: modules {
Thu Feb 21 23:17:50 2013 : Debug: } # modules
Thu Feb 21 23:17:50 2013 : Debug: } # server
Thu Feb 21 23:17:50 2013 : Debug: server dhcp { # from file /etc/freeradius-dhcp/sites-enabled/dhcp
Thu Feb 21 23:17:50 2013 : Debug: modules {
Thu Feb 21 23:17:50 2013 : Debug: Module: Checking dhcp DHCP-Discover {...} for more modules to load
Thu Feb 21 23:17:50 2013 : Debug: (Loaded rlm_linelog, checking if it's valid)
Thu Feb 21 23:17:50 2013 : Debug: Module: Linked to module rlm_linelog
Thu Feb 21 23:17:50 2013 : Debug: Module: Instantiating module "linelog-dhcp" from file /etc/freeradius-dhcp/modules/linelog
Thu Feb 21 23:17:50 2013 : Debug: linelog linelog-dhcp {
Thu Feb 21 23:17:50 2013 : Debug: filename = "/var/log/freeradius/linelog-dhcp"
Thu Feb 21 23:17:50 2013 : Debug: permissions = 384
Thu Feb 21 23:17:50 2013 : Debug: format = ""
Thu Feb 21 23:17:50 2013 : Debug: reference = "%{%{reply:DHCP-Message-Type}:-%{request:DHCP-Message-Type}}"
Thu Feb 21 23:17:50 2013 : Debug: }
Thu Feb 21 23:17:50 2013 : Debug: (Loaded rlm_perl, checking if it's valid)
Thu Feb 21 23:17:50 2013 : Debug: Module: Linked to module rlm_perl
Thu Feb 21 23:17:50 2013 : Debug: Module: Instantiating module "perl" from file /etc/freeradius-dhcp/modules/perl
Thu Feb 21 23:17:50 2013 : Debug: perl {
Thu Feb 21 23:17:50 2013 : Debug: module = "/etc/freeradius-dhcp/hard-dhcp.pm"
Thu Feb 21 23:17:50 2013 : Debug: func_authorize = "authorize"
Thu Feb 21 23:17:50 2013 : Debug: func_authenticate = "authenticate"
Thu Feb 21 23:17:50 2013 : Debug: func_accounting = "accounting"
Thu Feb 21 23:17:50 2013 : Debug: func_preacct = "preacct"
Thu Feb 21 23:17:50 2013 : Debug: func_checksimul = "checksimul"
Thu Feb 21 23:17:50 2013 : Debug: func_detach = "detach"
Thu Feb 21 23:17:50 2013 : Debug: func_xlat = "xlat"
Thu Feb 21 23:17:50 2013 : Debug: func_pre_proxy = "pre_proxy"
Thu Feb 21 23:17:50 2013 : Debug: func_post_proxy = "post_proxy"
Thu Feb 21 23:17:50 2013 : Debug: func_post_auth = "post_auth"
Thu Feb 21 23:17:50 2013 : Debug: func_recv_coa = "recv_coa"
Thu Feb 21 23:17:50 2013 : Debug: func_send_coa = "send_coa"
Thu Feb 21 23:17:50 2013 : Debug: }
Thu Feb 21 23:17:50 2013 : Debug: (Loaded rlm_always, checking if it's valid)
Thu Feb 21 23:17:50 2013 : Debug: Module: Linked to module rlm_always
Thu Feb 21 23:17:50 2013 : Debug: Module: Instantiating module "ok" from file /etc/freeradius-dhcp/modules/always
Thu Feb 21 23:17:50 2013 : Debug: always ok {
Thu Feb 21 23:17:50 2013 : Debug: rcode = "ok"
Thu Feb 21 23:17:50 2013 : Debug: simulcount = 0
Thu Feb 21 23:17:50 2013 : Debug: mpp = no
Thu Feb 21 23:17:50 2013 : Debug: }
Thu Feb 21 23:17:50 2013 : Debug: Module: Checking dhcp DHCP-Request {...} for more modules to load
Thu Feb 21 23:17:50 2013 : Debug: Module: Checking dhcp DHCP-Release {...} for more modules to load
Thu Feb 21 23:17:50 2013 : Debug: Module: Instantiating module "handled" from file /etc/freeradius-dhcp/modules/always
Thu Feb 21 23:17:50 2013 : Debug: always handled {
Thu Feb 21 23:17:50 2013 : Debug: rcode = "handled"
Thu Feb 21 23:17:50 2013 : Debug: simulcount = 0
Thu Feb 21 23:17:50 2013 : Debug: mpp = no
Thu Feb 21 23:17:50 2013 : Debug: }
Thu Feb 21 23:17:50 2013 : Debug: Module: Checking dhcp DHCP-Inform {...} for more modules to load
Thu Feb 21 23:17:50 2013 : Debug: Module: Checking dhcp (null) {...} for more modules to load
Thu Feb 21 23:17:50 2013 : Error: /etc/freeradius-dhcp/sites-enabled/dhcp[73]: No name specified for Post-Auth-Type block
Thu Feb 21 23:17:50 2013 : Debug: } # modules
Thu Feb 21 23:17:50 2013 : Debug: } # server
Thu Feb 21 23:17:50 2013 : Debug: radiusd: #### Opening IP addresses and Ports ####
Thu Feb 21 23:17:50 2013 : Debug: listen {
Thu Feb 21 23:17:50 2013 : Debug: type = "dhcp"
Thu Feb 21 23:17:50 2013 : Debug: ipaddr = #!# i deleted it for security reason #!#
Thu Feb 21 23:17:50 2013 : Debug: port = 67
Thu Feb 21 23:17:50 2013 : Debug: WARNING: No "interface" setting is defined. Only unicast DHCP will work.
Thu Feb 21 23:17:50 2013 : Debug: }
Thu Feb 21 23:17:50 2013 : Debug: Listening on dhcp address X.X.X.X port 67 as server dhcp
Thu Feb 21 23:17:50 2013 : Info: Ready to process requests.
Received DHCP-Discover of id 1076b1f0 from Y.Y.Y.Y:68 to X.X.X.X
:67
01 01 06 01 10 76 b1 f0 00 00 80 00 00 00 00 00
00 00 00 00 00 00 00 00 0a 01 01 fe 00 13 46 35
de 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 63 82 53 63
35 01 01 74 01 01 3d 07 01 00 13 46 35 de 04 0c
0f 79 6f 75 72 2d 65 34 61 63 62 36 35 61 33 33
3c 08 4d 53 46 54 20 35 2e 30 37 0b 01 0f 03 06
2c 2e 2f 1f 21 f9 2b 2b 02 dc 00 52 12 01 06 00
04 00 01 00 15 02 08 00 06 1c bd b9 56 9c 40 ff

DHCP-Opcode = Client-Message
DHCP-Hardware-Type = Ethernet
DHCP-Hardware-Address-Length = 6
DHCP-Hop-Count = 1
DHCP-Transaction-Id = 276214256
DHCP-Number-of-Seconds = 0
DHCP-Flags = Broadcast
DHCP-Client-IP-Address = 0.0.0.0
DHCP-Your-IP-Address = 0.0.0.0
DHCP-Server-IP-Address = 0.0.0.0
    DHCP-Gateway-IP-Address = Y.Y.Y.Y
DHCP-Client-Hardware-Address = #!#some mac address1 #!#
DHCP-Message-Type = DHCP-Discover
DHCP-Auto-Config = 1
DHCP-Client-Identifier = #!#some mac address #!#
DHCP-Hostname = "some-hostname"
DHCP-Vendor-Class-Identifier = "MSFT 5.0"
DHCP-Parameter-Request-List = DHCP-Subnet-Mask
DHCP-Parameter-Request-List = DHCP-Domain-Name
DHCP-Parameter-Request-List = DHCP-Router-Address
DHCP-Parameter-Request-List = DHCP-Domain-Name-Server
DHCP-Parameter-Request-List = DHCP-NETBIOS-Name-Servers
DHCP-Parameter-Request-List = DHCP-NETBIOS-Node-Type
DHCP-Parameter-Request-List = DHCP-NETBIOS
DHCP-Parameter-Request-List = DHCP-Perform-Router-Discovery
DHCP-Parameter-Request-List = DHCP-Static-Routes
DHCP-Parameter-Request-List = 249
DHCP-Parameter-Request-List = DHCP-Vendor
DHCP-Vendor = 0xdc00
DHCP-Relay-Circuit-Id = 0x000400010015
DHCP-Relay-Remote-Id = 0x00061cbdb9569c40

Thu Feb 21 23:18:32 2013 : Info: server dhcp {
Thu Feb 21 23:18:32 2013 : Debug: Trying sub-section dhcp DHCP-Discover {...}
Thu Feb 21 23:18:32 2013 : Info: +- entering group DHCP-Discover {...}
Thu Feb 21 23:18:32 2013 : Info: [linelog-dhcp] expand: %{reply:DHCP-Message-Type} ->
Thu Feb 21 23:18:32 2013 : Info: [linelog-dhcp] ... expanding second conditional
Thu Feb 21 23:18:32 2013 : Info: [linelog-dhcp] expand: %{request:DHCP-Message-Type} -> DHCP-Discover
Thu Feb 21 23:18:32 2013 : Info: [linelog-dhcp] expand: %{%{reply:DHCP-Message-Type}:-%{request:DHCP-Message-Type}} -> DHCP-Discover
Thu Feb 21 23:18:32 2013 : Info: [linelog-dhcp] expand: /var/log/freeradius/linelog-dhcp -> /var/log/freeradius/linelog-dhcp
Thu Feb 21 23:18:32 2013 : Info: [linelog-dhcp] expand: %S --> Transaction-ID: %{DHCP-Transaction-Id} DISCOVER: [%{DHCP-Client-Hardware-Address}] via (%{DHCP-Gateway-IP-Address}), hop count = %{DHCP-Hop-Count}, Relay = %{DHCP-Relay-Remote-Id}, Hostname = %{DHCP-Hostname} -> 2013-02-21 23:18:32 --> Transaction-ID: 276214256 DISCOVER: [#!#some mac address #!#] via (Y.Y.Y.Y), hop count = 1, Relay = 0x00061cbdb9569c40, Hostname = some-hostname
Thu Feb 21 23:18:32 2013 : Info: ++[linelog-dhcp] returns ok
Thu Feb 21 23:18:32 2013 : Info: ++[reply] returns ok

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff4976dce in rlmperl_call (instance=0x7be2b0, request=0x7e6c00, function_name=0x7bc5a0 "post_auth") at rlm_perl.c:687
687 perl_store_vps(request->reply->vps, rad_reply_hv);
(gdb) print request
$1 = (REQUEST *) 0x7e6c00
(gdb) print request->reply
$2 = (RADIUS_PACKET *) 0x0
(gdb) print request->reply->vps
Cannot access memory at address 0x70
(gdb) bt
#0 0x00007ffff4976dce in rlmperl_call (instance=0x7be2b0, request=0x7e6c00, function_name=0x7bc5a0 "post_auth") at rlm_perl.c:687
#1 0x000000000041d922 in modcall ()
#2 0x000000000041a2e3 in indexed_modcall ()
#3 0x00000000004139ed in ?? ()
#4 0x000000000042a8de in radius_handle_request ()
#5 0x0000000000421835 in thread_pool_addrequest ()
#6 0x000000000042bf2e in ?? ()
#7 0x00007ffff7864dbb in fr_event_loop () from /usr/lib/freeradius/libfreeradius-radius-2.2.0.so
#8 0x000000000041e88a in main ()

(gdb)

Update stanzas do not inherit priority overrides

authorize {
        fail {
                fail = 1
        }

        if (fail) {
                update request {
                        Tmp-String-0 := "foo"
                }
        }

        ok
}

We would expect the server to process the last ok, but instead it returns after the condition. This is because it is passing through the return code from fail, but does not have the correct priority/action overrides applies.

hex: and base64: expansions converts integer values in the wrong byte order

The hex xlat expansion does not take into account system byte order when printing out integers.

Hex strings are expected to be in bigendian byte order, but on most modern operating systems the system byte order is little endian (At least OSX on x86/-64 and Linux on x86/-64).

Most people expect hex strings to be big endian, and indeed the vp value parser expects hex strings to be bigendian.

So if we do

update request {
    Tmp-Integer-0 := 2815
}
update request {
    Tmp-Integer-0 := "0x%{hex:Tmp-Integer-0}"
}
update request {
    Tmp-Integer-0 := "%{Tmp-Integer-0}"
}

we get 65290

Same is true for the new base64 encoder.

Null device on WIN32 platform not found

There is error with openning /dev/null on win32. Raises when -X not specified in radiusd.c, because on Win32 it's called NUL. It must be #ifdefed. & maybe defined as constant somewhere

sql schema issue

The schema.sql for the radacct table has a groupname column, but insert and update statements defined in dialup.conf never reference that column at least for mysql - it would be useful to have groupname populated in radacct - was wondering if it was possible and what modifications would be necessary to the queries in dialup.conf???

Proxying between two FR3 server is broken when user failed authentication

Two FR3 servers, one local handling the client request, one central handling the authn+z.

With correct credentials, everything is ok and the flow is normal

With incorrect credentials, the access-reject reach the local radius, but is not passed to the client, which in turn re-transmit his last access-challenge.

This happen for users in my realm and for external realms (proxied to eduroam top level radius servers)

To be sure that it was not my fault, I've removed all un-needed elements in the config (user filtering, policying, attribute filtering. It's a basic default configuration)

Before providing debug output, packets capture, screenshots, pint of beers and pretzels ... I'll upgrade all the radius servers to the last commit in the master branch.

BRB

pam_radius powerpc build issue

The pam_radius/md5.c needs to account for other big endian processors like powerpc.

This patch works for me using gcc 4.6.3:

Index: md5.c

--- md5.c (revision 210)
+++ md5.c (working copy)
@@ -42,7 +42,7 @@
#include <string.h>
#include "md5.h"

-#if defined(__sparc) || defined(__mips)
+#if __BYTE_ORDER == __BIG_ENDIAN
#define HIGHFIRST
#endif

MASTER/HEAD doesnt build

fresh GIT clone, ./configure step undertaken (with following flags -

./configure --prefix=/usr --enable-shared --with-large-files --with-raddbdir=/etc/raddb --with-snmp --with-experimental-modules --enable-boilermake )

then make gives:

HEADER src/include/features.h
HEADER src/include/missing.h
HEADER src/include/tls.h
CC jlibtool.c
scripts//jlibtool.c: In function ‘add_rpath_file’:
scripts//jlibtool.c:1273: warning: passing argument 1 of ‘free’ discards qualifiers from pointer target type
scripts//jlibtool.c: In function ‘add_rpath_noinstall’:
scripts//jlibtool.c:1284: warning: passing argument 1 of ‘free’ discards qualifiers from pointer target type
scripts//jlibtool.c: In function ‘parse_args’:
scripts//jlibtool.c:1812: warning: assignment discards qualifiers from pointer target type
/tmp/ccNhriqy.o: In function parse_long_opt': jlibtool.c:(.text+0xb11): undefined reference tostrlcpy'
collect2: ld returned 1 exit status
make: *** [build/make/jlibtool] Error 1

radmin command to re-open log file handle

Some third party modules have issues with HUP signals, it'd be useful to have a radmin command so that we could just re-open the file handles and not do any of the associated config parsing, or module detaching/re-attaching.

freeradius: segfault in rlm_preprocess-2.1.12.so

i got segfault. default debian package 2.1.2+dfsg-1.1
difference is ./configure key added
--with-dhcp
--with-modules="rlm_perl"

gdb output

-# Executing section authorize from file /etc/freeradius/sites-enabled/default
+- entering group authorize {...}

Program received signal SIGSEGV, Segmentation fault.
rad_mangle (data=0xdd9d90, request=0xdecdc0) at rlm_preprocess.c:219
219 request_pairs = request->packet->vps;

PS this is my first bug report, so maybe i didn't provide you all needed data

FR3 segfault without TLS virtual server active

....so, believing the issue might be with the TLS/RADSEC stuff, disabled that function and still get crash. the details might be more relevant/interesting now as the server could run in single-thread mode without the TLS code...

(7461) attr_filter.accounting_response : Matched entry DEFAULT at line 103
(7461)   [attr_filter.accounting_response] = updated
(7461) # Executing section pre-proxy from file /etc/raddb/sites-enabled/lboro
(7461)   group pre-proxy {
(7461)  - entering group pre-proxy {...}
(7461)   [files] = noop
(7461) pre_proxy_log :  expand: '/var/log/radius/radacct/%{Client-IP-Address}/pre-proxy-detail-%Y%m%d' -> '/var/log/radius/radacct/10.53.253.16/pre-proxy-detail-20121210'
(7461) pre_proxy_log : /var/log/radius/radacct/%{Client-IP-Address}/pre-proxy-detail-%Y%m%d expands to /var/log/radius/radacct/10.53.253.16/pre-proxy-detail-20121210
(7461) pre_proxy_log :  expand: '%t' -> 'Mon Dec 10 12:00:14 2012'
(7461)   [pre_proxy_log] = ok

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7bc5f5f in fr_packet_cmp (a=0x512ea20, b=0x0) at src/lib/packet.c:45
45      rcode = a->id - b->id;

GDB as follows:

# more gdb-noradsec.txt 
Starting program: /usr/sbin/radiusd -X
[Thread debugging using libthread_db enabled]
Detaching after fork from child process 25790.
Detaching after fork from child process 25793.
Detaching after fork from child process 25797.
Detaching after fork from child process 25800.
Detaching after fork from child process 25802.
Detaching after fork from child process 25804.
Detaching after fork from child process 25806.
Detaching after fork from child process 25808.
Detaching after fork from child process 25810.
Detaching after fork from child process 25812.
Detaching after fork from child process 25814.
Detaching after fork from child process 25816.
Detaching after fork from child process 25818.
Detaching after fork from child process 25820.
Detaching after fork from child process 25822.
Detaching after fork from child process 25824.
Detaching after fork from child process 25826.
Detaching after fork from child process 25828.
Detaching after fork from child process 25830.
Detaching after fork from child process 25832.
Detaching after fork from child process 25834.
Detaching after fork from child process 25836.
Detaching after fork from child process 25838.
Detaching after fork from child process 25840.
Detaching after fork from child process 25842.
Detaching after fork from child process 25844.
Detaching after fork from child process 25846.
Detaching after fork from child process 25848.
Detaching after fork from child process 25850.
Detaching after fork from child process 25852.
Detaching after fork from child process 25854.
Detaching after fork from child process 25856.
Detaching after fork from child process 25858.
Detaching after fork from child process 25860.
Detaching after fork from child process 25862.
Detaching after fork from child process 25864.
Detaching after fork from child process 25866.
Detaching after fork from child process 25868.
Detaching after fork from child process 25870.
Detaching after fork from child process 25872.
Detaching after fork from child process 25874.
Detaching after fork from child process 25876.
Detaching after fork from child process 25878.
Detaching after fork from child process 25880.
Detaching after fork from child process 25882.
Detaching after fork from child process 25885.
Detaching after fork from child process 25887.
Detaching after fork from child process 25890.
Detaching after fork from child process 25892.
Detaching after fork from child process 25894.
Detaching after fork from child process 25896.
Detaching after fork from child process 25898.
Detaching after fork from child process 25900.
Detaching after fork from child process 25902.
Detaching after fork from child process 25903.
Detaching after fork from child process 25906.
Detaching after fork from child process 25908.
Detaching after fork from child process 25910.
Detaching after fork from child process 25912.
Detaching after fork from child process 25914.
Detaching after fork from child process 25915.
Detaching after fork from child process 25917.
Detaching after fork from child process 25919.
Detaching after fork from child process 25921.
Detaching after fork from child process 25923.
Detaching after fork from child process 25925.
Detaching after fork from child process 25927.
Detaching after fork from child process 25929.
Detaching after fork from child process 25931.
Detaching after fork from child process 25933.
Detaching after fork from child process 25935.
Detaching after fork from child process 25937.
Detaching after fork from child process 25939.
Detaching after fork from child process 25941.
Detaching after fork from child process 25943.
Detaching after fork from child process 25945.
Detaching after fork from child process 25947.
Detaching after fork from child process 25949.
Detaching after fork from child process 25951.
Detaching after fork from child process 25953.
Detaching after fork from child process 25955.
Detaching after fork from child process 25957.
Detaching after fork from child process 25959.
Detaching after fork from child process 25961.
Detaching after fork from child process 25963.
Detaching after fork from child process 25965.
Detaching after fork from child process 25967.
Detaching after fork from child process 25969.
Detaching after fork from child process 25971.
Detaching after fork from child process 25973.
Detaching after fork from child process 25974.
Detaching after fork from child process 25977.
Detaching after fork from child process 25979.
Detaching after fork from child process 25981.
Detaching after fork from child process 25983.
Detaching after fork from child process 25985.
Detaching after fork from child process 25987.
Detaching after fork from child process 25989.
Detaching after fork from child process 25991.
Detaching after fork from child process 25993.
Detaching after fork from child process 25994.
Detaching after fork from child process 25997.
Detaching after fork from child process 25999.
Detaching after fork from child process 26001.
Detaching after fork from child process 26002.
Detaching after fork from child process 26005.
Detaching after fork from child process 26007.
Detaching after fork from child process 26009.
Detaching after fork from child process 26011.
Detaching after fork from child process 26013.
Detaching after fork from child process 26015.
Detaching after fork from child process 26016.
Detaching after fork from child process 26019.
Detaching after fork from child process 26021.
Detaching after fork from child process 26022.
Detaching after fork from child process 26023.
Detaching after fork from child process 26024.
Detaching after fork from child process 26028.
Detaching after fork from child process 26029.
Detaching after fork from child process 26032.
Detaching after fork from child process 26034.
Detaching after fork from child process 26035.
Detaching after fork from child process 26038.
Detaching after fork from child process 26040.
Detaching after fork from child process 26041.
Detaching after fork from child process 26044.
Detaching after fork from child process 26045.
Detaching after fork from child process 26046.
Detaching after fork from child process 26049.
Detaching after fork from child process 26050.
Detaching after fork from child process 26053.
Detaching after fork from child process 26054.
Detaching after fork from child process 26055.
Detaching after fork from child process 26056.
Detaching after fork from child process 26061.
Detaching after fork from child process 26062.
Detaching after fork from child process 26063.
Detaching after fork from child process 26064.
Detaching after fork from child process 26068.
Detaching after fork from child process 26071.
Detaching after fork from child process 26072.
Detaching after fork from child process 26074.
Detaching after fork from child process 26075.
Detaching after fork from child process 26076.
Detaching after fork from child process 26078.
Detaching after fork from child process 26083.
Detaching after fork from child process 26084.
Detaching after fork from child process 26085.
Detaching after fork from child process 26086.
Detaching after fork from child process 26087.
Detaching after fork from child process 26089.
Detaching after fork from child process 26091.
Detaching after fork from child process 26095.
Detaching after fork from child process 26097.
Detaching after fork from child process 26099.
Detaching after fork from child process 26101.
Detaching after fork from child process 26102.
Detaching after fork from child process 26104.
Detaching after fork from child process 26106.
Detaching after fork from child process 26107.
Detaching after fork from child process 26108.
Detaching after fork from child process 26109.
Detaching after fork from child process 26111.
Detaching after fork from child process 26112.
Detaching after fork from child process 26113.
Detaching after fork from child process 26114.
Detaching after fork from child process 26115.
Detaching after fork from child process 26116.
Detaching after fork from child process 26117.
Detaching after fork from child process 26118.
Detaching after fork from child process 26119.
Detaching after fork from child process 26122.
Detaching after fork from child process 26123.
Detaching after fork from child process 26124.
Detaching after fork from child process 26125.
Detaching after fork from child process 26126.
Detaching after fork from child process 26138.
Detaching after fork from child process 26143.
Detaching after fork from child process 26145.
Detaching after fork from child process 26147.
Detaching after fork from child process 26149.
Detaching after fork from child process 26151.
Detaching after fork from child process 26153.
Detaching after fork from child process 26156.
Detaching after fork from child process 26157.
Detaching after fork from child process 26161.
Detaching after fork from child process 26162.
Detaching after fork from child process 26164.
Detaching after fork from child process 26165.
Detaching after fork from child process 26167.
Detaching after fork from child process 26168.
Detaching after fork from child process 26171.
Detaching after fork from child process 26174.
Detaching after fork from child process 26178.
Detaching after fork from child process 26180.
Detaching after fork from child process 26183.
Detaching after fork from child process 26184.
Detaching after fork from child process 26185.
Detaching after fork from child process 26186.
Detaching after fork from child process 26187.
Detaching after fork from child process 26188.
Detaching after fork from child process 26189.
Detaching after fork from child process 26191.
Detaching after fork from child process 26193.
Detaching after fork from child process 26194.
Detaching after fork from child process 26195.
Detaching after fork from child process 26196.
Detaching after fork from child process 26197.
Detaching after fork from child process 26202.
Detaching after fork from child process 26205.
Detaching after fork from child process 26208.
Detaching after fork from child process 26211.
Detaching after fork from child process 26213.
Detaching after fork from child process 26214.
Detaching after fork from child process 26216.
Detaching after fork from child process 26219.
Detaching after fork from child process 26220.
Detaching after fork from child process 26222.
Detaching after fork from child process 26223.
Detaching after fork from child process 26226.
Detaching after fork from child process 26228.
Detaching after fork from child process 26232.
Detaching after fork from child process 26233.
Detaching after fork from child process 26234.
Detaching after fork from child process 26237.
Detaching after fork from child process 26239.
Detaching after fork from child process 26241.
Detaching after fork from child process 26244.
Detaching after fork from child process 26245.
Detaching after fork from child process 26248.
Detaching after fork from child process 26250.
Detaching after fork from child process 26253.
Detaching after fork from child process 26255.
Detaching after fork from child process 26258.
Detaching after fork from child process 26261.
Detaching after fork from child process 26262.
Detaching after fork from child process 26263.
Detaching after fork from child process 26266.
Detaching after fork from child process 26268.
Detaching after fork from child process 26269.
Detaching after fork from child process 26270.
Detaching after fork from child process 26272.
Detaching after fork from child process 26273.
Detaching after fork from child process 26274.
Detaching after fork from child process 26275.
Detaching after fork from child process 26277.
Detaching after fork from child process 26278.
Detaching after fork from child process 26279.
Detaching after fork from child process 26285.
Detaching after fork from child process 26287.
Detaching after fork from child process 26292.
Detaching after fork from child process 26295.
Detaching after fork from child process 26296.
Detaching after fork from child process 26297.
Detaching after fork from child process 26299.
Detaching after fork from child process 26300.
Detaching after fork from child process 26304.
Detaching after fork from child process 26305.
Detaching after fork from child process 26306.
Detaching after fork from child process 26308.
Detaching after fork from child process 26310.
Detaching after fork from child process 26311.
Detaching after fork from child process 26316.
Detaching after fork from child process 26319.
Detaching after fork from child process 26321.
Detaching after fork from child process 26322.
Detaching after fork from child process 26325.
Detaching after fork from child process 26327.
Detaching after fork from child process 26328.
Detaching after fork from child process 26329.
Detaching after fork from child process 26334.
Detaching after fork from child process 26335.
Detaching after fork from child process 26336.
Detaching after fork from child process 26339.
Detaching after fork from child process 26341.
Detaching after fork from child process 26344.
Detaching after fork from child process 26345.
Detaching after fork from child process 26347.
Detaching after fork from child process 26350.
Detaching after fork from child process 26351.
Detaching after fork from child process 26352.
Detaching after fork from child process 26355.
Detaching after fork from child process 26358.
Detaching after fork from child process 26360.
Detaching after fork from child process 26362.
Detaching after fork from child process 26363.
Detaching after fork from child process 26366.
Detaching after fork from child process 26367.
Detaching after fork from child process 26369.
Detaching after fork from child process 26371.
Detaching after fork from child process 26372.
Detaching after fork from child process 26375.
Detaching after fork from child process 26377.
Detaching after fork from child process 26379.
Detaching after fork from child process 26380.
Detaching after fork from child process 26382.
Detaching after fork from child process 26385.
Detaching after fork from child process 26387.
Detaching after fork from child process 26389.
Detaching after fork from child process 26391.
Detaching after fork from child process 26393.
Detaching after fork from child process 26395.
Detaching after fork from child process 26397.
Detaching after fork from child process 26399.
Detaching after fork from child process 26401.
Detaching after fork from child process 26403.
Detaching after fork from child process 26405.
Detaching after fork from child process 26406.
Detaching after fork from child process 26409.
Detaching after fork from child process 26411.
Detaching after fork from child process 26413.
Detaching after fork from child process 26415.
Detaching after fork from child process 26417.
Detaching after fork from child process 26419.
Detaching after fork from child process 26420.
Detaching after fork from child process 26422.
Detaching after fork from child process 26424.
Detaching after fork from child process 26426.
Detaching after fork from child process 26427.
Detaching after fork from child process 26428.
Detaching after fork from child process 26430.
Detaching after fork from child process 26434.
Detaching after fork from child process 26435.
Detaching after fork from child process 26438.
Detaching after fork from child process 26440.
Detaching after fork from child process 26442.
Detaching after fork from child process 26444.
Detaching after fork from child process 26446.
Detaching after fork from child process 26448.
Detaching after fork from child process 26450.
Detaching after fork from child process 26452.
Detaching after fork from child process 26453.
Detaching after fork from child process 26456.
Detaching after fork from child process 26457.
Detaching after fork from child process 26459.
Detaching after fork from child process 26460.
Detaching after fork from child process 26463.
Detaching after fork from child process 26464.
Detaching after fork from child process 26466.
Detaching after fork from child process 26469.
Detaching after fork from child process 26471.
Detaching after fork from child process 26473.
Detaching after fork from child process 26474.
Detaching after fork from child process 26477.
Detaching after fork from child process 26479.
Detaching after fork from child process 26481.
Detaching after fork from child process 26482.
Detaching after fork from child process 26484.
Detaching after fork from child process 26486.
Detaching after fork from child process 26487.
Detaching after fork from child process 26488.
Detaching after fork from child process 26491.
Detaching after fork from child process 26493.
Detaching after fork from child process 26495.
Detaching after fork from child process 26497.
Detaching after fork from child process 26498.
Detaching after fork from child process 26500.
Detaching after fork from child process 26502.
Detaching after fork from child process 26504.
Detaching after fork from child process 26506.
Detaching after fork from child process 26508.
Detaching after fork from child process 26509.
Detaching after fork from child process 26510.
Detaching after fork from child process 26513.
Detaching after fork from child process 26515.
Detaching after fork from child process 26516.
Detaching after fork from child process 26519.
Detaching after fork from child process 26521.
Detaching after fork from child process 26523.
Detaching after fork from child process 26525.
Detaching after fork from child process 26527.
Detaching after fork from child process 26529.
Detaching after fork from child process 26531.
Detaching after fork from child process 26533.
Detaching after fork from child process 26534.
Detaching after fork from child process 26536.
Detaching after fork from child process 26538.
Detaching after fork from child process 26540.
Detaching after fork from child process 26542.
Detaching after fork from child process 26544.
Detaching after fork from child process 26546.
Detaching after fork from child process 26548.
Detaching after fork from child process 26550.
Detaching after fork from child process 26552.
Detaching after fork from child process 26554.
Detaching after fork from child process 26556.
Detaching after fork from child process 26558.
Detaching after fork from child process 26560.
Detaching after fork from child process 26562.
Detaching after fork from child process 26564.
Detaching after fork from child process 26566.
Detaching after fork from child process 26568.
Detaching after fork from child process 26570.
Detaching after fork from child process 26572.
Detaching after fork from child process 26574.
Detaching after fork from child process 26576.
Detaching after fork from child process 26578.
Detaching after fork from child process 26580.
Detaching after fork from child process 26582.
Detaching after fork from child process 26584.
Detaching after fork from child process 26586.
Detaching after fork from child process 26588.
Detaching after fork from child process 26590.
Detaching after fork from child process 26592.
Detaching after fork from child process 26594.
Detaching after fork from child process 26596.
Detaching after fork from child process 26598.
Detaching after fork from child process 26600.
Detaching after fork from child process 26602.
Detaching after fork from child process 26603.
Detaching after fork from child process 26606.
Detaching after fork from child process 26608.
Detaching after fork from child process 26610.
Detaching after fork from child process 26612.
Detaching after fork from child process 26614.
Detaching after fork from child process 26616.
Detaching after fork from child process 26618.
Detaching after fork from child process 26620.
Detaching after fork from child process 26622.
Detaching after fork from child process 26624.
Detaching after fork from child process 26626.
Detaching after fork from child process 26628.
Detaching after fork from child process 26630.
Detaching after fork from child process 26632.
Detaching after fork from child process 26633.
Detaching after fork from child process 26636.
Detaching after fork from child process 26638.
Detaching after fork from child process 26640.
Detaching after fork from child process 26642.
Detaching after fork from child process 26644.
Detaching after fork from child process 26646.
Detaching after fork from child process 26648.
Detaching after fork from child process 26650.
Detaching after fork from child process 26652.
Detaching after fork from child process 26654.
Detaching after fork from child process 26656.
Detaching after fork from child process 26658.
Detaching after fork from child process 26660.
Detaching after fork from child process 26661.
Detaching after fork from child process 26664.
Detaching after fork from child process 26666.
Detaching after fork from child process 26668.
Detaching after fork from child process 26673.
Detaching after fork from child process 26675.
Detaching after fork from child process 26677.
Detaching after fork from child process 26679.
Detaching after fork from child process 26681.
Detaching after fork from child process 26683.
Detaching after fork from child process 26701.
Detaching after fork from child process 26704.
Detaching after fork from child process 26752.
Detaching after fork from child process 26772.
Detaching after fork from child process 26789.
Detaching after fork from child process 26806.
Detaching after fork from child process 26826.
Detaching after fork from child process 26827.
Detaching after fork from child process 26876.
Detaching after fork from child process 26877.
Detaching after fork from child process 26906.
Detaching after fork from child process 26935.
Detaching after fork from child process 26987.
Detaching after fork from child process 27007.
Detaching after fork from child process 27015.
Detaching after fork from child process 27091.
Detaching after fork from child process 27102.
Detaching after fork from child process 27120.
Detaching after fork from child process 27133.
Detaching after fork from child process 27158.
Detaching after fork from child process 27180.
Detaching after fork from child process 27181.
Detaching after fork from child process 27189.
Detaching after fork from child process 27197.
Detaching after fork from child process 27200.
Detaching after fork from child process 27215.
Detaching after fork from child process 27243.
Detaching after fork from child process 27281.
Detaching after fork from child process 27297.
Detaching after fork from child process 27305.
Detaching after fork from child process 27351.
Detaching after fork from child process 27402.
Detaching after fork from child process 27418.
Detaching after fork from child process 27433.
Detaching after fork from child process 27456.
Detaching after fork from child process 27458.
Detaching after fork from child process 27459.
Detaching after fork from child process 27462.
Detaching after fork from child process 27464.
Detaching after fork from child process 27465.
Detaching after fork from child process 27468.
Detaching after fork from child process 27470.
Detaching after fork from child process 27472.
Detaching after fork from child process 27474.
Detaching after fork from child process 27476.
Detaching after fork from child process 27478.
Detaching after fork from child process 27480.
Detaching after fork from child process 27482.
Detaching after fork from child process 27484.
Detaching after fork from child process 27486.
Detaching after fork from child process 27488.
Detaching after fork from child process 27489.
Detaching after fork from child process 27492.
Detaching after fork from child process 27494.
Detaching after fork from child process 27496.
Detaching after fork from child process 27497.
Detaching after fork from child process 27500.
Detaching after fork from child process 27502.
Detaching after fork from child process 27504.
Detaching after fork from child process 27506.
Detaching after fork from child process 27508.
Detaching after fork from child process 27510.
Detaching after fork from child process 27512.
Detaching after fork from child process 27514.
Detaching after fork from child process 27516.
Detaching after fork from child process 27518.
Detaching after fork from child process 27519.
Detaching after fork from child process 27522.
Detaching after fork from child process 27523.
Detaching after fork from child process 27526.
Detaching after fork from child process 27528.
Detaching after fork from child process 27529.

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7bc5f5f in fr_packet_cmp (a=0x512ea20, b=0x0) at src/lib/packet.c:45
45      rcode = a->id - b->id;
* 1 Thread 0x7ffff7fea7c0 (LWP 25767)  0x00007ffff7bc5f5f in fr_packet_cmp (a=0x512ea20, b=0x0) at src/lib/packet.c:45
Undefined show command: "threads".  Try "help show".

Thread 1 (Thread 0x7ffff7fea7c0 (LWP 25767)):
#0  0x00007ffff7bc5f5f in fr_packet_cmp (a=0x512ea20, b=0x0) at src/lib/packet.c:45
        rcode = 0
#1  0x00007ffff7bc689b in packet_entry_cmp (one=0x5882190, two=0x4c4b2a0) at src/lib/packet.c:427
        a = 0x5882190
        b = 0x4c4b2a0
#2  0x00007ffff7bbebaa in rbtree_insertnode (tree=0x431df10, Data=0x5882190) at src/lib/rbtree.c:274
        result = 0
        Current = 0x4c92d50
        Parent = 0x0
        X = 0x11ffffdf10
#3  0x00007ffff7bbed82 in rbtree_insert (tree=0x431df10, Data=0x5882190) at src/lib/rbtree.c:328
No locals.
#4  0x00007ffff7bc69d7 in fr_packet_list_insert (pl=0x4346800, request_p=0x5882190) at src/lib/packet.c:476
No locals.
#5  0x000000000043cc3f in insert_into_proxy_hash (request=0x5882180) at src/main/process.c:1719
        buf = "\000\000\000\000\000\000\000\000\323`]\366\067\212\030\060\240\337\377\377\377\177\000\000\351GB\000\000\000\000\000\220\337\377\377\377\177\000\000\240c\376\001\000\000\000\000\220\352\022
\005\001\000\000\000U#\274\367\067\212\030\060\320\337\377\377\377\177\000\000kHB\000\000\000\000\000\300h\000\002\000\000\000\000\240c\376\001\000\000\000\000`\032g\000\000\000\000\000\254*B\000\000\000\
000\000 \340\377\377\377\177\000\000\236WB\000\000\000\000"
        rcode = 1
        tries = 1
        proxy_listener = 0x434f530
#6  0x000000000043e1de in request_proxy (request=0x5882180, retransmit=0) at src/main/process.c:2313
        buffer = "\200!\210\005", '\000' <repeats 12 times>"\300, \340\377\377\377\177\000\000\373\337C\000\000\000\000\000p\340\377\377\377\177\000\000\200!\210\005\000\000\000\000\300\221\211\000\000\00
0\000\000\002\000\000\000\000\000\000\000p\217\224\005", '\000' <repeats 12 times>"\300, \340\377\377\377\177\000\000p@\211\000\000\000\000\000\300\221\211\000\000\000\000\000 \221\211\000\000\000\000\000
\360\340\377\377\000\000\000\000\300\221\211\000\000\000\000"
#7  0x000000000043bbb0 in request_running (request=0x5882180, action=1) at src/main/process.c:1198
        __FUNCTION__ = "request_running"
#8  0x000000000043aedd in request_queue_or_run (request=0x5882180, process=0x43bac7 <request_running>) at src/main/process.c:822
        when = {tv_sec = 1355140814, tv_usec = 664722}
#9  0x000000000043c464 in request_insert (listener=0x3a741f0, packet=0x53bfe90, client=0x1feac20, fun=0x40bec4 <rad_accounting>, pnow=0x7fffffffe1c0) at src/main/process.c:1439
        request = 0x5882180
#10 0x000000000043c06c in request_receive (listener=0x3a741f0, packet=0x53bfe90, client=0x1feac20, fun=0x40bec4 <rad_accounting>) at src/main/process.c:1333
        count = 195
        packet_p = 0x0
        request = 0x0
        now = {tv_sec = 1355140814, tv_usec = 331383}
        sock = 0x3a742c0
#11 0x0000000000419ea9 in acct_socket_recv (listener=0x3a741f0) at src/main/listen.c:1552
        rcode = 296
        code = 4
        src_port = 32769
        packet = 0x53bfe90
        fun = 0x40bec4 <rad_accounting>
        client = 0x1feac20
        src_ipaddr = {af = 2, ipaddr = {ip4addr = {s_addr = 285029642}, ip6addr = {__in6_u = {__u6_addr8 = "\n5\375\020@\\\206\005\000\000\000\000\316\316\305P", __u6_addr16 = {13578, 4349, 23616, 
                  1414, 0, 0, 52942, 20677}, __u6_addr32 = {285029642, 92691520, 0, 1355140814}}}}, scope = 0}
#12 0x00000000004412e5 in event_socket_handler (xel=0x4338f80, fd=32, ctx=0x3a741f0) at src/main/process.c:3409
        listener = 0x3a741f0
#13 0x00007ffff7bc81fa in fr_event_loop (el=0x4338f80) at src/lib/event.c:415
        ef = 0x4338fe0
        i = 2
        rcode = 1
        maxfd = 42
        when = {tv_sec = 1355140814, tv_usec = 331990}
        wake = 0x7fffffffe4f0
        read_fds = {fds_bits = {4294967296, 0 <repeats 15 times>}}
        master_fds = {fds_bits = {8666170261760, 0 <repeats 15 times>}}
#14 0x000000000044246b in radius_event_process () at src/main/process.c:4196
No locals.
#15 0x000000000042c128 in main (argc=2, argv=0x7fffffffe718) at src/main/radiusd.c:415
        rcode = 0
        argval = -1
        spawn_flag = 0
        dont_fork = 1
        flag = 0
        act = {__sigaction_handler = {sa_handler = 0x42c40f <sig_fatal>, sa_sigaction = 0x42c40f <sig_fatal>}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0}
A debugging session is active.

    Inferior 1 [process 25767] will be killed.

Quit anyway? (y or n) 

Why using username instead of user id?

In freeradius sql modules, queries are based on username instead of user id. Is it anything related to performance or it went in this way without any decision?

Using username has two problems:

  • updating a username, or deleting one needs querying at least three tables.
  • Comparing strings needs more time than comparing integers when fetching data.

FreeRADIUS + mySQL: Problem handling users with a $ in the username

Cisco uses a special username to allow Radius authentication of the Privileged Executive Mode in Cisco routers and switchs; the username is $enab15$. On the Cisco equipment, this username is not created, it's hard codded to $enab15$ and/or $enable15$ and there is nothing we can do about that, meaning that the router will send $enab15$ to the Radius server whenever the Privileged Executive Mode is to be authenticated by Radius.

As you can see by the log, the $ is being converted to =24 and therefore the user is never validated. There is an alternate solution, but this is a programming bug - due to the $ at the beginning and end of the username - and therefore should be corrected.

Here is the log:

rad_recv: Access-Request packet from host 192.168.153.132 port 1645, id=10, length=72
NAS-IP-Address = 192.168.153.132
NAS-Port = 0
NAS-Port-Type = Async
User-Name = "$enab15$"
User-Password = "secretasecreta"
Service-Type = Administrative-User
Executing section authorize from file /etc/freeradius/sites-enabled/default

+- entering group authorize {...}
++[preprocess] returns ok
++[chap] returns noop
++[mschap] returns noop
++[digest] returns noop
[suffix] No '@' in User-Name = "$enab15$", looking up realm NULL
[suffix] No such realm "NULL"
++[suffix] returns noop
[eap] No EAP-Message, not doing EAP
++[eap] returns noop
[sql] expand: %{User-Name} -> $enab15$
[sql] sql_set_user escaped user --> '$enab15$'
rlm_sql (sql): Reserving sql socket id: 4
[sql] expand: SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radcheck WHERE username = '=24enab15=24' ORDER BY id
[sql] expand: SELECT groupname FROM radusergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority -> SELECT groupname FROM radusergroup WHERE username = '=24enab15=24' ORDER BY priority
rlm_sql (sql): Released sql socket id: 4
[sql] User $enab15$ not found
++[sql] returns notfound
++[expiration] returns noop
++[logintime] returns noop
[pap] WARNING! No "known good" password found for the user. Authentication may fail because of this.
++[pap] returns noop
ERROR: No authenticate method (Auth-Type) found for the request: Rejecting the user
Failed to authenticate the user.
Using Post-Auth-Type Reject
Executing group from file /etc/freeradius/sites-enabled/default

+- entering group REJECT {...}
[attr_filter.access_reject] expand: %{User-Name} -> $enab15$
attr_filter: Matched entry DEFAULT at line 11
++[attr_filter.access_reject] returns updated
Delaying reject of request 5 for 1 seconds
Going to the next request
Waking up in 0.9 seconds.
Sending delayed reject for request 5
Sending Access-Reject of id 10 to 192.168.153.132 port 1645
Waking up in 4.9 seconds.
Cleaning up request 5 ID 10 with timestamp +2250
Ready to process requests.

Share connection pool between different module instances to the same server.

I configured some LDAP instances with separate files under modules. Some of these share the same LDAP server, they are just a commodity with different filters. It happens that some of these modules are used frequently and don't timeout, others are rarely used and after some time I get messages like:

Sun Jan 20 18:36:42 2013 : Error: [ldap_3] ldap_search() failed: LDAP connection lost.
Sun Jan 20 18:36:42 2013 : Info: [ldap_3] Attempting reconnect

It would be nice if freeradius can detect the module instances using the same server and share the same connection between them so the less used instances won't timeout.

Note that I am using Red Hat 6.3 with its freeradius-2.1.12-4.el6_3. I noticed freeradius 3.0 will have a reworked connection pool, maybe this is already implemented but I didn't test it. I also suppose this could not be done because the different connections parameters (bind user, filters) cannot be shared on the same connection, but I am reporting this anyway.

src/lib/packet.c typo

CC src/lib/packet.c
src/lib/packet.c: In function ‘fr_socket’:
src/lib/packet.c:194: error: expected ‘)’ before ‘{’ token
src/lib/packet.c:217: error: expected expression before ‘}’ token
make: *** [build/objs/src/lib/packet.lo] Error 1

line 193 should read:

if (setsockopt(sockfd, IPPROTO_IP, IP_MTU_DISCOVER,
&flag, sizeof(flag)) < 0) {

?

HOSTINFO not populated

minor quibble. HOSTINFO not populated:

radiusd: FreeRADIUS Version 3.0.0 (git #d2d4504), for host , built on Mar 4 2013 at 23:06:22

note the blankness after 'for host'

OpenID on the wiki site doesn't appear to work.

Hopefully this is the right place to report...

Trying to view this page requires a login. My first question is why, but whatever... I've attempted to login via github and google apps OpenID and neither seem to work.

clients read in from SQL but not recognised

latest GIT HEAD version

clients defined in postgres DB and appear to be read in at server startup eg

rlm_sql (staffbase): Read entry nasname=10.53.253.20,shortname=wifi-3,secret=top-secret
rlm_sql (staffbase): Adding client 10.53.253.20 (wifi-3, server=lboro) to clients list

but when requests come in, they arent handled:

Waking up in 9.9 seconds.
Ignoring request to authentication address 158.125.1.251 port 1812 from unknown client 10.53.253.20 port 32770 proto udp
Waking up in 8.6 seconds.
Ignoring request to authentication address 158.125.1.251 port 1812 from unknown client 10.53.253.20 port 32770 proto udp
Waking up in 6.6 seconds.
Ignoring request to authentication address 158.125.1.251 port 1812 from unknown client 10.53.253.20 port 32770 proto udp
Waking up in 4.6 seconds.
Ignoring request to authentication address 158.125.1.251 port 1812 from unknown client 10.53.253.20 port 32770 proto udp
Waking up in 2.6 seconds.
Ignoring request to authentication address 158.125.1.251 port 1812 from unknown client 10.53.253.20 port 32770 proto udp
Waking up in 0.6 seconds.

using radmin with 'show client list' I see the entry:

radmin> show client list
127.0.0.1

10.53.253.20

radmin>

(I also see that all entries in the local clients.conf are duplicated several times - is this normal behaviour due to eg different listen stanzas being present?)

alan

Different check intervals for zombie and dead

RFC 2865 prevents us from sending keep-alives (including status-checks) during normal operation. The only time were actually allowed to check whether a server is up, is if we suspect it's down.

This is why home servers are marked as zombie, before being marked as dead, and that the lack of responses from a home server is the only thing that will cause FreeRADIUS to try to actively determine its state.

In proxy networks where the first hop is not the terminating server, the next hop server may sometimes be marked as offline if an upstream proxy goes offline, when this occurs we want to quickly determine whether the next hop is really offline or whether its the upstream server.

The num to alive, and check frequency should be low and high respectively for servers in zombie mode, as we have no reason to believe the server is actually offline. Once the server hasn't responded for a period, we can guess that the issue is with the server itself and at this point we want to use a higher num to alive (to stop spurious fail backs) and higher check interval, so were not flooding the network with 'ping' packets over a long period.

Currently the same configuration options are used for both, but ideally we should provide the option to configure them differently.

Segfault in rlm_cache, cache_it, rdebug_pair_list

as per title.

BT

#0  0x00007ffff7bb922b in vp_prints (out=0x7fffffffb9e0 "", outlen=256, vp=0x92aeb0) at src/lib/print.c:616
        len = <optimized out>
        token = 0x7ffff7bcdecc "<INVALID-TOKEN>"
#1  0x000000000042bf30 in rdebug_pair_list (level=2, request=0x968300, vp=0x92aeb0) at src/main/valuepair.c:908
        buffer = "\000leartext-Password = \"aasdfafdafd\"\000\004\000\000\000\000\000\000p\273\377\377\377\177\000\000\000P\246\347\217\343\326/pH\202\000\000\000\000\000\000\203\226", '\000' <repeats 13 times>, "W\346B\000\000\000\000\000\020\360A\000\000\000\000\000ing 5 to\006\000\000\000\000\000\000\000\021\374\273\367\377\177\000\000H\r\224\000\000\000\000\000\220\t\205\000\000\000\000\000\000\203\226\000\000\000\000\000\360h\202\000\000\000\000\000p\273\377\377\377\177\000\000\002\000\000\000\000\000\000\000\320\037\215\000\000\000\000\000\t\331+\364\377\177\000\000p\273\377\377\377\177\000\000қC\000\000\000\000\000\005", '\000' <repeats 15 times>, "@ \215\000\000\000\000\000\000P\246\347\217\343\326/ \r\224\000\000\000\000\000\000\203\226\000\000\000\000"
#2  0x00007ffff42bde6f in cache_merge (c=0x850990, request=0x968300, inst=<optimized out>) at src/modules/rlm_cache/rlm_cache.c:139
        vp = 0x0
#3  cache_it (instance=0x8268f0, request=0x968300) at src/modules/rlm_cache/rlm_cache.c:846
        c = 0x850990
        vp = <optimized out>
        buffer = "[email protected]\000\233\366\377\177\000\000\020\275\377\377\377\177\000\000\344\006\273\367\377\177\000\000\314\000E\000\000\000\000\000\060\274\377\377\377\177\000\000\020th\000\000\000\000\000\001\000\000\000\000\000\000\000\300\344\205\000\000\000\000\000\215\a\273\367\377\177\000\000\000\000\000\000\000\000\000\000:R\273\367\377\177\000\000\000\000\000\000\000\000\000\000\220\340\177\000\000\000\000\000\220\340\177\000\000\000\000\000\016\346\205\000\000\000\000\000\300\344\205\000\000\000\000\000x\251}", '\000' <repeats 13 times>"\371, U\273\367\377\177\000\000\230\216\243\363\377\177\000\000\211\017\273\367\377\177\000\000\350\003\000\000\000\000\000\000\000\000\000\000mschap\000\377\000\000\000\000\001\000\000\000\000\000\000\000\377\377\377\377\377\177\000\000\240\017\322\366\377\177\000\000\000\000\000\000\000\000\000\000\260\274\377\377\377\177\000\000\377\377\377\377\377\377\377\377\005\000\000\000\000\000\000\000\000\335\377\377\377\177\000\000\220"...
#4  0x0000000000423d32 in call_modsingle (request=0x968300, component=1, sp=<optimized out>) at src/main/modcall.c:305
        myresult = <optimized out>
        blocked = <optimized out>
#5  modcall (component=1, c=0x822f10, request=<optimized out>) at src/main/modcall.c:795
        myresult = <optimized out>
        mypriority = 3
        stack = {pointer = 2, priority = {<optimized out> <repeats 32 times>}, result = {<optimized out> <repeats 32 times>}, children = {<optimized out> <repeats 32 times>}, start = {<optimized out> <repeats 32 times>}}
        parent = 0x8d1fd0
        child = 0x8b6490
        if_taken = 0
        was_if = 1
#6  0x0000000000422156 in indexed_modcall (comp=1, idx=0, request=0x968300) at src/main/modules.c:809
        rcode = <optimized out>
        list = 0x822f10
        server = <optimized out>
#7  0x000000000040e0b8 in rad_authenticate (request=0x968300) at src/main/auth.c:444
        namepair = <optimized out>
        check_item = <optimized out>
        auth_item = 0x0
        module_msg = <optimized out>
        tmp = <optimized out>
        result = <optimized out>
        password = 0x447cea ""
        autz_retry = 0 '\000'
        autz_type = 0
#8  0x000000000040e73b in rad_virtual_server (request=0x968300) at src/main/auth.c:685
        vp = <optimized out>
        result = <optimized out>
#9  0x00007ffff4cd722e in eapttls_process (handler=<optimized out>, tls_session=0x90a7d0) at src/modules/rlm_eap/types/rlm_eap_ttls/ttls.c:1219
        rcode = 3
        fake = 0x968300
        vp = <optimized out>
        t = <optimized out>
        data = 0x90e90c ""
        data_len = <optimized out>
        request = 0x85f3b0
#10 0x00007ffff4cd5804 in eapttls_authenticate (arg=0x820a70, handler=0x9302d0) at src/modules/rlm_eap/types/rlm_eap_ttls/rlm_eap_ttls.c:358
        rcode = <optimized out>
        status = FR_TLS_OK
        inst = 0x820a70
        tls_session = 0x90a7d0
        t = 0x0
        request = 0x85f3b0
#11 0x00007ffff54ece8c in eaptype_call (atype=0x81ef90, handler=0x9302d0) at src/modules/rlm_eap/eap.c:184
        rcode = 1
        request = 0x85f3b0
        module = 0x7fe2f0 "eap"
#12 0x00007ffff54ed243 in eaptype_select (inst=0x7ff1c0, handler=<optimized out>) at src/modules/rlm_eap/eap.c:403
        i = <optimized out>
        default_eap_type = 25
        eaptype = 0x92ebd8
        vp = <optimized out>
        namebuf = "\360\360\203\000\000\000\000\000pʄ\000\000\000\000\000\260\363\205\000\000\000\000\000H\323\377\377\377\177\000\000\300\361\177\000\000\000\000\000ɫB\000\000\000\000\000\300\361\177\000\000\000\000\000\216\345N\365\377\177\000"
        eaptype_name = 0x7ffff52e6281 "ttls"
        request = 0x85f3b0
#13 0x00007ffff54ec920 in eap_authenticate (request=0x85f3b0, instance=0x7ff1c0) at src/modules/rlm_eap/rlm_eap.c:317
        handler = 0x9302d0
        eap_packet = 0x0
        rcode = <optimized out>
#14 eap_authenticate (instance=0x7ff1c0, request=0x85f3b0) at src/modules/rlm_eap/rlm_eap.c:279
        inst = 0x7ff1c0
        rcode = RLM_MODULE_FAIL
#15 0x0000000000423d32 in call_modsingle (request=0x85f3b0, component=0, sp=<optimized out>) at src/main/modcall.c:305
        myresult = <optimized out>
        blocked = <optimized out>
#16 modcall (component=0, c=0x83f0f0, request=<optimized out>) at src/main/modcall.c:795
        myresult = <optimized out>
        mypriority = 0
        stack = {pointer = 1, priority = {<optimized out> <repeats 32 times>}, result = {<optimized out> <repeats 32 times>}, children = {<optimized out> <repeats 32 times>}, start = {<optimized out> <repeats 32 times>}}
        parent = 0x83f0f0
        child = 0x83f060
        if_taken = 0
        was_if = 0
#17 0x0000000000422156 in indexed_modcall (comp=0, idx=6, request=0x85f3b0) at src/main/modules.c:809
        rcode = <optimized out>
        list = 0x83f0f0
        server = <optimized out>
#18 0x000000000040e4da in rad_check_password (request=0x85f3b0) at src/main/auth.c:253
        auth_type_pair = 0x0
        cur_config_item = <optimized out>
        auth_type = 6
        auth_type_count = 1
        result = 0
#19 rad_authenticate (request=0x85f3b0) at src/main/auth.c:530
        namepair = 0x8541e0
        check_item = <optimized out>
        auth_item = 0x0
        module_msg = <optimized out>
        tmp = <optimized out>
        result = <optimized out>
        password = 0x447cea ""
        autz_retry = <optimized out>
        autz_type = <optimized out>
#20 0x000000000043352d in request_running (action=1, request=0x85f3b0) at src/main/process.c:1197
No locals.
#21 request_running (request=0x85f3b0, action=1) at src/main/process.c:1166
No locals.
#22 0x0000000000431d2b in request_queue_or_run (request=0x85f3b0, process=0x4333c0 <request_running>) at src/main/process.c:824
        when = {tv_sec = 1361259740, tv_usec = 505024}
#23 0x0000000000432e87 in request_insert (listener=0x907be0, packet=0x90a1a0, client=0x7f7480, fun=0x40ddd0 <rad_authenticate>, pnow=0x7fffffffe1e0) at src/main/process.c:1454
        request = 0x85f3b0
#24 0x0000000000433007 in request_receive (listener=0x907be0, packet=0x90a1a0, client=0x7f7480, fun=0x40ddd0 <rad_authenticate>) at src/main/process.c:1349
        count = <optimized out>
        packet_p = <optimized out>
        request = 0x0
        now = {tv_sec = 1361259740, tv_usec = 171685}
        sock = 0x907cb0
#25 0x000000000041d112 in auth_socket_recv (listener=0x907be0) at src/main/listen.c:1469
        rcode = <optimized out>
        code = 1
        src_port = 1027
        packet = 0x90a1a0
        fun = <optimized out>
        client = 0x7f7480
        src_ipaddr = {af = 2, ipaddr = {ip4addr = {s_addr = 495598466}, ip6addr = {__in6_u = {__u6_addr8 = "\202;\212\035Ī\b\000\000\000\000\000\336,#Q", __u6_addr16 = {15234, 7562, 43716, 8, 0, 0, 11486, 20771}, __u6_addr32 = {
                  495598466, 568004, 0, 1361259742}}}}, scope = 0}
#26 0x000000000042fc90 in event_socket_handler (xel=<optimized out>, fd=<optimized out>, ctx=<optimized out>) at src/main/process.c:3441

Segfault on "update proxy-reply"

Well it was a wrong config, but still it shouldn't trigger a segfault. Looks like a lack of check in evaluate.c:radius_update_attrlist

Happen during authorize in an eap-inner-tunnel, I've put the following config :

             ldap
                    if(notfound) {
                            update proxy-reply {
                                    Reply-Message += "Authorization failed. User not found"
                            }
                            reject
                    }

Debug

(8) ldap :      escape: 'hesso-test2' -> 'hesso-test2'
(8) ldap :      expand: '%{Stripped-User-Name}' -> 'hesso-test2'
(8) ldap :      expand: '(uid=%{%{Stripped-User-Name}:-%{User-Name}})' -> '(uid=hesso-test2)'
(8) ldap :      expand: 'ou=people,o=hes-so' -> 'ou=people,o=hes-so'
rlm_ldap (ldap): Reserved connection (9)
(8) ldap : Performing search in 'ou=people,o=hes-so' with filter '(uid=hesso-test2)'
(8) ldap : Search returned no results
(8) ldap : User object not found
rlm_ldap (ldap): Released connection (9)
rlm_ldap (ldap): Closing connection (0): Too many free connections (10 > 5)
(8)    [ldap] = notfound
(8)    ? if (notfound)
(8) ? Evaluating (notfound) -> TRUE
(8)    ? if (notfound) -> TRUE
(8)     if (notfound) {
(8)    - entering if (notfound) {...}
(8)     update proxy-reply {

Program received signal SIGSEGV, Segmentation fault.

BackTrace (enable-developper was not set on this BT. if needed I can recompile and re-run)

https://gist.github.com/f6e53938120a2f7bc723

rlm_cache : extend Cache-TTL feature

Until now, setting control:Cache-TTL set the TTL of the cache entry, on creation, or on hit if the attribute is found in the control list.

This patch olivierbeytrison@bb35eab allows to use Cache-TTL ++ in an update control section. This allow to set an initial TTL of 300 in the configuration, and each time the cache is hit, we add 60 to the remaining TTL, allowing the cache to expire soon or later.

Modification has been made to modcall.c to allow it, and enforce it with integer attributes.

I'm just facing one problem : when the operator is set to ++, the value-pair is not found in https://github.com/FreeRADIUS/freeradius-server/blob/master/src/modules/rlm_cache/rlm_cache.c#L240
this has to be linked to how the content of the update section is merged into the request. But it is silently ignored, not helping me to find where it block the ++ attribute ref.

Help would be appreciated, if you think this is a valuable change :p
Olivier

IP and CIDR comparison

Using regexps to figure out IP ranges is a bit hacky, it'd be nicer if FR could recognise a string in CIDR format and use that the comparison. I figure this would just be with ==.

Replicate of authentication requests breaks EAP

Over the last few days I have been working with a research group here at UCSD that is interested in information that is in the 802.1X PEAP authentication and the associated accounting packets that come to our FreeRadius 2.1.12 servers from our wireless system. To make this relatively easy, I've attempted to use the replication module by including a replication module call in both the Authorization sections and the Accounting sections of the 802.1X site handler code that handles the requests that they're interested in. After doing this, packets ARE replicated and Accounting continues to work, but any ongoing 802.1X/PEAP tunneling mechanism associated with a replicated Access Request packet breaks badly; instead of continuing out of the Authorization section through the Authentication section to allow EAP to generate an Access-Challange in the normal way, the Authentication section just generates an immediate Accept message that terminates the interaction with the client.

My amateur analysis suggests that the problem is that while setting up to send a replicated packet, replicate_packet (in src/modules/rlm_replicate/rlm_replicate.c) calls home_server_ldb (main/realm.c) to set up to send the replicated packet; in the process, home_server_ldb sets request->proxy if it isn't already set. The presence of this non-NULL request->proxy changes the flow through auth.c significantly, including but not limited to the flow through code in rad_check_password that generates a debug message "Auth-Type = Accept, accepting the user" that shows up in the debug logs below. The code involved doesn't seem to have changed significantly in the 2.2.0 sources.

I must admit that the configuration involved here is full of very old cruft dating back to versions of the server from years ago. Rather than expose the whole mess I am taking the risky approach of outlining what I think are the relevant pieces of the configuration and debugging output:

This is the proxy.conf bit that defines the research setver:

cse server and pool that receive copies of accounting records that get to us

home_server xor.ucsd.edu {
type = auth+acct
ipaddr = xor.ucsd.edu
port = 1812
secret = "YUVRAJ_Tracker"
require_message_authenticator = yes
response_window = 40

no_response_fail = no

    zombie_period = 80
    revive_interval = 120
    status_check = none
    # username = "test_user_please_reject_me"
    # password = "this is really secret"
    check_interval = 30
    num_answers_to_alive = 3
    coa {
            irt = 2
            mrt = 16
            mrc = 5
            mrd = 30
    }

}
home_server_pool cse_monitor.ucsd.edu {
type = fail-over
home_server = xor.ucsd.edu
}
realm cse_monitor.ucsd.edu {
pool = cse_monitor.ucsd.edu
nostrip
}
These are the authorize and authenticate sections from sites-enabled/ucsd-cisco_802.1X, the server code where the failure occurs:

authorize {
preprocess
auth_log
filter_username
rewrite_call_check_user
rewrite.called_station_id
rewrite.calling_station_id

    chap
    mschap
    suffix
    ntdomain

    # Only allow foreign proxy of eduroam requests
    if (("%{Called-Station-Id}"!~/UCSD-Test/ )&&("%{Called-Station-Id}"!~/eduroam/ )) {
            update control {
                   Proxy-To-Realm := LOCAL
            }
    }
    eap {
            ok = return
    }
    #  Read the 'users' file
    files

    # send a copy to CSE
    update control {
           Replicate-To-Realm = "cse_monitor.ucsd.edu"
    }
    replicate

    # This is here because other servers have complicated Autz-Type settings
           # which should don't need to be run lots of the time
    Autz-Type SKIP {
            pap
    }
    pap

}

authenticate {
… lots of irrelevant other Auth-Type stuff not used by this server and not mentioned in the debug
# Allow EAP authentication.
eap
….
}

This is the debug output that starts an EAP session

rad_recv: Access-Request packet from host 172.31.255.78 port 32769, id=147, length=233
User-Name = "tan029"
Calling-Station-Id = "00:88:65:e1:24:ae"
Called-Station-Id = "00:24:97:f0:b1:50:UCSD-PROTECTED"
NAS-Port = 29
Cisco-AVPair = "audit-session-id=ac1fff4e00093f7d51045373"
NAS-IP-Address = 172.31.255.78
NAS-Identifier = "B-WRLSS-4-1"
Airespace-Wlan-Id = 4
Service-Type = Framed-User
Framed-MTU = 1300
NAS-Port-Type = Wireless-802.11
Tunnel-Type:0 = VLAN
Tunnel-Medium-Type:0 = IEEE-802
Tunnel-Private-Group-Id:0 = "963"
EAP-Message = 0x0201000b0174616e303239
Message-Authenticator = 0xa6a2604cb4c0808bf5bf9356b69c7ee5
server cisco_8021X {

Executing section authorize from file /usr/local/etc/raddb/sites-enabled/ucsd-cisco_8021X

+- entering group authorize {...}
[preprocess] expand: %{NAS-IP-Address} -> 172.31.255.78
++[preprocess] returns ok
[auth_log] expand: /var/log/radius/radacct/%{Client-IP-Address}/auth-detail-%Y%m%d -> /var/log/radius/radacct/172.31.255.78/auth-detail-20130126
[auth_log] /var/log/radius/radacct/%{Client-IP-Address}/auth-detail-%Y%m%d expands to /var/log/radius/radacct/172.31.255.78/auth-detail-20130126
[auth_log] expand: %t -> Sat Jan 26 15:00:02 2013
++[auth_log] returns ok
++- entering policy filter_username {...}
+++? if (User-Name =~ /^ /)
? Evaluating (User-Name =~ /^ /) -> FALSE
+++? if (User-Name =~ /^ /) -> FALSE
+++? if (User-Name =~ / $$/)
? Evaluating (User-Name =~ / $$/) -> FALSE
+++? if (User-Name =~ / $$/) -> FALSE
++- policy filter_username returns ok
++- entering policy rewrite_call_check_user {...}
+++? if (request:Service-Type == Call-Check)
? Evaluating (request:Service-Type == Call-Check) -> FALSE
+++? if (request:Service-Type == Call-Check) -> FALSE
+++- entering else else {...}
++++[noop] returns noop
+++- else else returns noop
++- policy rewrite_call_check_user returns noop
++- entering policy rewrite.called_station_id {...}
+++? if ((Called-Station-Id) && "%{Called-Station-Id}" =~ /^%{config:policy.mac-addr}(:(.+))?$/i)
?? Evaluating (Called-Station-Id) -> TRUE
expand: %{Called-Station-Id} -> 00:24:97:f0:b1:50:UCSD-PROTECTED
expand: policy.mac-addr -> policy.mac-addr
expand: ^%{config:policy.mac-addr}(:(.+))?$ -> ^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$
? Evaluating ("%{Called-Station-Id}" =~ /^%{config:policy.mac-addr}(:(.+))?$/i) -> TRUE
+++? if ((Called-Station-Id) && "%{Called-Station-Id}" =~ /^%{config:policy.mac-addr}(:(.+))?$/i) -> TRUE
+++- entering if ((Called-Station-Id) && "%{Called-Station-Id}" =~ /^%{config:policy.mac-addr}(:(.+))?$/i) {...}
expand: %{1}-%{2}-%{3}-%{4}-%{5}-%{6} -> 00-24-97-f0-b1-50
expand: %{tolower:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}} -> 00-24-97-f0-b1-50
++++[request] returns noop
++++? if ("%{8}")
expand: %{8} -> UCSD-PROTECTED
? Evaluating ("%{8}") -> TRUE
++++? if ("%{8}") -> TRUE
++++- entering if ("%{8}") {...}
expand: %{Called-Station-Id}:%{8} -> 00-24-97-f0-b1-50:UCSD-PROTECTED
+++++[request] returns noop
expand: %{8} -> UCSD-PROTECTED
+++++[control] returns noop
++++- if ("%{8}") returns noop
++++[updated] returns updated
+++- if ((Called-Station-Id) && "%{Called-Station-Id}" =~ /^%{config:policy.mac-addr}(:(.+))?$/i) returns updated
+++ ... skipping else for request 3: Preceding "if" was taken
++- policy rewrite.called_station_id returns updated
++- entering policy rewrite.calling_station_id {...}
+++? if ((Calling-Station-Id) && "%{Calling-Station-Id}" =~ /^%{config:policy.mac-addr}$/i)
?? Evaluating (Calling-Station-Id) -> TRUE
expand: %{Calling-Station-Id} -> 00:88:65:e1:24:ae
expand: policy.mac-addr -> policy.mac-addr
expand: ^%{config:policy.mac-addr}$ -> ^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$
? Evaluating ("%{Calling-Station-Id}" =~ /^%{config:policy.mac-addr}$/i) -> TRUE
+++? if ((Calling-Station-Id) && "%{Calling-Station-Id}" =~ /^%{config:policy.mac-addr}$/i) -> TRUE
+++- entering if ((Calling-Station-Id) && "%{Calling-Station-Id}" =~ /^%{config:policy.mac-addr}$/i) {...}
expand: %{1}:%{2}:%{3}:%{4}:%{5}:%{6} -> 00:88:65:e1:24:ae
expand: %{toupper:%{1}:%{2}:%{3}:%{4}:%{5}:%{6}} -> 00:88:65:E1:24:AE
++++[request] returns updated
++++[updated] returns updated
+++- if ((Calling-Station-Id) && "%{Calling-Station-Id}" =~ /^%{config:policy.mac-addr}$/i) returns updated
+++ ... skipping else for request 3: Preceding "if" was taken
++- policy rewrite.calling_station_id returns updated
++[chap] returns noop
++[mschap] returns noop
[suffix] No '@' in User-Name = "tan029", skipping NULL due to config.
++[suffix] returns noop
[ntdomain] No '' in User-Name = "tan029", skipping NULL due to config.
++[ntdomain] returns noop
++? if (("%{Called-Station-Id}"!/UCSD-Test/ )&&("%{Called-Station-Id}"!/eduroam/ ))
expand: %{Called-Station-Id} -> 00-24-97-f0-b1-50:UCSD-PROTECTED
?? Evaluating ("%{Called-Station-Id}"!/UCSD-Test/) -> TRUE
expand: %{Called-Station-Id} -> 00-24-97-f0-b1-50:UCSD-PROTECTED
?? Evaluating ("%{Called-Station-Id}"!
/eduroam/) -> TRUE
++? if (("%{Called-Station-Id}"!/UCSD-Test/ )&&("%{Called-Station-Id}"!/eduroam/ )) -> TRUE
++- entering if (("%{Called-Station-Id}"!/UCSD-Test/ )&&("%{Called-Station-Id}"!/eduroam/ )) {...}
+++[control] returns noop
++- if (("%{Called-Station-Id}"!/UCSD-Test/ )&&("%{Called-Station-Id}"!/eduroam/ )) returns noop
[eap] EAP packet type response id 1 length 11
[eap] No EAP Start, assuming it's an on-going EAP conversation
++[eap] returns updated
[files] users: Matched entry DEFAULT at line 127
[files] users: Matched entry DEFAULT at line 183
[files] users: Matched entry DEFAULT at line 394
[files] expand: %{User-Name} -> tan029
[files] expand: %{Called-Station-Id} -> 00-24-97-f0-b1-50:UCSD-PROTECTED
[files] users: Matched entry DEFAULT at line 463
++[files] returns ok
++[control] returns ok
[replicate] Replicating packet to Realm cse_monitor.ucsd.edu
Sending Access-Request of id 234 to 132.239.17.5 port 1812
User-Name = "tan029"
Calling-Station-Id = "00:88:65:E1:24:AE"
Called-Station-Id = "00-24-97-f0-b1-50:UCSD-PROTECTED"
NAS-Port = 29
Cisco-AVPair = "audit-session-id=ac1fff4e00093f7d51045373"
NAS-IP-Address = 172.31.255.78
NAS-Identifier = "B-WRLSS-4-1"
Airespace-Wlan-Id = 4
Service-Type = Framed-User
Framed-MTU = 1300
NAS-Port-Type = Wireless-802.11
Tunnel-Type:0 = VLAN
Tunnel-Medium-Type:0 = IEEE-802
Tunnel-Private-Group-Id:0 = "963"
EAP-Message = 0x0201000b0174616e303239
Message-Authenticator = 0x00000000000000000000000000000000
++[replicate] returns ok
++[pap] returns noop
Using Autz-Type SKIP

Executing group from file /usr/local/etc/raddb/sites-enabled/ucsd-cisco_8021X

+- entering group SKIP {...}
++[ok] returns ok
Found Auth-Type = EAP
With the replicate statement in place, the server just accepts the user and processes our irrelevant post-auth section before sending a simple accept packet.
Auth-Type = Accept, accepting the user
Login OK: [tan029](from client Campus_WISM port 29 cli 00:88:65:E1:24:AE)

Executing section post-auth from file /usr/local/etc/raddb/sites-enabled/ucsd-cisco_8021X

+- entering group post-auth {...}
...
} # server cisco_8021X
Sending Access-Accept of id 147 to 172.31.255.78 port 32769
Acct-Interim-Interval = 10800
User-Name = "tan029"
Finished request 3.
Going to the next request

This is the same sequence when the replicate statement is not present. It is generally the same up to the point where eap is called in the authenticate section. In this version EAP generates a challenge packet and the post-auth section is not called at all.

rad_recv: Access-Request packet from host 172.31.255.78 port 32769, id=0, length=235
User-Name = "x6zhong"
Calling-Station-Id = "b4:f0:ab:78:44:1c"
Called-Station-Id = "00:24:97:f0:bd:20:UCSD-PROTECTED"
NAS-Port = 29
Cisco-AVPair = "audit-session-id=ac1fff4e0009392051041d9e"
NAS-IP-Address = 172.31.255.78
NAS-Identifier = "B-WRLSS-4-1"
Airespace-Wlan-Id = 4
Service-Type = Framed-User
Framed-MTU = 1300
NAS-Port-Type = Wireless-802.11
Tunnel-Type:0 = VLAN
Tunnel-Medium-Type:0 = IEEE-802
Tunnel-Private-Group-Id:0 = "963"
EAP-Message = 0x0201000c0178367a686f6e67
Message-Authenticator = 0x0493b96d7458607298a407c5e6bbb5d3
server cisco_8021X {

Executing section authorize from file /usr/local/etc/raddb/sites-enabled/ucsd-cisco_8021X

+- entering group authorize {...}
[preprocess] expand: %{NAS-IP-Address} -> 172.31.255.78
++[preprocess] returns ok
[auth_log] expand: /var/log/radius/radacct/%{Client-IP-Address}/auth-detail-%Y%m%d -> /var/log/radius/radacct/172.31.255.78/auth-detail-20130126
[auth_log] /var/log/radius/radacct/%{Client-IP-Address}/auth-detail-%Y%m%d expands to /var/log/radius/radacct/172.31.255.78/auth-detail-20130126
[auth_log] expand: %t -> Sat Jan 26 13:17:21 2013
++[auth_log] returns ok
++- entering policy filter_username {...}
+++? if (User-Name =~ /^ /)
? Evaluating (User-Name =~ /^ /) -> FALSE
+++? if (User-Name =~ /^ /) -> FALSE
+++? if (User-Name =~ / $$/)
? Evaluating (User-Name =~ / $$/) -> FALSE
+++? if (User-Name =~ / $$/) -> FALSE
++- policy filter_username returns ok
++- entering policy rewrite_call_check_user {...}
+++? if (request:Service-Type == Call-Check)
? Evaluating (request:Service-Type == Call-Check) -> FALSE
+++? if (request:Service-Type == Call-Check) -> FALSE
+++- entering else else {...}
++++[noop] returns noop
+++- else else returns noop
++- policy rewrite_call_check_user returns noop
++- entering policy rewrite.called_station_id {...}
+++? if ((Called-Station-Id) && "%{Called-Station-Id}" =~ /^%{config:policy.mac-addr}(:(.+))?$/i)
?? Evaluating (Called-Station-Id) -> TRUE
expand: %{Called-Station-Id} -> 00:24:97:f0:bd:20:UCSD-PROTECTED
expand: policy.mac-addr -> policy.mac-addr
expand: ^%{config:policy.mac-addr}(:(.+))?$ -> ^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$
? Evaluating ("%{Called-Station-Id}" =~ /^%{config:policy.mac-addr}(:(.+))?$/i) -> TRUE
+++? if ((Called-Station-Id) && "%{Called-Station-Id}" =~ /^%{config:policy.mac-addr}(:(.+))?$/i) -> TRUE
+++- entering if ((Called-Station-Id) && "%{Called-Station-Id}" =~ /^%{config:policy.mac-addr}(:(.+))?$/i) {...}
expand: %{1}-%{2}-%{3}-%{4}-%{5}-%{6} -> 00-24-97-f0-bd-20
expand: %{tolower:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}} -> 00-24-97-f0-bd-20
++++[request] returns noop
++++? if ("%{8}")
expand: %{8} -> UCSD-PROTECTED
? Evaluating ("%{8}") -> TRUE
++++? if ("%{8}") -> TRUE
++++- entering if ("%{8}") {...}
expand: %{Called-Station-Id}:%{8} -> 00-24-97-f0-bd-20:UCSD-PROTECTED
+++++[request] returns nook
expand: %{8} -> UCSD-PROTECTED
+++++[control] returns noop
++++- if ("%{8}") returns noop
++++[updated] returns updated
+++- if ((Called-Station-Id) && "%{Called-Station-Id}" =~ /^%{config:policy.mac-addr}(:(.+))?$/i) returns updated
+++ ... skipping else for request 15241: Preceding "if" was taken
++- policy rewrite.called_station_id returns updated
++- entering policy rewrite.calling_station_id {...}
+++? if ((Calling-Station-Id) && "%{Calling-Station-Id}" =~ /^%{config:policy.mac-addr}$/i)
?? Evaluating (Calling-Station-Id) -> TRUE
expand: %{Calling-Station-Id} -> b4:f0:ab:78:44:1c
expand: policy.mac-addr -> policy.mac-addr
expand: ^%{config:policy.mac-addr}$ -> ^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$
? Evaluating ("%{Calling-Station-Id}" =~ /^%{config:policy.mac-addr}$/i) -> TRUE
+++? if ((Calling-Station-Id) && "%{Calling-Station-Id}" =~ /^%{config:policy.mac-addr}$/i) -> TRUE
+++- entering if ((Calling-Station-Id) && "%{Calling-Station-Id}" =~ /^%{config:policy.mac-addr}$/i) {...}
expand: %{1}:%{2}:%{3}:%{4}:%{5}:%{6} -> b4:f0:ab:78:44:1c
expand: %{toupper:%{1}:%{2}:%{3}:%{4}:%{5}:%{6}} -> B4:F0:AB:78:44:1C
++++[request] returns updated
++++[updated] returns updated
+++- if ((Calling-Station-Id) && "%{Calling-Station-Id}" =~ /^%{config:policy.mac-addr}$/i) returns updated
+++ ... skipping else for request 15241: Preceding "if" was taken
++- policy rewrite.calling_station_id returns updated
++[chap] returns noop
++[mschap] returns noop
[suffix] No '@' in User-Name = "x6zhong", skipping NULL due to config.
++[suffix] returns noop
[ntdomain] No '' in User-Name = "x6zhong", skipping NULL due to config.
++[ntdomain] returns noop
++? if (("%{Called-Station-Id}"!/UCSD-Test/ )&&("%{Called-Station-Id}"!/eduroam/ ))
expand: %{Called-Station-Id} -> 00-24-97-f0-bd-20:UCSD-PROTECTED
?? Evaluating ("%{Called-Station-Id}"!/UCSD-Test/) -> TRUE
expand: %{Called-Station-Id} -> 00-24-97-f0-bd-20:UCSD-PROTECTED
?? Evaluating ("%{Called-Station-Id}"!
/eduroam/) -> TRUE
++? if (("%{Called-Station-Id}"!/UCSD-Test/ )&&("%{Called-Station-Id}"!/eduroam/ )) -> TRUE
++- entering if (("%{Called-Station-Id}"!/UCSD-Test/ )&&("%{Called-Station-Id}"!/eduroam/ )) {...}
+++[control] returns noop
++- if (("%{Called-Station-Id}"!/UCSD-Test/ )&&("%{Called-Station-Id}"!/eduroam/ )) returns noop
[eap] EAP packet type response id 1 length 12
[eap] No EAP Start, assuming it's an on-going EAP conversation
++[eap] returns updated
[files] users: Matched entry DEFAULT at line 127
[files] users: Matched entry DEFAULT at line 183
[files] users: Matched entry DEFAULT at line 394
[files] expand: %{User-Name} -> x6zhong
[files] expand: %{Called-Station-Id} -> 00-24-97-f0-bd-20:UCSD-PROTECTED
[files] users: Matched entry DEFAULT at line 463
++[files] returns ok
++[pap] returns noop
Using Autz-Type SKIP

Executing group from file /usr/local/etc/raddb/sites-enabled/ucsd-cisco_8021X

+- entering group SKIP {...}
++[pap] returns noop
Found Auth-Type = EAP
Here is where the replicate version said it was accepting the request and didn't go on with EAP

Executing group from file /usr/local/etc/raddb/sites-enabled/ucsd-cisco_8021X

+- entering group authenticate {...}
[eap] EAP Identity
[eap] processing type tls
[tls] Initiate
[tls] Start returned 1
++[eap] returns handled
} # server cisco_8021X
Sending Access-Challenge of id 0 to 172.31.255.78 port 32769
Acct-Interim-Interval = 10800
User-Name = "x6zhong"
EAP-Message = 0x010200061920
Message-Authenticator = 0x00000000000000000000000000000000
State = 0xd99b47f6d9995e21fe662dd48605cba7

RADIUS dictionary for Juniper Networks ERX

I have created an updated dictionary.erx with some new assigned attributes. Here is the patch from the 2.2.0 dictionary.erx.

Rgds,

Guy

2d1
< # Copyright (C) 2011 The FreeRADIUS Server project and contributors
9c8

< # Version: $Id$

Version: $Id: dictionary.erx 43643 2012-07-10 13:26:25Z morriss $

221a221,228
ATTRIBUTE Juniper-Tx-Connect-Speed 162 integer
ATTRIBUTE Juniper-Rx-Connect-Speed 163 integer

ATTRIBUTE 164 - 173 RESERVED

ATTRIBUTE Unisphere-Client-Profile-Name 174 string
ATTRIBUTE Juniper-Redirect-GW-Address 175 ipaddr
ATTRIBUTE Juniper-APN-Name 176 string

control xlat value to value pair conversion

As demonstrated with base64 using normal xlat expansions gets clumsy when you're encoding or decoding different types of attributes.

It would be simpler to do something like casting, so that we could control how the result of xlat expansions are actually written into attributes.

After offline discussions with @alandekok it seems like a good fix would be to have xlat expansions like hex: base64: and md5: work directly on a valuepair. We would then have a syntax to create temporary attributes using the provided value string.

For example:

update request {
    Tmp-String-1 := "%{base64:(ipaddr)192.168.0.1}"
}

Would encode the binary representation of the IP address.

You could then use to convert the binary representation into a valuepair, or write it back out as a string:

update request {
  NAS-IP-Address := "%{base64tohex:Tmp-String-1}"
}

update request {
  NAS-IP-Address := "%{base64tohex:(string)%{sql:<SQL Query>}"
}

update request {
  Tmp-String-0 := "%{(ipaddr)%{base64tohex:Tmp-String-1}}"
}

PERL issue with latest HEAD of 3.x

hi,

fresh clone, fresh build....the old TLS issue all gone away it seems. hurrah! however, server now fails when loading PERL module.

/etc/raddb/mods-enabled/perl[7]: Failed to link to module 'rlm_perl': /usr/lib/rlm_perl.so: undefined symbol: boot_DynaLoader
/etc/raddb/sites-enabled/default[614]: Failed to find "perl" in the "modules" section.
/etc/raddb/sites-enabled/default[582]: Errors parsing post-auth section.

this works on a 64bit server (running CentOS 6.3) - so its either s 32bit issue or a CentOS 5.9 issue at this point in time. I've checked (putting some check code into play) and the PERL module is being loaded as GLOBAL and the correct flags and ldflags appears to be in the all.mk file (as done by ExtUtils stuff). This could have been broken a while back...but didnt now because of the EAP-TLS module issue (if I had disabled eap I may have hit this back then...)

alan

rlm_krb5 ignores provided realm only using default realm

I have several distinct realms (both RADIUS and kerberos) that our users want to authenticate against - we'll call them example1.com and example2.com. A user's preference for which realm to authenticate against is kept in the LDAP userPassword attribute: {SASL}[email protected]. I've configured a rlm_perl authorize module to rewrite the RADIUS User-Name attribute so that the preferred realm can be used later in the authenticate phase; however, it seems that rlm_krb5 always uses whatever is the default local kerberos realm for the RADIUS server - if the server is radius.example1.com it uses the EXAMPLE1.COM kerberos realm regardless of what is passed.

I've isolated it to RADIUS by doing the following:

  1. If I do a manual 'kinit [email protected]' and 'kinit [email protected]' they both succeed, so kerberos is configured properly w.r.t. the realms
  2. If I configure SASL to talk directly to kerberos - '-a keberos5' - and set userPassword to both '{SASL}[email protected]' and '{SASL}[email protected]', binds to LDAP with both passwords work
  3. If I configure SASL to talk to PAM which in turn authenticates via pam_radius, the only password that works is whatever is the local realm of the RADIUS server. So if the server is radius.example1.com and the username being passed is [email protected], only the password in the EXAMPLE1.COM realm works.

A -X output from the server can be found at http://pastie.org/5644178

server with EAP enabled no longer starts

hi,

thought to be a transient issue during all the code changes...but still not operating after this weekends big updates.

when server runs, barfs out at rlm_eap module loading time with message like:

Module: Linked to sub-module rlm_eap_tls
Module: Instantiating eap-tls
tls {
tls = "tls-common"
type 5900650 not supported yet
}
rlm_eap: Failed to initialize type tls
/etc/raddb/mods-enabled/eap[17]: Instantiation failed for module "eap"
/etc/raddb/sites-enabled/default[447]: Failed to find "eap" in the "modules" section.
/etc/raddb/sites-enabled/default[447]: Failed to parse "eap" entry.

where type XXXXXXX not support yet line has a different value of XXXXXX each time (so its pointing to wierd places in memory....has there been a cross-over of 2.x code into 3.x ??? anyway, this WAS a 3.x config before a GIT update - so its not a 2.x config in play...

alan

Version constants should not be floats

In V2.x.x/3.0 the version constants contain decimal points. As the C preprocessor can only perform integer comparison it makes compile time checks for ranges of versions difficult.

Misleading "User not found" when using failover

I have this failover configuration in authorize section, I want to use to authenticate a user if it's found on at least one of the three sources:

Autz-Type GUEST {
    group {
        ldap_a {
            fail   = 1
            ok     = return
        }
        sql {
            fail   = 1
            ok     = return
        }
        ldap_b {
            fail   = 1
            ok     = return
        }
    }
}

It works fine, there is just a issue. When a user is found in a source but has a wrong password it prints a misleading message. In the following example myuser is found in ldap_b but has a wrong password, but it prints "[ldap_a] User not found":

Sat Feb  9 17:25:53 2013 : Auth: Login incorrect (  [ldap_a] User not found): [myuser] (from client myclient port 0 cli 000000000000)

I would have expected something like "User found in ldap_b, incorrect password".

(Also note the two whitespaces before [ldap_a].)

Note that I am using Red Hat 6.3 with its freeradius-2.1.12-4.el6_3.

rlm_rest issues

some variables used but undefined:

src/modules/rlm_rest/rest.c:1992: error: ‘CURLOPT_USERNAME’ undeclared (first use in this function)
src/modules/rlm_rest/rest.c:1992: error: (Each undeclared identifier is reported only once
src/modules/rlm_rest/rest.c:1992: error: for each function it appears in.)
src/modules/rlm_rest/rest.c:2000: error: ‘CURLOPT_PASSWORD’ undeclared (first use in this function)
src/modules/rlm_rest/rest.c:2051: error: ‘CURLOPT_KEYPASSWD’ undeclared (first use in this function)
src/modules/rlm_rest/rest.c:2058: error: ‘CURLOPT_ISSUERCERT’ undeclared (first use in this function)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.