Commit Graph

317 Commits

Author SHA1 Message Date
57587a5454 fixed a minor glitch in bin/t03.c 2020-06-09 05:52:30 +00:00
b8f96c0b74 captured X-HTTP-Method-Override in http-thr.c 2020-06-08 18:11:36 +00:00
a910dd533c enhanced the json reader to handle unicode surrogate pairs 2020-06-08 11:08:22 +00:00
9e0161c58f added '\a' and '\v' to json escaping 2020-06-08 09:25:09 +00:00
52ddb45e75 renamed dictionary to object in json code 2020-06-07 14:44:54 +00:00
378f148f73 added the container_state parameter to the mio_json_instcb_t callback 2020-06-06 19:45:11 +00:00
2174c1bd9b enhanced mio_json_instcb_t to accept a position with a parent container 2020-06-06 18:53:09 +00:00
fef7c29e70 removed duplicate code 2020-06-03 07:57:15 +00:00
c2c3d00ff2 added the rctx field to mio_json_t
changed mio_json_instcb_t to get passed the content pointer
2020-06-02 09:49:08 +00:00
cfd80f778c added MIO_HTTP_PATCH 2020-06-02 09:43:55 +00:00
3752a0f4c4 enhanced htrd to extract the anchor part from the requested URI.
added mio_htre_getqanchor()
2020-06-02 06:41:20 +00:00
e194ed01ff added mio_jsonwr_writerawuchars() 2020-06-01 09:09:40 +00:00
a281cfaceb added mio_jsonwr_writerawbytes() 2020-06-01 09:05:47 +00:00
3e45c5cfdf added more json write macros 2020-06-01 09:01:46 +00:00
775a9b4735 added the ctx parameter to the json write callback 2020-06-01 08:52:43 +00:00
25e3744571 added more json writing macros for convenience 2020-06-01 07:32:28 +00:00
0ec6a6cb58 implemented a primitive json writer - needs much more improvement 2020-05-31 17:36:11 +00:00
4fa9f7f295 adding bin/t03.c 2020-05-30 06:58:55 +00:00
7c726ee1da enhanced json code 2020-05-30 06:57:37 +00:00
b895566323 adding a simple json reader 2020-05-29 11:35:20 +00:00
ac2cbddd67 changed to use MIO_IP4ADDR_LEN and MIO_IP6ADDR_LEN in some functions 2020-05-27 15:03:10 +00:00
a40827b07b added mio_uchars_to_ipad_bytes() and mio_bchars_to_ipad_bytes() 2020-05-27 14:53:48 +00:00
10475bb7fd added mio_uchars_to_uintmax() and mio_bchars_to_uintmax() 2020-05-27 10:04:13 +00:00
9d2147c245 added MIO_ZDIGIT_TO_NUM() 2020-05-27 09:53:55 +00:00
349d0f0181 added mio_perdec_http_bcs() 2020-05-27 02:32:51 +00:00
aecf00b6fa trying to migrate an irrelevant function 2020-05-26 15:31:39 +00:00
7b1dd536ed added mio_svc_htts_dotxt() 2020-05-26 14:58:55 +00:00
469819f8dc added http-txt.c 2020-05-26 13:15:25 +00:00
1448cc16fd removed a wrong line in t01.c 2020-05-26 02:17:04 +00:00
a987655b29 changed a test program slightly 2020-05-26 01:22:28 +00:00
4f8abcf0c5 added mio_bchars_to_intmax(), mio_uchars_to_intmax().
coded the first working thread interface for the http server
2020-05-26 01:13:34 +00:00
b112280225 breaking http-svr.c to multiple files 2020-05-25 08:04:30 +00:00
8178d44ec0 fixed the premature EOF reporting caused by a file descriptor added without intention of input/output watching. as EPOLLHUP is always waited for, it caused early EOF reporting 2020-05-24 19:29:35 +00:00
d622202db1 fixed a bug in cgi_peer_on_write() 2020-05-24 17:58:08 +00:00
c01a84e20b changed mux-poll again 2020-05-24 17:40:47 +00:00
829267edd7 changed mux-poll implementation 2020-05-24 17:25:27 +00:00
7613f09bed worked around the premature EOF reporting issue with poll() on NetBSD 2020-05-24 09:38:08 +00:00
fd930a4173 fixed a bug in sending the final chunk when the cgi script exits with no output 2020-05-24 07:13:42 +00:00
21d51cbbf9 improved how to clear and set basic environment variables in http-svr.c 2020-05-24 02:48:51 +00:00
8f7dcbe479 fixed to clear environment variables when clearenv() is not available 2020-05-24 02:35:13 +00:00
bc9d849b8a fixed some memory leaks in mio_sys_finimux() when EPOLL is enabled.
fixed a double memory free issue in mio_dev_make()
2020-05-24 02:27:54 +00:00
bf595d51f1 added MIO_DEV_CAP_WATCH_STARTED to fix a bug 2020-05-24 02:04:07 +00:00
1f8372f35d fixed to initialize urem in __dev_writev()
added MIO_DEV_SCK_BIND_IGNERR
implemented MIO_DEV_PRO_INTONUL, MIO_DEV_PRO_OUTTONUL, MIO_DEV_PRO_ERRTONUL, MIO_DEV_PRO_DROPIN, MIO_DEV_PRO_DROPOUT, MIO_DEV_PRO_DROERR
2020-05-24 01:18:32 +00:00
7051862205 added clearenv check in configure.ac 2020-05-23 06:46:55 +00:00
bdd6d55e99 calling clearenv() only if it's avaialble 2020-05-23 06:44:19 +00:00
0623260ec4 added mio_cfmb_t, mio_addcfmb(), and related functions and macros to handle a memory block that can't be freed immediately 2020-05-23 06:07:43 +00:00
c441abdbfb cleaning up mio_dev_thr_t code 2020-05-22 19:06:57 +00:00
9c95db02e5 implementing mio_dev_thr_t 2020-05-21 17:05:40 +00:00
c525007961 added two missed lib/Makefile.am 2020-05-21 10:30:07 +00:00
f53acd969d implemented the pipe device 2020-05-21 10:15:57 +00:00
9ecec52f5f attempting to support thread resource in http server 2020-05-21 07:30:14 +00:00
aa5c70c3f5 added mio_dupbcstrs() and mio_dupucstrs()
changed mio_svc_htts_start() to access the main processor callback
2020-05-20 16:14:36 +00:00
f373f367b3 fixed wrong length types in mio_copy_bchars_to_bcstr() and mio_copy_uchars_to_ucstr()
fixed the wrong value defined for MIO_SKAD_TO_OOCSTR_PORT
set various environment variables before starting a cgi script
2020-05-20 14:53:05 +00:00
d95bc9bc92 in the midst of debugging http server code 2020-05-20 10:25:12 +00:00
914dd35b37 checked if a file is executable in mio_svc_htts_docgi() 2020-05-19 18:07:28 +00:00
bc615bb710 fixed bugs in http server cgi handling 2020-05-19 18:00:49 +00:00
bdaa548a4a fixed a problem of delayed handling of halted devices when there are no events and timer jobs 2020-05-19 12:09:13 +00:00
4b3bfc51fc some code cleanup 2020-05-19 09:40:03 +00:00
fc26f4a6c3 still working on cgi handling in http server 2020-05-19 09:11:39 +00:00
362ae444fc cleaning up cgi handling code in http server 2020-05-18 16:40:00 +00:00
576fc79e51 changed get_request_content_length() a bit 2020-05-18 09:12:36 +00:00
b687e97590 simplifying http server code while debugging and enhancing it 2020-05-18 08:59:25 +00:00
f6aee2c356 added a test script 2020-05-17 18:10:44 +00:00
df71944ac6 working on http server 2020-05-17 18:09:19 +00:00
1e85b73566 debugging http server's cgi handling 2020-05-16 19:52:50 +00:00
619a7dd318 quite some changes to http server code 2020-05-16 19:12:10 +00:00
98e2838edf made minor changes 2020-05-16 04:52:06 +00:00
57ca185651 changed to clear the on_write callbacks for completed write requestrs after having triggered timer callbacks collectively and also before triggering on_read() for each device
cleaned up debugging messages in dns-cli.c
experimenting with http server implementation
2020-05-15 06:18:49 +00:00
cc74d317a2 fixed some bugs 2020-05-12 17:53:19 +00:00
02a6d5db1e enhanced to maintain client sockets in the http server 2020-05-12 11:46:00 +00:00
6cb06f8b57 changed mio_exec() to kill the device if the on_write callback() returns failure. before this change, mio_exec() also returned -1, causing mio_loop() to abort 2020-05-10 16:20:39 +00:00
e2115286ec enhanced mio_dev_watch and MIO_DEV_WATCH_RENEW.
drafting resource handling code in the http server
2020-05-08 09:48:26 +00:00
89335404c8 experimenting for htts implementation 2020-05-07 15:47:33 +00:00
4282eb979a added mio_svc_htts_setservernamewithbcstr() 2020-05-07 10:10:33 +00:00
0baa0820ae added MIO_DEV_SCK_LENIENT to set on the state field of a socket device
added MIO_DEV_SCK_BIND_LENIENT to use to set MIO_DEV_SCK_LENIENT on a listening socket.
fixed some minor bugs here and there
2020-05-07 04:32:32 +00:00
b9a47faff6 reverted wrong changes in htre.c 2020-05-06 09:55:35 +00:00
e96cb2ebb4 added mio_sys_getrealtime()
writing http server
2020-05-06 09:28:36 +00:00
2df338ee9a writing the http server service 2020-05-05 15:12:08 +00:00
0087bf8b12 renamed _HEADERS to _HEADER 2020-05-04 17:51:47 +00:00
d9a7bac9f8 added path canonicalization functions 2020-05-04 08:40:05 +00:00
f6c4e55337 renamed the link fields of mio_q_t, mio_wq_t, mio_cwq_t 2020-05-03 16:02:56 +00:00
a69d2401c0 fixed a bug in killing a slave in the pro device 2020-05-01 18:56:33 +00:00
49ad401433 added some http processing code 2020-05-01 18:01:29 +00:00
a2f0fa9c7f added much more support code 2020-05-01 14:00:27 +00:00
f1aa019091 added ecs and htb 2020-04-30 16:20:31 +00:00
26b720099c made list management more consistent 2020-04-30 14:48:39 +00:00
d3a74e1075 renamed mio-sys.h to sys-prv.h 2020-04-30 02:28:09 +00:00
8cb48d5665 removed unneeded text from configure.ac 2020-04-30 02:19:50 +00:00
1e46aab4ba added mio_ipad_bytes_to_bcstr() and mio_ipad_bytes_to_ucstr() 2020-04-29 02:57:27 +00:00
ec33f042d3 minor comment changes 2020-04-28 11:33:54 +00:00
c52ce87aa4 fixed a parsing bug of a compressed domain name placed at the end of the packet 2020-04-28 11:27:24 +00:00
a0545235dd fixed wrong conditions in lib/dns.c 2020-04-28 10:27:41 +00:00
b1c205626a added mio_skad_init_for_ip_with_bytes() 2020-04-28 02:44:13 +00:00
56315ef7c5 added hash macros 2020-04-27 15:18:23 +00:00
31885f8cbf enhanced with trivial code changes 2020-04-27 14:09:47 +00:00
5e5ea2ed58 added the default mmgr 2020-04-27 04:15:11 +00:00
4aa4528d28 added mio_dev_getmio() 2020-04-27 04:11:49 +00:00
d8b1619290 minor #include fix in lib/mio-skad.h 2020-04-23 07:24:22 +00:00
1a8cb3610b added some files for future work 2020-03-03 13:47:51 +00:00
252c801544 recorded some TODO items in the comment 2020-03-03 08:49:24 +00:00
497c1b8455 fixed a commented not prefixed with dnl in configure.ac 2020-03-02 13:45:36 +00:00
1cd2510bcd defined mio_svc_dnc_send_flag_t to use with mio_svc_dnc_sendmsg() and mio_svc_dnc_sendreq() 2020-03-02 05:16:37 +00:00
b801ff6703 implemented soa rr encoding in dnc 2020-03-02 04:58:22 +00:00
aeba287690 added MIO_SVC_DNC_RESOLVE_FLAG_PREFER_TCP.
added an additional parameter 'prefer_tcp' to mio_svc_dnc_sendreq() and mio_svc_dnc_sendmsg()
2020-03-01 17:43:42 +00:00
247184282f implemented proper tcp packet reading in dnc 2020-02-29 16:56:36 +00:00
9d10edb77e some pseudo code for proper reading over dnc tcp 2020-02-28 08:10:29 +00:00
f9a0f3bc00 added some tcp transport code for dnc 2020-02-28 07:41:25 +00:00
d717c25a2b changed on_reply to on_done in dns client code
added some tcp transport code in dns client
2020-02-27 17:34:27 +00:00
72689c179b addeed some dns client code 2020-02-27 08:40:39 +00:00
71ffd4ce17 changed mio_dev_sck_connect() to not fire on_connect() callback inside itself upon immediate successful connect.
fixed some issues in dns related code
2020-02-25 07:09:20 +00:00
9ef09941c3 initialized capa to 0 in to_dn_capa() 2020-02-24 17:14:21 +00:00
8264142dbe enhanced dns packet builder to encode some rrdata 2020-02-24 16:39:29 +00:00
d98397cd1f added mio_dev_sck_setsockopt(), mio_dev_sck_getsockopt()
fixed the ssl part of the stateful socket writev method.
2020-02-23 16:11:32 +00:00
75887e4f74 adding writev support 2020-02-22 18:24:49 +00:00
052e10694d adding mio_dev_timedwritev() 2020-02-21 16:58:41 +00:00
ef50d2458b some code to implement dns over tcp in dnc 2020-02-21 09:42:10 +00:00
c620afe4c9 separated dnc code from dns.c to dns-cli.c 2020-02-21 04:21:16 +00:00
6787ee7841 updated copyright years.
attempting to support dns over tcp
2020-02-20 15:35:16 +00:00
2332d6a4e7 renamed some utility functions 2020-02-20 14:59:49 +00:00
f5f8b9e2b4 enhanced mio_equal_skads() 2020-02-20 10:07:12 +00:00
e73d822d0a added intmax formatting functions 2020-02-20 06:48:43 +00:00
e19490a505 changed to remember the server address for each dns message sent 2020-02-20 06:21:53 +00:00
3d20fc7421 reorganized and enhanced socket address functions 2020-02-20 06:00:53 +00:00
c5e8e902aa fixed a dns packet check issue in dns.c 2020-02-19 15:42:29 +00:00
73eff3822b added PTR parsing.
added string to skad conversion functions
2020-02-19 14:59:06 +00:00
51865ceaa8 deleted a duplicate definition 2020-02-19 05:46:58 +00:00
69d16b7050 fixed configure.ac regarding __uint128_t 2020-02-19 05:44:29 +00:00
ee0fe1b408 enhanced rr data parsing 2020-02-17 14:54:21 +00:00
616384b042 added nwif functions 2020-02-16 14:23:27 +00:00
201bbf20a1 added unfinished socket address functions 2020-02-16 13:59:41 +00:00
a3b2645cb7 implemented dnc resolve retries 2020-02-16 11:03:25 +00:00
5b9fb40ba5 attempting to implement retries in dnc resolve 2020-02-14 16:55:04 +00:00
20de4ae2db handled MIO_DNS_RRT_Q_ANY/MAILA/MAILB/AXFR in brief mode of dnc resolve 2020-02-14 10:13:45 +00:00
11e50cd5c8 simplified mio_svc_dnc_resolve(), mio_svc_dnc_sendreq().
changed the above and some similar functions to return mio_dns_msg_t*
changed them to accept extension space size
2020-02-14 10:06:29 +00:00
769fdb5ad2 some code touch-up in dns.c 2020-02-13 16:27:29 +00:00
4e6a1b7d85 added some code to implement dns packet parser 2020-02-13 09:31:02 +00:00
192e64b65c more code to handle rrdata 2020-02-12 15:23:36 +00:00
d0906bb8ac implemented dns domain parser in a packet 2020-02-12 10:06:05 +00:00
42fe77bde5 attempting to add a dns packet parser 2020-02-11 15:51:41 +00:00
c6e3b6204b some dns resolver code 2020-02-11 09:02:46 +00:00
89371559bb fixed wrong prefix output for %# in fmt.c 2019-11-24 08:08:08 +00:00
d95b96b34e fixed a wrong conditional in mio-prv.h 2019-11-24 05:10:55 +00:00
ec1c9ac5d0 added mio_oocu_t, mio_ucu_t, mio_bcu_t 2019-11-19 14:02:26 +00:00
2c4e247c98 added MIO_BITSOF(x) 2019-09-26 05:43:04 +00:00
29195437a7 added static assertion macros 2019-08-06 03:01:22 +00:00
2ad04e20da not useful macro reordering 2019-06-24 11:38:13 +00:00
f94280bae4 added bin/Makefile.am 2019-06-21 14:19:39 +00:00
6d357fe1fe added the _instsize field to mio_t and revised mio_getxtn() using the new field 2019-06-21 12:43:50 +00:00
86c1d9ebe6 added lib/fmt.c 2019-05-31 14:32:02 +00:00
3f60b8e4e8 refactored the formatter code 2019-05-31 14:31:40 +00:00