Richard Kettlewell [Sun, 24 Feb 2008 19:20:08 +0000 (19:20 +0000)]
Escape dashes that really do need to be minus signs. As previously
this follows advice from Colin.
Richard Kettlewell [Sun, 24 Feb 2008 18:59:03 +0000 (18:59 +0000)]
Put a newline after end-of-sentence "." in man pages. I'm advised
that groff handles this specially.
Richard Kettlewell [Tue, 22 Jan 2008 20:36:30 +0000 (20:36 +0000)]
Start on 'settings' window. Currently disabled as it's not very
useful yet.
Richard Kettlewell [Sun, 20 Jan 2008 15:54:47 +0000 (15:54 +0000)]
A bit more doxygenization.
Richard Kettlewell [Sun, 20 Jan 2008 12:43:32 +0000 (12:43 +0000)]
Add a 'deselect all tracks' option to Disobedience, using the same
shift+ctrl+a accelerator the Gimp uses for this operation.
Richard Kettlewell [Sun, 20 Jan 2008 12:28:21 +0000 (12:28 +0000)]
typo fix
Richard Kettlewell [Sun, 20 Jan 2008 12:25:45 +0000 (12:25 +0000)]
update CHANGES
Richard Kettlewell [Sun, 20 Jan 2008 12:22:31 +0000 (12:22 +0000)]
Disobedience: remove the association between specific row numbers and
dropzones; now dropzones are just kept in a list of sufficient size.
The association was never necessary anyway as the dropzones carried
sufficient information to be used without it, and it was
misimplemented leading to a crash if you attempted drag and drop while
no track was playing.
Richard Kettlewell [Sun, 20 Jan 2008 12:01:22 +0000 (12:01 +0000)]
Unset environment when testing Disobedience --help/--version, to
enforce the rule that it these options work even if no X display is
available.
Richard Kettlewell [Sat, 19 Jan 2008 15:14:30 +0000 (15:14 +0000)]
Intermediate debian version number for internal consumption.
Richard Kettlewell [Sat, 19 Jan 2008 12:37:10 +0000 (12:37 +0000)]
Complete README changes for scripts/setup. README.{mac,freebsd} are
now gone.
Richard Kettlewell [Sat, 19 Jan 2008 12:28:31 +0000 (12:28 +0000)]
scripts/setup now waits until the server has started up before
attempting to setup-guest.
Richard Kettlewell [Sat, 19 Jan 2008 12:17:31 +0000 (12:17 +0000)]
Full Linux support for scripts/setup and scripts/teardown. This is
only tested on Debian but has a bit of knowledge of Centos too, so
might well work there (or on its commercial variant).
Richard Kettlewell [Sat, 19 Jan 2008 12:08:12 +0000 (12:08 +0000)]
Report an error if we cannot open the user database.
The likely case here is that the server has not been
started yet and we are still trying to run the client
for some reason.
Richard Kettlewell [Thu, 17 Jan 2008 18:29:01 +0000 (18:29 +0000)]
Remove procname= from disorder.rc; it turns out to do more harm than good.
Richard Kettlewell [Thu, 17 Jan 2008 18:26:13 +0000 (18:26 +0000)]
typo fix
Richard Kettlewell [Thu, 17 Jan 2008 17:31:34 +0000 (17:31 +0000)]
Only report failure to find OSS devices once, not every time we think
about them.
Richard Kettlewell [Wed, 16 Jan 2008 22:45:30 +0000 (22:45 +0000)]
Fixes to eclient following Ross's attempts to use it:
- _log() should call _polled() like simple() does, to kick things
off if it's the first call
- log callbacks now treat nulls sanely
Richard Kettlewell [Wed, 16 Jan 2008 20:54:27 +0000 (20:54 +0000)]
Finish off Mac support in scripts/setup.
Update README for supported platforms. I'm not happy with this quite
yet.
Richard Kettlewell [Tue, 15 Jan 2008 20:21:52 +0000 (20:21 +0000)]
Move the plist file to examples/ along with the other startup files.
Teach scripts/teardown about Mac.
Richard Kettlewell [Tue, 15 Jan 2008 19:17:48 +0000 (19:17 +0000)]
New examples/disorder.rc is an /etc/rc.d script for FreeBSD. Finish
FreeBSD parts of scripts/setup.
There is also scripts/teardown to undo scripts/setup, but that is
intended for debugging scripts/setup, not for production use, so we
don't advertize it anywhere.
Richard Kettlewell [Mon, 14 Jan 2008 23:49:08 +0000 (23:49 +0000)]
Partial untested FreeBSD and Linux support for scripts/setup.
Mac CGI setup uses a symlink to .../static rather than a directive.
Richard Kettlewell [Mon, 14 Jan 2008 23:11:12 +0000 (23:11 +0000)]
The server should now come to life straight away and start picking
random tracks within a reasonable time period once there are some
tracks to pick.
To cope with this, tests/queue.py now waits for something to appear in
the queue at all before checking its length. This includes a fix to
the Python implementation of disorder().log().
Richard Kettlewell [Mon, 14 Jan 2008 20:39:22 +0000 (20:39 +0000)]
Add missing bits to scripts/setup, and teach it to install the CGI on
a Mac too.
Richard Kettlewell [Mon, 14 Jan 2008 20:24:31 +0000 (20:24 +0000)]
New scripts/setup which interactively sets up a DisOrder configuration
and (on the Mac) starts the server. Should be considered experimental
for now!
Richard Kettlewell [Sun, 13 Jan 2008 21:24:19 +0000 (21:24 +0000)]
Go through CSS and rationalize it. Some cosmetic improvements too.
Richard Kettlewell [Sun, 13 Jan 2008 14:17:50 +0000 (14:17 +0000)]
prepare no longer runs configure (and therefore does not impose its
idea of sysconfdir and localestatedir).
Richard Kettlewell [Sun, 13 Jan 2008 11:21:35 +0000 (11:21 +0000)]
Display new logo in 'About' page in web UI. Disobedience already has its
own graphic, which it keeps.
Richard Kettlewell [Sat, 12 Jan 2008 13:23:02 +0000 (13:23 +0000)]
Mention that FreeBSD requires gmake
Richard Kettlewell [Sat, 12 Jan 2008 13:22:31 +0000 (13:22 +0000)]
Build fix
rjk@greenend.org.uk [Sat, 12 Jan 2008 12:40:17 +0000 (12:40 +0000)]
Accept unquoted cookie paths, even though they are formally illegal.
This makes Netsurf work, and also means that we're not being stricter
in what we accept than what we send!
rjk@greenend.org.uk [Sat, 12 Jan 2008 12:38:55 +0000 (12:38 +0000)]
Remove nonces from URLs, since we now use HTTP Cache-Control headers
to keep our clients honest.
rjk@greenend.org.uk [Sat, 12 Jan 2008 11:23:05 +0000 (11:23 +0000)]
Limit how long tests/play.py will wait
rjk@greenend.org.uk [Fri, 11 Jan 2008 17:44:55 +0000 (17:44 +0000)]
Fix mis-decoding of MP3s. The bug was due to a misunderstanding of
libmad's (AFAICT undocumented) API.
rjk@greenend.org.uk [Fri, 11 Jan 2008 12:08:55 +0000 (12:08 +0000)]
Use REQUEST_URI if available, for more consistent self-referring URLs.
Handle SCRIPT_NAME="", per the RFC.
rjk@greenend.org.uk [Fri, 11 Jan 2008 12:00:55 +0000 (12:00 +0000)]
Reject unwanted PATH_INFO per the RFC.
rjk@greenend.org.uk [Fri, 11 Jan 2008 11:51:04 +0000 (11:51 +0000)]
Always choose the cookie with the longest path.
Richard Kettlewell [Fri, 11 Jan 2008 11:16:54 +0000 (11:16 +0000)]
More tests for mime.c
Richard Kettlewell [Thu, 10 Jan 2008 21:11:02 +0000 (21:11 +0000)]
Web UI nonces are now base64-encoded, and have a shorter key.
Richard Kettlewell [Thu, 10 Jan 2008 20:40:31 +0000 (20:40 +0000)]
MIME parsing test.
Richard Kettlewell [Thu, 10 Jan 2008 20:14:23 +0000 (20:14 +0000)]
Split up increasingly unwieldy lib/test.c into multiple files.
Richard Kettlewell [Thu, 10 Jan 2008 18:13:10 +0000 (18:13 +0000)]
tests for regsub()
Richard Kettlewell [Thu, 10 Jan 2008 14:53:21 +0000 (14:53 +0000)]
extra address and url parser testing
Richard Kettlewell [Thu, 10 Jan 2008 14:39:37 +0000 (14:39 +0000)]
More careful testing of scratching, and correctly handle the case
where a track is scratched before the speaker process has got to grips
with it.
Richard Kettlewell [Thu, 10 Jan 2008 14:39:06 +0000 (14:39 +0000)]
remove unused ifreq_list()
Richard Kettlewell [Thu, 10 Jan 2008 13:53:29 +0000 (13:53 +0000)]
Make tests/play.py more reliable.
Richard Kettlewell [Thu, 10 Jan 2008 13:50:30 +0000 (13:50 +0000)]
Fix rights checking when updating a logged-in user's rights.
Richard Kettlewell [Thu, 10 Jan 2008 10:49:59 +0000 (10:49 +0000)]
We no longer ship detailed changelogs in the source tarball. People
who want them are better off looking at bzr, arch or cvs history.
This also removes potential build-time dependencies on bzr.
Richard Kettlewell [Wed, 9 Jan 2008 16:17:01 +0000 (16:17 +0000)]
Avoid namespace clash detected by picky compilers
Richard Kettlewell [Wed, 9 Jan 2008 15:40:59 +0000 (15:40 +0000)]
remove bzr dependency
Richard Kettlewell [Sun, 6 Jan 2008 21:27:38 +0000 (21:27 +0000)]
When shutting down, kill -rescan and wait for it to finish. If -rescan outlives
-deadlock then it can deadlock with a later processes that access the database.
rjk@greenend.org.uk [Sun, 6 Jan 2008 18:27:54 +0000 (18:27 +0000)]
New README.developers and README.freebsd. README.client improved.
Don't put non-Linux READMEs in the Debian package!
rjk@greenend.org.uk [Sun, 6 Jan 2008 14:09:51 +0000 (14:09 +0000)]
Bring change/update docs up to date a bit
rjk@greenend.org.uk [Sun, 6 Jan 2008 12:39:13 +0000 (12:39 +0000)]
Fix mime_content_type() to not be so lazy; now it copes with arbitrary
parameters rather than just one that has to be the right one. This
gets the web interface working on Opera (for Mac).
rjk@greenend.org.uk [Sun, 6 Jan 2008 12:14:09 +0000 (12:14 +0000)]
The Login page now includes a form to request a password reminder
email. This implies a new server command 'reminder' to do the
sending, which in turn takes advantage of a new sendmail_subprocess()
to send the mail without wedging the server.
There is also a new configuration command reminder_interval, used to
limit the rate at which reminders can be sent to any one user.
Richard Kettlewell [Sat, 5 Jan 2008 19:15:32 +0000 (19:15 +0000)]
Explicitly specify border-collapse for tables where we care about the
cell spacing. IE7 has different defaults to the UNIX browsers.
Richard Kettlewell [Sat, 5 Jan 2008 19:05:59 +0000 (19:05 +0000)]
Explicit color specification for inactive menus. Another IE fix.
Richard Kettlewell [Sat, 5 Jan 2008 18:40:16 +0000 (18:40 +0000)]
Never use the value attribute of <button> to encode anything we care
about, in particular 'action' arguments to the CGI. This works around
a bug in Internet Explorer.
At the time of writing, the commentary at
http://msdn2.microsoft.com/en-gb/library/ms535211(VS.85).aspx mentions
the problem. (Alternatively, MSDN Library -> Web Development -> HTML
and CSS -> HTML and DHTML Reference -> Objects -> button.)
Richard Kettlewell [Sat, 5 Jan 2008 18:39:56 +0000 (18:39 +0000)]
Reject libdb <=4.2
rjk@greenend.org.uk [Sat, 5 Jan 2008 16:50:16 +0000 (16:50 +0000)]
Correct path to CGI in README.
rjk@greenend.org.uk [Sat, 5 Jan 2008 15:14:26 +0000 (15:14 +0000)]
Fix dlerror() abuse.
All tests now pass on my FreeBSD 6.2 VM.
rjk@greenend.org.uk [Sat, 5 Jan 2008 14:07:40 +0000 (14:07 +0000)]
Use -isystem for extra system includes on FreeBSD.
rjk@greenend.org.uk [Sat, 5 Jan 2008 12:48:17 +0000 (12:48 +0000)]
Don't list server stats in about.html; they take a while and don't that much.
rjk@greenend.org.uk [Sat, 5 Jan 2008 12:46:35 +0000 (12:46 +0000)]
Further web interface visuals: choose directories now have an icon,
giving better balance against the prefs links for the files.
rjk@greenend.org.uk [Sat, 5 Jan 2008 12:30:51 +0000 (12:30 +0000)]
Macdink the web interface.
rjk@greenend.org.uk [Fri, 4 Jan 2008 23:14:56 +0000 (23:14 +0000)]
Build fixes for FreeBSD:
- disorder-playrtp needs an explicit -lpthread.
- libdb is installed off even the non-default path
- find GNU sed as the native sed is not adequate
- adding some missing includes
The result builds but I've not run all the test yet.
Richard Kettlewell [Fri, 4 Jan 2008 21:35:53 +0000 (21:35 +0000)]
Recognize FreeBSD and adjust LDFLAGS/CPPFLAGS to cope with
compiler/ports mismatch brain damage,
Move PCRE UTF-8 test after check for pcre.h, to avoid false positives
if pcre.h isn't found.
rjk@greenend.org.uk [Fri, 4 Jan 2008 21:35:02 +0000 (21:35 +0000)]
Hover text for chooselpha links.
rjk@greenend.org.uk [Fri, 4 Jan 2008 21:02:21 +0000 (21:02 +0000)]
cgi css: tighten up spacing in status boxes etc
rjk@greenend.org.uk [Tue, 1 Jan 2008 20:35:57 +0000 (20:35 +0000)]
Don't use quoted cookies because Safari is buggy. This means changing
the separator character and base64 encoding map used to be suitable
for appearance in an unquoted HTTP token.
I suppose I should test with MSIE sometime...
rjk@greenend.org.uk [Tue, 1 Jan 2008 18:55:51 +0000 (18:55 +0000)]
Various visual improvements to web interface
rjk@greenend.org.uk [Tue, 1 Jan 2008 16:24:16 +0000 (16:24 +0000)]
Disobedience now supports (to some extent) 2.0 servers. Whether this
is useful is unclear but it turned out to be easy to do.
Richard Kettlewell [Tue, 1 Jan 2008 15:00:32 +0000 (15:00 +0000)]
disorder-server.deb requires mktemp in its postinst
Richard Kettlewell [Tue, 1 Jan 2008 14:35:25 +0000 (14:35 +0000)]
More detailed errors from mixer-alsa
Richard Kettlewell [Tue, 1 Jan 2008 14:30:05 +0000 (14:30 +0000)]
typo
Richard Kettlewell [Tue, 1 Jan 2008 14:21:10 +0000 (14:21 +0000)]
disorder authorize now creates ~USER/.disorder/passwd instead of
/etc/disorder/config.USER. This is a bit fiddlier than the old code
but reduces the number of places the user must look for their
password.
Generated passwords are base64 rather than hex, and are slightly
longer (in terms of the underlying bytes). They aren't human
memorable but in practice they are expected to be kept in
~/.disorder/passwd or a browser's password store.
The configuration parser now always uses pw_home rather than $HOME to
find ~/.disorder.
Mention Ubuntu in README as the debs work there too.
Richard Kettlewell [Tue, 1 Jan 2008 13:50:01 +0000 (13:50 +0000)]
Update some copyright dates.
Richard Kettlewell [Tue, 1 Jan 2008 13:47:50 +0000 (13:47 +0000)]
New 'new_max' configuration bounds the number of tracks that 'new'
will return. Previously a new installation with many tracks would
attempt to return thousands of tracks, busting event.c's buffer limit.
Made event.c buffer connection abandonment reporting less chatty.
Richard Kettlewell [Tue, 1 Jan 2008 13:27:10 +0000 (13:27 +0000)]
Sort out static content. There is a new expansion @image:NAME@ which
produces the URL for the static content called NAME (or NAME.png if
you don't supply an extexnsion). The labels images.NAME can be used
to indirect role names.
url.static still has its old meaning but does not appear in
options.labels as it has a sensible default.
This is then used throughout to find images and the stylesheet.
The main options file is now the same for Debian and non-Debian. On
Debian a deafult empty options.user file is installed.
Updated a lot of copyright dates.
Richard Kettlewell [Mon, 31 Dec 2007 18:24:22 +0000 (18:24 +0000)]
Updates to Debian scripts:
- debconf for smtp_server and mail_sender
- cgi is now .../cgi-bin/disorder rather than .../cgi-bin/disorder/disorder
- auto setup guest login if possible
- auto remove obsolete trust/allow after first server start
(specifically, they are commented out so the user can put them
back if things went awry.)
Things are still rather broken but they're getting there...
Richard Kettlewell [Mon, 31 Dec 2007 17:39:24 +0000 (17:39 +0000)]
update README.upgrades
Richard Kettlewell [Mon, 31 Dec 2007 17:25:21 +0000 (17:25 +0000)]
player/tracklength directives for native formats are now built in
Richard Kettlewell [Mon, 31 Dec 2007 17:15:23 +0000 (17:15 +0000)]
update default config for present environment
Richard Kettlewell [Mon, 31 Dec 2007 16:13:44 +0000 (16:13 +0000)]
disorder-rescan can now suppress the check phase, which on first
startup with lots of tracks is rather time consuming.
Additionally, it avoids doing most of the work inside a transaction,
by the rather brute expedient of pulling the entire track list into
memory and then iterating over that.
The server takes advantage of this by making the initial blocking
rescan not do the check phase, so it's reasonably quick, and then
issuing a second non-blocking rescan immediately.
It might be better all round to calculate track lengths on demand but
this arrangement should be better than previously.
Richard Kettlewell [Mon, 31 Dec 2007 16:13:08 +0000 (16:13 +0000)]
init script now uses start-stop-daemon if available (i.e. on Debian
and Ubuntu systems).
Richard Kettlewell [Mon, 31 Dec 2007 14:54:12 +0000 (14:54 +0000)]
remove obsolete debian web config stuff
Richard Kettlewell [Mon, 31 Dec 2007 14:53:56 +0000 (14:53 +0000)]
remove obsolete stuff about authentication
rjk@greenend.org.uk [Mon, 31 Dec 2007 13:48:53 +0000 (13:48 +0000)]
deluser and edituser now adjust live connections
rjk@greenend.org.uk [Mon, 31 Dec 2007 13:46:41 +0000 (13:46 +0000)]
correct base64 changes
rjk@greenend.org.uk [Mon, 31 Dec 2007 12:28:46 +0000 (12:28 +0000)]
improve READMEs a bit
rjk@greenend.org.uk [Mon, 31 Dec 2007 12:14:56 +0000 (12:14 +0000)]
typo
rjk@greenend.org.uk [Mon, 31 Dec 2007 11:46:17 +0000 (11:46 +0000)]
Confirmation strings are now invariant under URL-encoding. They are still
base64-encoded but using a slightly different set of symbols to MIME.
rjk@greenend.org.uk [Mon, 31 Dec 2007 11:45:28 +0000 (11:45 +0000)]
make login status messages stand out more
rjk@greenend.org.uk [Mon, 31 Dec 2007 11:08:05 +0000 (11:08 +0000)]
fix more broken images
rjk@greenend.org.uk [Mon, 31 Dec 2007 11:02:29 +0000 (11:02 +0000)]
Registration now insists you type your password twice the same.
Editing user details (email/password) from the web now works. Again
you must type your password twice.
Registration and editing forms in login.html now have extra
documentation in a third column, controlled as ever via labels.
New @userinfo@ expansion allows user properties to be queried.
Added some missing error.* labels.
rjk@greenend.org.uk [Mon, 31 Dec 2007 10:26:52 +0000 (10:26 +0000)]
'confirm' now logs the user in (and sends back their username so the
CGI knows who it is today). The CGI then gets a new cookie so that
the user continues being logged in.
This is a bit of a change from the original design but does save the
user a bit of time.
Also improved some of the associated web page text.
rjk@greenend.org.uk [Mon, 31 Dec 2007 10:13:26 +0000 (10:13 +0000)]
Only display register form if it'll work
rjk@greenend.org.uk [Mon, 31 Dec 2007 10:11:02 +0000 (10:11 +0000)]
Styling for error and login pages.
Error messages are now displayed in red. Success messages are
displayed in green.
The login/register/edit user forms are now boxed.
rjk@greenend.org.uk [Mon, 31 Dec 2007 10:01:47 +0000 (10:01 +0000)]
cgi: actually use the connection from the new login after logging in!
rjk@greenend.org.uk [Mon, 31 Dec 2007 09:54:21 +0000 (09:54 +0000)]
Tidy up login reporting.
The various login-page actions now set the label 'status' to their
result and this is used to pick the right label for the response text.
The interpretation of 'back' is fixed too.