From: Andre Noll Date: Tue, 8 Apr 2014 17:20:35 +0000 (+0200) Subject: Merge branch 't/opusdec_busy_loop_fix' X-Git-Tag: v0.5.2~2 X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=commitdiff_plain;h=72e9bdf7c5c09ca4c20cad56c68a9a155cceff43;hp=241a0d21827794701ad5750e078b409d3a42459e Merge branch 't/opusdec_busy_loop_fix' A single fix that was cooking since 2014-03-02. * t/opusdec_busy_loop_fix: opusdec: Fix busy loop. --- diff --git a/.changelog_before_cvs b/.changelog_before_cvs deleted file mode 100644 index 7f952550..00000000 --- a/.changelog_before_cvs +++ /dev/null @@ -1,378 +0,0 @@ -This is the old Changelog, before the icc project switched to cvs. - -dbtool (sa): fix SEGFAULT when some attributes are NULL -icc_dbtool.template: add help command -Makefile: Check for mp3info -dbtool.c: Handle files with «'» properly - -****** Version 91 (Sat Nov 30 13:52:37 MET 2002) ******* -Makefile: include icc_dbtool.conf.sample -icebear: Remove unneeded signal handlers -icc_dbtool.c Add documentation to upd command -Documentation update -dbtool.c: Add config file functionality -icc_dbtool.c: Add upd command -command.c: Bug: cs prints current stream in err msg -zombies, zombies -many fixes all over the place -dbtool.c: new command: vrfy (verify entries in database) -dbtool.c: implement clean command -icc_dbtool: implement skip -dont use pointers to malloced mem in shared area (causes SEGFAULT) -icebear: SEGFAULT when cs was called after server had got HUP. Nasty bug -icc_bash_completion: adapt to new syntax -command.c: nuke drop_ss and new_ss -dbtool.c: Add da (drop attribut) command (replaces old drop_ss) -dbtool.c: Add na (new attribut) command (replaces old new_ss) -Makefile: Changelog contains entries not yet done - -****** Version 90 (Wed Nov 13 02:05:34 MET 2002) ******* -icebear: kill unneeded signal handlers -icebear: call info only if it is a valid command -server: code cleanup -command.c uptime: print #connections and #commands -server: count #connections and #commands -server/icebear/command: count/display number of songs already played -icc.h: cleanup -command.c: nuke ms command -dbtool.c: add summary command -dbtool.c: new command: sa, replaces old ss (set subset) command -dbtool.c: new command: streams -server: renew command list on SIGHUP -icebear: call us only if it is a valid command -command.c: sort command list alphabetically -server: Nicify logging -command.c: New command: perms -command.c: Rewrite command handlers to use linked list -command.c: introdule linked list of commands - -****** Version 89 (Sat Nov 9 17:27:32 MET 2002) ******* -command.c: Major cleanup - -****** Version 88 (Sat Nov 9 01:34:14 MET 2002) ******* -icebear: New command: cs -init_icebear put default_stream to freshly allocated shared mem -server: pass default_stream to init_icebear -server: new configfile option: default_stream -command.c help: call icc_dbtool help - -****** Version 87 (Fri Nov 8 23:03:03 MET 2002) ******* -Makefile: new target icc_dbtool -icc_dbtool: Switch to mysql C API - -****** Version 86 (Thu Oct 17 22:38:37 MEST 2002) ******* -New file: README.dbtool -client/server: use OPENSSL define of config.h instead of hard coded path -client/server: include config.h -README: add icecast to requirements - -****** Version 85 (Thu Oct 10 22:56:29 MEST 2002) ******* -Makefile: Don't include tdldb in tgz -Makefile: New target: distclean (clean no longer removes Changelog, TODO and version.h) -dbtool ms: print each dot only once (reduces size of ps from 171kb to 22kb) - -****** Version 84 (Fri Oct 4 15:01:54 MEST 2002) ******* -icc_server.conf.sample/icecast.conf.sample: Use same passwd -Makefile: include icecast.conf.sample in tarball -Makefile: mkdir ~/public_html - -****** Version 83 (Wed Sep 25 01:59:06 MEST 2002) ******* -Makefile tgz: php crap got messed up - -****** Version 82 (Wed Sep 25 01:56:55 MEST 2002) ******* -server: Reread configuration on SIGHUP -Makefile: New Changelog format -Makefile tgz: create archive with leading directory icc-$version - -************* Version 81 ************* -server update_str: fix bug: uptime string messed up -README: add description of icc_bash_completion -INSTALL: Update, extentions and nicifying -icc_bash_completion: adapt to new layout of «icc help« - -************* Version 80 ************* -server: print uptime in welcome message -server: new functions: uptime,uptime_str -command.c: new commands: uptime,version -icebear: exec_cmd: test if stopped for ff/jmp/next. Fixes Segfault when eg «next» was called with no file opened yet - -************* Version 79 ************* -server: implement remaining part of configuration part -server: implement basic configuration file functionality - -************* Version 78 ************* -Makefile: install icc_client.conf.sample and also include it in tgz -new file: icc_client.conf.sample -client: actually print version and info if loglevel is at least info -client: new function: print_version -client: read_config: change verbose setting to loglevel -client: new option -l (loglevel) obsoletes -v (verbose) -client: Fix «if(verbose==TRUE)» madness, use loglevels instead -client: write log function similar to server's log function -README: Update icc_client description: Delete sentence on telnet - -************* Version 77 ************* -client: take localhost as default host, not p133 -client: new option -c (specify config file) -client: implement reading of config file - -************* Version 76 ************* -server sigchld_handler: Add exit status also as numerical value -command.c: Add description for drop_ss, fut, us - -************* Version 75 ************* -icebear: fix segfault on nomore (double close mp3_stream) -icebear: nm->nomore -command.c: add nomore command (got forgotten) -client: catch SIGCHLD -client: introduce internal variable debug to toggle debug before command line argumants are parsed (for verbose switch) -client: Nicify verbose output -client: Fix command line parsing - -************* Version 74 ************* -Makefile tgz: use prefix icc-0.0. -Makefile tgz: bug: forget to read VERSION -Makefile: Add .tdldb to sources - -************* Version 73 ************* -client: new option -V (version) -server: new option -V (version) -Makefile: new target: tgz (implies version) -Makefile: fix version numbering -Makefile: include INSTALL in sources -Makefile: Use -p Option for tar - -************* Version 72 ************* -icc_server: print info on who we are serving to argv[0] -icebear: print status to argv[0] -command.c: Add missing descriptions to all internal commands -dbtool.template: Use find instead of locate -server: send proper error message if client sent unkown command - -************* Version 71 ************* -client: Added help option -h -command.c help: Nicify output. Include needed permissions. -command.c: Add description for stat, sb and term -Makefile: Add target dbtool_install -Makefile install: don't install dbtool -server/client: print version number -icc.h include version.h -Makefile: added target version.h -added INSTALL -README: Remove Warning message concerning lack of authentification -Makefile: implement PREFIX -icebear: typo in jmp command -icc_dbtool.template us: Don't print warning -Makefile install: Install also icc_dbtool.template - -************* Version 70 ************* - -************* Version 69 ************* -icc_dbtool.template: Change fut so that it does not need bogosort anymore - -************* Version 68 ************* -Makefile: include icc_dbtool.template in tgz package -server: new command line options: P, i, ip -server: kill global variable conn -command.c parse_cmd: Fix SEGV when in interactive mode and no option given (reported by Christof Müller) -Makefile: all: dont make TODO and Changelog -icc.client: remove passwd -icc.h remove maan - -************* Version 67 ************* -icebear: delete option for id3 comment in mp3info call -icebear: Fix bug: pollret returns strange events -icebear: fix division by 0 bug when length of file is zero seconds - -************* Version 66 ************* - -************* Version 65 ************* -command.c: perror -> log -command.c: new fuction: check_permissions -command.c: insert dummy at the beginning of command list to let start command numbers by 1 instead of 0 - -************* Version 64 ************* -server: add string strerror(errno) to log file entries -command.c: make parse_command only return command number and call handle_cmd from main -server: print log msg _before_ exit(1) if send fails -server: exit(1) if send fails - -************* Version 63 ************* -command.c: code cleanup -icc_server: implement option -c (specify config file) -client: fix SEGFAULT when command line ends with invalid option -client: add option -k (secret key file) - -************* Version 62 ************* -implement permission check for all commands - -************* Version 61 ************* -implement basic configuration file functionality -icc_server/client: implement rsa authentification via openssl - -************* Version 60 ************* -command.c: add help text for jmp and ff commands -command.c: help: print command handler and needed privileges -icebear: minor code cleanups -icebear: Nicify log output -icebear: split poll_cmd_listener to allow blocking reads => no more sleep(1) - -************* Version 59 ************* -icebear: Code documentation -icebear: move shout init/shoutdown to exec_cmd. This might fix pause command. - -************* Version 58 ************* -icebear: increase number of allowed invalid files before giving up to 100 -dbtool clean: Handle files with «'» properly - -************* Version 57 ************* -dbtool: add summary command -icc_process_form.php: change strcmp(a,b)=0 to not strcmp(a,b) - -************* Version 56 ************* - -************* Version 55 ************* -kill id3 code -dbtool: change info and fut to avoid Lost connection to MySQL server during query -icebear: It dies if there no valid songs. Stop and lurk for play instead -icebear: code cleanup - -************* Version 54 ************* -icebear/icc.h: use long unsigned int to avoid overflow in status bar - -************* Version 53 ************* -server: BUG in help: dont check args if args=NULL -command.c help: implement »help command« -README: add LICENSE -README: include description to php scripts -server: kill guics command -server: kill log command -dbtool: kill pw -dbtool: add local for all local vars - -************* Version 52 ************* -command.c, icc.h: cleanup declaration of command struct -dbtool us: add option to specify update time -add bash completion for icc_client - -************* Version 51 ************* -kill spl command -dbtool: add ls command -icc_server: add ls command -icc_server: kill cd command - -************* Version 50 ************* -php/icc_form, php/icc_process_form: fix several bugs - -************* Version 49 ************* -add background gradient image - -************* Version 48 ************* -write mp3 search form icc_form.php -icebear: log seconds with 2 digits -icc_gui: Add sleep(2) before each reconnect -php: delete unneeded pics - -************* Version 47 ************* -icc_server: add time and date to log - -************* Version 46 ************* -php/icc_dbgui: fix off by one bug -dbtool: clean reports files as deleted which are still there -remove wtc.jpg - -*** Version 45 *** -improve php scripts - -*** Version 44 *** -add php scripts for apache/mysql - -*** Version 43 *** -icc.h changed #define ERR to #define ERROR - -*** Version 42 *** -gui: make it survive window resize - -*** Version 41 *** -Add short description of all icc tools to README - -*** Version 40 *** -dbtool fut: replace use of ancient anplay variable by aprropriate one -dbtool ss: make it work again when args _are_ given -server: Add -p option -client: catch SIGINT - -*** Version 39 *** -dbtool: ps does not work if no arg is given -dbtool: ss does not work if no arg is given -server: log GPL banner (loglevel INFO) -client: Add GPL banner in welcome message -dbtool last: print full filenames -dbtool info: print name if no argument was given - -*** Version 38 *** -icebear: make jmp,ff,next,pause,play,stop,nm actually respond via new pipe -create new pipe icebear->server for responses to icebear commands - -*** Version 37 *** -dbtool cs: print info if no argument is given - -*** Version 36 *** -icebear: kill getenv code -icebear: rewrite startup code to prevent icebear from playing on startup - -*** Version 35 *** -icebear: nicify log messages -icebear: make pause, play, stop work in all possible cases - -*** Version 34 *** -Makefile version: include COPYRIGHT, GPL and README files in tarball -Add COPYRIGHT and GPL files -*.c *.h dbtool: Add GPL headers -inplement option -L logfile -client: Fix bug: commands with options don't work - -*** Version 33 *** -Makefile: only put completed todos into Changelog -server: implement Daemon mode -icc_client: Dont send empty lines - -*** Version 32 *** -command: Fix nasty bug which caused sending 2 nullbytes instead of only one -dbtool info: print info on current song if no argument was given - -*** Version 31 *** -dbtool: Another silly bug in info which prevented dir to be printed -client: Fix silly bug caused it to send wrong number of bytes -icc_server: implemented term command -Makefile: strip away useless tdl info -icc_dbtool: Changed Warning message for commands not yet implemented -icc_server: Added help command -icc_client: add readline support -icc_dbtool fut: Fix bug when there is exactly one new song -db_tool: implement skip -db_tool: implement ss -db_tool: implement clean -db_tool: implement upd -dbtool: implemented pw -move icc ms to dbtool -icc_shell: ms -icc_server/dbtool: new command hist -dbtool: implement last -created icc_shell -make icebear use icc_dbtool instead of mp3 -write db_tool basics (fut, ass, ps, info, us) -Makefile improvements -icc_client: Add verbose flag -v -Adjust loglevels and make logging nicer -icc_client: properly handle command line options -icc_server: Dont start playing on startup -take output of info command as misc info -icc_client: treat nr_options correctly -log messages cleanup -log proper exit status (WIFSIGNALED...) -icebear: stop actually restarts icebear -icc_client: interactive mode -icc_server: on errors send messages clients - - diff --git a/.changelog_cvs b/.changelog_cvs deleted file mode 100644 index 889f23cc..00000000 --- a/.changelog_cvs +++ /dev/null @@ -1,12680 +0,0 @@ -2006-02-20 07:52 maan - - * filter.c: cosmetics - -2006-02-20 07:51 maan - - * crypt.h: add doxygen file comment - -2006-02-20 07:50 maan - - * Doxyfile: exclude some more files - -2006-02-20 07:16 maan - - * NEWS: [no log message] - -2006-02-20 07:16 maan - - * CREDITS: add Lorenzo Bettini - -2006-02-20 05:24 maan - - * Makefile.in: with gengetopt-2.16 we no longer need the conversion - optind=1 -> optind=0. Get rid of it. - -2006-02-19 07:46 maan - - * crypt.c: add documentation - -2006-02-19 05:55 maan - - * crypt.c: para_decrypt_challenge() leaks 128 bytes if - para_decrypt_buffer() fails. Fix it - -2006-02-19 05:47 maan - - * gcc-compat.h: trivial: fix comment - -2006-02-19 05:46 maan - - * crypt.c: whitespace cleanup - -2006-02-19 05:46 maan - - * Doxyfile: activate the source browser - -2006-02-19 05:34 maan - - * fade.c: make fade() static - -2006-02-19 04:15 maan - - * Doxyfile: deactivate latex and man output, activate search engine - -2006-02-19 03:35 maan - - * sdl_gui.c: add missing file name in comment - -2006-02-18 01:52 maan - - * scripts/demo-script: download paraslash-0.2.10 - -2006-02-18 01:21 maan - - * web/index.in.html: typo - -2006-02-18 00:51 maan - - * Makefile.in, NEWS, configure.ac: new codename, reset version to - cvs - -2006-02-18 00:49 maan - - * versions/: paraslash-0.2.10.tar.bz2, - paraslash-0.2.10.tar.bz2.asc: paraslash-0.2.10 - -2006-02-18 00:48 maan - - * Makefile.in, NEWS, configure.ac, web/index.in.html: paraslash - 0.2.10 - -2006-02-18 00:12 maan - - * Doxyfile: config file for doxygen - -2006-02-17 23:23 maan - - * ortp_recv.c: increase number of bad chunks before returning an - error - -2006-02-16 05:28 maan - - * README.mysql: [no log message] - -2006-02-16 04:48 maan - - * filter.ggo: update help text for --list_filters - -2006-02-16 02:37 maan - - * web/: documentation.in.html, index.in.html: annonce the new API - Reference - -2006-02-16 02:36 maan - - * Makefile.in: new targets: doxygen, web/header2.html. Target www - implies doxygen - -2006-02-16 02:32 maan - - * server.c: rename 'Reference Manual' to 'API Reference' - -2006-02-16 02:31 maan - - * web/header.html: use the new stylesheet - -2006-02-16 02:30 maan - - * web/para.css: the new stylesheet for the paraslash web pages - -2006-02-16 00:41 maan - - * db.h, dopey.c, filter.h, mysql.c, recv.h, server.c: some small - documentation cleanups and additions - -2006-02-15 22:56 maan - - * http_send.c, ortp_send.c, send.h, server.c: struct sender: rename - set_fds/handle_fds to pre_select/post_select and add - documentation - -2006-02-15 22:55 maan - - * http_recv.c: kill superfluous parenthesis - -2006-02-15 22:14 maan - - * oggdec.c: rename private_ogg_data to private_oggdec_data - -2006-02-15 22:13 maan - - * http_recv.c: add remaining documentation - -2006-02-15 22:12 maan - - * afs.h, filter.h, mp3.c, ortp.h, recv.h, ringbuffer.h, signal.c, - string.c, string.h: add missing doxygen file comments - -2006-02-15 05:49 maan - - * http.h: and doxygen file comments - -2006-02-15 05:49 maan - - * net.h: add GPL header and doxygen file comments - -2006-02-15 05:04 maan - - * exec.c: add documentation of all functions - -2006-02-15 04:19 maan - - * recv_common.c: gcc-compat.h gets included by para.h - -2006-02-15 03:51 maan - - * mysql.c, string.c, string.h: rename regex_list to para_macro and - add documentation - -2006-02-15 03:11 maan - - * Makefile.in, afs.c, audioc.c, audiod.c, client.c, - close_on_fork.c, command.c, compress.c, crypt.c, daemon.c, db.c, - dbadm.c, dopey.c, exec.c, fade.c, filter.c, filter_chain.c, - grab_client.c, gui.c, http_recv.c, http_send.c, mp3dec.c, - mysql.c, net.c, ogg.c, oggdec.c, ortp_recv.c, ortp_send.c, - para.h, recv_common.c, ringbuffer.c, sdl_gui.c, server.c, - slider.c, stat.c, string.c, string.h, wav.c: move the function - prototypes of string.c from para.h to its own header file - string.h - -2006-02-15 02:20 maan - - * ortp_send.c: add documentation of struct ortp_target - -2006-02-15 02:00 maan - - * error.h: some new error messages for the mp3 audio format handler - -2006-02-15 01:59 maan - - * mp3.c: use the error subsystem everywhere - -2006-02-15 01:27 maan - - * mp3.c: whitespace cleanup, make mp3_read_chunk() static - -2006-02-15 01:21 maan - - * mp3.c: typdefs are evil - -2006-02-15 00:35 maan - - * mp3dec.c: another quite serious issue: do not try to convert if - the output buffer is almost full. Otherwise we risk that the next - frame does not fit into the ouput buffer and we only can error - out in this situation. This patch avoids the problem. - -2006-02-15 00:31 maan - - * filter.c: fix serious bug: -1 is no valid error number for - filter.c. The proper error number is returned from filter_io() - anyway, so use that one. - -2006-02-14 23:24 maan - - * server.c: doxification - -2006-02-14 23:24 maan - - * http_send.c: typo - -2006-02-14 22:57 maan - - * http_send.c, ortp_send.c, server.c: add documentation of all - structures used by http_send, rename para_http_init to - http_send_init, likewise for ortp - -2006-02-14 22:09 maan - - * command.c, server.h: add documentation of struct misc_meta_data. - Kill the unused send field of struct_sender_command_data and add - documentation for that struct as well. - -2006-02-14 22:08 maan - - * server.c: add documentation of mmd_lock() and mmd_unlock() - -2006-02-14 21:25 maan - - * README: add gcc to the list of required software - -2006-02-14 21:07 maan - - * Makefile.in: make gcc-2.95.4 happy - -2006-02-14 21:02 maan - - * Makefile.in, configure.ac: let gcc produce the dependencies for - make rather than doing it by hand - -2006-02-14 20:17 maan - - * para.h: kill another unused macro - -2006-02-14 19:46 maan - - * para.h: kill two unused macros, change year in copyright to 2006 - -2006-02-14 19:41 maan - - * server.h: add more documentation on AFS_READ and friends - -2006-02-14 19:40 maan - - * daemon.c, daemon.h, para.h: move enum uptime from para.h to - daemon.h. Include daemon.h from daemon.c - -2006-02-14 19:26 maan - - * para.h: use the __printf_x_y macros - -2006-02-14 19:20 maan - - * para.h, server.h: move permission flags from para.h to server.h, - turn them into an enum and doxify - -2006-02-14 19:14 maan - - * command.c, dopey.c, mysql.c, server.h: rename usage to synopsis - in struct server_command - -2006-02-14 19:09 maan - - * server.h: add documentation of struct server_command and - struct_user - -2006-02-14 19:04 maan - - * Makefile.in, list.h, ortp_recv.c, server.h, web/download.in.html: - oops, the last commit was an accident, back to previous versions - -2006-02-14 18:59 maan - - * Makefile.in, list.h, ortp_recv.c, server.h, web/download.in.html: - add documentation o - -2006-02-14 03:36 maan - - * server.c: log error message if database init failed - -2006-02-14 03:34 maan - - * error.h, mysql.c: add two more error messages - -2006-02-14 02:56 maan - - * command.c, db.h, dopey.c, mysql.c, server.h: add some - documentation, rename struct command to struct server_command - -2006-02-14 02:16 maan - - * grab_client.h: cosmetics - -2006-02-14 02:07 maan - - * mysql.c: make a function static, add documentation - -2006-02-14 02:05 maan - - * filter_chain.c: fix typo, add file comment - -2006-02-14 02:04 maan - - * audiod.c: add documentation of struct slot_info - -2006-02-14 01:25 maan - - * stat.c: cosmetics - -2006-02-13 22:29 maan - - * audiod.c: rename struct stream_io to struct slot_info - -2006-02-13 20:59 maan - - * audiod.c: struct audio_format_info: rename wcmd to write_command - and add documentation - -2006-02-13 20:39 maan - - * audiod.c: add documentation of struct audiod_command - -2006-02-13 20:32 maan - - * audiod.c: rename struct command to audiod_command - -2006-02-13 02:41 maan - - * time.c: add documentation - -2006-02-13 01:49 maan - - * audiod.c: kill unused filter_cmds field in struct stream_io, add - some documentation, minor cleanups - -2006-02-12 03:55 maan - - * recv.c: make parse_config() static - -2006-02-12 03:44 maan - - * recv.c: only print an error message if the return value is - negative - -2006-02-12 03:42 maan - - * close_on_fork.c, close_on_fork.h: add documentation for all - public symbols - -2006-02-12 03:12 maan - - * audiod.c: make two functions static. Add documentation of - para_audiod's different modes and of num_filters() - -2006-02-11 22:04 maan - - * list.h: kill two unused macros - -2006-02-11 21:23 maan - - * grab_client.c: finish documentation of all public functions - -2006-02-11 20:42 maan - - * audiod.c, audiod.h, error.h, grab_client.c: make - get_audio_format_num() public and use it from grab_client.c, add - documentation of grab_client_new(). - -2006-02-11 20:28 maan - - * grab_client.h: add documentiation of struct grab_client - -2006-02-11 19:48 maan - - * audiod.c: new function get_audio_format_num() - -2006-02-11 01:47 maan - - * audiod.c, audiod.h, grab_client.c: nuke the 'name' field of - struct audio_format - -2006-02-11 00:57 maan - - * audiod.h, grab_client.h: move AUDIO_FORMAT_MP3, - AUDIO_FORMAT_ARRAY and MAX_STREAM_SLOTS from grab_client.h to - audiod.h. - -2006-02-11 00:35 maan - - * http_recv.c, ortp_recv.c: fix typo in comment - -2006-02-10 04:38 maan - - * Makefile.in: add some missing dependencies - -2006-02-10 04:37 maan - - * grab_client.h: oops, argc, argv _are_ used. Add them again. - -2006-02-10 03:37 maan - - * grab_client.h: make mode type enum rather than int, nuke two - unused members in struct grab_client - -2006-02-10 03:32 maan - - * grab_client.c: whitespace cleanup - -2006-02-10 02:42 maan - - * oggdec.c: Use the pointer to the filter_node as datasource for - the ov_callbacks. This makes the filter chain info available for - the read callback via the new fn->fci pointer. Use that pointer - instead of keeping a copy of the relevant information in struct - private_ogg_data. As this simplifies oggdec.c quite a bit, add - documentation of struct private_ogg_data to compensate ;) - -2006-02-09 23:53 maan - - * audiod.c, compress.c, daemon.c, filter.c, filter.h, - filter_chain.c, mp3dec.c, oggdec.c, ortp_send.c, wav.c: add new - pointer 'fci' to struct filter_node. It is initialized by - para_audiod/para_filter when the chain is constructed. This - allows to strip off the fci argument of the convert functions of - struct filter. - -2006-02-09 00:57 maan - - * oggdec.c: simplify the read callback - -2006-02-09 00:01 maan - - * mp3dec.c: remove unused mad_timer from private_mp3_data and add - documentation of said struct - -2006-02-08 23:19 maan - - * ortp.h, ortp_recv.c, ortp_send.c: also encode the chunk timestamp - in each packet - -2006-02-08 20:23 maan - - * http_recv.c: rename private_http_data to private_http_recv_data, - just to be consistent - -2006-02-08 20:21 maan - - * db.c: add short description for db.c, fix a typo. - -2006-02-08 20:14 maan - - * compress.c: add documentation of struct private_compress_data, - change clip and pn to unsigned type - -2006-02-08 19:46 maan - - * Makefile.in, audiod.c, command.c, daemon.c, daemon.h, para.h, - server.c: move function prototypes for daemon.c to its own file - -2006-02-08 19:41 maan - - * NEWS: [no log message] - -2006-02-08 17:49 maan - - * ortp_send.c: fix a huge memory leak which was introduced - yesterday - -2006-02-08 04:46 maan - - * audiod.c, command.c, daemon.c, para.h, server.c: add - documentation of daemon.c, minor cleanups - -2006-02-08 02:37 maan - - * audiod.c, recv.h: nuke chunk_time from struct receiver_node - -2006-02-08 02:35 maan - - * string.c: better docu of s_a_r() - -2006-02-08 02:05 maan - - * filter_chain.c: filter_io: call the convert function of each - filter not just once, but in a loop that exits when nothing was - converted. Fixes drop outs with ortp and ogg. - -2006-02-08 01:28 maan - - * error.h, ortp.h, ortp_recv.c, ortp_recv.ggo, ortp_send.c: encode - the chunk time and a flag which indicates whether headers get - streamed at the beginning of each data packet. This allows to - nuke the --chunk_time and --header command line options of the - ortp receiver. - -2006-02-08 01:00 maan - - * wav.c: cosmetics - -2006-02-08 00:59 maan - - * recv.c: print error message instead of error number - -2006-02-07 00:12 maan - - * mp3dec.c: trvial rename: mp3dec_data -> private_mp3dec_data. Just - to keep naming consistent with the other filters/receivers - -2006-02-07 00:08 maan - - * ortp_recv.c: finish documentation of struct private_ortp_data - -2006-02-06 18:43 maan - - * ortp_recv.c: kill the timeout member of struct private_ortp_data. - Start documentation of this struct - -2006-02-06 17:48 maan - - * filter.h: move the fancy macros to the end and exclude them from - doxification - -2006-02-06 17:46 maan - - * afs.h: cosmetics - -2006-02-06 17:35 maan - - * filter.h: add another reference - -2006-02-06 17:34 maan - - * error.h, oggdec.c, recv.h: add some conditional sections to - nicify the doxygen output - -2006-02-06 17:22 maan - - * afs.h: kill two unused prototypes - -2006-02-06 06:25 maan - - * Makefile.in: add -Wunused-macros to DEBUG_CPPFLAGS - -2006-02-06 06:22 maan - - * audiod.c, compress.c, sdl_gui.c: kill some more dead macros - -2006-02-06 06:18 maan - - * gui.c: kill two unused macros - -2006-02-06 05:16 maan - - * recv.h, recv_common.c: this array must be called 'receivers' - anyway as this is the name that gets exported a few lines above. - Hence, no need to make it a function-like macro. - -2006-02-06 05:09 maan - - * recv.h: add documentation for struct receiver_node - -2006-02-06 04:42 maan - - * filter.h: add some introductory text on paraslash filters, use - multi-line macros - -2006-02-06 04:00 maan - - * http_recv.c, ortp_recv.c, recv.h: nuke unused print_help - -2006-02-06 03:55 maan - - * recv.h: finish documentation of struct receiver - -2006-02-06 01:53 maan - - * para.h: minor cleanup - -2006-02-06 01:52 maan - - * http_recv.c: kill unused HTTP_DISCONNECTED, use named enum and - add documentaion of struct private_http_data - -2006-02-06 00:46 maan - - * http_recv.c, ortp_recv.c, recv.c, recv.h: all receiver init - functions always return success. Let them return void instead. - Start doxification of recv.h. http_recv.c/ortp_recv.c: No need to - keep a copy of the configuration in the private data of each - receiver node. recv.c: Initialize the activated receiver only - once. - -2006-02-06 00:00 maan - - * recv_common.c: delete two extern function declarations that are - already declared in recv.h - -2006-02-05 21:42 maan - - * gui.c: cosmetics - -2006-02-05 21:38 maan - - * http_send.c: do not use send_bin_buffer() as it retries on short - writes which might block. Use write() instead and queue the - remaining buffer on short writes. - -2006-02-05 21:34 maan - - * audiod.c: add missing call to clear_slot() - -2006-02-05 19:41 maan - - * gui.c: redraw bot win on SIGWINCH - -2006-02-05 02:09 maan - - * Makefile.in: add ringbuffer.h to headers - -2006-02-05 00:52 maan - - * gui.c: fix a off-by-one scrolling bug - -2006-02-05 00:11 maan - - * gui.c: Kill the crappy output pager. It is no longer needed as - the bottom window is scrollable - -2006-02-04 22:33 maan - - * recv.h: kill unused argc, argv from struct receiver_node - -2006-02-04 22:24 maan - - * error.h: adjust NUM_SS - -2006-02-04 22:21 maan - - * error.h: kill the unused first argument of PARA_ERROR() - -2006-02-04 22:09 maan - - * error.h: doxyfication - -2006-02-04 20:36 maan - - * audiod.c, filter.c, filter.h, filter_chain.c: make - check_filter_arg() return int (the filter number) which is a much - saner interface that what we've had before. Now, fn-conf is NULL - if no command line parser exists for that filter and - success/failure is detected by the return value. Add - documentation for filter_chain.c and the remaining part of - filter.h - -2006-02-04 03:08 maan - - * audiod.c, compress.c, filter.c, filter.h, filter_chain.c, - mp3dec.c, oggdec.c, wav.c: init() and open() are always - successful, for all filters. So make them return void instead of - int. Include the mp3dec filter only if mad headers mad libs both - were detected. Make wav_open() static. Start doxyfication of - filter.h - -2006-02-04 00:01 maan - - * audiod.c: use init_filters() instead of duplicating it - -2006-02-03 23:34 maan - - * client.c, http_recv.c, net.c, net.h: rename do_connect() to - para_connect() - -2006-02-03 23:03 maan - - * string.c: switch to doxygen format, add some references - -2006-02-03 22:40 maan - - * Makefile.in, audioc.c, audiod.c, client.c, command.c, dopey.c, - http_recv.c, http_send.c, mysql.c, net.c, para.h, server.c, - string.c: add dependencies on new net.h, move para_hostname() - from net to string which makes afs independent of net as it - should be. No need to include gcc-compat.h twice. - -2006-02-03 22:37 maan - - * net.h: contains function declarations for all non-static - functions in net.c. Yanked out from para.h. - -2006-02-03 21:47 maan - - * Makefile.in: whitespace fixes - -2006-02-03 21:42 maan - - * net.c: document all remaining non-static functions - -2006-02-03 21:41 maan - - * stat.c: add documentation for stat_client_add() - -2006-02-03 07:13 maan - - * audiod.c, para.h, stat.c: rename dump_stat_line() to - stat_client_write() and add documentation - -2006-02-02 18:42 maan - - * afs.c, afs.h, mp3.c, ogg.c: simplify read_chunk() - -2006-02-02 16:48 maan - - * afs.c, afs.h, db.h, ringbuffer.c, stat.c, string.c: switch to - doxygen comment style - -2006-02-02 16:47 maan - - * db.c: whitespace fixes, switch to doxygen comment style - -2006-02-02 01:15 maan - - * net.c, signal.c: switch to doxygen comment format - -2006-02-01 22:07 maan - - * net.c, para.h: add more documentation, minor cleanups - -2006-02-01 22:06 maan - - * ringbuffer.c: cosmetics - -2006-02-01 19:40 maan - - * NEWS: [no log message] - -2006-02-01 19:40 maan - - * error.h: add ringbuffer stuff - -2006-02-01 19:39 maan - - * Makefile.in, configure.ac: gui and audiod need ringbuffer.o - -2006-02-01 19:38 maan - - * gui.c: make bottom window scrollable - -2006-02-01 19:36 maan - - * audiod.c: use the generic ringbuffer functions from ringbuffer.c - -2006-02-01 19:25 maan - - * ringbuffer.c, ringbuffer.h: generic ring buffer routines to be - used by audiod and gui - -2006-02-01 19:24 maan - - * http_send.c: comment out noisy debug message - -2006-01-29 21:52 maan - - * oggdec.c: no source doc for static functions, kill obsolete - comment - -2006-01-29 21:30 maan - - * mp3.c, play.c: no docbook for static functions - -2006-01-29 21:25 maan - - * afs.c, db.h, dopey.c, server.c: make update_audio_file() - optional, add documentation of struct dbtool - -2006-01-29 14:38 maan - - * pics/paraslash/no_pics.jpg: no need to include this in each - tarball - -2006-01-27 19:34 maan - - * server.c: use ifdef HAVE_ORTP rather than ifdef HAVE_LIBORTP as - the former is only defined if libortp _and_ the ortp headers were - found, which is what we want here. - -2006-01-27 19:14 maan - - * audiod.c: add missing - -2006-01-27 17:48 maan - - * stat.c: add documentation for stat_line_valid() - -2006-01-27 17:35 maan - - * configure.ac: fix ortp detection - -2006-01-27 15:28 maan - - * string.c: fix some typos in documentation - -2006-01-27 15:17 maan - - * stat.c: add documentation for for_each_line() - -2006-01-27 15:01 maan - - * audiod.c, gui.c, gui_common.c, para.h, stat.c: rename - check_buf_for_items() to for_each_line() - -2006-01-27 13:14 maan - - * NEWS, audiod.c, error.h, gui.c, http_recv.c, para.h, server.c, - signal.c: simplify para_signal_init(), add documentation for each - non-static function in signal.c - -2006-01-27 12:13 maan - - * server.c: use para_reap_children() from signal.c rather than - duplicating its code in server.c - -2006-01-27 10:14 maan - - * afs.h: add documentation for struct audio format - -2006-01-26 20:36 maan - - * afs.c: add documentation for afs_send_chunk() - -2006-01-26 19:56 maan - - * afs.c, afs.h, server.c: simplify afs_preselect() and add - documentation - -2006-01-26 19:29 maan - - * afs.c: afs_preselect(): kill an unused variable and add some - documentation - -2006-01-26 19:08 maan - - * afs.c, afs.h, server.c: rename afs_mainloop() to afs_preselect() - -2006-01-26 19:06 maan - - * command.c: com_nomore(): only set the NO_MORE bit if playing or - paused - -2006-01-26 19:03 maan - - * afs.c: add documentation of afs_init() and of afs_playing() and - friends - -2006-01-26 17:22 maan - - * http_recv.c, net.c: use the return value of do_connect(). Move a - generic log message from http_recv.c to net.c. - -2006-01-26 15:34 maan - - * error.h, net.c: E_HOST_INFO belongs to the net error list rather - than the recv error list. That fixes an audiod segfault when - given an invalid hostname as the http receiver option (because - the recv error list is undefined in audiod). Also, kill pointless - log message in get_host_info(). - -2006-01-25 16:48 maan - - * play.c: cosmetics - -2006-01-25 15:32 maan - - * client.c, crypt.c, db.c, dopey.c, ogg.c: replace 2005 by 2006 in - GPL headers - -2006-01-25 15:23 maan - - * error.h: fix NUM_SS - -2006-01-25 15:06 maan - - * NEWS, command.c, db.h, error.h, mysql.c, server.c: convert the - remaining part of para_server to the new error subsystem - -2006-01-25 12:32 maan - - * dopey.c, error.h: convert dopey.c to the new error subsystem - -2006-01-25 11:53 maan - - * error.h, http_send.c, ortp_send.c, send.h: the return value of - sender.set_fds and sender.send is never checked. In fact, all - these functions always returned 1. Let them return void instead. - -2006-01-25 11:32 maan - - * error.h, http_send.c, net.c, para.h: convert the http sender to - the new error subsystem - -2006-01-25 10:42 maan - - * client.c, command.c, crypt.c, crypt.h: rename - para_encrypt/para_decrypt to - para_encrypt_challenge/para_decrypt_challenge - -2006-01-25 10:35 maan - - * crypt.c, error.h: convert crypt.c to the new error subsystem - -2006-01-25 09:48 maan - - * db.c, db.h, dopey.c, error.h, mysql.c: convert db.c to the new - error subsystem. Move the common directory changing/restoring - code from dopey.c/mysql.c to db.c. Add documentation for - find_audio_files(). - -2006-01-25 08:06 maan - - * mp3.c: kill the 'file' parameter of find_valid_start() as - find_valid_start() knows it anyway - -2006-01-25 07:57 maan - - * afs.c, afs.h, error.h: convert afs to the new error subsystem. As - the return values of afs_send_chunk() and afs_mainloop() are - never used, change them to return void - -2006-01-24 13:21 maan - - * afs.c, afs.h, server.c: kill unused afs_handle_sighup() - -2006-01-24 13:11 maan - - * error.h, mp3.c, ogg.c: convert ogg.c to the new error subsystem - -2006-01-24 11:33 maan - - * error.h, mp3.c: error messages for the mp3 format handler - -2006-01-24 10:37 maan - - * error.h: first preparations for para_server towards the new error - subsystem - -2006-01-24 10:36 maan - - * Makefile.in, configure.ac: cleanup of the build system - -2006-01-24 07:40 maan - - * afs.c: cosmetics - -2006-01-24 05:54 maan - - * Makefile.in, NEWS, configure.ac: new codename, reset version to - cvs - -2006-01-24 05:51 maan - - * versions/: paraslash-0.2.9.tar.bz2, paraslash-0.2.9.tar.bz2.asc: - paraslash-0.2.9 - -2006-01-24 05:50 maan - - * Makefile.in, NEWS, configure.ac, scripts/demo-script, - web/index.in.html: paraslash 0.2.9 - -2006-01-24 05:43 maan - - * web/demo.in.html: kill the instructions for manual installation - as they do not work with paraslash-0.2.9 any more. - -2006-01-24 05:01 maan - - * audiod.c: fix null pointer dereference in error log message - (s->receiver_node->receiver may well be NULL on errors) - -2006-01-24 03:54 maan - - * README: [no log message] - -2006-01-24 03:16 maan - - * command.c: initialize argv pointer to NULL as it is freed - unconditionally at the end of handle_connect() - -2006-01-23 14:18 maan - - * FEATURES: [no log message] - -2006-01-23 08:52 maan - - * web/license.in.html: add a link to a diff between v2 and v3 of - the GPL - -2006-01-23 08:08 maan - - * Makefile.in: use para_util to make the changelog. Restrict output - to log messages newer than one year to reduce size - -2006-01-23 06:47 maan - - * grab_client.c: handle short grab client writes properly according - to their grabbing mode: close pedantic grab clients, ignore the - short write for sloppy grab clients and rewrite the remaining - buffer in case of aggressive grab clients - -2006-01-23 06:44 maan - - * audiod.c: make client_write() return an error on short writes, - always use the non-blocking write_client() instead of the - blocking send_buffer() - -2006-01-23 06:27 maan - - * audiod.c: only set the filter chain error if there is a filter - chain. Fixes potential NULL pointer dereference. - -2006-01-23 06:25 maan - - * grab_client.c: fix a use-after-free bug and remove the grab - client fd from the close_on_fork list in gc_close() - -2006-01-23 05:01 maan - - * audiod.c, error.h, http_send.c, net.c, para.h, server.c: - generalize and simplify do_accept() so that it can also be used - by audiod. Rename it to para_accept() and add documentation as we - are at it. - -2006-01-23 04:29 maan - - * gcc-compat.h, string.c: add documentation for each function in - string.c - -2006-01-23 01:54 maan - - * Makefile.in: add some missing dependencies - -2006-01-23 01:43 maan - - * mp3dec.c, ortp_send.c, wav.c: fix some signed issues noted by - gcc-4.0.2 - -2006-01-23 01:39 maan - - * filter.h: make gcc-4.0.2 happy - -2006-01-23 00:49 maan - - * audiod.c, compress.c, filter_chain.c, http_send.c, oggdec.c: kill - some unused function parameters or mark them __unused if - appropriate - -2006-01-23 00:38 maan - - * Makefile.in: add -W to DEBUG_CPPFLAGS instead of -Wunused wich - appeared tiwce - -2006-01-23 00:35 maan - - * grab_client.c: fix serious typo - -2006-01-23 00:13 maan - - * audiod.c: open_filters() exits immediately on errors, no need to - provide a return value - -2006-01-22 22:59 maan - - * audioc.c, command.c, http_send.c, mp3.c, play.c, recv.c, - server.c, signal.c, stat.c, string.c, wav.c: change 2005 to 2006 - in GPL header - -2006-01-22 22:59 maan - - * NEWS: [no log message] - -2006-01-22 22:53 maan - - * daemon.c: cosmetics - -2006-01-22 22:41 maan - - * FEATURES: typo - -2006-01-22 08:13 maan - - * README.mysql: [no log message] - -2006-01-22 07:52 maan - - * FEATURES: [no log message] - -2006-01-22 07:19 maan - - * skencil/overview.sk: update to forthcoming v0.2.9 - -2006-01-22 05:22 maan - - * command.c, server.c: shut down non-authorized connections after - 10 seconds - -2006-01-22 04:41 maan - - * audiod.c, filter_chain.c, recv_common.c: comment out some debug - messages - -2006-01-22 04:41 maan - - * Makefile.in: format the output of cvs2cl to avoid long lines - -2006-01-22 04:32 maan - - * Makefile.in: typo - -2006-01-22 04:27 maan - - * Makefile.in: adjust filename of startup 'screenshots' - -2006-01-22 04:23 maan - - * web/screenshots.in.html: adjust filename of startup 'screenshots' - -2006-01-22 04:21 maan - - * pics/screenshots/: para_audiod-startup.txt, - para_server-startup.txt: recent versions - -2006-01-22 04:19 maan - - * pics/screenshots/: para_audiod-2005-11-10.loglevel1.txt, - para_server-2005-10-13.loglevel1.txt: replaced by - para_audiod-startup.txt and para_server-startup.txt - -2006-01-22 03:55 maan - - * audiod.c, daemon.c, para.h, server.c, string.c: make sure fd 0, - 1, and 2 are valid. In daemon mode, dup2() these fds to /dev/null - -2006-01-22 03:27 maan - - * audiod.c, audiod.ggo: new command line option: - --no_default_filters to deactivate the automatic filter - activation. Kill ifdefs HAVE_MAD and HAVE_OGGVORBIS as audiod now - supports both mp3 and ogg even if the mp3dec/oggdec filter is not - compiled in. Use --no_default_filters and e.g 'madplay -' as the - stream write command in this case. - -2006-01-22 00:37 maan - - * ortp_recv.c: loglevel adjustment - -2006-01-22 00:36 maan - - * audiod.c: filter_io() returns a proper error value, so set - fci->error accordingly - -2006-01-21 23:57 maan - - * http_send.c: replace http_check_perms() by a saner version and - rename it to host_in_access_perm_list() - -2006-01-21 22:12 maan - - * audiod.c: remove an unused variable - -2006-01-21 22:08 maan - - * Makefile.in, NEWS, audiod.c, configure.ac, error.h, exec.c, - filter.c, filter_chain.c, grab_client.c, grab_client.h, - http_recv.c, mp3.c, mp3dec.c, net.c, oggdec.c, ortp_recv.c, - para.h, recv.c, recv.h, recv_common.c, signal.c, stat.c, - string.c: the shiny new error subsystem - -2006-01-21 22:07 maan - - * web/download.in.html: mention that the nightly snapshot may or - may not compile - -2006-01-21 22:06 maan - - * wav.c: write the wave header and the first chunk in one run if - output buffer can hold both - -2006-01-21 22:01 maan - - * compress_filter.ggo: reduce default value of gain_max - -2006-01-18 20:39 maan - - * compress.c: fix a nasty casting bug which sometimes caused an - output buffer overflow by 2 bytes. Also make sure we always - convert an even number of bytes - -2006-01-16 00:23 maan - - * audiod.c: do not close filters as long as writer pid > 0 - -2006-01-16 00:19 maan - - * para.h: add some missing parentheses - -2006-01-15 18:07 maan - - * audiod.c: fix nasty thinko: close_decoder_if_idle() might close - the receiver node, so s->receiver_node becomes NULL in this case. - The current code, however, saves s->receiver node in the local - variable 'rn' _before_ it calls close_decoder_if_idle() which - means that rn points to memory already freed. Fix is trivial: - Just call close_decoder_if_idle() at the beginning of the - FOR_EACH_SLOT loop - -2006-01-15 16:53 maan - - * ortp_send.c: comment out two noisy debug messages - -2006-01-15 07:30 maan - - * configure.ac: set mad_defs to the empty string if mad was not - detected - -2006-01-15 07:30 maan - - * grab_client.c: cosmetics - -2006-01-15 06:56 maan - - * NEWS: [no log message] - -2006-01-15 06:33 maan - - * FEATURES, INSTALL, Makefile.in, NEWS, README, audiod.c, - audiod.ggo, compress.c, compress_filter.ggo, configure.ac, - filter.c, filter.h, filter_chain.c, grab_client.c, grab_client.h, - http_recv.c, mp3dec.c, oggdec.c, oggdec_filter.ggo, ortp.h, - ortp_recv.c, ortp_recv.ggo, ortp_send.c, para.h, recv.c, recv.h: - integrate para_recv and para_filter into para_audiod - -2006-01-15 06:27 maan - - * net.c: add GPL header, use sizeof(struct ucred) instead of - sizeof(*cred) for the length argument of memcopy - -2006-01-15 06:06 maan - - * audioc.c: avoid an extra - -2006-01-15 06:03 maan - - * audiod.h: ATM, only one function prototype that is used by the - grabbing routines - -2006-01-15 06:01 maan - - * recv_common.c: contains functions that are shared between - para_audiod and para_recv - -2006-01-15 06:00 maan - - * grab_client.c, grab_client.ggo, grab_client.h: functions and - command line options for the grab command of audiod. - -2006-01-07 13:32 maan - - * play.c: fix prebuffering - -2006-01-06 15:29 maan - - * mp3dec.c: do not feed more than 4k to libmad - -2006-01-02 11:37 maan - - * INSTALL, Makefile.in, configure.ac, http_recv.c, http_recv.ggo, - oggdec.c, ortp_recv.c, ortp_recv.ggo, recv.c, recv.ggo, recv.h: - receivers use their own command line parser - -2006-01-02 06:48 maan - - * Makefile.in, NEWS, configure.ac: new codename, reset version to - cvs - -2006-01-02 06:46 maan - - * versions/: paraslash-0.2.8.tar.bz2, paraslash-0.2.8.tar.bz2.asc: - paraslash-0.2.8 - -2006-01-02 06:45 maan - - * Makefile.in, NEWS, configure.ac, scripts/demo-script, - web/index.in.html: paraslash 0.2.8 - -2006-01-02 05:31 maan - - * filter.h: make the FILTER_INIT macro work also in the unsupported - case - -2006-01-02 05:04 maan - - * compress.ggo, compress_filter.ggo: rename compress.cmdline.h to - compress_filter.cmdline.h - -2006-01-02 04:50 maan - - * configure.ac: Add oggdec_filter.cmdline.o to $ogg_filter_objs. - -2006-01-02 04:50 maan - - * filter.c: Do not print help via the -L option. Use the -f - filtername:-h instead. - -2006-01-02 04:50 maan - - * Makefile.in: Use the same gengetopt options for all - xxx_filter.ggo files. - -2006-01-02 04:50 maan - - * compress.ggo: cosmetics. - -2006-01-02 04:50 maan - - * filter.h: new macros DECLARE_EXTERN_FILTER_INIT and FILTER_INIT - filter.h - -2006-01-02 04:50 maan - - * compress.c: replace compress.cmdline.h by - compress_filter.cmdline.h, simplify compress_parse_config(). - -2006-01-02 04:49 maan - - * filter_chain.c: check_filter_arg(): only check filter args if the - filter has a config parser. - -2006-01-02 04:47 maan - - * oggdec.c, oggdec_filter.ggo: make the ogg output buffer size a - config option - -2005-12-31 11:53 maan - - * Makefile.in, compress.c, filter.c, filter.ggo, filter.h, - filter_chain.c, mp3dec.c, wav.c: make the filters use their own - ggo command line parser - -2005-12-31 05:31 maan - - * Makefile.in, http_recv.c, ortp_recv.c, recv.c, recv.ggo, recv.h: - http_recv and ortp_recv no longer depend on the args_info struct. - This should allow that code to be reused from within para_audiod. - -2005-12-31 02:25 maan - - * filter.c, server.ggo: cosmetics - -2005-12-30 11:52 maan - - * command.c: com_version(): nicify output - -2005-12-30 10:26 maan - - * compress.c: cosmetics - -2005-12-30 10:19 maan - - * oggdec.c: make some functions static - -2005-12-30 07:00 maan - - * filter.ggo: the command line options for para_filter - -2005-12-30 06:48 maan - - * INSTALL, Makefile.in, NEWS, README, compress.c, configure.ac, - filter.c, filter.h, filter_chain.c, mp3dec.c, oggdec.c, wav.c: - the new modular filter design - -2005-12-30 04:48 maan - - * ortp_send.c: turn off jitter compensation as it also delays the - EOF packet - -2005-12-29 03:04 maan - - * play.c: fix nasty bug that caused para_play to stall: We must not - read more than chunk_buf bytes. - -2005-12-27 20:31 maan - - * web/index.in.html: paraslash-0.2.7 - -2005-12-27 20:21 maan - - * Makefile.in, NEWS, configure.ac: new codename, reset version to - cvs - -2005-12-27 20:18 maan - - * versions/: paraslash-0.2.7.tar.bz2, paraslash-0.2.7.tar.bz2.asc: - paraslash-0.2.7 - -2005-12-27 20:17 maan - - * Makefile.in, NEWS, configure.ac, index.html, scripts/demo-script: - paraslash 0.2.7 - -2005-12-27 18:47 maan - - * oggdec.c: use ov_raw_tell() to determine the initial delay in - case of holes in data - -2005-12-27 18:44 maan - - * ogg.c: increase eof_timeout, reintroduce chunk_table shift - -2005-12-27 18:37 maan - - * ortp_send.c: only reset each connection once - -2005-12-26 20:10 maan - - * compress.ggo: better default values for gain_smooth and gain_max - -2005-12-26 20:03 maan - - * afs.c: introduce a small delay before shutting down the senders. - This allows com_stat() to send 'audio_format=-1' in between - -2005-12-26 19:49 maan - - * ortp_send.c: use rtp_session_reset() instead of - rtp_session_destroy() - -2005-12-26 19:25 maan - - * daemon.c: fix minor mem leak - -2005-12-24 20:43 maan - - * audiod.c: fix thinko in do_filter_io(): We tested ret==len (short - write) _AFTER_ decrementing len which triggred the memmove to - shift the buffer even if we had written the whole damn thing. But - the real bug is that the memmove was not executed in some rare - cases where we did have a short write. Kill that nasty bug with - pleasure and simplify the surrounding code a bit while we're at - it. - -2005-12-24 19:51 maan - - * oggdec.c: distinguish between OV_HOLE and other errors - -2005-12-24 19:44 maan - - * ortp_send.c: loglevel adjustment: use NOTICE loglevel for removal - of targets - -2005-12-23 23:27 maan - - * audiod.c: clear play_time when stopped - -2005-12-23 23:26 maan - - * ortp_send.c: turn off libortp's debug logging - -2005-12-23 23:23 maan - - * http_recv.c, ortp_recv.c: para_log() is already declared in - para.h - -2005-12-23 23:00 maan - - * CREDITS: add Jaroslav Kysela - -2005-12-23 22:41 maan - - * command.c: com_stat(): only print mtime if we have a valid audio - file - -2005-12-23 22:40 maan - - * afs.c: new function afs_eof() to be called when the 'next' flag - is set. Reset audio file info, dbinfo etc. - -2005-12-23 22:36 maan - - * server.c: also refresh status after afs_send() if neccessary - -2005-12-23 19:34 maan - - * command.c: get_status(): always use the copy of the mmd struct as - we do not hold the mmd_lock - -2005-12-23 19:12 maan - - * command.c: com_stat(): kill an unused variable - -2005-12-22 23:48 maan - - * http_send.c: kill unused http_send_header(). http_send(): the - current_chunk arg _is_ used, so nuke the __unused annotation - -2005-12-22 18:37 maan - - * http_send.c: cosmetics - -2005-12-22 04:55 maan - - * play.ggo, recv.ggo: typo - -2005-12-22 02:19 maan - - * http_send.c: cosmetics - -2005-12-22 02:03 maan - - * audiod.c: store last death time instead of last start time for - each format and use it together with the new MIN_PENALTY_MS to - avoid immediate restart of the (wrong) decoder - -2005-12-22 01:59 maan - - * http_send.c: fix send-double-header-sent bug - -2005-12-21 22:12 maan - - * server.c: kill an unused variable, add debug message - -2005-12-21 22:12 maan - - * audiod.c: The previous change was a brain fart. Revert it. - -2005-12-21 22:11 maan - - * audiod.ggo: reduce default stream delay to 200ms - -2005-12-21 17:09 maan - - * audiod.c: wait for the audio format to be resent by para_server - before restarting the stream reader - -2005-12-21 02:28 maan - - * recv.c: cosmetics - -2005-12-21 01:43 maan - - * recv.c: add GPL header, whitespace cleanup - -2005-12-20 22:48 maan - - * INSTALL, NEWS, README, audiod.c, audiod.ggo, http_recv.c: replace - para_http_recv and para_ortp_recv by para_recv - -2005-12-20 22:36 maan - - * NEWS: [no log message] - -2005-12-20 22:36 maan - - * play.c, string.c: cosmetics - -2005-12-20 22:35 maan - - * list.h: reintroduce list_add_tail() as it is needed by - http_send.c - -2005-12-20 22:34 maan - - * mp3.c: write chunk info as 'num_chunks x chunk_time' as this info - is read by audiod, increase eof time - -2005-12-20 22:34 maan - - * ogg.c: write chunk info as 'num_chunks x chunk_time' as this info - is read by audiod. comment out some rather strange workaround - code in tunetable() - -2005-12-20 22:31 maan - - * audiod.ggo: specify delay in milliseconds - -2005-12-20 22:30 maan - - * oggdec.c: prebuffer data if hole was detected, increase output - buffer size - -2005-12-20 22:26 maan - - * audiod.c: read the chunk time from server info and push that time - to the executed commands via the new CHUNK_TIME() macro. Use - milliseconds for the stream delay. Some misc fixes also - -2005-12-20 22:19 maan - - * http_recv.c: rewrite to fit into the new receiver struct which is - also used by the ortp receiver. This should ease the inclusion - into para_audiod - -2005-12-20 22:16 maan - - * ortp_recv.c: almost a complete rewrite. The inclusion into - para_recv, the update to ortp-0.8.x and the new ORTP_EMPTY - packet type made this neccessary. Should chew less CPU now - -2005-12-20 22:12 maan - - * http_send.c: implement a per-client packet queue that holds - packets which can not be sent out immediately - -2005-12-20 22:10 maan - - * afs.c: always call the senders, even if there is no data to send. - This allows the senders to send out buffered data - -2005-12-20 22:08 maan - - * recv.ggo: combined ortp_recv.ggo and http_recv.ggo, slightly - modified - -2005-12-20 22:07 maan - - * http_recv.ggo, ortp_recv.ggo: these went to recv.ggo - -2005-12-20 22:05 maan - - * Makefile.in, configure.ac, recv.c, recv.h: this combines - para_ortp_recv and para_http_recv into one binary - -2005-12-20 22:03 maan - - * ortp.h, ortp_send.c: use the new ORTP_EMPTY packet to indicate - that no data packet is going to be sent right now, compute the - timestamp of the packet always by multiplying chunk_time and - chunks_sent instead of asking the ortp library, turn off - scheduling mode - -2005-12-17 22:16 maan - - * compress.c: kill some dead code - -2005-12-15 15:26 maan - - * ortp_send.c: use rtp_session_time_to_ts() instead of - rtp_session_get_current_send_ts() for computing the timestamp - -2005-12-15 15:24 maan - - * afs.c: compute offset after reading the first chunk - -2005-12-08 16:02 maan - - * web/footer.html: comment out ssi for last modification date. - -2005-12-08 12:52 maan - - * afs.c: add some docu - -2005-12-08 12:52 maan - - * mysql.c: com_streams(): If called with arg 'current_stream', - print the name of the current stream. This info is also availabe - by calling cs (change stream) with no args, but cs is restricted - to users with DB_WRITE privileges.. - -2005-12-08 12:48 maan - - * play.c: prebuffer data if start_time is not reached rather than - simply sleep until that time. Add some documentation - -2005-11-28 23:05 maan - - * ortp_send.c: destroy session also in case EOF notifier could not - be sent - -2005-11-28 23:04 maan - - * web/demo.in.html: mention -Z option for mpg123 - -2005-11-23 16:42 maan - - * web/contact.in.html: [no log message] - -2005-11-23 16:41 maan - - * server.c: Oops. Fix random number generation. - -2005-11-15 14:48 maan - - * sdl_gui.c: fix zombie bug - -2005-11-13 19:57 maan - - * Makefile.in: add ChangeLog to phony targets. This way it gets - always rebuild. - -2005-11-13 19:29 maan - - * Makefile.in: modify rule for PUBLIC_KEY so that it also applies - to key.anonymous - -2005-11-13 19:16 maan - - * Makefile.in: add anonyous key to web_misc - -2005-11-13 19:11 maan - - * key.anonymous: for www.paraslash.org - -2005-11-13 18:47 maan - - * Makefile.in: move some stuff around, make web/sync, use sk2ps - -2005-11-13 18:17 maan - - * pics/screenshots/: gui-2005-11-12.png, - para_audiod-2005-11-10.loglevel1.txt, - para_server-2005-10-13.loglevel1.txt: new screenshots - -2005-11-13 18:13 maan - - * web/: contact.in.html, demo.in.html, documentation.in.html, - download.in.html, footer.html, header.html, index.in.html, - license.in.html, screenshots.in.html: new web pages - -2005-11-13 18:04 maan - - * Makefile.in: add target www that replaces the old html target - -2005-11-13 04:00 maan - - * dopey.c: add some more comments - -2005-11-13 03:59 maan - - * CREDITS, FEATURES, INSTALL, NEWS, README, README.mysql: minor - corrections and cleanups - -2005-11-13 03:58 maan - - * gcc-compat.h: make gcc 3.3.5 happy - -2005-11-10 23:28 maan - - * afs.c, audiod.c, command.c, dopey.c, play.c, string.c: add some - missing includes - -2005-11-10 23:28 maan - - * Makefile.in: tell gcc to bail out on implicit function - declarations - -2005-11-10 23:27 maan - - * gui.c: para_gui does not kill any decoders. Remove obsolete help - text. - -2005-11-10 23:25 maan - - * README: [no log message] - -2005-11-07 21:36 maan - - * net.c, para.h: remove some incdudes which are not needed and move - inclusion ofnetdb.h from para.h to net.c - -2005-11-07 21:15 maan - - * dbadm.c: whitespace cleanup - -2005-11-07 16:53 maan - - * para.h: kill unused para_open_fifo() - -2005-11-07 16:28 maan - - * stat.c: shutdown stat_client connection if corresponding fd is - not ready for writing - -2005-11-07 13:34 maan - - * gcc-compat.h: remove the __const macro. It is not used by - paraslash, but alsa seems to use it for something else so gcc - produces the following warning: passing arg 4 of __assert_fail - discards qualifiers from pointer target type - -2005-11-06 19:08 maan - - * index.html: typo - -2005-11-06 18:45 maan - - * Makefile.in: make it work again for gcc-2.95.4 - -2005-11-06 18:43 maan - - * server.c: change #if HAVE_MYSQL to #ifdef HAVE_MYSQL - -2005-11-06 18:42 maan - - * command.c, para.h: malloc.h is only needed from command.c, so - move the include from para.h to command.c - -2005-11-06 18:41 maan - - * index.html: add icon, nicify layout, use :hover to highlight - links - -2005-11-06 18:37 maan - - * pics/web/paraslash.ico: icon resource file - -2005-11-06 18:35 maan - - * list.h: include stddef.h, kill unused macros - -2005-11-06 18:34 maan - - * audiod.c: only list.h needs stddef.h, so include it from there - -2005-11-06 18:31 maan - - * INSTALL: [no log message] - -2005-11-06 15:41 maan - - * NEWS: [no log message] - -2005-11-06 15:41 maan - - * Makefile.in: use common rule to let all object files depend on - gcc-compat.h and on para.h, add some more -W flags - -2005-11-06 14:53 maan - - * daemon.c: fix warning: getpwnam discards qualifiers from pointer - target type - -2005-11-06 14:46 maan - - * audiod.c: include gcc-compat.h and mark unused args as such. - Also, change third arg of accept() to proper type socklen_t* - -2005-11-06 14:42 maan - - * client.c: include gcc-compat.h and mark arg of sigint_handler() - as unused - -2005-11-06 14:42 maan - - * command.c: include gcc-compat.h and use __unused macros for - commands that take no args or do not output anything. Be a little - more anal and return -E_SYNTAX for commands that take no args in - case args were given - -2005-11-06 14:39 maan - - * dbadm.c, audioc.c: include gcc-compat.h and mark args of dummy - para_log() as unused - -2005-11-06 14:37 maan - - * db.c, dopey.c: kill unused arg dir, include and use gcc-compat.h - -2005-11-05 23:31 maan - - * fade.c: include gcc-compat.h and mark loglevel arg of para_log() - as unused - -2005-11-05 23:30 maan - - * http_send.c: include gcc-compat.h and use __unused macros for - unused args of http_send() (those are used by the ogg audio - format handler so we cannot simply kill the unused args), - http_handle_fds() no longer takes pointer to max_fileno. Mark - unused args of com_on() and com_off() - -2005-11-05 23:26 maan - - * oggdec.c: use int main(void) as all args are unused - -2005-11-05 23:25 maan - - * list.h: kill empty prefetch() - -2005-11-05 23:24 maan - - * mysql.c: include gcc-compat.h and use __unused macros for - commands that take no args. Be a little more anal and return - -E_SYNTAX for commands that take no args in case args were given - -2005-11-05 23:22 maan - - * net.c: include gcc-compat.h and use __printf and __must_check - macros - -2005-11-05 23:20 maan - - * mp3dec.c: fix signedness bug, use int main(void) as all args are - unused - -2005-11-05 23:15 maan - - * ortp_recv.c: include gcc-compat.h and use __printf macro - -2005-11-05 23:14 maan - - * para.h: kill struct gui_command which was moved to gui.c, include - gcc-compat.h and use __must_check and __malloc macros - -2005-11-05 23:12 maan - - * sdl_gui.c: use C99 array initializers, include gcc-compat.h and - mark loglevel arg of para_log() as unused - -2005-11-05 23:11 maan - - * send.h: handle_fds() does no longer take a pointer to max_fileno - -2005-11-05 23:11 maan - - * server.c: use macros from gcc-compat.h, move para_log(), no need - to init fd in init_random_seed(), handle_fds() does no longer - take a pointer to max_fileno - -2005-11-05 22:59 maan - - * string.c: add __malloc and __must_check - -2005-11-05 22:57 maan - - * gui.c: commands do not need to know the key which was pressed to - invoke them, just kill the arg. Move struct gui_command from - para.h to gui.c, use new __printf macro - -2005-11-05 17:22 maan - - * gcc-compat.h: add __printf - -2005-11-05 17:19 maan - - * afs.c, afs.h, mp3.c, ogg.c: no need to pass FILE pointer to - close_audio_file() as the audio format handlers know it anyway. - Kill unused function parameter raw_total in - ogg_compute_chunk_table() - -2005-11-05 17:12 maan - - * index.html: new design with menu on the left - -2005-11-05 16:14 maan - - * FEATURES: [no log message] - -2005-11-04 18:05 maan - - * index.html: html links to directories should have a trailing - slash - -2005-11-01 13:57 maan - - * http_send.c: fix dangerous typo in case of invalid get request - -2005-10-31 22:57 maan - - * stat.c: use ISO C99 array initializers - -2005-10-31 22:56 maan - - * Makefile.in: fix dependencies on close_on_fork.h, add - dependencies on new gcc-compat.h - -2005-10-31 22:53 maan - - * audioc.c: add GPL header - -2005-10-31 22:05 maan - - * client.c, command.c, crypt.c, net.c: fix some gcc-4 signedness - warnings regarding char vs unsigned char - -2005-10-31 22:05 maan - - * play.c: fix gcc-4 signedness warning - -2005-10-31 22:02 maan - - * audiod.c: use __noreturn gcc extenstion where appropriate which - allows to kill some bogus 'return 42' statements. Rename .buflen - of struct stream_io to .loaded (as in struct filter) - -2005-10-31 21:59 maan - - * gcc-compat.h: beautified GCC extensions that define away for - non-gcc compilers and gcc 2. Kudos to Rob Love who mentioned that - at kernelplanet - -2005-10-29 22:19 maan - - * Makefile.in, NEWS, configure.ac: new codename, reset version to - cvs, turn on debugging - -2005-10-29 22:16 maan - - * versions/: paraslash-0.2.6.tar.bz2, paraslash-0.2.6.tar.bz2.asc: - paraslash-0.2.6 - -2005-10-29 22:14 maan - - * NEWS, configure.ac, index.html, scripts/demo-script: paraslash - 0.2.6 - -2005-10-29 21:18 maan - - * Makefile.in: turn off debugging (-g) - -2005-10-29 18:32 maan - - * command.c: cosmetics - -2005-10-29 18:32 maan - - * compress.ggo: increase default values of gain_max and gain_smooth - -2005-10-28 21:46 maan - - * command.c: cosmetics - -2005-10-28 21:38 maan - - * command.c: mention the afs status bits in the help text of the - relevant commands - -2005-10-28 20:07 maan - - * mysql.c: add some examples - -2005-10-28 18:12 maan - - * mysql.c: typo - -2005-10-28 18:04 maan - - * command.c: use 'audio file' instead of 'song' - -2005-10-28 17:56 maan - - * afs.c, db.h, dopey.c, mysql.c: use 'audio file' instead of 'song' - also in struct dbtool - -2005-10-28 17:50 maan - - * mysql.c: use 'audio file' instead of 'song', extend docu of ls - -2005-10-28 17:35 maan - - * mysql.c: improve mbox docu - -2005-10-28 12:42 maan - - * INSTALL, NEWS: [no log message] - -2005-10-27 20:48 maan - - * crypt.h, crypt.c: fix debian compiler warning: passing arg 2 of - RSA_public_encrypt discards qualifiers from pointer target type - -2005-10-27 20:36 maan - - * README: replace dead xiph link - -2005-10-27 20:25 maan - - * INSTALL, README: [no log message] - -2005-10-27 19:55 maan - - * index.html: mention new manual pages - -2005-10-27 19:32 maan - - * mysql.c: typo - -2005-10-27 19:28 maan - - * command.c: reformat help text of com_help - -2005-10-27 19:04 maan - - * Makefile.in, index.html: include man pages that replace - manual.txt - -2005-10-27 18:29 maan - - * 1.0, NEWS, command.c, mysql.c: further documentation cleanup - -2005-10-27 00:50 maan - - * exec.c: kill unused para_open_fifo() - -2005-10-27 00:23 maan - - * audiod.c, command.c, dopey.c, mysql.c: reformat, beautify and - improve documentation - -2005-10-26 01:37 maan - - * net.c: whitespace cleanup - -2005-10-25 04:02 maan - - * command.c: fix status update on db_write commands - -2005-10-24 01:26 maan - - * client.c: kill debug message - -2005-10-23 21:16 maan - - * audiod.c: handle short writes for grab clients properly according - to grab mode, logging improvements - -2005-10-23 20:50 maan - - * audioc.c: use recv_bin_buffer() instead of recv_buffer(). Fixes - grab command - -2005-10-23 17:04 maan - - * audiod.c, compress.c, dopey.c, para.h, string.c: introduce - para_calloc() and use it where aprropriate - -2005-10-23 16:57 maan - - * NEWS: typo - -2005-10-23 16:37 maan - - * client.c: kill unused function get_exit_status(), make two other - functions static - -2005-10-23 05:13 maan - - * NEWS: [no log message] - -2005-10-23 04:56 maan - - * stat.c: add GPL header - -2005-10-23 04:55 maan - - * command.c, server.c: init random seed in parent, rather that in - each client. As reads of /dev/random may block, clients were - blocked under load if many connections arrived at the same time. - -2005-10-23 04:41 maan - - * Makefile.in: add two missing header files to the tarball - -2005-10-23 04:07 maan - - * audiod.c, para.h, stat.c: use macros from list.h for stat_client - list rather than homebrewed list logic, some smallish cleanups - also. - -2005-10-23 02:03 maan - - * Makefile.in, audiod.c, stat.c: add stream readers/writers/filters - as well as grab/stat clients to the list of fds to be closed in - para_exec() - -2005-10-22 23:36 maan - - * Makefile.in, audiod.c, exec.c: para_exec(): close fds on - close_on_fork after forking. Mark audiod's local socket fd for - close after fork - -2005-10-22 23:09 maan - - * Makefile.in, http_send.c, server.c: use new close_on_fork list to - mark fds for closing in the child after fork - -2005-10-22 23:07 maan - - * close_on_fork.c, close_on_fork.h: implement list of fds that - should be closed in the child after fork together with simple - functions to add/delete fds from that list as well a a function - that closes all fds on the list - -2005-10-22 20:18 maan - - * gui.c: speed up display of command output by refreshing the - screen only after it is completely filled or there is no more - output available - -2005-10-22 19:58 maan - - * gui.c, net.c, para.h, string.c: new macro: PARA_VSPRINTF, a - user-friendly and secure version of vsprintf(). Replace all - occurences of vsprintf by PARA_VSPRINTF, thus fixing some - potential buffer overflows in gui.c. Moreover, the new macro - allows to get rid of some duplicate code in make_message() and - send_va_buffer() - -2005-10-22 19:57 maan - - * fade.c: simplify para_log() - -2005-10-22 19:48 maan - - * NEWS: [no log message] - -2005-10-22 18:36 maan - - * audiod.c: nuke another unused variable - -2005-10-22 18:33 maan - - * audiod.c: nuke unused variable rb_bytes - -2005-10-22 17:28 maan - - * client.c, command.c, para.h: major para_client cleanup: remove - sigchild-handling, change some old crufty code to use - make_message() and para_strcat(), improve SIGINT handling, - #define CHALLENGE_RESPONSE_MSG in para.h and use it from server - and client rather than harcoding the message text. - -2005-10-22 15:55 maan - - * client.c: fix interactive mode (only the first command worked) - -2005-10-22 15:48 maan - - * 1.0, Makefile.in, NEWS, audioc.c, audiod.c, client.c, client.ggo, - command.c, crypt.c, crypt.h, http_recv.c, net.c, para.h, rc4.h: - implement crypted connections by using openssl's rc4 stream - cipher algorithm - -2005-10-20 15:26 maan - - * command.c: kill outdated comment - -2005-10-19 15:22 maan - - * net.c: remove unused pass_fd() - -2005-10-19 15:18 maan - - * net.c, para.h: make do_bind() static - -2005-10-19 15:17 maan - - * net.c, para.h: make setserversockopts() static - -2005-10-19 11:52 maan - - * server.h: whitespace cleanup - -2005-10-19 11:51 maan - - * Makefile.in, NEWS, afs.c, command.c, db.c, db.h, dopey.c, - http_send.c, mp3.c, mysql.c, ogg.c, ortp_send.c, server.c, - server.h: major header cleanup - -2005-10-19 11:50 maan - - * afs.h: contains afs related stuff, pulled out from server.h - -2005-10-17 09:45 maan - - * SFont.c: cosmetics - -2005-10-17 07:54 maan - - * Makefile.in, NEWS, README.mysql, client.c, dopey.c, mysql.c, - server.ggo, server.h: implement, use and document an internal - find command and get rid of exec.o in para_server - -2005-10-17 07:53 maan - - * db.c, db.h: functions common to all database tools. ATM, only the - new internal find command - -2005-10-17 02:27 maan - - * SFont.c: remove superflous include - -2005-10-16 22:15 maan - - * net.c: cosmetics - -2005-10-16 22:13 maan - - * INSTALL: [no log message] - -2005-10-14 10:10 maan - - * krell.c: replace old email address - -2005-10-14 10:10 maan - - * http_send.c: loglevel adjustment - -2005-10-14 05:23 maan - - * README.mysql: whitespace cleanup - -2005-10-14 01:15 maan - - * http_send.c, ortp_send.c, send.h, server.c: as senders can be - controlled at runtime, there is no need to panic on - sender-related syntax errors in command line args or in the - config file. Just ignore invalid options and make corresponding - functions return void. - -2005-10-14 00:54 maan - - * afs.c, mp3.c, ogg.c, server.c, server.h: afs_init is always - successful. Change it to return void. - -2005-10-14 00:45 maan - - * afs.c, command.c, server.h: the set of supported audio formats is - known at compile time. So make it a preproccessor macro and - remove the function that computed this constant value. Also - introduce an array-version of all supported audio formats. - -2005-10-14 00:07 maan - - * index.html: typo - -2005-10-13 23:00 maan - - * Makefile.in, NEWS, configure.ac: new codename, reset version to - cvs - -2005-10-13 22:56 maan - - * versions/: paraslash-0.2.5.tar.bz2, paraslash-0.2.5.tar.bz2.asc: - paraslash-0.2.5 - -2005-10-13 22:55 maan - - * NEWS, configure.ac, index.html, scripts/demo-script: paraslash - 0.2.5 - -2005-10-13 22:34 maan - - * mysql.c: make debian's gcc-2.95.4 happy - -2005-10-13 20:56 maan - - * server.c: another small memory leak - -2005-10-13 20:56 maan - - * ogg.c: fix a memory leak - -2005-10-13 10:37 maan - - * audioc.c, para.h, string.c: move concat_args() from string.c to - audioc.c. As it is only used there, make it static - -2005-10-13 10:33 maan - - * daemon.c, string.c: move uptime_str() from string.c to daemon.c. - It is only used by para_server and by para_audiod - -2005-10-13 10:14 maan - - * http_send.c: cosmetics - -2005-10-13 10:05 maan - - * http_recv.c: decrease buffer size: 8k should be enough. - -2005-10-13 09:45 maan - - * http_recv.c: add GPL header - -2005-10-13 09:00 maan - - * exec.c, para.h, string.c: move split_args() from exec.c to - string.c. Each caller of split_args() links string.o anyway. - Moreover, para_server needs it, and the plan is to make - para_server fully single-threaded.. - -2005-10-13 08:50 maan - - * string.c: no need to include server.h. para.h is enough - -2005-10-13 07:35 maan - - * command.c, http_send.c, ortp_send.c, send.h: add sender-specific - help commands - -2005-10-13 07:28 maan - - * NEWS: [no log message] - -2005-10-13 05:29 maan - - * ogg.c: free buffers on song exit, take packet-end time into - aacount when computing the chunk table (should fix dropouts at - the beginnin) - -2005-10-13 03:21 maan - - * audiod.c: fix segfault in get_empty_slot() for invalid - stream_read commands - -2005-10-13 00:19 maan - - * audiod.c: simplify check_sigchld(), fix potential segfault on - server shutdown - -2005-10-12 22:02 maan - - * skencil/overview.sk: nuke para_send, change version to 0.2.5 - -2005-10-11 21:15 maan - - * oggdec.c: kill bogus usleep, increase bufsize to 64k, handle - short writes - -2005-10-11 21:03 maan - - * ortp_send.c: check return values from rtp_session_send_with_ts() - and shut down target on errors - -2005-10-11 04:52 maan - - * gui.c: fix memory leak in client_cmd_cmdline() - -2005-10-11 03:27 maan - - * ortp_send.c: fix null pointer bug in com_si() - -2005-10-11 03:26 maan - - * audiod.c: kill reader, writer and filters on stream timeout, fix - close_unused_stream_fds() in case stream writer dies first - -2005-10-10 07:30 maan - - * ortp_send.c: cosmetics - -2005-10-10 06:08 maan - - * mysql.c: fix a memory leak in get_query() - -2005-10-10 06:04 maan - - * http.h, http_recv.c, http_send.c, net.c, para.h: send/recv proper - get request, not just a minimal one, so para_http_recv works also - with other http streamers like poc-http - -2005-10-10 06:00 maan - - * Makefile.in: add missing dependencies of http_recv, add new - header files for the tarball, use -O0 optimization -- it produces - smaller binaries (on my current system) and valgrind likes it too - -2005-10-10 05:58 maan - - * INSTALL: [no log message] - -2005-10-10 03:23 maan - - * audiod.c: fix memory leak in handle_connect() - -2005-10-10 03:20 maan - - * ortp_send.c: whitespace cleanup - -2005-10-10 03:18 maan - - * ortp_recv.c: include ortp_recv.cmdline.h instead of former - recv.cmdline.h - -2005-10-10 03:17 maan - - * server.c: fix memory leak in parse_config(), replace sprintf() by - make_message() - -2005-10-10 03:15 maan - - * exec.c: fix memory leak in para_exec_cmdline_pid() - -2005-10-10 03:14 maan - - * command.c: fix memory leak in com_si() - -2005-10-10 03:13 maan - - * NEWS: [no log message] - -2005-10-07 10:15 maan - - * Makefile.in: kill para_send-related targets - -2005-10-07 01:41 maan - - * send.c, send.ggo: no more need for the stand-alone sender - -2005-10-07 01:35 maan - - * audiod.c, audiod.ggo: make para_http_recv the default receiver - -2005-10-07 01:33 maan - - * Makefile.in, configure.ac: change para_recv to para_ortp_recv - -2005-10-07 01:20 maan - - * ortp_recv.c, ortp_recv.ggo: former recv.c and recv.ggo - -2005-10-07 01:20 maan - - * recv.c, recv.ggo: renamed to ortp_recv.c and ortp_recv.ggo - -2005-10-07 01:16 maan - - * ortp_send.c, server.ggo: new option: ortp_header_interval - -2005-10-07 01:15 maan - - * afs.c: remove bogus check, only call the send functions if buffer - is non-empty - -2005-10-07 01:14 maan - - * INSTALL, NEWS: [no log message] - -2005-10-04 01:31 maan - - * afs.c: kill unused eof_time - -2005-10-04 00:10 maan - - * afs.c: remove outdated comment - -2005-10-04 00:10 maan - - * http_send.c, mp3.c, ogg.c, server.h: remove send_header function - pointer from struct audio format - -2005-10-03 21:59 maan - - * afs.c: kill send_function(). It's kinda pointless. - -2005-10-03 21:28 maan - - * afs.c, mp3.c, ogg.c, server.h: remove fifo. fifoname and sw_pid - from struct audio format - -2005-10-03 21:19 maan - - * Makefile.in: afs depends on send.h - -2005-10-03 21:19 maan - - * server.ggo: remove option stream_write_cmd - -2005-10-03 21:18 maan - - * afs.c: kill some dead code: af->sw_pid is always -1 - -2005-10-03 20:48 maan - - * afs.c, server.h: kill open_cmd in struct audio info, kill - setup_stream_command() - -2005-10-03 20:47 maan - - * command.c: increase event counter on pause - -2005-10-03 19:04 maan - - * afs.c, command.c, server.h: kill the AFS_STREAM_WRITER flag - -2005-09-30 10:12 maan - - * index.html: cosmetics - -2005-09-30 05:23 maan - - * afs.c: fix paused mode: only set eof_barrier once - -2005-09-30 05:07 maan - - * afs.c: fix status flags on eof when AFS_NOMORE is set - -2005-09-30 04:21 maan - - * afs.c: sw_restart_barrier is no longer needed - -2005-09-30 04:18 maan - - * afs.c: kill unused SW_RESTART_TIME - -2005-09-30 04:17 maan - - * afs.c: kill unneeded sw_restart_tv - -2005-09-30 04:13 maan - - * afs.c, server.c: there are no more children to handle for afs - -2005-09-30 03:58 maan - - * server.c: only call afs_send_chunk() if select timeout expired - -2005-09-30 03:48 maan - - * afs.c: kill afs_open_fifo(). It has no more callers - -2005-09-30 03:32 maan - - * mp3.c, ogg.c, server.h: kill the mainloops themselves - -2005-09-30 03:16 maan - - * afs.c: kill the call to the mainloop of audio format handlers as - it is no longer needed - -2005-09-30 02:45 maan - - * afs.c: reset mmd->chunks_sent on sender shutdown rather than on - stream writer death - -2005-09-30 02:21 maan - - * afs.c: compute data send barrier on repos and after sucessfully - getting the next audio file rather than after stream writer exec - -2005-09-30 01:09 maan - - * afs.c, server.c: afs_compute_timeout: return -1 rather than 1 - when chunk is overdue, otherwise select blocks on bof. server.c: - No more need to check the stream writer fd. It is no longer used. - -2005-09-29 23:58 maan - - * afs.c: introduce extra check in afs_send_chunk() that tests - whether chunk is really due. This was previously broken: Whenever - select returned we sent a chunk which might happen too early. Not - serious though as the time got corrected automatically during the - next call to afs_mainloop() - -2005-09-29 23:41 maan - - * afs.c: do not reset audio_format in afs_send_chunk() if eof was - encountered as this causes the audio file not to be closed in the - following call to afs_mainloop(). Also, invalidate af pointer - after closing the audio file - -2005-09-29 23:17 maan - - * mp3.c: kill two unused functions - -2005-09-29 23:13 maan - - * afs.c, mp3.c, ogg.c: call the new close_audio_file function from - afs.c rather than closing the file in the mainloop of the audio - format handler - -2005-09-29 23:02 maan - - * mp3.c, ogg.c, server.h: new function pointer in struct audio - format: close_audio_file - -2005-09-29 22:48 maan - - * afs.c, mp3.c, ogg.c: compute mmd->offset in afs.c rather than in - the audio format handlers - -2005-09-29 12:01 maan - - * FEATURES, README: update docu wrt internal senders - -2005-09-29 09:56 maan - - * afs.c: simplify AFS_NOMORE handling - -2005-09-29 09:15 maan - - * afs.c, ogg.c: kill three unused variables - -2005-09-29 09:13 maan - - * afs.c, mp3.c, ogg.c, server.h: nuke function parameter eof_time - which is no longer used - -2005-09-29 09:06 maan - - * afs.c: compute eof_barrier from new eof field in struct audio - format. Also, do not base computation on stream writer death time - but on sender shutdown time - -2005-09-29 08:39 maan - - * mp3.c, ogg.c, server.h: new element in struct audio format: - eof_tv - -2005-09-29 08:22 maan - - * afs.c, mp3.c, ogg.c: move repositioning handling from audio file - handlers to afs.c - -2005-09-29 07:59 maan - - * mp3.c, ogg.c, server.h: new function pointer in struct audio - format: reposition_stream - -2005-09-29 07:50 maan - - * afs.c, mp3.c, ogg.c, server.h: remove calculation of next chunk - time from format handlers - -2005-09-29 07:44 maan - - * afs.c: kill unused variable - -2005-09-29 07:42 maan - - * afs.c: do calculation of next chunk time in afs.c rather than in - the audio format handlers - -2005-09-29 06:30 maan - - * ogg.c: oops, we are not using milliseocnds.. - -2005-09-29 03:10 maan - - * mp3.c, ogg.c, server.h: new element in struct audio format: - chunk_tv that is filled in by the audio format handler - -2005-09-29 03:09 maan - - * Makefile.in: add more missing dependencies - -2005-09-29 01:29 maan - - * afs.c, mp3.c, ogg.c, server.h: kill send_chunk - -2005-09-29 01:24 maan - - * afs.c, mp3.c, ogg.c, server.h: new function pointer in struct - audio format: read_chunk which is going to replace send_chunk as - the sending functions are better invoked from afs.c - -2005-09-29 01:14 maan - - * string.c: typos - -2005-09-28 23:48 maan - - * afs.c, http_send.c, mp3.c, ogg.c, send.h, server.c, server.ggo, - server.h: include support for the new ortp sender - -2005-09-28 23:48 maan - - * net.c: log short writes - -2005-09-28 23:45 maan - - * command.c: off by one bug - -2005-09-28 23:44 maan - - * recv.c: use enums from new ortp.h - -2005-09-28 23:43 maan - - * recv.ggo: change default host from XINGTV.MCAST.NET to the - officially unasaigned ip 224.0.1.38 which happens to resolve to - DANTZ.MCAST.NET. Change default port to 1500 - -2005-09-28 23:39 maan - - * Makefile.in, configure.ac: build the ortp sender if libortp was - found, add some missing dependencies - -2005-09-28 23:37 maan - - * ortp.h, ortp_send.c: the new internal ortp sender - -2005-09-28 07:09 maan - - * http_send.c, mp3.c, ogg.c, server.h: new function pointer in - struct audio_format: get_header_info. Use it in http_send.c - instead of the obsolete send_header function pointer - -2005-09-28 06:32 maan - - * ogg.c: save header of starup rather than seeking the file - -2005-09-28 01:04 maan - - * afs.c, http_send.c, server.c: more cosmetics - -2005-09-28 00:37 maan - - * audiod.c, command.c, http_send.c, mp3.c: cosmetics - -2005-09-27 23:57 maan - - * http_send.c: whitespace cleanup - -2005-09-27 23:57 maan - - * command.c: comment out debug message - -2005-09-27 23:49 maan - - * send.h, server.h: new struct sender_command_data for server - callbacks - -2005-09-27 23:48 maan - - * server.c: implement callbacks for sender commands, only call send - functions if status is on - -2005-09-27 23:46 maan - - * ogg.c: comment out noisy debug message - -2005-09-27 23:44 maan - - * http_send.c: use new http sender options, implement sender - commands allow, deny, on, off, info - -2005-09-27 23:41 maan - - * server.ggo: add some http sender options - -2005-09-27 23:40 maan - - * command.c: implement new sender command - -2005-09-27 23:39 maan - - * Makefile.in: add some more dependencies on server.cmdline.h - -2005-09-27 04:32 maan - - * server.h: prototypes for new functions for testing - afs_status_flags. No need to pass status flags to the mainloop - and send_chunk functions - -2005-09-27 04:30 maan - - * server.c: support for internal senders. Use init_tcp_socket from - net.c - -2005-09-27 04:27 maan - - * para.h: add the two new function prototypes from net.c - -2005-09-27 04:26 maan - - * oggdec.c: delay if hole in data was found - -2005-09-27 04:25 maan - - * ogg.c: use new functions for testing afs_status_flags, support - for internal senders. Nuke initial_chunk logic. - -2005-09-27 04:22 maan - - * net.c: pull init_tcp_socket() from server.c. It is also used by - http_send.c. New function rec_pattern to be used by both servers - and clients. - -2005-09-27 04:18 maan - - * mp3.c: use new functions for testing afs_status_flags, support - for internal senders - -2005-09-27 04:17 maan - - * afs.c: new functions for testing the afs_status_flags, support - for internal senders - -2005-09-27 04:16 maan - - * Makefile.in: build http_recv, add http_send.o to server objects, - add some more header dependencies that were lost - -2005-09-27 04:12 maan - - * http.h, http_recv.c, http_recv.ggo, http_send.c, send.h: internal - sender and external receiver - -2005-09-25 20:53 maan - - * index.html: kernziel is dead - -2005-09-23 21:42 maan - - * server.h: remove unused liked_cmd_list - -2005-09-22 00:40 maan - - * mysql.c: fix empty stream definitions, ignore errors on remove - -2005-09-22 00:22 maan - - * para.h: replace __func__ by __FUNCTION__ as this seems to be - supported by a wider class of complilers - -2005-09-21 20:07 maan - - * Makefile.in, NEWS, configure.ac: new codename, reset version to - cvs - -2005-09-21 20:05 maan - - * versions/: paraslash-0.2.4.tar.bz2, paraslash-0.2.4.tar.bz2.asc: - paraslash-0.2.4 - -2005-09-21 20:04 maan - - * NEWS, configure.ac, index.html, scripts/demo-script: paraslash - 0.2.4 - -2005-09-21 06:36 maan - - * command.c: cosmetics - -2005-09-20 00:32 maan - - * audiod.c: cosmetics - -2005-09-20 00:23 maan - - * audiod.c: typo, make max_deviation a constant, no need to check - for items if itemnum < 0 - -2005-09-19 22:12 maan - - * audiod.c: simplify check_stat_line() - -2005-09-19 22:11 maan - - * Makefile.in: audiod no longer needs gui_common.o - -2005-09-19 22:10 maan - - * gui_common.c, para.h, stat.c: move some functions from - gui_common.c to stat.c since they are also needed by audiod. - -2005-09-19 20:35 maan - - * gui_common.c: kill unused variable - -2005-09-19 20:24 maan - - * command.c, server.c, server.h: logging improvements - -2005-09-19 05:17 maan - - * mp3.c: loglevel adjustment - -2005-09-19 05:00 maan - - * daemon.c: simplify log_welcome() - -2005-09-19 05:00 maan - - * gui_common.c: fix check_buf_for_items() - -2005-09-19 04:58 maan - - * server.c: fix logging for higher loglevels - -2005-09-18 19:08 maan - - * ogg.c: increase eof time - -2005-09-18 00:54 maan - - * gui.c: rename struct args_info to conf - -2005-09-18 00:38 maan - - * server.c: simplify parse_config() - -2005-09-18 00:32 maan - - * NEWS, afs.c, server.ggo: make announce_time a run-time option - -2005-09-18 00:28 maan - - * Makefile.in: add some missing dependencies - -2005-09-12 16:48 maan - - * NEWS, README: [no log message] - -2005-09-12 15:41 maan - - * command.c: com_si(): report total size of memory allocated with - sbrk by malloc, in kbytes. - -2005-09-12 15:36 maan - - * NEWS: [no log message] - -2005-09-12 15:36 maan - - * configure.ac: check for presence and usability of some more - headers - -2005-09-12 15:35 maan - - * crypt.c: fix potential memory leak - -2005-09-11 22:16 maan - - * para.h: small cleanup and more comments - -2005-09-11 22:15 maan - - * server.c: remove old crap from para_log(), typo, do not write to - console in daemon mode, close fd 0,1,2 in daemon mode - -2005-09-09 06:44 maan - - * oggdec.c: make write_header() static. Cosmetics - -2005-09-09 05:28 maan - - * audiod.c: replace global var by local ones - -2005-09-09 05:12 maan - - * audiod.c: some more trivial cleanups - -2005-09-09 04:56 maan - - * audiod.c: reorder global vars, defines and the like. Trivial. - -2005-09-09 04:46 maan - - * audiod.c: remove an unused variable, man cmds[] static - -2005-09-09 04:43 maan - - * audiod.c: make functions static where possible - -2005-09-09 04:39 maan - - * audiod.c: remove pointless NULL-check in ring_buffer_free() - -2005-09-09 04:34 maan - - * audiod.c: fix nasty mem leak. We must not reset s->format too - early as it is needed in the filter-free loop - -2005-09-08 23:48 maan - - * NEWS: [no log message] - -2005-09-08 23:47 maan - - * sdl_gui.c: better layout - -2005-09-08 16:15 maan - - * configure.ac: new configure option: --enable-ssldir=path, fix - typo - -2005-09-06 01:17 maan - - * play.c: use stringification macro to print err msg - -2005-09-06 00:55 maan - - * Makefile.in: audiod.o depends on list.h. Add list.h to the - tarball - -2005-09-06 00:51 maan - - * list.h: Needed by audiod. Copied from the Linux kernel source - tree. - -2005-09-06 00:50 maan - - * NEWS: [no log message] - -2005-09-06 00:49 maan - - * mp3dec.c: comment out debug message - -2005-09-06 00:37 maan - - * audiod.c: new command: grab. Close fd 0,1,2 in deamon mode - -2005-09-06 00:32 maan - - * audioc.ggo: new option: --bufsize - -2005-09-06 00:32 maan - - * audioc.c: new option: --bufsize. Use select() rather than plain - read/write to avoid blocking writes writes when there is space - left in the buffer - -2005-09-06 00:29 maan - - * client.c: only check the first data buffer for the - AWAITING_DATA_MSG. Always use full buffersize for recv - -2005-09-06 00:27 maan - - * net.c: no need to waste one byte - -2005-09-04 11:05 maan - - * client.ggo: add typestr to options - -2005-09-04 11:05 maan - - * Makefile.in: use --unamed-opts only if neccessary - -2005-09-02 14:43 maan - - * audiod.c: do_filter_io(): only add return value of read() to - loaded bytes if it is positive - -2005-09-02 14:41 maan - - * index.html: typo - -2005-09-01 20:14 maan - - * Makefile.in, NEWS, configure.ac: new codename, reset version to - cvs - -2005-09-01 20:12 maan - - * versions/: paraslash-0.2.3.tar.bz2, paraslash-0.2.3.tar.bz2.asc: - paraslash-0.2.3 - -2005-09-01 20:11 maan - - * NEWS, configure.ac, index.html, scripts/demo-script: paraslash - 0.2.3 - -2005-09-01 19:49 maan - - * NEWS: [no log message] - -2005-09-01 14:14 maan - - * audiod.c: typo - -2005-09-01 13:44 maan - - * NEWS, audiod.c, audiod.ggo: new audiod option: --stream_delay, - used if new macro START_TIME() was given for stream_write_cmd. - -2005-09-01 13:43 maan - - * compress.ggo: use maximal volume as default - -2005-09-01 03:04 maan - - * NEWS: [no log message] - -2005-09-01 02:09 maan - - * index.html: add list of releases to top of page - -2005-09-01 01:04 maan - - * Makefile.in: make xxx.cmdline.o always the first prerequisite, - use multiple targets in gengetopt rule - -2005-09-01 00:33 maan - - * Makefile.in, play.c, play.ggo: command line options for para_play - -2005-08-31 22:06 maan - - * FEATURES, README: mention para_compress - -2005-08-31 21:49 maan - - * NEWS, audiod.c, audiod.ggo: better syntax for stream/filter - commands - -2005-08-31 18:42 maan - - * CREDITS, Makefile.in, NEWS: add para_compress - -2005-08-31 18:41 maan - - * compress.c, compress.ggo: a dynamic range compressor, derived - from AudioCompress-1.5.2 - -2005-08-31 18:40 maan - - * recv.c: save header, delay sending until first data packet - _after_ header arrives - -2005-08-31 18:38 maan - - * play.c: make it understand wave headers, use plug_swmix for - snd_pcm_open() - -2005-08-29 06:49 maan - - * net.c: do not use fprintf in net.c, whitespace cleanup - -2005-08-29 04:09 maan - - * mysql.c: whitespace cleanup - -2005-08-26 13:51 maan - - * mysql.c: tell mysql version on init - -2005-08-26 03:55 maan - - * play.c: do not exit on buffer underruns, reduce sleep time on - -EAGAIN - -2005-08-26 03:54 maan - - * audiod.c: also kill filters in kill_decoder() - -2005-08-26 02:32 maan - - * FEATURES, Makefile.in, NEWS, README, configure.ac: include - para_play - -2005-08-26 02:31 maan - - * play.c: a tiny alsa player - -2005-08-26 00:10 maan - - * NEWS, audiod.c, audiod.ggo: implement filtering inside audiod - -2005-08-25 01:11 maan - - * NEWS, mysql.c, stat.c: cosmetics - -2005-08-25 01:11 maan - - * Makefile.in: remove funny characters around codename in version - string - -2005-08-24 11:27 maan - - * afs.c: whitespace clenaup ;) - -2005-08-19 22:08 maan - - * signal.c: add GPL header - -2005-08-19 21:32 maan - - * scripts/demo-script: make it download paraslash.0.2.0 - -2005-08-19 10:03 maan - - * client.conf.sample, fade.conf.sample, sdl_gui.conf.sample, - server.conf.sample: these are both outdated and really pointless. - Read the nice online help instead - -2005-08-19 06:30 maan - - * Makefile.in, NEWS, configure.ac: new codename, reset version to - cvs - -2005-08-19 06:28 maan - - * versions/: paraslash-0.2.2.tar.bz2, paraslash-0.2.2.tar.bz2.asc: - paraslash-0.2.2 - -2005-08-19 06:24 maan - - * Makefile.in, NEWS, configure.ac: paraslash 0.2.2 - -2005-08-19 02:24 maan - - * mysql.c: cosmetics - -2005-08-19 02:16 maan - - * NEWS, mysql.c: new command snp (set numplayed) - -2005-08-19 01:57 maan - - * mysql.c: cosmetics - -2005-08-19 01:50 maan - - * mysql.c: com_mv(): also update the name in the dir-table - -2005-08-19 00:57 maan - - * net.c: - work around a gcc-4.1 bug (?) that caused send_cred_buffer() to - send only zeros. With this workaround, para_audioc works again. - -2005-08-18 07:44 maan - - * scripts/demo-script: use -N option for wget to overwrite any - tarballs downloaded earlier - -2005-08-18 05:37 maan - - * client.c: whitespace cleanup - -2005-08-18 04:01 maan - - * INSTALL: typo - -2005-08-18 03:59 maan - - * INSTALL: correct instructions for manual streaming - -2005-08-18 03:38 maan - - * exec.c: fix fd leak in para_exec() just introduced - -2005-08-18 03:22 maan - - * exec.c: trivial simplifications - -2005-08-18 02:56 maan - - * exec.c: whitespace cleanup - -2005-08-18 01:29 maan - - * Makefile.in, NEWS, dbadm.c, exec.c, fade.c, gui.c, mysql.c, - para.h: change all remaining users of popen_*() to use para_exec - instead. nuke popen_* functions from exec.c - -2005-08-17 04:37 maan - - * NEWS, mysql.c: add command ne (new entry) - -2005-08-17 04:33 maan - - * README: [no log message] - -2005-08-17 03:40 maan - - * mysql.c, para.h, string.c: new mysql command: mv (rename - entries). This needs another helper, para_dirname(), which was - added to string.c. Use const attribute for para_dirname() and add - it to para_basename too. - -2005-08-17 02:13 maan - - * audiod.c, client.c, dbadm.c, oggdec.c, server.c: cosmetics - -2005-08-17 01:35 maan - - * NEWS, mysql.c: new command: rm to remove entries from the - database - -2005-08-17 01:35 maan - - * command.c: cosmetics - -2005-08-17 00:41 maan - - * skencil/overview.sk: change 0.2.0 to 0.2.x - -2005-08-17 00:37 maan - - * fade.c: cosmetics - -2005-08-17 00:35 maan - - * string.c, fade.c: whitespace cleanup - -2005-08-17 00:24 maan - - * audioc.c, audiod.c, client.c, daemon.c, fade.c, gui.c, para.h, - recv.c, sdl_gui.c, send.c, server.c, slider.c: rename clog to - para_log - -2005-08-17 00:11 maan - - * audiod.c, gui.c, para.h, server.c, signal.c: simplify - para_signal_init() - -2005-08-17 00:01 maan - - * afs.c, audiod.c, client.c, command.c, daemon.c, dopey.c, fade.c, - mp3.c, mysql.c, net.c, ogg.c, recv.c, send.c, server.c, signal.c, - stat.c, string.c: nuke superflous __func__ - -2005-08-16 23:31 maan - - * krell.c: whitespace cleanup, change email address - -2005-08-16 22:47 maan - - * NEWS, afs.c, audiod.c, client.c, command.c, daemon.c, dopey.c, - fade.c, gui.c, mp3.c, mysql.c, net.c, ogg.c, para.h, recv.c, - send.c, server.c, signal.c, stat.c, string.c: new log macros that - do not require __func__ each time and can be optimized away - easily - -2005-08-16 21:07 maan - - * para.h: whitespace cleanup - -2005-08-16 21:06 maan - - * audiod.c, gui.c, para.h, server.c: nuke loglevel VERBOSE - -2005-08-16 21:06 maan - - * Makefile.in: use -O3 and add -Wuninitialized and - -Wredundant-decls - -2005-08-16 20:58 maan - - * scripts/demo-script: make it download paraslash-0.2.1 - -2005-08-16 20:48 maan - - * audiod.c: stream readers do not read from stdin - -2005-08-16 20:45 maan - - * exec.c: serious thinko. Close the right fds in para_exec(). This - was obviously incorrect before. Strange that only gcc 4 produced - a non-working audiod.. - -2005-08-16 20:36 maan - - * client.c, command.c, crypt.c: fix some signedness issues - -2005-08-15 23:28 maan - - * Makefile.in, NEWS, configure.ac: new codename, reset version to - cvs - -2005-08-15 23:09 maan - - * versions/: paraslash-0.2.1.tar.bz2, paraslash-0.2.1.tar.bz2.asc: - paraslash-0.2.1 - -2005-08-15 23:04 maan - - * NEWS, configure.ac: paraslash 0.2.1 - -2005-08-15 22:35 maan - - * Makefile.in: older versions of libreadline and libssl come with - header files that produce lots of warnings about redundant - redeclarations. Deactivate -Wredundant-decls for now - -2005-08-15 22:23 maan - - * audiod.c: make gcc happy - -2005-08-15 07:47 maan - - * mp3.c: simplify mp3_seek_next_header(), use para_fread() instead - of plain fread() and check the retval. Nuke unused id3 genre. - -2005-08-14 20:15 maan - - * audiod.c: fix serious memory leak - -2005-08-13 21:45 maan - - * audiod.c: kill decoders and close status pipe in clean_exit() - -2005-08-13 21:43 maan - - * client.c, crypt.c, crypt.h: remove some redundant ssl includes - -2005-08-13 20:36 maan - - * command.c: kill extra newline - -2005-08-13 04:32 maan - - * audiod.c, command.c: oops, the previous whitespace cleanup was - only for slider.c. Revert to previous version. - -2005-08-13 04:27 maan - - * audiod.c, command.c, slider.c: whitespace cleanup slider.c - -2005-08-10 22:08 maan - - * NEWS, audiod.c: nuke hup command. It is both pointless and - non-trivial to get it right - -2005-08-10 11:14 maan - - * NEWS: [no log message] - -2005-08-10 03:23 maan - - * gui_theme.c: whitespace cleanup - -2005-08-10 03:21 maan - - * NEWS, audiod.c, command.c, daemon.c, gui_theme.c, para.h, - server.c, server.h, stat.c, string.c: new status item: - audiod_uptime. Reduce size of mtime string, reduce number of - audiod slots to 5, redirect stdout of audiod stream writer to - /dev/null - -2005-08-09 23:30 maan - - * stat.c: whitespace cleanup - -2005-08-09 23:29 maan - - * Makefile.in: maintainer-clean: remove tar.bz files - -2005-08-09 23:16 maan - - * Makefile.in, configure.ac: deactivate -O and -Wuninitialized, add - crypt.h to the set of headers shipped in the tarball, use a macro - from the autoconf archive for detecting openssl. - -2005-08-09 08:45 maan - - * FEATURES, README: [no log message] - -2005-08-09 07:15 maan - - * INSTALL: mention --stream_write_cmd - -2005-08-09 06:21 maan - - * mp3dec.c: whitespace cleanup - -2005-08-08 02:18 maan - - * afs.c, command.c, mp3.c, ogg.c: fix some (hopefully all) format - string mismatches - -2005-08-08 02:04 maan - - * audiod.c, client.c, command.c, fade.c, gui.c, net.c, para.h, - server.c, string.c: nuke some redundant redeclarations - -2005-08-08 02:04 maan - - * Makefile.in: add -Wredundant-decls to CPPFLAGS - -2005-08-08 01:54 maan - - * client.c, dbadm.c, sdl_gui.c, server.c: fix some missing voids. - Harmless - -2005-08-08 01:54 maan - - * Makefile.in: add -Wstrict-prototypes - -2005-08-08 01:46 maan - - * afs.c, audiod.c, command.c, dbadm.c, fade.c, gui.c, mysql.c, - net.c, ogg.c, string.c: fix some potential uses of uninitialized - vars. Nothing serious I think - -2005-08-08 01:38 maan - - * Makefile.in: make gcc a bit more anal: turn on warnings for - uninitialized vars - -2005-08-07 23:39 maan - - * NEWS: [no log message] - -2005-08-07 23:34 maan - - * sdl_gui.c, sdl_gui.ggo: new options: stat_cmd, pic_cmd, adapt to - new syntax of para_open_audiod_pipe(), use para_exec instead of - popen, add typestrings to options - -2005-08-07 23:32 maan - - * gui.c, gui.ggo, para.h: new option: stat_cmd, adapt to new syntax - of para_open_audiod_pipe() - -2005-08-07 23:30 maan - - * gui_common.c: let it take the command as an argument, use - para_exec instead of popen - -2005-08-07 23:29 maan - - * audioc.ggo: oops, this option belongs to audiod - -2005-08-07 22:11 maan - - * NEWS, audioc.ggo, audiod.c, audiod.ggo, server.ggo: implement - --user option also for audiod - -2005-08-07 21:50 maan - - * NEWS, daemon.c, para.h, server.c, server.ggo: new option --user - to switch to the given user when invoked as root - -2005-08-07 21:48 maan - - * mysql.c: do not log (null) as the username although it is - perfectly OK to pass a NULL pointer to mysql_real_connect() - -2005-08-07 20:15 maan - - * daemon.c: whitespace cleanup - -2005-08-07 09:02 maan - - * 1.0: [no log message] - -2005-08-07 09:02 maan - - * dopey.c: too dopey to get dopey right: avoid theoretical double - free bug that can only bite when given a invalid dopey_dir - -2005-08-07 07:26 maan - - * crypt.c: add GPL header - -2005-08-07 07:11 maan - - * client.c, command.c: kill old encrypt/decrypt functions that used - fork and exec. Replace it by new functions from crypt.c. This - should be much faster and, more importantly, fully transparent, - i.e. para_client-0.2.0 can still connect to newer versions of - para_server and vice versa, even when using 0.1.x keys. - -2005-08-07 07:10 maan - - * NEWS: [no log message] - -2005-08-07 07:02 maan - - * configure.ac: cleanup, make it check for the libssl lib rather - than for the openssl command line utility - -2005-08-07 07:00 maan - - * Makefile.in: major cleanup, link crypt.o and the ssl libraries to - server and client - -2005-08-07 06:56 maan - - * mp3.c: kill noisy debug message - -2005-08-07 06:56 maan - - * crypt.c, crypt.h: rsa encrypt/decrypt routines - -2005-08-07 06:52 maan - - * scripts/demo-script: make it download paraslash-0.2.0 instead of - paraslash-cvs - -2005-08-06 21:11 maan - - * skencil/overview.sk: replace mp3 by pcm - -2005-08-06 21:01 maan - - * index.html: another typo - -2005-08-06 20:55 maan - - * index.html: provide quick-links at top of page - -2005-08-06 20:20 maan - - * index.html: typo - -2005-08-06 20:06 maan - - * index.html: announce the overview and provide a link to the pdf - file - -2005-08-06 19:55 maan - - * skencil/overview.sk: make it a bit smaller since xpdf does not - show the upper part of the sketch - -2005-08-06 19:31 maan - - * skencil/overview.sk: a skencil file containing a sketch which - illustrates how the pieces of paraslash work together - -2005-08-06 18:58 maan - - * index.html: update live demo to use 0.2.0 - -2005-08-06 18:58 maan - - * Makefile.in, NEWS, configure.ac: change codename, reset version - to cvs - -2005-08-06 18:31 maan - - * versions/: paraslash-0.2.0.tar.bz2, paraslash-0.2.0.tar.bz2.asc: - for the history - -2005-08-06 18:24 maan - - * NEWS, configure.ac: paraslash-0.2.0 - -2005-08-05 21:37 maan - - * Makefile.in: oggdec needs to be linked also against libvorbis on - some systems - -2005-08-03 20:48 maan - - * audiod.c: kill noisy debug message - -2005-08-03 19:59 maan - - * audiod.c: fix self-correcting time display - -2005-08-03 06:18 maan - - * pics/screenshots/loglevel1-2005-03-23.txt, - versions/paraslash-0.0.99.tgz, versions/paraslash-0.0.99.tgz.asc, - versions/paraslash-0.1.0.tgz, versions/paraslash-0.1.0.tgz.asc, - versions/paraslash-0.1.1.tgz, versions/paraslash-0.1.1.tgz.asc, - versions/paraslash-0.1.2.tgz, versions/paraslash-0.1.2.tgz.asc, - versions/paraslash-0.1.3.tgz, versions/paraslash-0.1.3.tgz.asc, - versions/paraslash-0.1.4.tgz, versions/paraslash-0.1.4.tgz.asc, - versions/paraslash-0.1.5.tgz, versions/paraslash-0.1.5.tgz.asc, - versions/paraslash-0.1.6.tgz, versions/paraslash-0.1.6.tgz.asc, - versions/paraslash-0.1.7.tgz, versions/paraslash-0.1.7.tgz.asc: - just for the history - -2005-08-03 06:03 maan - - * mp3.c: make it work again for vbr, whitespace cleanup - -2005-08-02 18:47 maan - - * mp3.c: fix length computation (fixes Loser_Pils problem) - -2005-08-02 18:43 maan - - * para.h: add prototype for tv_divide() - -2005-08-02 18:39 maan - - * recv.c: rename bytes_written to header_status, add a comment - -2005-08-02 05:15 maan - - * command.c: also before calling the command handler, mention - usename when logging with loglevel NOTICE - -2005-08-02 03:25 maan - - * audiod.c, client.c, fade.c, server.c, string.c: activate format - string checks - -2005-08-02 03:25 maan - - * daemon.c: typo - -2005-08-02 03:02 maan - - * server.h: kill AFS_REREAD_DB_INFO. Refreshing the database info - is done from within the mysql commands that change the info. - -2005-08-02 03:00 maan - - * command.c: only send error message to client if the cause of the - error was different from E_SEND - -2005-08-02 02:58 maan - - * audiod.ggo, mp3.c, ogg.c, recv.c, recv.ggo, send.c, send.ggo, - server.ggo, audiod.c: simpler syntax for para_recv and para_send - -2005-08-02 02:54 maan - - * afs.c: increase SW_RESTART_TIME and ANNOUNCE_TIME - -2005-08-02 01:06 maan - - * send.c: simplify stupid control flow in do_io() - -2005-08-01 23:46 maan - - * command.c: com_sc(): optional argument for iteration count - -2005-08-01 22:58 maan - - * recv.c: make ogg work again - -2005-08-01 20:52 maan - - * recv.ggo: nuke outfile option - -2005-08-01 20:51 maan - - * recv.c: always write to stdout - -2005-08-01 20:39 maan - - * NEWS: whitespace cleanup - -2005-08-01 19:42 maan - - * send.c: read a full initial chunk, not just the header length and - send it out to ortp in little small pieces. - -2005-08-01 19:41 maan - - * recv.c: fix return value, better timing - -2005-08-01 19:37 maan - - * afs.c, command.c, mp3.c, server.h, ogg.c: introduce time barriers - for start streaming/exec the stream writer, new status flag W - (stream writer running). Make ogg work with really nasty vbr - files - -2005-08-01 19:32 maan - - * index.html: announce live stream, anonymous cvs access and - nightly snapshots - -2005-08-01 19:15 maan - - * scripts/demo-script: script to download and install a demo-client - to retrieve the stream from www.paraslash.org - -2005-08-01 04:25 maan - - * time.c: whitespace cleanup - -2005-08-01 04:24 maan - - * time.c: Use const where aprropriate in tv_diff(), really - -2005-08-01 03:34 maan - - * para.h, time.c: new function ms2tv, convert milliseconds to - struct timeval. Use const where aprropriate in tv_diff() - -2005-07-30 05:34 maan - - * mysql.c: cosmetics - -2005-07-30 05:26 maan - - * gui.ggo: nuke obsolete stream-related command line options that - have been gone long ago - -2005-07-30 05:26 maan - - * gui.c: replace help text as ':' is not mapped by default - -2005-07-30 05:16 maan - - * client.c, client.ggo: new option: user - -2005-07-29 01:54 maan - - * sdl_gui.c, afs.c: whitespace cleanup - -2005-07-29 01:51 maan - - * command.c: whitespace cleanup - -2005-07-29 01:44 maan - - * mysql.c: whitespace cleanup - -2005-07-29 01:37 maan - - * audiod.c, gui.c: whitespace cleanup - -2005-07-29 01:33 maan - - * server.c: whitespace cleanup - -2005-07-29 01:31 maan - - * audiod.c: the test diff < max_diff was broken. Also, fix empty - line in stat output - -2005-07-29 01:29 maan - - * para.h, time.c: make tv_convex_combination() accept also negative - coefficients - -2005-07-27 21:42 maan - - * mp3.c: still one more unused variable - -2005-07-27 21:35 maan - - * mp3.c: nuke another unused variable - -2005-07-27 21:30 maan - - * mp3.c: simplify write_chunk() - -2005-07-27 21:23 maan - - * mp3.c: nuke two unused variables - -2005-07-27 21:20 maan - - * mp3.c: make it work for bitrates different from 44100, some - trivial cleanups - -2005-07-25 22:37 maan - - * Makefile.in, NEWS: switch from gzip to bzip2 - -2005-07-25 22:08 maan - - * Makefile.in: remove some cruft that is not needed for nomal - compilation, so it's better done from private scripts - -2005-07-25 21:21 maan - - * afs.c: make gcc 2.95 happy - -2005-07-25 20:32 maan - - * command.c: cosmetics - -2005-07-25 19:39 maan - - * PUBLIC_KEY: old public key, but added uid maan@systemlinux.org - and maan@paraslash.org - -2005-07-25 03:32 maan - - * recv.ggo, server.ggo: delete some unused options - -2005-07-25 00:08 maan - - * Makefile.in, afs.c, audioc.c, audiod.c, client.c, client.ggo, - fade.c, fade.ggo, gui.c, gui.ggo, mp3.c, ogg.c, para.h, - sdl_gui.c, sdl_gui.ggo, server.c, server.ggo, slider.c, string.c: - do not rely on environment HOME and LOGNAME. Use getuid() and - entries from /etc/passwd instead - -2005-07-24 21:21 maan - - * recv.c: nuke unused have_header - -2005-07-24 21:19 maan - - * ogg.c: fix pause, nuke initial_chunks - -2005-07-24 21:15 maan - - * exec.c: para_exec: close all unneeded fds - -2005-07-24 21:14 maan - - * command.c: thinko - -2005-07-24 21:14 maan - - * audiod.c: increase max time deviation for fallback to server - stream time to 5 seconds, other smallish cleanups - -2005-07-24 21:11 maan - - * afs.c: introduce announce delay when switching from pause to play - -2005-07-22 06:20 maan - - * audiod.c, send.c: cosmetics - -2005-07-22 04:07 maan - - * audiod.c, client.c, fade.c, gui.c, recv.c, send.c, server.c, - string.c: add __attribute__ format for printf-like functions - (commented out by now) and fix some mismatches - -2005-07-22 03:13 maan - - * audiod.c: loglevel adjustments - -2005-07-22 01:09 maan - - * stat.c: fix removal of stat clients - -2005-07-22 01:08 maan - - * audiod.c: dup stderr of stream writer to /dev/null - -2005-07-21 22:52 maan - - * INSTALL, audiod.c: rename standby to sb, it is much easier to - type - -2005-07-21 22:15 maan - - * audiod.c: cosmetics - -2005-07-21 05:03 maan - - * command.c: fix integer overflow in frame math for large mp3 - files, print new status item current_time in com_stat. - -2005-07-21 05:02 maan - - * mp3.c: fix integer overflow in frame math for large mp3 files - -2005-07-21 01:36 maan - - * audiod.c: use new status item current_time to sync time with - server, so the stream_start status item info can also be used if - server and audiod clock differ - -2005-07-21 01:32 maan - - * para.h, stat.c, time.c: new status item: current_time. New - functions for manipulating struct timeval - -2005-07-18 21:04 maan - - * audiod.c: cosmetics - -2005-07-18 21:04 maan - - * ogg.c: simplify get_chunk_size(), moderate debug logging - -2005-07-17 05:55 maan - - * time.c: tv_diff(): compute a - b instead just returning -1 if a > - b - -2005-07-17 03:04 maan - - * exec.c: remove some unused functions - -2005-07-17 02:43 maan - - * time.c: this change should not make any difference, but it looks - saner this way - -2005-07-17 02:41 maan - - * mp3.c: add an error message if file was not recognized as an mp3 - file - -2005-07-17 02:40 maan - - * exec.c: unused label - -2005-07-17 02:39 maan - - * ogg.c: okay, the previous version did not recognize any ogg - files, valid or not. Fixed. - -2005-07-16 19:18 maan - - * ogg.c: move initialization of ogg stuff to the beginning of the - function. That fixes a segfault for (non-ogg) files, when that - stuff got freed without being initialized - -2005-07-16 18:48 maan - - * recv.c: nuke prebuffer code. Prebuffering should be done in the - player only - -2005-07-16 18:20 maan - - * ogg.c: fix fake errors on eof, rename bytes to loaded_bytes and - make it global - -2005-07-16 17:42 maan - - * audiod.c, send.c: signedness issues - -2005-07-16 17:38 maan - - * afs.c, mp3.c: move log message from mp3.c to afs.c as it is - generic - -2005-07-16 17:33 maan - - * net.c: signedness issues - -2005-07-15 04:27 maan - - * audiod.c, gui_theme.c, para.h, sdl_gui.c, stat.c: replace - SI_DECODER_OUTPUT by SI_PLAY_TIME - -2005-07-15 04:09 maan - - * gui.c: kill debug message - -2005-07-15 04:02 maan - - * audiod.c: kill all decoders if server connection breaks down - -2005-07-15 03:45 maan - - * NEWS: [no log message] - -2005-07-15 03:44 maan - - * para.h, stat.c: typo - -2005-07-15 03:37 maan - - * audiod.c: new function close_stat_pipe() that basically does - everything that com_off previously did. Besides from com_off it - is also called if connection to para_server breaks down - -2005-07-15 02:26 maan - - * audiod.c: use quadratic growth rather than exponential growth for - penalty timings - -2005-07-15 01:46 maan - - * command.c: fix com_ff - -2005-07-15 01:02 maan - - * mp3.c: fix time display after pause - -2005-07-15 00:23 maan - - * mp3.c: fix more potential segfaults (that actually never - triggered, but anyway) - -2005-07-15 00:11 maan - - * mp3.c: fix computation of bitrate and frequency. Nuke - header_is_valid, it does not work for vbr. Fix potential segfault - in header_frequency() - -2005-07-14 23:14 maan - - * audiod.c: simplify closing of stream fds. They are all closed - from one central function now. This fixes a problem when paused: - the write fd was not closed until the timeout was reached. With - this patch it is closed immediately - -2005-07-14 20:06 maan - - * mp3.c: reset header_isvalid and id3_isvalid. Use a valid header - for computing the freq rather than the first header we can find - -2005-07-14 20:04 maan - - * audiod.ggo: we do not read the HOSTNAME ENV anymore - -2005-07-14 20:03 maan - - * para.h: make para_mkstemp public - -2005-07-14 20:02 maan - - * mysql.c: cosmetics - -2005-07-14 19:55 maan - - * mysql.c: do not leak fds on errors - -2005-07-14 19:18 maan - - * mysql.c: cosmetics - -2005-07-14 19:12 maan - - * mysql.c: com_upd: use para_mkstemp() for creating the infile in - /tmp - -2005-07-14 19:11 maan - - * string.c: new function para_mkstemp() - -2005-07-14 18:30 maan - - * string.c: add a comment for usage of para_tmpname() - -2005-07-14 18:21 maan - - * afs.c: do not fall back to /tmp if $HOME is unset for security - reasons. Just bail out - -2005-07-14 17:59 maan - - * net.c: delete some old code that was commented out anyway - -2005-07-14 17:55 maan - - * server.ggo: add documentation for command line macros to -h - output - -2005-07-14 17:35 maan - - * audioc.c: use para_hostname instead of getenv() - -2005-07-14 17:06 maan - - * mp3dec.c: fix decoding of mono mp3s - -2005-07-14 06:43 maan - - * command.c: increase event counter _after_ command has finished - -2005-07-14 06:13 maan - - * mp3.c: write info string only at begin of file rather than on - each frame. This made an old bug show up: The header frequency - display was always wrong for the first time that info was sent by - com_stat. - -2005-07-14 05:21 maan - - * mp3.c: fix computation of average bitrate for vbr mp3s - -2005-07-14 04:21 maan - - * mysql.c: use para_tmpname instead of just the pid - -2005-07-13 19:45 maan - - * afs.c: missing __func__, incorrect comment - -2005-07-13 09:21 maan - - * audiod.c, gui_common.c, para.h: move open_stat_pipe from - gui_common.c to audiod.c and change it to use para_exec() instead - of obsolete popen_read_client_cmdline(). Nuke s->err_fd. New - functions check_reader() and check_writer(). They return whether - we should include the corresponding fd in the fd set for - select(). - -2005-07-13 09:17 maan - - * audioc.c: wrong indent - -2005-07-13 09:15 maan - - * exec.c: remove an obsolete function - -2005-07-12 18:27 maan - - * mp3dec.c: write wav header, switch to little endian - -2005-07-12 17:49 maan - - * mp3dec.c: simplify read_chunk() - -2005-07-09 19:43 maan - - * audiod.c: dec_out is no longer a good name - -2005-07-09 19:41 maan - - * audiod.c: nuke decoder_output code - -2005-07-09 19:36 maan - - * ogg.c: double initial chunks for mono - -2005-07-09 18:19 maan - - * send.c: fix serious(?) off-by-one in header save_ov_headers() - -2005-07-09 18:17 maan - - * ogg.c: simplify mainloop, introduce initial_chunks, number of - chunks that are sent immediately - -2005-07-09 18:13 maan - - * audiod.c: fix time display if paused. Clear stat items when - stopped, dump audiod status in mainloop - -2005-07-09 18:13 maan - - * para.h, stat.c: new function: dump_empty_status. To be called - when current status is known to be invalid - -2005-07-09 18:09 maan - - * afs.c: introduce extra delay to announce the stream - -2005-07-09 01:26 maan - - * afs.c, audiod.c, command.c, mp3.c, ogg.c, para.h, server.h, - stat.c: introduce mmd->stream_start as a fallback time source for - audiod when it starts its decoder in the middle of a audio file - -2005-07-08 04:11 maan - - * net.c: use uname() to get the hostname instead of - getenv("HOSTNAME") - -2005-07-08 03:46 maan - - * afs.c: use para_hostname() instead of getenv() - -2005-07-08 03:31 maan - - * ogg.c: comment out noisy debug messages - -2005-07-08 03:29 maan - - * ogg.c: use para_hostname() instead of getenv() - -2005-07-08 03:23 maan - - * audiod.c: use para_hostname() instead of getenv() - -2005-07-08 03:12 maan - - * oggdec.c: nuke time display as time is now computed by audiod - -2005-07-08 03:10 maan - - * mp3dec.c: nuke print_status() as time is now computed by audiod - -2005-07-08 03:06 maan - - * audiod.c: use para_malloc instead of malloc - -2005-07-08 02:38 maan - - * stat.c: fix memory leak - -2005-07-08 01:53 maan - - * audiod.c: use para_hostname instead of getenv - -2005-07-08 01:41 maan - - * gui.c: use make_message instead of sprintf - -2005-07-07 03:38 maan - - * afs.c, mp3.c, ogg.c, server.h: change handling of repositioning - the stream. The corresponding timing is now done from within the - audio format handler - -2005-07-07 03:31 maan - - * net.c: cosmetics - -2005-07-07 03:27 maan - - * command.c: do not mess around with offset in command.c The offset - is better computed from the audio format handler - -2005-07-07 03:24 maan - - * audioc.c: check config file - -2005-07-07 03:18 maan - - * audiod.c: record start time of both reader and writer. Start - reader again even if writer exists - -2005-07-07 03:17 maan - - * NEWS: [no log message] - -2005-07-07 03:16 maan - - * Makefile.in: clean: remove also manual.txt - -2005-07-03 22:50 maan - - * audiod.c: keep track of number of stat clients and refuse to - accept more stat connections if limit is reached - -2005-07-03 22:18 maan - - * para.h, stat.c: client_add and() dump_stat_line() now return the - number of connected clients. - -2005-07-03 22:17 maan - - * net.c: return positive value on success. Let's hope that this - does not break anything.. - -2005-07-03 22:11 maan - - * audiod.c: trivial cleanup, loglevel adjustments - -2005-07-03 20:51 maan - - * audiod.c: close fd if ring_buffer_dump failed - -2005-07-03 20:33 maan - - * audiod.c: oops. In handle_connect(), close fd only for invalid - commands as it is closed by each command handler if neccessary. - -2005-07-03 19:02 maan - - * audiod.c: serious(?) typo. Nuke unused function - -2005-07-03 18:48 maan - - * audiod.c: fix memory leak - -2005-07-03 18:41 maan - - * audiod.c: rewrite audiod_status_string() to use the decoder that - was last started for time display rather than current_decoder - which is sent by server and might contain the new docoder while - the old one is still running. Send status string only if it has - changed - -2005-07-01 17:18 maan - - * mp3.c: print average bitrate for vbr files, additional log - message at eof, more precise timing - -2005-07-01 17:14 maan - - * para.h, time.c: new function: tv_scale() - -2005-06-27 18:57 maan - - * command.c: fix com_ff() - -2005-06-26 17:42 maan - - * afs.c, mp3.c, ogg.c, server.h: handle REPOS in mainloop() rather - than in send_chunk(). Fix eof_delay for jump and next - -2005-06-22 00:29 maan - - * command.c: serious bug: only install dummy SIGUSR1 signal handler - for com_stat(). This caused com_upd (and likely all other mysql - commands) to break if a server event occured during execution - -2005-06-21 23:45 maan - - * mysql.c: do not nuke dirlist if find command did not find - anything - -2005-06-21 16:48 maan - - * README: [no log message] - -2005-06-21 16:29 maan - - * audiod.c: re-init streamio in com_hup() - -2005-06-21 15:36 maan - - * Makefile.in, audiod.c: reactivate and fix penalty timings - -2005-06-21 14:46 maan - - * audiod.c: clear_slot(): Only close stderr if it is a valid fd - -2005-06-20 23:43 maan - - * README.mysql: nuke doku on DIR_LIKE macro. - -2005-06-20 23:39 maan - - * mysql.c: nuke DIR_LIKE macro. Is the only one that requires an - O(n^2) query. - -2005-06-20 23:36 maan - - * INSTALL, NEWS: [no log message] - -2005-06-19 21:55 maan - - * index.html: reduce size of headline, fix some html errors to make - it valid html 4.01 transitional and include corresponding logo. - -2005-06-19 17:18 maan - - * audiod.c: fix com_help(). This time for real. - -2005-06-19 17:11 maan - - * audiod.c: fix com_help() - -2005-06-19 16:02 maan - - * net.c, para.h: new function: para_hostname() - -2005-06-19 16:02 maan - - * mysql.c: ps and ns change current_stream, so they should require - DB_WRITE privileges. Extend get_query() to optionally do a - cheaper O(n) query for a given stream if full pathnames are not - required and use this cheaper query where possible. Moreover, do - not store the full result and truncate afterwards, but use a - mysql limit clause to get only the required number of matches - -2005-06-19 15:57 maan - - * mp3.c: use para_hostname instead of getenc() - -2005-06-19 15:52 maan - - * exec.c: abort if fork fails - -2005-06-19 15:52 maan - - * audiod.c: fix several memory leaks - -2005-06-02 20:30 maan - - * client.c, client.conf.sample, client.ggo, fade.ggo, gui.ggo, - sdl_gui.ggo, server.ggo: replace USER by LOGNAME - -2005-06-02 20:30 maan - - * stat.c: list.h never really existed - -2005-06-02 19:37 maan - - * send.c: do not sleep at all. This is now done from within afs - -2005-06-02 19:36 maan - - * recv.c: make prebuffer time dependent on audio format - -2005-06-02 19:16 maan - - * mp3.c: terminate stream writer on repos. That is the easiest way - to circumwent sound clipping - -2005-06-02 19:15 maan - - * gui_common.c: stat.h was only a (bad) idea.. - -2005-06-02 19:14 maan - - * gui.c: serious typo that caused segfaults for terminals that are - too small for the current theme - -2005-06-02 19:13 maan - - * audiod.c: dump stderr to /dev/null - -2005-06-02 19:13 maan - - * afs.c: extra sleep between song changes. Needs to be redone - properly - -2005-06-02 17:38 maan - - * mysql.c: com_cs changes the database - -2005-06-02 15:45 maan - - * stat.c: comment out noisy debug messages - -2005-05-30 20:06 maan - - * audiod.c, para.h, stat.c: move stat_client related functions to - from audiod.c to stat.c - -2005-05-26 17:30 maan - - * audiod.c, audiod.ggo, net.c: new option: force (unlinks socket) - -2005-05-26 16:59 maan - - * NEWS: [no log message] - -2005-05-26 16:59 maan - - * audiod.ggo: nuke unused option auto_decode - -2005-05-26 07:28 maan - - * net.c: give credit to okir - -2005-05-26 07:12 maan - - * audiod.c, audiod.ggo: add user_alow option - -2005-05-26 06:57 maan - - * audioc.c: do not crash with no args - -2005-05-26 06:57 maan - - * NEWS, README: [no log message] - -2005-05-26 06:27 maan - - * audiod.c, audiod.ggo: rename fifo to socket - -2005-05-26 06:23 maan - - * audioc.c, audioc.ggo: rename fifdor to tmpdir - -2005-05-26 06:05 maan - - * audioc.c, audioc.ggo: replace fifo by socket - -2005-05-26 06:01 maan - - * audioc.c: nuke fifo code - -2005-05-26 05:41 maan - - * audiod.c: remove some old fifo code - -2005-05-26 05:36 maan - - * audiod.c: simplify handle_connect() - -2005-05-26 05:35 maan - - * net.c: zero out the user buffer, not the control buffer - -2005-05-26 05:05 maan - - * audiod.c, net.c: zero-out all buffers, 255 byte is enough - -2005-05-26 04:52 maan - - * Makefile.in, audioc.c, audiod.c, net.c, para.h: switch from - cmd_fifo to unix sockets using SCM_CREDENTIALS - -2005-05-25 19:37 maan - - * slider.c: update to libzmw-0.1.0 - -2005-05-20 19:10 maan - - * command.c: fix com_next and com_nomore that used afs_status_flags - directly - -2005-05-20 18:39 maan - - * mysql.c: fix com_csp - -2005-05-19 23:35 maan - - * slider.c: decrease slider size. That makes sliders work again if - one of them is at 100%. Don't ask why.. - -2005-05-19 20:21 maan - - * gui.c: do not hog cpu if no audiod - -2005-05-19 20:06 maan - - * gui.c, gui_common.c, para.h, sdl_gui.c: rename open_audiod_pipe - to para_open_audiod_pipe - -2005-05-19 19:56 maan - - * audioc.c: unlink fifo just after select indicates that audiod has - opened that fifo - -2005-05-19 19:55 maan - - * command.c: add missing stat items - -2005-05-19 01:53 maan - - * Makefile.in, command.c, gui_common.c, gui_theme.c: remove - volatile from command.c, compute everything in one run instead. - Replace hardcoded status strings by their equivalent in - status_item_list[]. Do not print SI_LENGTH_MIN and SI_LENGTH_SEC - as SI_LENGTH should be enough for everyone. - -2005-05-19 01:50 maan - - * stat.c: contains common code concerning the para_server stat and - para_audiod stat commands. Used by server, gui and sdl_gui - -2005-05-19 00:17 maan - - * README: [no log message] - -2005-05-18 20:27 maan - - * gui.c, gui_common.c, gui_theme.c, para.h, sdl_gui.c: make sdl gui - use para_audioc instead of directly contacting the server. Move - some generic code from gui.c to gui_common.c - -2005-05-18 20:22 maan - - * afs.c: comment out noisy debug messages - -2005-05-18 17:01 maan - - * string.c: s_a_r(): return an empty string if src is NULL - -2005-05-18 16:59 maan - - * ogg.c: fix crash on sighup, use sw_pid = -1 for 'no - stream_writer' - -2005-05-18 16:58 maan - - * mp3.c: use sw_pid = -1 for 'no stream_writer' - -2005-05-18 16:58 maan - - * command.c, server.c: use new_afs_status_flags - -2005-05-18 16:58 maan - - * audiod.c: It is not an error if we can not find a stream writer, - just do nothing in that case - -2005-05-18 16:57 maan - - * afs.c: use sw_pid = -1 for 'no stream_writer', use - new_afs_status_flags - -2005-05-17 17:38 maan - - * slider.c: use something like x - 1/x for the score formula - -2005-05-17 17:38 maan - - * server.ggo: use something like x - 1/x for the default score - -2005-05-17 17:37 maan - - * recv.c: do not prebuffer so much - -2005-05-17 17:37 maan - - * server.c: use new_afs_status_flags - -2005-05-17 17:34 maan - - * send.c: fix brown paper bug that caused the beginning of an ogg - file to be corrupted, sleep _after_ shutting down ortp - -2005-05-17 17:32 maan - - * server.h: new: mmd->new_status_flags, make afs_open_fifo take an - array of fds (APUE trick) - -2005-05-17 17:31 maan - - * string.c: s_a_r does not modify any of its args, dup the string - if no match was found - -2005-05-17 17:19 maan - - * para.h: s_a_r does not modify any of its args - -2005-05-17 17:18 maan - - * ogg.c: fix start of playing, use Close also the new fifo, start - para_send on demand - -2005-05-17 17:16 maan - - * mp3.c: cosmetics, compute af_open_cmd on demand instead of only - once. Fixes segfault on sighup. Close also the new fifo from the - APUE trick - -2005-05-17 17:07 maan - - * krell.c: fetch exit status of para_stat - -2005-05-17 17:03 maan - - * index.html: [no log message] - -2005-05-17 17:03 maan - - * exec.c: remove some unused code - -2005-05-17 17:03 maan - - * command.c: com_next(): do not set afs_status_flags directly, - rather use the new mmd->new_afs_status_flags in order to prevent - audiod to start the (possibly wrong) decoder too early - -2005-05-17 17:01 maan - - * audiod.c: fix percentage display, move kill_xxx functions to top, - kill reader if writer dies unexpected. Assume that valid fds are - > 0 - -2005-05-17 16:56 maan - - * afs.c: introduce afl[i].show_offset, open stream write fifo also - for reading, prevent hard locks on invalid stream_write command - -2005-05-17 16:39 maan - - * NEWS: [no log message] - -2005-05-12 20:58 maan - - * audiod.c: fix sound artefacts while jumping - -2005-05-11 23:16 maan - - * audiod.c: use para_exec instead of popen_read_cmdline_pid(), - switch from FILE *s->write to int s->write_fd - -2005-05-11 23:15 maan - - * exec.c: typo that caused duping to /dev/null to break - -2005-05-11 22:21 maan - - * audiod.c: use para_exec instead of popen_read_cmdline_pid(), - switch from FILE *s->read to int s->read_fd - -2005-05-11 22:02 maan - - * audiod.c: cosmetics - -2005-05-11 21:40 maan - - * gui_theme.c: include audiod status also in simple theme - -2005-05-11 21:40 maan - - * audiod.c: use new syntax for para_exec - -2005-05-11 21:38 maan - - * INSTALL: [no log message] - -2005-05-11 21:19 maan - - * exec.c: triple choice for para_exec: dup fd, dup fd to /dev/null, - or leave fd alone - -2005-05-11 07:25 maan - - * mp3dec.c: reduce buffer size and hence latency - -2005-05-11 07:24 maan - - * mp3.c: use correct value for computing the length of the song, - now that is has become important... - -2005-05-11 07:23 maan - - * gui_theme.c: dont print length of audio file twice - -2005-05-11 06:48 maan - - * NEWS: [no log message] - -2005-05-11 05:28 maan - - * krell.c: fix crash on server exit - -2005-05-11 04:52 maan - - * audiod.c: clear slots and compute decoder flags based on - existence of the corresponding process rather than on whether we - have closed the pipe - -2005-05-11 04:32 maan - - * audiod.c: typos - -2005-05-11 04:06 maan - - * mp3.c: okay, the improved time magic wasnt better at all.. - -2005-05-11 03:56 maan - - * audiod.ggo: better explanation of stream_read_cmd - -2005-05-11 03:38 maan - - * exec.c: para_exec_cmdline_pid(): use a temporary copy of the - given command line for split_args - -2005-05-11 03:37 maan - - * client.c: oops, missing check for write errors - -2005-05-11 03:19 maan - - * audiod.c, command.c, server.c, server.h: major change: server - sends full status info whenever a event occurs. audiod: Fix time - display for most cases. Clients connect only once to get status - info, manage a list of stat-clients and send info to each of them - whenever we read a line from para_server. Improve starting of - decoders: Restart reader as soon as old reader dies, but defer - starting of writer to the moment we read the first data - -2005-05-11 03:07 maan - - * afs.c: introduce .show_offset flag. On for mp3, off for ogg. - -2005-05-11 03:05 maan - - * mp3dec.c: fix last-chunk-wasnt-played bug - -2005-05-11 03:03 maan - - * ogg.c: typo - -2005-05-11 03:03 maan - - * gui_theme.c: reserve more space for time display - -2005-05-11 03:02 maan - - * mp3.c: better time magic - -2005-05-11 03:01 maan - - * gui_common.c, para.h: SI_LENGTH is there for ages - -2005-05-11 03:00 maan - - * gui.c: dont do things twice. Use popen(audioc) instead to get the - status. - -2005-05-11 02:57 maan - - * string.c: para_strcat(): it's okay to append to a NULL pointer - -2005-05-11 02:50 maan - - * audioc.c: nuke SIGALARM crap, check for write errors. Check for - timeout once and use blocking reads afterwards. - -2005-05-11 02:47 maan - - * README: [no log message] - -2005-05-08 18:31 maan - - * mp3.c, ogg.c, recv.c, recv.ggo, send.c, send.ggo, server.ggo: use - different default ports depending on -a option - -2005-05-08 17:59 maan - - * COPYING, README, afs.c, client.c, command.c, configure.ac, - daemon.c, dopey.c, fade.c, gui.c, gui_theme.c, index.html, mp3.c, - mp3dec.c, mysql.c, ogg.c, oggdec.c, para.h, recv.c, sdl_gui.c, - send.c, server.c, server.h, slider.c, string.c: change email - adress - -2005-05-08 17:41 maan - - * FEATURES, INSTALL, NEWS, README: [no log message] - -2005-05-08 17:19 maan - - * server.ggo: document new defaults - -2005-05-08 17:18 maan - - * para.h, string.c: check for NULL pointers in s_a_r() - -2005-05-08 17:17 maan - - * ogg.c: change default from para_ovsend to para_send - -2005-05-08 17:17 maan - - * mp3.c: change default from poc to para_send - -2005-05-08 17:16 maan - - * afs.c: use s_a_r to compute open_cmd - -2005-05-08 16:28 maan - - * Makefile.in, configure.ac, recv.c, send.c: adapt to new names - -2005-05-08 16:16 maan - - * recv.c, recv.ggo: former ovrecv - -2005-05-08 16:16 maan - - * ovrecv.c, ovrecv.ggo: renamed to recv - -2005-05-08 16:09 maan - - * send.c, send.ggo: former ovsend - -2005-05-08 16:08 maan - - * ovsend.c, ovsend.ggo: renamed to send - -2005-05-08 15:59 maan - - * command.c: fix time display - -2005-05-08 15:51 maan - - * Makefile.in, configure.ac: ovsend/ovrec do no longer depend on - libvorbis - -2005-05-08 15:51 maan - - * string.c: use const where appropriate - -2005-05-08 15:50 maan - - * para.h: make s_a_r public - -2005-05-08 15:49 maan - - * ovsend.ggo: specify header length by command line - -2005-05-08 15:49 maan - - * ogg.c, ovsend.c: move code that depends on libvorbis from - ovsend.c to ogg.c - -2005-05-08 15:47 maan - - * mp3.c: remove noisy log message - -2005-05-08 15:46 maan - - * afs.c: cosmetics - -2005-05-08 15:41 maan - - * audiod.c: always check for streamio, not only when playing - -2005-05-08 02:14 maan - - * ovrecv.c, ovsend.c, ovsend.ggo, ovrecv.ggo: implement streaming - of mp3 files, remove all dependencies on libvorbisfile - -2005-05-07 16:28 maan - - * mp3.c: do timing for sending data inside mp3.c rather than - sending data whenever the fd would not block - -2005-05-07 16:26 maan - - * mp3dec.c: implement prebuffering - -2005-05-06 21:42 maan - - * slider.c: cosmetics - -2005-05-06 21:13 maan - - * slider.c: make input text field work again - -2005-05-06 18:11 maan - - * mysql.c: typos, found by testing gcc 4.1.0 - -2005-05-05 23:15 maan - - * audiod.c: remove fifo on com_hup, new option: mode (to be used on - startup) - -2005-05-05 23:15 maan - - * audiod.ggo: oops, forgot to check in - -2005-05-05 20:42 maan - - * mp3dec.c: print output only once per second - -2005-05-05 19:58 maan - - * audiod.c: nuke offset_change crap. Remember number of decoder - that was started last and use that as the current decoder - instead. Still doesn't work properly when jumping. - -2005-05-05 18:45 maan - - * audiod.c: use APUE trick to prevent EOF from being generated when - #clients goes from 1 to 0. Log hostname, abort if cmd fifo - exists, remove cmd_fifo on exit - -2005-05-05 16:43 maan - - * ogg.c: do not flood logs - -2005-05-05 16:42 maan - - * gui_theme.c: cosmetics - -2005-05-05 16:42 maan - - * Makefile.in: manual.txt: add audiod commands. audiod_objs: remove - repeated object file - -2005-05-05 16:41 maan - - * 1.0, NEWS: [no log message] - -2005-05-05 06:13 maan - - * gui.c: use one one (random) fifo for reading audiod stat info - -2005-05-05 04:10 maan - - * slider.c: automatically translated to libzmw 0.0.12 by shipped - script zmw-upgrade.py. Seems to work. - -2005-05-04 19:57 maan - - * server.c: read only once from signal pipe - -2005-05-04 19:11 maan - - * gui.c: fix some memory leaks, simplify print_status_bar() - -2005-05-04 18:23 maan - - * audiod.c: still more memory leaks in dump_ring_buffer() - -2005-05-04 18:15 maan - - * audiod.c: fix more memory leaks - -2005-05-04 17:58 maan - - * command.c: fix severe memory leak in com_stat() - -2005-05-04 17:45 maan - - * index.html: typo - -2005-05-04 17:45 maan - - * gui.ggo: new option: timeout - -2005-05-04 17:44 maan - - * gui.c: detect if audiod is running and print error message if it - is not. Print the keysym for unknown keys. - -2005-05-04 17:39 maan - - * audiod.c: help for com_hup, more log messages - -2005-04-28 22:30 maan - - * gui.c: open also write fifo in read-only mode - -2005-04-28 21:03 maan - - * audioc.c: do not block forever if audiod is not running - -2005-04-28 20:51 maan - - * audiod.c: do not dup stdout when execing decoder - -2005-04-28 20:51 maan - - * exec.c: improve para_exec(): It is now possible to dup only some - of the three std fds - -2005-04-28 20:14 maan - - * para.h: status_item_list update, make more function declarations - public - -2005-04-28 20:14 maan - - * gui_theme.c: set the new varbables on theme init. New functions: - prev_theme() and next_theme() - -2005-04-28 20:12 maan - - * gui_common.c: remove old cruft, status_item_list update - -2005-04-28 20:11 maan - - * command.c: simplify com_stat(), set offset in com_jmp() - -2005-04-28 20:07 maan - - * audiod.c: new commands: help and cycle. Do not call kill() if pid - <=0, check for offset change in stat output - -2005-04-28 20:04 maan - - * audioc.c: use make_message() and new concat_arg() instead of - sprintf - -2005-04-28 20:04 maan - - * gui.c: make many hardcoded constants themable. Don't exec - para_audioc, implement it as a function instead - -2005-04-28 19:57 maan - - * string.c: new function: concat_args - -2005-04-28 19:57 maan - - * server.h: add chunk_offset to mmd - -2005-04-28 19:56 maan - - * gui.ggo: nuke top_lines since it is now set by theme - -2005-04-28 19:55 maan - - * afs.c: reset chunk_offset on song change - -2005-04-28 19:54 maan - - * NEWS: [no log message] - -2005-04-28 19:54 maan - - * Makefile.in: audiod depends on gui_common - -2005-04-26 04:21 maan - - * gui.c: make para_gui themable - -2005-04-26 04:18 maan - - * Makefile.in, gui.c, gui_common.c, para.h: make para_gui themable - -2005-04-26 04:11 maan - - * gui_theme.c: contains color and position information for - displaying stat items - -2005-04-25 18:58 maan - - * gui.c: remove stream I/O code. This is now done by para_audiod - -2005-04-25 18:21 maan - - * FEATURES: [no log message] - -2005-04-25 18:06 maan - - * server.c: remove unused variable, child closes socket after fork - -2005-04-25 18:05 maan - - * audiod.c: why was that commented out? Reactivate - -2005-04-25 18:04 maan - - * audioc.ggo: new option: timeout - -2005-04-25 18:04 maan - - * audioc.c: new option: timeout. catch signals, use positive error - codes and 0 for success - -2005-04-25 17:56 maan - - * NEWS, README: [no log message] - -2005-04-25 17:56 maan - - * Makefile.in: make install: create vardir, stripping is done at - install time, no need to use -s option for gcc - -2005-04-25 17:54 maan - - * INSTALL: major update - -2005-04-25 06:06 maan - - * README: mention the new executables - -2005-04-25 06:03 maan - - * daemon.c, para.h: remove an unused function - -2005-04-25 06:02 maan - - * audiod.c: do not log if daemon and no logfile, ignore - conf.daemon_given on sighup - -2005-04-25 05:55 maan - - * mp3.c: always use default if af->open_cmd is null - -2005-04-25 05:52 maan - - * server.c: remove some dead code - -2005-04-25 05:49 maan - - * server.c: do not log if daemon and no logfile, ignore - conf.daemon_given on sighup, become daemon earlier. That fixes - hangs on startup. - -2005-04-25 02:40 maan - - * Makefile.in: add daemon.o to objs where neccessary. audioc - depends on audioc.cmdlin.o - -2005-04-25 02:38 maan - - * audiod.c: new command: hup, use functions from daemon.c to - daemonize and for logging to specified log file. Die on sigint, - reload conf on sighup - -2005-04-25 02:35 maan - - * para.h, server.h: make functions from daemon.c public - -2005-04-25 02:34 maan - - * server.c: move daemon generic functions to daemon.c - -2005-04-25 02:33 maan - - * daemon.c: contains common stuff between para_server and - para_audiod - -2005-04-25 02:32 maan - - * ovrecv.c, ovsend.c: switch to void instead of static void to - avoid compiler warnings - -2005-04-25 02:31 maan - - * fade.c: switch to logging with to fixed args, like in any other - paraslash executable - -2005-04-25 02:30 maan - - * NEWS: [no log message] - -2005-04-25 02:29 maan - - * audioc.c: add gengetopt command line options - -2005-04-25 02:29 maan - - * audioc.ggo: command line options for the audio client - -2005-04-24 21:27 maan - - * audiod.c: implement audiod commands: stat term on off standby - -2005-04-24 20:25 maan - - * Makefile.in, configure.ac: add para_oggdec - -2005-04-24 20:25 maan - - * oggdec.c: a teensy oggvorbis decoder - -2005-04-24 20:02 maan - - * audioc.c: simple client that opens two fifos to communicatw with - para_audiod. - -2005-04-24 20:01 maan - - * audiod.c: remove underscore to match other stat items - -2005-04-24 20:00 maan - - * para.h, string.c: new function: para_tmpname(). Pseudo random. - -2005-04-24 18:55 maan - - * audiod.c: add decoder flags in ring buffer dump output - -2005-04-24 18:14 maan - - * audiod.c: always check err_fd, close err_fd in any case - -2005-04-24 05:04 maan - - * audiod.c: read also stderr of stream writers - -2005-04-24 05:04 maan - - * exec.c, para.h: add para_exec functions that redirect stdin, - stdout, and stderr - -2005-04-24 02:54 maan - - * NEWS: [no log message] - -2005-04-24 02:53 maan - - * slider.c: add gpl header - -2005-04-24 02:52 maan - - * Makefile.in, configure.ac: add para_mp3dec - -2005-04-24 02:52 maan - - * mp3dec.c: A teensy mp3 decoder - -2005-04-24 02:51 maan - - * CREDITS: add Thierry Excoffier and Robert Leslie - -2005-04-24 02:17 maan - - * server.c: fix brown paper bag bug that caused server to hang on - song change - -2005-04-24 02:16 maan - - * afs.c, exec.c, para.h: move open_fifo from afs.c to exec.c - -2005-04-24 02:15 maan - - * Makefile.in: add para_audiod - -2005-04-24 02:15 maan - - * audiod.c: the audio daemon - -2005-04-21 17:39 maan - - * exec.c, para.h: make some functions static - -2005-04-21 17:33 maan - - * para.h: remove unused defines - -2005-04-21 17:33 maan - - * Makefile.in, NEWS, configure.ac: change version, codename - -2005-04-18 20:30 maan - - * NEWS, configure.ac: paraslash 0.1.7 - -2005-04-18 20:08 maan - - * slider.c: give -1000 points if file was just played - -2005-04-18 00:37 maan - - * mysql.c: com_cam(): fix stupid cut and paste bug - -2005-04-18 00:08 maan - - * Makefile.in: para_ovrecv depends on string.o - -2005-04-18 00:07 maan - - * gui.ggo: re-increase default stream_timeout to 10 secs because 5 - secs is not enough for 22kh mono - -2005-04-18 00:06 maan - - * ovrecv.c, ovrecv.ggo: introduce prebuffering - -2005-04-18 00:04 maan - - * ogg.c: nuke grace_time() - -2005-04-17 21:30 maan - - * NEWS: [no log message] - -2005-04-17 21:27 maan - - * gui.c, gui.ggo: new command line option: --stream_timeout - -2005-04-17 21:16 maan - - * para.h, time.c: use const where apropriate, round tv_usec - -2005-04-17 21:15 maan - - * mp3.c: cosmetics - -2005-04-17 21:12 maan - - * NEWS, README: [no log message] - -2005-04-11 20:06 maan - - * ogg.c: whitespace fixes, improve timings, move time-related stuff - to time.c - -2005-04-11 20:04 maan - - * ovsend.c: whitespace fixes, improve timings, get rid of some - sleep - -2005-04-11 20:02 maan - - * bash_completion: make it work without having sourced - bash_competion - -2005-04-11 20:01 maan - - * afs.c: move tv2ms() from to time.c, do not sleep in - call_all_mainloops() - -2005-04-11 20:00 maan - - * Makefile.in: server, ovsend, ovrecv depend on time.c/time.o - -2005-04-11 19:59 maan - - * time.c: contains time-related functions: tv_add(), tv_diff()... - -2005-04-11 19:58 maan - - * ovsend.ggo: set default header interval to 3 seconds - -2005-04-11 19:57 maan - - * para.h, server.h: mv time-related declarations to para.h - -2005-04-10 14:55 maan - - * ogg.c: fix pause - -2005-04-10 00:07 maan - - * afs.c: cosmetics - -2005-04-09 23:27 maan - - * afs.c, mp3.c, ogg.c: Fix nasty double free bug: If - get_file_info() from the first audio format (mp3) failed, it - closed the corresponding fd, so get_file_info() for the second - audio format (ogg) got passed an already closed fd. Even worse, - get_file_info() closed that fd again. Nasty thing here is that - neither ov_open() nor the second fclose() segfaulted but - corrupted memory in some way which caused subsequent mysql - queries to crash. - - The fix is easy: Do not close the fd at the audio format layer - (ogg, mp3), but at the higher afs layer, and of course only if - _all_ get_file_info()'s failed. - -2005-04-09 23:11 maan - - * NEWS: [no log message] - -2005-03-30 22:17 maan - - * slider.c: two new sliders: lastplayed and numplayed - -2005-03-28 23:40 maan - - * krell.c: comment out unneeded destroy_song_change() - -2005-03-28 23:26 maan - - * server.c: avoid openssl zombies, make old gcc happy - -2005-03-28 23:26 maan - - * command.c: avoid openssl zombies - -2005-03-28 22:28 maan - - * krell.c: fix memory leak - -2005-03-28 21:42 maan - - * mp3.c: make 2.95.4 happy - -2005-03-27 20:51 maan - - * ogg.c: rewrite ogg_mainloop() in the style of mp3_mainloop() - -2005-03-27 20:50 maan - - * mp3.c: only start stream writer when we have a valid file and - current audio format is mp3 - -2005-03-27 20:49 maan - - * afs.c: simplify afs_mainloop(), init afl[i].fifo - -2005-03-26 18:22 maan - - * mp3.c: move check for AFS_NEXT from send_chunk to mainloop - -2005-03-26 17:31 maan - - * mp3.c: reorder functions - -2005-03-26 17:23 maan - - * README.mysql: typo - -2005-03-26 17:22 maan - - * mp3.c: fix playing when switching from ogg to mp3 - -2005-03-25 02:03 maan - - * exec.c: fixup totally borked exec_vp_pid_bg() - -2005-03-25 01:47 maan - - * server.h: add prototypes for afs_handle_sigchild() and - afs_open_fifo(), add fifoname, fifo to struct audio_format, kill - sw from struct audio_format() - -2005-03-25 01:46 maan - - * server.c: call afs_handle_sigchild for each child that has died - -2005-03-25 01:45 maan - - * ogg.c: switch from global variabless for fifo to af->fifo, - af->fifoname, move open_fifo() to afs.c - -2005-03-25 01:42 maan - - * mp3.c: use fifo rather than stdin, handle repos request from - within mp3_mainloop() rather than in mp3_send_chunk() - -2005-03-25 01:36 maan - - * afs.c: new function handle_sigchild() which resets af->sw_pid, - move open_fifo from ogg.c to afs.c since it is generic for all - audio formats now - -2005-03-25 01:31 maan - - * NEWS: [no log message] - -2005-03-25 01:31 maan - - * CREDITS: add Simon Morlat - -2005-03-23 22:31 maan - - * ogg.c: do not compute timestamps if current audio format is not - ogg. Move open_fifo() up, some small other cleanups - -2005-03-23 22:28 maan - - * server.c: nicer startup message - -2005-03-23 22:28 maan - - * mp3.c: remove pointless logging - -2005-03-23 22:27 maan - - * command.c: typo - -2005-03-23 22:27 maan - - * afs.c: use 1 as first argument of afl[i].mainloop() iff i is - current audio format - -2005-03-23 22:25 maan - - * README: mention para_ovsend/para_ovrecv - -2005-03-23 18:12 maan - - * afs.c, ogg.c: create fifo if not present, detect if fifofile - exists but is no fifo, better handling of fifo errors from - ogg_mainloop(), loglevel adjustments - -2005-03-23 06:05 maan - - * ovrecv.c: new function for handling extra packages, a lot of - cleanups - -2005-03-23 05:49 maan - - * FEATURES, README: describe ovsend/ovrecv - -2005-03-23 03:18 maan - - * ovsend.c: simplify do_io() - -2005-03-23 02:46 maan - - * ovsend.c: whitespace cleanup - -2005-03-23 02:42 maan - - * gui.c, para.h: sys/time.h is needed by ogg.c and server.c, afs.c, - gui.c. Move its inclusion to para.h - -2005-03-23 02:35 maan - - * command.c: fix com_nomore() - -2005-03-23 02:31 maan - - * afs.c: fix com_nomore() - -2005-03-23 01:32 maan - - * server.h: rename afs_preselect(), add two timeval related - functions, change syntax of send_chunk() - -2005-03-23 01:28 maan - - * server.ggo: change default stream writer from pogg-http to - para_ovsend - -2005-03-23 01:27 maan - - * server.c: always call afs_mainloop() (not only when playing) to - obtain a fd and a timeout which is fed to select(). Close all - filedescriptors which are marked FD_CLOEXEC just after forking - which is needed for the ogg code - -2005-03-23 01:22 maan - - * para.h, string.c: add para_fread(), a wrapper for fread() with - sane return values - -2005-03-23 01:21 maan - - * ogg.c: complete rewrite. ogg.c does its own timing for writing - out data chunks rather than writing to a pipe until it's full - like the mp3 code does - -2005-03-23 01:19 maan - - * mp3.c: adapt to new syntax (return always NULL as timestamp), - move para_fread() to string.c, cosmetics - -2005-03-23 01:13 maan - - * configure.ac: check for libortp and libzmw - -2005-03-23 01:11 maan - - * NEWS: [no log message] - -2005-03-23 01:11 maan - - * autogen.sh: clean up before and after updating - -2005-03-23 01:09 maan - - * afs.c: rename afs_preselect() to afs_mainloop(). Call each audio - format's mainloop to obtain a filedescriptor and a timestamp. - Return the data of the current audio format to main - -2005-03-23 01:05 maan - - * Makefile.in: add targets for ovsend and ovrecv - -2005-03-23 01:05 maan - - * ovrecv.c, ovrecv.ggo, ovsend.c, ovsend.ggo: two new executables - for sending/retrieving ogg vorbis files via rtp - -2005-03-22 04:19 maan - - * Makefile.in: do not print silly release date - -2005-03-05 17:12 maan - - * README.mysql: minor cleanup - -2005-03-05 15:38 maan - - * NEWS, configure.ac: paraslash 0.1.6 - -2005-03-05 15:12 maan - - * autogen.sh: also build the package. Redirect messages to - /dev/null - -2005-03-05 15:12 maan - - * Makefile.in, configure.ac: remove pob_ogg - -2005-03-05 15:11 maan - - * pob-ogg.c, pob-ogg.ggo: no longer needed - -2005-03-05 14:50 maan - - * ogg.c: call end_of_input() directly after freeing ogg_buf. - Introduce sleep(1) for now. - -2005-03-02 01:29 maan - - * command.c: com_stat(): fix status bar - -2005-02-28 14:58 maan - - * NEWS: [no log message] - -2005-02-28 00:58 maan - - * mp3.c: close mp3 file on exit - -2005-02-28 00:16 maan - - * gui.c: typo - -2005-02-27 23:49 maan - - * server.ggo: cosmetics - -2005-02-27 23:18 maan - - * server.c: cosmetics - -2005-02-27 23:18 maan - - * NEWS: [no log message] - -2005-02-27 23:06 maan - - * gui.c: make reload_Config() also reread stream_read_cmd and - stream_write_cmd - -2005-02-27 22:55 maan - - * gui.c: delay start of decoder rather than going to sleep if - penalty > 0 - -2005-02-27 20:12 maan - - * ogg.c: localize use of var page - -2005-02-27 19:46 maan - - * string.c: add a comment - -2005-02-27 19:32 maan - - * afs.c: trivial cleanups - -2005-02-27 19:27 maan - - * afs.c: simplify afs_preselect() - -2005-02-27 19:14 maan - - * afs.c, mp3.c, ogg.c, server.h: handle afs flags NEXT and REPOS - inside send chunk - -2005-02-27 13:59 maan - - * ogg.c: nuke unneeded clear_page() - -2005-02-27 13:34 maan - - * ogg.c: ogg_close_audio_file() is only called from - ogg_end_of_input(). Move it there and nuke - ogg_close_audio_file(). - -2005-02-27 13:30 maan - - * ogg.c: submit_headers_to_stream() does not need an argument. - -2005-02-27 04:55 maan - - * ogg.c: whitespace cleanup - -2005-02-27 04:53 maan - - * ogg.c: move OggVorbis_File into struct para_ogg_state - -2005-02-27 04:46 maan - - * ogg.c: rename vcut_state to para_ogg_state - -2005-02-27 04:41 maan - - * ogg.c: process_headers() does not need an argument. - -2005-02-27 04:34 maan - - * ogg.c: get_page() does not need an argument. - -2005-02-27 04:29 maan - - * ogg.c: nuke var vcutstate since vcutstate==s always. - -2005-02-27 04:15 maan - - * ogg.c: vcut_new() is only called from ogg_init(). Move it there - and nuke vcut_new(). - -2005-02-27 03:47 maan - - * ogg.c: headers_to_buf() is only called from - init_oggvorbis_file(). Move it there and nuke headers_to_buf(). - -2005-02-27 03:34 maan - - * ogg.c: get rid of sent_headers variable - -2005-02-25 21:36 maan - - * ogg.c: do not kill stream writer, wait for it to die instead. - -2005-02-25 21:16 maan - - * mysql.c: use load data infile rather than load data local infile. - Change tmpdir to /tmp and umask of tmpfile to 022 in order to - make it readable by mysqld. - -2005-02-23 06:37 maan - - * ogg.c: nuke brain dead have_page logic - -2005-02-23 06:22 maan - - * ogg.c: reset offset and packet_no on end of input. Fixes para - next - -2005-02-23 05:33 maan - - * ogg.c: fix jumping - -2005-02-23 05:14 maan - - * ogg.c: remove some unused stuff - -2005-02-23 05:12 maan - - * ogg.c: remove old read_chunk/write_chunk pair - -2005-02-23 05:10 maan - - * ogg.c: switch to send_chunk, major code reorganization (old code - still there to be removed soon). - -2005-02-23 05:08 maan - - * afs.c, mp3.c, server.h: switch to send_chunk, rather than the - combination of read_chunk/write_chunk - -2005-02-22 23:49 maan - - * ogg.c: do not request new page if offset_granulepos is invalid, - fix type of offset_granulepos, more logging - -2005-02-22 23:13 maan - - * server.h: fix refreshing of stream_write command on sighup - -2005-02-22 17:45 maan - - * krell.c: fix compiler warning - -2005-02-22 17:44 maan - - * gui.c: use reasonable defaults, increase MAX_STREAM_SLOTS to 10, - adapt penalty timing, init slots on startup - -2005-02-22 16:13 maan - - * Makefile.in: make clean: remove para_slider - -2005-02-22 15:51 maan - - * pics/screenshots/: para_krell-2005-02.png, - para_slider-2004-12.png: two more screenshots - -2005-02-22 14:47 maan - - * afs.c, server.c: stop playing on read/write errors, fix - refreshing of stream_write command on sighup - -2005-02-22 00:10 maan - - * afs.c, server.c, server.h: send_chunk() knows the stream writer - fd, no need to pass it as an argument - -2005-02-21 20:06 maan - - * gui.c: cosmetics - -2005-02-21 00:32 maan - - * gui.c: whitespace cleanups - -2005-02-21 00:30 maan - - * gui.c: replace num by slot - -2005-02-21 00:19 maan - - * gui.c: logging improvements - -2005-02-20 23:30 maan - - * gui.c: more checks for active curses - -2005-02-20 22:42 maan - - * gui.c: various cleanups, fix siol vs afi mix up - -2005-02-13 22:28 maan - - * fade.c: more logging - -2005-02-13 22:27 maan - - * Makefile.in: gui depends on string.o - -2005-02-13 22:26 maan - - * COPYING: 2004->2005 - -2005-02-01 22:16 maan - - * ogg.c: delete unnecessary packet_clear() - -2005-01-27 01:59 maan - - * ogg.c: do header stuff during file init rather than on first - read, fix serious memory leak - -2005-01-25 20:20 maan - - * ogg.c: function reordering - -2005-01-24 22:57 maan - - * ogg.c: whitespace cleanup - -2005-01-24 22:53 maan - - * ogg.c: nuke another unused variable - -2005-01-24 22:47 maan - - * ogg.c: use update_sync() rather that using fread() directly - -2005-01-24 22:31 maan - - * ogg.c: move out_state to vcutstate, destroy streams and sync_in, - more debug messages - -2005-01-24 18:58 maan - - * ogg.c: nuke unneeded variables - -2005-01-23 20:45 maan - - * ogg.c: simplify process_headers() - -2005-01-23 20:28 maan - - * ogg.c: use para_malloc(), simplify vcut_new(), more debugging - messages - -2005-01-14 14:32 maan - - * gui.c: some small cleanups - -2005-01-09 23:31 maan - - * gui.c: major stream I/O reearrangements (slots) - -2005-01-09 23:29 maan - - * mysql.c: com_pidel(): reset pic_id to 1 for all files having the - picid that is going to be deleted - -2005-01-09 17:01 maan - - * ogg.c: fix it again by reverting the changes made in revision - 1.39. They caused most ogg files to be skipped.. - -2005-01-08 13:09 maan - - * ogg.c: reset packetno only once - -2005-01-07 20:17 maan - - * ogg.c: fix some memory leaks - -2005-01-03 20:29 maan - - * server.c: always log startup message - -2005-01-02 20:42 maan - - * afs.c, client.c, command.c, dopey.c, fade.c, gui.c, krell.c, - mp3.c, mysql.c, ogg.c, para.h, pob-ogg.c, sdl_gui.c, server.c, - server.h, string.c: change year to 2005 - -2005-01-02 18:47 maan - - * command.c: fix another memory leak in get_sb_string(). Again - serious for the same reason. - -2005-01-02 18:34 maan - - * afs.c, mysql.c: cosmetics - -2005-01-02 18:34 maan - - * command.c: fix memory leak in compute_status_volatile(). Serious - because it is called by com_stat(). - -2005-01-01 21:49 maan - - * mysql.c: fix com_picadd() - -2005-01-01 16:56 maan - - * mysql.c, server.ggo: rename default database name from music to - paraslash - -2004-12-31 23:18 maan - - * mysql.c: fix three small memory leaks - -2004-12-31 23:17 maan - - * string.c: fix serious memory leak - -2004-12-31 20:04 maan - - * mysql.c: fix memory leak in get_dbinfo() - -2004-12-31 18:55 maan - - * NEWS, configure.ac: paraslash 0.1.5 - -2004-12-31 18:44 maan - - * configure.ac: do not check for glib. It is only needed for - para_slider - -2004-12-31 18:43 maan - - * README.mysql, mysql.c: rename command create_db back to cdb - -2004-12-31 18:17 maan - - * pob-ogg.c: remove some suerflous variabbles - -2004-12-31 18:08 maan - - * FEATURES, gui.c, mysql.c: cosmetics - -2004-12-27 01:33 maan - - * gui.c, net.c: cosmetics - -2004-12-27 01:01 maan - - * gui.c: reap children as early as possible. Avoid double killing - children. - -2004-12-27 00:08 maan - - * NEWS: [no log message] - -2004-12-27 00:08 maan - - * server.c, slider.c: cosmetics - -2004-12-26 23:53 maan - - * command.c, server.c, server.h: Reload dbtool on SIGHUP. Move - restoring of signals to handle_connect() in command.c. Make - handle_connect() return int - -2004-12-26 23:06 maan - - * NEWS: [no log message] - -2004-12-26 22:51 maan - - * gui.c: use signal handling from signal.c. Should be race-free - now. Reduce select timeout to 200ms as that feels much better and - does not hurt. - -2004-12-26 22:46 maan - - * para.h: simplified install sighandler function, new: - reap_child(), reap_children() - -2004-12-26 22:45 maan - - * signal.c: new: reap_child(), reap_children() that replace - handle_sigchild() - -2004-12-26 22:43 maan - - * server.c: always use the generic signal handler. That allows to - simplify install_sighandler() and to get rid of internal - handlers. Also: restore signals to default values right after - fork(). - -2004-12-26 20:06 maan - - * para.h: add signal function declarations - -2004-12-26 20:06 maan - - * Makefile.in: link signal.o to server and gui - -2004-12-26 20:05 maan - - * server.c: move signal-related functions to own file (signal.c) - -2004-12-26 20:04 maan - - * signal.c: contains signal handling functions pulled out from - server.c - -2004-12-24 19:57 maan - - * README, README.mysql, index.html, slider.c: [no log message] - -2004-12-24 19:11 maan - - * NEWS, README: [no log message] - -2004-12-24 18:23 maan - - * README: [no log message] - -2004-12-24 18:19 maan - - * NEWS, README: [no log message] - -2004-12-24 18:13 maan - - * krell.c: replace some commands by others - -2004-12-24 18:11 maan - - * configure.ac: add detection of glib and libzmw. Commented out for - now. - -2004-12-24 18:10 maan - - * autogen.sh: run configure with given command line options - -2004-12-24 18:09 maan - - * README: add slider doku - -2004-12-24 18:08 maan - - * NEWS: [no log message] - -2004-12-24 18:08 maan - - * Makefile.in: Add target para_slider. Not built automatically. - Change Codename. - -2004-12-24 18:07 maan - - * FEATURES: only short descriptions here. Detailed info goes to - README. Add slider. - -2004-12-22 14:47 maan - - * mysql.c: better online help for com_sl() - -2004-12-22 14:46 maan - - * command.c: use proper err_list on permission errors - -2004-12-22 14:45 maan - - * 1.0, INSTALL: [no log message] - -2004-12-20 19:15 maan - - * net.c: use default loglevel info for network errors. Some of them - are perfectly ok, so they should not pollute the log. - -2004-12-20 19:12 maan - - * README: typo - -2004-12-19 18:07 maan - - * README.mysql: [no log message] - -2004-12-19 17:38 maan - - * configure.ac: paraslash 0.1.4 - -2004-12-19 17:37 maan - - * NEWS: [no log message] - -2004-12-19 17:20 maan - - * server.c: typo - -2004-12-19 17:14 maan - - * server.c: On dbtool change, always shutdown and re-init, even if - old == new - -2004-12-19 17:12 maan - - * mysql.c: return always success on init to give the user the - chance to create the database - -2004-12-19 17:10 maan - - * README.mysql: [no log message] - -2004-12-19 16:58 maan - - * README.mysql: [no log message] - -2004-12-19 07:31 maan - - * mysql.c: print_results(): abort if send_buffer fails - -2004-12-19 06:54 maan - - * krell.c, server.c: cosmetics - -2004-12-19 06:03 maan - - * command.c: cosmetics - -2004-12-19 05:49 maan - - * command.c: report error text also on errors during initial - handshake - -2004-12-19 04:50 maan - - * command.c, server.h: make some functions static - -2004-12-19 04:49 maan - - * command.c, server.c, server.h: move handle_connect from server.c - to command.c - -2004-12-19 04:42 maan - - * client.c: terminate buffer - -2004-12-19 04:30 maan - - * client.c: do not try do decrypt server response if it has length - not equal to 64. Regard response as error message in that case - and report it instead. - -2004-12-19 04:30 maan - - * server.c: only send error text if we have a valid err_list - -2004-12-18 15:35 maan - - * NEWS: [no log message] - -2004-12-17 22:55 maan - - * command.c: report proper error messages also for internal - commands - -2004-12-17 22:33 maan - - * command.c, mysql.c, pob-ogg.c, server.c, server.h: introduce - err_list, a list of error messages. Report error message - corresponding to return value of command handler to client if - this value is negative - -2004-12-17 22:29 maan - - * gui.c: write chunk if buffer contains data even if reader has - died - -2004-12-17 22:28 maan - - * NEWS: [no log message] - -2004-12-17 14:51 maan - - * ogg.c: nuke unused dummy variable - -2004-12-17 14:06 maan - - * NEWS: [no log message] - -2004-12-17 13:21 maan - - * mysql.c: make stradd/picadd overwrite previous definition if it - exists, rather than returning errors - -2004-12-16 02:26 maan - - * ogg.c: further simplify read_chunk(): nuke first_page logic - -2004-12-15 22:45 maan - - * gui.c: oops, forgot to remove the if-statement - -2004-12-15 22:30 maan - - * gui.c: remove unneeded variable stream_buf_bytes - -2004-12-15 20:32 maan - - * ogg.c: always use ogg_stream_flush() which simplifies page_out() - -2004-12-15 20:14 maan - - * ogg.c: further simplify read_chunk(), kill have_packet - -2004-12-15 19:40 maan - - * ogg.c, pob-ogg.c, server.c: simplify read_chunk(), avoid frequent - page_out errors - -2004-12-15 16:45 maan - - * gui.c: fix serious typo: stream WRITE command option was used for - READING. - -2004-12-15 03:41 maan - - * ogg.c: trivial cleanups - -2004-12-13 17:05 maan - - * krell.c: reap the children to avoid zombies. Fixes zombie flood - if started with no server running. - -2004-12-13 17:02 maan - - * command.c: report server pid instead of current database tool as - the latter is already contained in output of stat - -2004-12-11 17:04 maan - - * gui.c: reintroduce one second sleep on errors to avoid busy loops - if server is unavailable - -2004-12-11 17:01 maan - - * mysql.c: fix playing in case no stream was selected - -2004-12-11 16:38 maan - - * afs.c: enter stopped mode when only invalid files were found - -2004-12-11 16:06 maan - - * gui.c: simplify SIGINT handling, get rid of sleep(1) - -2004-12-11 15:43 maan - - * gui.c: Hm, signal handling must have changed in recent linux - kernels. Make SIGINT work again. - -2004-12-11 14:01 maan - - * mysql.c: com_hist(): query got messed up, fix it. - -2004-12-10 22:37 maan - - * gui.c: nuke query_stream command. Can be done by key mappings - -2004-12-10 22:32 maan - - * mysql.c: com_strq(): Use current stream if invoked without args - -2004-12-10 18:01 maan - - * mysql.c: com_upd(): comment out noisy debug message - -2004-12-10 17:55 maan - - * mysql.c: check return value of send_buffer() - -2004-12-10 16:50 maan - - * server.c: cosmetics - -2004-12-10 16:50 maan - - * Makefile.in: change codename - -2004-12-10 16:49 maan - - * mysql.c: oops, com_picadd() got lost during merging. Here it is - again. - -2004-12-10 15:42 maan - - * server.c: simplify handle_connect() - -2004-12-10 14:35 maan - - * NEWS: [no log message] - -2004-12-10 14:35 maan - - * server.c: forgotten goto - -2004-12-10 14:20 maan - - * server.c: cosmetics - -2004-12-10 13:21 maan - - * NEWS, configure.ac: bump version to 0.1.3 - -2004-12-10 13:04 maan - - * NEWS: [no log message] - -2004-12-09 22:12 maan - - * server.c, server.ggo: new option: dbtool. Choose dbtool which - dbtool is used on startup - -2004-12-09 21:21 maan - - * mysql.c: update mmd->dbinfo on successful init - -2004-12-09 21:21 maan - - * dopey.c: terminate song song list by NULL - -2004-12-09 20:46 maan - - * mysql.c: kill superfluous semicolen that caused gcc-2.95.4 to - fail - -2004-12-09 20:28 maan - - * dopey.c: make get_song_list() return NULL on errors, rather than - an empty list - -2004-12-09 20:19 maan - - * command.c, dopey.c, mysql.c, server.c, server.h: handle dbtool - change by server. The client only sets mmd->dbt_change which is - noticed by server when select() returns. - -2004-12-09 19:35 maan - - * command.c, mysql.c, server.h: nuke modus from struct command - -2004-12-09 19:33 maan - - * mysql.c: rename cdb to create_db - -2004-12-09 19:13 maan - - * FEATURES: [no log message] - -2004-12-09 19:13 maan - - * server.ggo, mysql.c: prefix all mysql options by mysql_ - -2004-12-09 19:02 maan - - * INSTALL: [no log message] - -2004-12-09 18:46 maan - - * README: [no log message] - -2004-12-09 18:30 maan - - * server.c: fix autoplay, move mmd_lock before networ init - -2004-12-09 18:21 maan - - * index.html, mysql.c: cosmetics/typos - -2004-12-09 18:21 maan - - * gui.c, sdl_gui.c: replace obsolete score by uptime - -2004-12-09 18:20 maan - - * command.c: do not include seconds in server's uptime and report - the uptime in com_stat() - -2004-12-09 17:56 maan - - * README.mysql: update for 0.1.3 - -2004-12-09 17:27 maan - - * Makefile.in, index.html: change README.dbtool to README.mysql - -2004-12-09 17:25 maan - - * NEWS, README.mysql: former README.dbtool - -2004-12-09 17:24 maan - - * README.dbtool: renamed to README.mysql - -2004-12-09 17:04 maan - - * command.c, server.c, server.h: field 'initialized' in struct - dbtool was a bad idea. We must allow switching to the mysql - dbtool even if its init routine failed because that's the only - way to initially create the database. - -2004-12-09 02:21 maan - - * gui.c, sdl_gui.c: replace obsolete streams in stat_items[] by - dbtool - -2004-12-09 02:20 maan - - * command.c: print current dbtool in com_stat() - -2004-12-09 02:07 maan - - * NEWS: [no log message] - -2004-12-09 02:02 maan - - * NEWS: [no log message] - -2004-12-09 01:03 maan - - * command.c: new command: ctd: change dbtool on the fly - -2004-12-09 01:03 maan - - * mysql.c: remove the silly try to report the cause of an error. - Provide shutdown function (deactivated for now) - -2004-12-09 01:00 maan - - * dopey.c, server.c, server.h: init all dbtools on startup. Fall - back to dopey if all other dbtools fail to init. - -2004-12-08 23:34 maan - - * mysql.c: rename cdb to create_db - -2004-12-08 23:23 maan - - * dbtool.conf.sample: long obsolete - -2004-12-08 23:18 maan - - * dbtool_template.c: got obsoleted by dopey - -2004-12-08 23:16 maan - - * dbtool.c, dbtool.ggo: no longer needed - -2004-12-08 23:13 maan - - * para.h, string.c: fix some compiler warnings - -2004-12-08 23:05 maan - - * dopey.c: redirect stderr of find command to null - -2004-12-08 22:46 maan - - * dopey.c: fix memory leak - -2004-12-08 22:46 maan - - * Makefile.in, configure.ac: fixup autoconf stuff - -2004-12-08 22:15 maan - - * net.c: remove unused variable - -2004-12-08 22:14 maan - - * Makefile.in, configure.ac, server.c: Fix build on systems without - mysql. They'll get dopey ;) Do not build obsolete dbtool any - more. - -2004-12-08 21:58 maan - - * dopey.c: dopey help update - -2004-12-08 21:56 maan - - * Makefile.in, command.c, dopey.c, server.c, server.ggo, server.h: - the dopey database tool, codename 'ddt' - -2004-12-08 20:25 maan - - * para.h, string.c: use const qualifiers in para_strcat() - -2004-12-08 20:25 maan - - * command.c: report dbtool info in com_si() - -2004-12-08 20:10 maan - - * afs.c, command.c, mysql.c, server.c, server.h: switch from single - struct dbtool to array of struct dbtool as a preparation for - supporting several database tools. - -2004-12-08 04:24 maan - - * afs.c, command.c, server.h: change type of mmd->mtime to time_t - -2004-12-08 04:10 maan - - * command.c, server.c, server.h: kill num_connects(). A simple - variable is enough. - -2004-12-08 04:00 maan - - * server.c: get_user(): scan at most 200 chars per entry avoiding - possible buffer overflow with bad user_list file - -2004-12-08 03:58 maan - - * mysql.c: Fix high-quality double free bug which was sitting there - for quite some time since it was hard to trigger. This sucker - made _subsequent_ sql queries hang. Kill it with pleasure. - -2004-12-08 02:34 maan - - * exec.c: fix dup2 stderr - -2004-12-08 02:16 maan - - * mysql.c: rename _clean to clean - -2004-12-08 02:16 maan - - * gui.c: do not kill writer immediately when reader dies. - -2004-12-08 02:01 maan - - * gui.c: Nuke com_sl. Can be done via key mapping - -2004-12-08 00:49 maan - - * command.c: nasty use before init bug - -2004-12-07 22:50 maan - - * command.c: simplify cmd_perms_itohuman() - -2004-12-07 22:44 maan - - * afs.c, command.c, server.h: move afs_get_status_flags() to - command.c. It's only needed there, so make it static. Use dynamic - buffer. - -2004-12-07 22:38 maan - - * command.c: afs_status_tohuman(): return dynamic buffer - -2004-12-07 22:33 maan - - * afs.c, command.c, server.h: move afs_status_tohuman() to - command.c. It's only needed there, so make it static. - -2004-12-07 22:24 maan - - * server.c: report loglevel on startup - -2004-12-07 22:23 maan - - * para.h: kill unused loglevel ALERT - -2004-12-07 22:23 maan - - * afs.c: remove some old code - -2004-12-07 22:11 maan - - * afs.c, mysql.c, ogg.c, server.c: some smallish cleanups - -2004-12-07 22:10 maan - - * server.ggo: set default loglevel to 4 - -2004-12-07 21:28 maan - - * afs.c, server.c: simplify setup_stream_command(). Abort on - errors. - -2004-12-07 02:09 maan - - * mysql.c: reintroduce com_la as it is needed by dbadm - -2004-12-07 01:56 maan - - * command.c: do not divide by zero - -2004-12-07 01:51 maan - - * ogg.c: loglevel adjustments - -2004-12-07 01:38 maan - - * command.c: Delete unused stuff. Fairly impressive patch :) - -2004-12-07 01:32 maan - - * command.c: sort commands alphabetically - -2004-12-07 01:23 maan - - * command.c, server.c: clean up com_sc() - -2004-12-07 01:07 maan - - * command.c: clean up com_stat() and compute_status_volatile() - -2004-12-07 00:18 maan - - * command.c: make uptime_str() return dynamically allocated buffer. - Clean up com_si(). - -2004-12-07 00:10 maan - - * command.c: rename compute_sb_string() to get_sb_string() and - return dynamically allocated buffer. - -2004-12-06 23:37 maan - - * command.c: rename compute_status() to get_status() and return - dynamically allocated buffer - -2004-12-06 23:00 maan - - * command.c: make cmd_perms_itohuman() return dynamically allocated - 4 char permission string. Used by com_help(). This makes - com_perms obsolete. Comment out - -2004-12-06 22:15 maan - - * command.c: rename find_cmd(). No good name. - -2004-12-06 22:11 maan - - * command.c: make find_command() also return the handler (server or - dbtool). That makes cmd_handler_itohuman() obsolete, and in turn - other functions unused. Comment out what is unneeded. - -2004-12-06 21:51 maan - - * command.c: found still more lcl stuff, kill unused var: - dbtool_has_pic - -2004-12-06 21:49 maan - - * command.c: comment out remaining lcl stuff - -2004-12-06 21:48 maan - - * command.c, string.c: move chop() from command.c to string.c - -2004-12-06 21:45 maan - - * command.c: comment out unused lcl_init() - -2004-12-06 21:42 maan - - * server.c: deactivate lcl stuff - -2004-12-06 21:41 maan - - * command.c: fix silly bug that crept in by the last patch - -2004-12-06 21:36 maan - - * command.c: simplify send_descriptions(), find_command() and fix - com_help() - -2004-12-06 20:28 maan - - * command.c: kill useless dummy entries, documentation update. - -2004-12-06 20:21 maan - - * afs.c, command.c, server.c: Since we hold a dbtool pointer in mmd - there is no need to export it any longer - -2004-12-06 20:06 maan - - * command.c: make com_perms() use the internal command list rather - than old linked command list - -2004-12-06 20:05 maan - - * mysql.c: set name in init - -2004-12-06 20:04 maan - - * server.c: set mmd->dbtool in do_inits() - -2004-12-06 20:03 maan - - * server.h: New field in struct dbtool: name to be used by - com_perms(). New field in mmd: dbtool, a pointer to the currently - selected database tool, also used in com_perms(). Currently, - there is only one, but this will change once ddt, the dopey - database tool, is born. - -2004-12-06 19:10 maan - - * command.c: comment out obsolete server-based com_pic() - -2004-12-06 04:08 maan - - * mysql.c: make com_cam() also copy the meta data - -2004-12-06 03:25 maan - - * mysql.c: as we have extern struct conf in mysql.c there is no - need to shadow its values - -2004-12-06 03:11 maan - - * mysql.c: some more cosmetics - -2004-12-06 03:04 maan - - * mysql.c: only while space cleanups - -2004-12-06 02:57 maan - - * mysql.c: nuke get_very_last() which was commented out anyway - -2004-12-06 02:52 maan - - * mysql.c: reorganize functions, simplify com_info() - -2004-12-06 02:31 maan - - * mysql.c: new function: get_dir(). Switch back to three-line - dbinfo output - -2004-12-06 01:39 maan - - * mysql.c: fix get_dbinfo() - -2004-12-06 01:20 maan - - * mysql.c: simplify com_cdb() a bit - -2004-12-06 01:10 maan - - * mysql.c: port the last dbtool command: com_picch() - -2004-12-06 00:56 maan - - * mysql.c: port com_piclistl() - -2004-12-06 00:49 maan - - * mysql.c: port com_picdel() - -2004-12-06 00:40 maan - - * mysql.c: port com_picass() - -2004-12-06 00:22 maan - - * mysql.c: port com_pic() - -2004-12-05 23:48 maan - - * mysql.c: port com_verb() - -2004-12-05 23:37 maan - - * mysql.c: simplify get_all_attributes(), fix two nasty - free()-related bugs - -2004-12-05 22:59 maan - - * mysql.c: port com_cam() - -2004-12-05 20:51 maan - - * mysql.c: port com_da() - -2004-12-05 20:46 maan - - * mysql.c, para.h, string.c: introduce para_basename(), port - com_na() - -2004-12-05 17:20 maan - - * mysql.c: port com_hist() - -2004-12-05 17:13 maan - - * mysql.c: port mbox() - -2004-12-05 16:48 maan - - * mysql.c: port com_ls() - -2004-12-05 07:12 maan - - * command.c: fix segfault on invalid commands - -2004-12-05 07:10 maan - - * server.c: report error message if command failed - -2004-12-05 06:03 maan - - * server.c: nuke unused get_song_list() - -2004-12-05 05:24 maan - - * mysql.c: port com_last() - -2004-12-05 05:04 maan - - * mysql.c: simplify and fix get_all_attributes(), port com_laa() - -2004-12-05 04:36 maan - - * mysql.c: refresh mmd->dbinfo also in commands sa and cs - -2004-12-05 04:20 maan - - * mysql.c: use mmd-based get_current_song() instead of mysql's - entry with newest lastplayed time. That matters in view of - com_skip(). - -2004-12-05 03:46 maan - - * command.c: clean up com_help - -2004-12-05 03:20 maan - - * mysql.c: update help for vrfy and us - -2004-12-05 03:20 maan - - * command.c: simplify lcl_find and switch to help for new commands - -2004-12-05 02:40 maan - - * mysql.c: port com_sa(). Simplify get_last()/get_very_last(). - -2004-12-05 00:36 maan - - * mysql.c: port com_skip() - -2004-12-05 00:26 maan - - * mysql.c: activate new cdb/clean/upd/vrfy commands - -2004-12-05 00:15 maan - - * mysql.c: port com_strq() - -2004-12-04 23:59 maan - - * mysql.c: port com_strdel(), change current stream to '(none)' if - it gets deleted by strdel - -2004-12-04 23:39 maan - - * mysql.c: make conf an extern variable in mysql.c, so there is no - need to pass it via init. Port com_cdb(), several small fixes. - -2004-12-04 23:37 maan - - * server.c, server.h: make conf an extern variable in mysql.c, so - there is no need to pass it via init - -2004-12-04 21:23 maan - - * mysql.c: port com_vrfy/clean - -2004-12-04 20:43 maan - - * mysql.c: port com_upd(). This is not backward compatible. It - requires modification of find_cmd in server.conf. So it is - disabled until vrfy/clean are also ported. - -2004-12-04 20:40 maan - - * exec.c: only close fd[1] if we dup2'ed it - -2004-12-04 20:39 maan - - * server.c: abort if dbtool init failed - -2004-12-04 15:42 maan - - * mysql.c: port stradd/picadd - -2004-12-04 15:33 maan - - * server.ggo: nuke sstream option - -2004-12-04 14:31 maan - - * fade.c: use csp instead of play - -2004-12-04 14:27 maan - - * mysql.c: new command: csp (change stream and play). Needed since - com_play() no longer knows about streams and ignores its - arguments. - -2004-12-04 14:24 maan - - * afs.c: update_mmd(): fix logging message for unknown audio format - -2004-12-04 14:15 maan - - * afs.c: get_song(): log filenames as they are tried to open - -2004-12-04 02:23 maan - - * mysql.c: fix com_sl. It used row[1] in results which contained - only one column. Fix help of com_streams(). - -2004-12-04 02:21 maan - - * afs.c: comment out obsolete popen dabtool us - -2004-12-03 21:36 maan - - * mysql.c: omit current_stream in ps/ns/streams - -2004-12-03 21:28 maan - - * command.c, server.h: com_stat: don't print score - -2004-12-03 20:51 maan - - * mysql.c: make ps/ns refresh dbinfo - -2004-12-03 20:36 maan - - * mysql.c: port com_ps() and com_ns() - -2004-12-03 20:08 maan - - * afs.c, command.c, server.c, server.h: comment out obsolete stream - handling code. Internal commands don't know about streams any - more - -2004-12-03 19:46 maan - - * afs.c, mysql.c, server.c, server.h: make dbtool write directly to - shared memory area, get_song_list() now returns char** (full path - list without scores) - -2004-12-03 17:21 maan - - * afs.c, server.c: comment out old update_dbinfo() - -2004-12-03 00:17 maan - - * mysql.c: also print score and stream in dbinfo - -2004-12-02 23:24 maan - - * afs.c, mysql.c: use info string provided by dbtool's - get_song_list (overwrite output of old para_dbtool). Other - smallish fixes also. - -2004-12-02 20:54 maan - - * mysql.c: after the fork we will never see when the stream changes - -2004-12-02 20:53 maan - - * mysql.c: remove global variable current_stream. It just doesn't - work because - -2004-12-02 03:18 maan - - * afs.c, mysql.c: port com_cs() and activate new stream handling - -2004-12-02 01:43 maan - - * afs.c: new implementation of get_song() that calls dbtool's - get_song function directly rather than calling popen_dbtool() - (not yet activated since com_cs is not yet ported) - -2004-12-02 01:33 maan - - * mysql.c: new function get_song list to be called directly by afs - on song change via server's glue function - -2004-12-02 01:29 maan - - * server.c: get_song glue function - -2004-12-02 01:28 maan - - * server.h: new struct: db_song_info - -2004-12-02 01:27 maan - - * string.c: para_strdup: return empty string if arg is NULL - -2004-12-01 22:10 maan - - * mysql.c: port com_streams() - -2004-12-01 21:57 maan - - * mysql.c: activate new com_sl() - -2004-12-01 04:39 maan - - * mysql.c: fix theoretical memory leak - -2004-12-01 04:23 maan - - * mysql.c: get_query: make sure to return NULL on errors - -2004-12-01 04:20 maan - - * mysql.c: remove length[] check. We cover length[0]==0 anyway. - -2004-12-01 04:11 maan - - * mysql.c: cosmetics - -2004-12-01 04:04 maan - - * mysql.c: remove unnused variable 'ret'. reduce size of the last - remaining static buffer for sscanf. - -2004-12-01 04:00 maan - - * mysql.c: make get_query() return char*, reducing one more static - buffer allocation. Free also accept/deny_opts ;) - -2004-12-01 03:42 maan - - * mysql.c: further simplify string handling in where_clause - -2004-12-01 03:35 maan - - * mysql.c: simplify where_clause logic, free all variables - -2004-12-01 02:42 maan - - * mysql.c: get_query: further removal of static buffers - -2004-12-01 02:32 maan - - * mysql.c: get_query: remove underscores as it is no longer needed - -2004-12-01 02:30 maan - - * mysql.c: Clean up get_query, part II - -2004-12-01 02:17 maan - - * mysql.c, para.h, string.c: remove 'dest' argument from - s_a_r_list(). Clean up get_query, part I - -2004-12-01 00:43 maan - - * mysql.c: port com_sl() - -2004-12-01 00:40 maan - - * net.c, string.c: cosmetics - -2004-12-01 00:29 maan - - * string.c: loglevel adjustments - -2004-12-01 00:25 maan - - * string.c: fix s_a_r in case of several matches - -2004-11-30 23:58 maan - - * para.h, string.c: no more static buffers in s_a_r() and friends - -2004-11-30 22:18 maan - - * dbtool.c, para.h, string.c: port regex stuff from dbtool.c to - string.c - -2004-11-30 21:38 maan - - * net.c, para.h: new function: send_va_buffer. Oh yeah! - -2004-11-30 21:14 maan - - * Makefile.in: link string.o to all executables that need it - -2004-11-30 20:42 maan - - * mysql.c: activate new com_info() (by changing _info to info) - -2004-11-30 20:41 maan - - * command.c: com help: also print commands from new api - -2004-11-30 20:25 maan - - * Makefile.in, mysql.c, para.h, string.c: contains string handling - functions that might be useful for any part of paraslash - -2004-11-30 20:10 maan - - * command.c, server.c, server.h: make dbtool an extern variable in - command.c - -2004-11-30 03:07 maan - - * mysql.c: small cleanups in com_info() - -2004-11-30 02:39 maan - - * mysql.c: simplify sql query for dir.dir - -2004-11-30 02:30 maan - - * mysql.c: simplify get_atts a lot - -2004-11-30 02:03 maan - - * mysql.c: port com_info, introduce para_strcat and para_strdup - -2004-11-30 00:24 maan - - * mysql.c: use dynamic buffers provided by new make_message(). - Introduce para_malloc and para_realloc to avoid checking malloc's - return value for each malloc call - -2004-11-29 21:54 maan - - * mysql.c: port com_us to the new api - -2004-11-29 02:17 maan - - * mysql.c: cosmetics - -2004-11-29 02:08 maan - - * Makefile.in, mysql.c, server.c, server.h: port the first command, - summary, to the new api. It is called _summary for now - -2004-11-29 01:10 maan - - * mysql.c, server.c, server.h: check config file directly in - mysql_init - -2004-11-29 00:40 maan - - * mysql.c, server.c, server.h: port config file parsing from - dbtool.c to mysql.c - -2004-11-28 23:47 maan - - * command.c, server.c, server.h: pass dbtool pointer to parse_cmd - and actually search the (new, but still empty) dbtool list for - commands - -2004-11-28 23:29 maan - - * command.c: first search the commands in (emtpy, by now) command - list which was returned by mysql_init - -2004-11-28 23:11 maan - - * command.c, server.c, server.h: simplify command handling (let - functions return struct command* instead of struct - linked_cmd_list* which is going to be removed soon) - -2004-11-28 23:00 maan - - * Makefile.in, NEWS, server.c, server.ggo, server.h: first - preparations (that shouldn't break anything) to include dbtool - inside para_server - -2004-11-28 22:58 maan - - * mysql.c: this will replace dbtool.c - -2004-11-28 22:10 maan - - * Makefile.in, NEWS, configure.ac: bump version to 0.1.2 - -2004-11-28 21:41 maan - - * afs.c: afs_send_chunk: close stream writer on errors - -2004-11-28 21:40 maan - - * dbtool.c: cosmetics - -2004-11-28 20:15 maan - - * dbtool.c: make all commands take 3 arguments as required by - struct command from server.h - -2004-11-28 20:04 maan - - * dbtool.c: simplify decls - -2004-11-28 20:01 maan - - * dbtool.c: remove unneeded #includes - -2004-11-28 19:57 maan - - * dbtool.c: rename .func to .handler in struct com to match it more - closely to struct command defined in server.h - -2004-11-25 21:05 maan - - * gui.c: C+L does not clear the screen. Do not claim it will do so - in online help - -2004-11-25 21:02 maan - - * server.ggo: better online help - -2004-11-12 14:56 maan - - * NEWS: [no log message] - -2004-11-12 14:56 maan - - * dbtool.c: rename ca to cam (copy all meta data). It now also - copies numplayed and lastplayed time as well as the picture id. - -2004-11-05 15:40 maan - - * NEWS, configure.ac: bump version to 0.1.1 - -2004-11-05 15:28 maan - - * NEWS: [no log message] - -2004-11-05 15:27 maan - - * ogg.c: add gpl header and mention that it is derived from vcut.c - -2004-11-05 15:25 maan - - * CREDITS: add Michael Smith (vcut) - -2004-11-05 15:17 maan - - * dbtool.c: new command: mbox - -2004-11-05 13:44 maan - - * server.c: set afs_status_flags to AFS_PLAYING | AFS_NEXT if -a - and -s were given - -2004-11-01 19:20 maan - - * NEWS: [no log message] - -2004-10-27 18:39 maan - - * README: add para_krell - -2004-10-25 04:21 maan - - * mp3.c, ogg.c: set default values for open_cmd. Fixes segfault - with empty config file. - -2004-10-25 03:51 maan - - * dbtool.c: get_a: return -1 if database has no attributes - -2004-10-25 00:09 maan - - * sdl_gui.c: refresh pic after executing command - -2004-10-24 23:32 maan - - * FEATURES: [no log message] - -2004-10-24 23:29 maan - - * autogen.sh: simple script for autoconf etc - -2004-10-24 20:50 maan - - * addons/gkrellm_cmd_display/Makefile: remove para_ctrl stuff - -2004-10-24 20:49 maan - - * addons/gkrellm_cmd_display/para_ctrl.c: it is now called krell.c - and belongs to the main tree - -2004-10-24 20:41 maan - - * configure.ac: check for gtk2 and build para_krell only if it was - found - -2004-10-24 20:40 maan - - * Makefile.in: new target: para_krell - -2004-10-24 20:39 maan - - * krell.c: former para_ctrl - -2004-10-24 05:01 maan - - * dbtool.c: cosmetics - -2004-10-22 21:26 maan - - * Makefile.in: change codename - -2004-10-22 21:26 maan - - * NEWS: [no log message] - -2004-10-22 18:42 maan - - * addons/gkrellm_cmd_display/para_ctrl.c: new macro PRINTF - -2004-10-22 18:04 maan - - * addons/gkrellm_cmd_display/para_ctrl.c: More duku, __func__ - -2004-10-22 15:15 maan - - * addons/gkrellm_cmd_display/para_ctrl.c: do not eat cpu if there - is no para_server - -2004-10-22 13:18 maan - - * configure.ac: bump version to 0.1.0 - -2004-10-22 13:00 maan - - * mp3.c, ogg.c: cosmetics - -2004-10-17 21:46 maan - - * index.html: mention that all files are signed - -2004-10-17 21:20 maan - - * PUBLIC_KEY: gnupg public key - -2004-10-17 19:59 maan - - * dbtool.c: kill unused init_seed() - -2004-10-17 17:58 maan - - * command.c: compute percentage defensively also in com_ff - -2004-10-17 17:55 maan - - * gui.c: kill all decoders if status pipe dies - -2004-10-17 17:54 maan - - * command.c: compute percentage defensively - -2004-10-17 17:05 maan - - * README.dbtool: english improvements - -2004-10-14 23:17 maan - - * dbtool.c: remove the magic recursive randomizer. It is no longer - used since Lastplayed is never null - -2004-10-14 22:45 maan - - * gui.c: clear top win in init_wins. This should fix stray - characters in top.win after resizing the xterm - -2004-10-14 22:32 maan - - * gui.c: kill unused #define - -2004-10-14 22:28 maan - - * gui.c: do not include header files twice - -2004-10-14 21:42 maan - - * README.dbtool, dbtool.c, dbtool.ggo: replace option emph_np by - more general default_score. This actually _reduces_ code size. - -2004-10-14 20:54 maan - - * dbtool.c: simplify s_a_r_array - -2004-10-13 23:19 maan - - * dbtool.c: insert _valid_ default value into colum lastplayed for - new songs - -2004-10-11 20:30 maan - - * Makefile.in: use new picdir for the internal pics of para_server - -2004-10-11 20:21 maan - - * pics/paraslash/: default.jpg, no_pics.jpg: moved from .. - -2004-10-11 20:20 maan - - * pics/: default.jpg, no_pics.jpg: moved to pics/paraslash - -2004-10-11 20:18 maan - - * pics/web/paraslash.png: moved from ../ - -2004-10-11 20:18 maan - - * pics/paraslash.png: moved to web - -2004-10-11 20:17 maan - - * Makefile.in: small cleanups - -2004-10-11 19:57 maan - - * pics/screenshots/: gui-2004-07-11.png, gui-2004-09-02.png, - gui-old.png, loglevel1-2004-07-28.txt, sdl_gui.jpg: more or less - old screenshots - -2004-10-11 19:16 maan - - * index.html: it is now called manual.html, not manual.txt.html - -2004-10-11 19:15 maan - - * Makefile.in: nuke targets tags and web as they only work on my - local machine anyway - -2004-10-11 17:59 maan - - * pics/paraslash.png: logo from web page - -2004-10-11 17:20 maan - - * index.html: the paraslash web page - -2004-10-10 23:10 maan - - * NEWS: [no log message] - -2004-10-10 23:09 maan - - * para.h: no more restrictions on comand length (I hope) - -2004-10-10 23:09 maan - - * command.c: chop() can not be static since it is used by server - also - -2004-10-10 23:08 maan - - * dbtool.c: cosmetics - -2004-10-10 23:02 maan - - * client.c, server.c: no more restrictions on comand length (I - hope) - -2004-10-10 22:30 maan - - * client.c: cosmetics - -2004-10-10 20:22 maan - - * client.c: cosmetics - -2004-10-10 20:19 maan - - * client.c: fix buffer overflow with long command lines - -2004-10-10 19:55 maan - - * client.c: cosmetics - -2004-10-08 21:18 maan - - * configure.ac: it runs fine with 2.53 (debian stable) - -2004-10-08 21:15 maan - - * pob-ogg.ggo: forgotten to check it in - -2004-10-07 22:11 maan - - * afs.c, gui.c, mp3.c, ogg.c, server.h: make gcc 2.95.4 happy - -2004-10-07 18:21 maan - - * gui.c: close status pipe on read errors - -2004-10-07 18:10 maan - - * command.c: free mem in correct order, fixes segfault on HUP - -2004-10-07 02:11 maan - - * sdl_gui.c: make functions static where possible - -2004-10-07 00:18 maan - - * README.dbtool: [no log message] - -2004-10-06 23:12 maan - - * sdl_gui.c: make pictures work again - -2004-10-06 21:07 maan - - * command.c, gui.c, server.c: cosmetics - -2004-10-06 20:35 maan - - * command.c: make functions static where possible - -2004-10-06 20:32 maan - - * command.c, server.h: use dynamically aloocated buffers in struct - command - -2004-10-06 19:33 maan - - * dbtool.c: kill dead code in com_vrfy(): check for NULL entries - -2004-10-06 19:28 maan - - * dbtool.c: always check return value of init() - -2004-10-06 19:24 maan - - * dbtool.c: com_ca: shut down mysql connection - -2004-10-06 19:15 maan - - * dbtool.c: fix memory leak - -2004-10-06 18:55 maan - - * dbtool.c: free correct pointer - -2004-10-06 18:53 maan - - * dbtool.c: refuse to insert too long stream/pic names - -2004-10-06 18:42 maan - - * server.c: fix autoplay - -2004-10-06 18:33 maan - - * README.dbtool: para_client hup is no longer necessary - -2004-10-06 18:30 maan - - * afs.c, command.c, server.c, server.h: read stream list on demand - instead of keeping a (possibly obsolete) copy in memory. This - fixes com_stat which used stale pointers to current stream name - if server reloaded its stream_list due to SIGHUP. Another - advantage is that we don't need to send SIGHUP to the server any - more when modifying the stream list - -2004-10-04 03:14 maan - - * command.c: fix integer overflow for very long (ogg) files - -2004-10-04 02:53 maan - - * afs.c: return NULL on next request - -2004-10-04 02:52 maan - - * ogg.c: end_of_input: close file and, more important, reset - short_write. This bug could cause files to be skipped. Ogg is - almost usable now - -2004-10-04 02:49 maan - - * server.c: kill unneeded variable sw_pid - -2004-10-03 20:59 maan - - * dbtool.c: set pic_id to 1 for new files - -2004-10-03 02:24 maan - - * dbtool.c: com_sl: comment out debugging message - -2004-10-03 01:42 maan - - * dbtool.c: set all but one filed as notnull. NULLs suck when - sorting - -2004-10-03 01:06 maan - - * client.c: fix wrong order of arguments to clog that could cause - random segfaults - -2004-09-30 01:40 maan - - * gui.c: fixup rereading of config file - -2004-09-27 02:53 maan - - * command.c: fix integer overflow in stat output for very long ogg - files - -2004-09-27 02:27 maan - - * ogg.c: dont update time when sending first page or when - repos_request - -2004-09-27 01:45 maan - - * gui.c: reset buflen when deactivating stream io - -2004-09-27 01:28 maan - - * gui.c: delete old stream io handling code - -2004-09-27 00:00 maan - - * gui.c: loop over all audio formats in do_select and kill decoder - when inactive - -2004-09-26 19:09 maan - - * gui.c: clog: print msg to stderr if curses not yet active - -2004-09-26 19:07 maan - - * dbtool.c: so not duplicate info - -2004-09-26 18:44 maan - - * ogg.c: do not log short writes - -2004-09-26 18:43 maan - - * afs.c: set stream writer fd to non-blocking io - -2004-09-26 18:41 maan - - * ogg.c: handle short writes properly (do not even try to rewrite) - -2004-09-26 16:20 maan - - * server.c, server.ggo: new option: autoplay - -2004-09-26 15:44 maan - - * afs.c: more fixes of the same kind - -2004-09-26 15:37 maan - - * afs.c: do not segfault in audio_format_name() if no audio_format - was selected yet - -2004-09-26 14:33 maan - - * fade.c: more detailed output about what is going on - -2004-09-24 13:45 maan - - * gui.c: cosmetics - -2004-09-24 04:23 maan - - * gui.c: kill reader if writer died and vice versa - -2004-09-24 03:09 maan - - * afs.c, server.c: comment out noisy debugging messages - -2004-09-24 03:04 maan - - * afs.c, mp3.c, ogg.c, server.c, server.h: major rearrangement of - struct audio_format - -2004-09-23 19:20 maan - - * ogg.c: reintroduce first_page, clear vcut on errors - -2004-09-23 18:43 maan - - * mp3.c: avoid double close on errors - -2004-09-23 01:06 maan - - * fade.conf.sample: adapt to new syntax - -2004-09-23 01:01 maan - - * gui.conf.sample: kill obsolete commands - -2004-09-23 00:52 maan - - * gui.c: new internal key bindings for adjusting loglevel - -2004-09-22 22:27 maan - - * ogg.c: rename label aaa, kill dead code - -2004-09-22 22:10 maan - - * ogg.c: kill dead code - -2004-09-22 22:07 maan - - * ogg.c: nuke first_page - -2004-09-22 21:54 maan - - * ogg.c: get output of first page right (I hope) - -2004-09-22 21:10 maan - - * gui.c: don't segfault when stopping decoder manually. Avoid - kill_decoder also. - -2004-09-22 20:32 maan - - * ogg.c: nuke unneeded cutpoint - -2004-09-22 20:06 maan - - * 1.0: [no log message] - -2004-09-22 13:41 maan - - * INSTALL: typo - -2004-09-22 02:56 maan - - * ogg.c: remove more useless variables - -2004-09-22 02:52 maan - - * ogg.c: replace fprintf by clog - -2004-09-22 02:47 maan - - * ogg.c: cosmetics - -2004-09-22 02:34 maan - - * ogg.c: remove unused variables - -2004-09-22 01:27 maan - - * gui.c: loglevel adjustment - -2004-09-22 00:47 maan - - * gui.ggo: default loglevel: 4 - -2004-09-22 00:46 maan - - * README.dbtool: typo - -2004-09-22 00:03 maan - - * gui.c, gui.ggo: new option loglevel - -2004-09-21 23:53 maan - - * gui.c: new function clog, log more info to bot win instead of - status bar - -2004-09-21 22:01 maan - - * gui.c: increase sleep time after reader/writer has died - -2004-09-21 21:16 maan - - * gui.c: cosmetics - -2004-09-21 21:13 maan - - * server.c: only send chunk if we are still playing - -2004-09-21 21:12 maan - - * ogg.c: return early if there is no stream writer - -2004-09-21 21:10 maan - - * pob-ogg.c: check return value of write and abort on errors. ifdef - out buffering for now. - -2004-09-21 20:53 maan - - * gui.c, gui.ggo: introduce struct stream_io and siol[], an array - of such structs, each member holding all relevant information for - one audio format. Simplify options and add some docu for para_gui - -h. - -2004-09-21 18:12 maan - - * gui.c: do not include \n in outputf - -2004-09-21 18:05 maan - - * gui.c: print info top bot win when starting/stopping decoder - -2004-09-21 14:52 maan - - * afs.c, command.c, gui.c, sdl_gui.c, server.h: print afs status - flags as extra line in stat output - -2004-09-20 03:23 maan - - * ogg.c: loglevel adjustments - -2004-09-20 02:16 maan - - * ogg.c: jumping appears to work - -2004-09-20 01:15 maan - - * ogg.c: first version with jumping kind of working - -2004-09-19 23:31 maan - - * command.c, mp3.c, server.h: long unsigned is enough - -2004-09-19 23:29 maan - - * afs.c: return early from afs_send_chunk if there was a reposition - request - -2004-09-19 21:37 maan - - * ogg.c: make granpos global and get rid of update_chunk_count - -2004-09-19 21:27 maan - - * ogg.c: do not crash on jump in ogg files. Jumping still is not - working, but we are getting closer... - -2004-09-19 18:12 maan - - * ogg.c: minor improvements - -2004-09-19 17:56 maan - - * afs.c: use stop_stream instead of closing file manually - -2004-09-19 17:26 maan - - * pob-ogg.c: skip initial crap before first ogg packet, more - logging, fix config_file thinko - -2004-09-19 15:42 maan - - * pob-ogg.c: Oh boy, that was buggy. For instance, it included - client_cmdline.h instead of pob-ogg.cmdline.h - -2004-09-18 15:29 maan - - * configure.ac: build para_pob-ogg if oggvorbis libs are found - -2004-09-18 15:08 maan - - * mp3.c: comment out noisy debug message - -2004-09-18 15:07 maan - - * afs.c: add audio format heuristics (based on filename) - -2004-09-18 13:44 maan - - * command.c, mp3.c, para.h, server.c: nuke PETER_B ;) As in real - life, PETER_B happened to be useless for anything - -2004-09-18 13:09 maan - - * mp3.c: stop stream writer on repos request. This gets rid of all - remaining cases of audio clipping, I hope - -2004-09-18 13:07 maan - - * mp3.c: rename reposition_stream() to mp3_reposition_stream - -2004-09-18 13:06 maan - - * mp3.c: split mp3_stop_stream, new function stop_stream_writer() - -2004-09-18 13:03 maan - - * mp3.c: rename stop_stream to mp3_stop_stream - -2004-09-17 04:39 maan - - * ogg.c: new function: get_page. Makes ogg_read_chunk much more - readable - -2004-09-17 04:14 maan - - * ogg.c: remove dead code - -2004-09-17 04:12 maan - - * ogg.c: no need to set have_page twice - -2004-09-17 04:08 maan - - * ogg.c: avoid needless goto - -2004-09-17 03:30 maan - - * ogg.c: new function page_out to clean up the cruft a bit - -2004-09-17 03:17 maan - - * ogg.c: still crappy as hell, but a bit more stable. Repositioning - is not working yet. - -2004-09-17 01:27 maan - - * fade.c: more verbose output - -2004-09-17 01:27 maan - - * NEWS: [no log message] - -2004-09-17 01:10 maan - - * gui.c: fix clipping when returning from external command - -2004-09-17 00:53 maan - - * afs.c, dbtool.c, dbtool_template.c, gui.c: rename fut to sl - (score list). It did not print the future anyway, depending on - the particular score definition - -2004-09-15 22:13 maan - - * afs.c, command.c, server.h: si: report supported audio formats - -2004-09-15 21:22 maan - - * command.c: rename uptime to si (server info) - -2004-09-12 20:49 maan - - * fade.c, fade.ggo: introduce fall asleep stream vs sleep_stream - -2004-09-12 20:33 maan - - * mp3.c: nicer id3 tag info - -2004-09-12 20:33 maan - - * command.c: use long unsigned for computing seconds etc. in - statusbar - -2004-09-12 20:32 maan - - * ogg.c: it kinda works in some sense if you do not try to jump - around... - -2004-09-12 20:20 maan - - * afs.c: cosmetics - -2004-09-12 20:20 maan - - * INSTALL: better english - -2004-09-12 20:19 maan - - * CREDITS: [no log message] - -2004-09-11 05:55 maan - - * INSTALL: typo - -2004-09-07 21:47 maan - - * server.h: function prototype changes - -2004-09-07 21:45 maan - - * server.ggo: stream_write command may be given multiple times, - nuke afs_buf - -2004-09-07 21:44 maan - - * pob-ogg.c: introduce OGG_BUFFSIZE and fill buffer halfways before - any output occurs - -2004-09-07 21:41 maan - - * mp3.c: mostly rearrangement of functions and small adjustments - -2004-09-07 21:39 maan - - * gui.c: support oggvorbis, not yet fit for more audio formats - -2004-09-07 21:36 maan - - * command.c: adjustments due to removal of afs_buf and renaming of - mmd->frames_sent to mmd->chunks_sent - -2004-09-07 21:34 maan - - * afs.c: nuke generic_write_chunk and move relevant bits to mp3. - Iplement better syntax for stream_write_cmd (can be given - multiple times, one for each sound format). Many small changes - -2004-09-07 21:27 maan - - * server.c: nuke afs_buf, send_chunk takes FILE* now - -2004-09-07 21:24 maan - - * configure.ac: add checks for oggvorbis - -2004-09-07 21:23 maan - - * Makefile.in: add targets for para_pob-ogg - -2004-09-04 13:51 maan - - * FEATURES: [no log message] - -2004-09-02 20:19 maan - - * server.h: remove superflous function prototypes - -2004-09-02 20:12 maan - - * mp3.c: simplify open_stream - -2004-09-02 20:02 maan - - * sdl_gui.c: stat: print audio format - -2004-09-02 19:51 maan - - * command.c, gui.c: stat: print audio format, report size in KB - instead of bytes - -2004-09-02 19:26 maan - - * command.c, server.c, server.h: move uptime_str() from server.c to - command.c, it is only used there - -2004-09-02 19:22 maan - - * server.c: whitespace fixes - -2004-09-02 19:21 maan - - * server.c, server.h: make more functions static - -2004-09-02 19:12 maan - - * server.c, server.h: remove logfile from mmd - -2004-09-02 18:56 maan - - * server.c, server.h: remove user_list from mmd - -2004-09-02 18:41 maan - - * server.c: whitespace fixes - -2004-09-02 18:37 maan - - * server.c, server.h: move config_file from mmd to parse_config - -2004-09-02 18:24 maan - - * server.c: fix --config_file option - -2004-09-02 18:19 maan - - * command.c, server.h: move dbtool_has_pic from mmd to command.c - -2004-09-02 18:10 maan - - * command.c, server.c, server.h: move lcl_head from mmd to - command.c - -2004-09-02 18:09 maan - - * afs.c: loglevel adjustment - -2004-09-02 18:06 maan - - * gui.c: change stream_write_cmd_arg to mp3_write_cmd_arg - -2004-09-02 17:53 maan - - * afs.c, server.c: cosmetics - -2004-09-02 17:41 maan - - * gui.conf.sample, gui.ggo: rename stream_read_cmd to mp3_read_cmd, - dito for write - -2004-09-02 17:41 maan - - * afs.c, command.c, server.h: commands stat and sb: print file type - -2004-09-02 17:39 maan - - * 1.0: [no log message] - -2004-09-02 17:04 maan - - * afs.c, server.c, server.h: mv alloc_afs_buf() from server to afs - -2004-09-02 16:41 maan - - * afs.c, server.c, server.h: remove extern conf struct from afs.c. - Its only use was afs_buf_size which is now passed to - afs_send_chunk instead - -2004-09-02 16:38 maan - - * NEWS: [no log message] - -2004-09-02 16:23 maan - - * mp3.h: no longer needed - -2004-09-02 16:22 maan - - * Makefile.in, afs.c, mp3.c, mp3.h, para.h, server.c, server.h: - move remaining mp3 specific stuff to mp3.c, introduce - open_stream, stop_stream function pointers for completely modular - audio format support. Make more functions static, get rid of - mp3.h - -2004-08-31 03:26 maan - - * mp3.c: return 0 on eof instead of -1 - -2004-08-31 02:32 maan - - * afs.c, mp3.c, mp3.h, server.h: add infrastructure for dealing - with audio files of different format, many small cleanups - -2004-08-30 23:18 maan - - * mp3.c, mp3.h: reduce mp3.h to bare minimum by moving everything - but function prototypes to mp3.c - -2004-08-30 22:46 maan - - * Makefile.in, afs.c, mp3.c, mp3.h: move fread from afs.c to mp3.c - into new function mp3_read_chunk. Do some renaming also. - -2004-08-30 21:16 maan - - * sdl_gui.ggo: kill option no_pics - -2004-08-30 21:15 maan - - * mp3.c: print replacement texts if no id3 tag was found - -2004-08-30 21:14 maan - - * command.c: move audio file info to status_volatile since it - contains bitrate which is not constant for vbr files - -2004-08-30 21:00 maan - - * sdl_gui.c: adapt to new stat output - -2004-08-30 20:28 maan - - * gui.c: adapt to new stat output - -2004-08-30 19:56 maan - - * para.h: cosmetics - -2004-08-30 19:54 maan - - * mp3.c: make functions static where possible - -2004-08-30 19:51 maan - - * afs.c, mp3.c, mp3.h, server.h: move mp3info struct from mmd to - mp3.c where it belongs - -2004-08-30 19:21 maan - - * afs.c, command.c, server.c, server.h: rename mp3_meta_data to - misc_meta_data - -2004-08-30 19:16 maan - - * afs.c, command.c, mp3.c, mp3.h, server.h: move mp3 specific stuff - to mp3.c - -2004-08-30 16:52 maan - - * afs.c: rename mp3_stream to audio_file - -2004-08-30 16:35 maan - - * command.c, dbtool.c: cosmetics - -2004-08-30 16:25 maan - - * Makefile.in: include manual.txt in tgz - -2004-08-30 16:19 maan - - * INSTALL: [no log message] - -2004-08-30 15:43 maan - - * Makefile.in, para.h: change mp3tech.[ch] to mp3.[ch] - -2004-08-30 15:40 maan - - * mp3.c, mp3.h: former mp3tech.[ch] - -2004-08-30 15:40 maan - - * mp3tech.c, mp3tech.h: renamed to mp3.[ch] - -2004-08-30 15:38 maan - - * mp3tech.c, mp3tech.h: copyright fixes - -2004-08-30 15:19 maan - - * Makefile.in: remove dependency on Makefile for cmdline stuff, so - that gengetopt is not required for build from tgz - -2004-08-30 05:44 maan - - * Makefile.in, NEWS, afs.c, command.c, configure.ac, mp3tech.c, - mp3tech.h, para.h, server.c, server.h: major mp3-secific cleanup - and enhancements. This should fix timing issues with vbr mp3s - -2004-08-30 05:07 maan - - * mp3info.h: most of it was never used, the rest went somewhere - else - -2004-08-30 05:05 maan - - * textfunc.h: unnecessary - -2004-08-25 21:21 maan - - * gui.c: whitespace cleanup - -2004-08-25 21:12 maan - - * gui.c: fix memory leak in align_str, add some debugging code - -2004-08-23 23:59 maan - - * 1.0: [no log message] - -2004-08-23 00:29 maan - - * dbtool.c: comment out check for invalid null entries in - attributes as attribute columns are declared non-null anyway - -2004-08-21 17:18 maan - - * server.c: minor main() cleanup - -2004-08-21 16:46 maan - - * fade.ggo, server.ggo: beautify output of help option - -2004-08-21 15:44 maan - - * client.c, dbtool.c, fade.c, gui.c, net.c, sdl_gui.c, server.c: - update to gengetopt 2.12.2 requires additional arg for - cmdline_parser_configfile - -2004-08-15 19:07 maan - - * Makefile.in: Add ChangeLog to phony targets, cosmetics - -2004-08-15 19:04 maan - - * dbtool.ggo: typo - -2004-08-15 18:35 maan - - * afs.c: update_dbinfo: whitespace fixes - -2004-08-15 18:34 maan - - * afs.c: update_dbinfo: always print three lines - -2004-08-15 04:01 maan - - * dbtool.c: fix info: for songs not yet played, dir of song was not - shown - -2004-08-13 19:30 maan - - * README.dbtool: another typo - -2004-08-13 19:17 maan - - * README.dbtool: whitespace fixes to make grutatxt happy - -2004-08-13 19:13 maan - - * README.dbtool: typo - -2004-08-13 19:08 maan - - * NEWS: [no log message] - -2004-08-05 23:19 maan - - * dbtool.c: use escaped_name also for updating numplayed - -2004-08-04 02:36 maan - - * dbtool.c: fix skip command - -2004-07-29 12:50 maan - - * server.c: fix log function for loglevel > VERBOSE - -2004-07-29 03:52 maan - - * Makefile.in, NEWS: change codename - -2004-07-28 14:06 maan - - * README: typo - -2004-07-25 17:41 maan - - * VERSION: no longer needed - -2004-07-25 17:40 maan - - * NEWS, configure.ac: bump version to 99 - -2004-07-24 20:50 maan - - * mp3tech.h: further simplify get_mp3_info - -2004-07-24 20:12 maan - - * afs.c: skip song if mp3_info fails - -2004-07-24 19:22 maan - - * mp3tech.c, mp3tech.h: further simplify get_mp3_info - -2004-07-24 17:51 maan - - * mp3info.h, mp3tech.c: kill unneeded code - -2004-07-24 03:08 maan - - * pob-ogg.c: simple http streamer for pogg-http - -2004-07-23 21:56 maan - - * gui.c: simplify item placement in top.win - -2004-07-23 18:57 maan - - * client.c, afs.c: __func__ - -2004-07-23 18:50 maan - - * client.c: whitespaces - -2004-07-23 18:47 maan - - * net.c: __func__, whitespaces - -2004-07-23 18:43 maan - - * server.c: typo - -2004-07-23 18:41 maan - - * server.c: __func__ - -2004-07-23 18:33 maan - - * server.c: whitespace cleanup - -2004-07-23 18:31 maan - - * server.c: cosmetics - -2004-07-23 18:26 maan - - * INSTALL, Makefile.in, afs.c: cosmetics - -2004-07-21 23:46 maan - - * Makefile.in: simplify install - -2004-07-21 23:45 maan - - * dbtool.c, dbtool.ggo: new option: emph_np - -2004-07-21 23:43 maan - - * README.dbtool: add section on pictures - -2004-07-21 23:29 maan - - * README.dbtool: more details on scoring - -2004-07-21 20:29 maan - - * afs.c: use proper types for return value of fread/write - -2004-07-20 20:15 maan - - * gui.c: detect blocking writes by time, not by count - -2004-07-20 16:25 maan - - * maint.mk: everything went to Makefile.in - -2004-07-20 16:24 maan - - * INSTALL, Makefile.in, gui.c, maint.mk: INSTALL - -2004-07-20 15:37 maan - - * FEATURES: [no log message] - -2004-07-20 04:34 maan - - * configure.ac: cosmetics - -2004-07-20 03:46 maan - - * dbtool.c: uncomment unused function - -2004-07-20 03:46 maan - - * configure.ac: dbtool_template is no longer needed in extras - because it's always built - -2004-07-20 03:37 maan - - * Makefile.in: introduce maintainer-clean for removing _all_ - derived files - -2004-07-20 03:21 maan - - * configure.ac: generated by autoscan, but heavily edited - -2004-07-20 02:52 maan - - * gui.ggo: set default to auto-decoding - -2004-07-20 02:51 maan - - * gui.c: reduce use of global variables - -2004-07-20 02:02 maan - - * gui.ggo: input timeout is long gone - -2004-07-20 02:01 maan - - * gui.c: cosmetics - -2004-07-20 01:20 maan - - * gui.c: fix line numbering in COMMAND_MODE, use va_list for - print_in_bar - -2004-07-20 01:16 maan - - * NEWS: [no log message] - -2004-07-20 01:16 maan - - * Makefile.in: add -WAll to CCFLAGS, fix typo - -2004-07-19 21:21 maan - - * para.h: don't include version.h - -2004-07-19 21:20 maan - - * mp3info.h: resolve -DVERSION conflict - -2004-07-19 21:19 maan - - * Makefile.in, maint.mk: move stuff from maint.mk to Makefile.in, - nuke paraslash_light - -2004-07-19 18:35 maan - - * Makefile.in: use - -2004-07-19 18:07 maan - - * install-sh: autoconf refuses to work without it, strange... - -2004-07-19 17:46 maan - - * dbtool.c: include mysql/mysql.h instead of mysql.h - -2004-07-19 17:45 maan - - * config.mk: no longer needed - -2004-07-19 17:44 maan - - * SFont.c, SFont.h, sdl_gui.c: include SDL/SDL.h instead of SDL.h - -2004-07-19 17:43 maan - - * Makefile: now created by autoconf from Maikefile.in - -2004-07-19 17:42 maan - - * Makefile.in: switch to autoconf - -2004-07-19 12:19 maan - - * gui.c: fix line numbering in command mode, cosmetics - -2004-07-19 12:18 maan - - * afs.c: don't kill stream writer when song is finished - -2004-07-19 12:17 maan - - * server.c: use IPC_PRIVATE, not hardcoded number for semget - -2004-07-15 20:57 maan - - * command.c: fix com_ps - -2004-07-15 18:57 maan - - * command.c: kill useless sleep, fix possible segfault - -2004-07-15 18:47 maan - - * command.c: cosmetics - -2004-07-15 18:38 maan - - * afs.c, command.c, server.c, server.h: fix play command by - introducing a new member in mmd: old_stream. It contains the - number of the stream that was selected as the song started. - Moreover, change mmd->stream from char[] to int. This makes the - patch so large. - -2004-07-14 02:01 maan - - * dbtool_template.c, server.ggo: cosmetics - -2004-07-13 02:40 maan - - * command.c: uptime: add afs_buf size to output - -2004-07-13 02:15 maan - - * server.c: use PROCEED_MSG macro - -2004-07-13 02:03 maan - - * server.c: cosmetics - -2004-07-13 01:57 maan - - * server.c: re-allocate afs_buf on HUP, it's size might have - changed - -2004-07-13 01:56 maan - - * afs.c: afs_send_chunk: rewrite on partial writes - -2004-07-13 00:03 maan - - * fade.c: fade did not read config for silly reasons. Fix buffer - overflow while at it - -2004-07-12 22:48 maan - - * dbtool.c, gui.c, sdl_gui.c: output also directory of sound file - in dbinfo - -2004-07-12 02:24 maan - - * server.ggo: make help fit on 80 column terminals - -2004-07-12 02:23 maan - - * server.c: move log message to where it belongs - -2004-07-12 02:23 maan - - * para.h: cosmetics - -2004-07-12 02:19 maan - - * gui.c: fix hang-when-stopped bug - -2004-07-12 02:18 maan - - * afs.c: __func__ - -2004-07-12 00:03 maan - - * FEATURES: [no log message] - -2004-07-11 22:57 maan - - * INSTALL, README, README.dbtool: various clarifications in - documentation - -2004-07-11 21:31 maan - - * gui.c: init curses and winch cleanup - -2004-07-11 18:41 maan - - * gui.c: hust re-order functions a bit - -2004-07-11 18:32 maan - - * gui.c: dont close status pipe for external commands - -2004-07-11 17:33 maan - - * gui.c: further simplify do_select logic - -2004-07-10 01:01 maan - - * afs.c, server.c, server.ggo, server.h: make chunk buf size for - afs run-time configurable - -2004-07-09 02:39 maan - - * gui.c: simplify logic in do_select - -2004-07-07 23:50 maan - - * Makefile, command.c: output also build date, system and compiler - version in command 'version' - -2004-07-07 23:49 maan - - * gui.c: cosmetics - -2004-07-07 22:57 maan - - * fade.c: fix potential buffer overflow if /home/maan is too long - -2004-07-07 22:56 maan - - * afs.c: cosmetics - -2004-07-07 22:55 maan - - * gui.c: do_select: logical cleanup - -2004-06-30 13:26 maan - - * fade.c: fix waketime in sweet_dreams - -2004-06-23 23:32 maan - - * exec.c, server.c, server.ggo, server.h: move popeostream writer - -2004-06-23 23:31 maan - - * afs.c: major send_chunk cleanup. Hot! - -2004-06-22 01:31 maan - - * gui.c: cleanup dead code - -2004-06-20 18:13 maan - - * server.ggo: kill unused option - -2004-06-20 18:10 maan - - * FEATURES, INSTALL: some clarifications, typos - -2004-06-20 18:08 maan - - * config.mk: cosmetics - -2004-06-20 18:06 maan - - * fade.c: bail out if mixer cant be opened - -2004-06-20 17:55 maan - - * fade.c: simplify sweet_dreams - -2004-06-20 16:28 maan - - * command.c: improve play command: accepts stream as first - (optional) argument - -2004-06-20 16:25 maan - - * gui.c: dont suck cpu if no server is available - -2004-06-12 03:10 maan - - * gui.c: cosmetics - -2004-06-10 01:34 maan - - * para.h: add prototype for exec_cmdline_pid_bg - -2004-06-09 03:04 maan - - * gui.c: fix missing write on command exec - -2004-06-09 02:06 maan - - * gui.c: check also stream write pipe in do_select, introduce ascii - logo - -2004-06-08 02:57 maan - - * gui.c: it works fine with only 13 lines. Fix minor sigwinch bug - when resizing to very small windows - -2004-06-08 02:45 maan - - * gui.c: fix color of separator - -2004-06-08 02:40 maan - - * gui.c: kill com_exit. Leaving decoder in bg wont work anymore - -2004-06-08 02:36 maan - - * gui.c: make it survive partial writes - -2004-06-08 02:08 maan - - * gui.c: fix help output - -2004-06-08 02:05 maan - - * gui.c: cosmetics - -2004-06-08 01:51 maan - - * gui.c: retain screen content on window changes - -2004-06-07 23:20 maan - - * gui.c: terminate decoder after 10 times EAGAIN - -2004-06-07 04:15 maan - - * gui.c: better sigwinch handling - -2004-06-07 03:20 maan - - * gui.c: it is pointless to have a fuction that only contains a - for(;;) loop - -2004-06-07 02:54 maan - - * gui.c: avoid busy loop when there is nothing to do - -2004-06-07 02:12 maan - - * gui.conf.sample: some more examples - -2004-06-07 02:02 maan - - * gui.c: add some docu - -2004-06-07 01:44 maan - - * gui.c: fix trailing whitespace - -2004-06-07 01:41 maan - - * gui.c: no need to set nodelay every time - -2004-06-07 01:21 maan - - * gui.ggo: short command line options - -2004-06-07 01:20 maan - - * gui.c: simplify key_map, cosmetics - -2004-06-07 00:59 maan - - * gui.conf.sample: update to new syntax - -2004-06-07 00:47 maan - - * gui.c: cosmetics - -2004-06-07 00:43 maan - - * gui.c: nuke GETSTR mode of do_select and com_decode. Many small - improvements - -2004-06-07 00:42 maan - - * exec.c: two new exec functions without pipes. redirect unneded - fds to /dev/null - -2004-06-06 17:45 maan - - * exec.c, gui.c, gui.ggo, para.h: implement own functions for - stream io - -2004-06-06 14:37 maan - - * gui.c: new stop_decoder command - -2004-05-29 21:46 maan - - * gui.c: declare more functions as static - -2004-05-29 21:43 maan - - * gui.c: more cosmetics - -2004-05-29 21:28 maan - - * gui.c: cosmetics - -2004-05-29 21:27 maan - - * exec.c: dont mess with stderr - -2004-05-29 21:27 maan - - * gui.c: bot window needs at least two lines - -2004-05-29 18:32 maan - - * gui.c: color handling cleanup - -2004-05-29 17:36 maan - - * gui.c: cosmetics - -2004-05-29 17:28 maan - - * NEWS, gui.conf.sample: NEWS - -2004-05-29 17:21 maan - - * fade.conf.sample: add fade options - -2004-05-29 17:21 maan - - * gui.conf.sample: remove fade options - -2004-05-29 17:19 maan - - * gui.c: remove dead code, small cleanups - -2004-05-29 17:05 maan - - * exec.c, gui_common.c: move file_exists() from gui_common.c to - exec.c since fade also needs it - -2004-05-29 17:04 maan - - * Makefile, config.mk: add para_fade - -2004-05-29 17:03 maan - - * gui.c, gui.ggo: nuke soundcard stuff which was moved to fade - -2004-05-29 17:03 maan - - * fade.c, fade.ggo: contains soundcard and linux specific stuff, - ripped out of gui.c, gui.ggo - -2004-05-29 14:12 maan - - * gui.ggo: use typestr - -2004-05-29 13:45 maan - - * README: add dbadm - -2004-05-27 23:48 maan - - * gui_common.c, para.h: add prototypes of new exec functions - -2004-05-27 23:48 maan - - * gui.c: use new exec functions to obtain pid of child - -2004-05-27 23:46 maan - - * exec.c: fix up exec functions (use exec instead of return, - uhuhuhu), add variants of several functions that can return the - pid of child processes - -2004-05-27 23:44 maan - - * dbadm.c: fix potential segfault - -2004-05-23 18:08 maan - - * dbadm.c: fix menu in case of small window size - -2004-05-23 16:16 maan - - * dbadm.c: use static functions - -2004-05-23 16:11 maan - - * dbadm.c: fix filename printing for long filenames - -2004-05-23 15:41 maan - - * Makefile, dbadm.c: use internal popen_xxx fuctions - -2004-05-22 16:23 maan - - * Makefile, config.mk: include para_dbadm - -2004-05-22 16:22 maan - - * client.c, server.c: increase limit for command line length - -2004-05-22 04:20 maan - - * dbadm.c: color cleanups - -2004-05-22 03:38 maan - - * dbadm.c: many small cleanups - -2004-05-22 02:44 maan - - * dbadm.c: first usable version - -2004-05-22 01:02 maan - - * dbadm.c: small tool to modify attributes - -2004-05-21 02:35 maan - - * gui.c: new command: toggle auto decoding - -2004-05-21 01:54 maan - - * gui.c: kill children on sigint - -2004-05-21 00:55 maan - - * gui.c: close status pipe before executing external commands, - reopen afterwards - -2004-05-15 18:51 maan - - * gui.c: typo - -2004-05-15 18:50 maan - - * dbtool.c: free all dynamically allocated resources, static - functions, reduce use of exit() - -2004-05-12 21:23 maan - - * gui.c: comment out debugging messages - -2004-05-12 21:18 maan - - * gui.c: shutdown curses on external commands - -2004-05-12 20:30 maan - - * NEWS: [no log message] - -2004-05-10 23:09 maan - - * server.c: cosmetics - -2004-05-10 23:09 maan - - * client.c: use C99 identifier __func__ - -2004-05-10 22:12 maan - - * para.h: avoid compiler warning - -2004-05-10 22:11 maan - - * afs.c, command.c, server.c: update dbinfo only after commands - with perms & DB_WRITE != 0 - -2004-05-10 04:20 maan - - * gui.c: cosmetics - -2004-05-10 03:48 maan - - * gui.c: make errmsg for unknown keys work again - -2004-05-10 03:39 maan - - * gui.conf.sample: add standard key mappings - -2004-05-10 03:31 maan - - * para.h: key is now a string, not a char - -2004-05-10 03:31 maan - - * exec.c: typo - -2004-05-10 03:30 maan - - * gui.c: make all commands runtime-configurable, make function keys - and control keys work in configfile, much nicer help page - -2004-05-09 22:12 maan - - * gui.c: fix line numbering in help - -2004-05-09 22:08 maan - - * server.c: move split_args function to exec.c - -2004-05-09 22:07 maan - - * para.h: add new struct gui_command - -2004-05-09 22:06 maan - - * gui.c: nicify help and improve key map handling - -2004-05-09 22:04 maan - - * exec.c: move split_args from server.c, new function - popen_read_client_cmdline - -2004-05-09 16:29 maan - - * gui.c, maint.mk: cosmetics - -2004-05-08 15:04 maan - - * NEWS: [no log message] - -2004-05-08 15:01 maan - - * gui.c: new command: V (print version) - -2004-05-08 14:31 maan - - * maint.mk: set umask to 022 before creating files. Ugly - -2004-05-05 00:11 maan - - * gui.c: cosmetics - -2004-05-04 23:40 maan - - * gui.ggo: add new option: key_map to map keys to shell commands - -2004-05-04 23:26 maan - - * gui.c: make reread config work again, cleanups - -2004-05-04 23:11 maan - - * gui.c: kill key maps 0-9 (volume setting) - -2004-05-04 23:05 maan - - * gui.conf.sample: add key_map comments - -2004-05-04 22:52 maan - - * gui.c: implement key mappings, kill bogus transform_vol - -2004-05-04 02:31 maan - - * client.c, dbtool.c, gui.c, gui.ggo, sdl_gui.c, server.c: update - to recent version of gengetopt - -2004-04-25 18:04 maan - - * addons/gkrellm_cmd_display/para_ctrl.c: dont crash if no pic was - found - -2004-04-25 16:09 maan - - * dbtool.c: get pic by identifier if name starts with '#' - -2004-04-25 16:08 maan - - * bash_completion: add some more commands - -2004-04-25 16:01 maan - - * README: cosmetics - -2004-04-25 04:52 maan - - * addons/gkrellm_cmd_display/para_ctrl.c: info text, make it - survive theme cgange, cleanups - -2004-04-24 16:14 maan - - * addons/gkrellm_cmd_display/para_ctrl.c: cosmetics - -2004-04-18 00:29 maan - - * addons/gkrellm_cmd_display/: Makefile, cmd_display.c: again, too - much to document. Still buggy wrt opening/closing pipes - -2004-04-17 23:53 maan - - * addons/gkrellm_cmd_display/para_ctrl.c: too much to tell - -2004-04-17 18:26 maan - - * addons/gkrellm_cmd_display/para_ctrl.c: gkrellm plugin that - displays paraslash images - -2004-04-17 15:56 maan - - * NEWS, command.c: new command: sc (song change) - -2004-04-10 13:10 maan - - * addons/gkrellm_cmd_display/cmd_display.c: make scrolling work - again and make scrolling speed configurable - -2004-04-10 12:36 maan - - * dbtool.c: cleanups - -2004-04-08 20:39 maan - - * addons/gkrellm_cmd_display/cmd_display.c: make click left button - exec Mcommand - -2004-04-08 14:08 maan - - * addons/gkrellm_cmd_display/cmd_display.c: scroll text - -2004-04-05 02:08 maan - - * addons/gkrellm_cmd_display/cmd_display.c: cleanups - -2004-04-05 01:26 maan - - * addons/gkrellm_cmd_display/cmd_display.c: cleanups - -2004-04-05 00:51 maan - - * addons/gkrellm_cmd_display/: cmd_display.c: Can't crash it any - more - -2004-04-04 21:30 maan - - * addons/gkrellm_cmd_display/cmd_display.c: fix memory leak, make - mouse button work again - -2004-04-04 20:21 maan - - * addons/gkrellm_cmd_display/: Makefile, cmd_display.c: too much to - mention - -2004-04-04 16:15 maan - - * addons/gkrellm_cmd_display/: Makefile, cmd_display.c: former - gkrellm-fileread-2.00 - -2004-03-17 13:42 maan - - * maint.mk: cosmetics - -2004-03-17 13:41 maan - - * Makefile: use type -p rather than which to find poc-fec - -2004-03-17 13:36 maan - - * 1.0: [no log message] - -2004-02-24 14:35 maan - - * NEWS: [no log message] - -2004-02-20 16:27 maan - - * gui.c: new command: x (quit, but leave decoder) - -2004-02-20 00:50 maan - - * client.c: handle binary input properly - -2004-02-14 00:38 maan - - * dbtool.c: cosmetics - -2004-02-02 02:33 maan - - * command.c: cosmetics - -2004-02-02 02:27 maan - - * NEWS: [no log message] - -2004-02-02 02:25 maan - - * gui.c: new key binding: u (uptime) - -2004-01-25 01:05 maan - - * README.dbtool, config.mk: cosmetics - -2004-01-25 01:05 maan - - * INSTALL: streaming capabilities are no longer required for mp3 - decoder - -2004-01-25 01:04 maan - - * FEATURES: reformat to make it look nicer in html - -2004-01-24 23:52 maan - - * dbtool_template.c: help must print _three_ lines - -2004-01-24 23:51 maan - - * gui.ggo: use proper default value for decode_cmd - -2004-01-24 23:50 maan - - * INSTALL, Makefile, README, config.mk: dbtool.sample script -> - dbtool_template.c - -2004-01-24 23:03 maan - - * dbtool_template.c: C-version of former dbtool.sample shell script - -2004-01-24 23:03 maan - - * dbtool.sample: replaced by dbtool_template.c - -2004-01-24 13:19 maan - - * server.c: ignore sigpipe, nicify log message for sigchld - -2004-01-24 12:20 maan - - * server.c: remove crappy and unused get_exit_status, kill sigpipe - handling code - -2004-01-24 12:11 maan - - * NEWS: [no log message] - -2004-01-23 09:35 maan - - * gui.c: new command: A (list attributes) - -2004-01-23 09:34 maan - - * server.h: add afs_preselect - -2004-01-23 09:34 maan - - * server.c: proper signal handling using signal pipe - -2004-01-19 00:05 maan - - * net.c: handle partial sends properly - -2004-01-18 01:01 maan - - * dbtool.c: new macro: PICID - -2004-01-18 01:01 maan - - * NEWS: [no log message] - -2004-01-17 23:28 maan - - * README.dbtool: major reorganisation/update - -2004-01-13 02:30 maan - - * command.c, net.c, para.h: new function: send_buffer_ll. Like - send_buffer, but allows to specify loglevel - -2004-01-13 02:29 maan - - * afs.c: cosmetics - -2004-01-13 02:00 maan - - * NEWS: [no log message] - -2004-01-13 02:00 maan - - * gui.c: add S (list streams) - -2004-01-13 01:59 maan - - * Makefile, maint.mk: fix -V (version) - -2004-01-13 01:23 maan - - * README.dbtool: update creation of streams - -2004-01-13 01:08 maan - - * dbtool.c: get_query: thinko - -2004-01-13 01:01 maan - - * dbtool.c: get_query: make an empty stream definition select all - songs - -2004-01-13 00:48 maan - - * NEWS: [no log message] - -2004-01-13 00:48 maan - - * afs.c: afs_send_chunk: either write to poc pipe or kill it - -2004-01-09 22:07 maan - - * para.h, server.h: move CHUNK_BUFFSIZE from para.h to server.h - -2004-01-09 22:06 maan - - * exec.c: new function: popen_write_poc. It returns pipe fd _and_ - pid of poc-fec - -2004-01-09 22:00 maan - - * afs.c, server.c: new functions: kill_poc/do_get_song. Move poc - stuff completely to afs - -2004-01-09 21:57 maan - - * NEWS: [no log message] - -2004-01-06 23:21 maan - - * server.h: new flag: AFS_REREAD_DB_INFO - -2004-01-06 23:21 maan - - * server.c: check semop for return value and retry semop on error - -2004-01-06 23:18 maan - - * gui.c: add new key-binding: Q -> strq - -2004-01-06 23:17 maan - - * dbtool.c: nuke scan for unnecessary 'end:' fix potential buffer - overflow - -2004-01-06 23:16 maan - - * command.c: set AFS_REREAD_DB_INFO after each dbtool command to - make dbinfo current in stat/gui - -2004-01-06 22:52 maan - - * afs.c: single out update of db_info to call it also from server - when new flag AFS_REREAD_DB_INFO was set by child - -2004-01-05 00:51 maan - - * dbtool.sample: help: output 3 columns - -2004-01-05 00:50 maan - - * dbtool.c: piclist: order pics by id - -2004-01-05 00:50 maan - - * command.c: uptime: print current loglevel - -2004-01-05 00:49 maan - - * README, README.dbtool: [no log message] - -2004-01-04 21:55 maan - - * server.h: add get_poc_pipe, change afs_send_chunk - -2004-01-04 21:54 maan - - * maint.mk: remove html files on distclean - -2004-01-04 21:53 maan - - * config.mk: move BINARIES from Makefile to config.mk to let the - user remove targets she doesn't want to build - -2004-01-04 21:51 maan - - * afs.c, server.c: move opening/closing of poc pipe to afs, reopen - poc_pipe on AFS_REPOS to avoid clipping and decoder crashes - -2004-01-04 21:49 maan - - * NEWS: [no log message] - -2004-01-04 21:49 maan - - * Makefile: major cleanup, should compile faster on rebuilds - -2004-01-04 21:49 maan - - * INSTALL, README.dbtool: more explanation, reordering - -2004-01-04 21:47 maan - - * COPYING: change year to 2004 - -2004-01-04 07:27 maan - - * CREDITS, INSTALL, NEWS, README, README.dbtool, command.c, - dbtool.c, server.h: major documentation update - -2004-01-04 07:27 maan - - * maint.mk: add manual.txt and web targets - -2004-01-04 07:26 maan - - * server.c: dont exit if no streams were found on startup - -2004-01-04 02:18 maan - - * afs.c: use POC_FEC which was located by make rather than relying - on - /home/maan/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/local/scripts:/usr/local/mysql/bin:.:/usr/local/teTeX/bin/i586-pc-linux-gnu/:/home/maan/MIRROR/bin - -2004-01-04 02:17 maan - - * Makefile: check also for poc-fec - -2004-01-04 02:07 maan - - * README, afs.c, client.c, command.c, dbtool.c, gui.c, maint.mk, - para.h, sdl_gui.c, server.c, server.h: cosmetics - -2004-01-04 01:54 maan - - * Makefile, config.mk, maint.mk: split Makefile into three parts - -2004-01-03 23:27 maan - - * command.c, dbtool.c: cosmetics - -2004-01-03 22:38 maan - - * NEWS: [no log message] - -2004-01-03 22:28 maan - - * dbtool.c: new function: stdin2buf. make picadd accept jpeg data - from stdin. Change picch to only change name - -2004-01-03 20:00 maan - - * gui.c: print key-bindings of c/C (next/previous stream) in help - -2004-01-03 19:59 maan - - * dbtool.conf.sample: nuke streams - -2004-01-03 19:58 maan - - * dbtool.c: strq: use memchr rather than strchr on potentially - binary data. stradd: properly escape stream definition - -2004-01-03 19:55 maan - - * command.c: dbtool_cmd_handler: cleanup - -2004-01-03 19:54 maan - - * client.c: cosmetics - -2004-01-03 19:53 maan - - * afs.c: make get_song return -1 on errors rather than 0 - -2004-01-03 19:52 maan - - * README.dbtool: [no log message] - -2004-01-03 05:50 maan - - * server.h: add modus to struct command - -2004-01-03 05:49 maan - - * para.h: new #defines: AWAITING_DATA_MSG and PROCEED_MSG - -2004-01-03 05:49 maan - - * net.c: new function: recv_bin_buffer - -2004-01-03 05:48 maan - - * gui.c: bind ns to c again and ps to C - -2004-01-03 05:47 maan - - * dbtool.ggo: nuke streams option - -2004-01-03 05:47 maan - - * dbtool.c: new modus flag. stream list is now stored inside mysql - db. new commands: strq, stradd, strdel cdb: create all tables - -2004-01-03 05:44 maan - - * command.c: new command flag: modus (read or write command). This - makes three command handlers: server/db_read/db_write. - Consequently, dbtool changed a lot. - - new command: ps (reuse code of ns) - -2004-01-03 05:39 maan - - * client.c: send stdin to server if server sends AWAITING_DATA_MSG - -2004-01-03 05:36 maan - - * 1.0, FEATURES, NEWS, README: [no log message] - -2003-12-28 21:29 maan - - * afs.c: reset mmd.vbr after each song. That seems to be - necessary.. - -2003-12-28 04:16 maan - - * Makefile, gui.c: cosmetics - -2003-12-28 02:35 maan - - * gui.c: cosmetics - -2003-12-28 02:22 maan - - * gui.c: hide cursor - -2003-12-27 21:07 maan - - * FEATURES: [no log message] - -2003-12-27 14:49 maan - - * Makefile, bash_completion, command.c, exec.c, gui.c, - gui_common.c, sdl_gui.c: replace remaining occurences of icc by - para - -2003-12-27 06:52 maan - - * command.c, dbtool.sample, sdl_gui.c, sdl_gui.conf.sample: replace - more icc by para - -2003-12-27 06:35 maan - - * Makefile, dbtool.sample, server.conf.sample: replace icc_server - by para_server - -2003-12-27 06:30 maan - - * Makefile, client.c, dbtool.c, dbtool.sample, exec.c, gui.c, - gui_common.c, net.c, sdl_gui.c, server.h: replace icc.h by para.h - -2003-12-27 06:25 maan - - * para.h: former icc.h - -2003-12-27 06:25 maan - - * icc.h: renamed to para.h - -2003-12-27 06:21 maan - - * CREDITS, INSTALL, Makefile, NEWS, README, README.dbtool, - client.c, client.conf.sample, client.ggo, command.c, dbtool.c, - dbtool.conf.sample, dbtool.ggo, gui.c, gui.ggo, icc.h, sdl_gui.c, - sdl_gui.ggo, server.c, server.ggo: replace icc by para - -2003-12-27 05:54 maan - - * pics/default.jpg: no more stinky fingers as default, use - paraslash logo instead - -2003-12-27 00:12 maan - - * xmms-1.2.7.titlebar_vbr_patch: no longer needed - -2003-12-27 00:11 maan - - * NEWS: [no log message] - -2003-12-27 00:11 maan - - * Makefile: remove dependencies on Makefile - -2003-12-26 21:51 maan - - * VERSION: bump version number to 98 - -2003-12-26 18:53 maan - - * NEWS, README, README.dbtool, gui.c, icc.h: cosmetics - -2003-12-26 18:09 maan - - * icc.h, server.h: move struct command from icc.h to server.h - -2003-12-26 18:07 maan - - * icc.h, server.h: move struct user from icc.h to server.h - -2003-12-26 18:04 maan - - * gui.c, gui_common.c, icc.h, sdl_gui.c: move open_stat_pipe to - gui_common.c - -2003-12-26 17:37 maan - - * NEWS: [no log message] - -2003-12-26 17:37 maan - - * sdl_gui.c: change placement to make all items fit on a 1024x768 - screen. Also fix config file reading - -2003-12-26 17:37 maan - - * afs.c, server.c: loglevel adjustments - -2003-12-26 17:37 maan - - * gui_common.c: new function: file_exists - -2003-12-26 17:37 maan - - * gui.c: simplify config_file exitst by using new function - file_exists - -2003-12-26 17:37 maan - - * Makefile: tgz: make four tarballs - -2003-12-26 03:09 maan - - * gui.c: base_key: return given value itsself rather that -1 if we - have no idea what is is - -2003-12-26 02:32 maan - - * gui.c: print codename in Welcome message - -2003-12-26 02:32 maan - - * Makefile: include CODENAME in version.h - -2003-12-26 02:10 maan - - * server.h: nuke mmd->remaining since it is derived - -2003-12-26 02:10 maan - - * gui.c: logical reordering of functions - -2003-12-26 02:09 maan - - * server.c: cosmetics - -2003-12-26 02:08 maan - - * afs.c, command.c: finetune former afs commands, nuke - mmd->remaining since it is derived - -2003-12-25 23:52 maan - - * afs.c, server.c: send each file to separate poc process - -2003-12-25 21:32 maan - - * gui.c: cosmetics - -2003-12-25 21:30 maan - - * gui.c: simplify base_key function - -2003-12-25 20:41 maan - - * gui.c: new command: CTRL+L to repaint screen - -2003-12-25 20:40 maan - - * command.c: fix cr problem with sb - -2003-12-25 19:04 maan - - * afs.c, command.c, server.h: move compute_sb_string from afs to - command.c allowing to nuke mmd->status_bar - -2003-12-25 18:39 maan - - * afs.c, command.c, server.c, server.h: nuke mmd->afs_status, use - only status_flags instead - -2003-12-25 17:32 maan - - * gui.c: new commands: F1-F10 to jmp, rename some commands - -2003-12-25 02:36 maan - - * server.c, server.h: move gengetopt_args_info conf out of mmd - -2003-12-25 02:22 maan - - * afs.c, server.h: get rid of file_status in mmd - -2003-12-25 02:06 maan - - * afs.c, server.h: compute mmd->total and friends in - afs_send_chunk, not in update_mmd, get rid of mmd->soc - -2003-12-25 01:48 maan - - * command.c, server.c, server.h: implement counter for currently - active connections - -2003-12-25 01:08 maan - - * server.c, server.h: store semid for mmd locking in extern - variable, not in mmd itsself - -2003-12-25 01:05 maan - - * command.c, server.c, server.h: move mmd lock functions from - command.c to server.c - -2003-12-25 00:54 maan - - * afs.c, server.c: small logging cleanups - -2003-12-23 17:37 maan - - * Makefile: add codename funny - -2003-12-23 17:11 maan - - * afs.c, command.c, sdl_gui.c: stat prints wheather current mp3 has - vbr or not - -2003-12-23 05:25 maan - - * server.c: init mmd->server_pid. That broke hup - -2003-12-23 05:23 maan - - * afs.c: cosmetics - -2003-12-23 03:54 maan - - * command.c: dont sleep after last status line has been printed - -2003-12-23 00:54 maan - - * afs.c, server.c: add some logging - -2003-12-22 23:22 maan - - * INSTALL, README: [no log message] - -2003-12-22 23:08 maan - - * afs.c, client.c, command.c, net.c, server.c, server.h: change log - to clog to avoid compiler warnings - -2003-12-22 22:16 maan - - * gui.conf.sample: adapt to new decode_cmd syntax - -2003-12-22 22:15 maan - - * gui.c: introduce (and check in do_select) decoder_pipe to avoid - multiple instances of the decoder - -2003-12-22 16:08 maan - - * server.h: adapt afs_send_chunk to new syntax - -2003-12-22 16:07 maan - - * server.c: reopen poc pipe if afs_send_chunk failed - -2003-12-22 16:06 maan - - * gui.c: ignore SIGCHLD and SIGPIPE - -2003-12-22 16:05 maan - - * afs.c: make afs_send_chunk return negative value if write to - poc_pipe failed - -2003-12-22 04:59 maan - - * server.c: fix stop command - -2003-12-22 04:58 maan - - * command.c: fix stop command, log cleanups - -2003-12-22 04:57 maan - - * afs.c: log cleanups - -2003-12-22 04:56 maan - - * NEWS: aaa - -2003-12-22 04:56 maan - - * Makefile: change THANKS to CREDITS - -2003-12-22 04:55 maan - - * CREDITS: add Manuel Odendahl - -2003-12-22 02:55 maan - - * CREDITS: former THANKS - -2003-12-22 02:55 maan - - * THANKS: renamed to CREDITS - -2003-12-22 02:44 maan - - * 1.0, INSTALL, Makefile, NEWS, README, afs.c, command.c, exec.c, - gui.c, gui.ggo, icc.h, server.c, server.conf.sample, server.ggo, - server.h: kick icecast, switch to poc - -2003-12-22 02:44 maan - - * icecast.conf.sample, init_afs.c: no longer needed - -2003-12-20 15:48 maan - - * server.c: kill pid_list code (was commented out) - -2003-12-20 15:44 maan - - * gui.conf.sample: sample configuration file - -2003-12-20 15:43 maan - - * NEWS: [no log message] - -2003-12-20 15:41 maan - - * gui.c, gui.ggo: implement auto-decoding - -2003-12-20 15:39 maan - - * afs.c: set status to playing _after_ the first chunk has been - streamed - -2003-12-18 01:48 maan - - * command.c, server.c: fix term command which broke due to removal - of pid_list - -2003-12-17 00:54 maan - - * SFont.c: include stdlib to avoid compiler warnings - -2003-12-17 00:28 maan - - * NEWS: [no log message] - -2003-12-17 00:18 maan - - * server.c: Pid was logged twice in debug mode. Fix it. - -2003-12-17 00:13 maan - - * command.c, gui.c, init_afs.c, server.c: comment out racy pid_list - crap - -2003-12-04 23:22 maan - - * dbtool.conf.sample: document gengetopt's strange behaviour - concerning backsslashes in arguments - -2003-12-04 01:29 maan - - * dbtool.c: cosmetics - -2003-12-02 02:31 maan - - * dbtool.c: fix help test format for verb - -2003-12-02 02:08 maan - - * dbtool.c: print score of zero if it is undefined - -2003-12-02 00:37 maan - - * dbtool.c: new command: verb - -2003-12-02 00:37 maan - - * NEWS: [no log message] - -2003-12-01 23:20 maan - - * SFont.h: Missing since ages. Reported by Thomas Forell - -2003-12-01 23:18 maan - - * NEWS: insert release date of 0.0.97 - -2003-11-23 21:19 maan - - * gui.c: dont die on sigchld. That was silly. Instead, die on - sighup and change signal for rereading conf from hup to usr1 - -2003-11-23 21:11 maan - - * README.dbtool: document pic column - -2003-11-23 21:10 maan - - * dbtool.c: test args_info.find_cmd_given, fix typo - -2003-11-20 00:22 maan - - * gui.c: Die on sigchld. This should fix stale processes that eat - up memory. - -2003-10-30 21:51 maan - - * server.c, server.ggo: dont change stream on hup - -2003-10-26 14:11 maan - - * VERSION: bump version number to 97 - -2003-10-26 12:18 maan - - * Makefile: add THANKS to txts - -2003-10-26 12:18 maan - - * NEWS: cosmetics - -2003-10-26 00:46 maan - - * NEWS: cosmetics - -2003-10-26 00:41 maan - - * NEWS: nuke icc prefix - -2003-10-26 00:33 maan - - * gui.c: com_sleep: change stream _after_ sleep - -2003-10-21 22:35 maan - - * README.dbtool: some small changes - -2003-10-21 22:25 maan - - * README: sdl_gui update - -2003-10-21 21:48 maan - - * dbtool.ggo: gengetopt file for dbtool - -2003-10-21 21:46 maan - - * THANKS: list of people who helped developing this project - -2003-10-21 21:23 maan - - * gui.c: change snooze key from o to a (because it is easier to hit - on the keyboard when dazed and confused in the morning) - -2003-10-20 23:58 maan - - * sdl_gui.ggo: add option w which is currently ignored but needed - to start sdl_gui from xscreensaver - -2003-10-20 23:57 maan - - * gui.c: new function: outputf to print formated output. Avoid - sleep on startup, print message in bot window instead. - -2003-10-20 23:56 maan - - * client.c: cosmetics - -2003-10-20 23:56 maan - - * NEWS: [no log message] - -2003-10-20 22:33 maan - - * gui.c: cosmetics - -2003-10-20 22:08 maan - - * gui.c: do not cleanup in interrupt handler (that crap originally - came from some examples), set flag instead. This allows to omit - the strange sleep(1) in finish, so quiting quits immediately now. - Also, catch sigterm and exit gracefully. - -2003-10-20 21:43 maan - - * gui.c: catch sighup and reread configuration on sighup - -2003-10-19 22:58 maan - - * afs.c: cosmetics - -2003-10-19 17:11 maan - - * gui.c: make sleep kinda work - -2003-10-11 18:49 maan - - * dbtool.c: we only need basename of row[1] - -2003-10-11 18:46 maan - - * command.c: help text update - -2003-10-11 18:46 maan - - * NEWS: update - -2003-10-11 18:46 maan - - * Makefile: Change default prefix to /usr/local - -2003-10-08 18:02 maan - - * dbtool.c: update syntax of fut in help (reported by Thomas - Forell) - -2003-10-07 19:39 maan - - * exec.c: dont dup stderr - -2003-10-07 19:38 maan - - * gui.c, gui.ggo: add decode command - -2003-10-07 19:33 maan - - * dbtool.c: remove useless printf - -2003-10-07 19:33 maan - - * client.c: fix interactive mode (reported by Thomas Forell) - -2003-09-25 02:46 maan - - * dbtool.c: minor cleanups - -2003-09-24 23:35 maan - - * dbtool.conf.sample: put quotes around find_cmd - -2003-09-24 23:34 maan - - * dbtool.c: switch to gengetopt - -2003-09-24 23:34 maan - - * NEWS: update - -2003-09-24 23:34 maan - - * Makefile: dbtool depends on dbtool.cmdline.c - -2003-09-23 20:46 maan - - * Makefile: nuke unused TODO stuff - -2003-09-23 19:22 maan - - * gui.ggo: gengetopt file for gui - -2003-09-23 19:17 maan - - * command.c, icc.h, server.c: change all handlers from static int - com_foo(char *, int); to static int com_foo(int, int, char **);, - i.e. pass pointerarray instead of command line to handlers - -2003-09-23 19:13 maan - - * afs.c: cosmetics - -2003-09-23 19:12 maan - - * .tdldb: unused since May 2002 - -2003-09-23 15:23 maan - - * server.c: use popen_read_dbtool - -2003-09-23 15:23 maan - - * sdl_gui.c: use popen_read_client - -2003-09-23 15:22 maan - - * command.c, icc.h: cosmetics - -2003-09-22 22:04 maan - - * gui.c: simplify cases (vol1 - vol9), add sleep command to help - text - -2003-09-22 21:46 maan - - * gui.c: new function: configfile_exists. do_select: change long - int timeout ro tong long timeout. Long timeouts didnt work - otherwise. Fix thinko with select_timeout (introducing - default_select_timeout). New function and command: reread - config. - -2003-09-22 20:59 maan - - * afs.c: print two digits sor seconds in log info - -2003-09-22 17:18 maan - - * gui.c: use gengetopt - -2003-09-22 17:18 maan - - * Makefile: gui depends on gui.cmdline.c - -2003-09-22 02:50 maan - - * command.c: cosmetics - -2003-09-22 02:43 maan - - * dbtool.c: dokumentation update for na - -2003-09-22 02:30 maan - - * afs.c: use mmd->size instead of equivalent - mmd->file_status.st_size - -2003-09-22 02:23 maan - - * afs.c: cosmetics - -2003-09-22 02:08 maan - - * icc.h: add popen_read_dbtool - -2003-09-22 02:08 maan - - * command.c: use popen_read_dbtool, log correct fd in debug mode - -2003-09-22 02:06 maan - - * afs.c: use popen_read_dbtool - -2003-09-22 02:06 maan - - * exec.c: new function popen_read_dbtool - -2003-09-22 01:03 maan - - * sdl_gui.c: use popen again for commands (with popoen_read, - commands having more than one arg doesnt work) - -2003-09-22 01:01 maan - - * icc.h: add new function popen_read_client - -2003-09-22 01:01 maan - - * gui.c: use new function popen_read_client - -2003-09-22 00:59 maan - - * exec.c: new function: popen_read_client - -2003-09-22 00:59 maan - - * command.c: adapt help text of ff to new syntax - -2003-09-22 00:58 maan - - * Makefile: sdl_gui depends on exec.c - -2003-09-22 00:58 maan - - * afs.c: make ff work again with negative offset - -2003-09-21 15:15 maan - - * sdl_gui.c: use popen_read where it makes sense - -2003-09-19 14:19 maan - - * server.conf.sample: replace never uptodate example configureation - by hint to read help - -2003-09-19 14:18 maan - - * gui.c: use popen_read - -2003-09-19 14:17 maan - - * exec.c: dont log anything, dont exit on errors, return NULL - instead - -2003-09-19 14:16 maan - - * Makefile: icc_gui needs exec.c - -2003-09-18 03:35 maan - - * gui.c: only use strlen if we really need to know the length - -2003-09-18 02:38 maan - - * gui.c: cosmetics - -2003-09-18 02:24 maan - - * gui.c: tidy up do_select - -2003-09-18 02:04 maan - - * gui.c: fix output bug causing end of buffer being displayed on - next command - -2003-09-17 23:20 maan - - * command.c: help: fix alphabetical ordering - -2003-09-17 22:53 maan - - * server.c: use popen_read instead of popen - -2003-09-17 22:52 maan - - * exec.c: dont write to stdout/stderr - -2003-09-17 22:52 maan - - * command.c: cosmetics - -2003-09-17 22:38 maan - - * command.c: lcl_init: use popen_read another time - -2003-09-17 22:35 maan - - * command.c: lcl_init: use popen_read - -2003-09-17 22:07 maan - - * server.c: always print strerror() text from exit status - -2003-09-17 22:07 maan - - * icc.h: add prototype for popen_read_vp - -2003-09-17 22:06 maan - - * exec.c: new function: popen_read_vp (ala execvp) - -2003-09-17 22:05 maan - - * dbtool.c: change syntax of picass: Now ID has to be specified - instead of name. escape filenames several times. - -2003-09-17 22:03 maan - - * command.c: afs_cmd_handler: replace \n by space in args. new - function: split args. dbtool_cmd_handler: use popen_read_vp - instead of popen. - -2003-09-17 21:58 maan - - * client.c: dont send addidtional space in commands - -2003-09-17 21:58 maan - - * afs.c: dont log warnings on EINTR. - -2003-09-17 17:31 maan - - * dbtool.c: info: dont continue if entry not found - -2003-09-17 17:26 maan - - * dbtool.c: replace add_slashes by escape_str which calls - mysql_real_escape_string - -2003-09-17 00:49 maan - - * NEWS: update - -2003-09-17 00:48 maan - - * afs.c: replace popen by popen_read - -2003-09-17 00:32 maan - - * icc.h: add popen_read - -2003-09-17 00:32 maan - - * dbtool.c: modify add_slashes to return dynamically allocated - buffer. use add_slashes in us and info. - -2003-09-17 00:30 maan - - * afs.c: use popen_read instead of popen - -2003-09-17 00:30 maan - - * Makefile: server depends on exec.c - -2003-09-17 00:29 maan - - * exec.c: new: contains only popen_read for now - -2003-09-15 03:51 maan - - * dbtool.c: cosmetics - -2003-09-15 03:16 maan - - * dbtool.c: help text update - -2003-09-15 02:09 maan - - * 1.0, command.c, server.conf.sample: print - -2003-09-15 02:01 maan - - * dbtool.c: print mysql_error message in get_resuts, use strlen - only where neccessary - -2003-09-15 01:59 maan - - * command.c: insert commands in alphabetical order into lcl - -2003-09-14 23:13 maan - - * dbtool.c: cosmetics - -2003-09-14 20:15 maan - - * dbtool.c: do not write to stderr - -2003-09-14 18:39 maan - - * dbtool.c: fut: dont limit number of matches since we have to - consider all matches to make the magic randomizer work. That - hopefully fixed the bug that made output of fut appear - alphabetically ordered if there are many new songs. - -2003-09-14 17:30 maan - - * server.h: nuke duplicated info in mmd.stream_name. change pid_t - init_afs to void init_afs. add pid_list_add. - -2003-09-14 17:28 maan - - * server.ggo: use empty default value for stream - -2003-09-14 17:27 maan - - * server.c: change static void pid_list_add(pid_t pid) to void - pid_list_add(pid_t pid). exit on errors. stream_list_init: make - sure that initial stream is valid. simplify handle_sighup and - main. - -2003-09-14 17:24 maan - - * init_afs.c: exit on errors. set mmd->afs_pid - -2003-09-14 17:22 maan - - * command.c: - replace mmd->stream_name by mmd->stream, handle_cmd: exit on - errors, new fuction: find_stream, simplify com_cs, - -2003-09-14 17:19 maan - - * afs.c: replace mmd->stream_name by mmd->stream - -2003-09-13 19:50 maan - - * server.c: new function: init_network - -2003-09-13 19:45 maan - - * server.c: new function: init_network - -2003-09-13 19:44 maan - - * icc.h, net.c: new functions: setserversockopts, do_bind - -2003-09-13 17:13 maan - - * Makefile: make also light tarballs - -2003-09-13 16:47 maan - - * NEWS, README, dbtool.c: small documentation update - -2003-09-13 16:38 maan - - * Makefile: tgz include date in tarball - -2003-09-13 15:59 maan - - * icc.h: do not include argtable.h - -2003-09-13 15:53 maan - - * server.conf.sample: remove list of users - -2003-09-13 15:52 maan - - * dbtool.conf.sample: change user name from maan to foo - -2003-09-13 15:51 maan - - * INSTALL, README.dbtool: document cdb function - -2003-09-13 15:50 maan - - * dbtool.c: new command: cdb (create database) - -2003-09-12 20:54 maan - - * Makefile: add server.h to headers - -2003-09-12 20:28 maan - - * net.c, server.c: logging adjustments - -2003-09-12 19:32 maan - - * Makefile: clean: distclean: Remove also ChangLog.bak - -2003-09-12 19:24 maan - - * dbtool.c: cosmetics - -2003-09-12 19:24 maan - - * command.c: replace icc_server by server in help text - -2003-09-12 19:22 maan - - * client.conf.sample: adapt name of keyfile - -2003-09-12 19:21 maan - - * README.dbtool: typo - -2003-09-12 19:13 maan - - * Makefile: adapt to new filenames without icc prefix - -2003-09-12 18:58 maan - - * dbtool.sample: former icc_dbtool.sample - -2003-09-12 18:58 maan - - * icc_dbtool.sample: rename to dbtool.sample - -2003-09-12 18:54 maan - - * server.c: former icc_server.c - -2003-09-12 18:54 maan - - * icc_server.c: rename to server.c - -2003-09-12 18:52 maan - - * dbtool.c: former icc_dbtool.c - -2003-09-12 18:52 maan - - * icc_dbtool.c: rename ro dbtool.c - -2003-09-12 18:49 maan - - * gui.c: former icc_gui.c - -2003-09-12 18:49 maan - - * icc_gui.c: renamed to gui.c - -2003-09-12 18:48 maan - - * client.c: former icc_client.c - -2003-09-12 18:47 maan - - * icc_client.c: renamed to client.c - -2003-09-12 18:16 maan - - * afs.c, command.c, icc.h, icc_client.c, icc_dbtool.c, icc_gui.c, - init_afs.c, sdl_gui.c: nuke cvs keyword expansion - -2003-09-12 18:16 maan - - * Makefile: ChangeLog: Dont show time - -2003-09-12 17:42 maan - - * icc.h: nuke unused CONFIDENTIAL bit - -2003-09-12 17:41 maan - - * INSTALL: update name of conf files - -2003-09-12 17:05 maan - - * Makefile: clean: remove also HTML dir - -2003-09-12 17:02 maan - - * Makefile, README: minor cleanups - -2003-09-12 16:51 maan - - * dbtool.conf.sample: former icc_dbtool.conf.sample - -2003-09-12 16:51 maan - - * icc_dbtool.conf.sample: rename to dbtool.conf.sample - -2003-09-12 16:50 maan - - * server.conf.sample: former icc_server.conf.sample - -2003-09-12 16:49 maan - - * icc_server.conf.sample: rename to server.conf.sample - -2003-09-12 16:48 maan - - * icc_server.c: documentation cleanups - -2003-09-12 16:47 maan - - * README.dbtool: comment new sa syntax - -2003-09-12 16:47 maan - - * README: update - -2003-09-11 03:04 maan - - * icc_server.c: use /dev/urandom to create random numbers - -2003-09-11 02:03 maan - - * icc_server.c: cosmetics - -2003-09-11 01:53 maan - - * command.c, icc_server.c: minor simplifyings/cleanups/log message - fixes - -2003-09-11 01:53 maan - - * Makefile: change icc_bash_completion to bash_completion - -2003-09-11 01:25 maan - - * bash_completion: former icc_bash_completion - -2003-09-11 01:25 maan - - * icc_bash_completion: rename to bash_completion - -2003-09-11 01:24 maan - - * icc_server.c, net.c: send_buffer: dont send nullbytes - -2003-09-11 01:24 maan - - * icc_bash_completion: cosmetics - -2003-09-11 01:08 maan - - * icc_server.c, net.c: modify init_sockaddr to suit needs of both - client and server - -2003-09-10 22:18 maan - - * icc_bash_completion: adapt to new sa syntax - -2003-09-10 03:49 maan - - * icc_dbtool.c: sa syntax conflixted with gengetopt. Fix that. - -2003-09-10 02:04 maan - - * icc.h, icc_server.c, net.c: new function: do_accept - -2003-09-10 01:36 maan - - * icc_server.c: new function handle_connect to reduce size of main - -2003-09-10 01:14 maan - - * icc_server.c: decrease verbosity and avoid buffer overflow - -2003-09-10 00:39 maan - - * net.c: fix silly bug - -2003-09-10 00:39 maan - - * icc_server.c: use recv_buffer function from net.c - -2003-09-09 23:01 maan - - * icc_server.c: daemon_init: reverse return value - -2003-09-09 21:48 maan - - * afs.c, icc_server.c, init_afs.c, server.ggo, server.h: make hup - work again - -2003-09-09 17:17 maan - - * sdl_gui.c: adapt to new syntax of check_buf_for_items - -2003-09-09 17:16 maan - - * icc_gui.c: use check_buf_for_items whenever possible - -2003-09-09 17:14 maan - - * icc.h: update check_buf_for_items() - -2003-09-09 17:13 maan - - * gui_common.c: make check_buf_for_items work again... - -2003-09-09 17:12 maan - - * command.c: afs_cmd_handler: write terminiating null byte - -2003-09-09 04:43 maan - - * icc_gui.c, icc_server.c: some small cleanups - -2003-09-09 04:43 maan - - * NEWS: update - -2003-09-09 04:04 maan - - * icc_server.c: many small cleanups - -2003-09-09 03:27 maan - - * icc_server.c: nuke unneded functions - -2003-09-09 03:23 maan - - * server.ggo: gengetopt file for server - -2003-09-09 03:21 maan - - * afs.c, icc_server.c, init_afs.c, server.h: switch to gengetopt - -2003-09-09 01:41 maan - - * Makefile, afs.c, command.c, icc_server.c, init_afs.c: include - server.h instead of icc.h - -2003-09-09 01:41 maan - - * icc.h: move server specific parts to server.h - -2003-09-09 01:40 maan - - * server.h: server part of icc.h - -2003-09-09 01:16 maan - - * Makefile: server: compile server.cmdline.c - -2003-09-09 00:43 maan - - * Makefile: remove .c,.h files generated by gengetopt on distclean - -2003-09-09 00:33 maan - - * client.conf.sample: former icc_client.conf.sample - -2003-09-09 00:33 maan - - * icc_client.conf.sample: renamed to client.conf.sample - -2003-09-09 00:19 maan - - * icc_client.c: setlinebuf is no longer needed - -2003-09-09 00:19 maan - - * Makefile, icc.h, icc_gui.c, sdl_gui.c: use new gui_common - -2003-09-09 00:17 maan - - * gui_common.c: common functions for sdl_gui and ncurses gui - -2003-09-08 23:16 maan - - * icc_gui.c: make it work even when stat output contains null bytes - -2003-09-08 20:56 maan - - * Makefile: filter out gengetopts c files from sources - -2003-09-08 20:42 maan - - * sdl_gui.conf.sample: former icc_sdl_gui.conf.sample - -2003-09-08 20:41 maan - - * icc_sdl_gui.conf.sample: rename to sdl_gui.conf.sample - -2003-09-08 20:40 maan - - * Makefile, sdl_gui.c, sdl_gui.ggo: use sdl_gui.cmdline.c instead - of sdl_gui_cmdline.c, same for .h - -2003-09-08 20:35 maan - - * client.ggo: gengetopt file for client - -2003-09-08 20:24 maan - - * Makefile, command.c, icc.h: server: use net.c - -2003-09-08 20:17 maan - - * net.c: new file, contains networking routines - -2003-09-08 20:16 maan - - * Makefile, icc.h, icc_client.c: icc_client: use gengetopt and new - net.c - -2003-09-08 20:16 maan - - * sdl_gui.c: typo - -2003-09-08 03:20 maan - - * Makefile: remove version.h on distclean - -2003-09-08 03:15 maan - - * icc_sdl_gui.conf.sample: sample configuration for sdl_gui - -2003-09-08 03:08 maan - - * Makefile, sdl_gui.c: switch to gengetopts for sdl_gui - -2003-09-08 03:07 maan - - * icc_dbtool.c: cosmetics - -2003-09-08 02:43 maan - - * sdl_gui.ggo: gengetopt file for sdl_gui - -2003-09-07 21:30 maan - - * NEWS: update - -2003-09-07 21:05 maan - - * command.c, icc_server.c: cosmetics - -2003-09-07 20:42 maan - - * command.c: cosmetics - -2003-09-07 20:25 maan - - * command.c, icc.h, icc_server.c: nuke mmd->handler, rename - mmd->handler_fct to mmd->handler - -2003-09-07 20:10 maan - - * command.c, icc.h, icc_server.c: nuke handle_cmd function since - all commands a now directly called via function pointers - -2003-09-07 18:41 maan - - * command.c: use function pointers to execute internal commands - -2003-09-07 18:06 maan - - * command.c, icc.h, icc_server.c: major lcl cleanup - -2003-09-07 15:43 maan - - * command.c: simplify struct linked_cmd_list - -2003-09-07 15:16 maan - - * command.c, icc.h: reordering of functions - -2003-09-07 14:37 maan - - * icc_server.c, init_afs.c: logic was reversed in handle_sighup - -2003-09-07 14:34 maan - - * command.c: own function for each internal command - -2003-09-07 05:56 maan - - * afs.c, command.c, icc.h, icc_server.c, init_afs.c: major function - arguments cleanup - -2003-09-07 01:31 maan - - * command.c, icc.h, icc_server.c, init_afs.c: move afs_server_pipe - and server_afs_pipe to mmd - -2003-09-07 00:59 maan - - * command.c: C99 struct initializers - -2003-09-07 00:19 maan - - * command.c: fix potential buffer overflow in compute_status - -2003-09-07 00:04 maan - - * command.c: use static functions whenever possible - -2003-09-06 23:42 maan - - * command.c: comment out unused lcl_log_list, cosmetics - -2003-09-06 23:29 maan - - * command.c: change return type for lcl_del from int to void - -2003-09-06 23:17 maan - - * command.c: fix potential buffer overflow, change return value of - lcl_add to void - -2003-09-06 23:02 maan - - * command.c: cleanup crappy cmd_handler_itohuman - -2003-09-06 22:50 maan - - * command.c: fix potential buffer overflow - -2003-09-06 22:43 maan - - * command.c: cosmetics - -2003-09-06 22:40 maan - - * command.c, icc.h, icc_server.c: handle_cmd doesnt need argument - mmd - -2003-09-06 22:35 maan - - * afs.c: rename bear_server_pipe to afs_server_pipe - -2003-09-06 22:23 maan - - * icc_server.c: rename cb_fd to afs_server_pipe - -2003-09-06 22:20 maan - - * icc_server.c: cleanup crappy istrue function - -2003-09-06 20:37 maan - - * afs.c, icc_server.c: cosmetics - -2003-09-06 20:32 maan - - * afs.c: cosmetics - -2003-09-06 20:25 maan - - * icc_server.c, afs.c, command.c, icc.h, init_afs.c: no need to - pass mmd via functions, it is an exported variable - -2003-09-06 20:07 maan - - * icc_server.c: no need to pass mmd to handle_sighup - -2003-09-06 20:03 maan - - * icc_server.c: use static functions whenever possible - -2003-09-06 19:52 maan - - * icc_server.c: read_config: doesnt need return value, exit on - errors instead - -2003-09-06 19:45 maan - - * icc_server.c: reverse logic after fork to have nicer idents - -2003-09-06 19:36 maan - - * icc_server.c: minor cleanups - -2003-09-06 19:04 maan - - * icc_server.c: handle_sighup doesnt need command line options - -2003-09-06 18:45 maan - - * icc_server.c: read_config: close config file unconditionally - -2003-09-06 18:35 maan - - * icc_server.c: read_config: close config file - -2003-09-06 18:29 maan - - * icc.h: cmd_perms_itohuman doesnt need return value - -2003-09-06 18:25 maan - - * icc_server.c, command.c: cmd_perms_itohuman doesnt need return - value - -2003-09-06 18:22 maan - - * icc_server.c: fix potential buffer overflow, change challenge_nr - and chall_response to long unsigned - -2003-09-06 18:13 maan - - * icc_server.c: indent main function - -2003-09-06 18:00 maan - - * icc_server.c: C99 struct initializers - -2003-09-06 17:54 maan - - * icc_server.c: simplify signal handling - -2003-09-06 16:47 maan - - * icc_server.c: fix potential buffer overflow in encrypt - -2003-09-06 16:44 maan - - * icc_server.c: fix potential buffer overflow in uptime_str - -2003-09-06 16:19 maan - - * command.c, icc.h, icc_server.c: fix pidlist locking (I hope) - -2003-09-06 15:31 maan - - * icc_server.c: use EXIT_FAILURE/EXIT_SUCCESS in exit() - -2003-09-06 15:26 maan - - * icc_server.c: change int pid_list_add to void pid_list_add, same - with pid_list_unlock - -2003-09-06 15:07 maan - - * icc_server.c: use size_t instead of int in set_conf() - -2003-09-06 15:06 maan - - * afs.c: change int read_n_exec() to void read_n_exec() - -2003-09-06 14:45 maan - - * afs.c: fix memory leak in mp3_info - -2003-09-06 14:00 maan - - * afs.c, icc.h, icc_server.c: fix some minor bugs found by splint - -2003-09-06 13:11 maan - - * icc.h: remove TRUE and FALSE - -2003-09-06 13:10 maan - - * icc_gui.c: documentation update - -2003-09-06 13:10 maan - - * icc_client.c: coding style - -2003-09-03 01:17 maan - - * icc_client.c: still more coding style - -2003-09-02 23:45 maan - - * icc_client.c: further coding style issues - -2003-09-02 23:17 maan - - * icc_client.c: coding style cleanup - -2003-09-02 04:03 maan - - * afs.c, icc_client.c: remove TRUE and FALSE - -2003-09-02 03:40 maan - - * icc_client.c: indent main function - -2003-08-30 20:02 maan - - * icc_gui.c: fix compile warning, change SNOOZE to 540 seconds - -2003-08-30 17:51 maan - - * icc_dbtool.c: piclist now shows length of jpg files - -2003-08-30 17:18 maan - - * VERSION: bump version number to 96 - -2003-08-30 17:08 maan - - * NEWS: update - -2003-08-30 17:06 maan - - * icc_dbtool.c: vrfy/clean also checks for invalid pic pointers - -2003-08-30 16:13 maan - - * icc_gui.c: update upper window also when fading volume - -2003-08-30 05:54 maan - - * icc_dbtool.c: add some dokumentation - -2003-08-30 05:32 maan - - * icc_dbtool.c: make picdel work when more than one id is given - -2003-08-30 05:26 maan - - * icc_dbtool.c: simplify picadd - -2003-08-30 05:12 maan - - * icc_dbtool.c: new command: picch, new function: - binfile2escaped_string - -2003-08-30 03:31 maan - - * icc_dbtool.c: new command: picdel - -2003-08-30 01:40 maan - - * sdl_gui.c: close icc pic pipes, default to pic mode, simplify - update_pic - -2003-08-30 01:37 maan - - * icc_dbtool.c: new command: picass, new functions: get_very_last, - get_pic_id_by_name - -2003-08-30 01:33 maan - - * command.c: simplify pic - -2003-08-29 22:14 maan - - * icc_dbtool.c: new commands: picadd and piclist - -2003-08-29 17:18 maan - - * Makefile: add fonts and pics to tgz - -2003-08-29 17:06 maan - - * fonts/24P_Arial_Blue.png, fonts/24P_Arial_Metallic_Yellow.png, - fonts/24P_Arial_NeonBlue.png, fonts/24P_Arial_NeonYellow.png, - fonts/24P_Copperplate_Blue.png, pics/default.jpg, - pics/no_pics.jpg: initial import - -2003-08-29 17:04 maan - - * sdl_gui.c: use icc_client pic to obtain the picture, new command - line option: pic - -2003-08-29 17:02 maan - - * icc_server.c: lcl_init needs to know mmd to set dbtool_has_pic - -2003-08-29 17:01 maan - - * icc_dbtool.sample: make it work again... - -2003-08-29 17:00 maan - - * icc_dbtool.c: add preliminary pic command - -2003-08-29 16:59 maan - - * icc_client.c: use write instead of printf to print output - -2003-08-29 16:58 maan - - * icc.h: add dbtool_has_pic to mmd - -2003-08-29 16:58 maan - - * command.c: add pic command, introduce send_bin_buffer to transfer - binary data - -2003-08-29 16:54 maan - - * Makefile: install also fonts and pics - -2003-08-28 04:05 maan - - * icc_dbtool.c: implement recursive permutation generator - -2003-08-28 00:20 maan - - * sdl_gui.c: documentation update - -2003-08-25 05:01 maan - - * sdl_gui.c: many small cleanups - -2003-08-25 00:37 maan - - * sdl_gui.c: poll all events, not only one - -2003-08-24 23:19 maan - - * sdl_gui.c: nuke shm crap - -2003-08-24 23:05 maan - - * sdl_gui.c: use select instead of fork - -2003-08-24 19:42 maan - - * sdl_gui.c: implement basic picture viewing - -2003-08-22 14:20 maan - - * icc_gui.c: fix silly snooze bug - -2003-08-21 22:10 maan - - * NEWS: add 'fix long outstanding case sensitivity bug' - -2003-08-21 22:09 maan - - * README.dbtool: document binary format for initial creation - -2003-08-21 21:38 maan - - * icc_dbtool.c: fix long outstanding case sensitivity bug - -2003-08-21 04:20 maan - - * README: update - -2003-08-19 03:26 maan - - * NEWS: update - -2003-08-19 03:14 maan - - * icc_gui.c: small cleanups - -2003-08-19 03:13 maan - - * icc_dbtool.c: vrfy/clean: check/replace NULL values in attributes - -2003-08-19 01:21 maan - - * icc_dbtool.c: na: Create NOT NULL columns - -2003-08-18 06:02 maan - - * icc_gui.c: do_select: implement getstr mode and timeout in getch - mode. Avoid remaining memory leaks - -2003-08-18 02:18 maan - - * icc_gui.c: new fucntion: do_select. Fix memory leak while in - scroll mode - -2003-08-17 20:46 maan - - * icc_gui.c: remove unneeded header includes - -2003-08-17 20:12 maan - - * icc_gui.c: fix bug: some lines of stat's output could be missed - -2003-08-17 19:53 maan - - * icc_gui.c: add new commands J, K - -2003-08-17 04:46 maan - - * icc_gui.c: add comments on new functions - -2003-08-17 04:24 maan - - * icc_gui.c: add past command - -2003-08-17 04:00 maan - - * icc_gui.c: more status and error messages - -2003-08-17 02:06 maan - - * icc_gui.c: reduce minimal top lines to 8 - -2003-08-17 01:57 maan - - * icc_gui.c: add f command, nicify help output - -2003-08-16 22:57 maan - - * icc_gui.c: implement scrolling, fix sigint handling - -2003-08-16 21:34 maan - - * icc_gui.c: implement '!' prefix for commands - -2003-08-16 21:11 maan - - * icc_gui.c: add +/- to change size of top/bottom windows - -2003-08-16 18:14 maan - - * icc_gui.c: add separator, add input window - -2003-08-16 17:30 maan - - * icc_gui.c: kill fake shm struct, fix winch handling - -2003-08-16 17:08 maan - - * icc_gui.c: kill shared mem crap, fix ':' command - -2003-08-16 16:15 maan - - * icc_gui.c: major improvements, use select instead of fork, use - two windows - -2003-08-15 03:44 maan - - * icc_gui.c: copy LINES and COLS to shm - -2003-08-15 03:25 maan - - * icc_gui.c: use semaphore locking - -2003-08-14 23:35 maan - - * icc_gui.c: fix potential buffer overflow in print_item - -2003-08-14 23:14 maan - - * icc_gui.c: new function: handle_command - -2003-08-14 23:05 maan - - * icc_gui.c: cleanup signal handling and shared mem init - -2003-08-14 22:50 maan - - * icc_gui.c: new sigchld handler. Check which child has died - -2003-08-14 22:37 maan - - * icc_gui.c: remove useless SIGTSTP handler, some small cleanups - -2003-08-14 22:18 maan - - * icc_gui.c: exit gracefully and let the terminal intact - -2003-08-14 21:57 maan - - * icc_gui.c: - use shmXXX instead of mmap to get shared memory area. Works with - 2.2 kernels. - - new variable: shm->winch to distinguish between winch and status - bar updates. So endwin is only called on winch events. - - new function: print welcome. This is used by parent. - -2003-08-10 23:25 maan - - * icc_dbtool.c: na: use default value 0 instead of NULL - -2003-07-28 04:27 maan - - * icc_gui.c: fix memory leak, notice when invalid key is pressed - -2003-07-27 16:19 maan - - * icc_gui.c: don't update status bar in interrupt handler - -2003-07-27 06:04 maan - - * NEWS: add old news for 0.0.93 and some recent news - -2003-07-27 05:39 maan - - * icc_gui.c: remove definition of row since this is now a comupted - value - -2003-07-27 05:13 maan - - * icc_gui.c: make it work with 60x10 terminals, add dokumentation - -2003-07-27 04:14 maan - - * icc_gui.c: modify transform vol slightly - -2003-07-27 04:10 maan - - * icc_gui.c: kill unneeded print_help function - -2003-07-27 04:09 maan - - * icc_gui.c: new command: help - -2003-07-27 03:38 maan - - * icc_gui.c: adapt also lines to varying window size. Many small - cleanups and fixes - -2003-07-27 02:10 maan - - * icc_gui.c: update status bar in sigwinch - -2003-07-27 01:52 maan - - * icc_gui.c: make it respect varying window sizes - -2003-07-26 20:59 maan - - * icc_gui.c: test window geometry and exit if too narrow - -2003-07-17 03:34 maan - - * icc_dbtool.c: print_results: avoid trailing whitespace. Some - typos - -2003-07-13 02:35 maan - - * Makefile: cleanup, introduce variables CC_FLAGS LD_FLAGS - SDL_INCLUDES MYSQL_INCLUDES - -2003-07-12 17:55 maan - - * README.dbtool: add mysql commands for creating the tables data - and dir - -2003-07-09 02:28 maan - - * icc_dbtool.c: more documentation, cosmetics - -2003-07-09 01:57 maan - - * README.dbtool: replace LASTPLAYED by LASTPLAYED(). Same with - NUMPLAYED. Small cleanups - -2003-07-09 01:45 maan - - * Makefile: clean: remove icc_dbtool - -2003-07-09 01:41 maan - - * Makefile: nuke make_streams - -2003-07-09 01:40 maan - - * make_streams: now implemented in icc_dbtool.c - -2003-07-08 23:12 maan - - * icc_dbtool.c: fut: implement parsing functions for new - streams_def syntax - -2003-07-08 22:30 maan - - * icc_dbtool.c: nuke randomize function which is no longer needed - -2003-07-08 22:29 maan - - * icc_dbtool.c: streams: adapt to new syntax, change default - filename from streams to stream_defs - -2003-06-30 05:03 maan - - * Makefile: icc_server depends on mp3info.h - -2003-06-30 04:57 maan - - * Makefile: icc_sdl_gui depends on SFont.c - -2003-06-30 04:56 maan - - * SFont.c: comment out unused functions - -2003-06-30 04:40 maan - - * SFont.c: indent to kr style - -2003-06-30 04:34 maan - - * SFont.c: add GPL header - -2003-06-29 22:05 maan - - * INSTALL, README: change icc_dbtool.template to icc_dbtool.sample - -2003-06-29 22:04 maan - - * Makefile: major cleanup and bugfixes - -2003-06-29 21:17 maan - - * icc_dbtool.sample: former icc_dbtool.template - -2003-06-29 21:16 maan - - * icc_dbtool.template: moved to icc_dbtool.sample - -2003-06-29 21:01 maan - - * Makefile: Use cvs status to determine if local copy is up to date - -2003-06-29 19:44 maan - - * VERSION: bump version number to 95 - -2003-06-29 19:39 maan - - * Makefile: install: also install make_streams - -2003-06-29 19:39 maan - - * make_streams: bash script to produce the streams configuration - file - -2003-06-29 19:37 maan - - * README.dbtool: document new syntax of streams.in - -2003-06-29 18:22 maan - - * 1.0: improve change ssl text - -2003-06-29 18:19 maan - - * Makefile: add NEWS and make_streams to sources - -2003-06-29 18:15 maan - - * NEWS: contains release notes - -2003-06-29 17:53 maan - - * icc_server.c: cosmetics - -2003-06-29 17:52 maan - - * icc_bash_completion: use streams command to complete cs - -2003-06-28 13:58 maan - - * afs.c: fix small race at end of song play - -2003-06-28 13:44 maan - - * icc_server.c: set_conf: Use const char* variables for output of - messages to reduce space - -2003-06-28 13:12 maan - - * icc_server.c: call wait directly from the sigchld interupt - handler to avoid zombies - -2003-06-28 13:10 maan - - * command.c: cosmetics - -2003-06-22 06:58 maan - - * icc_dbtool.c: fix order of rows bug - -2003-06-22 04:18 maan - - * command.c: stat: print streamname continuously - -2003-06-22 04:13 maan - - * 1.0, icc_dbtool.c: fix bug: fut n always prints all valid songs - instead of only n - -2003-06-22 03:51 maan - - * icc_gui.c, sdl_gui.c: print score - -2003-06-22 03:51 maan - - * icc_dbtool.template: fut: print dummy score - -2003-06-22 03:50 maan - - * command.c: stat: print score - -2003-06-22 03:50 maan - - * afs.c: get_song: adapt to new output of fut (contains score now) - -2003-06-22 03:48 maan - - * icc_dbtool.c: simplify fut since ~/.icc/streams contains full - query now - -2003-06-22 03:47 maan - - * icc.h: add mmd.score - -2003-06-19 17:18 maan - - * icc_bash_completion: add ca (copy attributes) - -2003-06-19 17:12 maan - - * icc_dbtool.c: add ca (copy attributes) command - -2003-06-15 20:44 maan - - * sdl_gui.c: major cleanup, speed improvements and debugging - -2003-06-15 19:16 maan - - * command.c: only send full volatile status when it has changed - -2003-06-15 19:02 maan - - * command.c: only send full status when song has changed - -2003-06-15 02:42 maan - - * icc_dbtool.c: com_us: use basename of given argument - -2003-06-15 01:47 maan - - * icc_dbtool.c: fix do_update_song (introduce get_numplayed) - -2003-06-02 00:54 maan - - * icc_dbtool.c: small cleanups - -2003-06-02 00:01 maan - - * afs.c: flush id3 tags before updating - -2003-06-01 23:45 maan - - * icc_dbtool.c: us: increase Numplayed, info: print Numplayed, - get_a: fix off by one bug - -2003-06-01 23:06 maan - - * icc_dbtool.c: get_aa: skip first _three_ rows, since third row is - now reserved for number of times song has been played - -2003-06-01 22:43 maan - - * icc_dbtool.c: return is not a function! - -2003-06-01 22:42 maan - - * icc_dbtool.c: fix return value in get_a - -2003-05-18 18:33 maan - - * sdl_gui.c: make non-interactive mode working. Some cleanups - -2003-05-18 04:11 maan - - * sdl_gui.c: add command line options -w -h -f -i - -2003-05-05 01:47 maan - - * VERSION: bump version number to 94 - -2003-05-05 01:46 maan - - * Makefile: start tag name with letter to make cvs happy - -2003-05-05 01:45 maan - - * VERSION: decrease version to 93, since make version failed - -2003-05-05 01:45 maan - - * Makefile: use backtick expansion rather than double dollars - -2003-05-05 01:42 maan - - * VERSION: bump version number to 94 - -2003-05-05 01:42 maan - - * VERSION: decrease version to 93, since make version failed - -2003-05-05 01:41 maan - - * Makefile: typo that caused cvs -q tag to fail - -2003-05-05 01:37 maan - - * VERSION: bump version number to 94 - -2003-05-04 00:24 maan - - * icc_server.c: loglevel adjustments - -2003-05-04 00:09 maan - - * icc_server.c: minor auth cleanup - -2003-05-03 23:21 maan - - * icc_server.c: reduce # arguments for handle_sighup - -2003-05-03 21:28 maan - - * icc_server.c: avoid use of TRUE and FALSE (tele-tubby) - -2003-05-03 21:10 maan - - * icc_server.c: init mmd->num_played, mmd->num_commands and - mmd->stream_name early - -2003-05-03 21:08 maan - - * icc.h: reduce number of arguments to init_afs - -2003-05-03 21:08 maan - - * init_afs.c: reduce number of arguments to init_afs, move init of - some sane values of mmd where they belong, comment out silly - PETER_B log messages - -2003-05-03 20:44 maan - - * icc.h: add prototype for afs_status_tohuman - -2003-05-03 20:44 maan - - * command.c: don't duplicate afs_status_tohuman, use it - -2003-05-03 20:30 maan - - * afs.c: insert missing function descriptors - -2003-05-03 20:30 maan - - * icc.h: init afs returns pid_t - -2003-05-03 20:26 maan - - * icc_server.c: fix missing exit for unknown commands. Strange... - -2003-05-03 20:13 maan - - * init_afs.c: init afs returns pid_t - -2003-05-03 20:11 maan - - * icc.h, icc_server.c, init_afs.c: move definition of conn to - init_afs - -2003-05-03 20:01 maan - - * sdl_gui.c: unicolor, proposed by christian - -2003-05-03 19:58 maan - - * icc_server.c: first bind socket, then fork. Avoids log flodding - if second instance of icc_server is started - -2003-05-03 19:51 maan - - * icc_server.c: further cosmetics - -2003-05-03 19:34 maan - - * icc_server.c: cosmetics - -2003-05-03 19:30 maan - - * icc_server.c: kill dead code [send(...)] - -2003-05-03 19:13 maan - - * icc_server.c: fix nasty bug introduced by use of send_buffer: - strlen(buf) might not give correct length in case of encrypted - data - -2003-05-03 00:47 maan - - * icc_server.c: further small cleanups - -2003-05-03 00:34 maan - - * icc.h: add prototype for send_buffer - -2003-05-03 00:23 maan - - * icc_server.c: cosmetics - -2003-05-03 00:14 maan - - * icc_server.c: use send_buffer() rather than send() - -2003-05-02 23:53 maan - - * afs.c: compute_sb_string: use basename instead of weird strchr() - madness - -2003-05-02 23:22 maan - - * afs.c: replace cleanexit by clean_n_jump - -2003-05-02 23:02 maan - - * command.c: stat: output two digits for seconds - -2003-05-02 23:01 maan - - * icc.h: replace BUFFSIZE by CHUNK_BUFFSIZE - -2003-04-30 00:39 maan - - * afs.c: update meta data stream regularly (adjustable in icc.h) - -2003-04-29 22:54 maan - - * icc_dbtool.c: Comment out noisy output in upd - -2003-04-20 17:40 maan - - * README: nuke php description, add sdl_gui description - -2003-04-20 17:31 maan - - * sdl_gui.c: add documentation - -2003-04-20 17:16 maan - - * sdl_gui.c: add gpl header - -2003-04-20 17:14 maan - - * sdl_gui.c: cut length of output lines if too long - -2003-04-20 16:49 maan - - * afs.c, command.c, icc.h, icc_gui.c, sdl_gui.c: replace mmd.misc - by mmd.dbinfo - -2003-04-20 16:30 maan - - * afs.c: enumerate «misc:» lines for status output - -2003-04-20 16:28 maan - - * Makefile: also install icc_sdl_gui - -2003-04-20 15:57 maan - - * SFont.c: needed by sdl_gui - -2003-04-20 15:56 maan - - * sdl_gui.c: The gui of death that makes you blind - -2003-04-20 15:55 maan - - * command.c: status: print id tags - -2003-04-20 15:55 maan - - * afs.c: cleanups - -2003-04-20 15:53 maan - - * Makefile: new target: sdl_gui - -2003-04-04 02:45 maan - - * icc_gui.c: show also mp3tags - -2003-04-04 02:25 maan - - * command.c: stat: print also id3 tags - -2003-04-04 02:12 maan - - * Makefile, afs.c, command.c, icc.h: include mp3info struct in mmd - and remove duplication of information in mmd - -2003-04-04 01:19 maan - - * mp3tech.c, mp3tech.h, mp3info.h, textfunc.h: taken from mp3info - package - -2003-04-04 01:18 maan - - * afs.c: Use mp3tech instead of mp3info - -2003-04-04 01:18 maan - - * Makefile: include mp3tech - -2003-04-03 04:20 maan - - * icc_gui.c: add c (change stream) to status bar - -2003-04-03 03:53 maan - - * icc_dbtool.c: further cosmetics - -2003-04-02 22:18 maan - - * icc_dbtool.c: cosmetics - -2003-04-02 03:19 maan - - * icc_dbtool.template: Omit streams in help's output - -2003-04-02 03:07 maan - - * README.dbtool: Improve(?) Real life eample - -2003-04-02 02:40 maan - - * icc_server.conf.sample: use 127.0.0.1 as default icecast ip - -2003-04-02 02:33 maan - - * icc_dbtool.template: add nec. streams command and some more - comments - -2003-03-29 18:22 maan - - * command.c, icc_gui.c: new command: ns (next stream) - -2003-03-29 17:37 maan - - * command.c, icc_dbtool.c, icc_gui.c: info: print default text if - no attributes set or lastplayed=NULL - -2003-03-29 02:12 maan - - * INSTALL, README: linguistic improvements (I hope) - -2003-03-29 00:43 maan - - * VERSION: bump version number to 93 - -2003-03-29 00:43 maan - - * Makefile: add xmms-patch to sources - -2003-03-29 00:40 maan - - * xmms-1.2.7.titlebar_vbr_patch: patch for xmms-1.2.7 to fix title - display for mp3s with vbr - -2003-03-29 00:32 maan - - * afs.c, command.c: nicify afs status output - -2003-03-28 05:18 maan - - * icc_gui.c: statusbar improvements - -2003-03-28 05:05 maan - - * icc_gui.c: major optic overhowl. I like it colored - -2003-03-28 00:06 maan - - * icc_gui.c: print also current stream - -2003-03-28 00:05 maan - - * command.c: stat: print name of current stream - -2003-03-28 00:04 maan - - * afs.c: cleanups - -2003-03-18 02:29 maan - - * icc_gui.c: use linux/soundcard.h to set volume directly - -2003-03-17 22:29 maan - - * icc_gui.c: cosmetics - -2003-03-17 22:22 maan - - * icc_gui.c: additional delay for command '-' - -2003-03-17 22:18 maan - - * init_afs.c: loglevel adjustments - -2003-03-17 22:17 maan - - * icc_server.c: log: print server if mmd not yet defined - -2003-03-17 05:10 maan - - * afs.c, icc_server.c: adjust some loglevels - -2003-03-17 02:16 maan - - * command.c, icc.h, icc_server.c, init_afs.c: use semaphor-locking - to serialize access to server-afs pipes - -2003-03-17 01:19 maan - - * init_afs.c: kill processgroup if afs dies - -2003-03-12 22:22 maan - - * icc.h: add prototypes for pid_list_lock, pid_list_unlock - -2003-03-12 22:21 maan - - * command.c: uptime: lock pid_list before accessing - -2003-03-12 21:51 maan - - * icc_server.c: add semaphor locking for pid_list. Fix several bugs - causing corrupt pid_list - -2003-03-12 21:50 maan - - * icc.h: add server and afs pids to mmd struct, split macro LICENSE - -2003-03-12 21:48 maan - - * command.c: fix typo - -2003-03-11 00:43 maan - - * afs.c, command.c, icc_server.c: forgotten cleanups - -2003-02-23 18:06 maan - - * icc.h, icc_server.c: new loglevel: VERBOSE - -2003-02-23 16:54 maan - - * icc_server.c: fix permission bug (commands were executed even if - permissions are not suff.) - -2003-02-23 16:46 maan - - * Makefile: Change icebear.c and init_icebear.c to afs - -2003-02-23 16:45 maan - - * init_afs.c: new, former init_icebear.c - -2003-02-23 16:44 maan - - * init_icebear.c: renamed to init_afs.c - -2003-02-23 16:40 maan - - * afs.c: new file, former icebear.c - -2003-02-23 16:39 maan - - * icebear.c: will be renamed to afs.c - -2003-02-23 16:35 maan - - * command.c, icc.h, icc_dbtool.c, icc_server.c, icebear.c: change - rest of occurences of icebear to afs - -2003-02-23 16:18 maan - - * icc.h, icebear.c, init_icebear.c: change icebear function to afs - -2003-02-23 16:12 maan - - * command.c, icc.h, icc_server.c, icebear.c, init_icebear.c: change - icebear_init to afs_init - -2003-02-23 15:57 maan - - * INSTALL, command.c, icc.h, icc_server.c, icc_server.conf.sample, - icebear.c: change ICEBEAR to AFS - -2003-02-23 15:47 maan - - * icc_dbtool.c, icebear.c: cosmetics - -2003-02-23 03:31 maan - - * command.c: cosmetics - -2003-02-23 03:20 maan - - * command.c, icc.h: change ICEBEAR_HANDLER to AFS_HANDLER - -2003-02-23 03:08 maan - - * icc_server.c: cosmetics - -2003-02-23 03:00 maan - - * command.c, icc.h, icc_server.c: replace icc_server: by server: - -2003-02-23 02:45 maan - - * icebear.c: comment out unneeded signal handler code - -2003-02-23 02:17 maan - - * icc_server.c: Fix bug: become deamon *before* we record our pid. - -2003-02-23 02:07 maan - - * icc_server.c: make version the first line that is printed out - -2003-02-23 01:05 maan - - * icebear.c: logical simplifications - -2003-02-23 00:34 maan - - * icebear.c: new function: send_chunk. Many cleanups - -2003-02-22 23:01 maan - - * icebear.c: new functions: get_song and compute_sb_string - -2003-02-22 22:51 maan - - * icebear.c: new functions: get_song and compute_sb_string - -2003-02-22 21:56 maan - - * icebear.c: cosmetics - -2003-02-22 21:46 maan - - * icebear.c: only send metadata stream once - -2003-02-22 21:36 maan - - * icebear.c: clear buffer before reading - -2003-02-18 01:48 maan - - * icc_gui.c: thinko: add break statements - -2003-02-18 01:30 maan - - * command.c: add comment - -2003-02-18 01:29 maan - - * icc_gui.c: use case instead of ifs - -2003-02-18 00:34 maan - - * command.c: comment out obsolete check for icebear_fd - -2003-02-18 00:32 maan - - * icc_server.c: log pid of current process - -2003-02-17 23:43 maan - - * init_icebear.c: cosmetics - -2003-02-17 23:30 maan - - * icc_server.c: cosmetics - -2003-02-17 23:29 maan - - * icc.h: add struct pid_list and macro FOR_EACH_PROC from server - -2003-02-17 23:27 maan - - * command.c: uptime: add pid of chilren in output - -2003-02-17 03:47 maan - - * icc_server.c: sigchd handler: Wait not only for one child. There - may be more... - -2003-02-17 02:36 maan - - * icebear.c: make it terminate if read fails and ppid == 1 - -2003-02-11 03:04 maan - - * icc_gui.c: major cleanup. Wow, is that crappy - -2003-02-11 00:35 maan - - * command.c, icc.h, icc_server.c, icebear.c: implement pid list to - keep track of children. Needed for hup since kill(0,sighup) - doesnt work in daemon mode - -2003-02-10 01:53 maan - - * icc_server.c: cosmetics - -2003-02-10 01:51 maan - - * icc_dbtool.template: add -print to find command, documentation - update - -2003-02-10 01:50 maan - - * icc_dbtool.c: remove obsolete ass command - -2003-02-10 00:55 maan - - * command.c, icc_server.c: new function send_buffer - -2003-02-10 00:04 maan - - * command.c: new command: hup - -2003-02-09 23:33 maan - - * icc.h, icc_server.c, icebear.c: handle sighup correctly (all - children have to reload log file) - -2003-02-09 18:30 maan - - * icc.h, icc_server.c, icebear.c, init_icebear.c: reduce use of - global variables. Extend mmd and put info there instead - -2003-02-09 15:58 maan - - * icc_server.c: print plural form correctly in uptime - -2003-02-09 15:46 maan - - * icc_server.c: cosmetics - -2003-02-09 01:55 maan - - * command.c: further cosmetics - -2003-02-09 01:18 maan - - * command.c: cosmetics - -2003-02-08 23:16 maan - - * icc_client.c: cosmetics - -2003-01-11 16:30 maan - - * VERSION, icc_dbtool.c, icc_gui.c, icebear.c, init_icebear.c: - change 2002 to 2003 - -2003-01-11 16:28 maan - - * icc_client.c, icc_server.c: cleanup. use new macros LICENSE and - COPYRIGHT - -2003-01-11 16:27 maan - - * icc.h: add macros COPYRIGHT, LICENSE - -2003-01-11 16:26 maan - - * command.c: minor cleanups - -2003-01-11 16:24 maan - - * README.dbtool: fix some misprints - -2003-01-11 16:23 maan - - * README: - Minor clarifications - -2002-12-23 22:26 maan - - * icebear.c: cosmetic cleanup - -2002-12-23 22:20 maan - - * icc_server.c: cosmetic cleanups - -2002-12-23 22:15 maan - - * icebear.c: set icc version in init_shout - -2002-12-15 23:11 maan - - * Makefile: commit change of version number on target version - before calling cvs tag - -2002-12-15 23:04 maan - - * Makefile: version now implies distclean - -2002-12-15 22:56 maan - - * Makefile: enable cvs tagging - -2002-12-15 22:53 maan - - * Makefile: prepare for cvs tagging - -2002-12-15 22:49 maan - - * Makefile: fix version (no more tdl), new target: update - -2002-12-15 22:37 maan - - * Makefile: tgz no longer implies version - -2002-12-15 21:20 maan - - * icebear.c: minor cleanups - -2002-12-15 21:04 maan - - * icc_server.c: remove unneeded comments - -2002-12-15 20:55 maan - - * icc_server.c, icebear.c: move (parts of) initialization of conn - fromicebear to server - -2002-12-15 20:11 maan - - * icc_server.c: minor code cleanup, add documentation bits - -2002-12-15 18:05 maan - - * INSTALL, icebear.c: icc_dbtool is no longer a script. Fix - accordingly - -2002-12-15 14:28 maan - - * icc_server.c: cosmetic cleanup - -2002-12-14 21:51 maan - - * icc.h, icebear.c: use new mmd.mdst (meta data stream text) to - display meta data - -2002-12-14 02:51 maan - - * icebear.c: new function: update_mmd - -2002-12-14 02:02 maan - - * 1.0, icebear.c: preparation for movement of large parts in - icebear to extra function - -2002-12-14 01:03 maan - - * icebear.c: minor code cleanup - -2002-12-14 00:10 maan - - * icebear.c: use icecast meta data streaming - -2002-12-13 22:53 maan - - * icc_dbtool.c: remove #include - -2002-12-13 22:50 maan - - * icc.h: add documentation - -2002-12-12 23:23 maan - - * icc_client.c: better ERROR logging - -2002-12-08 03:11 maan - - * command.c: code cleanup - -2002-12-08 02:54 maan - - * command.c: fix cs in case invalid stream name is given - -2002-12-01 01:47 maan - - * icc_dbtool.c: unlink tempfile _after_ closing - -2002-12-01 00:55 maan - - * command.c, icc.h, icc_client.c, icc_dbtool.c, icc_gui.c, - icc_server.c, init_icebear.c: add Keyword Expansion - -2002-12-01 00:48 maan - - * .changelog_before_cvs: self explanatory - -2002-12-01 00:46 maan - - * Makefile: New Changelog Format with cvs2cl - -2002-12-01 00:19 maan - - * icebear.c: add Keyword Expansion - -2002-12-01 00:09 maan - - * .tdldb, 1.0, COPYING, GPL, INSTALL, Makefile, README, - README.dbtool, VERSION, command.c, icc.h, icc_bash_completion, - icc_client.c, icc_client.conf.sample, icc_dbtool.c, - icc_dbtool.conf.sample, icc_dbtool.template, icc_gui.c, - icc_server.c, icc_server.conf.sample, icebear.c, - icecast.conf.sample, init_icebear.c: Initial revision - -2002-12-01 00:09 maan - - * .tdldb, 1.0, COPYING, GPL, INSTALL, Makefile, README, - README.dbtool, VERSION, command.c, icc.h, icc_bash_completion, - icc_client.c, icc_client.conf.sample, icc_dbtool.c, - icc_dbtool.conf.sample, icc_dbtool.template, icc_gui.c, - icc_server.c, icc_server.conf.sample, icebear.c, - icecast.conf.sample, init_icebear.c: initial import into cvs - diff --git a/Doxyfile b/Doxyfile index 04d8f326..00cb6cc9 100644 --- a/Doxyfile +++ b/Doxyfile @@ -622,7 +622,6 @@ EXCLUDE_PATTERNS = *.cmdline.* \ gui* \ gcc-compat.h \ fade.c \ - config.h \ *_command_list.h \ *_completion.h @@ -1267,7 +1266,7 @@ ENABLE_PREPROCESSING = YES # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. -MACRO_EXPANSION = NO +MACRO_EXPANSION = YES # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the @@ -1301,13 +1300,7 @@ INCLUDE_FILE_PATTERNS = # undefined via #undef or recursively expanded use the := operator # instead of the = operator. -PREDEFINED = HAVE_MAD \ - HAVE_FAAD \ - HAVE_OGGVORBIS \ - __GNUC__=4 \ - __GNUC_MINOR__=4 \ - HAVE_UCRED \ - HAVE_CLOCK_GETTIME +PREDEFINED = __GNUC__=4 __GNUC_MINOR__=4 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. diff --git a/Makefile.in b/Makefile.in index 19679923..6762b449 100644 --- a/Makefile.in +++ b/Makefile.in @@ -16,6 +16,10 @@ ggo_descriptions_declared := @ggo_descriptions_declared@ object_executable_matrix := @object_executable_matrix@ executables := @executables@ +receivers := @receivers@ +filters := @filters@ +writers := @writers@ + recv_objs := @recv_objs@ filter_objs := @filter_objs@ client_objs := @client_objs@ diff --git a/Makefile.real b/Makefile.real index d8020376..2973637e 100644 --- a/Makefile.real +++ b/Makefile.real @@ -51,11 +51,10 @@ man_pages := $(patsubst %, $(man_dir)/%.1, $(prefixed_executables)) autocrap := config.h.in configure tarball_pfx := $(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -tarball_delete := $(addprefix $(tarball_pfx)/,\ - web .changelog_before_cvs .changelog_cvs .gitignore) +tarball_delete := $(addprefix $(tarball_pfx)/, web .gitignore) tarball := $(tarball_pfx).tar.bz2 -.PHONY: dep all clean distclean maintainer-clean install man tarball +.PHONY: dep all clean clean2 distclean maintainer-clean install man tarball all: dep $(prefixed_executables) $(man_pages) dep: $(deps) man: $(man_pages) @@ -125,36 +124,44 @@ endif %_command_list.h: %.cmd %.c @[ -z "$(Q)" ] || echo 'GEN $@' - $(Q) ./command_util.sh h < $< >$@ + $(Q) ./command_util.bash h < $< >$@ %_command_list.man: %.cmd %.c @[ -z "$(Q)" ] || echo 'GEN $@' - $(Q) ./command_util.sh man < $< > $@ + $(Q) ./command_util.bash man < $< > $@ %_completion.h: %.cmd %.c @[ -z "$(Q)" ] || echo 'GEN $@' - $(Q) ./command_util.sh compl $(strip $(call TOUPPER,$(*F)))_COMPLETERS \ + $(Q) ./command_util.bash compl $(strip $(call TOUPPER,$(*F)))_COMPLETERS \ $(strip $(call TOUPPER,$(*F)))_COMMANDS < $< > $@ server_command_list.h server_command_list.man server_completion.h: command.c afs_command_list.h afs_command_list.man afs_completion.h: afs.c aft.c attribute.c audiod_command_list.h audiod_command_list.man audiod_completion.h: audiod_command.c -server_command_lists_man = server_command_list.man afs_command_list.man -$(man_dir)/para_server.1: $(help2man_dir)/para_server $(server_command_lists_man) | $(man_dir) - @[ -z "$(Q)" ] || echo 'MAN $<' - $(Q) opts="`for i in $(server_command_lists_man); do printf "%s\n" "-i $$i"; done`"; \ - $(HELP2MAN) $$opts ./$< > $@ +server_command_lists := server_command_list.man afs_command_list.man +audiod_command_lists := audiod_command_list.man +play_command_lists := play_command_list.man -$(man_dir)/para_audiod.1: $(help2man_dir)/para_audiod audiod_command_list.man | $(man_dir) - @[ -z "$(Q)" ] || echo 'MAN $<' - $(Q) $(HELP2MAN) -N -i audiod_command_list.man ./$< > $@ +$(man_dir)/para_server.1: $(server_command_lists) +$(man_dir)/para_audiod.1: $(audiod_command_lists) +$(man_dir)/para_play.1: $(play_command_lists) -$(man_dir)/para_play.1: $(help2man_dir)/para_play play_command_list.man | $(man_dir) - @[ -z "$(Q)" ] || echo 'MAN $<' - $(Q) $(HELP2MAN) -N -i play_command_list.man ./$< > $@ +$(man_dir)/para_server.1: man_util_command_lists := $(server_command_lists) +$(man_dir)/para_audiod.1: man_util_command_lists := $(audiod_command_lists) +$(man_dir)/para_play.1: man_util_command_lists := $(play_command_lists) -$(man_dir)/%.1: $(help2man_dir)/% | $(man_dir) +$(man_dir)/para_%.1: $(ggo_dir)/%.ggo man_util.bash | $(man_dir) $(help2man_dir) @[ -z "$(Q)" ] || echo 'MAN $<' - $(Q) $(HELP2MAN) -N ./$< > $@ + $(Q) \ + COMMAND_LISTS="$(man_util_command_lists)" \ + FILTERS="$(filters)" \ + GENGETOPT=$(GENGETOPT) \ + GGO_DIR=$(ggo_dir) \ + HELP2MAN=$(HELP2MAN) \ + HELP2MAN_DIR=$(help2man_dir) \ + RECEIVERS="$(receivers)" \ + VERSION="$(GIT_VERSION)" \ + WRITERS="$(writers)" \ + ./man_util.bash $@ $(hostbin_dir)/error2: error2.c | $(hostbin_dir) @[ -z "$(Q)" ] || echo 'HCC $<' diff --git a/NEWS b/NEWS index cc9b67ad..ab53a176 100644 --- a/NEWS +++ b/NEWS @@ -5,8 +5,25 @@ NEWS 0.5.2 (to be announced) "orthogonal interior" --------------------------------------------- - - The new sync synchronizes playback between multiple clients. +The new sync filter, the AES_CTR128 stream cipher and the overhauled +network code are the highlights of this release. It also includes a +fair number of smaller fixes and improvements not mentioned here. + + - The new sync filter synchronizes playback between multiple + clients. + - Connections between para_server and para_client are now + encrypted by means of AES rather than RC4 if both sides + support it. RC4 is still available as a fallback. This + feature is fully transparent, i.e. no command line options + are necessary, and a client linked against openssl can + speak with a server linked against libgcrypt and vice versa. - Major cleanup of the networking subsystem. + - Improvements to para_fade: the new set mode, multi-channel + initial volumes, better error logging. + - The man pages of para_audiod, para_filter, para_recv, and + para_write contain the relevant options for receivers, filters, + writers. This broke in 0.5.0. + - Improved user manual. - Minor fixes to avoid clang warnings. ------------------------------------------ @@ -32,6 +49,9 @@ of the build system. - Many small bugs in the build system have been identified and fixed. +Downloads: ./releases/paraslash-0.5.1.tar.bz2 (tarball), +./releases/paraslash-0.5.1.tar.bz2.asc (signature) + ---------------------------------------- 0.5.0 (2013-08-23) "invertible validity" ---------------------------------------- diff --git a/aac.h b/aac.h index 08bc8b1e..6e6c3402 100644 --- a/aac.h +++ b/aac.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/aac_afh.c b/aac_afh.c index 1610cb2c..f354a63c 100644 --- a/aac_afh.c +++ b/aac_afh.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/aac_common.c b/aac_common.c index ab1fb50c..ca29607a 100644 --- a/aac_common.c +++ b/aac_common.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/aacdec_filter.c b/aacdec_filter.c index 3ff90834..d63236da 100644 --- a/aacdec_filter.c +++ b/aacdec_filter.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/acl.c b/acl.c index 7762a990..e1415050 100644 --- a/acl.c +++ b/acl.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -18,6 +18,7 @@ #include "string.h" #include "list.h" #include "net.h" +#include "acl.h" /** * Describes one entry in the blacklist/whitelist of a paraslash sender. diff --git a/acl.h b/acl.h index c44f26ab..af68e1bc 100644 --- a/acl.h +++ b/acl.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008-2013 Andre Noll + * Copyright (C) 2008-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/afh.c b/afh.c index 8e707505..15b5e6b9 100644 --- a/afh.c +++ b/afh.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008-2013 Andre Noll + * Copyright (C) 2008-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/afh.h b/afh.h index b224b61a..2264cc61 100644 --- a/afh.h +++ b/afh.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/afh_common.c b/afh_common.c index 5be43550..cad972d9 100644 --- a/afh_common.c +++ b/afh_common.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1997-2013 Andre Noll + * Copyright (C) 1997-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/afh_recv.c b/afh_recv.c index 5c17dab7..0c7b3946 100644 --- a/afh_recv.c +++ b/afh_recv.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2013 Andre Noll + * Copyright (C) 2011-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/afs.c b/afs.c index 135888a7..fa4f4326 100644 --- a/afs.c +++ b/afs.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2013 Andre Noll + * Copyright (C) 2007-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/afs.cmd b/afs.cmd index 82b6dc48..91da48cb 100644 --- a/afs.cmd +++ b/afs.cmd @@ -22,7 +22,7 @@ H: database, skip this file. This operation is really cheap. H: Use it when adding large directories if only a few files H: where added. H: -H:-f Force adding/updating. Recompute the audio format handler data +H: -f Force adding/updating. Recompute the audio format handler data H: even if a file with the same path and the same hash value exists. H: H: -v Verbose mode. Print what is being done. @@ -44,17 +44,12 @@ H: Options: H: H: -l Change listing mode. Defaults to short listing if not given. H: -H: -ls: short listing mode -H: -H: -ll: long listing mode (equivalent to -l) -H: -H: -lv: verbose listing mode -H: -H: -lp: parser-friendly mode -H: -H: -lm: mbox listing mode -H: -H: -lc: chunk-table listing mode +H: -ls: short listing mode +H: -ll: long listing mode (equivalent to -l) +H: -lv: verbose listing mode +H: -lp: parser-friendly mode +H: -lm: mbox listing mode +H: -lc: chunk-table listing mode H: H: -p List full path of audio file. If not specified, only the basename H: of each file is printed. @@ -68,27 +63,17 @@ H: -d Print dates as seconds after the epoch. H: H: -s Change sort order. Defaults to alphabetical path sort if not given. H: -H: -sp: sort by path. -H: -H: -sl: sort by last played time. -H: -H: -ss: sort by score (implies -a). -H: -H: -sn: sort by num played count. -H: -H: -sf: sort by frequency. -H: -H: -sc: sort by number of channels. -H: -H: -si: sort by image id. -H: -H: -sy: sort by lyrics id. -H: -H: -sb: sort by bit rate. -H: -H: -sd: sort by duration. -H: -H: -sa: sort by audio format. +H: -sp: by path +H: -sl: by last played time +H: -ss: by score (implies -a) +H: -sn: by num played count +H: -sf: by frequency +H: -sc: by number of channels +H: -si: by image id +H: -sy: by lyrics id +H: -sb: by bit rate +H: -sd: by duration +H: -sa: by audio format --- N: lsatt P: AFS_READ diff --git a/afs.h b/afs.h index 8a6b927c..7a3f963f 100644 --- a/afs.h +++ b/afs.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2013 Andre Noll + * Copyright (C) 2007-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -20,7 +20,7 @@ struct afs_info { uint32_t image_id; /** Lyrics blob associated with this file (foreign key). */ uint32_t lyrics_id; - /** Mp3, ogg, aac, wma, spx. */ + /** Mp3, ogg, ... */ uint8_t audio_format_id; /** Amplification value. */ uint8_t amp; diff --git a/aft.c b/aft.c index f529416a..179777ba 100644 --- a/aft.c +++ b/aft.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2013 Andre Noll + * Copyright (C) 2007-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/alsa_mix.c b/alsa_mix.c index 01f1c512..be38e887 100644 --- a/alsa_mix.c +++ b/alsa_mix.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012-2013 Andre Noll + * Copyright (C) 2012-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -141,19 +141,19 @@ static int alsa_mix_set_channel(struct mixer_handle *h, PARA_NOTICE_LOG("unable to find simple control '%s',%i\n", snd_mixer_selem_id_get_name(sid), snd_mixer_selem_id_get_index(sid)); - return -E_ALSA_MIX_BAD_ELEM; + return -E_BAD_CHANNEL; } ret = snd_mixer_selem_get_playback_volume_range(h->elem, &h->pmin, &h->pmax); if (ret < 0) { PARA_NOTICE_LOG("unable to get %s range (%s): %s\n", mixer_channel, h->card, snd_strerror(ret)); - return -E_ALSA_MIX_BAD_ELEM; + return -E_ALSA_MIX_RANGE; } if (h->pmin < 0 || h->pmax < 0 || h->pmin >= h->pmax) { PARA_NOTICE_LOG("alsa reported %s range %ld-%ld (%s)\n", mixer_channel, h->pmin, h->pmax, h->card); - return -E_ALSA_MIX_BAD_ELEM; + return -E_ALSA_MIX_RANGE; } return 1; } diff --git a/alsa_write.c b/alsa_write.c index a3912c11..ad59a829 100644 --- a/alsa_write.c +++ b/alsa_write.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/amp_filter.c b/amp_filter.c index b0f36872..c3e55cf0 100644 --- a/amp_filter.c +++ b/amp_filter.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009-2013 Andre Noll + * Copyright (C) 2009-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/ao_write.c b/ao_write.c index fdae8eea..730653c1 100644 --- a/ao_write.c +++ b/ao_write.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2013 Andre Noll + * Copyright (C) 2011-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/attribute.c b/attribute.c index 867e24b9..ffe84102 100644 --- a/attribute.c +++ b/attribute.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1997-2013 Andre Noll + * Copyright (C) 1997-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/audioc.c b/audioc.c index 79051a98..5f6b5ae1 100644 --- a/audioc.c +++ b/audioc.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/audiod.c b/audiod.c index f12dbc1b..a8f40183 100644 --- a/audiod.c +++ b/audiod.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -219,7 +219,7 @@ static int get_matching_audio_format_nums(const char *re) * from the status items received from para_server and the start time of the * (first) writer of the given slot. * - * It has to to take into account that probably the stream was not started at + * It has to take into account that the stream was probably not started at * the beginning of the file, that the clock between the server and the client * host may differ and that playback of the stream was delayed, e.g. because * the prebuffer filter is used in the filter configuration of the given slot. @@ -647,7 +647,7 @@ static bool must_start_decoder(void) return true; } -static unsigned compute_time_diff(const struct timeval *status_time) +static void compute_time_diff(const struct timeval *status_time) { struct timeval tmp, diff; static unsigned count; @@ -655,8 +655,6 @@ static unsigned compute_time_diff(const struct timeval *status_time) const struct timeval max_deviation = {0, 500 * 1000}; const int time_smooth = 5; - if (!status_time) - return count; sign = tv_diff(status_time, now, &diff); // PARA_NOTICE_LOG("%s: sign = %i, sa_time_diff_sign = %i\n", __func__, // sign, sa_time_diff_sign); @@ -686,7 +684,6 @@ static unsigned compute_time_diff(const struct timeval *status_time) ); out: stat_task->sa_time_diff_sign = sa_time_diff_sign; - return count; } static int update_item(int itemnum, char *buf) @@ -1156,13 +1153,10 @@ static void close_unused_slots(void) */ void __noreturn clean_exit(int status, const char *msg) { - int i; - if (socket_name) unlink(socket_name); close_stat_pipe(); - FOR_EACH_SLOT(i) - close_slot(i); + close_unused_slots(); audiod_cmdline_parser_free(&conf); close_stat_clients(); PARA_EMERG_LOG("%s\n", msg); diff --git a/audiod.cmd b/audiod.cmd index 6c99d4c7..ad8f67d0 100644 --- a/audiod.cmd +++ b/audiod.cmd @@ -19,17 +19,13 @@ H: Options: H: H: -m Change grab mode. Defaults to sloppy grab if not given. H: -H: -ms: sloppy grab +H: -ms: sloppy grab +H: -mp: pedantic grab +H: -ma: aggressive grab H: -H: -mp: pedantic grab -H: -H: -ma: aggressive grab -H: -H: The various grab modes only differ in what happens if the -H: file descriptor to write the grabbed audio data to is not -H: ready for writing (i.e. would block). Sloppy mode ignores -H: the write, pedantic mode aborts and aggressive mode tries -H: to write anyway. +H: The various grab modes only differ in what happens if an attempt to +H: write the grabbed audio data would block. Sloppy mode ignores the +H: write, pedantic mode aborts and aggressive mode tries to write anyway. H: H: -p Grab output of node PARENT of the buffer tree. H: diff --git a/audiod.h b/audiod.h index 5485b424..aa98001c 100644 --- a/audiod.h +++ b/audiod.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/audiod_command.c b/audiod_command.c index 1ffab87c..4485d9e9 100644 --- a/audiod_command.c +++ b/audiod_command.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/bash_completion b/bash_completion index d35247eb..33bf64f6 100644 --- a/bash_completion +++ b/bash_completion @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2013 Andre Noll +# Copyright (C) 2007-2014 Andre Noll # # Licensed under the GPL v2. For licencing details see COPYING. diff --git a/blob.c b/blob.c index 373d8d00..dc71b8e3 100644 --- a/blob.c +++ b/blob.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2013 Andre Noll + * Copyright (C) 2007-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/buffer_tree.c b/buffer_tree.c index 56ab2b24..5afa3ad3 100644 --- a/buffer_tree.c +++ b/buffer_tree.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009-2013 Andre Noll + * Copyright (C) 2009-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/buffer_tree.h b/buffer_tree.h index 6127dd92..e01cb906 100644 --- a/buffer_tree.h +++ b/buffer_tree.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009-2013 Andre Noll + * Copyright (C) 2009-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/check_wav.c b/check_wav.c index 11459e08..a36cea9a 100644 --- a/check_wav.c +++ b/check_wav.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/check_wav.h b/check_wav.h index ba1a8eca..5310d170 100644 --- a/check_wav.h +++ b/check_wav.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012-2013 Andre Noll + * Copyright (C) 2012-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/chunk_queue.c b/chunk_queue.c index c870d4d2..5328c113 100644 --- a/chunk_queue.c +++ b/chunk_queue.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2013 Andre Noll + * Copyright (C) 2007-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -13,6 +13,7 @@ #include "afh.h" #include "string.h" #include "error.h" +#include "chunk_queue.h" /** * Senders may use the chunk queue facility to deal with laggy connections. It diff --git a/chunk_queue.h b/chunk_queue.h index 75146824..946cacda 100644 --- a/chunk_queue.h +++ b/chunk_queue.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2013 Andre Noll + * Copyright (C) 2007-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/client.c b/client.c index 873edc16..c1ef5217 100644 --- a/client.c +++ b/client.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1997-2013 Andre Noll + * Copyright (C) 1997-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/client.h b/client.h index 6e438f7e..82dbc033 100644 --- a/client.h +++ b/client.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1997-2013 Andre Noll + * Copyright (C) 1997-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/client_common.c b/client_common.c index 6652cc35..900d3653 100644 --- a/client_common.c +++ b/client_common.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1997-2013 Andre Noll + * Copyright (C) 1997-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -336,7 +336,8 @@ static int client_post_select(struct sched *s, struct task *t) case CL_RECEIVED_WELCOME: /* send auth command */ if (!FD_ISSET(ct->scc.fd, &s->wfds)) return 0; - sprintf(buf, AUTH_REQUEST_MSG "%s sideband", ct->user); + sprintf(buf, AUTH_REQUEST_MSG "%s sideband%s", ct->user, + has_feature("aes_ctr128", ct)? ",aes_ctr128" : ""); PARA_INFO_LOG("--> %s\n", buf); ret = write_buffer(ct->scc.fd, buf); if (ret < 0) @@ -352,6 +353,7 @@ static int client_post_select(struct sched *s, struct task *t) /* decrypted challenge/session key buffer */ unsigned char crypt_buf[1024]; struct sb_buffer sbb; + bool use_aes; ret = recv_sb(ct, &s->rfds, &sbb); if (ret <= 0) @@ -370,9 +372,10 @@ static int client_post_select(struct sched *s, struct task *t) goto out; ct->challenge_hash = para_malloc(HASH_SIZE); hash_function((char *)crypt_buf, CHALLENGE_SIZE, ct->challenge_hash); - ct->scc.send = sc_new(crypt_buf + CHALLENGE_SIZE, SESSION_KEY_LEN); + use_aes = has_feature("aes_ctr128", ct); + ct->scc.send = sc_new(crypt_buf + CHALLENGE_SIZE, SESSION_KEY_LEN, use_aes); ct->scc.recv = sc_new(crypt_buf + CHALLENGE_SIZE + SESSION_KEY_LEN, - SESSION_KEY_LEN); + SESSION_KEY_LEN, use_aes); hash_to_asc(ct->challenge_hash, buf); PARA_INFO_LOG("--> %s\n", buf); ct->status = CL_RECEIVED_CHALLENGE; diff --git a/close_on_fork.c b/close_on_fork.c index 37f727e2..eb470cf6 100644 --- a/close_on_fork.c +++ b/close_on_fork.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -11,6 +11,7 @@ #include "para.h" #include "list.h" #include "string.h" +#include "close_on_fork.h" static struct list_head close_on_fork_list; static int initialized; diff --git a/command.c b/command.c index fc098b78..eb15875c 100644 --- a/command.c +++ b/command.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1997-2013 Andre Noll + * Copyright (C) 1997-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -115,7 +115,6 @@ static unsigned get_status(struct misc_meta_data *nmmd, int parser_friendly, char mtime[30] = ""; char *status, *flags; /* vss status info */ /* nobody updates our version of "now" */ - char *ut = get_server_uptime_str(NULL); long offset = (nmmd->offset + 500) / 1000; struct timeval current_time; struct tm mtime_tm; @@ -149,7 +148,6 @@ static unsigned get_status(struct misc_meta_data *nmmd, int parser_friendly, (long unsigned)current_time.tv_usec); free(flags); free(status); - free(ut); *result = b.buf; return b.offset; } @@ -786,14 +784,20 @@ static void reset_signals(void) para_sigaction(SIGHUP, SIG_DFL); } -static int parse_auth_request(char *buf, int len, struct user **u) +struct connection_features { + bool sideband_requested; + bool aes_ctr128_requested; +}; + +static int parse_auth_request(char *buf, int len, struct user **u, + struct connection_features *cf) { int ret; char *p, *username, **features = NULL; size_t auth_rq_len = strlen(AUTH_REQUEST_MSG); - bool sideband_requested = false; *u = NULL; + memset(cf, 0, sizeof(*cf)); if (len < auth_rq_len + 2) return -E_AUTH_REQUEST; if (strncmp(buf, AUTH_REQUEST_MSG, auth_rq_len) != 0) @@ -809,18 +813,15 @@ static int parse_auth_request(char *buf, int len, struct user **u) create_argv(p, ",", &features); for (i = 0; features[i]; i++) { if (strcmp(features[i], "sideband") == 0) - sideband_requested = true; + cf->sideband_requested = true; + else if (strcmp(features[i], "aes_ctr128") == 0) + cf->aes_ctr128_requested = true; else { ret = -E_BAD_FEATURE; goto out; } } } - if (sideband_requested == false) { /* sideband is mandatory */ - PARA_ERROR_LOG("client did not request sideband\n"); - ret = -E_BAD_FEATURE; - goto out; - } PARA_DEBUG_LOG("received auth request for user %s\n", username); *u = lookup_user(username); ret = 1; @@ -895,10 +896,11 @@ __noreturn void handle_connect(int fd, const char *peername) int ret; unsigned char rand_buf[CHALLENGE_SIZE + 2 * SESSION_KEY_LEN]; unsigned char challenge_hash[HASH_SIZE]; - char *p, *command = NULL, *buf = para_malloc(HANDSHAKE_BUFSIZE) /* must be on the heap */; + char *command = NULL, *buf = para_malloc(HANDSHAKE_BUFSIZE) /* must be on the heap */; size_t numbytes; struct command_context cc_struct = {.peer = peername}, *cc = &cc_struct; struct iovec iov; + struct connection_features cf; cc->scc.fd = fd; reset_signals(); @@ -909,7 +911,7 @@ __noreturn void handle_connect(int fd, const char *peername) /* send Welcome message */ ret = write_va_buffer(fd, "This is para_server, version " PACKAGE_VERSION ".\n" - "Features: sideband\n" + "Features: sideband,aes_ctr128\n" ); if (ret < 0) goto net_err; @@ -917,12 +919,14 @@ __noreturn void handle_connect(int fd, const char *peername) ret = recv_buffer(fd, buf, HANDSHAKE_BUFSIZE); if (ret < 0) goto net_err; - ret = parse_auth_request(buf, ret, &cc->u); + ret = parse_auth_request(buf, ret, &cc->u, &cf); if (ret < 0) goto net_err; - p = buf + strlen(AUTH_REQUEST_MSG); - PARA_DEBUG_LOG("received auth request for user %s\n", p); - cc->u = lookup_user(p); + if (!cf.sideband_requested) { /* sideband is mandatory */ + PARA_ERROR_LOG("client did not request sideband\n"); + ret = -E_BAD_FEATURE; + goto net_err; + } if (cc->u) { get_random_bytes_or_die(rand_buf, sizeof(rand_buf)); ret = pub_encrypt(cc->u->pubkey, rand_buf, sizeof(rand_buf), @@ -939,7 +943,7 @@ __noreturn void handle_connect(int fd, const char *peername) numbytes = 256; get_random_bytes_or_die((unsigned char *)buf, numbytes); } - PARA_DEBUG_LOG("sending %u byte challenge + rc4 keys (%zu bytes)\n", + PARA_DEBUG_LOG("sending %u byte challenge + session key (%zu bytes)\n", CHALLENGE_SIZE, numbytes); ret = send_sb(&cc->scc, buf, numbytes, SBD_CHALLENGE, false); buf = NULL; @@ -969,8 +973,10 @@ __noreturn void handle_connect(int fd, const char *peername) alarm(0); PARA_INFO_LOG("good auth for %s\n", cc->u->name); /* init stream cipher keys with the second part of the random buffer */ - cc->scc.recv = sc_new(rand_buf + CHALLENGE_SIZE, SESSION_KEY_LEN); - cc->scc.send = sc_new(rand_buf + CHALLENGE_SIZE + SESSION_KEY_LEN, SESSION_KEY_LEN); + cc->scc.recv = sc_new(rand_buf + CHALLENGE_SIZE, SESSION_KEY_LEN, + cf.aes_ctr128_requested); + cc->scc.send = sc_new(rand_buf + CHALLENGE_SIZE + SESSION_KEY_LEN, + SESSION_KEY_LEN, cf.aes_ctr128_requested); ret = send_sb(&cc->scc, NULL, 0, SBD_PROCEED, false); if (ret < 0) goto net_err; diff --git a/command_util.bash b/command_util.bash new file mode 100755 index 00000000..e33e0769 --- /dev/null +++ b/command_util.bash @@ -0,0 +1,305 @@ +#!/usr/bin/env bash + +read_header() +{ + local key value i + + while read key value; do + case "$key" in + ---) + break + ;; + BN:) + base_name="$value" + ;; + SF:) + source_files="$value" + ;; + SN:) + section_name="$value" + ;; + TM:) + template_members="$value" + esac + done +} + +read_one_command() +{ + local line + + name_txt="" + desc_txt="" + usage_txt="" + help_txt="" + perms_txt="" + template=0 + template_name="" + template_prototype="" + while read key value; do + case "$key" in + ---) + break + ;; + N:) + name_txt="$value" + ;; + T:) + template_name="$value" + template=1 + ;; + O:) + template_prototype="$value" + template=1 + ;; + P:) + perms_txt="$value" + ;; + D:) + desc_txt="$value" + ;; + U:) + usage_txt="$value" + ;; + H:) + help_txt="${value}" + while read line; do + if test "$line" = "---"; then + break; + fi + line=${line#H:} + help_txt="$help_txt +${line# }" + done + break + ;; + esac + done + if test $template -eq 0; then + if test -n "$name_txt" -a -n "$desc_txt" -a -n "$usage_txt" \ + -a -n "$help_txt"; then + ret=1 + return + fi + else + if test -n "$template_name" -a -n "$template_prototype" \ + -a -n "$name_txt " -a -n "$template_members" \ + -a -n "$desc_txt" -a -n "$usage_txt" \ + -a -n "$help_txt"; then + ret=1 + return + fi + fi + if test -z "$name_txt" -a -z "$desc_txt" -a -z "$usage_txt" \ + -a -z "$help_txt"; then + ret=0 + return + fi + ret=-1 + #return + echo "!ERROR!" + echo "N: $name_txt" + echo "D: $desc_txt" + echo "S: $usage_txt" + echo "P: $perms_txt" + echo "H: $help_txt" + echo "O: $template_prototype" +} + +dump_man() +{ + if test $template -eq 0; then + echo ".SS \"$name_txt\"" + echo "$desc_txt" + echo + echo "\\fBUsage: \\fP$usage_txt" + else + for member in $template_members; do + local sed_cmd="sed -e s/@member@/$member/g" + local t_name_txt=$(echo $name_txt | $sed_cmd) + echo ".SS \"$t_name_txt\"" + done + echo "$desc_txt" | sed -e "s/@member@/{$(echo $template_members | sed -e 's/ / | /g')}/g" + echo + echo "\\fBUsage: \\fP" + echo + echo ".nf" + for member in $template_members; do + local sed_cmd="sed -e s/@member@/$member/g" + local t_usage_txt=$(echo $usage_txt | $sed_cmd) + printf "\t$t_usage_txt\n" + done + echo ".fi" + fi + echo + echo "$help_txt" | sed -e 's/^ //' + echo + if test -n "$perms_txt"; then + echo -n "\\fBpermissions:\\fP " + if test "$perms_txt" = "0"; then + echo "(none)" + else + echo "$perms_txt" + fi + fi + echo +} + + +com_man() +{ + echo "[$section_name]" + echo + while : ; do + read_one_command + if test $ret -lt 0; then + exit 1 + fi + if test $ret -eq 0; then + break + fi + dump_man + done +} + +make_proto() +{ + local regex='\(__noreturn \)*\(static \)*int com_' + local source_file match="" all_commands CR=' +' + if test -n "$prototype"; then + result="$prototype$CR" + return + fi + all_commands="$(cat $source_files | grep "$regex")" + result= + for source_file in $source_files; do + match=$(grep "$regex$name_txt(" <<< "$all_commands" | head -n 1 | sed -e 's/$/;/1') + if test -n "$match"; then + result="$result$match$CR" + break + fi + done +} + +make_array_member() +{ + local TAB=' ' CR=' +' + local tmp + + result="{.name = \"$name_txt\", .handler = com_$name_txt, " + if test -n "$perms_txt"; then + result="$result .perms = $perms_txt," + fi + result="$result.description = \"$desc_txt\", .usage = \"$usage_txt\", \\$CR .help = " + tmp="$(printf "%s\n" "$help_txt" | sed -e 's/^/\"/g' -e 's/$/\\n\"/g' \ + -e "s/$TAB/\\\t/g" -e's/$/\\/g')" + result="$result$tmp$CR}, \\$CR" +} + +make_completion() +{ + local CR=' +' + result=" {.name = \"$name_txt\", .completer = ${name_txt}_completer}, \\$CR" +} + +template_loop() +{ + local loop_result= + + local t_name="$name_txt" + local t_perms="$perms_txt" + local t_desc="$desc_txt" + local t_usage="$usage_txt" + local t_help="$help_txt" + local t_source_files="$source_files" + local member + for member in $template_members; do + name_txt="${t_name//@member@/$member}" + perms_txt="${t_perms//@member@/$member}" + desc_txt="${t_desc//@member@/$member}" + usage_txt="${t_usage//@member@/$member}" + help_txt="${t_help//@member@/$member}" + prototype="${template_prototype//@member@/$member}" + result= + $1 + loop_result="$loop_result$result" + done + result="$loop_result" + # reset global variables + name_txt="$t_name" + perms_txt="$t_perms" + desc_txt="$t_desc" + usage_txt="$t_usage" + help_txt="$t_help" + source_files="$t_source_files" +} + +com_header() +{ + local array_members CR=' +' + + while : ; do + read_one_command + if test $ret -lt 0; then + exit 1 + fi + if test $ret -eq 0; then + break + fi + if test $template -eq 0; then + make_proto + printf "%s" "$result" + make_array_member + array_members="$array_members$result" + continue + fi + template_loop make_proto + printf "%s" "$result" + template_loop make_array_member + array_members="$array_members$result" + done + array_members="$array_members{.name = NULL} \\$CR" + echo "#define DEFINE_$(tr 'a-z' 'A-Z' <<< "$base_name")_CMD_ARRAY $array_members" +} + +com_completion() +{ + + echo "#define $1 \\" + while : ; do + read_one_command + if test $ret -lt 0; then + exit 1 + fi + if test $ret -eq 0; then + break + fi + if test $template -eq 0; then + make_completion + printf "%s" "$result" + continue + fi + template_loop make_completion + printf "%s" "$result" + done + echo +} + +read_header +arg="$1" +shift +case "$arg" in + "h") + com_header + ;; + "man") + com_man $* + ;; + "compl") + com_completion $* + ;; +esac diff --git a/command_util.sh b/command_util.sh deleted file mode 100755 index e33e0769..00000000 --- a/command_util.sh +++ /dev/null @@ -1,305 +0,0 @@ -#!/usr/bin/env bash - -read_header() -{ - local key value i - - while read key value; do - case "$key" in - ---) - break - ;; - BN:) - base_name="$value" - ;; - SF:) - source_files="$value" - ;; - SN:) - section_name="$value" - ;; - TM:) - template_members="$value" - esac - done -} - -read_one_command() -{ - local line - - name_txt="" - desc_txt="" - usage_txt="" - help_txt="" - perms_txt="" - template=0 - template_name="" - template_prototype="" - while read key value; do - case "$key" in - ---) - break - ;; - N:) - name_txt="$value" - ;; - T:) - template_name="$value" - template=1 - ;; - O:) - template_prototype="$value" - template=1 - ;; - P:) - perms_txt="$value" - ;; - D:) - desc_txt="$value" - ;; - U:) - usage_txt="$value" - ;; - H:) - help_txt="${value}" - while read line; do - if test "$line" = "---"; then - break; - fi - line=${line#H:} - help_txt="$help_txt -${line# }" - done - break - ;; - esac - done - if test $template -eq 0; then - if test -n "$name_txt" -a -n "$desc_txt" -a -n "$usage_txt" \ - -a -n "$help_txt"; then - ret=1 - return - fi - else - if test -n "$template_name" -a -n "$template_prototype" \ - -a -n "$name_txt " -a -n "$template_members" \ - -a -n "$desc_txt" -a -n "$usage_txt" \ - -a -n "$help_txt"; then - ret=1 - return - fi - fi - if test -z "$name_txt" -a -z "$desc_txt" -a -z "$usage_txt" \ - -a -z "$help_txt"; then - ret=0 - return - fi - ret=-1 - #return - echo "!ERROR!" - echo "N: $name_txt" - echo "D: $desc_txt" - echo "S: $usage_txt" - echo "P: $perms_txt" - echo "H: $help_txt" - echo "O: $template_prototype" -} - -dump_man() -{ - if test $template -eq 0; then - echo ".SS \"$name_txt\"" - echo "$desc_txt" - echo - echo "\\fBUsage: \\fP$usage_txt" - else - for member in $template_members; do - local sed_cmd="sed -e s/@member@/$member/g" - local t_name_txt=$(echo $name_txt | $sed_cmd) - echo ".SS \"$t_name_txt\"" - done - echo "$desc_txt" | sed -e "s/@member@/{$(echo $template_members | sed -e 's/ / | /g')}/g" - echo - echo "\\fBUsage: \\fP" - echo - echo ".nf" - for member in $template_members; do - local sed_cmd="sed -e s/@member@/$member/g" - local t_usage_txt=$(echo $usage_txt | $sed_cmd) - printf "\t$t_usage_txt\n" - done - echo ".fi" - fi - echo - echo "$help_txt" | sed -e 's/^ //' - echo - if test -n "$perms_txt"; then - echo -n "\\fBpermissions:\\fP " - if test "$perms_txt" = "0"; then - echo "(none)" - else - echo "$perms_txt" - fi - fi - echo -} - - -com_man() -{ - echo "[$section_name]" - echo - while : ; do - read_one_command - if test $ret -lt 0; then - exit 1 - fi - if test $ret -eq 0; then - break - fi - dump_man - done -} - -make_proto() -{ - local regex='\(__noreturn \)*\(static \)*int com_' - local source_file match="" all_commands CR=' -' - if test -n "$prototype"; then - result="$prototype$CR" - return - fi - all_commands="$(cat $source_files | grep "$regex")" - result= - for source_file in $source_files; do - match=$(grep "$regex$name_txt(" <<< "$all_commands" | head -n 1 | sed -e 's/$/;/1') - if test -n "$match"; then - result="$result$match$CR" - break - fi - done -} - -make_array_member() -{ - local TAB=' ' CR=' -' - local tmp - - result="{.name = \"$name_txt\", .handler = com_$name_txt, " - if test -n "$perms_txt"; then - result="$result .perms = $perms_txt," - fi - result="$result.description = \"$desc_txt\", .usage = \"$usage_txt\", \\$CR .help = " - tmp="$(printf "%s\n" "$help_txt" | sed -e 's/^/\"/g' -e 's/$/\\n\"/g' \ - -e "s/$TAB/\\\t/g" -e's/$/\\/g')" - result="$result$tmp$CR}, \\$CR" -} - -make_completion() -{ - local CR=' -' - result=" {.name = \"$name_txt\", .completer = ${name_txt}_completer}, \\$CR" -} - -template_loop() -{ - local loop_result= - - local t_name="$name_txt" - local t_perms="$perms_txt" - local t_desc="$desc_txt" - local t_usage="$usage_txt" - local t_help="$help_txt" - local t_source_files="$source_files" - local member - for member in $template_members; do - name_txt="${t_name//@member@/$member}" - perms_txt="${t_perms//@member@/$member}" - desc_txt="${t_desc//@member@/$member}" - usage_txt="${t_usage//@member@/$member}" - help_txt="${t_help//@member@/$member}" - prototype="${template_prototype//@member@/$member}" - result= - $1 - loop_result="$loop_result$result" - done - result="$loop_result" - # reset global variables - name_txt="$t_name" - perms_txt="$t_perms" - desc_txt="$t_desc" - usage_txt="$t_usage" - help_txt="$t_help" - source_files="$t_source_files" -} - -com_header() -{ - local array_members CR=' -' - - while : ; do - read_one_command - if test $ret -lt 0; then - exit 1 - fi - if test $ret -eq 0; then - break - fi - if test $template -eq 0; then - make_proto - printf "%s" "$result" - make_array_member - array_members="$array_members$result" - continue - fi - template_loop make_proto - printf "%s" "$result" - template_loop make_array_member - array_members="$array_members$result" - done - array_members="$array_members{.name = NULL} \\$CR" - echo "#define DEFINE_$(tr 'a-z' 'A-Z' <<< "$base_name")_CMD_ARRAY $array_members" -} - -com_completion() -{ - - echo "#define $1 \\" - while : ; do - read_one_command - if test $ret -lt 0; then - exit 1 - fi - if test $ret -eq 0; then - break - fi - if test $template -eq 0; then - make_completion - printf "%s" "$result" - continue - fi - template_loop make_completion - printf "%s" "$result" - done - echo -} - -read_header -arg="$1" -shift -case "$arg" in - "h") - com_header - ;; - "man") - com_man $* - ;; - "compl") - com_completion $* - ;; -esac diff --git a/compress_filter.c b/compress_filter.c index 0c0200e7..b488f55c 100644 --- a/compress_filter.c +++ b/compress_filter.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/configure.ac b/configure.ac index cdbc0e56..07ecffdd 100644 --- a/configure.ac +++ b/configure.ac @@ -580,7 +580,11 @@ if test -n "$with_flac_libs"; then LDFLAGS="$LDFLAGS $flac_libs" fi AC_CHECK_HEADER(FLAC/stream_decoder.h, [], have_flac=no) -AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_init_file], [], have_flac=no, -logg -lm) +AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_init_file], [], [ + # nope, try again with -logg + AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_init_file], [], + have_flac=no, -lm -logg) + ], -lm) if test "$have_flac" = "yes"; then AC_DEFINE(HAVE_FLAC, 1, define to 1 if you want to build the flacdec filter) AC_SUBST(flac_cppflags) @@ -728,15 +732,17 @@ AC_CHECK_HEADERS([readline/readline.h], [ ]) if test "$have_readline" = "yes"; then - readline_ldflags="$readline_libs -lreadline" - AC_SEARCH_LIBS([rl_free_keymap], [readline], [], [have_readline="no"]) + readline_ldflags="$readline_libs" + AC_SEARCH_LIBS([rl_free_keymap], [readline], [ + readline_ldflags="$readline_ldflags -lreadline" + ], [have_readline="no"]) if test "$have_readline" = "no"; then # try with -lcurses # clear cache AC_MSG_NOTICE([trying again with -lcurses]) unset ac_cv_search_rl_free_keymap 2> /dev/null AC_SEARCH_LIBS([rl_free_keymap], [readline], [ have_readline=yes - readline_ldflags="$readline_ldflags -lcurses" + readline_ldflags="$readline_ldflags -lreadline -lcurses" ], [], [-lcurses]) fi if test "$have_readline" = "no"; then # try with -ltermcap @@ -745,7 +751,7 @@ if test "$have_readline" = "yes"; then unset ac_cv_search_rl_free_keymap 2> /dev/null AC_SEARCH_LIBS([rl_free_keymap], [readline], [ have_readline=yes - readline_ldflags="$readline_ldflags -ltermcap" + readline_ldflags="$readline_ldflags -lreadline -ltermcap" ], [], [-ltermcap]) fi fi @@ -1172,6 +1178,8 @@ if test "$have_samplerate" = "yes"; then filter_cmdline_objs="$filter_cmdline_objs resample_filter" filters="$filters resample" fi +filters="$(echo $filters)" +AC_SUBST(filters) filter_objs="add_cmdline($filter_cmdline_objs) $filter_errlist_objs" AC_SUBST(filter_objs, add_dot_o($filter_objs)) @@ -1236,6 +1244,7 @@ if test "$have_flac" = "yes"; then recv_errlist_objs="$recv_errlist_objs flac_afh" fi recv_objs="add_cmdline($recv_cmdline_objs) $recv_errlist_objs" +AC_SUBST(receivers, "http dccp udp afh") AC_SUBST(recv_objs, add_dot_o($recv_objs)) AC_DEFINE_UNQUOTED(INIT_RECV_ERRLISTS, objlist_to_errlist($recv_errlist_objs), errors used by para_recv) @@ -1269,6 +1278,7 @@ if test "$have_speex" = "yes"; then fi if test "$have_opus" = "yes"; then afh_errlist_objs="$afh_errlist_objs opus_afh opus_common" + audio_format_handlers="$audio_format_handlers opus" fi if test "$have_faad" = "yes"; then afh_errlist_objs="$afh_errlist_objs aac_common aac_afh" @@ -1428,6 +1438,7 @@ if test "$have_alsa" = "yes"; then writers="$writers alsa" default_writer="ALSA_WRITE" fi +AC_SUBST(writers) write_objs="add_cmdline($write_cmdline_objs) $write_errlist_objs" AC_SUBST(write_objs, add_dot_o($write_objs)) AC_DEFINE_UNQUOTED(INIT_WRITE_ERRLISTS, @@ -1546,7 +1557,7 @@ unix socket credentials: $have_ucred readline (interactive CLIs): $have_readline audio formats handlers: $audio_format_handlers id3 version2 support: $have_libid3tag -filters: $(echo $filters) +filters: $filters writers: $writers para_fade: $build_fade diff --git a/convert_0.3-0.4.sh b/convert_0.3-0.4.sh deleted file mode 100755 index aa0b239f..00000000 --- a/convert_0.3-0.4.sh +++ /dev/null @@ -1,221 +0,0 @@ -#!/usr/bin/env bash - -#------------------------------------------------------------------------------- -## Script to convert the database of paraslash 0.3.5 to version 0.4.x. -## -## Assumptions: -## - para_server 0.3.5 is running -## - "para_client check" reports no errors -## - para_server 0.4.x is running, listens on another port and uses a -## different afs database and a different afs socket -## - The database of paraslash 0.4.x has been initialized (i.e. -## para_client init has successfully been executed) -## - All audio files in the 0.3.x database have already been added to -## the 0.4.x database (execute para_client add /my/audio/file/dir to -## do that) -## -#------------------------------------------------------------------------------- - -# Call this script without arguments to see usage info - -# How to connect to para_server 0.3.x. -client03=/usr/local/bin/para_client -port03=2991 -host03=localhost -database03=$HOME/.paraslash/afs_database - -# How to connect to para_server 0.4.x. -client04=$(pwd)/para_client -port04=2990 -host04=localhost -database04=$HOME/.paraslash/afs_database-0.4 - -# Any character that does not occur in any filename of an audio file -sep='|' - - -client03_cmd="$client03 -p $port03 -i $host03" -client04_cmd="$client04 -p $port04 -i $host04" - -exec_client03_cmd() -{ - result="$($client03_cmd -- "$@")" -} - -exec_client04_cmd() -{ - result="$($client04_cmd -- "$@")" -} - -convert_attribute_table() -{ - local atts - - echo "converting attribute table" - exec_client03_cmd lsatt - atts="$result" - exec_client04_cmd addatt $atts -} - -convert_attributes() -{ - local OIFS="$IFS" a p att atts - - printf "converting attributes: " - $client03_cmd -- ls -p -lv \ - | grep '^path:\|^attributes_txt:' \ - | sed -e "/^path:/N;s/\n/$sep/1" \ - | { - IFS="$sep" - while read p a; do - p=${p#path: } - a=${a#attributes_txt:} - IFS=" " - atts= - for att in $a; do - atts="$atts $att+" - done - IFS="$OIFS" - [[ -n "$atts" ]] && $client04_cmd -- setatt $atts "$p" - IFS="$sep" - printf "." - done - echo done - } - IFS="$OIFS" -} - -convert_lna() -{ - local OIFS="$IFS" p l n a - - printf "converting last_played, num_played, amplification values: " - $client03_cmd -- ls -p -d -lv \ - | grep '^path:\|^last_played: \|^num_played: \|^amplification: ' \ - | sed -e "/^path:/N;N;N;s/\n/$sep/g" \ - | { - IFS="$sep" - while read p l n a; do - #echo "p: $p, l:$l, n:$n a:$a" - p=${p#path: } - l=${l#last_played: } - n=${n#num_played: } - a=${a#amplification: } - IFS="$OIFS" - $client04_cmd -- touch "-l$l" "-n$n" "-a$a" "$p" - IFS="$sep" - printf "." - done - echo done - } - IFS="$OIFS" -} - -convert_blobs() -{ - local blob name - - for blob in img lyr mood pl; do - printf "converting $blob table: " - exec_client03_cmd ls$blob - echo "$result" | while read name; do - $client03_cmd -- cat$blob "$name" | $client04_cmd -- add$blob "$name" - printf "." - done - echo done - done -} - -convert_ids() -{ - local OIFS="$IFS" p i y iopts yopts - - printf "converting image and lyrics ids: " - $client03_cmd -- ls -p -lv \ - | grep '^path:\|^image_name: \|^lyrics_name: ' \ - | sed -e "/^path:/N;N;s/\n/$sep/g" \ - | { - IFS="$sep" - while read p i l; do - IFS="$OIFS" - iopts= - yopts= - p=${p#path: } - i=${i#image_name: } - l=${l#lyrics_name: } - if [[ "$i" != '(none)' ]]; then - exec_client04_cmd lsimg -l "$i" - iopts="-i${result%% *}" - fi - if [[ "$l" != '(none)' ]]; then - exec_client04_cmd lslyr -l "$l" - yopts="-y${result%% *}" - fi - if [[ -n "$iopts" && -n "$yopts" ]]; then - $client04_cmd -- touch "$iopts" "$yopts" "$p" - elif [[ -n "$iopts" ]]; then - $client04_cmd -- touch "$iopts" "$p" - elif [[ -n "$yopts" ]]; then - $client04_cmd -- touch "$yopts" "$p" - fi - printf "." - IFS="$sep" - done - echo done - } - IFS="$OIFS" -} - - -usage() -{ - grep '^##' $0 | sed -e 's/^## *//' - echo ' -Usage: $0 command - -command is one of the following: - - attribute_table: create attributes - attributes: convert attributes for each audio file - lna: convert the last_played/num_played/amplification values - blobs: convert the image/lyrics/moods/playlists tables - ids: convert image and the lyrics id of each audio file. - all: Do all of the above. - -Edit the top of the script to customize some options. -' -} - -if test $# -ne 1; then - usage - exit 1 -fi - -case "$1" in -attribute_table) - convert_attribute_table - ;; -attributes) - convert_attributes - ;; -lna) - convert_lna - ;; -blobs) - convert_blobs - ;; -ids) - convert_ids - ;; -all) - convert_attribute_table - convert_attributes - convert_lna - convert_blobs - convert_ids - ;; -*) - usage - exit 1 - ;; -esac diff --git a/crypt.c b/crypt.c index 5445138d..0137e004 100644 --- a/crypt.c +++ b/crypt.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -15,6 +15,7 @@ #include #include #include +#include #include "para.h" #include "error.h" @@ -259,14 +260,40 @@ int pub_encrypt(struct asymmetric_key *pub, unsigned char *inbuf, return ret < 0? -E_ENCRYPT : ret; } +struct aes_ctr_128_context { + AES_KEY key; + unsigned char ivec[AES_CRT128_BLOCK_SIZE]; + unsigned char ecount[AES_CRT128_BLOCK_SIZE]; + unsigned int num; +}; + struct stream_cipher { - RC4_KEY key; + bool use_aes; + union { + RC4_KEY rc4_key; + struct aes_ctr_128_context aes; + } context; }; -struct stream_cipher *sc_new(const unsigned char *data, int len) +struct stream_cipher *sc_new(const unsigned char *data, int len, + bool use_aes) { + int ret; struct stream_cipher *sc = para_malloc(sizeof(*sc)); - RC4_set_key(&sc->key, len, data); + struct aes_ctr_128_context *aes; + + sc->use_aes = use_aes; + if (!use_aes) { + RC4_set_key(&sc->context.rc4_key, len, data); + return sc; + } + assert(len >= 2 * AES_CRT128_BLOCK_SIZE); + aes = &sc->context.aes; + ret = AES_set_encrypt_key(data, AES_CRT128_BLOCK_SIZE * 8 /* bits */, + &aes->key); + assert(ret == 0); + memcpy(aes->ivec, data + AES_CRT128_BLOCK_SIZE, AES_CRT128_BLOCK_SIZE); + aes->num = 0; return sc; } @@ -282,10 +309,9 @@ void sc_free(struct stream_cipher *sc) */ #define RC4_ALIGN 8 -void sc_crypt(struct stream_cipher *sc, struct iovec *src, struct iovec *dst) +static void rc4_crypt(RC4_KEY *key, struct iovec *src, struct iovec *dst) { size_t len = src->iov_len, l1, l2; - RC4_KEY *key = &sc->key; assert(len > 0); assert(len < ((typeof(src->iov_len))-1) / 2); @@ -306,6 +332,28 @@ void sc_crypt(struct stream_cipher *sc, struct iovec *src, struct iovec *dst) ((char *)dst->iov_base)[len] = '\0'; } +static void aes_ctr128_crypt(struct aes_ctr_128_context *aes, struct iovec *src, + struct iovec *dst) +{ + size_t len = src->iov_len; + + *dst = (typeof(*dst)) { + /* Add one for the terminating zero byte. */ + .iov_base = para_malloc(len + 1), + .iov_len = len + }; + AES_ctr128_encrypt(src->iov_base, dst->iov_base, len, + &aes->key, aes->ivec, aes->ecount, &aes->num); + ((char *)dst->iov_base)[len] = '\0'; +} + +void sc_crypt(struct stream_cipher *sc, struct iovec *src, struct iovec *dst) +{ + if (sc->use_aes) + return aes_ctr128_crypt(&sc->context.aes, src, dst); + return rc4_crypt(&sc->context.rc4_key, src, dst); +} + void hash_function(const char *data, unsigned long len, unsigned char *hash) { SHA_CTX c; diff --git a/crypt.h b/crypt.h index 1406197d..324a87b3 100644 --- a/crypt.h +++ b/crypt.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -123,10 +123,12 @@ struct stream_cipher_context { * * \param data The key. * \param len The size of the key. + * \param use_aes True: Use the aes_ctr128 stream cipher, false: Use RC4. * * \return A new stream cipher structure. */ -struct stream_cipher *sc_new(const unsigned char *data, int len); +struct stream_cipher *sc_new(const unsigned char *data, int len, + bool use_aes); /** * Encrypt or decrypt a buffer using a stream cipher. diff --git a/crypt_backend.h b/crypt_backend.h index 481a215f..ddebe62e 100644 --- a/crypt_backend.h +++ b/crypt_backend.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2013 Andre Noll + * Copyright (C) 2011-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -8,6 +8,9 @@ /* This should only be incuded from files which provide crypto functions. */ +/** AES block size in bytes. */ +#define AES_CRT128_BLOCK_SIZE 16 + size_t is_ssh_rsa_key(char *data, size_t size); uint32_t read_ssh_u32(const void *vp); int uudecode(const char *src, unsigned char *target, size_t targsize); diff --git a/crypt_common.c b/crypt_common.c index 6c71d7e3..71aabf53 100644 --- a/crypt_common.c +++ b/crypt_common.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/daemon.c b/daemon.c index 18ad1568..05002f4e 100644 --- a/daemon.c +++ b/daemon.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1997-2013 Andre Noll + * Copyright (C) 1997-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/dccp_recv.c b/dccp_recv.c index ca3432a3..796a7e6b 100644 --- a/dccp_recv.c +++ b/dccp_recv.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/dccp_send.c b/dccp_send.c index 22f2bd1b..1e95aac6 100644 --- a/dccp_send.c +++ b/dccp_send.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/error.h b/error.h index 08b309ce..301e2ca5 100644 --- a/error.h +++ b/error.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -28,7 +28,7 @@ DEFINE_ERRLIST_OBJECT_ENUM; #define GGO_ERRORS #define COLOR_ERRORS #define SIGNAL_ERRORS -#define FADE_ERRORS +#define OSS_MIX_ERRORS #define STDOUT_ERRORS #define FILE_WRITE_ERRORS #define STDIN_ERRORS @@ -44,15 +44,11 @@ extern const char **para_errlist[]; PARA_ERROR(SYNC_COMPLETE, "all buddies in sync"), \ PARA_ERROR(SYNC_LISTEN_FD, "no fd to listen on"), \ -#define OSS_MIX_ERRORS \ - PARA_ERROR(OSS_MIXER_CHANNEL, "invalid mixer channel"), \ - - #define ALSA_MIX_ERRORS \ PARA_ERROR(ALSA_MIX_OPEN, "could not open mixer"), \ - PARA_ERROR(ALSA_MIX_BAD_ELEM, "invalid/unsupported control element"), \ PARA_ERROR(ALSA_MIX_GET_VAL, "could not read control element state"), \ PARA_ERROR(ALSA_MIX_SET_VAL, "could not set control element state"), \ + PARA_ERROR(ALSA_MIX_RANGE, "value control element out of range"), \ #define RESAMPLE_FILTER_ERRORS \ @@ -83,6 +79,8 @@ extern const char **para_errlist[]; PARA_ERROR(NO_VALID_FILES, "no valid file found in playlist"), \ PARA_ERROR(BAD_PLAY_CMD, "invalid command"), \ +#define FADE_ERRORS \ + PARA_ERROR(BAD_CHANNEL, "invalid channel"), \ #define FLACDEC_FILTER_ERRORS \ PARA_ERROR(FLACDEC_DECODER_ALLOC, "could not allocate stream decoder"), \ diff --git a/error2.c b/error2.c index 630d4c71..9271dadf 100644 --- a/error2.c +++ b/error2.c @@ -1,3 +1,11 @@ +/* + * Copyright (C) 2013-2014 Andre Noll + * + * Licensed under the GPL v2. For licencing details see COPYING. + */ + +/** \file error2.c Simple program to create error2.h. */ + #include #include #include @@ -135,6 +143,18 @@ static void dump_bipolar(void) } } +/** + * The main function of error2.c. + * + * The purpose of this program is to create the error2.h file which defines the + * enumerations of all error codes which may be used by any given .c file. This + * header is included by most .c files of the paraslash suite. + * + * Since this program is executed on the build system, it must be compiled with + * the host compiler. + * + * \return \p EXIT_SUCCESS or \p EXIT_FAILURE. + */ int main(void) { int ret; diff --git a/exec.c b/exec.c index 66065d37..5f48436d 100644 --- a/exec.c +++ b/exec.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003-2013 Andre Noll + * Copyright (C) 2003-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/fade.c b/fade.c index a8424d67..543a666d 100644 --- a/fade.c +++ b/fade.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1998-2013 Andre Noll + * Copyright (C) 1998-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -37,13 +37,21 @@ static __printf_2_3 void date_log(int ll, const char *fmt, ...) return; time(&t1); tm = localtime(&t1); - printf("%d:%02d:%02d ", tm->tm_hour, tm->tm_min, tm->tm_sec); + fprintf(stderr, "%d:%02d:%02d ", tm->tm_hour, tm->tm_min, tm->tm_sec); va_start(argp, fmt); vprintf(fmt, argp); va_end(argp); } __printf_2_3 void (*para_log)(int, const char*, ...) = date_log; +static int set_channel(struct mixer *m, struct mixer_handle *h, const char *channel) +{ + + PARA_NOTICE_LOG("using %s mixer channel\n", channel? + channel : "default"); + return m->set_channel(h, channel); +} + /* Fade to new volume in fade_time seconds. */ static int fade(struct mixer *m, struct mixer_handle *h, int new_vol, int fade_time) { @@ -55,11 +63,12 @@ static int fade(struct mixer *m, struct mixer_handle *h, int new_vol, int fade_t if (fade_time <= 0) return m->set(h, new_vol); secs = fade_time; - PARA_NOTICE_LOG("fading to %d in %d seconds\n", new_vol, secs); ret = m->get(h); if (ret < 0) goto out; vol = ret; + PARA_NOTICE_LOG("fading %s from %d to %d in %d seconds\n", + conf.mixer_channel_arg, vol, new_vol, secs); diff = new_vol - vol; if (!diff) { sleep(secs); @@ -112,7 +121,7 @@ fail: exit(EXIT_FAILURE); } -static void change_afs_mode_and_play(char *afs_mode) +static void change_afs_mode(char *afs_mode) { char *cmd; @@ -122,7 +131,44 @@ static void change_afs_mode_and_play(char *afs_mode) cmd = make_message("select %s", afs_mode); client_cmd(cmd); free(cmd); - client_cmd("play"); +} + +static int set_initial_volume(struct mixer *m, struct mixer_handle *h) +{ + int i, ret; + + for (i = 0; i < conf.ivol_given; i++) { + char *p, *ch, *arg = para_strdup(conf.ivol_arg[i]); + int32_t iv; + p = strchr(arg, ':'); + if (p) { + *p = '\0'; + p++; + ch = arg; + } else { + p = arg; + ch = NULL; + } + ret = para_atoi32(p, &iv); + if (ret < 0) { + free(arg); + return ret; + } + ret = set_channel(m, h, ch); + if (!ch) + ch = "default"; + if (ret < 0) { + PARA_WARNING_LOG("ignoring channel %s\n", ch); + ret = 0; + } else { + PARA_INFO_LOG("initial volume %s: %d\n", ch, iv); + ret = m->set(h, iv); + } + free(arg); + if (ret < 0) + return ret; + } + return 1; } static int sweet_dreams(struct mixer *m, struct mixer_handle *h) @@ -138,7 +184,6 @@ static int sweet_dreams(struct mixer *m, struct mixer_handle *h) int fot = conf.fo_time_arg; int fiv = conf.fi_vol_arg; int fov = conf.fo_vol_arg; - int iv = conf.ivol_arg; /* calculate wake time */ time(&t1); @@ -162,11 +207,14 @@ static int sweet_dreams(struct mixer *m, struct mixer_handle *h) client_cmd("stop"); sleep(1); if (fot) { - PARA_INFO_LOG("initial volume: %d\n", iv); - ret = m->set(h, iv); + ret = set_initial_volume(m, h); + if (ret < 0) + return ret; + change_afs_mode(fo_mood); + client_cmd("play"); + ret = set_channel(m, h, conf.mixer_channel_arg); if (ret < 0) return ret; - change_afs_mode_and_play(fo_mood); ret = fade(m, h, fov, fot); if (ret < 0) return ret; @@ -175,12 +223,14 @@ static int sweet_dreams(struct mixer *m, struct mixer_handle *h) if (ret < 0) return ret; } - if (conf.sleep_mood_given) - change_afs_mode_and_play(sleep_mood); - else + if (conf.sleep_mood_given) { + change_afs_mode(sleep_mood); + client_cmd("play"); + } else client_cmd("stop"); if (!fit) return 1; + change_afs_mode(fi_mood); for (;;) { time(&t1); if (wake_time_epoch <= t1 + fit) @@ -191,7 +241,7 @@ static int sweet_dreams(struct mixer *m, struct mixer_handle *h) (delay % 3600) / 60); sleep(delay); } - change_afs_mode_and_play(fi_mood); + client_cmd("play"); ret = fade(m, h, fiv, fit); PARA_INFO_LOG("fade complete, returning\n"); return ret; @@ -246,22 +296,9 @@ static void init_mixers(void) } } -static int set_channel(struct mixer *m, struct mixer_handle *h) +static int set_val(struct mixer *m, struct mixer_handle *h) { - char *channels; - int ret; - - ret = m->set_channel(h, conf.mixer_channel_arg); - if (ret >= 0) { - PARA_NOTICE_LOG("using %s mixer channel\n", - conf.mixer_channel_arg? conf.mixer_channel_arg - : "default"); - return ret; - } - channels = m->get_channels(h); - printf("Available channels: %s\n", channels); - free(channels); - return ret; + return m->set(h, conf.val_arg); } static struct mixer *get_mixer_or_die(void) @@ -330,7 +367,12 @@ int main(int argc, char *argv[]) ret = m->open(conf.mixer_device_arg, &h); if (ret < 0) goto out; - ret = set_channel(m, h); + ret = set_channel(m, h, conf.mixer_channel_arg); + if (ret == -E_BAD_CHANNEL) { + char *channels = m->get_channels(h); + printf("Available channels: %s\n", channels); + free(channels); + } if (ret < 0) goto out; switch (conf.mode_arg) { @@ -340,6 +382,9 @@ int main(int argc, char *argv[]) case mode_arg_snooze: ret = snooze(m, h); break; + case mode_arg_set: + ret = set_val(m, h); + break; default: /* sleep mode */ ret = sweet_dreams(m, h); break; diff --git a/fd.c b/fd.c index f70dedc1..b8d0d77c 100644 --- a/fd.c +++ b/fd.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/fd.h b/fd.h index 3cd2638b..c8127a4a 100644 --- a/fd.h +++ b/fd.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/fecdec_filter.c b/fecdec_filter.c index 691d696a..b8e130d4 100644 --- a/fecdec_filter.c +++ b/fecdec_filter.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009-2013 Andre Noll + * Copyright (C) 2009-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/file_write.c b/file_write.c index f7b2b307..7d63469f 100644 --- a/file_write.c +++ b/file_write.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/filter.c b/filter.c index 3b688573..b3dc022e 100644 --- a/filter.c +++ b/filter.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/filter.h b/filter.h index 80bc896b..de8ce8e8 100644 --- a/filter.h +++ b/filter.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/filter_common.c b/filter_common.c index 2616c9bd..8ce66ea8 100644 --- a/filter_common.c +++ b/filter_common.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/flac_afh.c b/flac_afh.c index d2f256dc..21f86f46 100644 --- a/flac_afh.c +++ b/flac_afh.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2013 Andre Noll + * Copyright (C) 2011-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/flacdec_filter.c b/flacdec_filter.c index bf881725..2a58044c 100644 --- a/flacdec_filter.c +++ b/flacdec_filter.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2013 Andre Noll + * Copyright (C) 2011-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/gcrypt.c b/gcrypt.c index 2736a6c7..751c1a4a 100644 --- a/gcrypt.c +++ b/gcrypt.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2013 Andre Noll + * Copyright (C) 2011-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -97,7 +97,7 @@ static void mgf1(unsigned char *seed, size_t seed_len, unsigned result_len, { gcry_error_t gret; gcry_md_hd_t handle; - size_t n;; + size_t n; unsigned char *md; unsigned char octet_string[4], *rp = result, *end = rp + result_len; @@ -912,11 +912,25 @@ struct stream_cipher { gcry_cipher_hd_t handle; }; -struct stream_cipher *sc_new(const unsigned char *data, int len) +struct stream_cipher *sc_new(const unsigned char *data, int len, + bool use_aes) { gcry_error_t gret; - struct stream_cipher *sc = para_malloc(sizeof(*sc)); + + if (use_aes) { + assert(len >= 2 * AES_CRT128_BLOCK_SIZE); + gret = gcry_cipher_open(&sc->handle, GCRY_CIPHER_AES128, + GCRY_CIPHER_MODE_CTR, 0); + assert(gret == 0); + gret = gcry_cipher_setkey(sc->handle, data, + AES_CRT128_BLOCK_SIZE); + assert(gret == 0); + gret = gcry_cipher_setctr(sc->handle, + data + AES_CRT128_BLOCK_SIZE, AES_CRT128_BLOCK_SIZE); + assert(gret == 0); + return sc; + } gret = gcry_cipher_open(&sc->handle, GCRY_CIPHER_ARCFOUR, GCRY_CIPHER_MODE_STREAM, 0); if (gret) { diff --git a/ggo.c b/ggo.c index 99171c73..deea00bb 100644 --- a/ggo.c +++ b/ggo.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008-2013 Andre Noll + * Copyright (C) 2008-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/ggo.h b/ggo.h index 81565e7c..9d9c5044 100644 --- a/ggo.h +++ b/ggo.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008-2013 Andre Noll + * Copyright (C) 2008-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/grab_client.c b/grab_client.c index ecc16fc8..672c96f1 100644 --- a/grab_client.c +++ b/grab_client.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/grab_client.h b/grab_client.h index a4e81ced..91adf2ea 100644 --- a/grab_client.h +++ b/grab_client.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/gui.c b/gui.c index 54fc9db9..5a2e659d 100644 --- a/gui.c +++ b/gui.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1998-2013 Andre Noll + * Copyright (C) 1998-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -560,7 +560,6 @@ static void setup_signal_handling(void) para_install_sighandler(SIGCHLD); para_install_sighandler(SIGWINCH); para_install_sighandler(SIGUSR1); - para_sigaction(SIGHUP, SIG_IGN); } /* kill every process in the process group and exit */ diff --git a/gui.h b/gui.h index 2a3214d0..8f25c767 100644 --- a/gui.h +++ b/gui.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2013 Andre Noll + * Copyright (C) 2007-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/gui_theme.c b/gui_theme.c index a0c47fb0..fa63e909 100644 --- a/gui_theme.c +++ b/gui_theme.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/http_recv.c b/http_recv.c index 9c42a1a8..1f02e48d 100644 --- a/http_recv.c +++ b/http_recv.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/http_send.c b/http_send.c index 60b877c0..3e9c9539 100644 --- a/http_send.c +++ b/http_send.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/imdct.c b/imdct.c index aab498a3..93393e99 100644 --- a/imdct.c +++ b/imdct.c @@ -58,7 +58,9 @@ struct mdct_context { struct fft_context fft; }; -/** cos(2 * pi * x / n) for 0 <= x <= n / 4, followed by its reverse */ +/** \cond cosine_tabs */ + +/* cos(2 * pi * x / n) for 0 <= x <= n / 4, followed by its reverse */ #define COSINE_TAB(n) static fftsample_t cos_ ## n[n / 2] __a_aligned(16) COSINE_TAB(16); @@ -79,6 +81,7 @@ static fftsample_t *cos_tabs[] = { cos_16, cos_32, cos_64, cos_128, cos_256, cos_512, cos_1024, cos_2048, cos_4096, cos_8192, cos_16384, cos_32768, cos_65536, }; +/** \endcond cosine_tabs */ __a_const static int split_radix_permutation(int i, int n) { diff --git a/interactive.c b/interactive.c index 43cb99f2..ee953bf1 100644 --- a/interactive.c +++ b/interactive.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2013 Andre Noll + * Copyright (C) 2011-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/interactive.h b/interactive.h index 1d6b36aa..96401b16 100644 --- a/interactive.h +++ b/interactive.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2013 Andre Noll + * Copyright (C) 2011-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/ipc.c b/ipc.c index 89bbe535..b8a6fd0c 100644 --- a/ipc.c +++ b/ipc.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/m4/gengetopt/afh.m4 b/m4/gengetopt/afh.m4 index ebc1d1cf..0df2fad8 100644 --- a/m4/gengetopt/afh.m4 +++ b/m4/gengetopt/afh.m4 @@ -1,6 +1,6 @@ args "--unamed-opts=audio_file --no-handle-version --no-handle-help" -purpose "Print information about audio file(s)." +purpose "Print information about audio file(s)" include(header.m4) include(loglevel.m4) diff --git a/m4/gengetopt/afh_recv.m4 b/m4/gengetopt/afh_recv.m4 index 6fdef59e..08c31521 100644 --- a/m4/gengetopt/afh_recv.m4 +++ b/m4/gengetopt/afh_recv.m4 @@ -1,6 +1,6 @@ args "--no-version --no-help" -purpose "Make an audio stream from a local file." +purpose "Make an audio stream from a local file" description " The afh (audio format handler) receiver can be used to write diff --git a/m4/gengetopt/alsa_write.m4 b/m4/gengetopt/alsa_write.m4 index 04b4963d..be56c984 100644 --- a/m4/gengetopt/alsa_write.m4 +++ b/m4/gengetopt/alsa_write.m4 @@ -1,6 +1,6 @@ args "--no-version --no-help" -purpose "Native ALSA output plugin." +purpose "Native ALSA output plugin" include(header.m4) diff --git a/m4/gengetopt/amp_filter.m4 b/m4/gengetopt/amp_filter.m4 index 2d4d4ce6..a02cc5b7 100644 --- a/m4/gengetopt/amp_filter.m4 +++ b/m4/gengetopt/amp_filter.m4 @@ -1,6 +1,6 @@ args "--no-version --no-help" -purpose "Amplify the decoded audio stream." +purpose "Amplify the decoded audio stream" option "amp" a #~~~~~~~~~~~~~ diff --git a/m4/gengetopt/ao_write.m4 b/m4/gengetopt/ao_write.m4 index ccee4ee6..29112d71 100644 --- a/m4/gengetopt/ao_write.m4 +++ b/m4/gengetopt/ao_write.m4 @@ -1,6 +1,6 @@ args "--no-version --no-help" -purpose "Output plugin for libao." +purpose "Output plugin for libao" include(header.m4) diff --git a/m4/gengetopt/audioc.m4 b/m4/gengetopt/audioc.m4 index 36520bfa..f216204f 100644 --- a/m4/gengetopt/audioc.m4 +++ b/m4/gengetopt/audioc.m4 @@ -1,6 +1,6 @@ args "--unamed-opts=command --conf-parser --no-handle-version --no-handle-help" -purpose "Communicate with para_audiod through a local socket." +purpose "Communicate with para_audiod through a local socket" include(header.m4) diff --git a/m4/gengetopt/audiod.m4 b/m4/gengetopt/audiod.m4 index 5fc15893..2e6f936f 100644 --- a/m4/gengetopt/audiod.m4 +++ b/m4/gengetopt/audiod.m4 @@ -1,6 +1,6 @@ args "--no-handle-help --no-handle-version --conf-parser" -purpose "Connect to para_server, receive, decode and play audio streams." +purpose "Connect to para_server, receive, decode and play audio streams" include(header.m4) define(CURRENT_PROGRAM,para_audiod) diff --git a/m4/gengetopt/client.m4 b/m4/gengetopt/client.m4 index 5b4c8ec8..0530d395 100644 --- a/m4/gengetopt/client.m4 +++ b/m4/gengetopt/client.m4 @@ -1,6 +1,6 @@ args "--unamed-opts=command --no-handle-error --conf-parser --no-handle-version --no-handle-help" -purpose "Communicate with para_server through the paraslash control port." +purpose "Communicate with para_server through the paraslash control port" include(header.m4) define(CURRENT_PROGRAM,para_client) diff --git a/m4/gengetopt/compress_filter.m4 b/m4/gengetopt/compress_filter.m4 index 772bdb2e..501f46cc 100644 --- a/m4/gengetopt/compress_filter.m4 +++ b/m4/gengetopt/compress_filter.m4 @@ -1,6 +1,6 @@ args "--no-version --no-help" -purpose "Dynamically adjust the volume of an audio stream." +purpose "Dynamically adjust the volume of an audio stream" option "blocksize" b #~~~~~~~~~~~~~~~~~~~ diff --git a/m4/gengetopt/dccp_recv.m4 b/m4/gengetopt/dccp_recv.m4 index f8191fe0..1ba3fb59 100644 --- a/m4/gengetopt/dccp_recv.m4 +++ b/m4/gengetopt/dccp_recv.m4 @@ -1,6 +1,6 @@ args "--no-version --no-help" -purpose "Receive a DCCP audio stream." +purpose "Receive a DCCP audio stream" option "host" i "ip or host" diff --git a/m4/gengetopt/fade.m4 b/m4/gengetopt/fade.m4 index 7c731c2b..59389ffe 100644 --- a/m4/gengetopt/fade.m4 +++ b/m4/gengetopt/fade.m4 @@ -1,6 +1,6 @@ args "--conf-parser --no-handle-version --no-handle-help" -purpose "An alarm clock and volume-fader for OSS and ALSA." +purpose "An alarm clock and volume-fader for OSS and ALSA" include(header.m4) define(CURRENT_PROGRAM,para_fade) @@ -17,11 +17,11 @@ option "mode" o #~~~~~~~~~~~~~~ "how to fade volume" enum typestr = "mode" - values = "sleep", "snooze", "fade" + values = "sleep", "fade", "set", "snooze" default = "sleep" optional details=" - para_fade knows three different fading modes: + para_fade knows the following modes: sleep mode: Change to the initial volume and select the initial afs mood/playlist. Then fade out until @@ -33,6 +33,8 @@ option "mode" o fade: Fade the volume to the given value in the given time. + set: Just set the value and exit. + snooze: Fade out, sleep a bit and fade in. " @@ -86,12 +88,15 @@ section "Options for sleep mode" option "ivol" - #~~~~~~~~~~~~~~ "set initial volume" - int typestr = "volume" + string typestr = "[channel:]volume" default = "60" optional + multiple details = " Used as the start volume, before fading out to the - fade out volume. + fade out volume. The channel part may be omitted, in + which case the default channel is used. This option + may be given multiple times. " option "fo-mood" - @@ -228,4 +233,14 @@ option "fade-time" t int typestr = "seconds" default = "5" optional + +section "Options for set mode" +############################## + +option "val" - +"value to set" + int typestr = "value" + default = "0" + optional + diff --git a/m4/gengetopt/file_write.m4 b/m4/gengetopt/file_write.m4 index 045b8657..4f98884f 100644 --- a/m4/gengetopt/file_write.m4 +++ b/m4/gengetopt/file_write.m4 @@ -1,6 +1,6 @@ args "--no-version --no-help" -purpose "Output plugin that writes to a local file." +purpose "Output plugin that writes to a local file" option "filename" f #~~~~~~~~~~~~~~~~~~ diff --git a/m4/gengetopt/filter.m4 b/m4/gengetopt/filter.m4 index baf6ecdb..b8b49f62 100644 --- a/m4/gengetopt/filter.m4 +++ b/m4/gengetopt/filter.m4 @@ -1,6 +1,6 @@ args "--no-handle-help --no-handle-version --conf-parser" -purpose "Decode or process audio data from STDIN to STDOUT." +purpose "Decode or process audio data from STDIN to STDOUT" include(header.m4) include(loglevel.m4) diff --git a/m4/gengetopt/gui.m4 b/m4/gengetopt/gui.m4 index 5b44efa6..8e21356f 100644 --- a/m4/gengetopt/gui.m4 +++ b/m4/gengetopt/gui.m4 @@ -1,6 +1,6 @@ args "--conf-parser --no-handle-version --no-handle-help" -purpose "Show para_audiod status in a curses window." +purpose "Show para_audiod status in a curses window" include(header.m4) define(CURRENT_PROGRAM,para_gui) diff --git a/m4/gengetopt/http_recv.m4 b/m4/gengetopt/http_recv.m4 index b8ece39d..6db3ff04 100644 --- a/m4/gengetopt/http_recv.m4 +++ b/m4/gengetopt/http_recv.m4 @@ -1,6 +1,6 @@ args "--no-version --no-help" -purpose "Receive an HTTP audio stream." +purpose "Receive an HTTP audio stream" include(header.m4) diff --git a/m4/gengetopt/makefile b/m4/gengetopt/makefile index ada70d19..79e101a3 100644 --- a/m4/gengetopt/makefile +++ b/m4/gengetopt/makefile @@ -25,14 +25,3 @@ $(m4depdir)/%.m4d: $(m4_ggo_dir)/%.m4 | $(m4depdir) $(ggo_dir)/%.ggo: $(m4_ggo_dir)/%.m4 $(m4_ggo_dir)/header.m4 | $(ggo_dir) @[ -z "$(Q)" ] || echo 'M4 $<' $(Q) m4 -I $(m4_ggo_dir) $< > $@ - -$(help2man_dir)/para_%: $(ggo_dir)/%.ggo | $(help2man_dir) - @[ -z "$(Q)" ] || echo 'G2X $<' - $(Q) printf "#!/bin/sh\nif [ \"\$$1\" = '--version' ]; then \ - $(GENGETOPT) $(ggo_opts) --show-version < $<; \ - elif [ \"\$$1\" = '--help' ]; then \ - $(GENGETOPT) $(ggo_opts) --show-detailed-help < $<; \ - else \ - exit 1; \ - fi\n" > $@.tmp - $(Q) chmod 755 $@.tmp && mv $@.tmp $@ diff --git a/m4/gengetopt/mp3dec_filter.m4 b/m4/gengetopt/mp3dec_filter.m4 index a6425b3e..8b187835 100644 --- a/m4/gengetopt/mp3dec_filter.m4 +++ b/m4/gengetopt/mp3dec_filter.m4 @@ -1,6 +1,6 @@ args "--no-version --no-help" -purpose "Decode an mp3 stream." +purpose "Decode an mp3 stream" include(header.m4) diff --git a/m4/gengetopt/oss_write.m4 b/m4/gengetopt/oss_write.m4 index 352bea5b..578d8138 100644 --- a/m4/gengetopt/oss_write.m4 +++ b/m4/gengetopt/oss_write.m4 @@ -1,6 +1,6 @@ args "--no-version --no-help" -purpose "Output plugin for the Open Sound System." +purpose "Output plugin for the Open Sound System" option "device" d #~~~~~~~~~~~~~~~~ diff --git a/m4/gengetopt/osx_write.m4 b/m4/gengetopt/osx_write.m4 index 5add6f2e..83ed737c 100644 --- a/m4/gengetopt/osx_write.m4 +++ b/m4/gengetopt/osx_write.m4 @@ -1,6 +1,6 @@ args "--no-version --no-help" -purpose "Output plugin for Mac OS coreaudio." +purpose "Output plugin for Mac OS coreaudio" section "osx options" ##################### diff --git a/m4/gengetopt/play.m4 b/m4/gengetopt/play.m4 index cb406bec..16875590 100644 --- a/m4/gengetopt/play.m4 +++ b/m4/gengetopt/play.m4 @@ -1,6 +1,6 @@ args "--unamed-opts=audio_file --no-handle-version --conf-parser --no-handle-help" -purpose "Command line audio player." +purpose "Command line audio player" description "para_play operates either in command mode or in insert mode. In insert mode it presents a prompt and allows to enter commands diff --git a/m4/gengetopt/prebuffer_filter.m4 b/m4/gengetopt/prebuffer_filter.m4 index 9e84dcfc..20ff86fe 100644 --- a/m4/gengetopt/prebuffer_filter.m4 +++ b/m4/gengetopt/prebuffer_filter.m4 @@ -1,6 +1,6 @@ args "--no-version --no-help" -purpose "Delay processing of an audio stream." +purpose "Delay processing of an audio stream" option "duration" d #~~~~~~~~~~~~~~~~~~ diff --git a/m4/gengetopt/recv.m4 b/m4/gengetopt/recv.m4 index 086c9c0a..9a9a8804 100644 --- a/m4/gengetopt/recv.m4 +++ b/m4/gengetopt/recv.m4 @@ -1,6 +1,6 @@ args "--no-handle-help --no-handle-version" -purpose "A command line HTTP/DCCP/UDP stream grabber." +purpose "A command line HTTP/DCCP/UDP stream grabber" include(header.m4) include(loglevel.m4) diff --git a/m4/gengetopt/resample_filter.m4 b/m4/gengetopt/resample_filter.m4 index 4f4af4b0..2e5f4005 100644 --- a/m4/gengetopt/resample_filter.m4 +++ b/m4/gengetopt/resample_filter.m4 @@ -1,6 +1,6 @@ args "--no-version --no-help" -purpose "Transform raw audio to a different sample rate." +purpose "Transform raw audio to a different sample rate" include(header.m4) diff --git a/m4/gengetopt/server.m4 b/m4/gengetopt/server.m4 index 4c52d2c2..916e8856 100644 --- a/m4/gengetopt/server.m4 +++ b/m4/gengetopt/server.m4 @@ -1,6 +1,6 @@ args "--conf-parser --no-handle-version --no-handle-help" -purpose "Manage and stream audio files." +purpose "Manage and stream audio files" include(header.m4) define(CURRENT_PROGRAM,para_server) diff --git a/m4/gengetopt/udp_recv.m4 b/m4/gengetopt/udp_recv.m4 index 48770d97..dcdad4f7 100644 --- a/m4/gengetopt/udp_recv.m4 +++ b/m4/gengetopt/udp_recv.m4 @@ -1,6 +1,6 @@ args "--no-version --no-help" -purpose "Receive an UDP audio stream." +purpose "Receive an UDP audio stream" option "host" i "ip or host to receive udp packets from" diff --git a/m4/gengetopt/write.m4 b/m4/gengetopt/write.m4 index 8b13f457..83e8bcab 100644 --- a/m4/gengetopt/write.m4 +++ b/m4/gengetopt/write.m4 @@ -1,6 +1,6 @@ args "--no-handle-help --no-handle-version" -purpose "Play wav or raw audio." +purpose "Play wav or raw audio" include(header.m4) include(loglevel.m4) diff --git a/man_util.bash b/man_util.bash new file mode 100755 index 00000000..cb7519c9 --- /dev/null +++ b/man_util.bash @@ -0,0 +1,108 @@ +#!/usr/bin/env bash + +# Receivers, filters, writers are called "modules" in this script +print_modhelp() +{ + local ggo="$1" + + $GENGETOPT --show-detailed-help \ + --set-version "" \ + --set-package "" \ + < "$ggo" | awk 'BEGIN { + have_purpose=0 + have_usage=0 + } { + if (!have_purpose) { + if ($0 ~ /^ *$/) + next + printf(" (%s):", $0) + have_purpose=1 + next + } + if (!have_usage) { + if ($0 ~ /^Usage: /) { + have_usage=1 + } + next + } + print $0 + }' +} + +make_help() +{ + local target="$1" module ggo + + ggo="$GGO_DIR/$1.ggo" + $GENGETOPT --show-detailed-help \ + --set-version "$VERSION" \ + --set-package "para_$1" \ + < "$ggo" + + if [[ "$target" == 'recv' || "$target" == 'audiod' ]]; then + for module in $RECEIVERS; do + ggo="$GGO_DIR/${module}_recv.ggo" + [[ ! -f "$ggo" ]] && continue + printf "\nOptions for the $module receiver" + print_modhelp "$ggo" + done + fi + if [[ "$target" == 'filter' || "$target" == 'audiod' ]]; then + for module in $FILTERS; do + ggo="$GGO_DIR/${module}_filter.ggo" + [[ ! -f "$ggo" ]] && continue + printf "\nOptions for the $module filter" + print_modhelp "$ggo" + done + fi + if [[ "$target" == 'write' || "$target" == 'audiod' ]]; then + for module in $WRITERS; do + ggo="$GGO_DIR/${module}_write.ggo" + [[ ! -f "$ggo" ]] && continue + printf "\nOptions for the $module writer" + print_modhelp "$ggo" + done + fi +} + +set -u + +(($# != 1)) && exit 1 + +# These must be set by the caller (make or help2man) +export COMMAND_LISTS FILTERS GENGETOPT GGO_DIR HELP2MAN HELP2MAN_DIR \ + RECEIVERS VERSION WRITERS + +# If either --version or --help-xxx was given, we are being called by help2man +if [[ "$1" == "--version" ]]; then + echo "$VERSION" + exit $? +fi +if [[ "$1" =~ --help- ]]; then + make_help "${1#--help-}" + exit $? +fi + +# Called by make, run help2man +output_file="$1" +target="${output_file##*/para_}" +target="${target%.*}" # server, audiod, filter, ... +link="$HELP2MAN_DIR/para_$target" + +cl_opts= +for cl in $COMMAND_LISTS; do + cl_opts+=" --include $cl" +done + +# Create a symlink para_$target, pointing to this script. This hack is +# necessary because help2man always includes the name of the executable in its +# output. +ln -sf "$PWD/$0" "$link" + +# This will call us again twice, with either --help-$target or --version given. +$HELP2MAN --no-info --help-option "--help-$target" $cl_opts \ + "$link" > "$output_file" +if (($? != 0)); then + rm -f "$output_file" + exit 1 +fi diff --git a/mix.h b/mix.h index 427a84f5..cfcfd72b 100644 --- a/mix.h +++ b/mix.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012-2013 Andre Noll + * Copyright (C) 2012-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/mm.c b/mm.c index 5ce3476e..6f2c088e 100644 --- a/mm.c +++ b/mm.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2013 Andre Noll + * Copyright (C) 2007-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/mm.h b/mm.h index b635a5a8..9c64002b 100644 --- a/mm.h +++ b/mm.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2013 Andre Noll + * Copyright (C) 2007-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/mood.c b/mood.c index d15e011f..897c22b9 100644 --- a/mood.c +++ b/mood.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2013 Andre Noll + * Copyright (C) 2007-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -18,6 +18,7 @@ #include "ipc.h" #include "mm.h" #include "sideband.h" +#include "mood.h" /** * Contains statistical data of the currently admissible audio files. @@ -838,7 +839,7 @@ int change_current_mood(char *mood_name) if (ret < 0) return ret; log_statistics(); - PARA_INFO_LOG("%d admissible files \n", statistics.num); + PARA_INFO_LOG("%d admissible files\n", statistics.num); for (i = 0; i < statistics.num; i++) { struct admissible_file_info *a = aa.array + i; ret = add_to_score_table(a->aft_row, a->score); diff --git a/mood.h b/mood.h index f97081a9..10e2ba10 100644 --- a/mood.h +++ b/mood.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2013 Andre Noll + * Copyright (C) 2007-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/mp3_afh.c b/mp3_afh.c index 251574a5..2b558cbb 100644 --- a/mp3_afh.c +++ b/mp3_afh.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003-2013 Andre Noll + * Copyright (C) 2003-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/mp3dec_filter.c b/mp3dec_filter.c index 33c0dfc9..feaa1d1f 100644 --- a/mp3dec_filter.c +++ b/mp3dec_filter.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/net.c b/net.c index 986660fa..c11f67c4 100644 --- a/net.c +++ b/net.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/net.h b/net.h index e249498e..877d1cbb 100644 --- a/net.h +++ b/net.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/ogg_afh.c b/ogg_afh.c index a6120be2..debc0c9f 100644 --- a/ogg_afh.c +++ b/ogg_afh.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2013 Andre Noll + * Copyright (C) 2004-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/ogg_afh_common.c b/ogg_afh_common.c index ac70eb3f..21444fa3 100644 --- a/ogg_afh_common.c +++ b/ogg_afh_common.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2013 Andre Noll + * Copyright (C) 2004-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/ogg_afh_common.h b/ogg_afh_common.h index a4d44f43..59a5c486 100644 --- a/ogg_afh_common.h +++ b/ogg_afh_common.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2013 Andre Noll + * Copyright (C) 2010-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/oggdec_filter.c b/oggdec_filter.c index f41150f2..1eaa7930 100644 --- a/oggdec_filter.c +++ b/oggdec_filter.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/opus_afh.c b/opus_afh.c index b079bcd5..10fe25d8 100644 --- a/opus_afh.c +++ b/opus_afh.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012-2013 Andre Noll + * Copyright (C) 2012-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/opus_common.h b/opus_common.h index cae9a6e9..fea67274 100644 --- a/opus_common.h +++ b/opus_common.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2013 Andre Noll + * Copyright (C) 2013-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/opusdec_filter.c b/opusdec_filter.c index 56a39bf0..9022fbab 100644 --- a/opusdec_filter.c +++ b/opusdec_filter.c @@ -2,7 +2,7 @@ * Copyright (c) 2002-2007 Jean-Marc Valin * Copyright (c) 2008 CSIRO * Copyright (c) 2007-2012 Xiph.Org Foundation - * Copyright (C) 2012-2013 Andre Noll + * Copyright (C) 2012-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/oss_mix.c b/oss_mix.c index 5182ad23..5fbfea08 100644 --- a/oss_mix.c +++ b/oss_mix.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1998-2013 Andre Noll + * Copyright (C) 1998-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -98,7 +98,7 @@ static int oss_mix_set_channel(struct mixer_handle *handle, handle->id = i; return 1; } - return -E_OSS_MIXER_CHANNEL; + return -E_BAD_CHANNEL; } static int oss_mix_get(struct mixer_handle *handle) diff --git a/oss_write.c b/oss_write.c index 3c61a445..d547acf7 100644 --- a/oss_write.c +++ b/oss_write.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009-2013 Andre Noll + * Copyright (C) 2009-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/osx_write.c b/osx_write.c index f1e308d8..889854c2 100644 --- a/osx_write.c +++ b/osx_write.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/para.h b/para.h index d1e266fc..6bd048d8 100644 --- a/para.h +++ b/para.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1997-2013 Andre Noll + * Copyright (C) 1997-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/play.c b/play.c index 01125ab6..5736a2dd 100644 --- a/play.c +++ b/play.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012-2013 Andre Noll + * Copyright (C) 2012-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/playlist.c b/playlist.c index c822e080..b83f8df8 100644 --- a/playlist.c +++ b/playlist.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2013 Andre Noll + * Copyright (C) 2007-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/portable_io.h b/portable_io.h index c72d6d49..7371038a 100644 --- a/portable_io.h +++ b/portable_io.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2013 Andre Noll + * Copyright (C) 2007-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/prebuffer_filter.c b/prebuffer_filter.c index f4ef76e2..6fac4cb3 100644 --- a/prebuffer_filter.c +++ b/prebuffer_filter.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009-2013 Andre Noll + * Copyright (C) 2009-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/recv.c b/recv.c index 7a5549aa..babd1e30 100644 --- a/recv.c +++ b/recv.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/recv.h b/recv.h index 68222acf..a590aabd 100644 --- a/recv.h +++ b/recv.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/recv_common.c b/recv_common.c index 2ea8a599..2d6aa74a 100644 --- a/recv_common.c +++ b/recv_common.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -50,19 +50,19 @@ static void *parse_receiver_args(int receiver_num, char *options) } /** - * check if given string is a valid command line for any receiver + * Check if the given string is a valid receiver specifier. * * \param \ra string of the form receiver_name:options * \param receiver_num contains the number of the receiver upon success * * This function checks whether \a ra starts with the name of a supported * paraslash receiver, optinally followed by a colon and any options for that - * receiver. If a valid receiver name was found and further are present, the - * remaining part of \a ra is passed to that receiver's config parser. + * receiver. If a valid receiver name was found the remaining part of \a ra is + * passed to the receiver's config parser. * - * \return On success, a pointer to the gengetopt args info struct is returned - * and \a receiver_num contains the number of the receiver. Otherwise this function - * returns \p NULL. + * \return On success, a pointer to the receiver-specific gengetopt args info + * struct is returned and \a receiver_num contains the number of the receiver. + * On errors, the function returns \p NULL. */ void *check_receiver_arg(char *ra, int *receiver_num) { diff --git a/resample_filter.c b/resample_filter.c index 5ad584de..2caa1e21 100644 --- a/resample_filter.c +++ b/resample_filter.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012-2013 Andre Noll + * Copyright (C) 2012-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/ringbuffer.c b/ringbuffer.c index a5a1c259..e85661e4 100644 --- a/ringbuffer.c +++ b/ringbuffer.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/ringbuffer.h b/ringbuffer.h index ce89d4b7..075eb070 100644 --- a/ringbuffer.h +++ b/ringbuffer.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/sched.c b/sched.c index d42e1498..8b68667b 100644 --- a/sched.c +++ b/sched.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/sched.h b/sched.h index 234a8458..f15e4efb 100644 --- a/sched.h +++ b/sched.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/score.c b/score.c index 37f4c550..f1afd22b 100644 --- a/score.c +++ b/score.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2013 Andre Noll + * Copyright (C) 2007-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/send.h b/send.h index 01e0d0a8..8a69cb71 100644 --- a/send.h +++ b/send.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/send_common.c b/send_common.c index a16869b0..0baac3a6 100644 --- a/send_common.c +++ b/send_common.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/server.c b/server.c index f92ef551..fa19ce42 100644 --- a/server.c +++ b/server.c @@ -1,66 +1,37 @@ /* - * Copyright (C) 1997-2013 Andre Noll + * Copyright (C) 1997-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ /** \file server.c Paraslash's main server. */ - /** - * \mainpage Starting points for getting an overview: + * \mainpage Main data structures: * - * - The main programs: \ref server.c, \ref audiod.c, \ref client.c, - * \ref audioc.c, \ref afh.c, \ref play.c, * - Server: \ref server_command, \ref sender, - * - Audio file selector: \ref audio_format_handler, \ref afs_table, - * - Client: \ref receiver, \ref receiver_node, \ref filter, - * \ref filter_node, \ref writer_node. - * - * - * The gory details, listed by topic: + * - Audio file selector: \ref afs_info, \ref afs_table, + * - Audio format handler: \ref audio_format_handler, \ref afh_info + * - Receivers/filters/writers: \ref receiver, \ref receiver_node, + * \ref filter, \ref filter_node, \ref writer_node, \ref writer. * - * - Audio format handlers: \ref send_common.c \ref mp3_afh.c, - * \ref ogg_afh.c, \ref aac_afh.c, \ref wma_afh.c, \ref spx_afh.c - * - Decoders: \ref mp3dec_filter.c, \ref oggdec_filter.c, - * \ref aacdec_filter.c, \ref wmadec_filter.c, spxdec_filter.c, - * \ref flacdec_filter.c, - * - Volume normalizer: \ref compress_filter.c, - * - Output: \ref alsa_write.c, \ref osx_write.c, \ref oss_write.c, - * - http: \ref http_recv.c, \ref http_send.c, - * - udp: \ref udp_recv.c, \ref udp_send.c, - * - dccp: \ref dccp_recv.c, \ref dccp_send.c, - * - Audio file selector: \ref afs.c, \ref aft.c, \ref mood.c, - * - Afs structures: \ref afs_table, \ref audio_file_data, - * \ref afs_info \ref afh_info, - * - Afs tables: \ref aft.c, \ref mood.c, \ref playlist.c, - * \ref attribute.c, \ref score.c, - * - The virtual streaming system: \ref vss.c, \ref chunk_queue.c. + * Selected APIs: * - * Lower levels: - * - * - Scheduling: \ref sched.c, \ref sched.h, - * - Networking: \ref net.c, - * - File descriptors: \ref fd.c, - * - Signals: \ref signal.c, - * - Daemons: \ref daemon.c, - * - Strings: \ref string.c, \ref string.h, + * - Scheduling: \ref sched.h, + * - Buffer trees: \ref buffer_tree.h, + * - Sideband API: \ref sideband.h, + * - Crypto: \ref crypt.h, \ref crypt_backend.h, + * - Error subsystem: \ref error.h, \ref error2.c, + * - Inter process communication: \ref ipc.h, + * - Forward error correction: \ref fec.h, + * - Daemons: \ref daemon.h, + * - Mixer API: \ref mix.h, + * - Interactive sessions: \ref interactive.h, + * - File descriptors: \ref fd.h, + * - Signals: \ref signal.h, + * - Networking: \ref net.h, * - Time: \ref time.c, - * - Spawning processes: \ref exec.c, - * - Inter process communication: \ref ipc.c, - * - Blob tables: \ref blob.c, - * - The error subsystem: \ref error.h. - * - Access control for paraslash senders: \ref acl.c, \ref acl.h. - * - Internal crypto API: \ref crypt.h. - * - interactive sessions (libreadline): \ref interactive.c. - * - * Low-level data structures: - * - * - Doubly linked lists: \ref list.h, - * - Ring buffer: \ref ringbuffer.c, \ref ringbuffer.h, - * - openssl: \ref crypt.c - * - libgcrypt: \ref gcrypt.c - * - Forward error correction: \ref fec.c. + * - Doubly linked lists: \ref list.h. */ #include diff --git a/server.h b/server.h index 820295a3..64f0cc75 100644 --- a/server.h +++ b/server.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1997-2013 Andre Noll + * Copyright (C) 1997-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/sideband.c b/sideband.c index 6004651f..a5f19161 100644 --- a/sideband.c +++ b/sideband.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012-2013 Andre Noll + * Copyright (C) 2012-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/sideband.h b/sideband.h index 20e195b3..4a838cee 100644 --- a/sideband.h +++ b/sideband.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012-2013 Andre Noll + * Copyright (C) 2012-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/signal.c b/signal.c index 3b202a2c..972d9d12 100644 --- a/signal.c +++ b/signal.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2013 Andre Noll + * Copyright (C) 2004-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -11,6 +11,9 @@ #include "para.h" #include "error.h" #include "fd.h" +#include "list.h" +#include "sched.h" +#include "signal.h" static int signal_pipe[2]; diff --git a/signal.h b/signal.h index 92af8170..526f1502 100644 --- a/signal.h +++ b/signal.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2013 Andre Noll + * Copyright (C) 2007-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/spx.h b/spx.h index c4999f07..3ae2c87c 100644 --- a/spx.h +++ b/spx.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2013 Andre Noll + * Copyright (C) 2010-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/spx_afh.c b/spx_afh.c index 8f7d715c..2afebb18 100644 --- a/spx_afh.c +++ b/spx_afh.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2013 Andre Noll + * Copyright (C) 2010-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/spx_common.c b/spx_common.c index 3bd3d48d..f770be7d 100644 --- a/spx_common.c +++ b/spx_common.c @@ -1,6 +1,6 @@ /* * Copyright (C) 2002-2006 Jean-Marc Valin - * Copyright (C) 2010-2013 Andre Noll + * Copyright (C) 2010-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/spxdec_filter.c b/spxdec_filter.c index 9bba042c..72ecd62a 100644 --- a/spxdec_filter.c +++ b/spxdec_filter.c @@ -1,6 +1,6 @@ /* * Copyright (C) 2002-2006 Jean-Marc Valin - * Copyright (C) 2010-2013 Andre Noll + * Copyright (C) 2010-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/stat.c b/stat.c index 8036de3a..afc9c389 100644 --- a/stat.c +++ b/stat.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/stdin.c b/stdin.c index 20b9250e..d5425b28 100644 --- a/stdin.c +++ b/stdin.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/stdin.h b/stdin.h index cdf0c67f..22ea7ed6 100644 --- a/stdin.h +++ b/stdin.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/stdout.c b/stdout.c index cf33bf6d..4554145f 100644 --- a/stdout.c +++ b/stdout.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/stdout.h b/stdout.h index a21b7ced..dbf8866b 100644 --- a/stdout.h +++ b/stdout.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/string.c b/string.c index 38e25b09..8cc7d5d7 100644 --- a/string.c +++ b/string.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2013 Andre Noll + * Copyright (C) 2004-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -36,7 +36,7 @@ * * \sa realloc(3). */ -__must_check __malloc void *para_realloc(void *p, size_t size) +__must_check void *para_realloc(void *p, size_t size) { /* * No need to check for NULL pointers: If p is NULL, the call diff --git a/string.h b/string.h index 935c7d45..b13a0d86 100644 --- a/string.h +++ b/string.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/time.c b/time.c index fe431208..c405351a 100644 --- a/time.c +++ b/time.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/udp_recv.c b/udp_recv.c index 96b6c731..15cf73eb 100644 --- a/udp_recv.c +++ b/udp_recv.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/udp_send.c b/udp_send.c index 4580f009..6ed5026a 100644 --- a/udp_send.c +++ b/udp_send.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/user_list.c b/user_list.c index 31ffe67b..4815e5d3 100644 --- a/user_list.c +++ b/user_list.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/user_list.h b/user_list.h index 5a1d6920..120b0fdb 100644 --- a/user_list.h +++ b/user_list.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/version.c b/version.c index f8f7e6a3..8526bbcc 100644 --- a/version.c +++ b/version.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2013 Andre Noll + * Copyright (C) 2013-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -7,6 +7,7 @@ /** \file version.c Some helpers for printing version and copyright strings. */ #include "para.h" +#include "version.h" /** \file version.h Macros for printing the version string. */ @@ -28,8 +29,8 @@ __a_const const char *version_git(void) * * \param pfx The program name (without the leading "para_"). * - * \return A statically allocated string which contains the program name, the - * git version and the codename. It must not be freed by the caller. + * \return A statically allocated string which contains the program name and + * the git version. It must not be freed by the caller. */ const char *version_single_line(const char *pfx) { @@ -56,7 +57,7 @@ const char *version_text(const char *pfx) static char buf[512]; snprintf(buf, sizeof(buf) - 1, "%s\n" - "Copyright (C) 2013 Andre Noll\n" + "Copyright (C) 2013-2014 Andre Noll\n" "This is free software with ABSOLUTELY NO WARRANTY." " See COPYING for details.\n" "Report bugs to .\n" diff --git a/vss.c b/vss.c index 2349b093..3ace49e9 100644 --- a/vss.c +++ b/vss.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1997-2013 Andre Noll + * Copyright (C) 1997-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/vss.h b/vss.h index bedbb801..c4d6f737 100644 --- a/vss.h +++ b/vss.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/wav_filter.c b/wav_filter.c index eaef1f5c..ea3236c7 100644 --- a/wav_filter.c +++ b/wav_filter.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/web/header.html b/web/header.html index 475079ba..8f7428f7 100644 --- a/web/header.html +++ b/web/header.html @@ -21,16 +21,16 @@ -
- Home
- Features
- Screenshots
- Download
- Documentation
- Changes
- Development
- License
- Contact
- Credits
+
+ Home
+ Features
+ Screenshots
+ Download
+ Documentation
+ Changes
+ Development
+ License
+ Contact
+ Credits
diff --git a/web/header2.html b/web/header2.html index cf919d0d..68980a86 100644 --- a/web/header2.html +++ b/web/header2.html @@ -21,17 +21,17 @@ -
- Home
- Features
- Screenshots
- Download
- Documentation
- Changes
- Development
- License
- Contact
- Credits
+
+ Home
+ Features
+ Screenshots
+ Download
+ Documentation
+ Changes
+ Development
+ License
+ Contact
+ Credits

API Reference

diff --git a/web/manual.m4 b/web/manual.m4 index 62ebf3a8..e809c8b2 100644 --- a/web/manual.m4 +++ b/web/manual.m4 @@ -112,7 +112,7 @@ can be used by any scripting language to produce user interfaces with little programming effort. All connections between para_server and para_client are encrypted -with a symmetric RC4 session key. For each user of paraslash you must +with a symmetric session key. For each user of paraslash you must create a public/secret RSA key pair for authentication. If para_client is started without non-option arguments, an interactive @@ -505,9 +505,9 @@ User management para_server uses a challenge-response mechanism to authenticate requests from incoming connections, similar to ssh's public key authentication method. Authenticated connections are encrypted using -the RC4 stream cipher. +a stream cipher, either RC4 or AES in integer counter mode. -In this chapter we briefly describe RSA and RC4 and sketch the +In this chapter we briefly describe RSA, RC4 and AES, and sketch the REFERENCE(Client-server authentication, authentication handshake) between para_client and para_server. User management is discussed in the section on REFERENCE(The user_list file, the user_list file). @@ -517,8 +517,8 @@ in a REFERENCE(Connecting para_audiod, separate section). -RSA and RC4 -~~~~~~~~~~~ +RSA, RC4, AES +~~~~~~~~~~~~~ RSA is an asymmetric block cipher which is used in many applications, including ssh and gpg. An RSA key consists in fact of two keys, @@ -537,6 +537,15 @@ strong encryption by today's standards. Since the same key must never be used twice, a different, randomly-generated key is used for every new connection. +AES, the advanced encryption standard, is a well-known symmetric block +cipher, i.e. a transformation operating on fixed-length blocks which +is determined by a single key for both encryption and decryption. Any +block cipher can be turned into a stream cipher by generating +a pseudo-random key stream by encrypting successive values of a +counter. The AES_CTR128 stream cipher used in paraslash is obtained +in this way from the AES block cipher with a 128 bit block size. + + Client-server authentication ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -557,7 +566,7 @@ as follows: fixed-length buffer with random bytes, encrypts that buffer using the public key and sends the encrypted buffer to the client. The first part of the buffer is the challenge which - is used for authentication while the second part is the RC4 + is used for authentication while the second part is the session key. - para_client receives the encrypted buffer and decrypts it @@ -574,12 +583,12 @@ as follows: - Otherwise the user is considered authenticated and the client is allowed to proceed by sending a command to be executed. From - this point on the communication is encrypted using the RC4 - stream cipher with the session key known to both peers. + this point on the communication is encrypted using the stream + cipher with the session key known to both peers. paraslash relies on the quality of the pseudo-random bytes provided by the crypto library (openssl or libgcrypt), on the security of -the implementation of the RSA and RC4 crypto routines and on the +the implementation of the RSA, RC4 and AES crypto routines and on the infeasibility to invert the SHA1 function. Neither para_server or para_client create RSA keys on their own. This @@ -1071,17 +1080,18 @@ It is possible to change the behaviour of the add command by using the Troubleshooting ~~~~~~~~~~~~~~~ -Use the debug loglevel (option -l debug for most commands) to show -debugging info. Almost all paraslash executables have a brief online -help which is displayed by using the -h switch. The --detailed-help -option prints the full help text. +Use the debug loglevel (-l debug) to show debugging info. All paraslash +executables have a brief online help which is displayed when -h is +given. The --detailed-help option prints the full help text. If para_server crashed or was killed by SIGKILL (signal 9), it may refuse to start again because of "dirty osl tables". In this case you'll have to run the oslfsck program of libosl to fix your -database. It might be necessary to use --force (even if your name -isn't Luke). However, make sure para_server isn't running before -executing oslfsck --force. +database: + + oslfsck -fd ~/.paraslash/afs_database-0.4 + +However, make sure para_server isn't running before executing oslfsck. If you don't mind to recreate your database you can start from scratch by removing the entire database directory, i.e. @@ -1099,6 +1109,14 @@ care about the table contents. To check for invalid table contents, use This prints out references to missing audio files as well as invalid playlists and mood definitions. +Similarly, para_audiod refuses to start if its socket file exists, since +this indicates that another instance of para_audiod is running. After +a crash a stale socket file might remain and you must run + + para_audiod --force + +once to fix it up. + --------------------------------------- Audio formats and audio format handlers --------------------------------------- @@ -1135,7 +1153,17 @@ Excited Linear Prediction) coding. It is designed for voice over IP applications, has modest complexity and a small memory footprint. Wideband and narrowband (telephone quality) speech are supported. As for Vorbis audio, Speex bit-streams are often stored -in OGG files. +in OGG files. As of 2012 this codec is considered obsolete since the +Oppus codec, described below, surpasses its performance in all areas. + +*OGG/Opus* + +Opus is a lossy audio compression format standardized through RFC +6716 in 2012. It combines the speech-oriented SILK codec and the +low-latency CELT (Constrained Energy Lapped Transform) codec. Like +OGG/Vorbis and OGG/Speex, Opus data is usually encapsulated in OGG +containers. All known software patents which cover Opus are licensed +under royalty-free terms. *AAC* @@ -1218,9 +1246,7 @@ chunk table and reads the meta data. The audio format handler code is linked into para_server and executed via the _add_ command. The same code is also available as a stand-alone tool, para_afh, which can be used to print the technical data, the -chunk table and the meta data of a file. Furthermore, one can use -para_afh to cut an audio file, i.e. to select some of its chunks to -produce a new file containing only these chunks. +chunk table and the meta data of a file. ---------- Networking @@ -1506,10 +1532,10 @@ the output to STDOUT, the filter modules of para_audiod are always connected to a receiver which produces the input stream and a writer which absorbs the output stream. -Some filters depend on a specific library being installed and are -not compiled in if this library was not found at compile time. To -see the list of supported filters, run para_filter and para_audiod -with the --help option. The output looks similar to the following: +Some filters depend on a specific library and are not compiled in +if this library was not found at compile time. To see the list of +supported filters, run para_filter and para_audiod with the --help +option. The output looks similar to the following: Available filters: compress wav amp fecdec wmadec prebuffer oggdec aacdec mp3dec @@ -2181,6 +2207,8 @@ RFCs Congestion Control ID 2: TCP-like Congestion Control - XREFERENCE(http://www.ietf.org/rfc/rfc4342.txt, RFC 4342) (2006): Congestion Control ID 3: TCP-Friendly Rate Control (TFRC) + - XREFERENCE(http://www.ietf.org/rfc/rfc6716.txt, RFC 6716) (2012): + Definition of the Opus Audio Codec Application web pages ~~~~~~~~~~~~~~~~~~~~~ diff --git a/web/screenshots/audiod.log b/web/screenshots/audiod.log index c9e43663..adc82b58 100644 --- a/web/screenshots/audiod.log +++ b/web/screenshots/audiod.log @@ -1,549 +1,246 @@ -Dec 08 19:23:27 meins 2 log_welcome: welcome to para_audiod git (Sat Dec 8 13:42:52 MET 2007) -Dec 08 19:23:27 meins 2 init_writers: maximal number of writers: 3 -Dec 08 19:23:27 meins 2 check_writer_arg: checking alsa -d plug:swmix -Dec 08 19:23:27 meins 2 alsa_parse_config: options: -d plug:swmix, 2 -Dec 08 19:23:27 meins 2 alsa_parse_config: help given: 0 -Dec 08 19:23:27 meins 2 init_writers: mp3 writer #0: alsa -Dec 08 19:23:27 meins 2 check_writer_arg: checking alsa -d plug:swmix -Dec 08 19:23:27 meins 2 alsa_parse_config: options: -d plug:swmix, 2 -Dec 08 19:23:27 meins 2 alsa_parse_config: help given: 0 -Dec 08 19:23:27 meins 2 init_writers: ogg writer #0: alsa -Dec 08 19:23:27 meins 2 check_writer_arg: checking alsa -d plug:swmix -Dec 08 19:23:27 meins 2 alsa_parse_config: options: -d plug:swmix, 2 -Dec 08 19:23:27 meins 2 alsa_parse_config: help given: 0 -Dec 08 19:23:27 meins 2 init_writers: aac writer #0: alsa -Dec 08 19:23:27 meins 2 init_receivers: initializing http receiver -Dec 08 19:23:27 meins 2 init_receivers: initializing dccp receiver -Dec 08 19:23:27 meins 2 init_receivers: initializing ortp receiver -Dec 08 19:23:27 meins 2 init_filters: maximal number of filters: 6 -Dec 08 19:23:27 meins 2 add_filter: mp3 filter 1: mp3dec -Dec 08 19:23:27 meins 2 add_filter: mp3 filter 2: compress -Dec 08 19:23:27 meins 2 add_filter: ogg filter 1: oggdec -Dec 08 19:23:27 meins 2 add_filter: ogg filter 2: compress -Dec 08 19:23:27 meins 2 add_filter: aac filter 1: aacdec -Dec 08 19:23:27 meins 2 add_filter: aac filter 2: compress -Dec 08 19:23:27 meins 2 clear_slot: clearing slot 0 -Dec 08 19:23:27 meins 2 clear_slot: clearing slot 1 -Dec 08 19:23:27 meins 2 clear_slot: clearing slot 2 -Dec 08 19:23:27 meins 2 clear_slot: clearing slot 3 -Dec 08 19:23:27 meins 2 clear_slot: clearing slot 4 -Dec 08 19:23:27 meins 2 init_grabbing: grab init -Dec 08 19:23:27 meins 2 setup_signal_handling: signal pipe: fd 4 -Dec 08 19:23:27 meins 3 audiod_get_socket: local socket: /var/paraslash/audiod_socket.meins -Dec 08 19:23:27 meins 2 daemon_init: daemonizing -Dec 08 19:23:27 meins 2 init_sched: initializing scheduler -Dec 08 19:23:27 meins 2 register_task: registering signal task (0x80631bc) -Dec 08 19:23:27 meins 2 register_task: registering command task (0xbfec3ec4) -Dec 08 19:23:27 meins 2 register_task: registering status task (0x80632e8) -Dec 08 19:23:27 meins 2 register_task: registering audiod task (0xbfec3fe8) -Dec 08 19:23:27 meins 2 status_pre_select: clock diff count: 5 -Dec 08 19:23:27 meins 2 client_open: loglevel: 5 -Dec 08 19:23:27 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf -Dec 08 19:23:27 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan -Dec 08 19:23:27 meins 3 client_open: connecting localhost:2990 -Dec 08 19:23:27 meins 2 register_task: registering client (0x8067878) -Dec 08 19:23:27 meins 2 client_post_select: --> auth rc4 maan -Dec 08 19:23:27 meins 2 client_post_select: <-- [challenge] -Dec 08 19:23:27 meins 2 client_post_select: --> 1499570993 -Dec 08 19:23:27 meins 2 client_post_select: decrypting session key -Dec 08 19:23:27 meins 2 enable_crypt: rc4 encryption activated for fd 7 -Dec 08 19:23:27 meins 2 unregister_task: unregistering client (0x8067878) -Dec 08 19:23:28 meins 2 handle_connect: connection from user 409, buf: stat -Dec 08 19:23:28 meins 2 handle_connect: argv[0]: stat, argc= 1 -Dec 08 19:23:28 meins 2 com_stat: mask: 0xffffffff -Dec 08 19:23:28 meins 2 stat_client_add: adding client on fd 7 -Dec 08 19:23:28 meins 2 dump_stat_client_list: stat client on fd 7 -Dec 08 19:23:28 meins 2 status_pre_select: clock diff count: 4 -Dec 08 19:23:28 meins 2 client_open: loglevel: 5 -Dec 08 19:23:28 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf -Dec 08 19:23:28 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan -Dec 08 19:23:28 meins 3 client_open: connecting localhost:2990 -Dec 08 19:23:28 meins 2 register_task: registering client (0x8067878) -Dec 08 19:23:28 meins 2 client_post_select: --> auth rc4 maan -Dec 08 19:23:28 meins 2 client_post_select: <-- [challenge] -Dec 08 19:23:28 meins 2 client_post_select: --> 1400991892 -Dec 08 19:23:28 meins 2 client_post_select: decrypting session key -Dec 08 19:23:28 meins 2 enable_crypt: rc4 encryption activated for fd 8 -Dec 08 19:23:28 meins 2 compute_time_diff: time diff (cur/avg): -1ms/+1ms -Dec 08 19:23:28 meins 2 unregister_task: unregistering client (0x8067878) -Dec 08 19:23:29 meins 2 status_pre_select: clock diff count: 3 -Dec 08 19:23:29 meins 2 client_open: loglevel: 5 -Dec 08 19:23:29 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf -Dec 08 19:23:29 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan -Dec 08 19:23:29 meins 3 client_open: connecting localhost:2990 -Dec 08 19:23:29 meins 2 register_task: registering client (0x8067878) -Dec 08 19:23:29 meins 2 client_post_select: --> auth rc4 maan -Dec 08 19:23:29 meins 2 client_post_select: <-- [challenge] -Dec 08 19:23:29 meins 2 client_post_select: --> 1772412478 -Dec 08 19:23:29 meins 2 client_post_select: decrypting session key -Dec 08 19:23:29 meins 2 enable_crypt: rc4 encryption activated for fd 8 -Dec 08 19:23:29 meins 2 compute_time_diff: time diff (cur/avg): -1ms/+1ms -Dec 08 19:23:29 meins 2 unregister_task: unregistering client (0x8067878) -Dec 08 19:23:30 meins 2 status_pre_select: clock diff count: 2 -Dec 08 19:23:30 meins 2 client_open: loglevel: 5 -Dec 08 19:23:30 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf -Dec 08 19:23:30 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan -Dec 08 19:23:30 meins 3 client_open: connecting localhost:2990 -Dec 08 19:23:30 meins 2 register_task: registering client (0x8067878) -Dec 08 19:23:30 meins 2 client_post_select: --> auth rc4 maan -Dec 08 19:23:30 meins 2 client_post_select: <-- [challenge] -Dec 08 19:23:30 meins 2 client_post_select: --> 1882631692 -Dec 08 19:23:30 meins 2 client_post_select: decrypting session key -Dec 08 19:23:30 meins 2 enable_crypt: rc4 encryption activated for fd 8 -Dec 08 19:23:30 meins 2 compute_time_diff: time diff (cur/avg): -1ms/+1ms -Dec 08 19:23:30 meins 2 unregister_task: unregistering client (0x8067878) -Dec 08 19:23:31 meins 2 status_pre_select: clock diff count: 1 -Dec 08 19:23:31 meins 2 client_open: loglevel: 5 -Dec 08 19:23:31 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf -Dec 08 19:23:31 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan -Dec 08 19:23:31 meins 3 client_open: connecting localhost:2990 -Dec 08 19:23:31 meins 2 register_task: registering client (0x8067878) -Dec 08 19:23:31 meins 2 client_post_select: --> auth rc4 maan -Dec 08 19:23:31 meins 2 client_post_select: <-- [challenge] -Dec 08 19:23:31 meins 2 client_post_select: --> 1630455651 -Dec 08 19:23:31 meins 2 client_post_select: decrypting session key -Dec 08 19:23:31 meins 2 enable_crypt: rc4 encryption activated for fd 8 -Dec 08 19:23:31 meins 2 compute_time_diff: time diff (cur/avg): -1ms/+1ms -Dec 08 19:23:31 meins 2 unregister_task: unregistering client (0x8067878) -Dec 08 19:23:36 meins 2 client_open: loglevel: 5 -Dec 08 19:23:36 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf -Dec 08 19:23:36 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan -Dec 08 19:23:36 meins 3 client_open: connecting localhost:2990 -Dec 08 19:23:36 meins 2 register_task: registering client (0x8067878) -Dec 08 19:23:36 meins 2 client_post_select: --> auth rc4 maan -Dec 08 19:23:36 meins 2 client_post_select: <-- [challenge] -Dec 08 19:23:36 meins 2 client_post_select: --> 759215314 -Dec 08 19:23:36 meins 2 client_post_select: decrypting session key -Dec 08 19:23:36 meins 2 enable_crypt: rc4 encryption activated for fd 8 -Dec 08 19:23:36 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms -Dec 08 19:23:36 meins 2 clear_slot: clearing slot 0 -Dec 08 19:23:36 meins 3 open_receiver: started ogg: dccp receiver in slot 0 -Dec 08 19:23:36 meins 2 register_task: registering dccp receiver node (0x806a324) -Dec 08 19:23:37 meins 2 open_filters: opening ogg filters -Dec 08 19:23:37 meins 3 open_filters: ogg filter 1/2 (oggdec) started in slot 0 -Dec 08 19:23:37 meins 3 open_filters: ogg filter 2/2 (compress) started in slot 0 -Dec 08 19:23:37 meins 2 register_task: registering filter chain (0x807460c) -Dec 08 19:23:37 meins 3 ogg_convert: input buffer: 17032, opening ov callbacks -Dec 08 19:23:37 meins 3 ogg_convert: 2 channels, 44100 Hz -Dec 08 19:23:37 meins 2 open_writers: opening ogg writers -Dec 08 19:23:37 meins 2 open_writers: samplerate: 44100 -Dec 08 19:23:37 meins 3 wng_open: opening wng 0x80a5660 with 1 writer(s) -Dec 08 19:23:37 meins 2 register_task: registering (0x80a5684) -Dec 08 19:23:37 meins 2 alsa_open: 2 channel(s), 44100Hz -Dec 08 19:23:37 meins 2 alsa_open: buffer time: 170658 -Dec 08 19:23:37 meins 2 alsa_open: buffer size: 7526, period_size: 940 -Dec 08 19:23:43 meins 3 rn_event_handler: dccp_recv: end of file -Dec 08 19:23:43 meins 2 unregister_task: unregistering dccp receiver node (0x806a324) -Dec 08 19:23:43 meins 2 unregister_task: unregistering client (0x8067878) -Dec 08 19:23:43 meins 2 kill_all_decoders: unregistering writer node group in slot 0 -Dec 08 19:23:43 meins 2 unregister_task: unregistering writer node group (0x80a5684) -Dec 08 19:23:43 meins 2 kill_all_decoders: unregistering filter chain in slot 0 -Dec 08 19:23:43 meins 2 unregister_task: unregistering filter chain (0x807460c) -Dec 08 19:23:43 meins 2 try_to_close_slot: closing slot 0 -Dec 08 19:23:43 meins 3 wng_close: closing wng with 1 writer(s) -Dec 08 19:23:43 meins 2 alsa_close: closing writer node 0x80a57b0 -Dec 08 19:23:43 meins 3 close_filters: closing filter chain 0x80745e0 -Dec 08 19:23:43 meins 2 close_filters: closing oggdec filter -Dec 08 19:23:43 meins 2 close_filters: closing compress filter -Dec 08 19:23:43 meins 3 close_receiver: closing ogg receiver in slot 0 (eof = 1) -Dec 08 19:23:43 meins 2 clear_slot: clearing slot 0 -Dec 08 19:23:48 meins 2 client_open: loglevel: 5 -Dec 08 19:23:48 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf -Dec 08 19:23:48 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan -Dec 08 19:23:48 meins 3 client_open: connecting localhost:2990 -Dec 08 19:23:48 meins 2 register_task: registering client (0x8067878) -Dec 08 19:23:48 meins 2 client_post_select: --> auth rc4 maan -Dec 08 19:23:48 meins 2 client_post_select: <-- [challenge] -Dec 08 19:23:48 meins 2 client_post_select: --> 960122352 -Dec 08 19:23:48 meins 2 client_post_select: decrypting session key -Dec 08 19:23:48 meins 2 enable_crypt: rc4 encryption activated for fd 8 -Dec 08 19:23:48 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:23:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:23:58 meins 2 clear_slot: clearing slot 0 -Dec 08 19:23:58 meins 3 open_receiver: started mp3: http receiver in slot 0 -Dec 08 19:23:58 meins 2 register_task: registering http receiver node (0x806a204) -Dec 08 19:23:58 meins 2 http_recv_post_select: sending http request -Dec 08 19:23:58 meins 2 http_recv_post_select: received ok msg, streaming -Dec 08 19:23:59 meins 2 open_filters: opening mp3 filters -Dec 08 19:23:59 meins 3 open_filters: mp3 filter 1/2 (mp3dec) started in slot 0 -Dec 08 19:23:59 meins 3 open_filters: mp3 filter 2/2 (compress) started in slot 0 -Dec 08 19:23:59 meins 2 register_task: registering filter chain (0x807260c) -Dec 08 19:23:59 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:23:59 meins 2 audiod_pre_select: initial delay: 173 ms left -Dec 08 19:23:59 meins 2 audiod_pre_select: initial delay: 147 ms left -Dec 08 19:23:59 meins 2 audiod_pre_select: initial delay: 121 ms left -Dec 08 19:23:59 meins 2 audiod_pre_select: initial delay: 95 ms left -Dec 08 19:23:59 meins 2 audiod_pre_select: initial delay: 69 ms left -Dec 08 19:23:59 meins 2 audiod_pre_select: initial delay: 43 ms left -Dec 08 19:23:59 meins 2 audiod_pre_select: initial delay: 17 ms left -Dec 08 19:23:59 meins 2 open_writers: opening mp3 writers -Dec 08 19:23:59 meins 2 open_writers: samplerate: 44100 -Dec 08 19:23:59 meins 3 wng_open: opening wng 0x80a3c18 with 1 writer(s) -Dec 08 19:23:59 meins 2 register_task: registering (0x80a3c3c) -Dec 08 19:23:59 meins 2 alsa_open: 2 channel(s), 44100Hz -Dec 08 19:23:59 meins 2 alsa_open: buffer time: 170658 -Dec 08 19:23:59 meins 2 alsa_open: buffer size: 7526, period_size: 940 -Dec 08 19:24:43 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:24:57 meins 4 alsa_write_post_select: EAGAIN -Dec 08 19:24:57 meins 4 alsa_write_post_select: EAGAIN -Dec 08 19:25:33 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:25:43 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:25:51 meins 3 rn_event_handler: http_recv: end of file -Dec 08 19:25:51 meins 2 unregister_task: unregistering http receiver node (0x806a204) -Dec 08 19:25:51 meins 2 unregister_task: unregistering client (0x8067878) -Dec 08 19:25:51 meins 2 kill_all_decoders: unregistering writer node group in slot 0 -Dec 08 19:25:51 meins 2 unregister_task: unregistering writer node group (0x80a3c3c) -Dec 08 19:25:51 meins 2 kill_all_decoders: unregistering filter chain in slot 0 -Dec 08 19:25:51 meins 2 unregister_task: unregistering filter chain (0x807260c) -Dec 08 19:25:51 meins 2 try_to_close_slot: closing slot 0 -Dec 08 19:25:51 meins 3 wng_close: closing wng with 1 writer(s) -Dec 08 19:25:51 meins 2 alsa_close: closing writer node 0x806a440 -Dec 08 19:25:51 meins 3 close_filters: closing filter chain 0x80725e0 -Dec 08 19:25:51 meins 2 close_filters: closing mp3dec filter -Dec 08 19:25:51 meins 2 close_filters: closing compress filter -Dec 08 19:25:51 meins 3 close_receiver: closing mp3 receiver in slot 0 (eof = 1) -Dec 08 19:25:51 meins 2 clear_slot: clearing slot 0 -Dec 08 19:25:56 meins 2 client_open: loglevel: 5 -Dec 08 19:25:56 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf -Dec 08 19:25:56 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan -Dec 08 19:25:56 meins 3 client_open: connecting localhost:2990 -Dec 08 19:25:56 meins 2 register_task: registering client (0x8067878) -Dec 08 19:25:56 meins 2 client_post_select: --> auth rc4 maan -Dec 08 19:25:56 meins 2 client_post_select: <-- [challenge] -Dec 08 19:25:56 meins 2 client_post_select: --> 563263924 -Dec 08 19:25:56 meins 2 client_post_select: decrypting session key -Dec 08 19:25:56 meins 2 enable_crypt: rc4 encryption activated for fd 8 -Dec 08 19:25:56 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:26:06 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:26:06 meins 2 clear_slot: clearing slot 0 -Dec 08 19:26:06 meins 3 open_receiver: started mp3: http receiver in slot 0 -Dec 08 19:26:06 meins 2 register_task: registering http receiver node (0x806a29c) -Dec 08 19:26:06 meins 2 http_recv_post_select: sending http request -Dec 08 19:26:06 meins 2 http_recv_post_select: received ok msg, streaming -Dec 08 19:26:06 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:26:06 meins 2 open_filters: opening mp3 filters -Dec 08 19:26:06 meins 3 open_filters: mp3 filter 1/2 (mp3dec) started in slot 0 -Dec 08 19:26:06 meins 3 open_filters: mp3 filter 2/2 (compress) started in slot 0 -Dec 08 19:26:06 meins 2 register_task: registering filter chain (0x80726dc) -Dec 08 19:26:06 meins 2 audiod_pre_select: initial delay: 173 ms left -Dec 08 19:26:06 meins 2 audiod_pre_select: initial delay: 147 ms left -Dec 08 19:26:06 meins 2 audiod_pre_select: initial delay: 121 ms left -Dec 08 19:26:06 meins 2 audiod_pre_select: initial delay: 95 ms left -Dec 08 19:26:06 meins 2 audiod_pre_select: initial delay: 69 ms left -Dec 08 19:26:06 meins 2 audiod_pre_select: initial delay: 43 ms left -Dec 08 19:26:07 meins 2 audiod_pre_select: initial delay: 17 ms left -Dec 08 19:26:07 meins 2 open_writers: opening mp3 writers -Dec 08 19:26:07 meins 2 open_writers: samplerate: 44100 -Dec 08 19:26:07 meins 3 wng_open: opening wng 0x80a3cb8 with 1 writer(s) -Dec 08 19:26:07 meins 2 register_task: registering (0x80a3cdc) -Dec 08 19:26:07 meins 2 alsa_open: 2 channel(s), 44100Hz -Dec 08 19:26:07 meins 2 alsa_open: buffer time: 170658 -Dec 08 19:26:07 meins 2 alsa_open: buffer size: 7526, period_size: 940 -Dec 08 19:26:51 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:26:58 meins 2 unregister_task: unregistering client (0x8067878) -Dec 08 19:26:58 meins 2 kill_all_decoders: unregistering writer node group in slot 0 -Dec 08 19:26:58 meins 2 unregister_task: unregistering writer node group (0x80a3cdc) -Dec 08 19:26:58 meins 2 kill_all_decoders: unregistering filter chain in slot 0 -Dec 08 19:26:58 meins 2 unregister_task: unregistering filter chain (0x80726dc) -Dec 08 19:26:58 meins 2 kill_all_decoders: unregistering receiver_node in slot 0 -Dec 08 19:26:58 meins 2 unregister_task: unregistering http receiver node (0x806a29c) -Dec 08 19:26:58 meins 2 try_to_close_slot: closing slot 0 -Dec 08 19:26:58 meins 3 wng_close: closing wng with 1 writer(s) -Dec 08 19:26:58 meins 2 alsa_close: closing writer node 0x80a3e08 -Dec 08 19:26:58 meins 3 close_filters: closing filter chain 0x80726b0 -Dec 08 19:26:58 meins 2 close_filters: closing mp3dec filter -Dec 08 19:26:58 meins 2 close_filters: closing compress filter -Dec 08 19:26:58 meins 3 close_receiver: closing mp3 receiver in slot 0 (eof = 1) -Dec 08 19:26:58 meins 2 clear_slot: clearing slot 0 -Dec 08 19:27:04 meins 2 client_open: loglevel: 5 -Dec 08 19:27:04 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf -Dec 08 19:27:04 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan -Dec 08 19:27:04 meins 3 client_open: connecting localhost:2990 -Dec 08 19:27:04 meins 5 makesock: can not create TCP socket localhost#2990. -Dec 08 19:27:04 meins 5 client_open: Connection refused -Dec 08 19:27:09 meins 2 client_open: loglevel: 5 -Dec 08 19:27:09 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf -Dec 08 19:27:09 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan -Dec 08 19:27:09 meins 3 client_open: connecting localhost:2990 -Dec 08 19:27:09 meins 5 makesock: can not create TCP socket localhost#2990. -Dec 08 19:27:09 meins 5 client_open: Connection refused -Dec 08 19:27:14 meins 2 client_open: loglevel: 5 -Dec 08 19:27:14 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf -Dec 08 19:27:14 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan -Dec 08 19:27:14 meins 3 client_open: connecting localhost:2990 -Dec 08 19:27:14 meins 5 makesock: can not create TCP socket localhost#2990. -Dec 08 19:27:14 meins 5 client_open: Connection refused -Dec 08 19:27:19 meins 2 client_open: loglevel: 5 -Dec 08 19:27:19 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf -Dec 08 19:27:19 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan -Dec 08 19:27:19 meins 3 client_open: connecting localhost:2990 -Dec 08 19:27:19 meins 5 makesock: can not create TCP socket localhost#2990. -Dec 08 19:27:19 meins 5 client_open: Connection refused -Dec 08 19:27:24 meins 2 client_open: loglevel: 5 -Dec 08 19:27:24 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf -Dec 08 19:27:24 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan -Dec 08 19:27:24 meins 3 client_open: connecting localhost:2990 -Dec 08 19:27:24 meins 5 makesock: can not create TCP socket localhost#2990. -Dec 08 19:27:24 meins 5 client_open: Connection refused -Dec 08 19:27:29 meins 2 client_open: loglevel: 5 -Dec 08 19:27:29 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf -Dec 08 19:27:29 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan -Dec 08 19:27:29 meins 3 client_open: connecting localhost:2990 -Dec 08 19:27:29 meins 5 makesock: can not create TCP socket localhost#2990. -Dec 08 19:27:29 meins 5 client_open: Connection refused -Dec 08 19:27:34 meins 2 client_open: loglevel: 5 -Dec 08 19:27:34 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf -Dec 08 19:27:34 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan -Dec 08 19:27:34 meins 3 client_open: connecting localhost:2990 -Dec 08 19:27:34 meins 2 register_task: registering client (0x8067878) -Dec 08 19:27:34 meins 2 client_post_select: --> auth rc4 maan -Dec 08 19:27:34 meins 2 client_post_select: <-- [challenge] -Dec 08 19:27:34 meins 2 client_post_select: --> 1725057215 -Dec 08 19:27:34 meins 2 client_post_select: decrypting session key -Dec 08 19:27:34 meins 2 enable_crypt: rc4 encryption activated for fd 8 -Dec 08 19:27:34 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:27:45 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:27:45 meins 2 clear_slot: clearing slot 0 -Dec 08 19:27:45 meins 3 open_receiver: started mp3: http receiver in slot 0 -Dec 08 19:27:45 meins 2 register_task: registering http receiver node (0x806a7b4) -Dec 08 19:27:45 meins 2 http_recv_post_select: sending http request -Dec 08 19:27:45 meins 2 http_recv_post_select: received ok msg, streaming -Dec 08 19:27:46 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:27:46 meins 2 open_filters: opening mp3 filters -Dec 08 19:27:46 meins 3 open_filters: mp3 filter 1/2 (mp3dec) started in slot 0 -Dec 08 19:27:46 meins 3 open_filters: mp3 filter 2/2 (compress) started in slot 0 -Dec 08 19:27:46 meins 2 register_task: registering filter chain (0x80729f4) -Dec 08 19:27:46 meins 2 audiod_pre_select: initial delay: 173 ms left -Dec 08 19:27:46 meins 2 audiod_pre_select: initial delay: 147 ms left -Dec 08 19:27:46 meins 2 audiod_pre_select: initial delay: 121 ms left -Dec 08 19:27:46 meins 2 audiod_pre_select: initial delay: 95 ms left -Dec 08 19:27:46 meins 2 audiod_pre_select: initial delay: 69 ms left -Dec 08 19:27:46 meins 2 audiod_pre_select: initial delay: 43 ms left -Dec 08 19:27:46 meins 2 audiod_pre_select: initial delay: 17 ms left -Dec 08 19:27:46 meins 2 open_writers: opening mp3 writers -Dec 08 19:27:46 meins 2 open_writers: samplerate: 44100 -Dec 08 19:27:46 meins 3 wng_open: opening wng 0x80a4000 with 1 writer(s) -Dec 08 19:27:46 meins 2 register_task: registering (0x80a4024) -Dec 08 19:27:46 meins 2 alsa_open: 2 channel(s), 44100Hz -Dec 08 19:27:46 meins 2 alsa_open: buffer time: 170658 -Dec 08 19:27:46 meins 2 alsa_open: buffer size: 7526, period_size: 940 -Dec 08 19:28:30 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:28:58 meins 3 rn_event_handler: http_recv: end of file -Dec 08 19:28:58 meins 2 unregister_task: unregistering http receiver node (0x806a7b4) -Dec 08 19:28:58 meins 2 unregister_task: unregistering client (0x8067878) -Dec 08 19:28:58 meins 2 kill_all_decoders: unregistering writer node group in slot 0 -Dec 08 19:28:58 meins 2 unregister_task: unregistering writer node group (0x80a4024) -Dec 08 19:28:58 meins 2 kill_all_decoders: unregistering filter chain in slot 0 -Dec 08 19:28:58 meins 2 unregister_task: unregistering filter chain (0x80729f4) -Dec 08 19:28:58 meins 2 try_to_close_slot: closing slot 0 -Dec 08 19:28:58 meins 3 wng_close: closing wng with 1 writer(s) -Dec 08 19:28:58 meins 2 alsa_close: closing writer node 0x80a4150 -Dec 08 19:28:58 meins 3 close_filters: closing filter chain 0x80729c8 -Dec 08 19:28:58 meins 2 close_filters: closing mp3dec filter -Dec 08 19:28:58 meins 2 close_filters: closing compress filter -Dec 08 19:28:58 meins 3 close_receiver: closing mp3 receiver in slot 0 (eof = 1) -Dec 08 19:28:58 meins 2 clear_slot: clearing slot 0 -Dec 08 19:29:03 meins 2 client_open: loglevel: 5 -Dec 08 19:29:03 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf -Dec 08 19:29:03 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan -Dec 08 19:29:03 meins 3 client_open: connecting localhost:2990 -Dec 08 19:29:03 meins 2 register_task: registering client (0x8067878) -Dec 08 19:29:03 meins 2 client_post_select: --> auth rc4 maan -Dec 08 19:29:03 meins 2 client_post_select: <-- [challenge] -Dec 08 19:29:03 meins 2 client_post_select: --> 705434988 -Dec 08 19:29:03 meins 2 client_post_select: decrypting session key -Dec 08 19:29:03 meins 2 enable_crypt: rc4 encryption activated for fd 8 -Dec 08 19:29:03 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:29:13 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:29:13 meins 2 clear_slot: clearing slot 0 -Dec 08 19:29:13 meins 3 open_receiver: started ogg: dccp receiver in slot 0 -Dec 08 19:29:13 meins 2 register_task: registering dccp receiver node (0x806a804) -Dec 08 19:29:13 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:29:13 meins 2 open_filters: opening ogg filters -Dec 08 19:29:13 meins 3 open_filters: ogg filter 1/2 (oggdec) started in slot 0 -Dec 08 19:29:13 meins 3 open_filters: ogg filter 2/2 (compress) started in slot 0 -Dec 08 19:29:13 meins 2 register_task: registering filter chain (0x8074a44) -Dec 08 19:29:14 meins 3 ogg_convert: input buffer: 17167, opening ov callbacks -Dec 08 19:29:14 meins 3 ogg_convert: 2 channels, 44100 Hz -Dec 08 19:29:14 meins 2 open_writers: opening ogg writers -Dec 08 19:29:14 meins 2 open_writers: samplerate: 44100 -Dec 08 19:29:14 meins 3 wng_open: opening wng 0x80c8d20 with 1 writer(s) -Dec 08 19:29:14 meins 2 register_task: registering (0x80c8d44) -Dec 08 19:29:14 meins 2 alsa_open: 2 channel(s), 44100Hz -Dec 08 19:29:14 meins 2 alsa_open: buffer time: 170658 -Dec 08 19:29:14 meins 2 alsa_open: buffer size: 7526, period_size: 940 -Dec 08 19:29:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:30:48 meins 2 compute_time_diff: time diff (cur/avg): -3ms/+1ms -Dec 08 19:30:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms -Dec 08 19:31:48 meins 2 compute_time_diff: time diff (cur/avg): -2ms/+1ms -Dec 08 19:31:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms -Dec 08 19:32:48 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms -Dec 08 19:32:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms -Dec 08 19:33:48 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:33:56 meins 3 rn_event_handler: dccp_recv: end of file -Dec 08 19:33:56 meins 2 unregister_task: unregistering dccp receiver node (0x806a804) -Dec 08 19:33:56 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:33:56 meins 3 filter_event_handler: filter chain: eof -Dec 08 19:33:56 meins 2 unregister_task: unregistering filter chain (0x8074a44) -Dec 08 19:33:56 meins 2 wng_event_handler: wng: end of file -Dec 08 19:33:56 meins 2 unregister_task: unregistering writer node group (0x80c8d44) -Dec 08 19:33:56 meins 2 try_to_close_slot: closing slot 0 -Dec 08 19:33:56 meins 3 wng_close: closing wng with 1 writer(s) -Dec 08 19:33:56 meins 2 alsa_close: closing writer node 0x80c8e70 -Dec 08 19:33:56 meins 3 close_filters: closing filter chain 0x8074a18 -Dec 08 19:33:56 meins 2 close_filters: closing oggdec filter -Dec 08 19:33:56 meins 2 close_filters: closing compress filter -Dec 08 19:33:56 meins 3 close_receiver: closing ogg receiver in slot 0 (eof = 1) -Dec 08 19:33:56 meins 2 clear_slot: clearing slot 0 -Dec 08 19:33:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:33:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:33:58 meins 2 clear_slot: clearing slot 0 -Dec 08 19:33:58 meins 3 open_receiver: started ogg: dccp receiver in slot 0 -Dec 08 19:33:58 meins 2 register_task: registering dccp receiver node (0x80d0dc4) -Dec 08 19:33:58 meins 2 open_filters: opening ogg filters -Dec 08 19:33:58 meins 3 open_filters: ogg filter 1/2 (oggdec) started in slot 0 -Dec 08 19:33:58 meins 3 open_filters: ogg filter 2/2 (compress) started in slot 0 -Dec 08 19:33:58 meins 2 register_task: registering filter chain (0x807481c) -Dec 08 19:33:58 meins 2 compute_time_diff: time diff (cur/avg): -3ms/+1ms -Dec 08 19:33:58 meins 3 ogg_convert: input buffer: 16947, opening ov callbacks -Dec 08 19:33:58 meins 3 ogg_convert: 2 channels, 44100 Hz -Dec 08 19:33:58 meins 2 open_writers: opening ogg writers -Dec 08 19:33:58 meins 2 open_writers: samplerate: 44100 -Dec 08 19:33:58 meins 3 wng_open: opening wng 0x809d860 with 1 writer(s) -Dec 08 19:33:58 meins 2 register_task: registering (0x809d884) -Dec 08 19:33:58 meins 2 alsa_open: 2 channel(s), 44100Hz -Dec 08 19:33:58 meins 2 alsa_open: buffer time: 170658 -Dec 08 19:33:58 meins 2 alsa_open: buffer size: 7526, period_size: 940 -Dec 08 19:34:48 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms -Dec 08 19:34:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms -Dec 08 19:35:48 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms -Dec 08 19:35:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms -Dec 08 19:36:48 meins 2 compute_time_diff: time diff (cur/avg): -3ms/+1ms -Dec 08 19:36:54 meins 3 rn_event_handler: dccp_recv: end of file -Dec 08 19:36:54 meins 2 unregister_task: unregistering dccp receiver node (0x80d0dc4) -Dec 08 19:36:54 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms -Dec 08 19:36:54 meins 3 filter_event_handler: filter chain: eof -Dec 08 19:36:54 meins 2 unregister_task: unregistering filter chain (0x807481c) -Dec 08 19:36:54 meins 2 wng_event_handler: wng: end of file -Dec 08 19:36:54 meins 2 unregister_task: unregistering writer node group (0x809d884) -Dec 08 19:36:54 meins 2 try_to_close_slot: closing slot 0 -Dec 08 19:36:54 meins 3 wng_close: closing wng with 1 writer(s) -Dec 08 19:36:54 meins 2 alsa_close: closing writer node 0x809d9b0 -Dec 08 19:36:54 meins 3 close_filters: closing filter chain 0x80747f0 -Dec 08 19:36:54 meins 2 close_filters: closing oggdec filter -Dec 08 19:36:54 meins 2 close_filters: closing compress filter -Dec 08 19:36:54 meins 3 close_receiver: closing ogg receiver in slot 0 (eof = 1) -Dec 08 19:36:54 meins 2 clear_slot: clearing slot 0 -Dec 08 19:36:56 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms -Dec 08 19:36:56 meins 2 clear_slot: clearing slot 0 -Dec 08 19:36:56 meins 3 open_receiver: started mp3: http receiver in slot 0 -Dec 08 19:36:56 meins 2 register_task: registering http receiver node (0x80d14ec) -Dec 08 19:36:56 meins 2 http_recv_post_select: sending http request -Dec 08 19:36:56 meins 2 http_recv_post_select: received ok msg, streaming -Dec 08 19:36:56 meins 2 open_filters: opening mp3 filters -Dec 08 19:36:56 meins 3 open_filters: mp3 filter 1/2 (mp3dec) started in slot 0 -Dec 08 19:36:56 meins 3 open_filters: mp3 filter 2/2 (compress) started in slot 0 -Dec 08 19:36:56 meins 2 register_task: registering filter chain (0x80d16ac) -Dec 08 19:36:56 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms -Dec 08 19:36:56 meins 2 audiod_pre_select: initial delay: 174 ms left -Dec 08 19:36:56 meins 2 audiod_pre_select: initial delay: 148 ms left -Dec 08 19:36:56 meins 2 audiod_pre_select: initial delay: 122 ms left -Dec 08 19:36:56 meins 2 audiod_pre_select: initial delay: 96 ms left -Dec 08 19:36:56 meins 2 audiod_pre_select: initial delay: 70 ms left -Dec 08 19:36:56 meins 2 audiod_pre_select: initial delay: 44 ms left -Dec 08 19:36:56 meins 2 audiod_pre_select: initial delay: 18 ms left -Dec 08 19:36:56 meins 2 open_writers: opening mp3 writers -Dec 08 19:36:56 meins 2 open_writers: samplerate: 44100 -Dec 08 19:36:56 meins 3 wng_open: opening wng 0x80743a0 with 1 writer(s) -Dec 08 19:36:56 meins 2 register_task: registering (0x80743c4) -Dec 08 19:36:56 meins 2 alsa_open: 2 channel(s), 44100Hz -Dec 08 19:36:56 meins 2 alsa_open: buffer time: 170658 -Dec 08 19:36:56 meins 2 alsa_open: buffer size: 7526, period_size: 940 -Dec 08 19:36:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms -Dec 08 19:37:48 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms -Dec 08 19:37:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:38:48 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:38:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms -Dec 08 19:39:06 meins 7 signal_event_handler: terminating on signal 15 -Dec 08 19:39:06 meins 7 clean_exit: caught deadly signal -Dec 08 19:39:06 meins 2 log_welcome: welcome to para_audiod git (Sat Dec 8 13:42:52 MET 2007) -Dec 08 19:39:06 meins 1 log_welcome: using loglevel 1 -Dec 08 19:39:06 meins 2 init_writers: maximal number of writers: 3 -Dec 08 19:39:06 meins 2 check_writer_arg: checking alsa -d plug:swmix -Dec 08 19:39:06 meins 2 alsa_parse_config: options: -d plug:swmix, 2 -Dec 08 19:39:06 meins 2 alsa_parse_config: help given: 0 -Dec 08 19:39:06 meins 2 init_writers: mp3 writer #0: alsa -Dec 08 19:39:06 meins 2 check_writer_arg: checking alsa -d plug:swmix -Dec 08 19:39:06 meins 2 alsa_parse_config: options: -d plug:swmix, 2 -Dec 08 19:39:06 meins 2 alsa_parse_config: help given: 0 -Dec 08 19:39:06 meins 2 init_writers: ogg writer #0: alsa -Dec 08 19:39:06 meins 2 check_writer_arg: checking alsa -d plug:swmix -Dec 08 19:39:06 meins 2 alsa_parse_config: options: -d plug:swmix, 2 -Dec 08 19:39:06 meins 2 alsa_parse_config: help given: 0 -Dec 08 19:39:06 meins 2 init_writers: aac writer #0: alsa -Dec 08 19:39:06 meins 2 init_receivers: initializing http receiver -Dec 08 19:39:06 meins 2 init_receivers: initializing dccp receiver -Dec 08 19:39:06 meins 2 init_receivers: initializing ortp receiver -Dec 08 19:39:06 meins 1 check_receiver_arg: checking http -i 127.0.0.1 -Dec 08 19:39:06 meins 1 parse_receiver_args: options: -i 127.0.0.1 -Dec 08 19:39:06 meins 1 parse_receiver_args: argc = 3, argv[0]: http -Dec 08 19:39:06 meins 1 check_receiver_arg: checking dccp -i localhost -Dec 08 19:39:06 meins 1 parse_receiver_args: options: -i localhost -Dec 08 19:39:06 meins 1 parse_receiver_args: argc = 3, argv[0]: dccp -Dec 08 19:39:06 meins 1 check_receiver_arg: checking dccp -i localhost -Dec 08 19:39:06 meins 1 parse_receiver_args: options: -i localhost -Dec 08 19:39:06 meins 1 parse_receiver_args: argc = 3, argv[0]: dccp -Dec 08 19:39:06 meins 2 init_filters: maximal number of filters: 6 -Dec 08 19:39:06 meins 2 add_filter: mp3 filter 1: mp3dec -Dec 08 19:39:06 meins 2 add_filter: mp3 filter 2: compress -Dec 08 19:39:06 meins 2 add_filter: ogg filter 1: oggdec -Dec 08 19:39:06 meins 2 add_filter: ogg filter 2: compress -Dec 08 19:39:06 meins 2 add_filter: aac filter 1: aacdec -Dec 08 19:39:06 meins 2 add_filter: aac filter 2: compress -Dec 08 19:39:06 meins 2 clear_slot: clearing slot 0 -Dec 08 19:39:06 meins 2 clear_slot: clearing slot 1 -Dec 08 19:39:06 meins 2 clear_slot: clearing slot 2 -Dec 08 19:39:06 meins 2 clear_slot: clearing slot 3 -Dec 08 19:39:06 meins 2 clear_slot: clearing slot 4 -Dec 08 19:39:06 meins 2 init_grabbing: grab init -Dec 08 19:39:06 meins 2 setup_signal_handling: signal pipe: fd 4 -Dec 08 19:39:06 meins 1 para_install_sighandler: catching signal 2 -Dec 08 19:39:06 meins 1 para_install_sighandler: catching signal 15 -Dec 08 19:39:06 meins 1 para_install_sighandler: catching signal 1 -Dec 08 19:39:06 meins 3 audiod_get_socket: local socket: /var/paraslash/audiod_socket.meins -Dec 08 19:39:06 meins 2 daemon_init: daemonizing -Dec 08 19:39:06 meins 2 init_sched: initializing scheduler -Dec 08 19:39:06 meins 2 register_task: registering signal task (0x80631bc) -Dec 08 19:39:06 meins 1 register_task: pre_select: 0x80631c0 -Dec 08 19:39:06 meins 1 register_task: post_select: 0x80631c0 -Dec 08 19:39:06 meins 2 register_task: registering command task (0xbfa7e274) -Dec 08 19:39:06 meins 1 register_task: pre_select: 0xbfa7e278 -Dec 08 19:39:06 meins 1 register_task: post_select: 0xbfa7e278 -Dec 08 19:39:06 meins 2 register_task: registering status task (0x80632e8) -Dec 08 19:39:06 meins 1 register_task: pre_select: 0x80632ec -Dec 08 19:39:06 meins 1 register_task: post_select: 0x80632ec -Dec 08 19:39:06 meins 2 register_task: registering audiod task (0xbfa7e398) -Dec 08 19:39:06 meins 1 register_task: pre_select: 0xbfa7e39c -Dec 08 19:39:06 meins 1 register_task: post_select: 0xbfa7e39c -Dec 08 19:39:06 meins 2 status_pre_select: clock diff count: 5 -Dec 08 19:39:06 meins 2 client_open: loglevel: 5 -Dec 08 19:39:06 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf -Dec 08 19:39:06 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan -Dec 08 19:39:06 meins 3 client_open: connecting localhost:2990 -Dec 08 19:39:06 meins 2 register_task: registering client (0x8067878) -Dec 08 19:39:06 meins 1 register_task: pre_select: 0x806787c -Dec 08 19:39:06 meins 1 register_task: post_select: 0x806787c -Dec 08 19:39:06 meins 2 client_post_select: --> auth rc4 maan -Dec 08 19:39:06 meins 2 client_post_select: <-- [challenge] -Dec 08 19:39:06 meins 2 client_post_select: --> 153889019 -Dec 08 19:39:06 meins 1 client_post_select: ++++ server info ++++ - -Proceed. - -++++ end of server info ++++ -Dec 08 19:39:06 meins 2 client_post_select: decrypting session key -Dec 08 19:39:06 meins 2 enable_crypt: rc4 encryption activated for fd 7 -Dec 08 19:39:06 meins 1 client_post_select: --> -stat -1 -End of Command. +Dec 29 02:18:32 klar (0) check_receiver_arg: checking udp +Dec 29 02:18:32 klar (0) check_receiver_arg: checking udp +Dec 29 02:18:32 klar (0) check_receiver_arg: checking udp +Dec 29 02:18:32 klar (0) check_receiver_arg: checking udp +Dec 29 02:18:32 klar (0) check_receiver_arg: checking udp +Dec 29 02:18:32 klar (0) check_receiver_arg: checking udp +Dec 29 02:18:32 klar (0) check_receiver_arg: checking udp +Dec 29 02:18:32 klar (1) parse_receiver_args: receiving wma streams via udp receiver +Dec 29 02:18:32 klar (1) parse_receiver_args: receiving ogg streams via udp receiver +Dec 29 02:18:32 klar (1) parse_receiver_args: receiving spx streams via udp receiver +Dec 29 02:18:32 klar (1) parse_receiver_args: receiving opus streams via udp receiver +Dec 29 02:18:32 klar (1) parse_receiver_args: receiving aac streams via udp receiver +Dec 29 02:18:32 klar (1) parse_receiver_args: receiving mp3 streams via udp receiver +Dec 29 02:18:32 klar (1) parse_receiver_args: receiving flac streams via udp receiver +Dec 29 02:18:32 klar (1) add_filter: wma filter 0: fecdec +Dec 29 02:18:32 klar (1) add_filter: ogg filter 0: fecdec +Dec 29 02:18:32 klar (1) add_filter: spx filter 0: fecdec +Dec 29 02:18:32 klar (1) add_filter: opus filter 0: fecdec +Dec 29 02:18:32 klar (1) add_filter: aac filter 0: fecdec +Dec 29 02:18:32 klar (1) add_filter: mp3 filter 0: fecdec +Dec 29 02:18:32 klar (1) add_filter: flac filter 0: fecdec +Dec 29 02:18:32 klar (1) add_filter: mp3 filter 1: mp3dec +Dec 29 02:18:32 klar (1) add_filter: ogg filter 1: oggdec +Dec 29 02:18:32 klar (1) add_filter: aac filter 1: aacdec +Dec 29 02:18:32 klar (1) add_filter: wma filter 1: wmadec +Dec 29 02:18:32 klar (1) add_filter: spx filter 1: spxdec +Dec 29 02:18:32 klar (1) add_filter: flac filter 1: flacdec +Dec 29 02:18:32 klar (1) add_filter: opus filter 1: opusdec +Dec 29 02:18:32 klar (1) add_filter: wma filter 2: amp +Dec 29 02:18:32 klar (1) add_filter: ogg filter 2: amp +Dec 29 02:18:32 klar (1) add_filter: spx filter 2: amp +Dec 29 02:18:32 klar (1) add_filter: opus filter 2: amp +Dec 29 02:18:32 klar (1) add_filter: aac filter 2: amp +Dec 29 02:18:32 klar (1) add_filter: mp3 filter 2: amp +Dec 29 02:18:32 klar (1) add_filter: flac filter 2: amp +Dec 29 02:18:32 klar (1) add_filter: wma filter 3: compress +Dec 29 02:18:32 klar (1) add_filter: ogg filter 3: compress +Dec 29 02:18:32 klar (1) add_filter: spx filter 3: compress +Dec 29 02:18:32 klar (1) add_filter: opus filter 3: compress +Dec 29 02:18:32 klar (1) add_filter: aac filter 3: compress +Dec 29 02:18:32 klar (1) add_filter: mp3 filter 3: compress +Dec 29 02:18:32 klar (1) add_filter: flac filter 3: compress +Dec 29 02:18:32 klar (1) parse_writer_args: wma writer: alsa (default) +Dec 29 02:18:32 klar (1) parse_writer_args: ogg writer: alsa (default) +Dec 29 02:18:32 klar (1) parse_writer_args: spx writer: alsa (default) +Dec 29 02:18:32 klar (1) parse_writer_args: opus writer: alsa (default) +Dec 29 02:18:32 klar (1) parse_writer_args: aac writer: alsa (default) +Dec 29 02:18:32 klar (1) parse_writer_args: mp3 writer: alsa (default) +Dec 29 02:18:32 klar (1) parse_writer_args: flac writer: alsa (default) +Dec 29 02:18:32 klar (1) log_welcome: welcome to para_audiod git (Sun Dec 29 01:49:51 MET 2013) +Dec 29 02:18:32 klar (1) clear_slot: clearing slot 0 +Dec 29 02:18:32 klar (1) clear_slot: clearing slot 1 +Dec 29 02:18:32 klar (1) clear_slot: clearing slot 2 +Dec 29 02:18:32 klar (1) clear_slot: clearing slot 3 +Dec 29 02:18:32 klar (1) clear_slot: clearing slot 4 +Dec 29 02:18:32 klar (1) setup_signal_handling: signal pipe: fd 4 +Dec 29 02:18:32 klar (0) para_sigaction: catching signal 2 +Dec 29 02:18:32 klar (0) para_sigaction: catching signal 15 +Dec 29 02:18:32 klar (0) para_sigaction: catching signal 1 +Dec 29 02:18:32 klar (0) para_sigaction: catching signal 13 +Dec 29 02:18:32 klar (1) btr_new_node: added stat as btr root +Dec 29 02:18:32 klar (2) audiod_get_socket: local socket: /var/paraslash/audiod_socket.klar +Dec 29 02:18:32 klar (1) register_task: registering signal task (0x807fc2c) +Dec 29 02:18:32 klar (0) register_task: pre_select: 0x807fc2c +Dec 29 02:18:32 klar (0) register_task: post_select: 0x807fc30 +Dec 29 02:18:32 klar (1) register_task: registering command task (0xbf84acd0) +Dec 29 02:18:32 klar (0) register_task: pre_select: 0xbf84acd0 +Dec 29 02:18:32 klar (0) register_task: post_select: 0xbf84acd4 +Dec 29 02:18:32 klar (1) register_task: registering stat (0x807fabc) +Dec 29 02:18:32 klar (0) register_task: pre_select: 0x807fabc +Dec 29 02:18:32 klar (0) register_task: post_select: 0x807fac0 +Dec 29 02:18:32 klar (1) client_parse_config: loglevel: warning +Dec 29 02:18:32 klar (1) client_parse_config: config_file: /home/maan/.paraslash/client.conf +Dec 29 02:18:32 klar (1) client_parse_config: key_file: /home/maan/.paraslash/key.maan +Dec 29 02:18:32 klar (2) client_connect: connecting p133:2990 +Dec 29 02:18:32 klar (1) btr_new_node: new root: client recv (was stat) +Dec 29 02:18:32 klar (1) btr_new_node: added client send as btr root +Dec 29 02:18:32 klar (1) register_task: registering client (0x80db404) +Dec 29 02:18:32 klar (0) register_task: pre_select: 0x80db404 +Dec 29 02:18:32 klar (0) register_task: post_select: 0x80db408 +Dec 29 02:18:32 klar (1) parse_features: server feature: sideband +Dec 29 02:18:32 klar (1) client_post_select: --> auth rsa maan sideband +Dec 29 02:18:32 klar (1) client_post_select: <-- [challenge] (256 bytes) +Dec 29 02:18:33 klar (1) client_post_select: --> 3c9229389de0fd26030b79ab4b10719801372d98 +Dec 29 02:18:33 klar (0) send_sb_command: --> stat +Dec 29 02:18:33 klar (0) dispatch_sbb: band: OUTPUT +Dec 29 02:18:33 klar (0) dispatch_sbb: band: OUTPUT +Dec 29 02:18:33 klar (1) clear_slot: clearing slot 0 +Dec 29 02:18:33 klar (1) btr_new_node: added udp as btr root +Dec 29 02:18:33 klar (1) udp_recv_open: receiving from 224.0.1.38:8000, fd=8 +Dec 29 02:18:33 klar (1) btr_pool_new: udp_recv, 327680 bytes +Dec 29 02:18:33 klar (2) open_receiver: started ogg: udp receiver in slot 0 +Dec 29 02:18:33 klar (1) register_task: registering udp receiver node (0x80dbfcc) +Dec 29 02:18:33 klar (0) register_task: pre_select: 0x80dbfcc +Dec 29 02:18:33 klar (0) register_task: post_select: 0x80dbfd0 +Dec 29 02:18:33 klar (1) open_filters: opening ogg filters +Dec 29 02:18:33 klar (1) btr_new_node: new leaf node: fecdec (child of udp) +Dec 29 02:18:33 klar (1) register_task: registering (0x80dc8c8) +Dec 29 02:18:33 klar (0) register_task: pre_select: 0x80dc8c8 +Dec 29 02:18:33 klar (0) register_task: post_select: 0x80dc8cc +Dec 29 02:18:33 klar (2) open_filters: ogg filter 0/4 (fecdec) started in slot 0 +Dec 29 02:18:33 klar (1) btr_new_node: new leaf node: oggdec (child of fecdec) +Dec 29 02:18:33 klar (1) register_task: registering (0x80dca04) +Dec 29 02:18:33 klar (0) register_task: pre_select: 0x80dca04 +Dec 29 02:18:33 klar (0) register_task: post_select: 0x80dca08 +Dec 29 02:18:33 klar (2) open_filters: ogg filter 1/4 (oggdec) started in slot 0 +Dec 29 02:18:33 klar (1) btr_new_node: new leaf node: amp (child of oggdec) +Dec 29 02:18:33 klar (1) amp_open: amplification: 0 (scaling factor: 1.00) +Dec 29 02:18:33 klar (1) register_task: registering (0x80dcb40) +Dec 29 02:18:33 klar (0) register_task: pre_select: 0x80dcb40 +Dec 29 02:18:33 klar (0) register_task: post_select: 0x80dcb44 +Dec 29 02:18:33 klar (2) open_filters: ogg filter 2/4 (amp) started in slot 0 +Dec 29 02:18:33 klar (1) btr_new_node: new leaf node: compress (child of amp) +Dec 29 02:18:33 klar (1) register_task: registering (0x80dcc7c) +Dec 29 02:18:33 klar (0) register_task: pre_select: 0x80dcc7c +Dec 29 02:18:33 klar (0) register_task: post_select: 0x80dcc80 +Dec 29 02:18:33 klar (2) open_filters: ogg filter 3/4 (compress) started in slot 0 +Dec 29 02:18:33 klar (1) btr_new_node: new leaf node: alsa writer (child of compress) +Dec 29 02:18:33 klar (1) register_task: registering alsa writer (0x80dc270) +Dec 29 02:18:33 klar (0) register_task: pre_select: 0x80dc270 +Dec 29 02:18:33 klar (0) register_task: post_select: 0x80dc274 +Dec 29 02:18:33 klar (2) open_writers: alsa writer started in slot 0 +Dec 29 02:18:33 klar (2) udp +Dec 29 02:18:33 klar (2) fecdec +Dec 29 02:18:33 klar (2) oggdec +Dec 29 02:18:33 klar (2) amp +Dec 29 02:18:33 klar (2) compress +Dec 29 02:18:33 klar (2) alsa writer +Dec 29 02:18:33 klar (2) btr_splice_out_node: splicing out amp +Dec 29 02:18:33 klar (1) btr_splice_out_node: parent(compress): oggdec +Dec 29 02:18:33 klar (1) unregister_task: unregistering amp (slot 0) (no amplification necessary) +Dec 29 02:18:33 klar (0) add_slice: group 374 complete, ignoring slice 26 +Dec 29 02:18:33 klar (0) add_slice: group 375 complete, ignoring slice 26 +Dec 29 02:18:33 klar (2) dispatch_slice: init fec (26, 27) +Dec 29 02:18:33 klar (1) btr_pool_new: fecdec, 131072 bytes +Dec 29 02:18:33 klar (0) decode_group: decoding group 375 (26 slices) +Dec 29 02:18:33 klar (0) decode_group: writing group 375 (4245/8710 decoded data bytes) +Dec 29 02:18:33 klar (1) decode_group: writing audio file header +Dec 29 02:18:33 klar (0) decode_group: decoding group 376 (26 slices) +Dec 29 02:18:33 klar (0) decode_group: writing group 376 (4157/4160 decoded data bytes) +Dec 29 02:18:33 klar (2) ogg_init: iqs: 12752, min_iqs: 8000, opening ov callbacks +Dec 29 02:18:33 klar (0) cb_read: vorbis requests 65536 bytes have 12752 +Dec 29 02:18:33 klar (2) ogg_init: 2 channels, 44100 Hz +Dec 29 02:18:33 klar (0) add_slice: group 376 complete, ignoring slice 26 +Dec 29 02:18:34 klar (0) decode_group: decoding group 377 (26 slices) +Dec 29 02:18:34 klar (0) decode_group: writing group 377 (4370/4394 decoded data bytes) +Dec 29 02:18:34 klar (0) add_slice: group 377 complete, ignoring slice 26 +Dec 29 02:18:34 klar (0) decode_group: decoding group 378 (26 slices) +Dec 29 02:18:34 klar (0) decode_group: writing group 378 (4230/4238 decoded data bytes) +Dec 29 02:18:34 klar (0) add_slice: group 378 complete, ignoring slice 26 +Dec 29 02:18:34 klar (0) decode_group: decoding group 379 (26 slices) +Dec 29 02:18:34 klar (0) decode_group: writing group 379 (4193/4212 decoded data bytes) +Dec 29 02:18:34 klar (0) cb_read: vorbis requests 65536 bytes have 12793 +Dec 29 02:18:34 klar (1) btr_exec_up: executing sample_rate on oggdec +Dec 29 02:18:34 klar (1) btr_exec_up: sample_rate(oggdec): 44100 +Dec 29 02:18:34 klar (1) btr_exec_up: executing channels on oggdec +Dec 29 02:18:34 klar (1) btr_exec_up: channels(oggdec): 2 +Dec 29 02:18:34 klar (1) btr_exec_up: executing sample_format on oggdec +Dec 29 02:18:34 klar (1) btr_exec_up: sample_format(oggdec): 2 +Dec 29 02:18:34 klar (1) alsa_write_post_select: 2 channel(s), 44100Hz +Dec 29 02:18:34 klar (1) alsa_init: opening default +Dec 29 02:18:35 klar (1) alsa_init: dumping alsa configuration +Dec 29 02:18:35 klar (1) alsa_init: Plug PCM: Rate conversion PCM (48000, sformat=S16_LE) +Dec 29 02:18:35 klar (1) alsa_init: Converter: linear-interpolation +Dec 29 02:18:35 klar (1) alsa_init: Protocol version: 10002 +Dec 29 02:18:35 klar (1) alsa_init: Its setup is: +Dec 29 02:18:35 klar (1) alsa_init: stream : PLAYBACK +Dec 29 02:18:35 klar (1) alsa_init: access : RW_INTERLEAVED +Dec 29 02:18:35 klar (1) alsa_init: format : S16_LE +Dec 29 02:18:35 klar (1) alsa_init: subformat : STD +Dec 29 02:18:35 klar (1) alsa_init: channels : 2 +Dec 29 02:18:35 klar (1) alsa_init: rate : 44100 +Dec 29 02:18:35 klar (1) alsa_init: exact rate : 44100 (44100/1) +Dec 29 02:18:35 klar (1) alsa_init: msbits : 16 +Dec 29 02:18:35 klar (1) alsa_init: buffer_size : 15052 +Dec 29 02:18:35 klar (1) alsa_init: period_size : 940 +Dec 29 02:18:35 klar (1) alsa_init: period_time : 21333 +Dec 29 02:18:35 klar (1) alsa_init: tstamp_mode : NONE +Dec 29 02:18:35 klar (1) alsa_init: period_step : 1 +Dec 29 02:18:35 klar (1) alsa_init: avail_min : 940 +Dec 29 02:18:35 klar (1) alsa_init: period_event : 0 +Dec 29 02:18:35 klar (1) alsa_init: start_threshold : 15052 +Dec 29 02:18:35 klar (1) alsa_init: stop_threshold : 15052 +Dec 29 02:18:35 klar (1) alsa_init: silence_threshold: 0 +Dec 29 02:18:35 klar (1) alsa_init: silence_size : 0 +Dec 29 02:18:35 klar (1) alsa_init: boundary : 986447872 +Dec 29 02:18:35 klar (1) alsa_init: Slave: Direct Stream Mixing PCM +Dec 29 02:18:35 klar (1) alsa_init: Its setup is: +Dec 29 02:18:35 klar (1) alsa_init: stream : PLAYBACK +Dec 29 02:18:35 klar (1) alsa_init: access : MMAP_INTERLEAVED +Dec 29 02:18:35 klar (1) alsa_init: format : S16_LE +Dec 29 02:18:35 klar (1) alsa_init: subformat : STD +Dec 29 02:18:35 klar (1) alsa_init: channels : 2 +Dec 29 02:18:35 klar (1) alsa_init: rate : 48000 +Dec 29 02:18:35 klar (1) alsa_init: exact rate : 48000 (48000/1) +Dec 29 02:18:35 klar (1) alsa_init: msbits : 16 +Dec 29 02:18:35 klar (1) alsa_init: buffer_size : 16384 +Dec 29 02:18:35 klar (1) alsa_init: period_size : 1024 +Dec 29 02:18:35 klar (1) alsa_init: period_time : 21333 +Dec 29 02:18:35 klar (1) alsa_init: tstamp_mode : NONE +Dec 29 02:18:35 klar (1) alsa_init: period_step : 1 +Dec 29 02:18:35 klar (1) alsa_init: avail_min : 1024 +Dec 29 02:18:35 klar (1) alsa_init: period_event : 0 +Dec 29 02:18:35 klar (1) alsa_init: start_threshold : 16384 +Dec 29 02:18:35 klar (1) alsa_init: stop_threshold : 16384 +Dec 29 02:18:35 klar (1) alsa_init: silence_threshold: 0 +Dec 29 02:18:35 klar (1) alsa_init: silence_size : 0 +Dec 29 02:18:35 klar (1) alsa_init: boundary : 1073741824 +Dec 29 02:18:35 klar (1) alsa_init: Hardware PCM card 0 'Ensoniq AudioPCI' device 0 subdevice 0 +Dec 29 02:18:35 klar (1) alsa_init: Its setup is: +Dec 29 02:18:35 klar (1) alsa_init: stream : PLAYBACK +Dec 29 02:18:35 klar (1) alsa_init: access : MMAP_INTERLEAVED +Dec 29 02:18:35 klar (1) alsa_init: format : S16_LE +Dec 29 02:18:35 klar (1) alsa_init: subformat : STD +Dec 29 02:18:35 klar (1) alsa_init: channels : 2 +Dec 29 02:18:35 klar (1) alsa_init: rate : 48000 +Dec 29 02:18:35 klar (1) alsa_init: exact rate : 48000 (1572864000/32768) +Dec 29 02:18:35 klar (1) alsa_init: msbits : 16 +Dec 29 02:18:35 klar (1) alsa_init: buffer_size : 16384 +Dec 29 02:18:35 klar (1) alsa_init: period_size : 1024 +Dec 29 02:18:35 klar (1) alsa_init: period_time : 21333 +Dec 29 02:18:35 klar (1) alsa_init: tstamp_mode : ENABLE +Dec 29 02:18:35 klar (1) alsa_init: period_step : 1 +Dec 29 02:18:35 klar (1) alsa_init: avail_min : 1024 +Dec 29 02:18:35 klar (1) alsa_init: period_event : 0 +Dec 29 02:18:35 klar (1) alsa_init: start_threshold : 1 +Dec 29 02:18:35 klar (1) alsa_init: stop_threshold : 1073741824 +Dec 29 02:18:35 klar (1) alsa_init: silence_threshold: 0 +Dec 29 02:18:35 klar (1) alsa_init: silence_size : 1073741824 +Dec 29 02:18:35 klar (1) alsa_init: boundary : 1073741824 +Dec 29 02:18:35 klar (1) alsa_init: appl_ptr : 0 +Dec 29 02:18:35 klar (1) alsa_init: hw_ptr : 1040 +Dec 29 02:18:35 klar (0) add_slice: group 379 complete, ignoring slice 26 +Dec 29 02:18:35 klar (0) decode_group: decoding group 380 (26 slices) +Dec 29 02:18:35 klar (0) decode_group: writing group 380 (4158/4160 decoded data bytes) +Dec 29 02:18:35 klar (0) add_slice: group 380 complete, ignoring slice 26 +Dec 29 02:18:35 klar (0) decode_group: decoding group 381 (26 slices) +Dec 29 02:18:35 klar (0) decode_group: writing group 381 (4241/4264 decoded data bytes) +Dec 29 02:18:35 klar (0) add_slice: group 381 complete, ignoring slice 26 +Dec 29 02:18:35 klar (0) cb_read: vorbis requests 65536 bytes have 8399 +Dec 29 02:18:35 klar (0) cb_read: vorbis requests 65536 bytes have 0 +Dec 29 02:18:35 klar (0) decode_group: decoding group 382 (26 slices) +Dec 29 02:18:35 klar (0) decode_group: writing group 382 (4281/4290 decoded data bytes) +Dec 29 02:18:35 klar (0) add_slice: group 382 complete, ignoring slice 26 +Dec 29 02:18:35 klar (0) cb_read: vorbis requests 65536 bytes have 4281 +Dec 29 02:18:35 klar (0) cb_read: vorbis requests 65536 bytes have 0 diff --git a/web/screenshots/gui.png b/web/screenshots/gui.png index 2a6c7443..9166de76 100644 Binary files a/web/screenshots/gui.png and b/web/screenshots/gui.png differ diff --git a/web/screenshots/server.log b/web/screenshots/server.log index f84ede81..c8287b37 100644 --- a/web/screenshots/server.log +++ b/web/screenshots/server.log @@ -1,192 +1,190 @@ -Dec 08 19:28:58 2: (21285) log_welcome: welcome to para_server git (Sat Dec 8 13:42:52 MET 2007) -Dec 08 19:28:58 1: (21285) log_welcome: using loglevel 1 -Dec 08 19:28:58 1: (21285) populate_user_list: found entry for maan -Dec 08 19:28:58 1: (21285) populate_user_list: found 4 perm entries -Dec 08 19:28:58 1: (21285) populate_user_list: found entry for install -Dec 08 19:28:58 1: (21285) populate_user_list: found 4 perm entries -Dec 08 19:28:58 1: (21285) populate_user_list: found entry for www -Dec 08 19:28:58 1: (21285) populate_user_list: found 4 perm entries -Dec 08 19:28:58 2: (21285) daemon_init: daemonizing -Dec 08 19:28:58 3: (21286) server_init: initializing audio format handlers -Dec 08 19:28:58 2: (21286) afh_init: supported audio formats: mp3 ogg aac -Dec 08 19:28:58 3: (21286) afh_init: initializing mp3 handler -Dec 08 19:28:58 3: (21286) afh_init: initializing ogg handler -Dec 08 19:28:58 3: (21286) afh_init: initializing aac handler -Dec 08 19:28:58 3: (21286) server_init: initializing virtual streaming system -Dec 08 19:28:58 2: (21286) vss_init: announce timeval: 300ms -Dec 08 19:28:58 3: (21286) vss_init: initializing http sender -Dec 08 19:28:58 2: (21286) para_listen: listening on TCP port 8000, fd 4 -Dec 08 19:28:58 1: (21286) http_send_init: http sender init complete -Dec 08 19:28:58 3: (21286) vss_init: initializing dccp sender -Dec 08 19:28:58 2: (21286) para_listen: listening on DCCP port 5001, fd 5 -Dec 08 19:28:58 3: (21286) vss_init: initializing ortp sender -Dec 08 19:28:58 1: (21286) ortp_send_init: ortp sender init complete -Dec 08 19:28:58 3: (21286) setup_signal_handling: setting up signal handlers -Dec 08 19:28:58 1: (21286) para_install_sighandler: catching signal 2 -Dec 08 19:28:58 1: (21286) para_install_sighandler: catching signal 15 -Dec 08 19:28:58 1: (21286) para_install_sighandler: catching signal 1 -Dec 08 19:28:58 1: (21286) para_install_sighandler: catching signal 17 -Dec 08 19:28:58 1: (21286) para_install_sighandler: catching signal 10 -Dec 08 19:28:58 3: (21286) server_init: initializing the audio file selector -Dec 08 19:28:58 2: (21287) get_database_dir: afs_database dir /home/maan/.paraslash/afs_database -Dec 08 19:28:58 3: (21287) open_afs_tables: opening 7 osl tables in /home/maan/.paraslash/afs_database -Dec 08 19:28:58 2: (21287) osl_open_table: opening table audio_files -Dec 08 19:28:58 1: (21287) init_table_structure: creating table structure for 'audio_files' from table description -Dec 08 19:28:58 1: (21287) init_table_structure: OK. Index entry size: 32 -Dec 08 19:28:58 1: (21287) map_table: mapping table 'audio_files' (index: /home/maan/.paraslash/afs_database/audio_files/index) -Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/audio_files/index: size 218667 -Dec 08 19:28:58 1: (21287) read_table_desc: 5 columns -Dec 08 19:28:58 1: (21287) compare_table_descriptions: table description of 'audio_files' matches on-disk data, good -Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/audio_files/2346ad27d7568ba9896f1b7da6b5991251debdf2: size 143430 -Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/audio_files/3150ecd5e0294534a81ae047ddac559de481d774: size 436636 -Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/audio_files/94ea39e309f3f31357ab60b190b6b8c32f21620b: size 225390 -Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/audio_files/b063ad096f9d142a388ca2a10d46b56904e26cda: size 1174409 -Dec 08 19:28:58 1: (21287) osl_open_table: num rows: 6830 -Dec 08 19:28:58 2: (21286) init_afs: afs_socket: 8, afs_socket_cookie: 1363241225 -Dec 08 19:28:58 3: (21286) server_init: initializing tcp command socket -Dec 08 19:28:58 2: (21286) para_listen: listening on TCP port 2990, fd 9 -Dec 08 19:28:58 3: (21286) server_init: server init complete -Dec 08 19:28:58 1: (21286) chk_barrier: autoplay_delay barrier: 14981ms left -Dec 08 19:28:58 1: (21286) status_refresh: 0 events, forcing status update -Dec 08 19:28:58 1: (21286) para_next_signal: next signal: 10 -Dec 08 19:28:58 1: (21286) chk_barrier: autoplay_delay barrier: 14981ms left -Dec 08 19:28:58 1: (21286) para_next_signal: next signal: 10 -Dec 08 19:28:58 1: (21286) chk_barrier: autoplay_delay barrier: 14981ms left -Dec 08 19:28:58 2: (21287) aft_open: audio file table contains 6830 files -Dec 08 19:28:58 2: (21287) osl_open_table: opening table attributes -Dec 08 19:28:58 1: (21287) init_table_structure: creating table structure for 'attributes' from table description -Dec 08 19:28:58 1: (21287) init_table_structure: OK. Index entry size: 16 -Dec 08 19:28:58 1: (21287) map_table: mapping table 'attributes' (index: /home/maan/.paraslash/afs_database/attributes/index) -Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/attributes/index: size 396 -Dec 08 19:28:58 1: (21287) read_table_desc: 2 columns -Dec 08 19:28:58 1: (21287) compare_table_descriptions: table description of 'attributes' matches on-disk data, good -Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/attributes/fd1e48caeff7212c45fc08608b7187feb10a7a2d: size 42 -Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/attributes/6ae999552a0d2dca14d62e2bc8b764d377b1dd6c: size 141 -Dec 08 19:28:58 1: (21287) osl_open_table: num rows: 21 -Dec 08 19:28:58 2: (21287) osl_open_table: opening table score -Dec 08 19:28:58 1: (21287) init_table_structure: creating table structure for 'score' from table description -Dec 08 19:28:58 1: (21287) init_table_structure: OK. Index entry size: 0 -Dec 08 19:28:58 1: (21287) osl_open_table: num rows: 0 -Dec 08 19:28:58 2: (21287) osl_open_table: opening table moods -Dec 08 19:28:58 1: (21287) init_table_structure: creating table structure for 'moods' from table description -Dec 08 19:28:58 1: (21287) init_table_structure: OK. Index entry size: 16 -Dec 08 19:28:58 1: (21287) map_table: mapping table 'moods' (index: /home/maan/.paraslash/afs_database/moods/index) -Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/moods/index: size 235 -Dec 08 19:28:58 1: (21287) read_table_desc: 3 columns -Dec 08 19:28:58 1: (21287) compare_table_descriptions: table description of 'moods' matches on-disk data, good -Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/moods/87ea5dfc8b8e384d848979496e706390b497e547: size 50 -Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/moods/6ae999552a0d2dca14d62e2bc8b764d377b1dd6c: size 67 -Dec 08 19:28:58 1: (21287) osl_open_table: num rows: 10 -Dec 08 19:28:58 2: (21287) osl_open_table: opening table lyrics -Dec 08 19:28:58 1: (21287) init_table_structure: creating table structure for 'lyrics' from table description -Dec 08 19:28:58 1: (21287) init_table_structure: OK. Index entry size: 16 -Dec 08 19:28:58 1: (21287) map_table: mapping table 'lyrics' (index: /home/maan/.paraslash/afs_database/lyrics/index) -Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/lyrics/index: size 347 -Dec 08 19:28:58 1: (21287) read_table_desc: 3 columns -Dec 08 19:28:58 1: (21287) compare_table_descriptions: table description of 'lyrics' matches on-disk data, good -Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/lyrics/87ea5dfc8b8e384d848979496e706390b497e547: size 85 -Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/lyrics/6ae999552a0d2dca14d62e2bc8b764d377b1dd6c: size 478 -Dec 08 19:28:58 1: (21287) osl_open_table: num rows: 17 -Dec 08 19:28:58 2: (21287) osl_open_table: opening table images -Dec 08 19:28:58 1: (21287) init_table_structure: creating table structure for 'images' from table description -Dec 08 19:28:58 1: (21287) init_table_structure: OK. Index entry size: 16 -Dec 08 19:28:58 1: (21287) map_table: mapping table 'images' (index: /home/maan/.paraslash/afs_database/images/index) -Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/images/index: size 7227 -Dec 08 19:28:58 1: (21287) read_table_desc: 3 columns -Dec 08 19:28:58 1: (21287) compare_table_descriptions: table description of 'images' matches on-disk data, good -Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/images/87ea5dfc8b8e384d848979496e706390b497e547: size 2235 -Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/images/6ae999552a0d2dca14d62e2bc8b764d377b1dd6c: size 12950 -Dec 08 19:28:58 1: (21287) osl_open_table: num rows: 447 -Dec 08 19:28:58 2: (21287) osl_open_table: opening table playlists -Dec 08 19:28:58 1: (21287) init_table_structure: creating table structure for 'playlists' from table description -Dec 08 19:28:58 1: (21287) init_table_structure: OK. Index entry size: 16 -Dec 08 19:28:58 1: (21287) map_table: mapping table 'playlists' (index: /home/maan/.paraslash/afs_database/playlists/index) -Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/playlists/index: size 107 -Dec 08 19:28:58 1: (21287) read_table_desc: 3 columns -Dec 08 19:28:58 1: (21287) compare_table_descriptions: table description of 'playlists' matches on-disk data, good -Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/playlists/87ea5dfc8b8e384d848979496e706390b497e547: size 10 -Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/playlists/6ae999552a0d2dca14d62e2bc8b764d377b1dd6c: size 7 -Dec 08 19:28:58 1: (21287) osl_open_table: num rows: 2 -Dec 08 19:28:58 2: (21287) afs_init: server_socket: 9, afs_socket_cookie: 1363241225 -Dec 08 19:28:58 1: (21287) osl_open_disk_object: filename: /home/maan/.paraslash/afs_database/moods/f3f1dd33eb2a8b380b64a830e5fd90eab77d9ff3/9d/b063f3b5e0adfd0d29a03db0a1c207b3740a94 -Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/moods/f3f1dd33eb2a8b380b64a830e5fd90eab77d9ff3/9d/b063f3b5e0adfd0d29a03db0a1c207b3740a94: size 31 -Dec 08 19:28:58 1: (21287) parse_mood_line: accept entry added, method: 0x806c0f4 -Dec 08 19:28:58 3: (21287) change_current_mood: computing statistics of admissible files -Dec 08 19:28:58 2: (21287) log_statistics: last_played mean: 1193159581, last_played sigma: 4161524 -Dec 08 19:28:58 2: (21287) log_statistics: num_played mean: 32, num_played sigma: 21 -Dec 08 19:28:58 2: (21287) change_current_mood: 26 admissible files -Dec 08 19:28:58 3: (21287) change_current_mood: loaded mood gulp -Dec 08 19:28:58 2: (21287) register_signal_task: signal pipe: fd 8 -Dec 08 19:28:58 1: (21287) para_install_sighandler: catching signal 2 -Dec 08 19:28:58 1: (21287) para_install_sighandler: catching signal 15 -Dec 08 19:28:58 1: (21287) para_install_sighandler: catching signal 13 -Dec 08 19:28:58 1: (21287) para_install_sighandler: catching signal 1 -Dec 08 19:28:58 2: (21287) init_sched: initializing scheduler -Dec 08 19:28:58 2: (21287) register_task: registering signal task (0x806f244) -Dec 08 19:28:58 1: (21287) register_task: pre_select: 0x806f248 -Dec 08 19:28:58 1: (21287) register_task: post_select: 0x806f248 -Dec 08 19:28:58 2: (21287) setup_command_socket_or_die: listening on socket /var/paraslash/afs_command_socket (fd 1) -Dec 08 19:28:58 2: (21287) register_task: registering command task (0x806f118) -Dec 08 19:28:58 1: (21287) register_task: pre_select: 0x806f11c -Dec 08 19:28:58 1: (21287) register_task: post_select: 0x806f11c -Dec 08 19:28:59 2: (21286) main: got connection from ::ffff:127.0.0.1#42344, forking -Dec 08 19:28:59 1: (21356) close_listed_fds: closing fd 9 -Dec 08 19:28:59 1: (21356) close_listed_fds: closing fd 8 -Dec 08 19:28:59 1: (21356) close_listed_fds: closing fd 6 -Dec 08 19:28:59 1: (21356) close_listed_fds: closing fd 5 -Dec 08 19:28:59 1: (21356) close_listed_fds: closing fd 4 -Dec 08 19:28:59 1: (21286) chk_barrier: autoplay_delay barrier: 13507ms left -Dec 08 19:28:59 1: (21356) handle_connect: received rc4 request for user maan -Dec 08 19:28:59 1: (21356) handle_connect: sending 64 byte challenge -Dec 08 19:28:59 2: (21356) handle_connect: good auth for maan (1081806111) -Dec 08 19:28:59 1: (21356) init_rc4_keys: rc4 keys initialized (84:105) -Dec 08 19:28:59 2: (21356) enable_crypt: rc4 encryption activated for fd 10 -Dec 08 19:28:59 3: (21356) handle_connect: invalid command -Dec 08 19:28:59 1: (21286) para_next_signal: next signal: 17 -Dec 08 19:28:59 1: (21286) para_reap_child: child 21356 exited. Exit status: 1 -Dec 08 19:28:59 1: (21286) chk_barrier: autoplay_delay barrier: 13498ms left -Dec 08 19:29:03 2: (21286) main: got connection from ::ffff:127.0.0.1#42345, forking -Dec 08 19:29:03 1: (21362) close_listed_fds: closing fd 9 -Dec 08 19:29:03 1: (21362) close_listed_fds: closing fd 8 -Dec 08 19:29:03 1: (21362) close_listed_fds: closing fd 6 -Dec 08 19:29:03 1: (21362) close_listed_fds: closing fd 5 -Dec 08 19:29:03 1: (21362) close_listed_fds: closing fd 4 -Dec 08 19:29:03 1: (21286) chk_barrier: autoplay_delay barrier: 9951ms left -Dec 08 19:29:03 1: (21362) handle_connect: received rc4 request for user maan -Dec 08 19:29:03 1: (21362) handle_connect: sending 64 byte challenge -Dec 08 19:29:03 2: (21362) handle_connect: good auth for maan (705434988) -Dec 08 19:29:03 1: (21362) init_rc4_keys: rc4 keys initialized (18:65) -Dec 08 19:29:03 2: (21362) enable_crypt: rc4 encryption activated for fd 10 -Dec 08 19:29:03 1: (21362) check_perms: checking permissions -Dec 08 19:29:03 3: (21362) handle_connect: calling com_stat() for maan@::ffff:127.0.0.1#42345 -Dec 08 19:29:13 1: (21286) chk_barrier: autoplay_delay barrier: 3ms left -Dec 08 19:29:13 1: (21286) vss_preselect: ready and playing, but no audio file -Dec 08 19:29:13 3: (21286) vss_post_select: requesting new fd from afs -Dec 08 19:29:13 1: (21287) execute_server_command: received: new -Dec 08 19:29:13 3: (21287) open_next_audio_file: getting next audio file -Dec 08 19:29:13 1: (21287) osl_open_disk_object: filename: /home/maan/.paraslash/afs_database/audio_files/7e078c9876ccabef154017c770e05195c85b5e4d/55/b5e38d467105bd88133cf5ded70e551e582593 -Dec 08 19:29:13 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/audio_files/7e078c9876ccabef154017c770e05195c85b5e4d/55/b5e38d467105bd88133cf5ded70e551e582593: size 4532 -Dec 08 19:29:13 1: (21287) mmap_full_file: /home/mp3/checked/dvd_07/cd_46/The_G.U.L.P.__Scheiss_Krieg.ogg: size 5274482 -Dec 08 19:29:13 1: (21287) mood_update_audio_file: score: 6 -Dec 08 19:29:13 1: (21287) mood_update_audio_file: moving from rank 26 to 35% -Dec 08 19:29:13 1: (21287) score_update: new score: 0, rank 9/26 -Dec 08 19:29:13 1: (21287) osl_update_object: updating column 1 of score -Dec 08 19:29:13 1: (21287) score_update: new score: -65, rank 1/26 -Dec 08 19:29:13 1: (21287) osl_update_object: updating column 1 of score -Dec 08 19:29:13 1: (21287) save_afd: size: 8932 -Dec 08 19:29:13 1: (21287) pass_afd: passing 8 bytes and fd 12 -Dec 08 19:29:13 1: (21286) recv_afs_result: fd: 10, code: 0, shmid: 28442631 -Dec 08 19:29:13 1: (21286) chk_barrier: data send barrier: 300ms left -Dec 08 19:29:13 1: (21286) status_refresh: 1 events, forcing status update -Dec 08 19:29:13 1: (21286) chk_barrier: data send barrier: 300ms left -Dec 08 19:29:13 1: (21286) chk_barrier: data send barrier: 300ms left -Dec 08 19:29:13 1: (21286) para_next_signal: next signal: 10 -Dec 08 19:29:13 1: (21286) chk_barrier: data send barrier: 300ms left -Dec 08 19:29:13 3: (21286) dccp_post_select: connection from ::ffff:127.0.0.1#46539 -Dec 08 19:29:13 1: (21286) chk_barrier: data send barrier: 287ms left -Dec 08 19:29:13 1: (21286) chk_barrier: data send barrier: 287ms left -Dec 08 19:29:13 1: (21287) para_next_signal: next signal: 10 -Dec 08 19:29:13 1: (21286) status_refresh: 2 events, forcing status update -Dec 08 19:29:13 1: (21286) para_next_signal: next signal: 10 -Dec 08 19:29:13 1: (21287) para_next_signal: next signal: 10 -Dec 08 19:29:14 1: (21286) cq_enqueue: 4446 bytes queued for 0x8072eb0 +Dec 29 02:12:57 (1) (16077) log_welcome: welcome to para_server git (Sun Dec 29 01:49:51 MET 2013) +Dec 29 02:12:57 (0) (16077) populate_user_list: found entry for user maan +Dec 29 02:12:57 (0) (16077) populate_user_list: found 4 perm entries +Dec 29 02:12:57 (0) (16077) populate_user_list: found entry for user sshmaan +Dec 29 02:12:57 (1) (16077) get_asymmetric_key: decoding public rsa-ssh key /home/maan/.ssh/id_rsa.pub +Dec 29 02:12:57 (0) (16077) check_ssh_key_header: type: ssh-rsa, rlen: 7 +Dec 29 02:12:57 (0) (16077) read_bignum: bnsize: 3 +Dec 29 02:12:57 (0) (16077) read_bignum: bnsize: 257 +Dec 29 02:12:57 (0) (16077) populate_user_list: found 4 perm entries +Dec 29 02:12:57 (0) (16077) populate_user_list: found entry for user install +Dec 29 02:12:57 (3) (16077) populate_user_list: public key /home/maan/.paraslash/key.pub.install too short (64) +Dec 29 02:12:57 (0) (16077) populate_user_list: found entry for user www +Dec 29 02:12:57 (3) (16077) populate_user_list: public key /home/maan/.paraslash/key.pub.www too short (64) +Dec 29 02:12:57 (0) (16077) populate_user_list: found entry for user maan@albrecht +Dec 29 02:12:57 (0) (16077) populate_user_list: found 2 perm entries +Dec 29 02:12:57 (2) (16077) server_init: initializing audio format handlers +Dec 29 02:12:57 (1) (16077) afh_init: supported audio formats: mp3 wma ogg spx aac flac +Dec 29 02:12:57 (2) (16077) afh_init: initializing mp3 handler +Dec 29 02:12:57 (2) (16077) afh_init: initializing ogg handler +Dec 29 02:12:57 (2) (16077) afh_init: initializing aac handler +Dec 29 02:12:57 (2) (16077) afh_init: initializing wma handler +Dec 29 02:12:57 (2) (16077) afh_init: initializing spx handler +Dec 29 02:12:57 (2) (16077) afh_init: initializing flac handler +Dec 29 02:12:57 (2) (16077) afh_init: initializing opus handler +Dec 29 02:12:57 (0) (16077) para_sigaction: catching signal 10 +Dec 29 02:12:57 (0) (16077) para_block_signal: blocking signal 17 +Dec 29 02:12:57 (2) (16077) server_init: initializing the audio file selector +Dec 29 02:12:57 (1) (16077) init_afs: afs_socket: 4, afs_socket_cookie: 3213854017 +Dec 29 02:12:57 (2) (16077) init_signal_task: setting up signal handling +Dec 29 02:12:57 (0) (16077) para_sigaction: catching signal 2 +Dec 29 02:12:57 (0) (16077) para_sigaction: catching signal 15 +Dec 29 02:12:57 (0) (16078) para_sigaction: catching signal 13 +Dec 29 02:12:57 (0) (16077) para_sigaction: catching signal 1 +Dec 29 02:12:57 (0) (16077) para_sigaction: catching signal 17 +Dec 29 02:12:57 (0) (16077) para_sigaction: catching signal 13 +Dec 29 02:12:57 (1) (16077) register_task: registering signal task (0x807c3e4) +Dec 29 02:12:57 (0) (16077) register_task: pre_select: 0x807c3e4 +Dec 29 02:12:57 (0) (16077) register_task: post_select: 0x807c3e8 +Dec 29 02:12:57 (0) (16077) para_unblock_signal: unblocking signal 17 +Dec 29 02:12:57 (2) (16077) server_init: initializing virtual streaming system +Dec 29 02:12:57 (1) (16078) register_signal_task: signal pipe: fd 4 +Dec 29 02:12:57 (0) (16078) para_sigaction: catching signal 2 +Dec 29 02:12:57 (0) (16078) para_sigaction: catching signal 15 +Dec 29 02:12:57 (1) (16077) init_vss_task: announce timeval: 300ms +Dec 29 02:12:57 (0) (16078) para_sigaction: catching signal 1 +Dec 29 02:12:57 (2) (16077) init_vss_task: initializing http sender +Dec 29 02:12:57 (1) (16078) register_task: registering signal task (0x807cec4) +Dec 29 02:12:57 (0) (16078) register_task: pre_select: 0x807cec4 +Dec 29 02:12:57 (1) (16077) acl_add_entry: adding 192.168.0.0/24 to access list +Dec 29 02:12:57 (0) (16078) register_task: post_select: 0x807cec8 +Dec 29 02:12:57 (1) (16077) acl_add_entry: adding 127.0.0.1/32 to access list +Dec 29 02:12:57 (1) (16078) get_database_dir: afs_database dir /home/maan/.paraslash/afs_database-0.4 +Dec 29 02:12:57 (2) (16078) open_afs_tables: opening 7 osl tables in /home/maan/.paraslash/afs_database-0.4 +Dec 29 02:12:57 (1) (16077) para_listen: listening on TCP port 8000, fd 7 +Dec 29 02:12:57 (2) (16077) init_vss_task: initializing dccp sender +Dec 29 02:12:57 (1) (16077) para_listen: listening on DCCP port 8000, fd 8 +Dec 29 02:12:57 (2) (16077) init_vss_task: initializing udp sender +Dec 29 02:12:57 (1) (16077) udp_com_add: adding to target list (224.0.1.38:8000) +Dec 29 02:12:57 (1) (16077) udp_com_add: adding to target list (192.168.0.2:8000) +Dec 29 02:12:57 (0) (16077) udp_send_init: udp sender init complete +Dec 29 02:12:57 (1) (16077) register_task: registering vss task (0x807c65c) +Dec 29 02:12:57 (0) (16077) register_task: pre_select: 0x807c65c +Dec 29 02:12:57 (0) (16077) register_task: post_select: 0x807c660 +Dec 29 02:12:57 (2) (16077) init_server_command_task: initializing tcp command socket +Dec 29 02:12:57 (1) (16077) para_listen: listening on TCP port 2990, fd 11 +Dec 29 02:12:57 (1) (16077) register_task: registering server command task (0x807c2c0) +Dec 29 02:12:57 (0) (16077) register_task: pre_select: 0x807c2c0 +Dec 29 02:12:57 (0) (16077) register_task: post_select: 0x807c2c4 +Dec 29 02:12:57 (2) (16077) server_init: server init complete +Dec 29 02:12:57 (0) (16077) status_refresh: 0 events, forcing status update +Dec 29 02:12:57 (1) (16078) aft_open: audio file table contains 9212 files +Dec 29 02:12:57 (1) (16078) afs_init: server_socket: 5, afs_socket_cookie: 3213854017 +Dec 29 02:12:57 (0) (16078) parse_mood_line: accept entry added, method: 0x806fdac +Dec 29 02:12:57 (2) (16078) change_current_mood: computing statistics of admissible files +Dec 29 02:12:57 (1) (16078) log_statistics: last_played mean: 1385279255, last_played sigma: 2805987 +Dec 29 02:12:57 (1) (16078) log_statistics: num_played mean: 48, num_played sigma: 18 +Dec 29 02:12:57 (1) (16078) change_current_mood: 26 admissible files +Dec 29 02:12:57 (2) (16078) change_current_mood: loaded mood gulp +Dec 29 02:12:57 (1) (16078) setup_command_socket_or_die: listening on socket /var/paraslash/afs_command_socket-0.4 (fd 7) +Dec 29 02:12:57 (1) (16078) register_task: registering afs command task (0x807cfec) +Dec 29 02:12:57 (0) (16078) register_task: pre_select: 0x807cfec +Dec 29 02:12:57 (0) (16078) register_task: post_select: 0x807cff0 +Dec 29 02:12:57 (1) (16077) command_post_select: got connection from 192.168.0.4:60731, forking +Dec 29 02:12:57 (0) (16079) close_listed_fds: closing fd 11 +Dec 29 02:12:57 (0) (16079) close_listed_fds: closing fd 10 +Dec 29 02:12:57 (0) (16079) close_listed_fds: closing fd 9 +Dec 29 02:12:57 (0) (16079) close_listed_fds: closing fd 8 +Dec 29 02:12:57 (0) (16079) close_listed_fds: closing fd 7 +Dec 29 02:12:57 (0) (16079) close_listed_fds: closing fd 5 +Dec 29 02:12:57 (0) (16079) close_listed_fds: closing fd 4 +Dec 29 02:12:57 (0) (16079) para_sigaction: catching signal 17 +Dec 29 02:12:57 (0) (16079) para_sigaction: catching signal 2 +Dec 29 02:12:57 (0) (16079) para_sigaction: catching signal 15 +Dec 29 02:12:57 (0) (16079) para_sigaction: catching signal 1 +Dec 29 02:12:57 (0) (16079) parse_auth_request: received auth request for user maan +Dec 29 02:12:57 (0) (16079) handle_connect: received auth request for user maan +Dec 29 02:12:57 (0) (16079) handle_connect: sending 64 byte challenge + rc4 keys (256 bytes) +Dec 29 02:12:57 (0) (16079) handle_connect: received 20 bytes challenge response +Dec 29 02:12:57 (1) (16079) handle_connect: good auth for maan +Dec 29 02:12:57 (0) (16079) check_perms: checking permissions +Dec 29 02:12:57 (2) (16079) handle_connect: calling com_stat() for maan@192.168.0.4:60731 +Dec 29 02:12:57 (0) (16079) para_sigaction: catching signal 10 +Dec 29 02:13:02 (1) (16077) command_post_select: got connection from 192.168.0.1:58527, forking +Dec 29 02:13:02 (0) (16080) close_listed_fds: closing fd 11 +Dec 29 02:13:02 (0) (16080) close_listed_fds: closing fd 10 +Dec 29 02:13:02 (0) (16080) close_listed_fds: closing fd 9 +Dec 29 02:13:02 (0) (16080) close_listed_fds: closing fd 8 +Dec 29 02:13:02 (0) (16080) close_listed_fds: closing fd 7 +Dec 29 02:13:02 (0) (16080) close_listed_fds: closing fd 5 +Dec 29 02:13:02 (0) (16080) close_listed_fds: closing fd 4 +Dec 29 02:13:02 (0) (16080) para_sigaction: catching signal 17 +Dec 29 02:13:02 (0) (16080) para_sigaction: catching signal 2 +Dec 29 02:13:02 (0) (16080) para_sigaction: catching signal 15 +Dec 29 02:13:02 (0) (16080) para_sigaction: catching signal 1 +Dec 29 02:13:02 (0) (16080) parse_auth_request: received auth request for user maan +Dec 29 02:13:02 (0) (16080) handle_connect: received auth request for user maan +Dec 29 02:13:02 (0) (16080) handle_connect: sending 64 byte challenge + rc4 keys (256 bytes) +Dec 29 02:13:02 (0) (16080) handle_connect: received 20 bytes challenge response +Dec 29 02:13:02 (1) (16080) handle_connect: good auth for maan +Dec 29 02:13:02 (0) (16080) check_perms: checking permissions +Dec 29 02:13:02 (2) (16080) handle_connect: calling com_stat() for maan@192.168.0.1:58527 +Dec 29 02:13:02 (0) (16080) para_sigaction: catching signal 10 +Dec 29 02:13:09 (1) (16077) command_post_select: got connection from 192.168.0.1:58528, forking +Dec 29 02:13:09 (0) (16089) close_listed_fds: closing fd 11 +Dec 29 02:13:09 (0) (16089) close_listed_fds: closing fd 10 +Dec 29 02:13:09 (0) (16089) close_listed_fds: closing fd 9 +Dec 29 02:13:09 (0) (16089) close_listed_fds: closing fd 8 +Dec 29 02:13:09 (0) (16089) close_listed_fds: closing fd 7 +Dec 29 02:13:09 (0) (16089) close_listed_fds: closing fd 5 +Dec 29 02:13:09 (0) (16089) close_listed_fds: closing fd 4 +Dec 29 02:13:09 (0) (16089) para_sigaction: catching signal 17 +Dec 29 02:13:09 (0) (16089) para_sigaction: catching signal 2 +Dec 29 02:13:09 (0) (16089) para_sigaction: catching signal 15 +Dec 29 02:13:09 (0) (16089) para_sigaction: catching signal 1 +Dec 29 02:13:09 (0) (16089) parse_auth_request: received auth request for user maan +Dec 29 02:13:09 (0) (16089) handle_connect: received auth request for user maan +Dec 29 02:13:09 (0) (16089) handle_connect: sending 64 byte challenge + rc4 keys (256 bytes) +Dec 29 02:13:09 (0) (16089) handle_connect: received 20 bytes challenge response +Dec 29 02:13:09 (1) (16089) handle_connect: good auth for maan +Dec 29 02:13:09 (0) (16089) check_perms: checking permissions +Dec 29 02:13:09 (2) (16089) handle_connect: calling com_play() for maan@192.168.0.1:58528 +Dec 29 02:13:09 (0) (16077) para_next_signal: next signal: 17 +Dec 29 02:13:09 (0) (16077) para_reap_child: child 16089 exited. Exit status: 0 +Dec 29 02:13:09 (0) (16077) vss_pre_select: ready and playing, but no audio file +Dec 29 02:13:09 (0) (16077) status_refresh: 1 events, forcing status update +Dec 29 02:13:09 (2) (16077) vss_post_select: requesting new fd from afs +Dec 29 02:13:09 (2) (16078) open_next_audio_file: getting next audio file +Dec 29 02:13:09 (2) (16078) open_and_update_audio_file: /home/mp3/checked/dvd_07/cd_45/The_G.U.L.P.__Popstar.ogg +Dec 29 02:13:09 (1) (16078) shm_get_shmmax: shmmax: 33554432 +Dec 29 02:13:09 (0) (16078) mood_update_audio_file: score: -11 +Dec 29 02:13:09 (0) (16078) mood_update_audio_file: moving from rank 26 to 29% +Dec 29 02:13:09 (0) (16078) score_update: new score: -13, rank 8/26 +Dec 29 02:13:09 (0) (16078) score_update: new score: -67, rank 1/26 +Dec 29 02:13:09 (0) (16078) pass_afd: passing 8 bytes and fd 8 +Dec 29 02:13:09 (0) (16077) recv_afs_result: fd: 12, code: 0, shmid: 121700353 +Dec 29 02:13:09 (0) (16077) vorbis_get_header_callback: processing ogg packet #0 +Dec 29 02:13:09 (0) (16077) add_ogg_page: header/body/old/new: 28/30/0/58 +Dec 29 02:13:09 (1) (16077) process_packets_2_and_3: ogg page serial: 867600341 +Dec 29 02:13:09 (0) (16077) vorbis_get_header_callback: processing ogg packet #1 +Dec 29 02:13:09 (1) (16077) vorbis_get_header_callback: replacing metadata packet +Dec 29 02:13:09 (1) (16077) process_packets_2_and_3: ogg page serial: 867600341 +Dec 29 02:13:09 (0) (16077) vorbis_get_header_callback: processing ogg packet #2 +Dec 29 02:13:09 (0) (16077) add_ogg_page: header/body/old/new: 45/4247/58/4350 +Dec 29 02:13:09 (1) (16077) vorbis_get_header: created 4350 byte ogg vorbis header +Dec 29 02:13:09 (0) (16077) chk_barrier: data send barrier: 203ms left +Dec 29 02:13:09 (0) (16077) status_refresh: 2 events, forcing status update +Dec 29 02:13:09 (0) (16079) connect_local_socket: connecting to /var/paraslash/afs_command_socket-0.4 +Dec 29 02:13:09 (0) (16080) connect_local_socket: connecting to /var/paraslash/afs_command_socket-0.4 +Dec 29 02:13:09 (2) (16077) udp_init_session: sending to udp 192.168.0.2:8000 +Dec 29 02:13:09 (1) (16077) udp_init_fec: current MPS = 548 bytes +Dec 29 02:13:09 (1) (16077) initialize_fec_client: mps: 548, k: 26, n: 28, extra slices: 12 +Dec 29 02:13:09 (0) (16077) set_group_timing: durations (group/chunk/slice): 226/226/8 +Dec 29 02:13:09 (0) (16077) setup_next_fec_group: FEC group 0: 1 chunks (0 - 0), 4350 bytes +Dec 29 02:13:09 (0) (16077) setup_next_fec_group: slice_bytes: 168, 0 header slices, 26 data slices +Dec 29 02:13:09 (0) (16077) vss_send: sending 0:0 (168 bytes) +Dec 29 02:13:09 (2) (16077) udp_init_session: sending to udp 224.0.1.38:8000 +Dec 29 02:13:09 (1) (16077) udp_init_fec: current MPS = 548 bytes +Dec 29 02:13:09 (1) (16077) initialize_fec_client: mps: 548, k: 26, n: 27, extra slices: 24 +Dec 29 02:13:09 (0) (16077) set_group_timing: durations (group/chunk/slice): 226/226/8 +Dec 29 02:13:09 (0) (16077) setup_next_fec_group: FEC group 0: 1 chunks (0 - 0), 4350 bytes +Dec 29 02:13:09 (0) (16077) setup_next_fec_group: slice_bytes: 168, 0 header slices, 26 data slices +Dec 29 02:13:09 (0) (16077) vss_send: sending 0:0 (168 bytes) +Dec 29 02:13:09 (0) (16077) status_refresh: 3 events, forcing status update +Dec 29 02:13:09 (0) (16079) connect_local_socket: connecting to /var/paraslash/afs_command_socket-0.4 +Dec 29 02:13:09 (0) (16080) connect_local_socket: connecting to /var/paraslash/afs_command_socket-0.4 +Dec 29 02:13:09 (0) (16077) vss_send: sending 0:1 (168 bytes) +Dec 29 02:13:09 (0) (16077) vss_send: sending 0:1 (168 bytes) +Dec 29 02:13:09 (0) (16077) vss_send: sending 0:2 (168 bytes) +Dec 29 02:13:09 (0) (16077) vss_send: sending 0:2 (168 bytes) +Dec 29 02:13:09 (0) (16077) vss_send: sending 0:3 (168 bytes) diff --git a/wma_afh.c b/wma_afh.c index 207b0ba8..7ac1ba64 100644 --- a/wma_afh.c +++ b/wma_afh.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009-2013 Andre Noll + * Copyright (C) 2009-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/wma_common.c b/wma_common.c index b101d0a6..97cdba0a 100644 --- a/wma_common.c +++ b/wma_common.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009-2013 Andre Noll + * Copyright (C) 2009-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/wmadec_filter.c b/wmadec_filter.c index 8b751f04..0071337f 100644 --- a/wmadec_filter.c +++ b/wmadec_filter.c @@ -149,6 +149,8 @@ struct private_wmadec_data { #define VLCBITS 9 #define VLCMAX DIV_ROUND_UP(22, VLCBITS) +/** \cond sine_winows */ + #define SINE_WINDOW(x) static float sine_ ## x[x] __a_aligned(16) SINE_WINDOW(128); @@ -161,6 +163,7 @@ SINE_WINDOW(4096); static float *sine_windows[6] = { sine_128, sine_256, sine_512, sine_1024, sine_2048, sine_4096 }; +/** \endcond sine_windows */ /* Generate a sine window. */ static void sine_window_init(float *window, int n) diff --git a/write.c b/write.c index 6799db41..4ed5f72e 100644 --- a/write.c +++ b/write.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/write.h b/write.h index 82921608..0cfcafda 100644 --- a/write.h +++ b/write.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ diff --git a/write_common.c b/write_common.c index 33ef8be6..e191c49a 100644 --- a/write_common.c +++ b/write_common.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -16,6 +16,7 @@ #include "buffer_tree.h" #include "write.h" #include "error.h" +#include "write_common.h" /** the array containing the names of all supported writers */ const char *writer_names[] ={WRITER_NAMES}; diff --git a/write_common.h b/write_common.h index ecad2d18..e0351602 100644 --- a/write_common.h +++ b/write_common.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2013 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */