-
Notifications
You must be signed in to change notification settings - Fork 0
/
VERSION
86 lines (74 loc) · 3.98 KB
/
VERSION
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
1.1.101 2018.07.21
* Add client's raw_ip_address, ip_address, and port to struct HTTP_THREAD
* Improve HTTP header decoding. Always Uppercase header name; properly validate characters that make the header name
* Fix crash due to data_header_len not being set to 0 on IHTTP_THREAD_RESET_CLOSE
1.1.100 2017.11.27
* Add support for applications to dynamically generate the error page contents and headers
* Add ability to set get_error_page_content function
* Add support for listening on multiple sockets at once using select(2)
* Perform better when server queue is almost full, handle slow loris attack better
* Add queue_load — an integer indicating a percentage of how full the queue is at a time of request
* Add request_time — unix timestamp with milliseconds of when the thread started handling the request
* Set SO_RCVTIMEO and SO_SNDTIMEO socket options based on how loaded is the queue
* Improvements and fixes in thread queue tracking
* Rename ihttp_init_socket function to ihttp_add_listener
* Set SOCK_CLOEXEC, TCP_DEFER_ACCEPT and TCP_FASTOPEN socket options in ihttp_add_listener if possible
* Add IHTTP_SOMAXCONN, IHTTP_SEND_RECV_TIMEOUT_SEC, IHTTP_QUEUE_HIGH_LOAD, IHTTP_HLOAD_SEND_RECV_TIMEOUT_SEC constants
* Add ihttp_set_response_status function
* Rename http_set_status function to ihttp_set_response_status
* Add ihttp_recieve, ihttp_recieve_all and ihttp_send functions
* More cleaner and faster HTTP response status and header sending
* Fixed couple memory leaks
* General code cleanup and improvements
1.1.007 2017.06.20
* Fix crash when POST data is malformed
* Add ihttp_parse_query_string function
* Improve how POST of type application/x-www-form-urlencoded handles malformed data
* Improve ihttp_decode function to handle + and to ignore malformed encoded data
* Add HTTP 409 and HTTP 500 statuses
* Add IHTTP_VERSION constant
1.1.006 2016.11.17
* Add basic Cookie header parsing
* Add HTTP 403 status
* When sending HTTP error response, don't print connection error if client had closed the connection
1.1.005 2015.11.04
* Switch to work queue thread model
* Fix possible array overflow when all threads are busy
* Disable SIGPIPE signal emission from send() when the client closed connection
* Reduse HTTP persistent connection timeout from 5 seconds to 3 seconds
* Ignore EPIPE and ECONNRESET errors
* Move some variables out of struct HTTP_THREAD into thread's stack
1.1.004 2015.08.06
* Add ihttp_close_connection function
* Add ihttp_utoc function and use it instead of itoa
* Add ihttp_ctou function and use it instead of strtol
* Set Content-Length header without using sprintf
1.1.003 2015.04.01
* Improve recieving of HTTP requests larger than 4096 bytes
* Improve POST of type application/x-www-form-urlencoded request handling
* Add ihttp_decode function
1.1.002 2014.06.05
* Switch from joinable threads to deatachable
* Implement HTTP Pipeline and HTTP persistent connection support
* Fix SO_SNDTIMEO and improve data recieving function
1.1.001 2014.04.10
* Add http_set_status, http_add_header, http_set_header, http_rem_header functions
* Do some preparatory work for HTTP Pipeline and Persistent connections support
1.1.000 2014.04.06
* Switch server's HTTP version to 1.1
* Optimization in request's status line parsing
* Implement thread id and proper variable for all thread's http data
* New http_server struct, for all the server data
* Fix socket timeout constant
1.0.002 2014.03.31
* Add request and response struct's in the main thread struct
* Move some variables to appropriate request and response structs
* Define constants for setting HTTP 200, 400, 404 status responses
1.0.001 2013.08.16
* Support for POST percent encoding
1.0.000 2013.07.12
* Initial release
* Very basic implementation of HTTP 1.0 GET and POST application/x-www-form-urlencoded
* Simple constant 400 and 404 error pages
* Integrated file server with support of file lockup table
* Pthread thread spawning without persistent connection