paraslash

Paraslash network audio streaming tools


About
News
Download
Documentation
Development

Development


The table below shows the topics currently under development. Each topic is included in the integration branch shown as Branch . Topics in next are expected to be of higher quality than those in pu .

Name Branch Commits Description
clean_server_exit pu 30 Clean up command handler execution
crypt pu 8 cleanup of the crypto code
doc next 3 documentation improvements
for-maint pu 0 urgent fixes for old bugs
gui-sigwinch next 1 Catch SIGWINCH again
misc pu 4 smallish miscellaneous changes for master
mood_fix pu 1 fix for a bug found by the gcc address sanitizer
ss pu 25 screen saver implementation based on Imagemagick
ubsan pu 2 New option for configure to activate ubsan

Topic branch details

The SHA1 number shown as tip can be used to checkout a commit which only contains the changes introduced in this topic.

clean_server_exit

  • desc: Clean up command handler execution
  • state: started on 2017-08-06
  • branch: pu
  • base: master
  • aim: master
  • number commits: 30
  • tip: 437a77ec3ed8f06e0bc66e18892e5c107d640355
  • merge commit: a00f1eb6b089697c1da3c0dba1f9051542458768
  • merge date: Sun, 18 Feb 2018 13:13:28 +0100
  • rebase count: 0

This series removes many memory leaks of para_server by refactoring the shutdown and signal handling code. Most of the leaks happen only at shutdown and are hence harmless. But it is still good to plug the leaks because this puts more focus on real memory leaks in the valgrind output.

  • The server subcommand “task” has been deprecated. It still works, but prints nothing. It will be removed in the next major release.

  • Server log output is now serialized, avoiding issues with partial lines.

  • It is now possible to switch to a different afs database by changing the server configuration and sending SIGHUP to the server process.

       Makefile.real   |   1 +
       acl.c           |  14 +++--
       afs.c           |  14 +++--
       afs.h           |   1 +
       aft.c           |  18 ++++---
       close_on_fork.c |  34 +++++++++---
       close_on_fork.h |   1 +
       command.c       |  60 ++++++++++++++-------
       command.h       |   2 +-
       daemon.c        |  16 ++++++
       daemon.h        |   1 +
       dccp_send.c     |  60 ++++++++++++---------
       error.h         |   2 +
       fd.c            |  28 ----------
       fd.h            |   1 -
       http_send.c     |  61 +++++++++++++--------
       send.h          |  19 ++++---
       send_common.c   |  15 +++++-
       server.c        | 163 +++++++++++++++++++++++++++++++++++++++++++-------------
       server.h        |   4 +-
       udp_send.c      |  62 +++++++++++++--------
       user_list.c     |  86 ++++++++++++++++++------------
       user_list.h     |   5 +-
       vss.c           |  72 +++++++++++++------------
       vss.h           |   1 +
       25 files changed, 480 insertions(+), 261 deletions(-)
    

crypt

  • desc: cleanup of the crypto code
  • state: started on 2017-12-27
  • branch: pu
  • base: master
  • aim: master
  • number commits: 8
  • tip: 70afd9e4133d1002554b0b0ae38b0ae310ae27a1
  • merge commit: 0de3bd03962e238aae5d7a0aea9e4ee9e16b43e2
  • merge date: Sun, 18 Feb 2018 13:13:05 +0100
  • rebase count: 5

Improvements to the crypto subsystem.

A couple of simple patches which clean up the openssl and gcrypt crypto backends. The non-trivial parts are the get_public_key() unification, the memory leak fixes for openssl and the activation of the secmem pool for gcrypt.

     audiod.c             |  4 +--
     client.c             |  3 +-
     client_common.c      |  8 ++---
     command.c            | 16 ++++-----
     configure.ac         |  6 ++--
     crypt.h              | 36 ++++++++++---------
     crypt_backend.h      |  4 +--
     crypt_common.c       | 77 ++++++++++++++++++++++++++++++-----------
     gcrypt.c             | 97 ++++++++++++++++++++--------------------------------
     crypt.c => openssl.c | 62 +++++++++++++--------------------
     server.c             |  4 ++-
     user_list.c          | 10 +++---
     12 files changed, 165 insertions(+), 162 deletions(-)

doc

  • desc: documentation improvements
  • state: started on 2017-11-05, cooking since 2018-02-11
  • branch: next
  • base: master
  • aim: master
  • number commits: 3
  • tip: 23af03dbfb283045ff952267ee83c2b7f2ef6380
  • merge commit: 6a0a9ef79dd2b993341cde66fb493f7eafb49b9c
  • merge date: Sun, 11 Feb 2018 10:44:09 +0100
  • rebase count: 13

Some minor documentation improvements.

  • Minor documentation improvements.

       m4/lls/audioc.suite.m4       |  6 ++---
       m4/lls/filter.suite.m4       | 18 ++++++++++---
       m4/lls/include/log-timing.m4 |  2 +-
       m4/lls/play.suite.m4         |  4 +--
       m4/lls/server.suite.m4       | 14 +++++------
       m4/lls/server_cmd.suite.m4   | 41 ++++++++++++++++++++++++------
       mp.c                         |  6 ++---
       sched.c                      |  2 +-
       sideband.h                   |  2 +-
       vss.c                        |  2 +-
       web/download.in.html         |  6 ++---
       web/manual.md                | 60 +++++---------------------------------------
       12 files changed, 76 insertions(+), 87 deletions(-)
    

for-maint

  • desc: urgent fixes for old bugs
  • state: cooking for a while, to be merged soon
  • branch: pu
  • base: maint
  • aim: maint
  • number commits: 0
  • tip: b48bca326fd7fc0484dd807ac1542269b3ab070f
  • merge commit: b48bca326fd7fc0484dd807ac1542269b3ab070f
  • merge date: Sun, 31 Dec 2017 14:52:32 +0100
  • rebase count: 0

gui-sigwinch

  • desc: Catch SIGWINCH again
  • state: started on 2017-09-23, cooking since 2017-10-28
  • branch: next
  • base: master
  • aim: master
  • number commits: 1
  • tip: 98dc2e1f173732411953da7300460cc419efd2bb
  • merge commit: 58caad0c1502c57d7dd52131ddaaea51573c3db2
  • merge date: Sat, 28 Oct 2017 19:56:37 +0200
  • rebase count: 19

A single patch which removes a long standing issue of para_gui.

  • para_gui no longer waits up to one second to update the screen when the geometry of the terminal changes.

       gui.c | 17 ++++++++++-------
       1 file changed, 10 insertions(+), 7 deletions(-)
    

misc

  • desc: smallish miscellaneous changes for master
  • state: testing
  • branch: pu
  • base: master
  • aim: master
  • number commits: 4
  • tip: 2b244d2a3c6cfa045bb1df9966f876081f13eb72
  • merge commit: 2a04004789c218f55c8687a1572dc145bbd89763
  • merge date: Sun, 18 Feb 2018 13:13:05 +0100
  • rebase count: 0

Stuff in here is too small to get its own topic branch, and safe enough to be applied to master without cooking in next.

     Makefile.real   | 67 ++++++++++++++++++++++++++++++---------------------------
     afh_recv.c      |  7 +++++-
     fd.c            |  8 +++----
     fd.h            |  3 +--
     m4/lls/makefile | 24 ++++++++++-----------
     mixer.c         | 14 ++++++------
     t/makefile.test |  5 +++--
     vss.c           |  2 +-
     8 files changed, 67 insertions(+), 63 deletions(-)

mood_fix

  • desc: fix for a bug found by the gcc address sanitizer
  • state: started on 2018-01-29
  • branch: pu
  • base: master
  • aim: master
  • number commits: 1
  • tip: eefa95a2144b2e759a3385741ff2636fb523a148
  • merge commit: 699180915cee7e406d139ac854bfab3f54e4484b
  • merge date: Sun, 18 Feb 2018 13:13:05 +0100
  • rebase count: 7

       mood.c | 24 ++++++++++++++++++------
       1 file changed, 18 insertions(+), 6 deletions(-)
    

ss

  • desc: screen saver implementation based on Imagemagick
  • state: proof of concept
  • branch: pu
  • base: master
  • aim: master
  • number commits: 25
  • tip: 9b5f93b220f9ec2d4d70a713d518282e03545a5c
  • merge commit: af844f405ed9deaa756b809eb00a6293d84c5a82
  • merge date: Sun, 18 Feb 2018 13:13:05 +0100
  • rebase count: 27

A quick hack for a screen saver which shows the cover art of the current audio file in an X window and slowly distorts the image, using several transformations provided by the Imagemagick library. Psychedelic and funny to watch.

Not yet integrated in the build system, and definitely quite buggy but could be made to work reliably.

     para-ss |  44 +++++
     ss.c    | 602 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     2 files changed, 646 insertions(+)

ubsan

  • desc: New option for configure to activate ubsan
  • state: started on 2017-07-15
  • branch: pu
  • base: master
  • aim: master
  • number commits: 2
  • tip: 9468c7afb2e44122b9bb9d2082f26f52d10a580b
  • merge commit: a09ff9c7e54ad44a112bc40c25a4fcd482b94db4
  • merge date: Sun, 18 Feb 2018 13:13:05 +0100
  • rebase count: 13

       Makefile.in   | 2 ++
       Makefile.real | 6 ++++++
       configure.ac  | 5 +++++
       3 files changed, 13 insertions(+)