log src/c/urweb.c

age author description
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
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()