Skip to content

Loading builds...

Changes

#145 (Apr 27, 2026, 4:15:25 PM)

rspro_util: asn1 decode: fix memleak when decoding fails

Change-Id: I071343d0134dbffb1bb71ea26a5b514be1b5bb27
lynxis at

#144 (Apr 27, 2026, 3:09:33 PM)

Fix: Prevent bankd from exiting upon SIGPIPE

If a client disconnects from a worker thread while the worker is
responding to a to a request from that client, the socket is closed and
SIGPIPE is sent to the worker, causing the application to exit.

To prevent this, all workers have a dummy handler to prevent this. Now
the worker can handle the closing of the socket.

Change-Id: I13d6e9da48d12f93c00bd2d021789bde71aca7cf
Andreas Eversberg at

#143 (Apr 27, 2026, 2:13:28 PM)

Remove unconditional assignment of asn_debug = 0

It is now the default and there is no code to set it.
Remove the assignment

Change-Id: I114e9773a1d0aa3c16990a946cf91c69b9c2498a
lynxis at

#142 (Apr 27, 2026, 2:13:28 PM)

asn1: move asn_debug into librspro

To allow compiling the asn code with `-DEMIT_ASN_DEBUG=1`.
Otherwise it will fail with an unresolved symbol because
librspro is compiled as shared-object.
Further initialize it as disable (0).

Change-Id: Icb03e8905f3b38ecebfcf294727a01f994511cce
lynxis at

#141 (Apr 27, 2026, 1:52:05 PM)

asn1: ber_decoder: disable stack size check on ctx = NULL

The stack size check is triggering when using asan or
when compile with -O1.
It is unclear why this is problematic.
This is a not a leak.

Related: OS#7002
Change-Id: Id99531f62ccdf73497bb08483ca6adbabe1a7cd7
lynxis at

#140 (Apr 27, 2026, 1:52:05 PM)

Remove unconditional assignment of asb_debug = 0

It is now the default and there is no code to set it.
Remove the assignment

Change-Id: I114e9773a1d0aa3c16990a946cf91c69b9c2498a
lynxis at

#139 (Apr 27, 2026, 1:52:05 PM)

asn1: move asn_debug into librspro

To allow compiling the asn code with `-DEMIT_ASN_DEBUG=1`.
Otherwise it will fail with an unresolved symbol because
librspro is compiled as shared-object.
Further initialize it as disable (0).

Change-Id: Icb03e8905f3b38ecebfcf294727a01f994511cce
lynxis at

#138 (Apr 27, 2026, 1:52:04 PM)

rspro_util: asn1 decode: fix memleak when decoding fails

Change-Id: I071343d0134dbffb1bb71ea26a5b514be1b5bb27
lynxis at

#137 (Apr 27, 2026, 1:16:33 PM)

Fix: Prevent bankd from exiting upon SIGPIPE

If a client disconnects from a worker thread while the worker is
responding to a to a request from that client, the socket is closed and
SIGPIPE is sent to the worker, causing the application to exit.

To prevent this, all workers have a dummy handler to prevent this. Now
the worker can handle the closing of the socket.

Change-Id: I13d6e9da48d12f93c00bd2d021789bde71aca7cf
Andreas Eversberg at

#136 (Apr 27, 2026, 1:16:32 PM)

Fix: Prevent race conditions when accessing slotmap in bankd

All threads (main and workers) can use slotmap_by_bank() and
slotmap_by_client() to get a mapping entry from the slot map. While
working with this entry (reading values), it could be deleted by a
different thread.

For example, if a client connects to a worker, the worker will check if
there is an existing mapping between a reader and this client. If it
exists, slotmap_by_client() will return a pointer. If the mapping is
deleted at this time by the server, the worker uses a pointer to a
mapping entry that has just been freed.

Change-Id: I3464726f37beb7c47b4e1f00c018ffa4f3948906
Andreas Eversberg at

#135 (Apr 27, 2026, 1:16:32 PM)

Fix: Remove slot mapping at bankd when client disconnects

If a client disconnects before removing the slot mapping, the worker
must undefine its 'bank_id' and 'slot_nr' and must change its state to
'UNMAPPED'.

send_signal_to_worker() searches for a worker that has a given bank and
slot. If a client re-connects to a different worker and if the bank and
slot would be still assigned to the old worker, the old worker could
receive signals when assigning or removing slot mapping. The new worker
would not be mapped.

Change-Id: I2fd03490e2506c55104309a0ef952389119023b8
Andreas Eversberg at

#134 (Apr 27, 2026, 9:23:18 AM)

Fix: Prevent bankd from exiting upon SIGPIPE

If a client disconnects from a worker thread while the worker is
responding to a to a request from that client, the socket is closed and
SIGPIPE is sent to the worker, causing the application to exit.

To prevent this, all workers have a dummy handler to prevent this. Now
the worker can handle the closing of the socket.

Change-Id: I13d6e9da48d12f93c00bd2d021789bde71aca7cf
Andreas Eversberg at

#133 (Apr 23, 2026, 1:13:24 PM)

Fix: Prevent race conditions when accessing slotmap in bankd

All threads (main and workers) can use slotmap_by_bank() and
slotmap_by_client() to get a mapping entry from the slot map. While
working with this entry (reading values), it could be deleted by a
different thread.

For example, if a client connects to a worker, the worker will check if
there is an existing mapping between a reader and this client. If it
exists, slotmap_by_client() will return a pointer. If the mapping is
deleted at this time by the server, the worker uses a pointer to a
mapping entry that has just been freed.

Change-Id: I3464726f37beb7c47b4e1f00c018ffa4f3948906
Andreas Eversberg at

#132 (Apr 23, 2026, 1:13:24 PM)

Fix: Prevent bankd from exiting upon SIGPIPE

IF a client disconnects from a worker thread while the worker is
responding to a to a request from that client, the socket is closed and
SIGPIPE is sent to the worker, causing the application to exit.

To prevent this, all workers have a dummy handler to prevent this. Now
the worker can handle the closing of the socket.

Change-Id: I13d6e9da48d12f93c00bd2d021789bde71aca7cf
Andreas Eversberg at

#131 (Apr 23, 2026, 11:53:00 AM)

Fix: Prevent race conditions when accessing slotmap in bankd

All threads (main and workers) can use slotmap_by_bank() and
slotmap_by_client() to get a mapping entry from the slot map. While
working with this entry (reading values), it could be deleted by a
different thread.

For example, if a client connects to a worker, the worker will check if
there is an existing mapping between a reader and this client. If it
exists, slotmap_by_client() will return a pointer. If the mapping is
deleted at this time by the server, the worker uses a pointer to a
mapping entry that has just been freed.

Change-Id: I3464726f37beb7c47b4e1f00c018ffa4f3948906
Andreas Eversberg at

#130 (Apr 23, 2026, 11:53:00 AM)

Fix: Prevent bankd from exiting upon SIGPIPE

IF a client disconnects from a worker thread while the worker is
responding to a to a request from that client, the socket is closed and
SIGPIPE is sent to the worker, causing the application to exit.

To prevent this, all workers have a dummy handler to prevent this. Now
the worker can handle the closing of the socket.

Change-Id: I13d6e9da48d12f93c00bd2d021789bde71aca7cf
Andreas Eversberg at

#129 (Apr 21, 2026, 7:12:55 AM)

Fix: Remove slot mapping at bankd when client disconnects

If a client disconnects before removing the slot mapping, the slotmap
entry will not be removed automatically. A subsequent client connection
for the same mapping will then trigger the the error: “ignoring
identical slotmap.”

In a setup with multiple readers, there are multiple bankd worker
threads. If a client re-connects, but if its connection is accepted by
a different thread, subsequent reader access or unmapping will fail.
There will be no mapping at the new thread.

The approach of this fix is to remove the slot mapping, if the client
connection to the worker thread terminates.

Change-Id: I2fd03490e2506c55104309a0ef952389119023b8
Andreas Eversberg at

#128 (Apr 21, 2026, 7:09:05 AM)

Fix: Remove slot mapping at bankd when client disconnects

If a client disconnects before removing the slot mapping, the slotmap
entry will not be removed automatically. A subsequent client connection
for the same mapping will then trigger the the error: “ignoring
identical slotmap.”

In a setup with multiple readers, there are multiple bankd worker
threads. If a client re-connects, but if its connection is accepted by
a different thread, subsequent reader access or unmapping will fail.
There will be no mapping at the new thread.

The approach of this fix is to remove the slot mapping, if the client
connection to the worker thread terminates.

Change-Id: I2fd03490e2506c55104309a0ef952389119023b8
Andreas Eversberg at

#127 (Apr 21, 2026, 6:52:45 AM)

Fix: Remove slot mapping at bankd when client disconnects

If a client disconnects before removing the slot mapping, the slotmap
entry will not be removed automatically. A subsequent client connection
for the same mapping will then trigger the the error: “ignoring
identical slotmap.”

In a setup with multiple readers, there are multiple bankd worker
threads. If a client re-connects, but if its connection is accepted by
a different thread, subsequent reader access or unmapping will fail.
There will be no mapping at the new thread.

The approach of this fix is to remove the slot mapping, if the client
connection to the worker thread terminates.

Change-Id: I2fd03490e2506c55104309a0ef952389119023b8
Andreas Eversberg at

#126 (Apr 21, 2026, 6:42:14 AM)

Fix: Remove slot mapping at bankd when client disconnects

If a client disconnects before removing the slot mapping, the slotmap
entry will not be removed automatically. A subsequent client connection
for the same mapping will then trigger the the error: “ignoring
identical slotmap.”

In a setup with multiple readers, there are multiple bankd worker
threads. If a client re-connects, but if its connection is accepted by
a different thread, subsequent reader access or unmapping will fail.
There will be no mapping at the new thread.

The approach of this fix is to remove the slot mapping, if the client
connection to the worker thread terminates.

Change-Id: I2fd03490e2506c55104309a0ef952389119023b8
Andreas Eversberg at

#125 (Apr 20, 2026, 2:37:29 PM)

Fix: Remove slot mapping at bankd when client disconnects

If a client disconnects before removing the slot mapping, the slotmap
entry will not be removed automatically. A subsequent client connection
for the same mapping will then trigger the the error: “ignoring
identical slotmap.”

In a setup with multiple readers, there are multiple bankd worker
threads. If a client re-connects, but if its connection is accepted by
a different thread, subsequent reader access or unmapping will fail.
There will be no mapping at the new thread.

The approach of this fix is to remove the slot mapping, if the client
connection to the worker thread terminates.

Change-Id: I2fd03490e2506c55104309a0ef952389119023b8
Andreas Eversberg at

#124 (Apr 9, 2026, 10:31:17 AM)

rspro_server: don't access the msg on error cases

The msg is NULL on errors.

Related: SYS#7930
Change-Id: I4e95c2473acd72cd2e01df329691c8f31882b3d9
lynxis at

#123 (Apr 9, 2026, 10:30:51 AM)

rspro_server: don't access the msg on error cases

The msg is NULL on errors.

Related: SYS#7930
Change-Id: I4e95c2473acd72cd2e01df329691c8f31882b3d9
lynxis at