Commit Graph

76 Commits

Author SHA1 Message Date
Přemysl Eric Janouch d883f4cc71
Finish the FastCGI backend
Bump liberty, also fixing SCGI.
2018-10-18 06:35:29 +02:00
Přemysl Eric Janouch 62945cceb3
Finish the WebSocket backend
Of course, everything so far hasn't been tested much.
2018-10-18 04:44:40 +02:00
Přemysl Eric Janouch 580f0a0c59
Synthesize EOF events in SCGI 2018-10-18 04:44:39 +02:00
Přemysl Eric Janouch 253e35e1e4
Wrap request::write_cb in a function 2018-10-17 23:34:59 +02:00
Přemysl Eric Janouch cf56921c4e
Allow WebSockets to micromanage shutdowns
They have their reasons, mostly event-related.
2018-10-17 23:26:54 +02:00
Přemysl Eric Janouch a3ec0942f8
Implement basic connection teardown
I finally understand the codebase again.  It's rather complicated.
2018-10-17 22:59:40 +02:00
Přemysl Eric Janouch efd500ca3c
Accelerated daemon quitting 2018-10-17 06:08:11 +02:00
Přemysl Eric Janouch 13892fcd0e
Clean up client de/allocation 2018-10-17 05:16:17 +02:00
Přemysl Eric Janouch 1d638c9170
Say "finalize" instead of "destroy" where appropriate
- _make() returns a struct directly
 - _init() initializes over a pointer
 - _free() deinitializes over a pointer
 - _new() is like _init() but also allocates
 - _destroy() is like _free() but also deallocates

Finalization is a matching concept in garbage-collected languages.
2018-10-17 03:53:07 +02:00
Přemysl Eric Janouch 83363e6383
FastCGI: make it work at least in theory 2018-10-17 03:50:39 +02:00
Přemysl Eric Janouch 272145ace2
Clarify EOF behaviour 2018-10-17 02:21:19 +02:00
Přemysl Eric Janouch 4c54bc42b9
Clean up and better document client_vtable 2018-10-16 04:45:36 +02:00
Přemysl Eric Janouch 7d922352ea
Rename client_vtable::destroy to finalize
Matches a similar concept from garbage-collected languages.
2018-10-16 04:34:00 +02:00
Přemysl Eric Janouch 7f6db9d39f
Improve WebSocket shutdown 2018-10-16 04:33:59 +02:00
Přemysl Eric Janouch 7cefdd496f
Cleanup 2018-10-16 04:05:42 +02:00
Přemysl Eric Janouch e9530f450e
Call ws_handler_start() 2018-10-16 01:47:51 +02:00
Přemysl Eric Janouch dda22c2cd5
Eliminate unnecessary user_data pointers
The CONTAINER_OF macro can find the parent structure just as well.
2018-10-16 01:47:50 +02:00
Přemysl Eric Janouch 7aff9c3475
Improve documentation 2018-10-16 01:47:50 +02:00
Přemysl Eric Janouch a14edb72e9
Make Doxygen a bit more useful 2018-10-15 05:07:57 +02:00
Přemysl Eric Janouch 267a9a561b
Eliminate some warnings 2018-10-15 03:28:09 +02:00
Přemysl Eric Janouch 441c89f654
Handle FastCGI null request IDs better 2018-10-15 03:04:39 +02:00
Přemysl Eric Janouch 14ded260a0
Clarify and degrade FastCGI multiplexing
No need to support more than 255 concurrent requests on one connection.
2018-10-15 03:02:49 +02:00
Přemysl Eric Janouch 8b334e9c91
Fix fcgi_muxer_send()
Outgoing records were missing padding and the reserved field.
2018-10-13 04:08:43 +02:00
Přemysl Eric Janouch fd17b4e504
Update code comments 2018-10-13 04:07:45 +02:00
Přemysl Eric Janouch d182bcef3b
More transient errors 2018-10-12 20:02:42 +02:00
Přemysl Eric Janouch 329fc9b88f
Bump liberty
Eliminates some fall-through warnings.
2018-10-11 21:03:34 +02:00
Přemysl Eric Janouch 711d73f481
Fix text message UTF-8 validation 2018-06-24 06:12:16 +02:00
Přemysl Eric Janouch df340c13ed
Add the missing Date header 2018-06-24 06:12:16 +02:00
Přemysl Eric Janouch 8e986a6040
Remove .travis.yml
We don't depend on any proprietary services no longer.  I'll have to
make my own replacements with blackjack and hookers.  Until then,
the file stays in the commit log as an example.
2018-06-24 06:12:16 +02:00
Přemysl Eric Janouch 131debe985
Bump liberty 2018-06-24 06:12:16 +02:00
Přemysl Eric Janouch b312c022ae
Update README 2018-06-24 00:42:59 +02:00
Přemysl Eric Janouch 4078c8845c
Relicense to 0BSD, update mail address
I've come to the conclusion that copyright mostly just stands in the way
of software development.  In my jurisdiction I cannot give up my own
copyright and 0BSD seems to be the closest thing to public domain.

The updated mail address, also used in my author/committer lines,
is shorter and looks nicer.  People rarely interact anyway.
2018-06-24 00:21:10 +02:00
Přemysl Eric Janouch 333efdc70f
CMakeLists.txt: fix variable name 2018-06-24 00:15:53 +02:00
Přemysl Eric Janouch 5e88608286
Bump liberty and http-parser 2017-06-20 14:04:40 +02:00
Přemysl Eric Janouch ca90e9df83
Fix teardown 2017-06-20 14:01:23 +02:00
Přemysl Eric Janouch 419147beec
Update README 2017-06-20 14:01:10 +02:00
Přemysl Eric Janouch b85d1d74a4
Don't respond to notifications 2017-02-06 20:48:14 +01:00
Přemysl Eric Janouch d35e733c6e
Bump liberty
Fixing a bug in the WebSocket frame parser.
2017-02-06 19:47:24 +01:00
Přemysl Eric Janouch e6f9e53229
Fix segfault in WebSocket parsing 2017-02-06 18:51:52 +01:00
Přemysl Eric Janouch 2986f6cda0
Fix segfault on client destruction etc. 2017-02-06 18:30:02 +01:00
Přemysl Eric Janouch c4ebf2ccd5
Fix segfault on missing Sec-WebSocket-Key 2017-02-06 18:28:53 +01:00
Přemysl Eric Janouch a785dc9670
WebSocket: fix header parsing 2017-02-06 18:28:40 +01:00
Přemysl Eric Janouch 2b7d455471
Fix quitting 2017-02-06 17:18:24 +01:00
Přemysl Eric Janouch 0ec0685714
Bump liberty 2017-02-05 22:44:01 +01:00
Přemysl Eric Janouch 733451cf2a
Fix and update LICENSE 2017-02-03 22:43:09 +01:00
Přemysl Eric Janouch 369f94f5ab
Travis CI: brevify notifications 2017-02-03 22:38:56 +01:00
Přemysl Eric Janouch 7b94a03e8c Update IRC server address 2016-03-14 21:18:27 +01:00
Přemysl Eric Janouch 8b66a3f074 Bump liberty 2016-01-17 04:48:17 +01:00
Přemysl Eric Janouch f273151447 Overall revision after a year
Use something closer to inheritance for clients
2016-01-17 04:48:00 +01:00
Přemysl Eric Janouch a95867dbee Fix daemonization 2016-01-16 22:33:57 +01:00