Andre Noll [Fri, 11 Jan 2008 13:01:57 +0000 (14:01 +0100)]
REQUIREMENTS: Link to the english version of the linphone pages.
Andre Noll [Thu, 10 Jan 2008 09:48:44 +0000 (10:48 +0100)]
fade.c: Don't include curses.h.
para_fade does not depend on curses. Including curses.h leads to an
error at compile time on linux if the curses headers are not installed.
Thanks to Johannes Wörner for reporting.
Andre Noll [Wed, 9 Jan 2008 08:10:35 +0000 (09:10 +0100)]
NEWS: Fix a typo.
Andre Noll [Tue, 8 Jan 2008 19:47:06 +0000 (20:47 +0100)]
Change year in Copyright comment from 2007 to 2008.
Andre Noll [Mon, 7 Jan 2008 16:50:15 +0000 (17:50 +0100)]
configure.ac: Improve alsa checks.
On non-Linux systems, do not check for alsa, and do not print the
warning message stating that alsa could not be found.
Also, skip further alsa-checks on the first failure.
Andre Noll [Mon, 7 Jan 2008 16:21:21 +0000 (17:21 +0100)]
Merge commit 'remotes/yangtse/master'
Andre Noll [Mon, 7 Jan 2008 16:20:49 +0000 (17:20 +0100)]
Fix gcc-warning on Solaris.
net.c:334: warning: missing braces around initializer
Andre Noll [Mon, 7 Jan 2008 15:32:02 +0000 (16:32 +0100)]
Merge commit 'remotes/yangtse/master'
Andre Noll [Mon, 7 Jan 2008 15:27:31 +0000 (16:27 +0100)]
Fix configure on Solaris.
Without this patch, configure fails on Solaris because it doesn't find
inet_ntoa() and socket(). These are in libnsl and libsocket
respectively, but AC_CHECK_FUNCS() doesn't know this.
Andre Noll [Sun, 6 Jan 2008 13:13:09 +0000 (14:13 +0100)]
gui.c: Change para command to "para_client --".
Andre Noll [Sun, 6 Jan 2008 13:12:34 +0000 (14:12 +0100)]
Reformat gui.ggo.
Andre Noll [Sun, 6 Jan 2008 00:47:23 +0000 (01:47 +0100)]
gui.ggo: Kill --auto_decode.
This option is unused for ages..
Andre Noll [Sat, 29 Dec 2007 20:44:28 +0000 (21:44 +0100)]
com_ls(): Always print the basename as the subject if -lv was given.
Andre Noll [Sat, 29 Dec 2007 20:43:50 +0000 (21:43 +0100)]
Fix a doxygen warning.
Andre Noll [Sat, 29 Dec 2007 20:43:36 +0000 (21:43 +0100)]
Cosmetics.
Andre Noll [Sat, 29 Dec 2007 20:43:13 +0000 (21:43 +0100)]
Simplify para_basename().
No need to allocate additional memory. This saves a malloc/free
in the hot path of com_ls(), the only caller. Also take care for
the case basename == NULL.
Andre Noll [Fri, 28 Dec 2007 16:03:02 +0000 (17:03 +0100)]
Update bash_completion to v0.3 commands.
It doesn't care about options, and it's slow. But it's better than
what was there before.
Andre Noll [Fri, 28 Dec 2007 13:36:10 +0000 (14:36 +0100)]
Turn PARA_STRERROR into an inline function.
Add documentation and an assertion for (num > 0).
Andre Noll [Fri, 28 Dec 2007 13:07:04 +0000 (14:07 +0100)]
Fix typo in the help text of the ls command.
Andre Noll [Fri, 28 Dec 2007 13:05:53 +0000 (14:05 +0100)]
com_lsatt(): Fix error message.
We must not use PARA_STRERROR(-ret) if ret is zero.
Andre Noll [Fri, 28 Dec 2007 13:02:55 +0000 (14:02 +0100)]
Makefile.in: Fix OS detection.
The uname_s variable was never defined. Define it and rename SYSTEM
to UNAME_RS while we are at it.
Andre Noll [Fri, 28 Dec 2007 12:59:46 +0000 (13:59 +0100)]
mood.c: Only print log message if we are actually reloading a mood.
Andre Noll [Fri, 28 Dec 2007 12:54:53 +0000 (13:54 +0100)]
ROUND_UP: Add missing parentheses().
Andre Noll [Thu, 27 Dec 2007 22:36:46 +0000 (23:36 +0100)]
chunk_queue.c: Fix some typos.
Andre Noll [Thu, 27 Dec 2007 22:15:19 +0000 (23:15 +0100)]
aft.c: Rename save_audio_file_info() and enum aft_row_offsets.
Andre Noll [Thu, 27 Dec 2007 22:13:23 +0000 (23:13 +0100)]
aft.c: Improve documentation of the add command.
Andre Noll [Thu, 27 Dec 2007 14:13:40 +0000 (15:13 +0100)]
server.ggo: Remove unused selector option.
Andre Noll [Thu, 27 Dec 2007 14:13:12 +0000 (15:13 +0100)]
Change syntax for selecting moods or playlists.
Use m/foo, p/bar instead of m:foo and p:bar. This is much friendlier
to bash completion.
Andre Noll [Thu, 27 Dec 2007 14:11:41 +0000 (15:11 +0100)]
Cosmetics.
Andre Noll [Thu, 27 Dec 2007 14:10:58 +0000 (15:10 +0100)]
Makefile.in: Change type of variables to simply expanded type.
Andre Noll [Sat, 22 Dec 2007 13:55:21 +0000 (14:55 +0100)]
configure.ac: Add some missing checks.
Noted by autoscan.
Andre Noll [Sat, 22 Dec 2007 13:29:02 +0000 (14:29 +0100)]
Make client_pre_select() and client_post_select() static.
Move functions around a bit to avoid forward-declarations.
Andre Noll [Sat, 22 Dec 2007 13:21:43 +0000 (14:21 +0100)]
client_common.c: Trivial cosmetic cleanups.
Andre Noll [Sat, 22 Dec 2007 13:01:16 +0000 (14:01 +0100)]
Change default loglevel for para_fsck from 4 to 3.
Andre Noll [Sat, 22 Dec 2007 13:00:12 +0000 (14:00 +0100)]
fsck.c: Improve log messages.
Andre Noll [Sat, 22 Dec 2007 12:58:01 +0000 (13:58 +0100)]
fsck.c: Fix NULL-pointer dereference.
fsck_cleanup() might be called with t == NULL.
Andre Noll [Sat, 22 Dec 2007 12:56:43 +0000 (13:56 +0100)]
fsck.c: Loglevel adjustments.
Andre Noll [Sat, 22 Dec 2007 12:54:58 +0000 (13:54 +0100)]
client_common.c: Kill invalid FIXME.
Short writes can not happen here.
Andre Noll [Sat, 22 Dec 2007 12:54:24 +0000 (13:54 +0100)]
client_common.c: Add a comment to client_connect().
Andre Noll [Sat, 22 Dec 2007 12:53:30 +0000 (13:53 +0100)]
README.afs: Add some information on para_fsck.
Andre Noll [Sat, 22 Dec 2007 12:52:51 +0000 (13:52 +0100)]
Fix para_client hangs.
In the client event handler we have to set the eof variable
to a negative value in order to shut down the stdout task.
Rename eof to error while at it.
Andre Noll [Tue, 18 Dec 2007 07:19:29 +0000 (08:19 +0100)]
Replace funny statement in para_next_signal() by readable code.
This happened to be correct only by coincidence. Quoting Linus:
Assignments inside tests should probably be relegated entirely
to loop constructs, where doing them outside the test changes
semantics.
Gerrit Renker [Mon, 17 Dec 2007 12:12:25 +0000 (13:12 +0100)]
03_STAT_no-clients.diff
Avoids messages like
Dec 15 20:01:25 _tiptop 1 stat_client_write: 0 client(s)
which would otherwise flood the debug log.
Gerrit Renker [Mon, 17 Dec 2007 12:12:25 +0000 (13:12 +0100)]
02_HTTP_access-list.diff
After adding IPv6 support the access list matching routine was left in
a broken state. This patch fixes the problem by continuing the support
for IPv4 address/netmask access lists.
The following problems are fixed:
* support for a server listening to both IPv6 (AF_INET6) and IPv4 (AF_INET)
address (since one can not assume that the server's address has AF_INET);
* explicit support for addresses in network-byte-order (without having to reverse
the netmask);
* a routine to extract v6-mapped IPv4 addresses ("::FFFF:x.x.x.x") for IPv4
clients connecting to a (dual-stack) IPv6 server.
When the access list is in use, the connection mode is automatically switched to
IPv4, i.e. IPv6 clients connecting to the server will be treated as if they were
in the deny-list.
Gerrit Renker [Mon, 17 Dec 2007 12:12:25 +0000 (13:12 +0100)]
01_DCCP_shutdown-unnecessary.diff
This calls shutdown(2) for unused communication paths in the DCCP sender/receiver:
* the sender does not read data from the client and so calls shutdown(SHUT_RD);
* the client does not send data to the server and so calls shutdown(SHUT_WR).
The advantage that this buys is a performance optimisation: using shutdown(2) in
DCCP means disabling the corresponding CCID kernel modules, which reduces the
processing costs, i.e.
* when using SHUT_RD, the receiver congestion-control module is de-activated;
* when using SHUT_WR, the sender congestion-control module is de-activated.
More information can be found on
http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/shutdown/
Andre Noll [Sun, 16 Dec 2007 18:34:56 +0000 (19:34 +0100)]
a/command_util.sh: Convert template members also in the short description.
Andre Noll [Sun, 16 Dec 2007 18:34:10 +0000 (19:34 +0100)]
Minor documentation improvements.
Andre Noll [Sat, 15 Dec 2007 17:06:46 +0000 (18:06 +0100)]
filter.h: Trivial documentation cleanups.
Andre Noll [Sat, 15 Dec 2007 16:45:01 +0000 (17:45 +0100)]
More error cleanups.
Andre Noll [Sat, 15 Dec 2007 16:31:29 +0000 (17:31 +0100)]
error.h: Remove unused E_CHDIR.
Andre Noll [Sat, 15 Dec 2007 16:23:24 +0000 (17:23 +0100)]
error.h: Remove some unused errors.
Andre Noll [Sat, 15 Dec 2007 16:14:17 +0000 (17:14 +0100)]
Kill unused E_FSTAT.
Andre Noll [Sat, 15 Dec 2007 16:11:48 +0000 (17:11 +0100)]
error.h: Kill unused DCCP_ERRORS.
Andre Noll [Sat, 15 Dec 2007 16:01:47 +0000 (17:01 +0100)]
Replace eof by error in receivers/filters/writers.
This way it's possible to tell at a later time why
the receiver/filter/writer terminated.
This allows to increase the delay for reconnecting in case
the receiver failed to connect to para_server: Let the receivers
set the error value to -E_RECV_EOF in case a normal end of file
event occurred and check this value when calculating the restart
barrier.
Andre Noll [Sat, 15 Dec 2007 15:49:47 +0000 (16:49 +0100)]
Fix some typos.
Andre Noll [Tue, 11 Dec 2007 20:17:01 +0000 (21:17 +0100)]
Merge commit 'remotes/fml/master'
Andre Noll [Tue, 11 Dec 2007 16:48:36 +0000 (17:48 +0100)]
Fix a gcc warning on MacOS.
Andre Noll [Tue, 11 Dec 2007 16:48:11 +0000 (17:48 +0100)]
Makefile.in: Avoid gcc warnings on non-linux systems.
-fdata-sections, -ffunction-sections, -Wl,--gc-sections, -Wstrict-prototypes
and -Wshadow produce quite a lot of warnings on at least NetBSD and MacOS. So
use these flags only on Linux.
Andre Noll [Tue, 11 Dec 2007 16:42:24 +0000 (17:42 +0100)]
Fix SIGUSR1 handling on Solaris.
para_client dies the second time it receives SIGUSR1, because the signal action
is restored to the default state once the signal handler has been called.
Andre Noll [Tue, 11 Dec 2007 16:40:50 +0000 (17:40 +0100)]
Merge commit 'remotes/fml/master'
Andre Noll [Tue, 11 Dec 2007 16:37:16 +0000 (17:37 +0100)]
server.c: Check return value of signal().
And replace the ugly code that counted the number of calls to
para_install_sighandler() by equivalent, but less ugly code.
Andre Noll [Tue, 11 Dec 2007 16:31:24 +0000 (17:31 +0100)]
Simplify SIGUR1 handling.
There's no need to catch this signal in server.c as it is unly used to notify
its children. So just ignore it.
Andre Noll [Tue, 11 Dec 2007 12:08:04 +0000 (13:08 +0100)]
stat.c: Simplify stat_client_write().
Use write_ok() instead of open coding.
Andre Noll [Sun, 9 Dec 2007 21:02:06 +0000 (22:02 +0100)]
Merge commit 'remotes/yangtse/master'
Andre Noll [Sun, 9 Dec 2007 21:01:52 +0000 (22:01 +0100)]
Merge commit 'remotes/fml/master'
Andre Noll [Sat, 8 Dec 2007 19:47:39 +0000 (20:47 +0100)]
afs.h: Doxify comment for struct audio_file_data.
Andre Noll [Sat, 8 Dec 2007 19:46:44 +0000 (20:46 +0100)]
afs.h: Kill unused function declaration close_audio_file().
Andre Noll [Sat, 8 Dec 2007 18:47:54 +0000 (19:47 +0100)]
Add new "screenshots".
Andre Noll [Sat, 8 Dec 2007 18:14:50 +0000 (19:14 +0100)]
Add new status items num_chunks and chunk_time.
Andre Noll [Fri, 7 Dec 2007 16:34:38 +0000 (17:34 +0100)]
Merge commit 'remotes/fml/master'
Andre Noll [Thu, 6 Dec 2007 21:12:03 +0000 (22:12 +0100)]
alsa_write.c: Don't abort on EAGAIN.
Just retry a bit later.
Andre Noll [Wed, 5 Dec 2007 16:38:01 +0000 (17:38 +0100)]
command_util.sh: Add missing newline.
Andre Noll [Tue, 4 Dec 2007 13:11:10 +0000 (14:11 +0100)]
Fix some gcc warnings on Solaris:
warning: int format, pid_t arg
warning: int format, long int arg
int format, uid_t arg
int format, gid_t arg
Andre Noll [Mon, 3 Dec 2007 20:39:33 +0000 (21:39 +0100)]
CREDITS update.
Andre Noll [Mon, 3 Dec 2007 19:42:09 +0000 (20:42 +0100)]
net.c: Make host_and_port() static.
It's only used in net.c. Some more trivial cleanups also.
Andre Noll [Mon, 3 Dec 2007 19:40:22 +0000 (20:40 +0100)]
http_send.c: Fix another doxygen warning.
Found \endcond command without matching \cond
Andre Noll [Mon, 3 Dec 2007 19:33:14 +0000 (20:33 +0100)]
net.c: Fix a doxygen warning and trivial coding style cleanups.
No functional changes. Fixes the following doxygen warning:
Warning: documented function `getsockname for local or fn getpeername' was not declared or defined.
Cosmetic cleanups include:
- Reduce line width to 80 chars in most cases.
- Replace @param by \param.
- Replace tabs by spaces.
Andre Noll [Mon, 3 Dec 2007 18:46:25 +0000 (19:46 +0100)]
Trivial whitespace cleanups.
Andre Noll [Mon, 3 Dec 2007 18:39:06 +0000 (19:39 +0100)]
Merge commit 'remotes/fml/master'
Andre Noll [Mon, 3 Dec 2007 17:12:52 +0000 (18:12 +0100)]
Fix gcc warning on FreeBSD.
daemon.c:184: warning: long int format, int arg (arg 2)
Andre Noll [Mon, 3 Dec 2007 16:40:26 +0000 (17:40 +0100)]
Mention IPv6 support in NEWS and FEATURES.
Andre Noll [Mon, 3 Dec 2007 16:25:30 +0000 (17:25 +0100)]
Fix compilation on NetBSD.
At least on NetBSD-3.1, AI_V4MAPPED, AI_ALL, and AI_ADDRCONFIG
are all undefined. The fix is to #define these to zero if they
are not defined in netdb.h. This means that no hints will be
given in this case which is the best we can do.
Andre Noll [Fri, 30 Nov 2007 21:45:19 +0000 (22:45 +0100)]
alsa_write: Print more detailed error message.
Gerrit Renker [Fri, 30 Nov 2007 09:23:51 +0000 (10:23 +0100)]
06_Unix-Domain-Sockets.diff
[LOCAL SOCKETS]: Tidy up and share common code
This patch just suggested itself - after all the other changes have been made,
the only remaining customers of PARA_CONNECT were the Unix domain sockets.
The patch generates a counterpart to create_local_socket(), for the peer talking
over a Unix domain socket.
Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Gerrit Renker [Fri, 30 Nov 2007 09:23:51 +0000 (10:23 +0100)]
05_DCCP-Remove-Unused.diff
Since DCCP now also uses the makesock function from net.c, it does no longer
need the functions from dccp.c -- the file is thus removed by this patch.
Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Gerrit Renker [Fri, 30 Nov 2007 09:23:51 +0000 (10:23 +0100)]
04_DCCP-socket-functions.diff
This converts the DCCP streaming unit to use the makesock interface.
As much as possible, the format of the system calls was modelled after /
adapted to that of the HTTP sender/receiver.
This includes the use of a `name' field for the remote socket name of
the connecting client.
Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Gerrit Renker [Fri, 30 Nov 2007 09:23:51 +0000 (10:23 +0100)]
03_TCP-socket-functions.diff
This converts the control connection and the HTTP streaming module to use the makesock() interface.
The specific changes are:
* replace tcp_connect() directly with makesock();
* replace tcp_listen() with para_listen() (in turn a wrapper around makesock());
* init_sockaddr() becomes obsolete;
* replaced use of sockaddr_in in para_accept() with NULL sockaddr argument
-- the `remote' name of the socket is always available via getpeername(2),
-- this is exploited by replacing the reverse-name lookup with remote_name();
* the sockaddr_in field `addr' of `struct http_client' has been replaced with `name' string
-- name is filled in as in para_accept() above, using remote_name(),
-- unlike above, the remote_fd() call can later not be done, due to close_listed_fds().
The one thing I am really not sure about is host_in_access_perm_list():
* It needed to be converted to allow address-independent HTTP streaming.
* The conversion represents the obvious choice for doing this.
* However, I have not (yet) tested it.
* A problem that may arise is that when listening using AF_UNSPEC then _all_ addresses appear
as IPv6 addresses (i.e. the test "family == AF_INET" would never hold true). In this case,
a possible solution is to switch between AF_UNSPEC and AF_INET dependint on whether the
configurable access-list is empty or non-empty, respectively.
* A possible place for this chance would be http_send_init() or any other function calling
open_tcp_port().
Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Gerrit Renker [Fri, 30 Nov 2007 09:23:51 +0000 (10:23 +0100)]
02_Reverse-lookup-support.diff
In some parts of the code a reverse-lookup (e.g. "connection from xxx") is used.
An address-family independent reverse-lookup function is provided by this patch,
exploiting that a socket is described by {src addr, src port, dst addr, dst port}:
* host_and_port(): prints host and port number of given socket,
* local_name(): pretty-prints src-addr/src-port,
* remote_name(): pretty-prints dst-addr/dst-port;
Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Gerrit Renker [Fri, 30 Nov 2007 09:23:51 +0000 (10:23 +0100)]
01_IPv6-Basic-Support.diff
This patch provides an algorithm which, given a hostname and a numeric port identifier,
will look up all matching IPv4/IPv6 addresses and either bind it (for passive sockets)
or connect to it (for active sockets).
Certain socket options need to be set before a connection is established. Since in
paraslash the demand for such options is not very big at this time, the only present
case (setting SO_REUSEADDR on passive sockets) has been integrated into the main loop.
A more sophisticated variant for setting pre-connection socket options exists and is
available as part of the DCCP library. The current solution is extensible, i.e. if one
wants to later add more options, the alternative (more sophisticated approach) can be
used. But for now, that would just have meant code bloat.
The subsequent patches in this set will step by step replace the old infrastructure
with the use of this algorithm.
Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Andre Noll [Fri, 30 Nov 2007 09:01:05 +0000 (10:01 +0100)]
INSTALL: Use $LOGNAME instead of hardcoding the user name.
Andre Noll [Fri, 30 Nov 2007 08:59:19 +0000 (09:59 +0100)]
Fix link to gitweb on the main page.
Andre Noll [Mon, 26 Nov 2007 15:03:15 +0000 (16:03 +0100)]
replace PUBLIC_KEY.
The new key adds my email address of tuebingen, and deletes
the tud and the www.paraslash.org email addresses.
Andre Noll [Mon, 26 Nov 2007 15:01:51 +0000 (16:01 +0100)]
Remove key.anonymous.
It was only needed for the live demo.
Andre Noll [Sun, 25 Nov 2007 22:28:09 +0000 (23:28 +0100)]
com_addatt: Minor improvements.
- Use get_attribute_bitnum_by_name() instead of open-coding.
- Use new error code E_ATT_TABLE_FULL.
- Move definition of objs[ATTCOL_NAME] down to where it is needed.
- Kill FIXME comment: We can not use find_greatest_att_bitnum() here.
Andre Noll [Sun, 25 Nov 2007 22:21:35 +0000 (23:21 +0100)]
string.h: for_each_line_ro() takes a _pointer_ to the line_handler.
Andre Noll [Sun, 25 Nov 2007 22:20:31 +0000 (23:20 +0100)]
afs.h: Add more documentation.
Andre Noll [Sun, 25 Nov 2007 22:19:53 +0000 (23:19 +0100)]
afs.h: Fix typo in comment.
Andre Noll [Sun, 25 Nov 2007 22:18:58 +0000 (23:18 +0100)]
afh_common.c: Add documentation of afh_init().
Andre Noll [Sun, 25 Nov 2007 21:32:19 +0000 (22:32 +0100)]
error.h: Cosmetics.
Andre Noll [Sun, 25 Nov 2007 21:24:54 +0000 (22:24 +0100)]
The setatt command needs at least two arguments.