chiark / gitweb /
Richard Kettlewell [Tue, 20 May 2008 22:32:32 +0000 (23:32 +0100)]
testing for infer_url()
Richard Kettlewell [Tue, 20 May 2008 21:16:32 +0000 (22:16 +0100)]
Further test coverage
Richard Kettlewell [Tue, 20 May 2008 19:51:12 +0000 (20:51 +0100)]
Add a test program for charset.c.
Fix truncate_for_display() to get the right length.
Richard Kettlewell [Tue, 20 May 2008 19:51:00 +0000 (20:51 +0100)]
Extend hash.c test coverage
Richard Kettlewell [Mon, 19 May 2008 19:51:40 +0000 (20:51 +0100)]
disorder-choose now uses an arcfour keystream as its RNG instead of
hitting up /dev/urandom for every single byte. It is still seeded
from the kernel's RNG.
arcfour.[ch] come from gnulib.
Richard Kettlewell [Sun, 18 May 2008 22:44:36 +0000 (23:44 +0100)]
Bias up recently added tracks. See new_bias and new_bias_age in
disorder_config(5) for details. Fixes defect #11.
Richard Kettlewell [Sun, 18 May 2008 22:03:24 +0000 (23:03 +0100)]
bring CHANGES up to date
Richard Kettlewell [Sun, 18 May 2008 21:29:17 +0000 (22:29 +0100)]
Merge disorder.macros branch.
This is a major rewrite of the web interface. The template language
has been changed and is hopefuly easier to use. Much of the
implementation has moved to lib/, along with some of the CGI support.
The CGI can now figure out its own URL, including HTTPS URLs.
The web interface documentation is no longer mixed into
disorder_config(5). The top level is disorder.cgi(8) but there are
several related pages, much of the content generated from source code
comments.
The server now unsets track preferences if you try to set them to
their default value. This resolves a long-standing TODO. The server
is otherwise largely unchanged.
This changes fixes defects 2, 12 and 18 (the first and last of these
being the payoff for casual users).
Richard Kettlewell [Sun, 18 May 2008 21:08:13 +0000 (22:08 +0100)]
Add New back to web interface (oops)
Richard Kettlewell [Sun, 18 May 2008 21:05:36 +0000 (22:05 +0100)]
Make "short" context in @part actually work
Richard Kettlewell [Sun, 18 May 2008 20:55:36 +0000 (21:55 +0100)]
Empty back= should be treated as if absent
Richard Kettlewell [Sun, 18 May 2008 20:51:07 +0000 (21:51 +0100)]
Fix debian/rules for new man pages
Richard Kettlewell [Sun, 18 May 2008 20:35:46 +0000 (21:35 +0100)]
Bodge version number for test installs
Richard Kettlewell [Sun, 18 May 2008 18:46:53 +0000 (19:46 +0100)]
Read user.tmpl after macros.tmpl
Richard Kettlewell [Sun, 18 May 2008 18:39:41 +0000 (19:39 +0100)]
Documentation tweaks
Richard Kettlewell [Sun, 18 May 2008 18:23:09 +0000 (19:23 +0100)]
Bring CGI docs pretty much up to date
Richard Kettlewell [Sun, 18 May 2008 17:27:40 +0000 (18:27 +0100)]
Restore breadcrumb trail to choose.tmpl
Richard Kettlewell [Sun, 18 May 2008 16:51:36 +0000 (17:51 +0100)]
Add a new 'wait' flag to the rescan command. This allows the caller
to request that the rescan command blocks until the rescan is
complete.
The reason is that if you run the tests on a Linux tmpfs they would
with high probability hang, due to the rescan completing before the
rescan_monitor had started up.
The flags is available in the Python interface but not the C interface
or the command-line client. This could easily be fixed if there is
demand.
There's also a 'fresh' flag, to demand that the rescan start after the
receipt of the command (i.e. to guarantee your new tracks make it in)
but I disabled that due to the inconvenience of testing it. However
the code is still there if anyone feels like writing tests.
Richard Kettlewell [Sun, 18 May 2008 16:07:23 +0000 (17:07 +0100)]
Build fixes
Richard Kettlewell [Sun, 18 May 2008 15:39:42 +0000 (16:39 +0100)]
Return from login page to what you were trying to do
Richard Kettlewell [Sun, 18 May 2008 15:18:49 +0000 (16:18 +0100)]
Translate preferences page to the new order.
Also, this change fixes much of defect 18 ("cookie expiry causes user
to be silently logged out and not subsequently redirected to login
page"). This is implemented by giving the actions table a list of
rights suitable for the action at hand and redirecting to the login
page on failure. Even better would be to redirect back to the
problematic page on success.
Unusually for this branch there is a server change here, implementing
the long-standing TODO that the server should remove preferences if
you set them to their default value. This removes this logic from the
web interface.
It remains the case that the web interface has to work out some of the
defaults. However, that's left for another day.
Richard Kettlewell [Sun, 18 May 2008 12:18:17 +0000 (13:18 +0100)]
Synchronize with disorder.dev
Richard Kettlewell [Sun, 18 May 2008 12:12:49 +0000 (13:12 +0100)]
Resolve aliases in c_get, c_set, c_prefs and c_part. The intended
behaviour is that preferences always belong to the canonical version
of the track and never to an alias.
Added a new aliases.py test to verify this and related alias
behaviour.
Fixes defect 20.
Richard Kettlewell [Sun, 18 May 2008 11:34:37 +0000 (12:34 +0100)]
Fix disorder.py string parsing to not reject ""
Richard Kettlewell [Sat, 17 May 2008 20:46:43 +0000 (21:46 +0100)]
document new choose screen properly
Richard Kettlewell [Sat, 17 May 2008 20:33:55 +0000 (21:33 +0100)]
Fix up choose page
Richard Kettlewell [Sat, 17 May 2008 20:13:25 +0000 (21:13 +0100)]
Fix login/logout/etc and misc other bits and pieces
Richard Kettlewell [Sat, 17 May 2008 17:24:02 +0000 (18:24 +0100)]
Fill in some missing actions
Richard Kettlewell [Sat, 17 May 2008 16:32:55 +0000 (17:32 +0100)]
various cleanups and docs improvements
Richard Kettlewell [Sat, 17 May 2008 16:20:29 +0000 (17:20 +0100)]
Split template docs out to disorder_templates(5)
Richard Kettlewell [Sat, 17 May 2008 15:41:05 +0000 (16:41 +0100)]
First iteration of login page translation
Richard Kettlewell [Sat, 17 May 2008 15:22:21 +0000 (16:22 +0100)]
fix about ... page
Richard Kettlewell [Sat, 17 May 2008 15:19:59 +0000 (16:19 +0100)]
Fix pause button
Richard Kettlewell [Sat, 17 May 2008 15:15:59 +0000 (16:15 +0100)]
Get in-UI man pages working again
Richard Kettlewell [Sat, 17 May 2008 15:05:35 +0000 (16:05 +0100)]
typo fix help.tmpl
Richard Kettlewell [Sat, 17 May 2008 13:06:32 +0000 (14:06 +0100)]
Further hacking. Some actual success at runtime now.
Richard Kettlewell [Sat, 17 May 2008 12:12:19 +0000 (13:12 +0100)]
Quieten compiler
Richard Kettlewell [Sat, 17 May 2008 12:10:12 +0000 (13:10 +0100)]
more template fiddling
Richard Kettlewell [Sat, 17 May 2008 12:07:18 +0000 (13:07 +0100)]
more template fiddling
Richard Kettlewell [Sat, 17 May 2008 11:50:42 +0000 (12:50 +0100)]
exp_search, fold search into choose, not really finished
Richard Kettlewell [Fri, 16 May 2008 18:32:24 +0000 (19:32 +0100)]
new @argq expansion; more template fiddling
Richard Kettlewell [Mon, 12 May 2008 20:50:29 +0000 (21:50 +0100)]
tracks + dirs expansions
Richard Kettlewell [Sun, 11 May 2008 17:28:07 +0000 (18:28 +0100)]
more templates plus support code changes
Richard Kettlewell [Sun, 11 May 2008 14:50:13 +0000 (15:50 +0100)]
@image expansion
Richard Kettlewell [Sun, 11 May 2008 14:37:57 +0000 (15:37 +0100)]
more template work
Richard Kettlewell [Sun, 11 May 2008 14:04:08 +0000 (15:04 +0100)]
extended @movable expansion; more template...
Richard Kettlewell [Sun, 11 May 2008 13:53:29 +0000 (14:53 +0100)]
@q expansion
Richard Kettlewell [Sun, 11 May 2008 12:55:21 +0000 (13:55 +0100)]
remove action; better findtrack; more template fiddling
Richard Kettlewell [Sun, 11 May 2008 11:38:59 +0000 (12:38 +0100)]
dirname/basename expansions; template fiddling
Richard Kettlewell [Sat, 10 May 2008 19:48:15 +0000 (20:48 +0100)]
infer_url() now attempts to spot https
Richard Kettlewell [Sat, 10 May 2008 17:36:43 +0000 (18:36 +0100)]
split out dcgi_get_cookie
Richard Kettlewell [Sat, 10 May 2008 17:30:44 +0000 (18:30 +0100)]
reorg cgi code a bit...
Richard Kettlewell [Sat, 10 May 2008 17:30:37 +0000 (18:30 +0100)]
linux build fix
Richard Kettlewell [Sat, 10 May 2008 13:50:28 +0000 (14:50 +0100)]
Almost compiles, will not work though
Richard Kettlewell [Sat, 10 May 2008 12:22:27 +0000 (13:22 +0100)]
Fiddle with playing.tmpl a bit. not fully translated
Richard Kettlewell [Sat, 10 May 2008 10:31:16 +0000 (11:31 +0100)]
redirect()
Richard Kettlewell [Sat, 10 May 2008 10:17:21 +0000 (11:17 +0100)]
act_playing
Richard Kettlewell [Sat, 10 May 2008 08:30:04 +0000 (09:30 +0100)]
Start conversion of CGI actions.
Richard Kettlewell [Wed, 7 May 2008 20:04:23 +0000 (21:04 +0100)]
Expansion syntax rewrite. Not documented yet, but then nor was the
previous rewrite.
Richard Kettlewell [Wed, 7 May 2008 20:04:05 +0000 (21:04 +0100)]
Remove some obsolete code
Richard Kettlewell [Mon, 5 May 2008 19:26:38 +0000 (20:26 +0100)]
Half way through rewriting web interface. Don't even think about
trying to compile this.
Richard Kettlewell [Mon, 5 May 2008 10:24:21 +0000 (11:24 +0100)]
Script to generate -man documentation for expansions from comments in
source code.
Richard Kettlewell [Mon, 5 May 2008 09:48:15 +0000 (10:48 +0100)]
Test a couple of bogus inputs to mime_multipart().
Richard Kettlewell [Mon, 5 May 2008 09:44:06 +0000 (10:44 +0100)]
cgi.c multipart/form-data testing.
Richard Kettlewell [Sun, 4 May 2008 20:22:11 +0000 (21:22 +0100)]
Shift many cgi_ functions into lib/, and add a test for them. The
multipart/form-data code is not yet exercised, and the CGI program
does not use the new code.
Richard Kettlewell [Sun, 4 May 2008 15:57:30 +0000 (16:57 +0100)]
Further macro tests
Richard Kettlewell [Sun, 4 May 2008 11:38:17 +0000 (12:38 +0100)]
Further macro expansion tests + fixes.
Richard Kettlewell [Sun, 4 May 2008 11:19:04 +0000 (12:19 +0100)]
Fixes and first test for macro expansion.
Richard Kettlewell [Sun, 4 May 2008 10:58:21 +0000 (11:58 +0100)]
Macro expansion (untested). Tests for most builtin expansions.
Richard Kettlewell [Sat, 3 May 2008 23:21:25 +0000 (00:21 +0100)]
Main template expander and some built-in expansions. All untested.
Richard Kettlewell [Sat, 3 May 2008 20:01:31 +0000 (21:01 +0100)]
Yet further macros.c testing
Richard Kettlewell [Sat, 3 May 2008 19:59:58 +0000 (20:59 +0100)]
Further macros.c testing
Richard Kettlewell [Sat, 3 May 2008 19:57:19 +0000 (20:57 +0100)]
more macros.c testing
Richard Kettlewell [Sat, 3 May 2008 19:51:01 +0000 (20:51 +0100)]
Add mx_dump() to dump a (canonicalized) parsed macro expansion.
Richard Kettlewell [Sat, 3 May 2008 19:42:13 +0000 (20:42 +0100)]
Copy macro parse into lib/ and make a start on tests for it.
Richard Kettlewell [Sat, 3 May 2008 19:15:50 +0000 (20:15 +0100)]
Synchronize with disorder.dev
Richard Kettlewell [Sat, 3 May 2008 12:56:39 +0000 (13:56 +0100)]
Test fix for Linux
Richard Kettlewell [Sat, 3 May 2008 12:47:22 +0000 (13:47 +0100)]
Remove now-redundant check target.
Richard Kettlewell [Sat, 3 May 2008 12:43:17 +0000 (13:43 +0100)]
lib/ tests now use Automake's test infrastructure, and are split into
multiple executables.
Richard Kettlewell [Sat, 3 May 2008 12:21:41 +0000 (13:21 +0100)]
Use Automake's simple test infrastructure for running Python-based
tests.
Richard Kettlewell [Tue, 29 Apr 2008 20:25:38 +0000 (21:25 +0100)]
Merge latest GCC 2.95 fix
Richard Kettlewell [Tue, 29 Apr 2008 17:55:43 +0000 (18:55 +0100)]
Workaround for broken GCC 2.95 installs
Richard Kettlewell [Tue, 29 Apr 2008 17:43:42 +0000 (18:43 +0100)]
1) If we reject a remote user management operation, we log it.
2) Remote fetching of 'rights' is always allowed, since clients depend
on being able to discover what they can do and this isn't a serious
information leak.
Richard Kettlewell [Sun, 27 Apr 2008 21:41:39 +0000 (22:41 +0100)]
Further rearrangement to support macro expansion.
Richard Kettlewell [Sun, 27 Apr 2008 21:26:15 +0000 (22:26 +0100)]
Further separation of template parsing and expansion
Richard Kettlewell [Sun, 27 Apr 2008 21:12:07 +0000 (22:12 +0100)]
Separate parsing of templates from expansion.
Richard Kettlewell [Sun, 27 Apr 2008 20:35:19 +0000 (21:35 +0100)]
First cut at macro definition. Does not expand args yet.
Richard Kettlewell [Sun, 27 Apr 2008 19:43:35 +0000 (20:43 +0100)]
Allow trailing '@' to be left out of CGI expansions in specific
circumstances. This is such a common typo it seems better to accept
the result of user testing than cling to the original syntax.
Richard Kettlewell [Sun, 27 Apr 2008 19:07:42 +0000 (20:07 +0100)]
Ask for -std=gnu99 if necessary to get full <limits.h>.
Richard Kettlewell [Sun, 27 Apr 2008 12:35:24 +0000 (13:35 +0100)]
Note about use of GCC extensions.
Richard Kettlewell [Sun, 27 Apr 2008 12:22:23 +0000 (13:22 +0100)]
Simple test for compare_path_raw(). It's moved into a separate source
file since the test program doens't have the config pointer.
Richard Kettlewell [Sun, 27 Apr 2008 12:15:03 +0000 (13:15 +0100)]
exercise make_home()
Richard Kettlewell [Sun, 27 Apr 2008 10:22:03 +0000 (11:22 +0100)]
More testing.
Richard Kettlewell [Sun, 27 Apr 2008 10:07:30 +0000 (11:07 +0100)]
De-dupe default backend selection
Richard Kettlewell [Sat, 26 Apr 2008 18:56:15 +0000 (19:56 +0100)]
Separate notion of configured audio backend from Disobedience/playrtp
audio backend. This allows Disobedience to show the volume widget iff
it'll work. If RTP is enabled then it uses the default audio backend
(which is what playrtp will pick); if not then it assumes the server
is capable of setting the volume.
Currently this will still go wrong on a Mac without RTP.
Richard Kettlewell [Sat, 26 Apr 2008 18:22:39 +0000 (19:22 +0100)]
Further lib/ testing.
Richard Kettlewell [Sat, 26 Apr 2008 14:58:41 +0000 (15:58 +0100)]
Various fixes for GCC 2.95
Richard Kettlewell [Sat, 26 Apr 2008 14:41:37 +0000 (15:41 +0100)]
struct addrinfo varies in order between platforms, forcing us to fall
back on C99 initializer syntax. I don't think this will be a huge
problem in practice: all the currently supported platforms use GCC as
their default compiler, and all vaguely recent versions of GCC support
this feature.
Richard Kettlewell [Sat, 26 Apr 2008 14:30:58 +0000 (15:30 +0100)]
Additional testing for addr.c and a consequent bug fix.
Richard Kettlewell [Sat, 26 Apr 2008 14:08:59 +0000 (15:08 +0100)]
exercise byte_fprintf