log src/c/urweb.c

age author description
Fri, 27 Apr 2012 09:52:16 -0400 Adam Chlipala Avoid generating empty <script> tags
Fri, 27 Apr 2012 09:43:09 -0400 Adam Chlipala Ensure proper ordering of <script> execution, to bring identifiers into scope in time
Wed, 25 Apr 2012 03:07:07 +0400 Vladimir Shabanov Removed excess zero byte from empty pages.
Sun, 08 Apr 2012 16:29:28 -0400 Adam Chlipala Optimize code from last changeset a bit
Sun, 08 Apr 2012 16:24:16 -0400 Adam Chlipala Refactor to avoid dependence on recursive mutexes
Fri, 16 Mar 2012 08:42:51 -0400 Adam Chlipala Change ID generation scheme to conform to HTML standards (thanks to Edward Yang for the catch)
Sat, 03 Mar 2012 15:47:52 -0500 Adam Chlipala Pass non-printing characters through unchanged in sqlifyString, to support UTF-8
Sat, 04 Feb 2012 11:01:06 -0500 Adam Chlipala Basis.toMilliseconds and diffInMilliseconds, based on a patch from Gergely Buday
Sat, 14 Jan 2012 23:02:34 +0400 Vladimir Shabanov Fixed clients mutex initialization for compiling under OS X.
Tue, 10 Jan 2012 17:32:48 -0500 Adam Chlipala Fix some locking issues for client array
Tue, 10 Jan 2012 15:34:18 -0500 Adam Chlipala Properly handle case where an RPC changes signed cookie state
Sun, 08 Jan 2012 15:47:05 -0500 Adam Chlipala Fix channel delivery to handle sending of messages for channels whose clients haven't connected yet
Sun, 04 Dec 2011 16:32:06 -0500 Adam Chlipala Fix client-side [int] parsing and extend server-side [time] parsing to support a format that also works portably in JavaScript
Sun, 04 Dec 2011 14:40:12 -0500 Adam Chlipala timeFormat .urp directive
Sat, 03 Dec 2011 10:00:10 -0500 Adam Chlipala Allow sources to be returned by RPCs
Sat, 08 Oct 2011 17:23:58 -0400 Adam Chlipala Primitive int/float functions: ceil, float, round, trunc
Sat, 03 Sep 2011 12:51:05 -0400 Adam Chlipala An abstract type of IDs
Sun, 28 Aug 2011 17:16:54 -0400 Adam Chlipala Gentle handling of back-button returns to pages with stale message-passing credentials
Sun, 28 Aug 2011 14:43:30 -0400 Adam Chlipala Warn about concurrency issues with message-passing
Fri, 22 Jul 2011 15:39:38 -0400 Adam Chlipala Backpedal on tutorial-motivated urweb-mode changes; add Basis.diffInSeconds and Basis.toSeconds
Tue, 19 Jul 2011 09:18:50 -0400 Adam Chlipala Change cookie signature comparison to resist timing attacks (based on code suggested by Robin Green and Austin Seipp)
Sun, 03 Jul 2011 16:50:17 -0400 Adam Chlipala Change Basis.rand to use cryptographically secure generation
Sun, 03 Jul 2011 16:21:04 -0400 Adam Chlipala Basis.currentUrlHasQueryString
Sun, 03 Jul 2011 12:40:00 -0400 Adam Chlipala For non-debug builds, leave out source location info in what is shown to user
Fri, 17 Jun 2011 11:52:56 -0400 Adam Chlipala Fixes to work nicely with OS X and Clang (thanks to Austin Seipp)
Sun, 12 Jun 2011 17:44:34 -0400 Adam Chlipala Keep user-set response headers on indirect returns
Mon, 30 May 2011 09:31:50 -0400 Adam Chlipala Fix bug with string literals in unAs
Sun, 29 May 2011 14:29:26 -0400 Adam Chlipala getHeader and setHeader
Sun, 22 May 2011 13:32:29 -0400 Adam Chlipala Prevent early clearing of context post data
Thu, 12 May 2011 17:14:13 -0400 Adam Chlipala Escape less-than in JavaScript strings
Sun, 17 Apr 2011 13:43:00 -0400 Adam Chlipala Before allowing an indirect return, check (dynamically, for now) that we aren't in an RPC handler
Fri, 15 Apr 2011 16:49:46 -0400 Adam Chlipala Remove commented-out readUtc code; add back indeterminate tm_isdst
Wed, 13 Apr 2011 00:04:41 -0430 Karn Kallio Fix getting UTC time from formatted strings ( in uw_Basis_readUtc ).
Sat, 09 Apr 2011 20:00:52 -0400 Adam Chlipala Send newly created sources with messages to clients
Sat, 09 Apr 2011 14:36:47 -0400 Adam Chlipala Each context gets its own non-repeating sequence of source numbers
Sun, 27 Mar 2011 15:51:37 -0400 Adam Chlipala Escape strings as needed in some error messages within urweb.c
Fri, 18 Mar 2011 21:01:10 -0400 Adam Chlipala Fix 'readUtc' to work during DST
Thu, 10 Mar 2011 18:51:15 -0500 Adam Chlipala Represent 'unit' as C 'int'; change pattern match compilation to avoid 'goto'; change Postgres prepared statement compilation to make life easier for the GCC escape analysis; all this in support of better tail call optimization
Fri, 25 Feb 2011 15:58:08 -0500 Adam Chlipala Fix C jsify[String|Char]
Sun, 23 Jan 2011 18:16:30 -0500 Adam Chlipala Proper error handling for periodic tasks
Sun, 23 Jan 2011 17:27:51 -0500 Adam Chlipala Fix detection of POSTs to error pages
Sun, 23 Jan 2011 14:59:59 -0500 Adam Chlipala Fix issues with empty page buffers for tasks
Sat, 22 Jan 2011 10:53:06 -0500 Adam Chlipala Fix parsing of Postgres timestamps with super-microsecond fractional seconds, based on patch from Vladimir Shabanov
Thu, 20 Jan 2011 16:56:54 -0500 Adam Chlipala More fixes for FastCGI
Thu, 20 Jan 2011 16:26:54 -0500 Adam Chlipala Use sigFile again; do redirects in a way that is compatible with FastCGI
Thu, 20 Jan 2011 15:11:45 -0500 Adam Chlipala Some fixes for tasks and onError handlers
Thu, 20 Jan 2011 10:40:40 -0500 Adam Chlipala Patch from Vladimir Shabanov to support implicit passing of 'time' values from server to client
Sun, 16 Jan 2011 15:03:45 -0500 Adam Chlipala Fix format of THE_PAST timestamp
Sun, 16 Jan 2011 10:38:03 -0500 Adam Chlipala Patch from Vladimir Shabanov to support crypt under OS X
Thu, 13 Jan 2011 13:20:14 -0500 Adam Chlipala Fixing daylight saving time in time string processing
Thu, 13 Jan 2011 10:02:50 -0500 Adam Chlipala More string processing
Tue, 11 Jan 2011 18:04:52 -0500 Adam Chlipala Some more string parsing functions; naughtyDebug
Tue, 11 Jan 2011 14:03:54 -0500 Adam Chlipala String processing optimizations
Thu, 06 Jan 2011 14:45:52 -0500 Adam Chlipala Basis.currentUrlHasPost
Thu, 06 Jan 2011 12:49:14 -0500 Adam Chlipala Ignore unknown names in query string name-value pairs; allow any side effects by Extern URLs, without signature checking
Thu, 30 Dec 2010 12:48:08 -0500 Adam Chlipala Fix jsifyTime to work on 32-bit systems
Thu, 30 Dec 2010 12:27:19 -0500 Adam Chlipala Fix new urlifyTime to work properly on 32-bit systems
Wed, 29 Dec 2010 16:16:25 -0500 Adam Chlipala Don't forget to call tzset()
Wed, 29 Dec 2010 15:58:54 -0500 Adam Chlipala Next attempt at getting time parsing right
Wed, 29 Dec 2010 14:16:56 -0500 Adam Chlipala Latest attempt to get readUtc working properly
Tue, 28 Dec 2010 14:51:57 -0500 Adam Chlipala Basis.readUtc
Sun, 26 Dec 2010 17:29:03 -0500 Adam Chlipala queryString and effectfulUrl
Sun, 26 Dec 2010 15:52:56 -0500 Adam Chlipala Expose buffer type for other C libraries; replace minusSeconds with addSeconds
Sat, 25 Dec 2010 08:58:25 -0500 Adam Chlipala Include microseconds in uw_Basis_sqlifyTime() output
Fri, 24 Dec 2010 18:08:29 -0500 Adam Chlipala Changed uw_Basis_time to store microseconds
Fri, 24 Dec 2010 17:18:28 -0500 Adam Chlipala Fix Postgres date serialization
Fri, 24 Dec 2010 16:41:10 -0500 Adam Chlipala Top.queryI1; fix definition of uw_Basis_minTime
Thu, 23 Dec 2010 17:46:40 -0500 Adam Chlipala [De]serialization of times in JavaScript; proper integer division in JavaScript; Basis.crypt; Top.mkRead'; more aggressive Mono-level inlining, for values of function-y types
Thu, 23 Dec 2010 11:23:31 -0500 Adam Chlipala Recursive record unification errors, for more detail
Tue, 21 Dec 2010 18:01:23 -0500 Adam Chlipala Basis.cdataChar
Mon, 20 Dec 2010 13:29:56 -0500 Adam Chlipala Remove redundant macro
Mon, 20 Dec 2010 13:22:44 -0500 Adam Chlipala Use proper string time format for SQLite
Sat, 18 Dec 2010 15:17:09 -0500 Adam Chlipala Periodic tasks
Sat, 18 Dec 2010 10:56:31 -0500 Adam Chlipala postBody type
Sun, 12 Dec 2010 10:35:04 -0500 Adam Chlipala Change Basis.debug to use the protocol's debug function
Sat, 11 Dec 2010 15:16:04 -0500 Adam Chlipala minHeap option in .urp files
Sun, 05 Dec 2010 18:47:54 +0100 Marc Weber fix small memory leaks
Sat, 04 Dec 2010 11:15:20 -0500 Adam Chlipala New argument to transactional free functions, to specify whether we are about to retry
Thu, 14 Oct 2010 11:35:56 -0400 Adam Chlipala -limit for running time
Tue, 07 Sep 2010 09:06:13 -0400 Adam Chlipala 'tryDml' works with Postgres
Tue, 07 Sep 2010 08:28:07 -0400 Adam Chlipala Server-side 'onError'
Tue, 10 Aug 2010 16:02:55 -0400 Adam Chlipala Fix C-side jsification of UTF-8 strings
Sun, 30 May 2010 10:39:25 -0400 Adam Chlipala Include new config.h in C source files
Tue, 18 May 2010 14:47:56 -0400 Adam Chlipala URL-escape with '.' instead of '%', to avoid confusing proxies
Thu, 29 Apr 2010 17:24:42 -0400 Adam Chlipala Add rand to Basis and handle it in Iflow
Thu, 11 Feb 2010 09:10:01 -0500 Adam Chlipala sigfile directive
Sat, 06 Feb 2010 20:13:51 -0500 Adam Chlipala More is*() casts
Sat, 06 Feb 2010 13:53:26 -0500 Adam Chlipala More casting of isprint() arguments
Sat, 06 Feb 2010 13:46:17 -0500 Adam Chlipala AC_USE_SYSTEM_EXTENSIONS replaces the need for hacky #defines at starts of C files
Sat, 06 Feb 2010 13:09:51 -0500 Adam Chlipala Trying to get urweb.c working for someone in NetBSD
Sun, 31 Jan 2010 15:28:50 -0500 Adam Chlipala A litter more cautious about NULL applications; plug a memory leak in some Postgres functions
Sat, 30 Jan 2010 13:39:39 -0500 Adam Chlipala Remove a faulty time tweak from Postgres serialization
Sat, 30 Jan 2010 11:21:26 -0500 Adam Chlipala Update Makefile.in's with new Autotools; add extra 'return NULL' to placate some -Wall
Thu, 28 Jan 2010 13:32:26 -0500 Adam Chlipala Switch to gcc -Wall
Tue, 26 Jan 2010 14:59:19 -0500 Adam Chlipala Handling errors during commit
Tue, 12 Jan 2010 16:09:13 -0500 Adam Chlipala Allow escaped backslashes in literals; conversion betwixt int and char
Sun, 10 Jan 2010 10:40:57 -0500 Adam Chlipala Support for protocol-specific expunger dispatch
Thu, 07 Jan 2010 14:02:58 -0500 Adam Chlipala Basis.debug; more restrictive type for Basis.form; weaken definition of polymorphic-ness for especialization
Tue, 05 Jan 2010 15:53:35 -0500 Adam Chlipala Basis.textBlob; support HTTP requests with no headers
Tue, 05 Jan 2010 14:57:35 -0500 Adam Chlipala uw_close()
Tue, 05 Jan 2010 13:30:27 -0500 Adam Chlipala Clear script_header in uw_reset()
Sun, 03 Jan 2010 17:13:45 -0500 Adam Chlipala Database quotas
Sun, 03 Jan 2010 15:58:34 -0500 Adam Chlipala Deadlines
Sun, 03 Jan 2010 15:32:11 -0500 Adam Chlipala Memory limits
Sat, 02 Jan 2010 13:31:59 -0500 Adam Chlipala Proper 404 generation
Fri, 01 Jan 2010 12:48:06 -0500 Adam Chlipala Proper [un]urlification of unit
Thu, 31 Dec 2009 15:14:24 -0500 Adam Chlipala Protect against NULL applications in a few places
Thu, 31 Dec 2009 11:41:57 -0500 Adam Chlipala Basis.serialize; separate file for mhash; run transactional finishers in reverse order; set needs_sig properly
Sun, 27 Dec 2009 10:37:24 -0500 Adam Chlipala All three current protocols work with move to using uw_app
Thu, 24 Dec 2009 15:49:52 -0500 Adam Chlipala Convenience libifying; allow more NULLs with globals
Thu, 24 Dec 2009 10:44:53 -0500 Adam Chlipala Proper JavaScript-side URI escaping/de-escaping; fix C-side URL encoding of big characters
Wed, 23 Dec 2009 14:27:12 -0500 Adam Chlipala Don't relify in bigLibs; fix some memory bugs in transactionals
Wed, 23 Dec 2009 12:25:34 -0500 Adam Chlipala Stop skipping Especialization of generated functions; fix Compiler.parseUrp; expose uw_really_write(); allow more NULL arguments to uw_register_transactional()
Thu, 10 Dec 2009 15:46:07 -0500 Adam Chlipala Bug fixes in redirect-related stuff
Thu, 10 Dec 2009 15:20:36 -0500 Adam Chlipala Basis.currentUrl, plus redirect debugging
Thu, 10 Dec 2009 13:32:09 -0500 Adam Chlipala Basis.url and redirects
Tue, 08 Dec 2009 12:06:41 -0500 Adam Chlipala Convert ctype is*() function results to booleans
Tue, 08 Dec 2009 10:46:50 -0500 Adam Chlipala Context globals; ctype functions
Tue, 08 Dec 2009 08:48:29 -0500 Adam Chlipala Move to simpler HTML escaping
Thu, 03 Dec 2009 11:56:15 -0500 Adam Chlipala Merge
Thu, 03 Dec 2009 11:50:51 -0500 Adam Chlipala UTF-8 in dynamic escaping
Fri, 27 Nov 2009 09:12:46 -0500 Adam Chlipala Fix handling of clearCookie/getCookie in same page gen
Thu, 26 Nov 2009 14:58:03 -0500 Adam Chlipala Port rest of demo to new cookie signature; fix parsing of multiple incoming cookies
Thu, 26 Nov 2009 14:20:00 -0500 Adam Chlipala More fun with cookies
Tue, 24 Nov 2009 09:24:25 -0500 Adam Chlipala Explicitly abort in-flight RPCs onunload
Sat, 21 Nov 2009 15:48:08 -0500 Adam Chlipala Get message-passing working in IE6
Mon, 02 Nov 2009 14:11:08 -0500 Adam Chlipala Saving paper assignments
Sun, 01 Nov 2009 14:26:20 -0500 Adam Chlipala Initial form for paper assignment
Sun, 01 Nov 2009 10:20:20 -0500 Adam Chlipala Bidding interface
Thu, 22 Oct 2009 16:15:56 -0400 Adam Chlipala Initial support for char in SQL
Thu, 22 Oct 2009 11:15:37 -0400 Adam Chlipala Checking deadline; sign-in
Tue, 06 Oct 2009 17:36:45 -0400 Adam Chlipala Versioned1 demo working
Tue, 06 Oct 2009 15:59:11 -0400 Adam Chlipala Initial versioned1 demo working
Tue, 22 Sep 2009 13:27:47 -0400 Adam Chlipala Functions working with interpretation
Tue, 22 Sep 2009 12:23:21 -0400 Adam Chlipala Hopefully complete refactoring of Jscomp to output ASTs; partial implementation of interpreter in runtime system (demo/alert works)
Fri, 18 Sep 2009 19:30:09 -0400 Adam Chlipala Fix C substring implementation
Tue, 15 Sep 2009 10:50:49 -0400 Adam Chlipala Fix Postgres timestamp round-tripping
Sat, 12 Sep 2009 10:31:34 -0400 Adam Chlipala Debugging new string urlification
Sat, 12 Sep 2009 09:31:50 -0400 Adam Chlipala Change string URLification to avoid using the empty string, which confuses Apache no2slash()
Wed, 09 Sep 2009 08:15:46 -0400 Adam Chlipala Find chances to use mstrcat()
Wed, 09 Sep 2009 08:00:45 -0400 Adam Chlipala Don't replace <sc> in blob returns; optimize more 'option' pattern matches; detect more opportunities for 'let' inlining
Tue, 08 Sep 2009 10:55:49 -0400 Adam Chlipala dragList demo working, save for Gecko load delay and highlighting
Tue, 08 Sep 2009 10:18:19 -0400 Adam Chlipala dragList almost kinda works
Tue, 25 Aug 2009 13:57:56 -0400 Adam Chlipala grid1 compiles but gets stuck in JS
Fri, 17 Jul 2009 16:29:36 -0400 Adam Chlipala demo/sql works with SQLite
Thu, 16 Jul 2009 18:10:29 -0400 Adam Chlipala Demo working with MySQL
Sun, 12 Jul 2009 15:05:40 -0400 Adam Chlipala MySQL demo/sql succeeds in reading no rows
Sun, 28 Jun 2009 13:49:32 -0400 Adam Chlipala Start of multi-DBMS support
Sat, 27 Jun 2009 19:07:28 -0400 Adam Chlipala FastCGI working with lighttpd
Sat, 27 Jun 2009 17:50:31 -0400 Adam Chlipala .msgs processing in FastCGI
Sat, 27 Jun 2009 14:44:00 -0400 Adam Chlipala Serving Hello via FastCGI
Tue, 23 Jun 2009 17:59:23 -0400 Adam Chlipala cgi protocol
Tue, 23 Jun 2009 15:40:35 -0400 Adam Chlipala Further refactoring of request.c to work with CGI
Sun, 07 Jun 2009 16:45:00 -0400 Adam Chlipala Fix datatype import bug in Elaborate; fix server-side source setting; more standard library stuff
Sun, 31 May 2009 13:43:02 -0400 Adam Chlipala Fix pathmap bug; expose lower-level heap manipulation from C
Sun, 31 May 2009 12:41:34 -0400 Adam Chlipala strcspn and friends
Sat, 30 May 2009 13:29:00 -0400 Adam Chlipala Substring functions; fix a nasty MonoReduce pattern match substitution bug
Sat, 30 May 2009 09:59:10 -0400 Adam Chlipala String.length
Tue, 26 May 2009 12:25:06 -0400 Adam Chlipala Chars and more string operations
Thu, 14 May 2009 18:13:09 -0400 Adam Chlipala Fix nasty bugs with longjmp() looping for uw_set_input(); and bad variable indexes for nested JavaScript in jscomp
Tue, 12 May 2009 18:02:25 -0400 Adam Chlipala Improvements while working on Graftid
Sat, 02 May 2009 18:46:00 -0400 Adam Chlipala Update FFI type of Basis.self
Sat, 02 May 2009 18:41:21 -0400 Adam Chlipala FFI transactionals
Sat, 02 May 2009 18:20:15 -0400 Adam Chlipala Runtime URL and MIME type filtering
Thu, 30 Apr 2009 14:43:55 -0400 Adam Chlipala Megaform test
Thu, 30 Apr 2009 13:47:46 -0400 Adam Chlipala subforms working
Tue, 28 Apr 2009 17:26:53 -0400 Adam Chlipala Subforms
Sun, 26 Apr 2009 11:07:25 -0400 Adam Chlipala blobSize
Sun, 26 Apr 2009 10:45:59 -0400 Adam Chlipala Reading blobs from the database
Sun, 26 Apr 2009 09:02:17 -0400 Adam Chlipala Returning a blob as page result
Sat, 25 Apr 2009 14:47:16 -0400 Adam Chlipala Add MIME type to file
Sat, 25 Apr 2009 14:35:49 -0400 Adam Chlipala Only allow single-file upload per control
Sat, 25 Apr 2009 13:59:11 -0400 Adam Chlipala Initial support for blobs and upload
Thu, 23 Apr 2009 16:13:02 -0400 Adam Chlipala Cookie signatures for RPCs
Thu, 16 Apr 2009 19:12:12 -0400 Adam Chlipala Cookie signing working for forms
Sun, 12 Apr 2009 14:19:15 -0400 Adam Chlipala Classes as optional arguments to Basis.tag
Thu, 09 Apr 2009 16:36:50 -0400 Adam Chlipala URLs
Sun, 05 Apr 2009 12:05:19 -0400 Adam Chlipala Initialize contexts a little more vigorously
Sun, 05 Apr 2009 11:24:55 -0400 Adam Chlipala RoundTrip demo
Sun, 05 Apr 2009 09:26:00 -0400 Adam Chlipala Avoid generating empty <script> blocks
Sat, 04 Apr 2009 15:56:47 -0400 Adam Chlipala sleep and better Scriptcheck
Sat, 04 Apr 2009 14:55:36 -0400 Adam Chlipala spawn
Sat, 04 Apr 2009 14:03:39 -0400 Adam Chlipala _Really_ implement embedded closure GC; extend Scriptcheck to figure out when client IDs must be assigned
Thu, 02 Apr 2009 13:48:59 -0400 Adam Chlipala Make sure only one pull request runs at a time for each client
Thu, 02 Apr 2009 11:42:26 -0400 Adam Chlipala On start-up, delete/nullify rows mentioning clients or channels
Thu, 02 Apr 2009 10:55:00 -0400 Adam Chlipala Stop holding client locks throughout request processing
Sun, 29 Mar 2009 14:13:50 -0400 Adam Chlipala Expunging nullable fields
Sun, 29 Mar 2009 13:30:01 -0400 Adam Chlipala Expunging non-nullable rows
Sun, 29 Mar 2009 11:37:29 -0400 Adam Chlipala Redo channels, making them single-client
Sat, 28 Mar 2009 11:15:42 -0400 Adam Chlipala Switch back to starting listener on load
Thu, 26 Mar 2009 18:26:50 -0400 Adam Chlipala Chat example working nicely, but without dead channel removal
Thu, 26 Mar 2009 16:22:34 -0400 Adam Chlipala Preliminary work supporting channels in databases