<feed xmlns='http://www.w3.org/2005/Atom'>
<title>paraslash/http_recv.c, branch master</title>
<subtitle>paraslash - network audio streaming tools</subtitle>
<id>https://git.tue.mpg.de/cgit/paraslash/atom?h=master</id>
<link rel='self' href='https://git.tue.mpg.de/cgit/paraslash/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/'/>
<updated>2026-05-03T19:15:30Z</updated>
<entry>
<title>Prefer paraslash_version() over PACKAGE_VERSION.</title>
<updated>2026-05-03T19:15:30Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-04-28T17:12:59Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=0fcf0ab6852d64d6b9941f850dbdcdcde1b60d1f'/>
<id>urn:sha1:0fcf0ab6852d64d6b9941f850dbdcdcde1b60d1f</id>
<content type='text'>
Currently we use at several places the package version, i.e. the version
that was checked out when the package was configured. The paraslash version
is recomputed every time the package is build, so this is more up-to-date.
So use paraslash_version() everywhere and remove PACKAGE_VERSION.
</content>
</entry>
<entry>
<title>Switch to SPDX identifiers.</title>
<updated>2026-03-17T22:45:43Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-03-15T14:57:29Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=ea0cecf96e08c489fdcc94d046019f4ce46f58e2'/>
<id>urn:sha1:ea0cecf96e08c489fdcc94d046019f4ce46f58e2</id>
<content type='text'>
Generated with

	sed -i 's|Copyright.*Andre Noll.*|SPDX-License-Identifier: GPL-2.0 */|g' *.c *.h

followed by manually tweaking the result a bit. No license change intended.
</content>
</entry>
<entry>
<title>doxygen: Hide user_data variables.</title>
<updated>2025-10-08T18:58:23Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-06-16T22:26:15Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=9a8ad2ce61b0e7c1fed85c565096c46a0be5989e'/>
<id>urn:sha1:9a8ad2ce61b0e7c1fed85c565096c46a0be5989e</id>
<content type='text'>
These just clutter the generated documentation, particularly the list of
global variables.
</content>
</entry>
<entry>
<title>Modify para_hostname() to return a static buffer.</title>
<updated>2025-08-07T12:49:36Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-07-09T23:54:11Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=51ad4f6ba4d91ffc0c37cf56882a5ac60fea81c3'/>
<id>urn:sha1:51ad4f6ba4d91ffc0c37cf56882a5ac60fea81c3</id>
<content type='text'>
All but one caller immediately free the result after using it. The exception
is daemon.c, which maintains a copy in struct daemon, and leaks it on exit.

All users can trivially be converted to use the new version, which does not
require to free the result.
</content>
</entry>
<entry>
<title>Include regex.h from para.h.</title>
<updated>2025-05-19T17:35:58Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-05-18T20:05:45Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=67388cd4fae0cfd1674aada937f4f4d2faeeee1f'/>
<id>urn:sha1:67388cd4fae0cfd1674aada937f4f4d2faeeee1f</id>
<content type='text'>
Every .c file includes it anyway.
</content>
</entry>
<entry>
<title>fd: Improve read_pattern(), rename it to read_and_compare().</title>
<updated>2023-05-07T18:45:22Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2022-09-25T20:01:25Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=d1b7b2dbccd20ef72c54b7e06117ef1f92500c04'/>
<id>urn:sha1:d1b7b2dbccd20ef72c54b7e06117ef1f92500c04</id>
<content type='text'>
The old name was a poor choice because the pattern argument actually
is neither a regular expression nor a filename pattern.

More importantly, the function receives a buffer size and tries
to read this many bytes but then compares only the first part of
the received buffer to the expected string. This is a rather weird
calling convention.

The only two callers are the http sender and receiver which both
call the function during the initial handshake where no other data is
available. Thus we can change the function to read only the minimal
amount of data (length of the expected string), and drop the bufsize
parameter.

Remove the unnecessary log message in the error case and streamline
the documentation while at it.
</content>
</entry>
<entry>
<title>net: Rename para_connect_simple() -&gt; para_connect().</title>
<updated>2022-10-03T20:53:49Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2022-03-10T23:30:14Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=ac9cc8f21ddeb821134e657f509bb83cec8c1da4'/>
<id>urn:sha1:ac9cc8f21ddeb821134e657f509bb83cec8c1da4</id>
<content type='text'>
We used to have para_connect() at some point (hence the need for the
_simple suffix), but it was removed long ago.
</content>
</entry>
<entry>
<title>Merge topic branch t/overflow into master</title>
<updated>2022-10-03T16:01:20Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2022-10-03T15:59:56Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=563b56a493d6a2bdcdebafadd907954dbe1de8a8'/>
<id>urn:sha1:563b56a493d6a2bdcdebafadd907954dbe1de8a8</id>
<content type='text'>
This series implements a new memory allocation API which checks
for overflows. The first part of the series just renames the main
allocation functions. Later patches in the series implement allocators
which take two size_t arguments (like calloc(3)) and check whether the
multiplication overflows by employing the __builtin_mul_overflow()
primitive supported by gcc and clang. This requires us to bump the
lowest supported gcc and clang version.

* refs/heads/t/overflow:
  build: Compile with -ftrapv.
  string: Introduce arr_zalloc().
  string: Introduce arr_alloc().
  string: Introduce arr_realloc() and check for integer overflow.
  string: Rename para_calloc() -&gt; zalloc().
  string: Rename para_malloc() -&gt; alloc().
  string: Overhaul para_strdup().
</content>
</entry>
<entry>
<title>Rename -&gt;{pre,post}_select methods to -&gt;{pre,post}_monitor.</title>
<updated>2022-08-25T13:37:26Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2021-10-10T16:10:09Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=e3a7e12639c34fd86d48a072beb48add8c498d09'/>
<id>urn:sha1:e3a7e12639c34fd86d48a072beb48add8c498d09</id>
<content type='text'>
The word "monitor" is neutral and continues to be correct after the
switch from select(2) to poll(2).

Pure rename, nothing to see here.
</content>
</entry>
<entry>
<title>Hide implementation of para_fd_set().</title>
<updated>2022-08-25T13:37:26Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2021-10-03T19:52:02Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=bb899fb1a0c279a2890ff30d11bf7aec50fb92ed'/>
<id>urn:sha1:bb899fb1a0c279a2890ff30d11bf7aec50fb92ed</id>
<content type='text'>
This preparatory patch for replacing select() renames para_fd_set()
to sched_fd_set(), moves it to sched.c and makes it static. All
users are modified to call either of the two new public functions
sched_monitor_{read,write}fd() which take a pointer to struct sched
rather than an fd set pointer.
</content>
</entry>
</feed>
