<feed xmlns='http://www.w3.org/2005/Atom'>
<title>accel-ppp.git/accel-pppd/radius/req.c, branch sstp-alloc-invariant</title>
<subtitle>High performance PPTP/L2TP/SSTP/PPPoE/IPoE server for Linux (mirror of https://github.com/accel-ppp/accel-ppp.git)
</subtitle>
<id>https://git.amelek.net/accel-ppp/accel-ppp.git/atom?h=sstp-alloc-invariant</id>
<link rel='self' href='https://git.amelek.net/accel-ppp/accel-ppp.git/atom?h=sstp-alloc-invariant'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/'/>
<updated>2026-06-05T19:42:06+00:00</updated>
<entry>
<title>radius: update server secret on config reload</title>
<updated>2026-06-05T19:42:06+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-06-05T19:30:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=950dad62c7544dd42de319db29c4f57bd867971a'/>
<id>urn:sha1:950dad62c7544dd42de319db29c4f57bd867971a</id>
<content type='text'>
On EV_CONFIG_RELOAD, __add_server() re-parses each server line into a
fresh rad_server_t and, when it matches an existing server by
addr/auth_port/acct_port, copied over only the timeout/limit/bind
fields before freeing the new struct. The freshly parsed secret was
discarded, so editing a shared secret and reloading had no effect until
a full restart. The strdup'd secret on the freed struct was also leaked
on every matched reload.

Adopt the new secret into the existing server (freeing the old one) so
secret changes take effect on reload. New requests read
req-&gt;serv-&gt;secret directly, so they pick up the update immediately.
This covers both the modern "server=" path and the legacy
auth-server/acct-server path, which both funnel through __add_server().
</content>
</entry>
<entry>
<title>Merge pull request #297 from nuclearcat/fixes-radius</title>
<updated>2026-03-16T16:07:36+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-03-16T16:07:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=06f64b19a123d623438b95b5e6da00f4bf4ce9c1'/>
<id>urn:sha1:06f64b19a123d623438b95b5e6da00f4bf4ce9c1</id>
<content type='text'>
Various radius fixes</content>
</entry>
<entry>
<title>radius: Fix use after free and more</title>
<updated>2026-02-18T17:35:13+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-02-18T17:30:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=7bd6843c6fed0ec2ff25ba8892f1a7a28d98e6fb'/>
<id>urn:sha1:7bd6843c6fed0ec2ff25ba8892f1a7a28d98e6fb</id>
<content type='text'>
Situation is a bit complex. Even one problem we fix easily,
such as saving server as variable, rad_req_free might free
server in theory, and s will be invalid.
This is a bit of rewrite, but proper fix.
Fixes problem in 2 functions.

Signed-off-by: Denys Fedoryshchenko &lt;denys.f@collabora.com&gt;
</content>
</entry>
<entry>
<title>radius: Fix to same type of allocator and deallocator</title>
<updated>2026-02-06T16:07:20+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-02-06T16:07:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=ee53459c7d09d7bcb2482ebead9a1d10f5ad7180'/>
<id>urn:sha1:ee53459c7d09d7bcb2482ebead9a1d10f5ad7180</id>
<content type='text'>
Signed-off-by: Denys Fedoryshchenko &lt;denys.f@collabora.com&gt;
</content>
</entry>
<entry>
<title>fixup! Add RADIUS blast attack protection with Message-Authenticator</title>
<updated>2025-11-26T18:29:52+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2025-11-26T18:28:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=92110f9f3c9473de3d32bdc6202abb47315d41e7'/>
<id>urn:sha1:92110f9f3c9473de3d32bdc6202abb47315d41e7</id>
<content type='text'>
Not a bug, but to supress warnings.

Signed-off-by: Denys Fedoryshchenko &lt;denys.f@collabora.com&gt;
</content>
</entry>
<entry>
<title>Add RADIUS blast attack protection with Message-Authenticator</title>
<updated>2025-07-01T11:32:13+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2025-06-25T19:31:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=1ce263f13ac0b3aed3b14b4a9bb6a51afe210684'/>
<id>urn:sha1:1ce263f13ac0b3aed3b14b4a9bb6a51afe210684</id>
<content type='text'>
Recently FreeRadius started to complain accel-ppp doesn't pass
BlastRADIUS check. This commit fixes that.

This commit implements protection against RADIUS blast attacks
by adding support for the Message-Authenticator attribute in
Access-Request packets. This security enhancement helps
prevent unauthorized access attempts and replay attacks
on RADIUS authentication.

- Added new configuration option `blast-protection=1`
  in [radius] to enable Message-Authenticator inclusion
- Implemented HMAC-MD5 calculation for
  Message-Authenticator attribute (RFC 2869)
- Modified packet building to include 18-byte Message-Authenticator
  attribute when enabled
- Updated packet structure to support signing with shared secret

Enable blast protection by adding to the `[radius]` section:
```
blast-protection=1
```

When enabled, all Access-Request packets will include a
Message-Authenticator attribute with HMAC-MD5 signature,
providing cryptographic integrity verification and protection
against packet modification attacks.

Signed-off-by: Denys Fedoryshchenko &lt;denys.f@collabora.com&gt;
</content>
</entry>
<entry>
<title>Adding support to Radius IPV6 address</title>
<updated>2023-11-30T11:54:54+00:00</updated>
<author>
<name>LeoMeres</name>
<email>leonardo.meres@gmail.com</email>
</author>
<published>2023-11-10T16:42:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=962070cd52fe589514e2ef67325b09a1cfa9e6de'/>
<id>urn:sha1:962070cd52fe589514e2ef67325b09a1cfa9e6de</id>
<content type='text'>
This change enables ipv6 connections between accel-ppp and radius server
</content>
</entry>
<entry>
<title>add switch to disable sending NAS-Port-Id</title>
<updated>2022-04-20T12:09:58+00:00</updated>
<author>
<name>Sergey V. Lobanov</name>
<email>sergey@lobanov.in</email>
</author>
<published>2022-04-20T10:36:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=6f5f75e70ce10dd41c47af8a3b4b179813020d4c'/>
<id>urn:sha1:6f5f75e70ce10dd41c47af8a3b4b179813020d4c</id>
<content type='text'>
This patch introduces nas-port-id-in-req switch to disable sending
NAS-Port-Id attribute in radauth and radacct messages. New switch
might be useful if radius server cannot properly handle this
attrubite.

Signed-off-by: Sergey V. Lobanov &lt;sergey@lobanov.in&gt;
</content>
</entry>
<entry>
<title>These changes are in response to PR comments</title>
<updated>2021-12-28T12:35:08+00:00</updated>
<author>
<name>root</name>
<email>root@debian11-vyos-build.polycomm.net</email>
</author>
<published>2021-12-28T12:35:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=2bbeb7eb0a56ea34a8a3d2f7aba81836bcb50835'/>
<id>urn:sha1:2bbeb7eb0a56ea34a8a3d2f7aba81836bcb50835</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Added VRF support for radius request and DM/CoA server.</title>
<updated>2021-12-28T09:50:44+00:00</updated>
<author>
<name>root</name>
<email>root@debian11-vyos-build.polycomm.net</email>
</author>
<published>2021-12-28T09:50:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=2804a115fc2cd0d785d9a6dcb0be247c97c32d69'/>
<id>urn:sha1:2804a115fc2cd0d785d9a6dcb0be247c97c32d69</id>
<content type='text'>
New configuration format:

[radius]
server=address,secret[,auth-port=1812][,acct-port=1813][,vrf=VRF_NAME][,req-limit=0][,fail-timeout=0,max-fail=0,][,weight=1][,backup]
dae-server=x.x.x.x:port,secret[,vrf=VRF_NAME]

By default, VRF name is undefined.
</content>
</entry>
</feed>
