Starting with tag: [TAG araneida-version-0.9-a1 Alan-Shields@omrf.ouhsc.edu**20050825215157] [Put the main source in its own component for dependency reasons Alan-Shields@omrf.ouhsc.edu**20050915225000 A few of the files were requiring "compat" and almost all of the files required "defpackage", so I tucked the main source in its own module - the :pathname "" makes it still look in the root directory. This should simplify the ASDF file a bit. In retrospect, this is a semi-pointless change, but one that I sank the time into doing while I was chasing a semi-bug...why not record it? ] [Ignore some extraneous variables so as to stop some warnings Alan-Shields@omrf.ouhsc.edu**20050915225030] [Removed unused macro "maybe-output" Alan-Shields@omrf.ouhsc.edu**20050915230517 We don't use it any more, and it didn't seem to be working anymore, besides. I left the name in the patch subject, though, which should make it easy to undo if/when we need it again. ] [Lambda passed where there shouldn't have been one Alan-Shields@omrf.ouhsc.edu**20050915230654 the macro that wraps this call automagically wraps it in a lambda - so we don't need this one any more. ] [Memoize takes functions, not (or function symbol) Alan-Shields@omrf.ouhsc.edu**20050915231848 This speeds up memoize a bit and removes an annoying compiler note. Yeah, I'm tweaked like that. ] [araneida: create the obsolete directory Alan-Shields@omrf.ouhsc.edu**20050920193150 The obsolete directory is for code that I plan to remove, but should stay in for at least one release. For some of the independent code, such as dhttp.lisp, this has the added benefit that people will have to update their code and be aware that they are using depricated code. ] [araneida: move dhttp to obsolete/ Alan-Shields@omrf.ouhsc.edu**20050920193348 Does anyone USE dhttp anymore? ] [rfc2109: allow nil to be passed to safe-parse-cookies Alan-Shields@omrf.ouhsc.edu**20050920212250 The docs say that you can pass nil to safe-parse-cookies to have no legal domains to allow cookies to come from (ie they must come from your server or not at all). Whoops. ] [araneida: request-send-error modified to show client error message Alan-Shields@omrf.ouhsc.edu**20050921192602 The condition system stipulates a :CLIENT-MESSAGE that will be sent to the user. The current request-send-error doesn't receive that. I rewrote it to where it does - note that any direct callers of request-send-error must be modified to take this into account. The signature change should clue people in to this. I hope. ] [araneida: export SEND-FILE Alan-Shields@omrf.ouhsc.edu**20050921192856 Many people don't want to use the static-file-handler but do want to be able to send files. This lets you do that now. ] [araneida: documentation change to note use of inexact matching Alan-Shields@omrf.ouhsc.edu**20050921192938] [araneida: initial commit of test server and client Alan-Shields@omrf.ouhsc.edu**20050921193013] [TAG rfc2109-version-0.3.1 Alan-Shields@omrf.ouhsc.edu**20050825202618] [araneida: add test for alternate content type Alan-Shields@omrf.ouhsc.edu**20050921200338] [araneida: authentication handler was not signaling response sent Alan-Shields@omrf.ouhsc.edu**20050921210329 I don't know how many people use this function, but it seemed best to have it work. It works now. ] [araneida: test authentication and authorization Alan-Shields@omrf.ouhsc.edu**20050921210502] [araneida: add quitting to test server Alan-Shields@omrf.ouhsc.edu**20050921213814] [araneida: test script calls quit for server, now Alan-Shields@omrf.ouhsc.edu**20050921213855] [araneida: test-server now works on a LOAD Alan-Shields@omrf.ouhsc.edu**20050921213946] [araneida: basic test script Alan-Shields@omrf.ouhsc.edu**20050921214012] [araneida: ensure that quit is called for the server even if there is an error Alan-Shields@omrf.ouhsc.edu**20050921214637] [araneida: big patch to get test server working even better Alan-Shields@omrf.ouhsc.edu**20050921225124 Test server now produces random text which the test client looks for. Works with threaded and non-threaded SBCL, and should be pretty easily extended to other servers. As a test, I'm going to try out CMUCL next. ] [Remove smoketest - we have a real test suite now Alan-Shields@omrf.ouhsc.edu**20050921225320] [Move the new test suite to it's rightful place of ascendancy Alan-Shields@omrf.ouhsc.edu**20050921225400] [araneida: test suite correction - look before leaping error Alan-Shields@omrf.ouhsc.edu**20050921232717 Turns out that we need to set *quit* BEFORE we stop listening, as stop-listening breaks us out of the function in some lisps (SBCL). ] [araneida: add CMUCL to test suite Alan-Shields@omrf.ouhsc.edu**20050921232809 This patch is a good example of what you have to do to add a new lisp to the test suite. It's small, thankfully. Enjoy! ] [araneida: release notes added Alan-Shields@omrf.ouhsc.edu**20050921235437] [TAG rfc2109-version-0.3.2 Alan-Shields@omrf.ouhsc.edu**20050921193537] [TAG araneida-version-0.9-a2 Alan-Shields@omrf.ouhsc.edu**20050921235827] [araneida: bring macros into the ASDF system, add once-only and with-gensyms Alan-Shields@omrf.ouhsc.edu**20050923231411] [araneida: append-url Alan-Shields@omrf.ouhsc.edu**20050924002149 It makes sense if you think about the name of the function, but the first time merge-url pulls this action on you, you get a little...irate: (merge-url (merge-url (parse-url "http://example.com/") "/foo") "/bar") becomes Nevermind that this is exactly what you want sometimes. So, I've created append-url, that would, given the same sequence as above, become: It's a little rough right now, but it should work. I'll clarify the docs for merge-url Real Soon Now. ] [arnaeida: a little more information on test failure Alan-Shields@omrf.ouhsc.edu**20050924002456] [araneida: attach-hierarchy added Alan-Shields@omrf.ouhsc.edu**20050924002519 I'm the type that likes declarative sentences. Just like that last one. I find that I like declaring the hierarchy and handlers of my web app in one place as a sort of table of contents for the app. So, I thought to myself: self, why don't you make that executable? And so it was. ...please help me with the documentation. I'm certain it's horrid. ] [araneida: html docs for some utilities Alan-Shields@omrf.ouhsc.edu**20050924003828] [araneida: sleep longer, know cmucl Alan-Shields@omrf.ouhsc.edu**20050928234555 On a fresh compile it can take longer than 5 seconds before the server is ready. 10 seconds seems to do the trick most of the time - I might consider putting in a sleep loop in the client script, though. CMUCL was added to the test suite last time, but not to the help docs. Whoops. ] [araneida: (setf don't-be-stupid t) Alan-Shields@omrf.ouhsc.edu**20050928234811 Turns out I DO know how to do quotes-within-quotes, but SLIME was showing me the string representation, so of COURSE there were escaped quotes. Argh. Right. ] [araneida: handle proxy stuff with attach-hierarchy Alan-Shields@omrf.ouhsc.edu**20050928234916 You know, almost all of my stuff is proxy'd, why didn't I take this into account while finishing up the macro? Right. Anyways. ATTACH-HIERARCHY requires two url parameters, now: internal and external. Internal is used for attaching, external is used for (-url) functions. If you're not using a reverse-proxy or any sort of translation, you'll be fine by just giving the URL twice. ] [araneida: pmp.lisp unused - move to obsolete Alan-Shields@omrf.ouhsc.edu**20050929193445] [araneida: ensure that there are directives - helps catch parameter issues Alan-Shields@omrf.ouhsc.edu**20050929193519] [araneida: with-url-params, with-tainted-url-params Alan-Shields@omrf.ouhsc.edu**20050930191820 Common pattern of use is grabbing url parameters and doing something with them. with- makes sense here. It is so. ] [taint: add tainted-p Alan-Shields@omrf.ouhsc.edu**20051002005436 Surprisingly enough, it sometimes comes in handy to be able to tell when a value is tainted. Crazy stuff. ] [araneida: add tainted-p to exports Alan-Shields@omrf.ouhsc.edu**20051002005722] [araneida: defurlmethod Alan-Shields@omrf.ouhsc.edu**20051002013953 I'm a bit nuts, I know, but I've always wanted to treat url parameters and body parameters as dispatchable function parameters. ...now you can. More documentation forthcoming. ] [araneida: update todo on defurlmethod Alan-Shields@omrf.ouhsc.edu**20051002022016] [araneida: defurlmethod uses conditions instead of text warnings now Alan-Shields@omrf.ouhsc.edu**20051003191224] [araneida: defurlmethod parameter order issue Alan-Shields@omrf.ouhsc.edu**20051004190942 I forgot that set-difference doesn't guarantee the order of the result set, so I have to remove-if instead. Test added. ] [araneida: update bookmarks for tests Alan-Shields@omrf.ouhsc.edu**20051004191238 I noticed that I hadn't put down the right URLs in the comment bookmarks. Whoops. Fixed. ] [araneida: better error when html element attribute is not a symbol Alan-Shields@omrf.ouhsc.edu**20051004202357 I got tired of receiving '"Internal ID" is not a symbol' in the middle of a huge block of code, not having any clue what was going on. Now it will spit out a more specific error along with the parameters passed. ] [araneida: brain error on parameter order test Alan-Shields@omrf.ouhsc.edu**20051005025311 ...I was NOT actually testing parameter order. I forgot to take the final step. Whoops. Done now. A B C A C B ] [araneida: handle end-of-file while reading from socket with listener Alan-Shields@omrf.ouhsc.edu**20051005231755 It's a pretty unremarkable thing for the client to disconnect in the middle of a request. This patch causes the server to skip on to abort response when it encounters this condition. ] [araneida: wrap evals in test suite with mutex Alan-Shields@omrf.ouhsc.edu**20051005233750 SBCL doesn't seem to like concurrent calls to eval - maybe it's a problem with my macro expansion and threads, I don't know. What I DO know is that wrapping the eval calls in a mutex causes the problem to go away. So guess what I'm doing. ] [araneida: allow forcing serve-event in test suite Alan-Shields@omrf.ouhsc.edu**20051006003153] [araneida: siege benchmark Alan-Shields@omrf.ouhsc.edu**20051006003259 A question was raised on LispWeb about how well Araneida would hold up to repeated requests. This benchmark lets you see for yourself. I found a few bugs using it. ] [TAG slamtest-with-mutex Alan-Shields@omrf.ouhsc.edu**20051006202455] [TAG slamtest-without-mutex Alan-Shields@omrf.ouhsc.edu**20051006202822] [araneida: document defurlmethod Alan-Shields@omrf.ouhsc.edu**20051012000412] [araneida: paragraph the paragraphs in urls.html Alan-Shields@omrf.ouhsc.edu**20051012000610] [document append-url Alan-Shields@omrf.ouhsc.edu**20051012000635] [araneida: remember to mention deftaintedurlmethod in the docs Alan-Shields@omrf.ouhsc.edu**20051012001411] [araneida: update release notes for 0.9-a3 Alan-Shields@omrf.ouhsc.edu**20051012001941] [TAG araneida-version-0.9-a3 Alan-Shields@omrf.ouhsc.edu**20051012002144] [araneida: html-escaped-stream Alan-Shields@omrf.ouhsc.edu**20051018190807 Trying to keep track of whether or not you've escaped the HTML properly is quite a pain. Doing it instead at the stream level seems to work out much better. Of course, if you have code that already does escaping then you shouldn't use this call. ] [araneida: link Alan-Shields@omrf.ouhsc.edu**20051018232233 Need to make a urlstring to link to something? Here's your function, baby. Documentation in the docstring. ] [araneida: princ now prints the URL using urlstring. prin1 does the old behavior Alan-Shields@omrf.ouhsc.edu**20051019204405 We now have a human output for our URL objects. This lets you use URLs straight in the HTML tree for the most part. ] [araneida: typo in too-many-urlmethods-matched Alan-Shields@omrf.ouhsc.edu**20051024221146 If you ever have too many urlmethods match, you'll get an error throwing the error. This fixes that. ] [araneida: forgot to update the version number in the asd. Whoops. Alan-Shields@omrf.ouhsc.edu**20051101192354] [urlescape filenames in static-file-handler drewc@tech.coop**20051029010415 filenames can have spaces in them. The patch fixes the handler so that the url foo%20bar.jpg points to 'foo bar.jpg' ] [araneida: read in external files as octets - preparation for bivalent stream support Alan-Shields@omrf.ouhsc.edu**20051101215701 On advice (and repeated advice) from chandler - thanks! ] [araneida: stop checking stream element types in copy stream - bivalent streams are here Alan-Shields@omrf.ouhsc.edu**20051108202920] [araneida: test default key values Alan-Shields@omrf.ouhsc.edu**20051108203003 Someone reported a problem with tainted defaults - checking this out now ] [araneida: give threads a reasonable name Alan-Shields@omrf.ouhsc.edu**20051110000158] [araneida: rebind outputs when creating a new thread - fixes sbcl 0.9.6 Alan-Shields@omrf.ouhsc.edu**20051110210141 In SLIME (warn) was no longer working. Someone on the SLIME list mentioned that this was due to the SBCL thread updates in 0.9.6. Sure enough - rebind them and everything works juuuuust fine. ] [araneida: fix key parameter issue with SBCL 0.9.6 Alan-Shields@omrf.ouhsc.edu**20051110212147 The old SBCL would, if (intern) was passed a symbol, return the symbol. I was accidentally using this. The new SBCL returns nil. All is well, now. ] [araneida: clean up html-stream and add comment tags Alan-Shields@omrf.ouhsc.edu**20051111211823 I wanted to be able to do: '(p (comment ((a :href "blah") "this is a link"))) to yield:

As I'm into that sort of thing. I ended up doing a slight refactoring of html-stream and html-escaped-stream. You can also do '(p ((comment "now with extra commenty goodness!") ((a :href "blah") "this is a link"))) to yield:

So enjoy! ] [araneida: url-query-string-from-alist Alan-Shields@omrf.ouhsc.edu**20051112003232 We have a function (several, even) to get an alist from a url query, but none to do the inverse. As always, my whims are my demands, and so it is. ] [araneida: compatibility with TBNL Alan-Shields@omrf.ouhsc.edu**20051114220656 Using the patches from Bob Hutchison (hutch at recursive.ca) with modifications. This does the following: - :araneida now in *features* - araneida:*araneida-mode* now controls how Araneida parses headers and bodies. This is incompatible with the current patch to TBNL, but I think should work out better in the future. I'll contact Edi about it. - Adds an "unparsed-body" slot to the request class, along with accessors, etc The lispworks compatibility code shall be merged seperately. ] [araneida: lispworks updates from Bob Hutchinson Alan-Shields@omrf.ouhsc.edu**20051114223143 Pulled out of the TBNL update patches at http://common-lisp.net/pipermail/tbnl-devel/2005-March/000237.html ] [araneida: formatting change in daemon.lisp Alan-Shields@omrf.ouhsc.edu**20051114223954] [araneida: ACL compatibility patch from Arthur Lemmens Alan-Shields@omrf.ouhsc.edu**20051114224838 Use make-string instead of make-array to contain the body of a request. Because of bivalent streams element type is really not so good here. ] [araneida: unify html, html-stream, html-escaped-stream Alan-Shields@omrf.ouhsc.edu**20051115013412 There's so much code in common between these functions that I've finally folded them all together. As a result, you can now use the :html-converter trick that was previously only the domain of #'HTML, and #'HTML can use (comment) like the other boys and girls. In addition, they should all now produce the same output (except for escaped, of course). This results in a non-backwards-compatible change, however; the function signature of HTML is now: (defun html (things &optional inline-elements) while it used to be: (defun html (things &key (newline '(p option table tr h1 h2 h3 h4 h5 h6))) Luckily, the old :newline stuff was (declare (ignore'd, so there's no functional difference. ] [araneida: quick optimization for urlstring-escape Alan-Shields@omrf.ouhsc.edu**20051115220259 Someone (can't remember who) was complaining that urlstring-escape was very slow. This version seems to be faster in both the very-long-string case and the bunch-of-short-strings case. Thanks to the #lisp krew for slapping me around a bit when I needed it. ] [araneida: remove comment to code which is no longer there Alan-Shields@omrf.ouhsc.edu**20051115221820] [araneida: eliminate case-sensitivity bug in html Alan-Shields@omrf.ouhsc.edu**20051115221835 Slowly but surely I'm working through here to eliminate places where we rely upon uppercase interning. ] [araneida: integrate Parenscript into the HTML functions Alan-Shields@omrf.ouhsc.edu**20051116000255 If you load Parenscript before loading Araneida, you can now use Parenscript within the HTML generation functions. (span :css (:color "black" :size "200%")) will become and (css (* :border "1px solid black") (div.bl0rg :font-family "serif") (("a:active" "a:hoover") :color "black" :size "200%")) will produce (js-script) is the equivalent for Javascript, and you can call #'JS-INLINE for inline Javascript, just like normal. There will be some docs soon. ] [araneida: css-file and js-file Alan-Shields@omrf.ouhsc.edu**20051116000746 Want to output Parenscript CSS or JS as a file? Now you can. ] [araneida: small update to my internal, not used outside testing suite Alan-Shields@omrf.ouhsc.edu**20051116000831] [araneida: add documentation on Parenscript integration Alan-Shields@omrf.ouhsc.edu**20051116002913] [araneida: small update to my internal testing code Alan-Shields@omrf.ouhsc.edu**20051116002943] [araneida: weakly depend upon parenscript Alan-Shields@omrf.ouhsc.edu**20051122231655 I've submitted a patch to ASDF that allows a system to weakly depend upon another system. Until that is committed, use the horrid hack that does the same thing. ] [araneida: add templates Alan-Shields@omrf.ouhsc.edu**20051129204547 For our workflow we found it easier to have our web designer work in "template land" where she's only concerned with templates and mockups. Mostly a matter of naming convention, really. Then we found out how nice it was for finding where something was being defined and used, and not having conflicts between function names and template names. Templates are defined, called, traced, and untraced. Enjoy! ] [araneida: clean.sh, for cleaning up temporary files Alan-Shields@omrf.ouhsc.edu**20051129204806 I ended up cleaning out a lot of temporary files over and over again. Maybe someone else will find this useful, maybe not. ] [araneida: easy interface to magic tags, as well as some utilities HTMLP and DESTRUCTURE-HTML Alan-Shields@omrf.ouhsc.edu**20051201212407 The HTML code has long allowed custom tags, but you had to know how to use them. So, I wrote a small macro that exposes this feature for people, and added documentation about how to use it. While writing some sample code, I found it useful to have HTMLP and DESTRUCTURE-HTML. ] [araneida: typo in TBNL integration stuff Alan-Shields@omrf.ouhsc.edu**20051201213641] [araneida: document the special comment tag Alan-Shields@omrf.ouhsc.edu**20051201224104] [araneida: document deftemplate Alan-Shields@omrf.ouhsc.edu**20051201224145] [araneida: release notes for 0.90 Alan-Shields@omrf.ouhsc.edu**20051201224214] [araneida: update version number Alan-Shields@omrf.ouhsc.edu**20051201224239] [TAG araneida-version-0.90 Alan-Shields@omrf.ouhsc.edu**20051201224413] [html-string-printing-regression-fix brian@mastenbrook.net**20051202142217] [TAG araneida-version-0.90.1 Alan-Shields@omrf.ouhsc.edu**20051202165019] [araneida: pull out legacy-handler and dispatch-request which only it uses Alan-Shields@omrf.ouhsc.edu**20051202224500 Does anyone even use this anymore? ] [araneida: clean up style error from handler using functions in url.lisp Alan-Shields@omrf.ouhsc.edu**20051202224620] [araneida: add documentation to many handler.lisp methods Alan-Shields@omrf.ouhsc.edu**20051202224653] [araneida: code cleanup for handle-request and dispatching handler - also give more descriptive 404's Alan-Shields@omrf.ouhsc.edu**20051202224846 Araneida now distinguishes between a handler returning nil, a handler returning (values nil reason), and there flat-out being no handler for the URL. This is reflected in the log messages as well as the web page delivered to the user. Also some code cleanup. ] [araneida: refactor handle-request-response ((handler dispatching-handler)... Alan-Shields@omrf.ouhsc.edu**20051203030449 The function was (in my opinion) a bit messy and difficult to follow. I'm not sure that it's any better now, but at least I can read it. ] [araneida: added root-handler and switched over the base handler for listeners to it Alan-Shields@omrf.ouhsc.edu**20051203030604 I'm *constantly* forgetting to provide a full URL as discriminator. So, for instance, if you were going to have http://www.example.com/blah, you need to remember to do (insert-handler 'blah-handler "http://www.example.com/blah" t) Well, I'm of the opinion that (insert-handler 'blah-handler "/blah" t) should work, as should (insert-handler 'blah-handler "blah" t) And they do, now. One caveat: matching is tried against the full URL, then the path, then the path without the leading slash. So watch out if you have any loose matchers that look like: (insert-handler 'everything "http://www.example.com/" nil) as they'll match before "blah". Oh, and benchmarking shows no significant/replicable difference between the old way of doing things and the new way of doing things in regards to 404's (which go through the test each time). ] [araneida: when an html attribute value is null, it's now printed as "" Alan-Shields@omrf.ouhsc.edu**20051205224837 ((a :href nil)) -> Now doesn't that make sense? ] [araneida: multiparameter with-url-params thanks to antifuchs Alan-Shields@omrf.ouhsc.edu**20051206183543 Andreas Fuchs sent in some code that allows for proper multivalue parameter behavior AND settable defaults. I reworked the code while splicing it in so any bugs are mine. Probably. Documentation added to url.lisp and docstrings modified. Hooray! ] [araneida: reworked split Alan-Shields@omrf.ouhsc.edu**20051209002514 (split "") would produce '(nil). Not so good. It was also hard (for me) to read. I think this version is a bit more clear, and it documents some aspects that were unclear. ] [araneida: small patch to query-alist Alan-Shields@omrf.ouhsc.edu**20051209011302 The new split function has a slight difference from the old one: in the case where the passed in string is nothing but whitespace, nil is returned. If you think about it, this makes a bit more sense, as there are no tokens. ] [araneida: small patch to query-alist Alan-Shields@omrf.ouhsc.edu*-20051209011302 The new split function has a slight difference from the old one: in the case where the passed in string is nothing but whitespace, nil is returned. If you think about it, this makes a bit more sense, as there are no tokens. ] [araneida: reworked split Alan-Shields@omrf.ouhsc.edu*-20051209002514 (split "") would produce '(nil). Not so good. It was also hard (for me) to read. I think this version is a bit more clear, and it documents some aspects that were unclear. ] [araneida:url-query-alist handles empty query string gracefully Alan-Shields@omrf.ouhsc.edu**20051209210203 Right now url-query-alist will return '(NIL) when given an empty string, which isn't exactly what we want. It will now return nil. ] [araneida: whoops, forgot the closing tag for js-script Alan-Shields@omrf.ouhsc.edu**20051209221528] [Parse request body on demand. Maciek Pasternacki **20051212012725] [Modern Lisp compatibility changes. rich at holygoat dot co uk**20051208220236] [araneida: added css-file* and js-file* Alan-Shields@omrf.ouhsc.edu**20051214182415 Sometimes you need the rules and parenscript to be evaluated before being turned into output. Parenscript provides code to do this, these functions link to it. ] [araneida: first draft implementation of session variables Alan-Shields@omrf.ouhsc.edu**20051215010911 Documentation to follow ] [araneida: you can now skip the test runner Alan-Shields@omrf.ouhsc.edu**20051215011003 This is useful for browsing to the tests yourself, and not much else. ] [araneida: have multiple session variables! Alan-Shields@omrf.ouhsc.edu**20051215214605] [araneida: fix delete-session and don't double-export :request-session Alan-Shields@omrf.ouhsc.edu**20051215223337] [araneida: session variable documentation Alan-Shields@omrf.ouhsc.edu**20051215223448] [araneida: gracefully handle null sessions with session slots Alan-Shields@omrf.ouhsc.edu**20051216014147 As a practical matter, I like it when session-slot-value just does nothing when I have a null session. Maybe that's because I'm a bad person. ] [araneida: accessor for session-name, and add session-slots Alan-Shields@omrf.ouhsc.edu**20051216214840 First off, you can no longer use null sessions in get-session-slot. That was just a bad idea. Secondly, session-name is now exported for your pleasure. Thirdly, SESSION-SLOTS gets a list of all the session slots. This made sense. Unfortunately, it interfered with the internal accessor SESSION-SLOTS. So now the hash table is accessed via SLOT-VALUE. This further emphasizes its internal nature. That's the explanation I'm going with, at least. ] [araneida: update docs for SESSION-SLOTS Alan-Shields@omrf.ouhsc.edu**20051216215133] [araneida: add SHOW-SESSIONS to araneida's repl tools. Nice little utility for debugging. Alan-Shields@omrf.ouhsc.edu**20051216215221] [araneida: add SHOW-SESSIONS to utility documentation Alan-Shields@omrf.ouhsc.edu**20051216215428] [rfc2109: properly handle empty cookie strings (return nil) Alan-Shields@omrf.ouhsc.edu**20051216220746] [araneida: handle invalid session ids in cookie value Alan-Shields@omrf.ouhsc.edu**20051216222722 If you restart the server you'll often get browsers with old session ids that the system will then try to find. Surprisingly enough, this doesn't work. It will now null them out. ] [araneida: check to make sure bogus session ids passed in through cookies are not taken seriously Alan-Shields@omrf.ouhsc.edu**20051222000418] [araneida: preliminary new taint constructs Alan-Shields@omrf.ouhsc.edu**20051223005629] [araneida: move taints over from lambdas to structs Alan Shields **20051223225911] [araneida: detaint/with-detaint expanded, tested, and basic documented Alan Shields **20051223230053] [araneida: full taint documentation Alan Shields **20051223230203] [araneida: child-handlers should work for non-dispatching handlers...it's just that there are none. Alan-Shields@omrf.ouhsc.edu**20060105003727] [araneida: new utilities for handlers. Introducing alist-handlers and some better commenting. Alan-Shields@omrf.ouhsc.edu**20060105003817 Returns an alist of (matcher . handler) for all the child handlers of a handler. Useful sometimes, and keeps you from having to know the internal structures of Araneida. ] [araneida: update docs on attach-hierarchy, they were out of date Alan-Shields@omrf.ouhsc.edu**20060105004002] [araneida: html-escaped-stream would fail if a non-string was an HTML attribute. Fixed. Alan-Shields@omrf.ouhsc.edu**20060105004025] [araneida: some misc whitespace fix or another. Alan-Shields@omrf.ouhsc.edu**20060105004134] [araneida: removing cl-taint stuff to put in own repo and pull from there Alan-Shields@omrf.ouhsc.edu**20060105004932 When CL-TAINT was put into its own respository, it turned out that taint.lisp and doc/taint.html were so entangled that they could not be pulled out by themselves. So, as a result, I copied them out and am now re-importing. Here's hoping this won't cause TOO many problems in the future. ] [araneida: session-p and valid-session-p Alan-Shields@omrf.ouhsc.edu**20060109205331 Tell whether something is a session and whether something is both a valid session and a session that is not expired. ] [araneida: describe-session Alan-Shields@omrf.ouhsc.edu**20060109205417 Detailed REPL information on a session, given a session-id. Pulled out some code from describe-sessions into a subroutine to do this. ] [cl-taint: moved over from Araneida Alan-Shields **20051223231356] [cl-taint: whoops! We now parse negative numbers! Alan-Shields **20060105004215] [araneida: finished merging in cl-taint Alan-Shields@omrf.ouhsc.edu**20060109205719 Darcs isn't quite sure what to do with pulling in from cl-taint, so I had to do some touchups to resolve the conflict. Also remove the ASD file and move taint-doc.html to doc/taint.html. From now on we should be able to pull in from cl-taint. Hooray! ] [araneida: first draft of the new tutorial Alan-Shields@omrf.ouhsc.edu**20060109205954 Took a bit and wrote up a basic tutorial for Araneida. Jeff & Parima worked through it and seemed to be okay with it. We'll see! ] [araneida: add tutorial and HTML docs to ASD Alan Shields **20060109210526] [araneida: stop infinite redirection bug on static-file-handler Alan-Shields@omrf.ouhsc.edu**20060112221834 Merged in patch (modified) from Andrew Golding to fix a rather nasty bug. Thanks, Andy! ] [araneida: optionally specify session lifetime, also allow request-session to ask for a minimum-lifetime Alan-Shields@omrf.ouhsc.edu**20060112222601] [rfc2109: allow non-conformant paths, thanks to Richard Newman Alan Shields **20060127214239 Finally allow non-conformant paths. If the corrects-path-p option to cookie-string is nil, the library will not coerce the path to correctness. ] [araneida: add corrects-path-p to cookie-string, thanks to Richard Newman Alan Shields **20060127214858 Allow access to new "feature" in rfc2109 for non-conformant path specifiers. ] [fixed parse-urlstring infinite recursion when given a url like 'foo.bar:8090' drewc@tech.coop**20060116094454] [araneida: update maintainer email address Alan Shields **20060127232757] [Modernise rfc2109 defpackage form. rich at holygoat dot co uk**20060201070751] [Follow memoization capitalisation rules: necessary for 'modern' Lisps. rich at holygoat dot co uk**20060201082102] [Fix araneida-repl to be modern. rich at holygoat dot co uk**20060201082740]