chiark / gitweb /
chopwood
11 years agoagpl.py: Document and prettify.
Mark Wooding [Thu, 28 Mar 2013 00:02:38 +0000 (00:02 +0000)]
agpl.py: Document and prettify.

No actual code changes.
agpl.py: Document and prettify.

No actual code changes.

11 years agowrapper.fhtml: Put `html' in lowercase in the DOCTYPE declaration.
Mark Wooding [Wed, 27 Mar 2013 21:27:02 +0000 (21:27 +0000)]
wrapper.fhtml: Put `html' in lowercase in the DOCTYPE declaration.

11 years agoagpl.py: Fix up symbolic links between directories being dumped.
Mark Wooding [Wed, 27 Mar 2013 21:26:39 +0000 (21:26 +0000)]
agpl.py: Fix up symbolic links between directories being dumped.

This should make deployment from generated tarballs easier.

11 years agoagpl.py: Exclude the root directory from listers.
Mark Wooding [Wed, 27 Mar 2013 21:25:50 +0000 (21:25 +0000)]
agpl.py: Exclude the root directory from listers.

Otherwise we'll get a strange number of them.  Instead, include it
manually.

11 years agoagpl.py: Include a `MANIFEST' file explaining where things came from.
Mark Wooding [Wed, 27 Mar 2013 21:24:16 +0000 (21:24 +0000)]
agpl.py: Include a `MANIFEST' file explaining where things came from.

11 years agocgi.py: Implement a wrapping operation.
Mark Wooding [Sat, 16 Mar 2013 17:43:05 +0000 (17:43 +0000)]
cgi.py: Implement a wrapping operation.

That is, a format control obtained as an argument can be invoked,
passing it a number of other formatting controls, which it can then
invoke in turn as it wishes.

No use for this yet, but it seems like a cool thing to have lying about.

11 years agocgi.py: Export the template cache to the templates.
Mark Wooding [Sat, 16 Mar 2013 17:29:39 +0000 (17:29 +0000)]
cgi.py: Export the template cache to the templates.

Now they can invoke each other with `~=TMPL[NAME]@?'.

11 years agoformat.py: Allow general format controls more widely.
Mark Wooding [Sat, 16 Mar 2013 17:28:37 +0000 (17:28 +0000)]
format.py: Allow general format controls more widely.

In particular, allow them as inputs to `compile', and to the `~{~}' and
`~?' directives.

11 years agocgi.py, operation.py, list.fhtml: Request-level policy switch.
Mark Wooding [Sat, 16 Mar 2013 00:35:34 +0000 (00:35 +0000)]
cgi.py, operation.py, list.fhtml: Request-level policy switch.

  * Introduce a new configuration variable `ALLOWOP' with a policy flag
    for each request type;

  * have `BaseRequest.check' ensure that the corresponding policy flag
    is set;

  * export this policy switch to the template language; and

  * only show widgets for the permitted operations in the web interface.

The commands still appear in the userv/SSH interface, which is a bit
gnarly.

11 years agooperation.py: Refactor `polswitch' a little.
Mark Wooding [Sat, 16 Mar 2013 00:31:03 +0000 (00:31 +0000)]
operation.py: Refactor `polswitch' a little.

We're going to use this structure again.

11 years agochpwd: Put `user' into template arguments when run from command-line.
Mark Wooding [Sat, 16 Mar 2013 00:29:40 +0000 (00:29 +0000)]
chpwd: Put `user' into template arguments when run from command-line.

11 years agocgi.py: Fix documentation for `~:H' format operation.
Mark Wooding [Thu, 14 Mar 2013 01:12:09 +0000 (01:12 +0000)]
cgi.py: Fix documentation for `~:H' format operation.

Once upon a time it was going to do form-urlencoding, but it turns out
that quotification is much more useful.

11 years agocgi.py: Escape quote signs in `htmlescape' and `html_quotify'.
Mark Wooding [Wed, 13 Mar 2013 14:41:51 +0000 (14:41 +0000)]
cgi.py: Escape quote signs in `htmlescape' and `html_quotify'.

This helps protect against XSS attacks.

11 years agoformat.py: Document the formatting directive syntax.
Mark Wooding [Wed, 13 Mar 2013 14:40:50 +0000 (14:40 +0000)]
format.py: Document the formatting directive syntax.

This was always meant to be here, but got missed out in the rush.

11 years agocrypto.py: Another missing import.
Mark Wooding [Wed, 13 Mar 2013 02:46:40 +0000 (02:46 +0000)]
crypto.py: Another missing import.

11 years agoservice.py: Yet more unqualified names needing qualification.
Mark Wooding [Tue, 12 Mar 2013 23:11:46 +0000 (23:11 +0000)]
service.py: Yet more unqualified names needing qualification.

Maybe this is the last batch.

11 years agoFix some stupid unknown-variable errors.
Mark Wooding [Tue, 12 Mar 2013 22:17:16 +0000 (22:17 +0000)]
Fix some stupid unknown-variable errors.

Leftover from the split into separate modules.

11 years ago.gitignore: Ignore the `.pyo' files left by `python -O'.
Mark Wooding [Tue, 12 Mar 2013 04:23:29 +0000 (04:23 +0000)]
.gitignore: Ignore the `.pyo' files left by `python -O'.

11 years agochpwd: Set default config file from environment variable `CHPWD_CONFIG'.
Mark Wooding [Tue, 12 Mar 2013 04:17:59 +0000 (04:17 +0000)]
chpwd: Set default config file from environment variable `CHPWD_CONFIG'.

This is more convenient to set from webserver CGI configurations and SSH
`authorized_keys' files.

11 years agocmd-cgi.py: Typo in help message for the CGI `source' command.
Mark Wooding [Mon, 11 Mar 2013 22:43:45 +0000 (22:43 +0000)]
cmd-cgi.py: Typo in help message for the CGI `source' command.

11 years agocmd-admin.py: Add `source' command to remote command context.
Mark Wooding [Sat, 9 Mar 2013 05:50:44 +0000 (05:50 +0000)]
cmd-admin.py: Add `source' command to remote command context.

Now remote-control clients can fetch our source code too.  Question:
should the master instance fetch source code for all of its satellites?

11 years agoPut the user's name in post-authentication requests.
Mark Wooding [Sat, 9 Mar 2013 05:31:13 +0000 (05:31 +0000)]
Put the user's name in post-authentication requests.

In GET requests, it goes in the path; for POST requests, it can go in
`%user'.  This is to prevent caches from returning the wrong pages.  I
feel a bit stupid about not fixing this earlier.

11 years agoKeep track of whether a CGI request is carried over SSL.
Mark Wooding [Sat, 9 Mar 2013 05:29:10 +0000 (05:29 +0000)]
Keep track of whether a CGI request is carried over SSL.

If it is, then tie the cookie so that it's only returned to us over
SSL-encrypted links.

11 years agocgi.py (cookie): Exclude attribute keys whose value is false.
Mark Wooding [Sat, 9 Mar 2013 05:27:29 +0000 (05:27 +0000)]
cgi.py (cookie): Exclude attribute keys whose value is false.

11 years agocgi.py: Fix stupid typo so that HTTP status codes are returned properly.
Mark Wooding [Sat, 9 Mar 2013 05:34:26 +0000 (05:34 +0000)]
cgi.py: Fix stupid typo so that HTTP status codes are returned properly.

11 years ago*.fhtml: Use double quotes for HTML attributes.
Mark Wooding [Fri, 8 Mar 2013 07:23:16 +0000 (07:23 +0000)]
*.fhtml: Use double quotes for HTML attributes.

Makes them highlight better in Emacs.

11 years ago*.fhtml: Use proper apostrophes instead of the awful ASCII one.
Mark Wooding [Fri, 8 Mar 2013 07:20:04 +0000 (07:20 +0000)]
*.fhtml: Use proper apostrophes instead of the awful ASCII one.

11 years agocookies.fhtml: Use correct link for the source code archive.
Mark Wooding [Fri, 8 Mar 2013 07:13:36 +0000 (07:13 +0000)]
cookies.fhtml: Use correct link for the source code archive.

11 years agocgi.py: Remove defunct `html' function.
Mark Wooding [Fri, 8 Mar 2013 07:12:25 +0000 (07:12 +0000)]
cgi.py: Remove defunct `html' function.

11 years agocgi.py: Remove the old error reporting machinery.
Mark Wooding [Fri, 8 Mar 2013 07:11:26 +0000 (07:11 +0000)]
cgi.py: Remove the old error reporting machinery.

It's all in templates now.

11 years agoMakefile: Update the `auto.py' symlink correctly.
Mark Wooding [Fri, 8 Mar 2013 02:53:11 +0000 (02:53 +0000)]
Makefile: Update the `auto.py' symlink correctly.

11 years agoInitial commit.
Mark Wooding [Thu, 7 Mar 2013 18:47:57 +0000 (18:47 +0000)]
Initial commit.