Andre Noll [Tue, 18 Sep 2007 07:33:46 +0000 (09:33 +0200)]
Add small version of the earthshaking new logo.
Andre Noll [Mon, 17 Sep 2007 18:24:46 +0000 (20:24 +0200)]
The earthshaking new logo.
Andre Noll [Mon, 17 Sep 2007 17:08:58 +0000 (19:08 +0200)]
Revert "string.c: Use $HOME to get the home directory."
This reverts commit
379a2724984d903b7be8981a85b6cc82cab6ea90.
It doesn't play well with the -u option of para_server.
Andre Noll [Sat, 15 Sep 2007 22:36:13 +0000 (00:36 +0200)]
server/afs: Close an unused file descriptor.
And mark file descriptors used for select() as non-blocking.
Andre Noll [Sat, 15 Sep 2007 21:33:52 +0000 (23:33 +0200)]
Some documentation fixes.
MAke doxygen happy again and add documentation for com_setatt().
Andre Noll [Sat, 15 Sep 2007 21:08:23 +0000 (23:08 +0200)]
osl.c: Rename verify_basename() to verify_name().
It's actually used for verifying table names and column names.
Andre Noll [Sat, 15 Sep 2007 21:05:29 +0000 (23:05 +0200)]
osl: Rename struct row.id to row.num.
Andre Noll [Sat, 15 Sep 2007 20:58:16 +0000 (22:58 +0200)]
aft.c: Kill global variable "now".
Andre Noll [Sat, 15 Sep 2007 20:22:33 +0000 (22:22 +0200)]
Replace void *row by struct osl_row *row.
Also, make some functions in aft.c static.
Andre Noll [Sat, 15 Sep 2007 20:14:31 +0000 (22:14 +0200)]
attribute.c: Major cleanup and fixes.
- Implement callback for the broken lsatt command.
- Add documentation and GPL header.
- Fix a nasty bug in com_setatt_callback().
Andre Noll [Sat, 15 Sep 2007 20:11:36 +0000 (22:11 +0200)]
Add more error descriptions.
Andre Noll [Sat, 15 Sep 2007 20:10:08 +0000 (22:10 +0200)]
afs.cmd: Add documentation for lsatt.
Andre Noll [Sat, 15 Sep 2007 20:09:31 +0000 (22:09 +0200)]
command.c: Fix a bug in get_cmd_ptr().
Caused handler to segfault if an invalid command was given.
Andre Noll [Sat, 15 Sep 2007 17:42:29 +0000 (19:42 +0200)]
replace para_connect() by PARA_CONNECT.
PARA_CONNECT is a macro which works for all three socket address types
used in paraslash (sockaddr_in, sockaddr, sockaddr_un) and which does
not need a length parameter.
Change all instances of connect() and para_connect() to use PARA_CONNECT().
Andre Noll [Sat, 15 Sep 2007 16:51:57 +0000 (18:51 +0200)]
time.c: Add GPL header and improve documentation.
Andre Noll [Sat, 15 Sep 2007 16:32:32 +0000 (18:32 +0200)]
Invalidate table pointers on shutdown.
This caused a segfault when com_init() was invoked twice because
osl was trying to close an already closed table.
Also, add a bunch of error descriptions.
Andre Noll [Sat, 15 Sep 2007 14:01:20 +0000 (16:01 +0200)]
Rename osl index entry stuff.
struct osl_table: index_entry_size -> row_index_size
get_index_entry_start -> get_row_index
get_index_entry -> get_cell_index
update_index_entry -> update_cell_index
Andre Noll [Sat, 15 Sep 2007 13:27:48 +0000 (15:27 +0200)]
loglevel adjustments.
Andre Noll [Sat, 15 Sep 2007 13:26:42 +0000 (15:26 +0200)]
error.h: Add error message for E_NO_MATCH.
Andre Noll [Sat, 15 Sep 2007 13:12:59 +0000 (15:12 +0200)]
osl.c: Fix a bug in osl_update_object().
In case a mapped column is being updated, we have to unmap the
thing before appending to the data file.
Andre Noll [Sat, 15 Sep 2007 08:41:48 +0000 (10:41 +0200)]
com_add(): Add missing return statement.
Duplicates were added twice in force mode.
Andre Noll [Sat, 15 Sep 2007 07:50:14 +0000 (09:50 +0200)]
Fix the privious assertion().
It's OK to ask for the name of an audio format id < 0, as id -1 is used for
"currently no audio file is open". So allow this case, and fix the upper bound
which was off by one while we're at it.
Andre Noll [Sat, 15 Sep 2007 07:39:18 +0000 (09:39 +0200)]
audio_format_name(): Add an assert().
The paraslash code should never request the name of an audio format
with invalid id. Introduce the ARRAY_SIZE macro to get the proper
upper bound for the number of supported audio formats.
Andre Noll [Sat, 15 Sep 2007 07:29:18 +0000 (09:29 +0200)]
ogg_afh.c: Store the bitrate in KHz rather than in Hz.
The other audio format handlers also do it that way.
Andre Noll [Sat, 15 Sep 2007 07:16:05 +0000 (09:16 +0200)]
command.c: Fix om_help().
It segfaulted due to a missing return statement.
Andre Noll [Sat, 15 Sep 2007 07:15:09 +0000 (09:15 +0200)]
command.c: Increase maximal command length.
4096 is really short if you want to pass lots of filenames.
Andre Noll [Fri, 14 Sep 2007 20:10:28 +0000 (22:10 +0200)]
More loglevel adjustments.
Andre Noll [Fri, 14 Sep 2007 19:59:58 +0000 (21:59 +0200)]
afs.cmd: Add documentation of com_afs_ls.
Andre Noll [Fri, 14 Sep 2007 19:59:32 +0000 (21:59 +0200)]
com_afs_ls(): Fix output width of duration.
Andre Noll [Fri, 14 Sep 2007 17:51:08 +0000 (19:51 +0200)]
loglevel adjustments.
Adding many audio files was way to verbose..
Andre Noll [Fri, 14 Sep 2007 15:41:31 +0000 (17:41 +0200)]
afs: com_add() fixes and improvements.
- Simplify verify_path()
- make com_add() accept paths that end with a slash.
- add_one_audio_file() _always_ returns success.
Andre Noll [Fri, 14 Sep 2007 09:14:41 +0000 (11:14 +0200)]
rc4: Round up output buffer size.
valgrind indicated that RC4() writes beyond the end of the output buffer which
was was of the same size than the input buffer. Workaround this by rounding up
the output buffer size to a multiple of 8.
Andre Noll [Thu, 13 Sep 2007 21:06:39 +0000 (23:06 +0200)]
aac_afh.c: Fix serious memory leak.
Ooops. We forgot to close the AAC decoder handle...
Andre Noll [Thu, 13 Sep 2007 19:55:46 +0000 (21:55 +0200)]
Fix com_add segfault.
We call free(obj.data) unconditionally on errors, but is is not set to NULL.
Also, return always success in add_one_audio_file() in order to continue the
loop.
Andre Noll [Thu, 13 Sep 2007 19:53:32 +0000 (21:53 +0200)]
ogg_afh.c: Fix a memory leak.
In an non-ogg file is passed to the ogg audio format handler, such that the
initial ogg_sync_pageout() fails, the old code leaked the memory which was
allocated for the stream_in and the stream_out pointers.
Andre Noll [Thu, 13 Sep 2007 17:09:24 +0000 (19:09 +0200)]
com_add: Minor improvements.
Continue if an audio file could not be added and print proper error
message in case of errors.
Andre Noll [Wed, 12 Sep 2007 21:43:16 +0000 (23:43 +0200)]
aft.c: Fix com_add().
callbacks shall return zero or negative, if no result is provided. So let
com_ls_callback() return zero if no match was found, or if the audio file table
does not contain any entries. Check for ret > 0 in com_add() instead of ret >=
0, i.e. don't use the result pointer if ret is zero.
Andre Noll [Wed, 12 Sep 2007 21:39:15 +0000 (23:39 +0200)]
afs.c: Fix com_init().
It didn't use callbacks which worked before the paraslash merge only.
Andre Noll [Wed, 12 Sep 2007 17:46:03 +0000 (19:46 +0200)]
afs.c: Add log message, cast sizeof().
In case the local socket could not be created, we really should
tell the user that fact.
The other change in this patch is casting sizeof() to unsigned
long which shuts gcc up on both i386 and x86_64.
Andre Noll [Wed, 12 Sep 2007 11:36:20 +0000 (13:36 +0200)]
string.c: Use $HOME to get the home directory.
This is actually simpler than using getpwuid(), and it shuts up a valgrind
warning as well.
Andre Noll [Wed, 12 Sep 2007 09:23:54 +0000 (11:23 +0200)]
vss_init(): Use FOR_EACH_AUDIO_FORMAT() instead of open coding the loop.
Fixes a segfault on startup in case not all three audio formats are supported.
Andre Noll [Mon, 10 Sep 2007 21:10:19 +0000 (23:10 +0200)]
Fix afs_shutdown().
Unregister tasks as soon as we catch a terminating signal and call
afs_shutdown() when sched() returns.
Andre Noll [Mon, 10 Sep 2007 21:08:35 +0000 (23:08 +0200)]
osl.c: Dereference pointer _after_ checking for NULL.
Andre Noll [Mon, 10 Sep 2007 19:52:00 +0000 (21:52 +0200)]
afs: Replace DATABASE_DIR by a runtime config option.
Also, split afs_init() into two parts: The new open_afs_tables() that
does what its name suggests and the remaining part that initializes
the scheduler.
Andre Noll [Mon, 10 Sep 2007 00:56:46 +0000 (02:56 +0200)]
afs: Minor improvements and fixes.
- Fix audio format handler output of ls -v.
- add_one_audio_file(): Write log messages to the client fd instead of
para_server's logfile.
Andre Noll [Mon, 10 Sep 2007 00:53:52 +0000 (02:53 +0200)]
Fix two typos in documentation.
Andre Noll [Mon, 10 Sep 2007 00:53:12 +0000 (02:53 +0200)]
Doxyfile: set EXTRACT_ALL to yes.
Otherwise doxygen gives zillions of warnings.
Andre Noll [Mon, 10 Sep 2007 00:52:09 +0000 (02:52 +0200)]
Add a new style file.
For v0.3 the outfit should at least change a bit ;)
Andre Noll [Mon, 10 Sep 2007 00:05:15 +0000 (02:05 +0200)]
afs com_add(): Recognize also audio formats different from mp3.
This required adding two more callbacks: path_brother_callback() and
hash_sister_callback(). These are called from add_one_audio_file()
which runs from handler context and can thus not access the database
directly.
Andre Noll [Sun, 9 Sep 2007 17:29:26 +0000 (19:29 +0200)]
Change the type of the argv argument of all commands.
The new type,
char * const * const argv
is what the exec functions also take. This avoids some
warnings.
Andre Noll [Sun, 9 Sep 2007 15:24:13 +0000 (17:24 +0200)]
Fix some format string warnings on x86_64.
Andre Noll [Sun, 9 Sep 2007 15:16:43 +0000 (17:16 +0200)]
Add documentation for com_add().
Andre Noll [Sun, 9 Sep 2007 15:16:23 +0000 (17:16 +0200)]
Makefile.in: Add afs_command_list.man to the list of server commands.
Andre Noll [Sun, 9 Sep 2007 12:56:41 +0000 (14:56 +0200)]
vss.c: Introduce get_audio_file_info().
This is going to be used from within aft's com_add() which ATM only
supports mp3.
Andre Noll [Sun, 9 Sep 2007 12:47:59 +0000 (14:47 +0200)]
afh.h: Kill unused SUPPORTED_AUDIO_FORMATS_ARRAY.
Andre Noll [Sun, 9 Sep 2007 11:15:52 +0000 (13:15 +0200)]
afs.c: Kill unused struct callback_data.
Andre Noll [Sun, 9 Sep 2007 11:13:03 +0000 (13:13 +0200)]
Add a .gitignore file.
Andre Noll [Sun, 9 Sep 2007 11:12:25 +0000 (13:12 +0200)]
Clean up afs.c.
- Update documentation.
- Kill some dead code.
- Reorder functions.
Andre Noll [Sun, 9 Sep 2007 09:38:20 +0000 (11:38 +0200)]
Add afs.cmd.
Andre Noll [Sat, 8 Sep 2007 23:17:50 +0000 (01:17 +0200)]
Make afs commands work.
This required a rewrite of send_callback_request().
The patch also includes the rename of get_socket() to get_stream_socket()
which takes the new domain parameter, so that it may be used for both
AF_INET and AF_UNIX sockets.
Andre Noll [Sat, 8 Sep 2007 19:50:57 +0000 (21:50 +0200)]
Introduce template commands for command_util.sh.
And use them to produce afs_command_list.[ch] which also contains all
blob commands without duplicating all the common information in the
new afs.cmd file.
Change para_server's help command to display the new commands. These
are not yet working because the callback code is not yet functional.
Andre Noll [Sat, 8 Sep 2007 16:34:37 +0000 (18:34 +0200)]
Implement server side afs callbacks.
Not yet working as the code for contacting afs is still missing.
Andre Noll [Sat, 8 Sep 2007 13:49:05 +0000 (15:49 +0200)]
Make struct signal_task generic and make afs use it.
Andre Noll [Sat, 8 Sep 2007 11:37:11 +0000 (13:37 +0200)]
para_server: Initialize the new afs.
Andre Noll [Sat, 8 Sep 2007 10:09:49 +0000 (12:09 +0200)]
Fix some signedness warnings.
Andre Noll [Sat, 8 Sep 2007 09:17:19 +0000 (11:17 +0200)]
Merge the new afs code.
Andre Noll [Sat, 8 Sep 2007 07:25:25 +0000 (09:25 +0200)]
afh.h: Reduce AUDIO_FILE_INFO_SIZE.
As the audio file info string is going to be stored on disk, its size
starts to matter.
Andre Noll [Sat, 8 Sep 2007 07:22:05 +0000 (09:22 +0200)]
ipc.c: Improve para_semop().
It's kind of silly to retry the semop 500 times. Just check if sempop()
was interrupted and retry in this case. Otherwise, error out.
Andre Noll [Sat, 8 Sep 2007 07:14:27 +0000 (09:14 +0200)]
Rename afs.[ch] to afs_common.[ch].
As a prepraration for merging the new afs.
Andre Noll [Tue, 4 Sep 2007 20:21:16 +0000 (22:21 +0200)]
audiod: free pointer to config file path.
As it's no longer needed once the config file was parsed. Also, rename cf to
config_file.
Andre Noll [Tue, 4 Sep 2007 20:16:06 +0000 (22:16 +0200)]
audiod: Fix a memory leak.
If the config file doesn't exist, configfile_exists() returnes NULL.
The old code leaked a pointer to the config file in this case.
This function is only called once at startup, so the leak is benign.
Morover, kill the static variable and the check if (!config_file) which
is always true.
Andre Noll [Tue, 4 Sep 2007 20:07:22 +0000 (22:07 +0200)]
audiod: Simplify two log messages.
Trivial cleanup.
Andre Noll [Sun, 2 Sep 2007 15:12:11 +0000 (17:12 +0200)]
net.c: Improve documentation of struct crypt_data.
Andre Noll [Sun, 2 Sep 2007 14:57:15 +0000 (16:57 +0200)]
net.c: Fix a fd leak in create_local_socket().
The old code leaked the open socket fd in case of errors.
Andre Noll [Sun, 2 Sep 2007 14:52:33 +0000 (16:52 +0200)]
net.c: Fix a typo in the documentation.
Andre Noll [Sun, 2 Sep 2007 14:43:45 +0000 (16:43 +0200)]
[TRIVIAL]: rename create_pf_socket() to create_local_socket().
Andre Noll [Mon, 20 Aug 2007 17:51:18 +0000 (19:51 +0200)]
Fix some unsigned vs. size_t issues.
vss_het_header() took a unsigned while vss_get_chunk() takes
a size_t. Change vss_het_header() and fix up the callers.
Andre Noll [Mon, 13 Aug 2007 00:37:27 +0000 (02:37 +0200)]
fd.h: Kill two dead function prototypes.
Andre Noll [Sun, 12 Aug 2007 23:34:03 +0000 (01:34 +0200)]
afh.h: Minor documentation improvements.
Andre Noll [Sun, 12 Aug 2007 23:03:43 +0000 (01:03 +0200)]
mysql_selector.c: Check return value of regcomp().
Andre Noll [Sun, 12 Aug 2007 22:49:37 +0000 (00:49 +0200)]
NEWS update.
Andre Noll [Sun, 12 Aug 2007 22:10:23 +0000 (00:10 +0200)]
dccp_send.c: Minor cleanups.
Fix a missing newline and clarify docu of dccp_write().
Andre Noll [Sun, 12 Aug 2007 21:36:51 +0000 (23:36 +0200)]
dccp_send.c: Simplify send_queued_chunks().
The dccp socket is non-blocking, so there's no need to
check for writability.
Andre Noll [Sun, 12 Aug 2007 21:26:27 +0000 (23:26 +0200)]
dccp_send.c: Implement chunk queuing for dccp.
As Gerrit mentioned, it might be a good idea to use chunk
queueing also for dccp. This patch uses the new cq_xxx()
abstractions in the same way as the http sender.
Not heavily tested yet.
Andre Noll [Sun, 12 Aug 2007 17:44:33 +0000 (19:44 +0200)]
Move chunk_queue stuff to own files chunk_queue.[ch].
This completes the isolation of the chunk queueing code. In this form it may be
used also by other senders.
Andre Noll [Sun, 12 Aug 2007 16:47:50 +0000 (18:47 +0200)]
struct http_client: Use a _pointer_ to the chunk_queue.
This way, http_send.c no longer needs to know the size
of struct chunk_queue(). Allocation of the proper struct
is now done in cq_init().
Andre Noll [Sun, 12 Aug 2007 16:36:53 +0000 (18:36 +0200)]
Abstract out chunk_queue code.
This moves the chunk handling code to separate functions cq_foo(). They
take pointers to a chunk queue, which makes them orthogonal to the rest of
http_send.c.
Andre Noll [Sun, 12 Aug 2007 14:31:24 +0000 (16:31 +0200)]
enqueue_chunk(): pass a struct chunk_queue * instead of struct http_client *.
Andre Noll [Sun, 12 Aug 2007 14:27:03 +0000 (16:27 +0200)]
Introduce struct chunk_queue.
First step to abstract out chunk queueing.
Andre Noll [Sun, 12 Aug 2007 13:56:20 +0000 (15:56 +0200)]
Merge branch 'chunk_queue' of /home/maan/scm/paraslash_meins/paraslash into tmp
Andre Noll [Sun, 12 Aug 2007 13:25:50 +0000 (15:25 +0200)]
ortp_recv: Always set default jitter compensation, use zero as default.
This makes the default configuration work again with
ortp-0.13.1.
Andre Noll [Wed, 8 Aug 2007 22:00:45 +0000 (00:00 +0200)]
Rewrite chunk queueing.
Since paraslash-0.2.16 the audio file is mmapped, so it is no longer neccessary
to make a copy of the chunk data in case a chunk can not be sent immediately
because the write would block. Just remember the chunk number and the number of
bytes of that chunk which were sent (non-zero in case of short writes).
The chunk data can then be retrieved by the new vss_get_chunk() function.
Andre Noll [Tue, 7 Aug 2007 21:13:05 +0000 (23:13 +0200)]
http_send.c: Trivial whitespace and spelling cleanups.
Andre Noll [Mon, 6 Aug 2007 20:38:38 +0000 (22:38 +0200)]
Don't use depricated xxx_cmdline_parser_configfile().
Switch to the equivalent xxx_cmdline_parser_config_file() which takes
a pointer to the parser params.
Andre Noll [Mon, 6 Aug 2007 18:47:27 +0000 (20:47 +0200)]
Merge /home/maan/scm/paraslash_fml/paraslash
Andre Noll [Mon, 6 Aug 2007 18:45:19 +0000 (20:45 +0200)]
para_malloc(), para_realloc(): Check for zero size allocations.
Andre Noll [Mon, 6 Aug 2007 14:09:28 +0000 (16:09 +0200)]
dccp sender: Keep polling until an entry becomes free (Gerrit Renker).
If write() on the dccp fd fails with EAGAIN, the current code retries
100 times and then gives up, returning -E_DCCP_WRITE which causes a
shutdown of the dccp connection.
CCID3 has a sending wait queue which fills up and is emptied
asynchronously. The EAGAIN case means that there is currently no space
in the wait queue, but this can change at any moment and is thus not
an error condition. So keep polling until an entry becomes free.
Andre Noll [Tue, 10 Jul 2007 20:11:58 +0000 (22:11 +0200)]
audioc: fix bufsize
This bug was introduced in
ae0e4594c6a0312c5b4b4c0bde86f9c12253d11b:
We computed the bufsize from the conf struct before initializing it.
Fix is trivial.
Andre Noll [Sat, 7 Jul 2007 18:30:29 +0000 (20:30 +0200)]
configure.ac: Add check for alarm().
Andre Noll [Sat, 7 Jul 2007 18:25:33 +0000 (20:25 +0200)]
ringbuffer.c: fix two typos.