Commit Graph

1431 Commits

Author SHA1 Message Date
Martin Chang f87a6ca1b8
Disable strict compiler check on Windows with GCC (#927) 2021-07-11 12:29:37 +08:00
Martin Chang 3b600232be
error on failing to create view from CSP (#924) 2021-07-09 07:58:03 +08:00
Sebastián González a02d8e402c
Add Redis example (#918) 2021-07-06 23:02:11 +08:00
PColis c5398b26cb
Update CacheFile.cc (#916)
On Windows, ftell returns a 32 bits signed integer.
On Windows we had to use _ftelli64 to return a signed 64 bits integer.
2021-07-02 19:08:28 +08:00
Martin Chang 0efd0c34c1
Generic optimizations (#913) 2021-06-30 23:37:59 +08:00
James Armes 5245f136b7
Add GCC-compatible warnings to the example executables (#910) 2021-06-27 09:54:02 +08:00
Martin Chang 0e7637daf6
Fix clang-format 12 putting {} of a lambda body on the next line (#905) 2021-06-25 23:59:09 +08:00
Martin Chang 04c7c7eb22
Fix WS client example not working with integration_test_server and print error when WS encounters bad IP address (#902) 2021-06-24 23:29:50 +08:00
an-tao dbb51c1e6a Bump version to 1.7.1 2021-06-24 14:48:38 +08:00
Martin Chang b8d820fc2a
Fix single layer directory traversal in StaticFileRouter (#901)
The StaticFileRouter can access file in the immediate parent directory if the
client sends a specially crafted, non RFC conforming HTTP 1.x request. By
sending a HTTP request without a "/" predicating the path. The StaticFileRouter
fails to detect directory traversal since it checks for "/../" in the path.

This PR fixes the issue by detecting if there's potential for directory
traversal. If true, we follow the path and detect if it reaches out of the
document root at any point. Also added 2 new tests for edge cases in static
file serving. (Not related to the bug).

Co-authored-by: an-tao <antao2002@gmail.com>
Bug discovered by: oToToT <https://github.com/oToToT>
2021-06-24 13:04:19 +08:00
QuickWrite 065675486d
Fixed typos (#900)
Just some typos were fixed and nothing more. (Nothing significant)

What has changed:

* Some rewording and corrections

* Updated the requested changes

Co-Authored-By: Rafał Bugajewski <24480+rbugajewski@users.noreply.github.com>

* clang-format

Co-authored-by: Rafał Bugajewski <24480+rbugajewski@users.noreply.github.com>
Co-authored-by: an-tao <antao2002@gmail.com>
2021-06-23 20:44:45 +02:00
Martin Chang 6a882841f1
Fix typos (#899) 2021-06-22 15:08:06 +08:00
Martin Chang cd46b4a488
Add jsonstore example (#894)
Adds a minimal useful RESTful API example to showcase how to build APIs in Drogon. The added example is multi-threaded and stores data in memory.
2021-06-19 22:55:44 +08:00
Rafał Bugajewski f84b709a61
Updated Dockerfile to Ubuntu 20.04 & Fixed Timezone Hangup (#895)
Co-authored-by: an-tao <antao2002@gmail.com>
Co-authored-by: Martin Chang <marty1885@users.noreply.github.com>
2021-06-19 17:37:42 +08:00
an-tao a38d67aedb Bump version to 1.7.0 2021-06-18 16:07:18 +08:00
Martin Chang 834e3eabdd
Fix CacheMap crash in CI tests (#890)
It is possible for the CacheMap to destruct while timeout callback is
active. This causes a very rare data race. And it's my hypothesis that
this is the reason behind CacheMap crashes on CI. This patch locks the
weels upon cestructing.
2021-06-13 10:33:30 +08:00
Philip Kovacs a70a2844b1
Fix compiler warnings (#886)
Co-authored-by: an-tao <antao2002@gmail.com>
Co-authored-by: Martin Chang <marty1885@users.noreply.github.com>
2021-06-09 19:14:15 +08:00
An Tao e7ec973095
Create controller instances after running instead of after being called (#888) 2021-06-09 10:58:56 +08:00
Sebastián González b22b7c6be3
Fix helloworld url (#887) 2021-06-08 16:43:17 +08:00
An Tao 945b26dc0c
Fix routing mismatch (#885) 2021-06-07 21:35:22 +08:00
Martin Chang 4abbf76214
Optimize HttpControllersRouter for cases where regex is not needed (#883) 2021-06-07 11:57:45 +08:00
An Tao 6a3f72f2e5
Fix 'build.sh -tshared' (#882) 2021-06-04 18:45:21 +08:00
an-tao b654e35e51 Add the setCustomStatusCode method 2021-06-01 19:30:21 +08:00
Martin Chang c6b65485e1
Add minimal server side examples (#880) 2021-06-01 16:08:51 +08:00
Tommy Chiang e1cbd1b987
Add SSL_CONF_cmd support (#871) 2021-05-29 16:53:46 +08:00
Martin Chang ffc410a66e
Improve WebSocket mask handling (#875) 2021-05-29 15:11:41 +08:00
An Tao 1bddbb117a
Dos2unix (#874) 2021-05-28 09:52:34 +08:00
Philip Kovacs 802e2ae87a
change some #ifdef's to #if in db_test (#873) 2021-05-28 08:21:09 +08:00
Martin Chang 0b5075bfa9
Drogon test framework (#869) 2021-05-27 20:09:57 +08:00
An Tao afb7e853ec
Add the int type for the Row index parameter (#872) 2021-05-27 10:10:23 +08:00
An Tao 1e87c35b8f
Fix a bug of string_view for MSVC (#870) 2021-05-25 16:51:49 +08:00
An Tao 36fb3b3a40
Fix a bug when a network failure occurs on Redis connections. (#868) 2021-05-25 08:33:53 +08:00
An Tao 65a7dadbfb
Modify the way to create sqlite3 client (#867) 2021-05-25 00:21:11 +08:00
An Tao dc732fc954
Add l-reference version of optional<T> and r-reference version of Json::Value to SqlBinder operator '<<' (#863) 2021-05-22 16:10:39 +08:00
An Tao 8052c38f49
Make Json::Value as a SQL parameters type (#861) 2021-05-22 13:08:17 +08:00
An Tao 3601992546
Move resolverPtr when distorying an HttpClietImpl object (#860) 2021-05-20 13:15:59 +08:00
Martin Chang 32970172f6
Make AsyncTask only destruct when the coroutine reaches end of execution (#857) 2021-05-18 19:20:15 +08:00
An Tao 9a059aedef
Add the AccessLogger plugin (#854) 2021-05-17 21:45:18 +08:00
Martin Chang 706fc70abc
Fix sync_wait/co_future use-after-free (#855)
* Fix sync_wait and co_future heap use-after-free
* Fix sync_wait deadlock if on a single thread
* Fix WebSocketCoroTest crash
2021-05-17 19:41:16 +08:00
An Tao cd093fc97e
Add the PreSendingAdvice to AOP (#853) 2021-05-16 19:38:16 +08:00
an-tao 08351ccf98 Bump version to 1.6.0 2021-05-15 18:15:13 +08:00
Martin Chang f736e12a05
Fix double free in coroutine exception handling (#851) 2021-05-15 14:10:14 +08:00
An Tao 63738bd578
Fix [-Werror=reorder] (#852) 2021-05-15 14:09:24 +08:00
An Tao 74b3ca3db6
Set running flag to true before installing plugins (#849) 2021-05-12 23:50:29 +08:00
陈晓林 e478b63dda
Add support 'select <db>' for redis (#847)
Co-authored-by: an-tao <antao2002@gmail.com>
2021-05-12 18:32:49 +08:00
Martin Chang 0e70be0a95
Fix coroutine frame leak upon assigning to awaitable (#848) 2021-05-12 16:05:20 +08:00
Philip Kovacs 2c53cf086a
Add missing mutex include (#845) 2021-05-11 09:24:14 +08:00
An Tao 471488eef1
Use two-phase construction for the DbClientImpl and the RedisClientImpl (#844) 2021-05-10 08:31:21 +08:00
LynxesExe f8e56d85dd
Allow users to override drogon Find modules (#843) 2021-05-09 07:26:46 +08:00
Martin Chang 6bfbf97eea
Print error before terminating in AsyncTask (#841) 2021-05-06 17:50:11 +08:00