<feed xmlns='http://www.w3.org/2005/Atom'>
<title>accel-ppp.git/accel-pppd/ctrl, 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-07-26T08:19:24+00:00</updated>
<entry>
<title>sstp: express escape buffer bound as one invariant</title>
<updated>2026-07-26T08:19:24+00:00</updated>
<author>
<name>Vladislav Grishenko</name>
<email>themiron@mail.ru</email>
</author>
<published>2026-07-26T08:19:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=fd2cd2bce6328264ce9cb9bc371d7349319724a8'/>
<id>urn:sha1:fd2cd2bce6328264ce9cb9bc371d7349319724a8</id>
<content type='text'>
(size + PPP_FCSLEN) * 2 + 2 equals 8b781b94's size*2 + 2 + PPP_FCSLEN*2
but can't collapse back to the 1801847a under-allocating form.
</content>
</entry>
<entry>
<title>ipoe: fix username string leak on early session teardown</title>
<updated>2026-07-06T22:15:06+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-07-06T22:13:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=e12b38501be622c9c8e030de86a28721d797e542'/>
<id>urn:sha1:e12b38501be622c9c8e030de86a28721d797e542</id>
<content type='text'>
The ipoe-level ses-&gt;username always holds an allocated string
(_strdup of ifname/calling-station-id, u_inet_ntoa buffer or lua
result), but ipoe_session_free() never released it. Ownership is
normally transferred in auth_result() via ap_session_set_username(),
so the string was leaked whenever a session died before auth_result()
ran: termination while starting, PWDB_WAIT never completing, or
ipoe_create_interface() failure.

The create-interface failure path also leaked the freshly allocated
local copy outright, since it returned before the string was stored
anywhere.

Store the string in ses-&gt;username as soon as it is obtained and free
it in ipoe_session_free(). auth_result() clears ses-&gt;username before
handing ownership to ap_session_set_username(), so no double free is
possible.

Reported-by: Louis Scalbert (#101)
</content>
</entry>
<entry>
<title>ipoe: fix dhcpv4 relay reply packet leak</title>
<updated>2026-07-06T22:15:06+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-07-06T22:12:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=7a7ab323158a63f222698f85179090e3b6030b96'/>
<id>urn:sha1:7a7ab323158a63f222698f85179090e3b6030b96</id>
<content type='text'>
dhcpv4_relay_read() takes a reference on the reply packet for every
registered listener context and hands it over via triton_context_call().
The receiving ipoe_ses_recv_dhcpv4_relay() consumes that reference by
storing the packet in ses-&gt;dhcpv4_relay_reply, but the early-return
branch taken when the original request is already gone dropped the
reference without freeing the packet.

This leaks one packet every time a relay reply races with the request
being released, which happens regularly on busy relay-mode deployments.

Reported-by: Louis Scalbert (#101)
</content>
</entry>
<entry>
<title>pppoe: fix use-after-free in mac_filter_load()</title>
<updated>2026-07-06T08:28:53+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-07-06T08:28:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=2ba4437b88dc54ebc5dea6ba1c2007b9cd4aa0e0'/>
<id>urn:sha1:2ba4437b88dc54ebc5dea6ba1c2007b9cd4aa0e0</id>
<content type='text'>
When a mac-filter file line contained an octet &gt; 255, the error path freed
the entry but kept writing to it and linked it into mac_list. Validate all
octets before allocating so invalid lines are skipped entirely.

This is not considered a security vulnerability: the mac-filter file can
only be configured by an administrator with access to the daemon config,
or the CLI, both of which require privileged access.

Fixes #307

Signed-off-by: Denys Fedoryshchenko &lt;denys.f@collabora.com&gt;
</content>
</entry>
<entry>
<title>Merge pull request #323 from nuclearcat/stability-fixes</title>
<updated>2026-06-23T15:58:26+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-06-23T15:58:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=5787a45a952c021f697b31abe0063013912d7c8b'/>
<id>urn:sha1:5787a45a952c021f697b31abe0063013912d7c8b</id>
<content type='text'>
Stability fixes</content>
</entry>
<entry>
<title>Merge pull request #315 from nuclearcat/khedor-fixes</title>
<updated>2026-06-23T15:33:09+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-06-23T15:33:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=6a2dfa19254637ac8d844550d9bd36b7467c181f'/>
<id>urn:sha1:6a2dfa19254637ac8d844550d9bd36b7467c181f</id>
<content type='text'>
Several bugfixes for problems reported by Khodor Tahech </content>
</entry>
<entry>
<title>sstp: drain PPP write queue before deferring</title>
<updated>2026-06-23T14:36:34+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-06-23T14:34:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=af89a0a59765abb4a74b680aa7fe8c1b75488221'/>
<id>urn:sha1:af89a0a59765abb4a74b680aa7fe8c1b75488221</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pppoe: handle missing service-name tag</title>
<updated>2026-06-23T14:36:34+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-06-23T14:30:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=4deb615d7bd7134dd15686b9ea4239f73e20009e'/>
<id>urn:sha1:4deb615d7bd7134dd15686b9ea4239f73e20009e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>sstp: reserve escaped async PPP FCS space</title>
<updated>2026-06-23T14:36:34+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-06-23T14:27:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=8b781b94500f8d4144c9d5e8559605cbe69545dd'/>
<id>urn:sha1:8b781b94500f8d4144c9d5e8559605cbe69545dd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>openssl: suppress deprecated API warnings</title>
<updated>2026-06-10T18:28:29+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-06-10T14:15:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=c1689506bbc27f498612ca69648876599ded7d7c'/>
<id>urn:sha1:c1689506bbc27f498612ca69648876599ded7d7c</id>
<content type='text'>
</content>
</entry>
</feed>
