X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/agedu/blobdiff_plain/5a830bf80878bd1521a71017ce19882caa755d80..50e82fdc62d1e7c0747bdc8c17d7ef7b863e1460:/TODO diff --git a/TODO b/TODO index 0cd19f8..f34f507 100644 --- a/TODO +++ b/TODO @@ -1,13 +1,44 @@ TODO list for agedu =================== -Future possibilities: + - adjust the default web server address selection. + + some systems (e.g. OS X) don't like us binding to random + localhost addresses. So if that fails, try falling back to + 127.0.0.1 proper (and a randomly selected port) before giving + up. + + since binding to port 80 isn't generally feasible, we should + adjust the default behaviour when the user specifies --addr + with no port: it should select port zero, and then print the + port number on standard output. (Possibly also print the URL + as usual, in that situation: translate INADDR_ANY to + INADDR_LOOPBACK and then do the same as when we made the + entire address up ourself.) - - integrate more usefully with the output of configure. It's - generating oodles of automatic boilerplate in config.h and I'm - sure three quarters of it _ought_ to be usable to add - portability, if only I had the gumption to actually pay attention - to all those HAVE_FOO macros it's defined for me. + - we should munmap in all operating modes where we mmapped, + otherwise chaining them will run out of address space + + - we could still be using more of the information coming from + autoconf. Our config.h is defining a whole bunch of HAVE_FOOs for + particular functions (e.g. HAVE_INET_NTOA, HAVE_MEMCHR, + HAVE_FNMATCH). We could usefully supply alternatives for some of + these functions (e.g. cannibalise the PuTTY wildcard matcher for + use in the absence of fnmatch, switch to vanilla truncate() in + the absence of ftruncate); where we don't have alternative code, + it would perhaps be polite to throw an error at configure time + rather than allowing the subsequent build to fail. + + however, I don't see anything here that looks very + controversial; IIRC it's all in POSIX, for one thing. So more + likely this should simply wait until somebody complains. + + - it would be useful to support a choice of indexing strategies. + The current system's tradeoff of taking O(N log N) space in order + to be able to support any age cutoff you like is not going to be + ideal for everybody. A second more conventional mechanism which + allows the user to specify a number of fixed cutoffs and just + indexes each directory on those alone would undoubtedly be a + useful thing for large-scale users. This will require + considerable thought about how to make the indexers pluggable at + both index-generation time and query time. - IPv6 support in the HTTP server * of course, Linux magic auth can still work in this context; we