log src/c/urweb.c

age author description
Sun, 20 Dec 2015 14:18:52 -0500 Adam Chlipala Merge Sqlcache
Fri, 20 Nov 2015 11:51:14 -0500 Ziv Scully Add read locks around time read in store.
Fri, 20 Nov 2015 10:51:43 -0500 Ziv Scully Tiny concurrency bugfix (race condition on cache->timeNow).
Thu, 19 Nov 2015 16:02:04 -0500 Adam Chlipala Fix condition for installing new cache entries
Thu, 19 Nov 2015 13:18:58 -0500 Adam Chlipala Fix a read-after-free bug using a timestamp check
Thu, 19 Nov 2015 10:31:47 -0500 Adam Chlipala Fix a few C memory bugs
Tue, 17 Nov 2015 02:44:37 -0500 Ziv Scully Make cache flushes happen immediately instead of at end of transaction.
Fri, 13 Nov 2015 11:03:09 -0500 Ziv Scully Finish locking, but it's not yet tested rigorously.
Fri, 13 Nov 2015 01:05:22 -0500 Ziv Scully Remove debugging print statement.
Fri, 13 Nov 2015 01:04:32 -0500 Ziv Scully Fix issue with one-element caches. Locking still WIP.
Thu, 12 Nov 2015 16:36:35 -0500 Ziv Scully Fix committing multiple stores/flushes. Locking is WIP.
Thu, 12 Nov 2015 11:44:21 -0500 Ziv Scully Actually use transactional machinery for flushes this time.
Thu, 12 Nov 2015 10:06:07 -0500 Ziv Scully Initialize invalidation to NULL!
Thu, 12 Nov 2015 09:47:20 -0500 Ziv Scully Make cache flushes safe for transactions (not sure about LRU bump on read).
Thu, 12 Nov 2015 09:15:50 -0500 Ziv Scully Simplify C interface.
Thu, 12 Nov 2015 08:46:51 -0500 Ziv Scully Merge.
Wed, 11 Nov 2015 20:01:48 -0500 Ziv Scully Rewrite LRU cache. Now uses one big hash table and is less buggy.
Sat, 31 Oct 2015 23:35:42 -0400 Ziv Scully Merge.
Mon, 19 Oct 2015 14:42:22 -0400 Ziv Scully Merge.
Wed, 07 Oct 2015 08:58:08 -0400 Ziv Scully Fix recording bugs to do with nesting and buffer reallocation. Stop MonoFooify printing spurious errors.
Sun, 13 Sep 2015 16:02:45 -0400 Ziv Scully Start work on pure expression caching.
Sat, 12 Sep 2015 17:11:33 -0400 Ziv Scully Merge.
Sun, 19 Jul 2015 19:05:16 -0700 Ziv Scully Merge.
Sun, 19 Jul 2015 19:03:11 -0700 Ziv Scully Rename C functions and remove functors nested inside modules.
Sun, 28 Jun 2015 12:46:51 -0700 Ziv Scully Progress on LRU cache but still more known bugs to fix.
Fri, 27 Mar 2015 11:26:06 -0400 Ziv Scully Merge.
Thu, 11 Dec 2014 02:05:41 -0500 Ziv Scully Merge.
Mon, 24 Nov 2014 20:47:38 -0500 Ziv Scully Merge.
Mon, 10 Nov 2014 22:07:51 -0500 Ziv Scully Merge.
Sat, 13 Sep 2014 19:16:07 -0400 Ziv Scully Merge.
Sat, 31 May 2014 03:08:16 -0400 Ziv Scully Cleans up interface (it's now a command line option) and renames project to "sqlcache" in the all-one-word style. Still has issues to do with concurrency, retrying transactions, and foreign function calls that either rely on state or have side effects.
Fri, 30 May 2014 12:00:44 -0400 Ziv Scully Merge.
Tue, 27 May 2014 21:38:01 -0400 Ziv Scully Merge.
Tue, 27 May 2014 21:14:13 -0400 Ziv Scully Finishes initial prototype, caching parameterless pages with table-match-based invalidation. Still has problems parsing non-Postgres SQL dialects properly.
Sun, 01 Nov 2015 11:55:01 -0500 Adam Chlipala Basis.fromMilliseconds
Sat, 31 Oct 2015 19:21:05 -0400 Adam Chlipala Remove spurious failure about reopening database connection
Sat, 17 Oct 2015 11:31:22 -0400 Adam Chlipala Database-server reconnection for MySQL
Sat, 17 Oct 2015 11:08:12 -0400 Adam Chlipala Switching to a more dynamic method of handling database reconnection, restarting transactions
Sat, 17 Oct 2015 10:49:25 -0400 Adam Chlipala Start of support for surviving database-server restarts, for Postgres
Thu, 06 Aug 2015 10:15:53 -0400 Benjamin Barenblat Make OpenSSL usage thread-safe (closes #206)
Sun, 10 May 2015 12:13:12 -0400 Adam Chlipala Make naughtyDebug use protocol-specific logging
Thu, 22 Jan 2015 09:46:20 -0500 Adam Chlipala Fix silly mistake from last commit; also switch away from rand() in openssl.c
Mon, 12 Jan 2015 12:02:54 -0500 Adam Chlipala Switch to using OpenSSL PRNG for the one remaining rand()
Thu, 04 Dec 2014 19:54:04 -0500 Adam Chlipala Optimizing writes of single characters
Sun, 16 Nov 2014 13:39:18 -0500 Adam Chlipala uw_remoteSock()
Sat, 20 Sep 2014 13:55:25 -0400 Adam Chlipala Default to parsing time strings with the application-configured format
Sun, 17 Aug 2014 13:07:56 -0400 Adam Chlipala New phase: Dbmodecheck
Fri, 15 Aug 2014 18:25:56 -0400 Adam Chlipala Don't use uw_malloc() or equivalent in generating error messages while parsing HTTP request
Thu, 31 Jul 2014 09:56:41 -0400 Adam Chlipala New .urp directive: file
Sun, 29 Jun 2014 08:31:21 -0400 Adam Chlipala Fix uw_Basis_lt_time
Fri, 27 Jun 2014 14:39:31 -0400 Adam Chlipala Add locking to enforce atomicity of message sends from one transaction
Sun, 15 Jun 2014 21:13:12 +0000 Sergey Mironov Call try_rollback before resetting the context
Thu, 05 Jun 2014 20:36:12 +0000 Sergey Mironov Allow '+' char in blessMime
Wed, 28 May 2014 11:53:19 -0400 Adam Chlipala Align to sizeof(void *) instead of fixed 4
Sun, 18 May 2014 19:09:09 -0400 Adam Chlipala Fix datetime construction (contributed by Patrick Hurst)
Sun, 18 May 2014 18:58:50 -0400 Adam Chlipala Change context-local memory allocation to return word-aligned addresses (based on patch by Evan Danaher)
Fri, 02 May 2014 15:32:10 -0400 Adam Chlipala HTML5 data-* attributes
Thu, 17 Apr 2014 17:41:24 -0400 Adam Chlipala uw_register_transactional() can return error codes
Tue, 15 Apr 2014 19:12:49 -0400 Adam Chlipala Tweaking uw_commit() logic, partly to fix a resource clean-up bug on SQL serialization failures
Wed, 26 Feb 2014 09:43:47 +0000 Sergey Mironov Protect uw_Basis_new_client_source from invalid ctx->id
Wed, 26 Feb 2014 08:21:52 +0000 Sergey Mironov Define uw_loggers structure, allow FFI code to access it
Fri, 07 Mar 2014 11:50:45 -0500 Adam Chlipala getenv calls UNIX getenv() when no special alternative is set
Tue, 04 Mar 2014 08:46:33 -0500 Adam Chlipala Change Basis.getenv to return None outside the context of a web request
Tue, 25 Feb 2014 16:34:04 -0500 Adam Chlipala Parse new bytea output format from Postgres 9.x
Fri, 14 Feb 2014 04:00:03 -0500 Patrick Hurst Merge in upstream
Sat, 25 Jan 2014 18:15:14 -0500 Patrick Hurst Use localtime, not gmtime, for datetime functions.
Sat, 25 Jan 2014 18:13:33 -0500 Patrick Hurst Trim trailing whitespace in urweb.c.
Sat, 18 Jan 2014 18:26:24 -0500 Patrick Hurst Merge in upstream changes.
Thu, 05 Dec 2013 11:36:54 -0500 Patrick Hurst Day of week functions.
Thu, 05 Dec 2013 11:36:06 -0500 Patrick Hurst Add basic year/month/day/hour/minute/second <-> time functions.
Thu, 09 Jan 2014 17:27:24 -0500 Adam Chlipala Add 'html5' .urp directive
Tue, 31 Dec 2013 09:34:41 -0500 Adam Chlipala Do a bit of extra userspace copying to send HTTP response with a single system call
Fri, 27 Dec 2013 12:30:44 -0500 Adam Chlipala Change where a transaction is marked finished, to avoid forgetting to rollback a failed transaction
Fri, 27 Dec 2013 12:10:03 -0500 Adam Chlipala Raise exception when recv()ing from someone else's channel; improve setting of client ID in RPCs
Wed, 25 Dec 2013 13:11:43 -0500 Adam Chlipala Tweaking handling of database transactions
Wed, 25 Dec 2013 11:43:41 -0500 Adam Chlipala No need to ROLLBACK after a failed COMMIT
Mon, 23 Dec 2013 15:59:17 +0000 Adam Chlipala Proper handling of serialization failures during SQL COMMIT
Thu, 12 Dec 2013 17:42:48 -0500 Adam Chlipala Start SQL transactions as read-only when possible, based on conservative program analysis
Thu, 12 Dec 2013 10:24:38 -0500 Adam Chlipala HTTP: avoid duplicate Content-length
Wed, 11 Dec 2013 18:54:42 -0500 Adam Chlipala RAND_bytes isn't thread-safe, so wrap it with a lock
Wed, 11 Dec 2013 18:22:10 -0500 Adam Chlipala Change handling of returned text blobs, to activate the normal EWrite optimizations
Wed, 11 Dec 2013 14:57:54 -0500 Adam Chlipala Fix regression in http.c for long-polling connections; add lazy initialization of database connections, to avoid the overhead in handlers that don't use SQL
Tue, 03 Dec 2013 16:54:04 -0500 Adam Chlipala Increase precision for rendering floats to SQL
Sun, 01 Dec 2013 16:28:02 -0500 Adam Chlipala Remove extra line break for onError
Wed, 27 Nov 2013 15:28:55 -0500 Adam Chlipala Add Connection and Content-length headers to raw HTTP responses
Thu, 10 Oct 2013 18:31:10 -0400 Adam Chlipala Remove uw_cutErrorLocation() hijinks
Thu, 10 Oct 2013 14:48:43 -0400 Adam Chlipala Take proper account of signatures changing during page generation
Fri, 13 Sep 2013 10:24:10 -0400 Adam Chlipala Tweak Sergey's patch to work with Postgres
Fri, 13 Sep 2013 10:09:15 -0400 Sergey Mironov Add hex SQL syntax for blobs, such as X'0ABC12343'. Works with sqlite.
Wed, 17 Jul 2013 09:09:48 -0400 Adam Chlipala Postgres unicode printing fix from Artyom Shalkhakov
Fri, 30 Nov 2012 09:50:00 -0500 Adam Chlipala Fix generation of timestamp literals for MySQL and SQLite
Fri, 03 Aug 2012 08:32:03 -0400 Adam Chlipala Fix some unportable uses of C character class functions
Thu, 02 Aug 2012 16:33:25 -0400 Adam Chlipala Basis.getenv
Sat, 21 Jul 2012 15:34:07 -0400 Adam Chlipala Get regular forms working again
Sat, 21 Jul 2012 15:16:57 -0400 Adam Chlipala Top.postFields
Wed, 18 Jul 2012 17:29:13 -0400 Adam Chlipala Support fancy expressions in module-level 'val' declarations
Wed, 16 May 2012 22:46:35 +0400 Vladimir Shabanov Allow RPC and run it synchronously in onunload event.
Sun, 06 May 2012 16:08:48 -0400 Adam Chlipala Run-time CSS style validation
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