How setup simultaneous-use?

ti.suporte at lupusequipamentos.com.br ti.suporte at lupusequipamentos.com.br
Wed Oct 11 20:13:37 UTC 2023


Alan, 

Firstly, thank you for your attention!

I check the settings as you recommended see the details:

First I sent an authentication package via radclient and everything seemed to go well.

echo "User-Name=allan, User-Password=teste1234" | radclient localhost:1812 auth testing123


(0) Received Access-Request Id 30 from 127.0.0.1:39052 to 127.0.0.1:1812 length 45
(0)   User-Name = "allan"
(0)   User-Password = "teste1234"
(0) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
(0)   authorize {
(0)     policy filter_username {
(0)       if (&User-Name) {
(0)       if (&User-Name)  -> TRUE
(0)       if (&User-Name)  {
(0)         if (&User-Name =~ / /) {
(0)         if (&User-Name =~ / /)  -> FALSE
(0)         if (&User-Name =~ /@[^@]*@/ ) {
(0)         if (&User-Name =~ /@[^@]*@/ )  -> FALSE
(0)         if (&User-Name =~ /\.\./ ) {
(0)         if (&User-Name =~ /\.\./ )  -> FALSE
(0)         if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))  {
(0)         if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))   -> FALSE
(0)         if (&User-Name =~ /\.$/)  {
(0)         if (&User-Name =~ /\.$/)   -> FALSE
(0)         if (&User-Name =~ /@\./)  {
(0)         if (&User-Name =~ /@\./)   -> FALSE
(0)       } # if (&User-Name)  = notfound
(0)     } # policy filter_username = notfound
(0)     [preprocess] = ok
(0)     [chap] = noop
(0)     [mschap] = noop
(0)     [digest] = noop
(0) suffix: Checking for suffix after "@"
(0) suffix: No '@' in User-Name = "allan", looking up realm NULL
(0) suffix: No such realm "NULL"
(0)     [suffix] = noop
(0) eap: No EAP-Message, not doing EAP
(0)     [eap] = noop
(0)     [files] = noop
(0) sql: EXPAND %{User-Name}
(0) sql:    --> allan
(0) sql: SQL-User-Name set to 'allan'
rlm_sql (sql): Reserved connection (1)
(0) sql: EXPAND SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id
(0) sql:    --> SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'allan' ORDER BY id
(0) sql: Executing select query: SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'allan' ORDER BY id
(0) sql: User found in radcheck table
(0) sql: Conditional check items matched, merging assignment check items
(0) sql:   Cleartext-Password := "teste1234"
(0) sql: EXPAND SELECT id, username, attribute, value, op FROM radreply WHERE username = '%{SQL-User-Name}' ORDER BY id
(0) sql:    --> SELECT id, username, attribute, value, op FROM radreply WHERE username = 'allan' ORDER BY id
(0) sql: Executing select query: SELECT id, username, attribute, value, op FROM radreply WHERE username = 'allan' ORDER BY id
(0) sql: EXPAND SELECT groupname FROM radusergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority
(0) sql:    --> SELECT groupname FROM radusergroup WHERE username = 'allan' ORDER BY priority
(0) sql: Executing select query: SELECT groupname FROM radusergroup WHERE username = 'allan' ORDER BY priority
(0) sql: User found in the group table
(0) sql: EXPAND SELECT id, groupname, attribute, Value, op FROM radgroupcheck WHERE groupname = '%{SQL-Group}' ORDER BY id
(0) sql:    --> SELECT id, groupname, attribute, Value, op FROM radgroupcheck WHERE groupname = 'wifi' ORDER BY id
(0) sql: Executing select query: SELECT id, groupname, attribute, Value, op FROM radgroupcheck WHERE groupname = 'wifi' ORDER BY id
(0) sql: Group "wifi": Conditional check items matched
(0) sql: Group "wifi": Merging assignment check items
(0) sql:   Simultaneous-Use := 1
(0) sql: EXPAND SELECT id, groupname, attribute, value, op FROM radgroupreply WHERE groupname = '%{SQL-Group}' ORDER BY id
(0) sql:    --> SELECT id, groupname, attribute, value, op FROM radgroupreply WHERE groupname = 'wifi' ORDER BY id
(0) sql: Executing select query: SELECT id, groupname, attribute, value, op FROM radgroupreply WHERE groupname = 'wifi' ORDER BY id
(0) sql: Group "wifi": Merging reply items
rlm_sql (sql): Released connection (1)
Need more connections to reach 10 spares
rlm_sql (sql): Opening additional connection (6), 1 of 26 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version.
rlm_sql_mysql: Connected to database 'radius' on Localhost via UNIX socket, server version 5.5.5-10.11.2-MariaDB-1, protocol version 10
(0)     [sql] = ok
(0)     [expiration] = noop
(0)     [logintime] = noop
(0)     [pap] = updated
(0)   } # authorize = updated
(0) Found Auth-Type = PAP
(0) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(0)   Auth-Type PAP {
(0) pap: Login attempt with password
(0) pap: Comparing with "known good" Cleartext-Password
(0) pap: User authenticated successfully
(0)     [pap] = ok
(0)   } # Auth-Type PAP = ok
(0) # Executing section session from file /etc/freeradius/3.0/sites-enabled/default
(0)   session {
(0) radutmp: EXPAND /var/log/freeradius/radutmp
(0) radutmp:    --> /var/log/freeradius/radutmp
(0) radutmp: EXPAND %{User-Name}
(0) radutmp:    --> allan
(0)     [radutmp] = ok
(0)   } # session = ok
(0) # Executing section post-auth from file /etc/freeradius/3.0/sites-enabled/default
(0)   post-auth {
(0)     if (session-state:User-Name && reply:User-Name && request:User-Name && (reply:User-Name == request:User-Name)) {
(0)     if (session-state:User-Name && reply:User-Name && request:User-Name && (reply:User-Name == request:User-Name))  -> FALSE
(0)     update {
(0)       No attributes updated for RHS &session-state:
(0)     } # update = noop
(0) sql: EXPAND .query
(0) sql:    --> .query
(0) sql: Using query template 'query'
rlm_sql (sql): Reserved connection (2)
(0) sql: EXPAND %{User-Name}
(0) sql:    --> allan
(0) sql: SQL-User-Name set to 'allan'
(0) sql: EXPAND INSERT INTO radpostauth (username, pass, reply, authdate ) VALUES ( '%{SQL-User-Name}', '%{%{User-Password}:-%{Chap-Password}}', '%{reply:Packet-Type}', '%S.%M' )
(0) sql:    --> INSERT INTO radpostauth (username, pass, reply, authdate ) VALUES ( 'allan', 'teste1234', 'Access-Accept', '2023-10-11 18:49:57.016895' )
(0) sql: Executing query: INSERT INTO radpostauth (username, pass, reply, authdate ) VALUES ( 'allan', 'teste1234', 'Access-Accept', '2023-10-11 18:49:57.016895' )
(0) sql: SQL query returned: success
(0) sql: 1 record(s) updated
rlm_sql (sql): Released connection (2)
(0)     [sql] = ok
(0)     [exec] = noop
(0)     policy remove_reply_message_if_eap {
(0)       if (&reply:EAP-Message && &reply:Reply-Message) {
(0)       if (&reply:EAP-Message && &reply:Reply-Message)  -> FALSE
(0)       else {
(0)         [noop] = noop
(0)       } # else = noop
(0)     } # policy remove_reply_message_if_eap = noop
(0)     if (EAP-Key-Name && &reply:EAP-Session-Id) {
(0)     if (EAP-Key-Name && &reply:EAP-Session-Id)  -> FALSE
(0)   } # post-auth = ok
(0) Sent Access-Accept Id 30 from 127.0.0.1:1812 to 127.0.0.1:39052 length 20
(0) Finished request
Waking up in 4.9 seconds.
(0) Cleaning up request packet ID 30 with timestamp +4 due to cleanup_delay was reached
Ready to process requests

After I sent an accounting package, but something seems wrong with the "radutmp" file.
Also, there seemed to be some errors with the mysql socket but in the end it is shown that the 'accounting' operation "went well".

echo "User-Name=allan, User-Password=teste1234" | radclient localhost:1813 acct testing123

Ready to process requests
(1) Received Accounting-Request Id 108 from 127.0.0.1:56660 to 127.0.0.1:1813 length 45
(1)   User-Name = "allan"
(1)   User-Password = ":\270\236\034|\236޿\214c^S\006\3361`"
(1) # Executing section preacct from file /etc/freeradius/3.0/sites-enabled/default
(1)   preacct {
(1)     [preprocess] = ok
(1)     policy acct_unique {
(1)       update request {
(1)         &Tmp-String-9 := "ai:"
(1)       } # update request = noop
(1)       if (("%{hex:&Class}" =~ /^%{hex:&Tmp-String-9}/) &&       ("%{string:&Class}" =~ /^ai:([0-9a-f]{32})/i)) {
(1)       EXPAND %{hex:&Class}
(1)          -->
(1)       EXPAND ^%{hex:&Tmp-String-9}
(1)          --> ^61693a
(1)       if (("%{hex:&Class}" =~ /^%{hex:&Tmp-String-9}/) &&       ("%{string:&Class}" =~ /^ai:([0-9a-f]{32})/i))  -> FALSE
(1)       else {
(1)         update request {
(1)           EXPAND %{md5:%{User-Name},%{Acct-Session-ID},%{%{NAS-IPv6-Address}:-%{NAS-IP-Address}},%{NAS-Identifier},%{NAS-Port-ID},%{NAS-Port}}
(1)              --> 375c5dce389b47d1a42e4e8d8fb01b42
(1)           &Acct-Unique-Session-Id := 375c5dce389b47d1a42e4e8d8fb01b42
(1)         } # update request = noop
(1)       } # else = noop
(1)       update request {
(1)         &Tmp-String-9 !* ANY
(1)       } # update request = noop
(1)     } # policy acct_unique = noop
(1) suffix: Checking for suffix after "@"
(1) suffix: No '@' in User-Name = "allan", looking up realm NULL
(1) suffix: No such realm "NULL"
(1)     [suffix] = noop
(1)     [files] = noop
(1)   } # preacct = ok
(1) # Executing section accounting from file /etc/freeradius/3.0/sites-enabled/default
(1)   accounting {
(1) detail: EXPAND /var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d
(1) detail:    --> /var/log/freeradius/radacct/127.0.0.1/detail-20231011
(1) detail: /var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d expands to /var/log/freeradius/radacct/127.0.0.1/detail-20231011
(1) detail: EXPAND %t
(1) detail:    --> Wed Oct 11 18:51:30 2023
(1)     [detail] = ok
(1) unix: no Accounting-Status-Type attribute in request
(1)     [unix] = noop
(1) radutmp: No Accounting-Status-Type record
(1)     [radutmp] = noop
(1) sql: EXPAND %{tolower:type.%{%{Acct-Status-Type}:-%{Request-Processing-Stage}}.query}
(1) sql:    --> type.accounting.query
(1) sql: Using query template 'query'
rlm_sql (sql): Reserved connection (3)
(1) sql: EXPAND %{User-Name}
(1) sql:    --> allan
(1) sql: SQL-User-Name set to 'allan'
(1) sql: EXPAND SELECT true
(1) sql:    --> SELECT true
(1) sql: Executing query: SELECT true
(1) sql: SQL query returned: success
(1) sql: -1 record(s) updated
(1) sql: No additional queries configured
rlm_sql (sql): Released connection (3)
Need more connections to reach 10 spares
rlm_sql (sql): Opening additional connection (7), 1 of 25 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version.
rlm_sql_mysql: Connected to database 'radius' on Localhost via UNIX socket, server version 5.5.5-10.11.2-MariaDB-1, protocol version 10
rlm_sql (sql): Closing expired connection (6) - Hit idle_timeout limit
rlm_sql_mysql: Socket destructor called, closing socket
rlm_sql (sql): Closing expired connection (5) - Hit idle_timeout limit
rlm_sql_mysql: Socket destructor called, closing socket
rlm_sql (sql): Closing expired connection (4) - Hit idle_timeout limit
rlm_sql_mysql: Socket destructor called, closing socket
rlm_sql (sql): Closing expired connection (2) - Hit idle_timeout limit
rlm_sql_mysql: Socket destructor called, closing socket
rlm_sql (sql): Closing expired connection (1) - Hit idle_timeout limit
rlm_sql_mysql: Socket destructor called, closing socket
rlm_sql (sql): You probably need to lower "min"
rlm_sql (sql): Closing expired connection (0) - Hit idle_timeout limit
rlm_sql_mysql: Socket destructor called, closing socket
(1)     [sql] = noop
(1)     [exec] = noop
(1) attr_filter.accounting_response: EXPAND %{User-Name}
(1) attr_filter.accounting_response:    --> allan
(1) attr_filter.accounting_response: Matched entry DEFAULT at line 12
(1)     [attr_filter.accounting_response] = updated
(1)   } # accounting = updated
(1) Sent Accounting-Response Id 108 from 127.0.0.1:1813 to 127.0.0.1:56660 length 20
(1) Finished request
(1) Cleaning up request packet ID 108 with timestamp +97 due to done
Ready to process requests

look at the permissions of the "radutmp" file, it is not writing anything to it.

When tested with the server in debug mode, the accounting packages are showing "failed":

(62) Received Accounting-Request Id 202 from 192.168.5.122:37900 to 192.168.2.124:1813 length 217
(62)   Acct-Status-Type = Start
(62)   Acct-Authentic = RADIUS
(62)   User-Name = "allan"
(62)   NAS-IP-Address = 192.168.5.122
(62)   Framed-IP-Address = 192.168.5.71
(62)   NAS-Identifier = "62223237ad6a"
(62)   Called-Station-Id = "62-22-32-37-AD-6A:TestLP"
(62)   NAS-Port-Type = Wireless-802.11
(62)   Service-Type = Framed-User
(62)   Calling-Station-Id = "30-89-4A-03-E8-78"
(62)   Connect-Info = "CONNECT 0Mbps 802.11a"
(62)   Acct-Session-Id = "F1B9944619AE1244"
(62)   Acct-Multi-Session-Id = "90283D1835963A73"
(62)   WLAN-Pairwise-Cipher = 1027076
(62)   WLAN-Group-Cipher = 1027076
(62)   WLAN-AKM-Suite = 1027077
(62)   WLAN-Group-Mgmt-Cipher = 1027078
(62)   Event-Timestamp = "Oct 11 2023 17:07:16 -03"
(62)   Acct-Delay-Time = 3
(62) # Executing section preacct from file /etc/freeradius/3.0/sites-enabled/default
(62)   preacct {
(62)     [preprocess] = ok
(62)     policy acct_unique {
(62)       update request {
(62)         &Tmp-String-9 := "ai:"
(62)       } # update request = noop
(62)       if (("%{hex:&Class}" =~ /^%{hex:&Tmp-String-9}/) &&      ("%{string:&Class}" =~ /^ai:([0-9a-f]{32})/i)) {
(62)       EXPAND %{hex:&Class}
(62)          -->
(62)       EXPAND ^%{hex:&Tmp-String-9}
(62)          --> ^61693a
(62)       if (("%{hex:&Class}" =~ /^%{hex:&Tmp-String-9}/) &&      ("%{string:&Class}" =~ /^ai:([0-9a-f]{32})/i))  -> FALSE
(62)       else {
(62)         update request {
(62)           EXPAND %{md5:%{User-Name},%{Acct-Session-ID},%{%{NAS-IPv6-Address}:-%{NAS-IP-Address}},%{NAS-Identifier},%{NAS-Port-ID},%{NAS-Port}}
(62)              --> 9d456cff7c990d3febc8914a36a8fff9
(62)           &Acct-Unique-Session-Id := 9d456cff7c990d3febc8914a36a8fff9
(62)         } # update request = noop
(62)       } # else = noop
(62)       update request {
(62)         &Tmp-String-9 !* ANY
(62)       } # update request = noop
(62)     } # policy acct_unique = noop
(62) suffix: Checking for suffix after "@"
(62) suffix: No '@' in User-Name = "allan", looking up realm NULL
(62) suffix: No such realm "NULL"
(62)     [suffix] = noop
(62)     [files] = noop
(62)   } # preacct = ok
(62) # Executing section accounting from file /etc/freeradius/3.0/sites-enabled/default
(62)   accounting {
(62) detail: EXPAND /var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d
(62) detail:    --> /var/log/freeradius/radacct/192.168.5.122/detail-20231011
(62) detail: /var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d expands to /var/log/freeradius/radacct/192.168.5.122/detail-20231011
(62) detail: EXPAND %t
(62) detail:    --> Wed Oct 11 17:07:19 2023
(62)     [detail] = ok
(62)     [unix] = fail
(62)   } # accounting = fail
(62) Not sending reply to client.
(62) Finished request

Once again, thank you for your attention!
This is my first experience with RADIUS and I don't know any specialized personnel in my region.

Best regards,

Allan Cristian.


-----Mensagem original-----
De: Freeradius-Users <freeradius-users-bounces+ti.suporte=lupusequipamentos.com.br at lists.freeradius.org> Em nome de freeradius-users-request at lists.freeradius.org
Enviada em: quarta-feira, 11 de outubro de 2023 09:00
Para: freeradius-users at lists.freeradius.org
Assunto: Freeradius-Users Digest, Vol 222, Issue 12

Send Freeradius-Users mailing list submissions to
	freeradius-users at lists.freeradius.org

To subscribe or unsubscribe via the World Wide Web, visit
	https://lists.freeradius.org/mailman/listinfo/freeradius-users
or, via email, send a message with subject or body 'help' to
	freeradius-users-request at lists.freeradius.org

You can reach the person managing the list at
	freeradius-users-owner at lists.freeradius.org

When replying, please edit your Subject line so it is more specific than "Re: Contents of Freeradius-Users digest..."


Today's Topics:

   1. And then there were 4. (Alan DeKok)
   2. Re: And then there were 4. (Conrad Classen)
   3. Re: And then there were 4. (Matthew Newton)
   4. Re: How setup simultaneous-use? (Alan DeKok)
   5. Re: And then there were 4. (Matt Zagrabelny)
   6. Re: And then there were 4. (Alan DeKok)


----------------------------------------------------------------------

Message: 1
Date: Tue, 10 Oct 2023 15:05:26 -0400
From: Alan DeKok <aland at deployingradius.com>
To: FreeRadius users mailing list
	<freeradius-users at lists.freeradius.org>
Subject: And then there were 4.
Message-ID: <933CD530-15C5-460E-BBB4-86075BA70C94 at deployingradius.com>
Content-Type: text/plain;	charset=us-ascii

  We're happy to release the first alpha of version 4.0.  The full release notes are online at:

https://freeradius.org/4.0/alpha.html

  Packages are available at:

https://freeradius.org/ftp/pub/freeradius/

  This isn't the full release of version 4.  We expect that next year.  But it has major improvements over version 3.

  Please try it and see what you think.  Not all features are available (RadSec is missing, as is PEAP and TTLS).  

  We don't expect major changes between now and the full 4.0.  There will be changes, but the major work of re-architecture is done.

  Alan DeKok.



------------------------------

Message: 2
Date: Tue, 10 Oct 2023 21:08:19 +0200
From: Conrad Classen <conrad.classen at gmail.com>
To: freeradius-users at lists.freeradius.org
Subject: Re: And then there were 4.
Message-ID: <e4ea31d4-2084-44bb-9115-f8723bad0579 at gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed

Hi Alan and dev team, congratulations, that was a lot of work and effort that went into this.

Thank-you, and I look forwards to playing with v4-Alpha

Much appreciated


On 2023/10/10 21:05, Alan DeKok wrote:
>    We're happy to release the first alpha of version 4.0.  The full release notes are online at:
>
> https://freeradius.org/4.0/alpha.html
>
>    Packages are available at:
>
> https://freeradius.org/ftp/pub/freeradius/
>
>    This isn't the full release of version 4.  We expect that next year.  But it has major improvements over version 3.
>
>    Please try it and see what you think.  Not all features are available (RadSec is missing, as is PEAP and TTLS).
>
>    We don't expect major changes between now and the full 4.0.  There will be changes, but the major work of re-architecture is done.
>
>    Alan DeKok.
>
> -
> List info/subscribe/unsubscribe? 
> Seehttp://www.freeradius.org/list/users.html


------------------------------

Message: 3
Date: Tue, 10 Oct 2023 20:25:39 +0100
From: Matthew Newton <mcn at freeradius.org>
To: freeradius-users at lists.freeradius.org
Subject: Re: And then there were 4.
Message-ID: <3744ec70-5e10-450a-b0d8-63f53eb00c65 at freeradius.org>
Content-Type: text/plain; charset=UTF-8; format=flowed

On 10/10/2023 20:05, Alan DeKok wrote:
>    We're happy to release the first alpha of version 4.0.  The full release notes are online at:
> 
> https://freeradius.org/4.0/alpha.html
> 
>    Packages are available at:
> 
> https://freeradius.org/ftp/pub/freeradius/

As usual, Network RADIUS are providing pre-built packages packages for common Linux distributions. Details for these repositories are available from the following web page:

   https://networkradius.com/packages/4.0/

Note that you *must* have the most recent version of libkqueue installed to use v4. No distributions include this (as far as I am aware). Any libkqueue packages they provide have bugs that will likely cause FreeRADIUS to randomly crash.

Network RADIUS therefore also provide packages for libkqueue. The instructions on the above page include adding the "extras" repo which includes this.

--
Matthew


------------------------------

Message: 4
Date: Tue, 10 Oct 2023 15:59:21 -0400
From: Alan DeKok <aland at deployingradius.com>
To: FreeRadius users mailing list
	<freeradius-users at lists.freeradius.org>
Subject: Re: How setup simultaneous-use?
Message-ID: <4C2EA627-71B4-44BC-A19E-B297A1D6BC0F at deployingradius.com>
Content-Type: text/plain;	charset=us-ascii

On Oct 10, 2023, at 8:07 AM, ti.suporte at lupusequipamentos.com.br wrote:
> I need to block multiple connections for users and  i need help to setup the
> "Simultaneous-Use" with SQL. 
> 
> I see around forums, the documentation and others communities for help to
> config this atribute, and i dont has no more ideas.

  In order for Simultaneous-Use to work, not only the server has to be configured properly.  The NAS has to be configured, too.

  The NAS *must* send accounting packets.  If it doesn't, Simultaneous-Use won't work.

  You have Simultaneous-Use configured, which is a good start.  But the next steps are:

* verify that the server is receiving accounting packets

* verify that the accounting packets are going into SQL

  Then in order to make sure that you can test this feature without affecting production:

* use the real accounting packets to create "fake" ones for a test user.  Change the User-Name in the packet.

* set up a test user.  Make sure it's only User-Name and password.  Don't worry about EAP.

* use radclient to send an Access-Request.  Verify that Simultaneous-use is being applied.

  * the server is seeing Simultaneous-Use in the configs

  * the server is checking SQL

 * the server is returning Access-Accept

* Then send an accounting start packet for that user, using radclient.

  * verify that radclient sees an Accounting-Response

  * verify that the accounting data is entered in SQL

* Then send _another_ Access-Request for the same user

  * verify that the Simultaneous-Use / SQL checks are done as above

  * verify that the server returns Access-Reject

* use radclient to send Accounting Stop for the test user

  * this cleans up the entry in SQL.

  It's not enough to just configure Simultaneous-Use.  This is RADIUS, and there's a whole lot going on behind the scenes.  You have to ensure that every little piece is working correctly.

  Alan DeKok.



------------------------------

Message: 5
Date: Tue, 10 Oct 2023 15:08:47 -0500
From: Matt Zagrabelny <mzagrabe at d.umn.edu>
To: FreeRadius users mailing list
	<freeradius-users at lists.freeradius.org>
Subject: Re: And then there were 4.
Message-ID:
	<CAOLfK3XVf4hMjz9UxKgviyJbbTK7Ae7iwnaJYY15=N1aWtB06w at mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"

Hello!

On Tue, Oct 10, 2023 at 2:05?PM Alan DeKok <aland at deployingradius.com>
wrote:

>   We're happy to release the first alpha of version 4.0.  The full release
> notes are online at:
>

Well done, Alan and team!


>
> https://freeradius.org/4.0/alpha.html
>
>   Packages are available at:
>
> https://freeradius.org/ftp/pub/freeradius/
>
>   This isn't the full release of version 4.  We expect that next year.
>

Thank you for reading my mind, Alan. I was mulling the idea of sending an
email asking that exact question. Add clairvoyance to the feature list of
v4.

Again, we're very appreciative for your efforts, help, and generosity in
both the software you provide, and assistance you give on the mailing list.

Cheers!

-m


------------------------------

Message: 6
Date: Tue, 10 Oct 2023 16:51:40 -0400
From: Alan DeKok <aland at deployingradius.com>
To: FreeRadius users mailing list
	<freeradius-users at lists.freeradius.org>
Subject: Re: And then there were 4.
Message-ID: <E883CC86-9CF6-4B61-A7A5-9DA19CFCBD84 at deployingradius.com>
Content-Type: text/plain;	charset=us-ascii

On Oct 10, 2023, at 4:08 PM, Matt Zagrabelny via Freeradius-Users <freeradius-users at lists.freeradius.org> wrote:
> Well done, Alan and team!

  Thanks.  It's been an enormous amount of work.

> Thank you for reading my mind, Alan. I was mulling the idea of sending an
> email asking that exact question. Add clairvoyance to the feature list of
> v4.

  :)

  We plan on releasing v4 next August, in time for the 25th anniversary of FreeRADIUS.

> Again, we're very appreciative for your efforts, help, and generosity in
> both the software you provide, and assistance you give on the mailing list.

  You're welcome.

  Alan DeKok.



------------------------------

Subject: Digest Footer

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


------------------------------

End of Freeradius-Users Digest, Vol 222, Issue 12
*************************************************



More information about the Freeradius-Users mailing list