Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add http support to hercules (api-server) #3198

Merged
merged 301 commits into from
Apr 13, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
301 commits
Select commit Hold shift + click to select a range
05131e5
Add missing static keyword in aclif.c
4144 Jul 8, 2020
c8f2781
Add all headers into HPMapi.c
4144 Jul 9, 2020
afe3287
Fix random compilation error with ccache
4144 Jul 11, 2020
76eb605
Add support for basic connection between api and login servers
4144 Jul 11, 2020
b70defd
Fix auth token generation
4144 Jul 14, 2020
72d7554
Send player connect/disconnect events and auth token to api server
4144 Jul 14, 2020
eaa035b
Add account id validation in requests to api server
4144 Jul 14, 2020
e26f03c
Add flag for show http headers in dumping requests function
4144 Jul 14, 2020
9e7cbab
Send char servers information to api server
4144 Jul 14, 2020
97d3e93
Add validation in http requests for WorldName field
4144 Jul 14, 2020
0f5d78f
Add auth token validation in api requests
4144 Jul 14, 2020
cbb2482
Add combined api flags REQ_API and REQ_API_AUTH
4144 Jul 14, 2020
0a76bed
Add functions in api server in aclif for add/remove char server
4144 Jul 14, 2020
37979d0
Remove disconnected players from api server with some delay
4144 Jul 14, 2020
d3da498
Add proxy packets support for send packets from api to char server
4144 Jul 16, 2020
81093dc
Add data handlers for most existing http handlers
4144 Jul 16, 2020
6121e14
Add api requests flag handled.
4144 Jul 17, 2020
3af53c6
Add structs for api to char proxy packets
4144 Jul 18, 2020
d89b3c2
Add to .gitignore python temp files and ccache directory
4144 Jul 18, 2020
e56feb7
Allow send custom data in api request packets to char server
4144 Jul 18, 2020
1d5f0ea
Fix memory leak in adding char server in api server
4144 Jul 18, 2020
9b75fbd
Disconnect api server from login server in correct way
4144 Jul 18, 2020
490ac40
Show messages about char server connect/disconnect
4144 Jul 19, 2020
79d703d
Add flag and validation for char id in http requests
4144 Jul 19, 2020
8eb4104
Send char id to api server after player select char
4144 Jul 20, 2020
61e61c4
Remove hardcoded constant WFIFO_CHARAPI_SIZE
4144 Jul 20, 2020
6bf56b5
Update http-parser lib
4144 Aug 28, 2020
34926e4
Update 3rdparty/README.txt with all libs
4144 Sep 9, 2020
2cae1ed
Add cJSON library
4144 Sep 9, 2020
0b7c656
Add empty interfaces jsonparser and jsonwriter
4144 Sep 10, 2020
bb28dfa
Add basic methods for craft json in jsonwriter
4144 Sep 10, 2020
a673ba5
Add method into httpsender for send json by http
4144 Sep 10, 2020
eb443ba
Use jsonwriter in handler userconfig_load
4144 Sep 10, 2020
3e63b30
Move hardcoded emotes into char server
4144 Sep 11, 2020
31e0a62
Add basic methods into jsonparser
4144 Sep 11, 2020
1980dbd
Add into aclif method for get json object from post header
4144 Sep 12, 2020
960b8e7
Parse userconfig_save and send emotes to char server
4144 Sep 12, 2020
ba087c5
Add emotes packet and handler for userconfig_save http request
4144 Sep 12, 2020
803fd01
Remove userconfig_save_emotes handler
4144 Sep 12, 2020
1974074
Add sql table emotes
4144 Sep 12, 2020
3ec500b
Add support for load/save emotes from/to db
4144 Sep 12, 2020
d0f608b
Add emblem_upload empty http handler
4144 Sep 12, 2020
40f8f5e
Add url handler flag for check for guild id in post headers
4144 Sep 12, 2020
962efb3
Allow combine post header data from miltiply parts
4144 Sep 14, 2020
58417e9
Add url handler flag for check is field ImgType present
4144 Sep 14, 2020
823c905
Add url handler flag for check is field Img present and using correct…
4144 Sep 14, 2020
917347a
Validate number of post headers in request related to url parsing flags
4144 Sep 14, 2020
87f69a5
Add into sql interface method for exec query string and fetch
4144 Sep 14, 2020
45c8470
Add basic validation for uploaded emblem types
4144 Sep 14, 2020
2144a7b
Add macroses for allow send split packets
4144 Sep 14, 2020
fc39821
Add url handler flag for check is char for http request logged in
4144 Sep 15, 2020
e987e77
Add macroses for allow receive split packets
4144 Sep 15, 2020
35df929
Add support for upload guild emblem
4144 Sep 14, 2020
1b62fea
Add http uploaded guild emblem validation.
4144 Sep 15, 2020
e2dc4d8
Add empty handler for emblem_download
4144 Sep 15, 2020
90e1ee7
Fix typo umblem -> emblem
4144 Sep 15, 2020
9d2577a
Add url handler flag for check is version header present in http request
4144 Sep 15, 2020
2763690
Add method for send binary data in httpsender
4144 Sep 30, 2020
8d371c1
Add support for download guild emblems by from api server
4144 Sep 18, 2020
edb5cb0
Fix possible memory leaks in userconfig_save on error
4144 Oct 5, 2020
f7a590b
Convert packet CZ_REQ_GUILD_EMBLEM_IMG into struct
4144 Oct 5, 2020
fff3443
Update packet CZ_REQ_GUILD_EMBLEM_IMG
4144 Oct 6, 2020
ed488bf
Convert ZC_CHANGE_GUILD into struct
4144 Oct 6, 2020
7b5020e
Fix HPM compilation
4144 Oct 6, 2020
f748962
Update packet ZC_CHANGE_GUILD
4144 Oct 6, 2020
bffdb43
Rename clif_guild_emblem_area into clif_guild_emblem_id_area
4144 Oct 6, 2020
de684cd
Update HPM
4144 Oct 6, 2020
787c2f1
Convert packet ZC_GUILD_EMBLEM_IMG into struct
4144 Oct 6, 2020
f9c165d
Update packet ZC_GUILD_EMBLEM_IMG
4144 Oct 10, 2020
f133fad
Update HPM
4144 Oct 10, 2020
f255bf9
Add api server into HPM files
4144 Oct 10, 2020
f97ac37
Remove achrif.c and achrif.h
4144 Oct 10, 2020
b75e9aa
Fix packet send in clif_friendslist_send
4144 Oct 12, 2020
7b4b841
Add llhttp as alternative for http-parser library
4144 Oct 14, 2020
42b72f4
Update HPM
4144 Oct 14, 2020
6129984
Add support for llhttp library as alternative http parser.
4144 Oct 14, 2020
71e6f55
Use typedef for allow use same HPM code for any http library
4144 Oct 14, 2020
edba9fc
Add http flag for json data field
4144 Oct 14, 2020
60dacd6
Split http handlers registation into two functions
4144 Oct 14, 2020
16862f9
Update HPM
4144 Oct 14, 2020
30e3b2f
Add missing HPET_INIT trigger into api server init code
4144 Oct 14, 2020
10bf12d
Add api server into sample plugin without hooking for now
4144 Oct 14, 2020
8058c1f
Add support for parsing http headers from small tcp packets
4144 Oct 15, 2020
783ad6e
Improve buffer allocation in parsing http headers
4144 Oct 15, 2020
06fdc46
Change direct http parser method usage into functions
4144 Oct 15, 2020
c972ad5
Rename macro LOAD_ASYNC_DATA into SEND_ASYNC_DATA
4144 Oct 19, 2020
3a3552f
Add function type validation into api server macros addHttpHandler
4144 Oct 19, 2020
d40ea96
Add missing version for packet PACKET_CZ_REQ_GUILD_EMBLEM_IMG
4144 Oct 19, 2020
743a005
fix clif_parse_GuildRequestEmblem2
4144 Apr 10, 2023
4ae60e9
Update HPM
4144 Oct 19, 2020
81c06bc
Allow only multipart/form-data for POST requests
4144 Oct 20, 2020
fb9807f
Fix hpm methods generation for handlers interface
4144 Oct 22, 2020
5a9f832
Update HPM
4144 Oct 22, 2020
efb1ce4
Fix detecting in api server if player reconnected from map to char se…
4144 Oct 28, 2020
fb63faa
In api server move actions with remove timer into separate functions
4144 Oct 28, 2020
6955251
Add api server into athena-start
4144 Oct 31, 2020
78c1da5
Add test for chunked packets send/receive
4144 Oct 31, 2020
5084106
Introduce for chunked packets macro RFIFO_CHUNKED_ERROR and rename ot…
4144 Nov 2, 2020
657535a
Validate custom packet field in chunked packets send/recv tests
4144 Nov 2, 2020
f04dcca
Update HPM
4144 Nov 22, 2020
059b3f9
Fix compilation with mingw
4144 Feb 18, 2021
43b6c13
Add workaround for visual studio bug with empty arrays
4144 Feb 18, 2021
0b691b9
Remove empty structures becuase visual studio not like empty structs
4144 Feb 18, 2021
5d69e7f
Add api server into vs 2019 project files
4144 Feb 18, 2021
166fb77
Add more basic functions into json parser
4144 Feb 19, 2021
d79e837
Add more basic functions into jsonwriter
4144 Feb 22, 2021
7b53b86
Add sql update for hotkeys
4144 Feb 22, 2021
ec96435
Add support for hotkeys v2
4144 Feb 22, 2021
420f457
Update HPM
4144 Feb 22, 2021
c55e3f4
Add missing word 'new' into jsonwriter functions
4144 Feb 22, 2021
e6a95c1
Update HPM
4144 Feb 22, 2021
d274a5a
Add most party http handlers without actual code
4144 Apr 1, 2021
feb2b0c
Add method for return int post header in aclif
4144 Apr 3, 2021
993673c
Parse and send http request party_add
4144 Apr 3, 2021
7994655
Add api for access only valid post constants in current http handler
4144 Apr 3, 2021
f7ab77d
Update my copyrights year
4144 Apr 5, 2021
e63c3e7
Fix compilation warning after add -Wswitch-enum compiler flag
4144 Apr 5, 2021
95de7bb
Add sql scripts for table adventurer_agency
4144 Apr 10, 2021
ce6617e
Add into JsonWriter method for create empty json
4144 Apr 10, 2021
0e2805b
Handle api url /party/add
4144 Apr 10, 2021
8886a46
Add adding request to adventurer agency and list of all requests
4144 Apr 11, 2021
9f61f6c
Impliment /party/get handler
4144 Apr 12, 2021
70e7366
Add ability update existing request in adventurer agency
4144 Apr 12, 2021
cd85417
Add ability delete existing request in adventurer agency
4144 Apr 12, 2021
11c5bab
Read char_name from adventurer agency db
4144 Apr 13, 2021
32c2691
Add defaulting of login ip on api server connection
Asheraf Oct 23, 2021
9ef5e4e
Add partial support for adventurer agency (incomplete)
4144 Apr 24, 2021
a649d58
Add agency party join request/result
Asheraf Oct 24, 2021
54c36c1
Add saving of agency requests queue for party leader
Asheraf Oct 24, 2021
223fcb8
Clear agency queue when leaving a party or changing the leader
Asheraf Oct 24, 2021
2511a06
Update configure
4144 Dec 2, 2021
1669a76
Fix always false condition in aclif.c
4144 Dec 13, 2021
7319394
Fix different issues after rebase to latest hercules
4144 Apr 8, 2022
db79412
Update HPM
4144 Apr 8, 2022
e99bb9d
Update llhttp to latest code
4144 Apr 8, 2022
7f97058
Rename field server_id into char_server_id in packet PACKET_API_PROXY
4144 Apr 19, 2022
77dce0a
Add flags parameter into packet PACKET_API_PROXY
4144 Apr 19, 2022
b02d0fd
Add support for proxy packets send from api server to map server
4144 Apr 19, 2022
a9152ae
Add support for pluign packets between api and login server
4144 Apr 20, 2022
53455cd
Add max connections limit from one ip to api server
4144 Apr 21, 2022
4a95938
Use RFIFO_API_PROXY_PACKET in places where it need
4144 Apr 21, 2022
e30fc76
Update copyrights year
4144 Apr 22, 2022
d34001f
Fix conflicting define DEFAULT_AUTOSAVE_INTERVAL between char and map…
4144 Apr 25, 2022
ac49585
Add support for proxy packets in plugins
4144 Apr 25, 2022
0769203
Remove http sample data from sample plugin
4144 Apr 25, 2022
7809e4e
Readd http sample code in httpsample.c plugin
4144 Apr 25, 2022
84561fe
Use macroses in httpsample.c
4144 Apr 25, 2022
3c810ec
Add support for sending/receiving api - map packets in plugins
4144 Apr 26, 2022
177bf80
Update HPM
4144 Apr 26, 2022
dbaaced
Add macro addProxyPacket
4144 Apr 26, 2022
754bfa2
Simplify macro RFIFO_API_DATA
4144 Apr 26, 2022
322102d
Use enums for custom packets ids in httpsample plugin
4144 Apr 27, 2022
813c7ea
Rename a bit handler functions and struct names in http sample plugin
4144 Apr 27, 2022
c7afbc3
Add support for proxy packets between api and login servers
4144 Apr 27, 2022
edcdd10
Rename aloginif methods send_to_char into send_to_server
4144 Apr 27, 2022
211cce1
Update HPM
4144 Apr 27, 2022
3773628
Remove ; from apipackets.h
4144 Apr 27, 2022
4566a68
Add function for return first existing world name in api server
4144 Apr 27, 2022
7befa8f
Fix error message if send api proxy packets to login server
4144 Apr 27, 2022
95e3d57
Remove extra includes from http sample plugin
4144 Apr 27, 2022
0387824
Add missing HERCULES_CORE define into postheader.c
4144 Apr 28, 2022
6e2ed04
Add http request flag REQ_EXTRA_HEADERS
4144 Apr 28, 2022
e26c715
Add http handler into sample http plugin for request and show dead/si…
4144 Apr 28, 2022
9f98a8f
Rename macro addProxyPacketHandler into addHttpDataHandler
4144 Apr 28, 2022
90beeeb
Add support for trusted ips for api server connections
4144 Apr 29, 2022
5fba8b2
Remove unused variables from api.h
4144 Apr 29, 2022
5bf402b
Add support for save logs for all servers
4144 Apr 29, 2022
7741a21
Add api server handler flag for allow only trusted ip to connect
4144 May 3, 2022
1c8fb9d
Move file api_network.conf into api directory
4144 May 3, 2022
81bd754
Update msvc 16 project files
Asheraf May 17, 2022
3c23de0
Add support for http party join request used on newer client versions
Asheraf May 17, 2022
74990ee
Allow start uploading guild emblem in gif format on api server
4144 May 17, 2022
bc951fe
Use unsigned int for api proxy packet len
4144 May 17, 2022
89a8c36
Add defines for debug packets in capiif.c and lapiif.c
4144 May 17, 2022
87fb8d8
Add basic support for guild emblems in gif format
4144 May 17, 2022
efb5e69
Update HPM
4144 May 17, 2022
edab248
Add giflib as libgif
4144 May 17, 2022
c9a1e46
Add missing vs project file vcproj-16/plugin-HPMHooking_api.vcxproj
4144 May 17, 2022
bb42679
Disable some warnings in libgif
4144 May 17, 2022
a7d7a08
Use account_id from connection object in HTTP_URL(party_info)
4144 May 18, 2022
62cfa59
Move bmp guild emblem validation from char server into api server
4144 May 19, 2022
96edff7
Update HPM
4144 May 19, 2022
3639f6c
Add validation for gif images in imageparser interface
4144 May 19, 2022
55526ff
Convert guild emblem packet into struct
4144 May 20, 2022
c151343
Use function for separate send guild emblem to each map server
4144 May 20, 2022
8298dcd
Add struct for temporary buffer for chunked packets
4144 May 21, 2022
f5a2ebb
Show error messages about too big guild emblems in char and map server
4144 May 21, 2022
fc4b693
Use chunked fifo functions for send packet PACKET_CHARMAP_GUILD_EMBLEM
4144 May 21, 2022
75254eb
Use pointer for emblem_data in guild struct
4144 May 21, 2022
4110737
Add structs for packets PACKET_CHARMAP_GUILD_INFO, PACKET_CHARMAP_GUI…
4144 May 21, 2022
927b7c8
Send chunked guild emblem with guild info from char to map server
4144 May 21, 2022
4b28d53
Update HPM
4144 May 21, 2022
ab3228a
Convert emblem_data field in mysql to mediumblob
4144 May 21, 2022
0902f60
Report also packet len in debug packets prints in capiif.c
4144 May 22, 2022
1d609bd
Free allocated for guild emblems memory
4144 May 22, 2022
5862c1c
Split chunked wfifo and rfifo macroses into separate files
4144 May 22, 2022
8244546
Add support for send chunked packets from server to client
4144 May 22, 2022
abc4854
Use chunked packet in sending guild emblem to client
4144 May 22, 2022
fd1b42e
Show gif emblem format errors in api server on emblem upload
4144 May 22, 2022
ff7b50d
Resolve libgif compilation on windows
Asheraf May 23, 2022
23a9f7e
Convert guild emblem packet between map and char server into struct
4144 May 23, 2022
8baa312
Update HPM
4144 May 23, 2022
51d974c
Send split packet PACKET_MAPCHAR_GUILD_EMBLEM from map to char
4144 May 23, 2022
8f27d70
Remove hardcoded guild emblem limits in api and char servers
4144 May 23, 2022
2a5ec93
Add interface extraconf
4144 May 24, 2022
b149e65
Allow read group of parameters from already opened config in extraconf.c
4144 May 25, 2022
1c1df0e
Add support for string config settings in extraconf
4144 May 25, 2022
9da2cbd
Add missing files into src/common/MakeFile.in
4144 May 25, 2022
8b62a7e
Move some defines from extraconf into separate files
4144 May 26, 2022
ca9155b
Add configuration file with default emotes
4144 May 26, 2022
cd1e9b7
Add /3rdparty/libgif/Makefile into git ignore list
4144 Jun 10, 2022
da0e946
Fix compilation warning in libgif/Makefile
4144 Jun 2, 2022
eff159f
Replace safesnprintf to snprintf
4144 Aug 16, 2022
19ec012
Add missing constant DEFAULT_CHAR_AUTOSAVE_INTERVAL after rebase on l…
4144 Oct 28, 2022
9818705
Update HPM after rebase on latest hercules
4144 Oct 28, 2022
7361b2c
Different fixes after rebase on latest hercules
4144 Oct 28, 2022
e05e3a9
Add missing extraconf inits for support HPM in all servers
4144 Oct 28, 2022
21363d9
Update HPM after rebase to latest hercules
4144 Oct 31, 2022
f80b272
Enable constant AUTH_TOKEN_SIZE for old packet versions too
4144 Nov 9, 2022
3d85bb0
Fix some cast warnings in clang
4144 Nov 10, 2022
029ca43
Disable -Wshorten_64_to_32 flag in libgif and multipart-parser
4144 Nov 10, 2022
35cebb7
Add missing update 2022-05-21--29-49.sql into index.txt
4144 Feb 4, 2023
68e84d5
Add missing DEBUG_LOG defines for log received packets information
4144 Feb 25, 2023
6627a51
Add define for show/hide http requests
4144 Feb 25, 2023
92458fb
Fix some typos in httpsample plugin
4144 Feb 26, 2023
728d2f4
Disable debug config logging in extraconf.c
4144 Mar 2, 2023
d745bc6
Add compile time validation for constant MAX_RESPONSE_SIZE
4144 Mar 2, 2023
9e90c7f
add handling for "Expect: 100-continue" header
guilherme-gm Mar 1, 2023
6844ad5
send the correct Content-Type for JSON responses
guilherme-gm Mar 1, 2023
ffb85f5
fix default emote list loading
guilherme-gm Mar 1, 2023
eae4e58
add HTTP Status codes and way to send json text
guilherme-gm Mar 1, 2023
97699d3
add emblem API error response
guilherme-gm Mar 1, 2023
ca502e9
fix userconfig API emotes default loading
guilherme-gm Mar 2, 2023
5bd714f
fix API response when userconfig hotkeys errors
guilherme-gm Mar 2, 2023
f108f4a
Switch to python3 in all debian/ubuntu jobs in .gitlab-ci.yml
4144 Mar 2, 2023
7b9c919
Fix aclif_decode_post_headers proceeding with the request in case of …
Asheraf Mar 3, 2023
706d4f5
Disable DEBUG_EMOTES define in int_userconfig.c
4144 Mar 7, 2023
433ce7a
Add api server exception into validateinterfaces.py
4144 Mar 13, 2023
56157f6
Disable switch warning flag in http-parser library
4144 Mar 13, 2023
d13b3f3
Skip validate interfaces check in very old gcc, due python 3 issues w…
4144 Apr 10, 2023
80e89cf
Clear temporary buffer in test_chunked.c
4144 Apr 10, 2023
b01748f
Add httpsample plugin into default plugins list
4144 Apr 10, 2023
9ff00c4
Add run tests for api-server into travis.sh
4144 Apr 10, 2023
2fca727
Fix memory leaks in api-server termination
4144 Apr 11, 2023
531b22c
Enable in ci in asan check for leaks on exit
4144 Apr 11, 2023
fd64e0f
Add alternative library llhttp for all build jobs in github ci
4144 Apr 11, 2023
4939fc1
Update HPM
4144 Apr 11, 2023
932f86e
Fix a warning when compiling with gcc-12
MishimaHaruna Apr 12, 2023
83da762
Add the missing extraconf source files to the VS projects
MishimaHaruna Apr 12, 2023
d6b30ad
Sort and resynchronize VS project files between versions
MishimaHaruna Apr 13, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ jobs:
CC: ["gcc-12", "clang-13"]
RENEWAL: [""]
CLIENT_TYPE: ["", "--enable-packetver-re", "--enable-packetver-zero"]
HTTPLIB: ["", "--with-http_parser=llhttp"]
SANITIZER: [""]
PACKET_VERSION: ["--enable-packetver=20100105", "--enable-packetver=20171018"]
LTO: ["", "--enable-lto"]
Expand All @@ -43,7 +44,7 @@ jobs:
INSTALL_PACKAGES: ${{ matrix.CC }} mariadb-client libmariadbclient-dev-compat
SQLHOST: mariadb
CC: ${{ matrix.CC }}
CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} --enable-epoll
CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.HTTPLIB }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} --enable-epoll
steps:
- uses: actions/checkout@v1
with:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/clang15_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ jobs:
CC: [clang-15]
RENEWAL: ["", "--disable-renewal"]
CLIENT_TYPE: ["", "--enable-packetver-re", "--enable-packetver-zero"]
HTTPLIB: ["", "--with-http_parser=llhttp"]
SANITIZER: ["--disable-manager", "--disable-manager --enable-sanitize=full"]
PACKET_VERSION: ["--enable-packetver=20221024", "--enable-packetver=20130724"]
exclude:
Expand All @@ -39,7 +40,7 @@ jobs:
INSTALL_PACKAGES: ${{ matrix.CC }} mariadb-client libmariadbclient-dev-compat
SQLHOST: mariadb
CC: ${{ matrix.CC }}
CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }}
CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.HTTPLIB }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }}
PACKET_VERSION: ${{ matrix.PACKET_VERSION }}
steps:
- uses: actions/checkout@v1
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/gcc_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ jobs:
CC: [gcc]
RENEWAL: ["", "--disable-renewal"]
CLIENT_TYPE: ["", "--enable-packetver-re", "--enable-packetver-zero"]
HTTPLIB: ["", "--with-http_parser=llhttp"]
SANITIZER: ["--disable-manager", "--disable-manager --enable-sanitize=full"]
PACKET_VERSION: ["--enable-packetver=20221024", "--enable-packetver=20130724"]
exclude:
Expand All @@ -39,7 +40,7 @@ jobs:
INSTALL_PACKAGES: ${{ matrix.CC }} mariadb-client libmariadbclient-dev-compat
SQLHOST: mariadb
CC: ${{ matrix.CC }}
CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} --enable-lto
CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.HTTPLIB }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} --enable-lto
PACKET_VERSION: ${{ matrix.PACKET_VERSION }}
steps:
- uses: actions/checkout@v1
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/gccold1.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ jobs:
CC: ["gcc-10", "gcc-9"]
RENEWAL: [""]
CLIENT_TYPE: ["", "--enable-packetver-re", "--enable-packetver-zero"]
HTTPLIB: ["", "--with-http_parser=llhttp"]
SANITIZER: ["--disable-manager --enable-sanitize=full"]
PACKET_VERSION: ["--enable-packetver=20100105", "--enable-packetver=20171018"]
LTO: [""]
Expand All @@ -40,7 +41,7 @@ jobs:
INSTALL_PACKAGES: ${{ matrix.CC }} mariadb-client libmariadbclient-dev-compat
SQLHOST: mariadb
CC: ${{ matrix.CC }}
CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} --enable-epoll
CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.HTTPLIB }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} --enable-epoll
steps:
- uses: actions/checkout@v1
with:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/gccold2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ jobs:
CC: ["gcc-8", "gcc-7"]
RENEWAL: [""]
CLIENT_TYPE: ["", "--enable-packetver-re", "--enable-packetver-zero"]
HTTPLIB: ["", "--with-http_parser=llhttp"]
SANITIZER: ["--disable-manager --enable-sanitize=full"]
PACKET_VERSION: ["--enable-packetver=20100105", "--enable-packetver=20171018"]
LTO: [""]
Expand All @@ -40,7 +41,7 @@ jobs:
INSTALL_PACKAGES: ${{ matrix.CC }} mariadb-client libmariadbclient-dev-compat
SQLHOST: mariadb
CC: ${{ matrix.CC }}
CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} --enable-epoll
CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.HTTPLIB }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} --enable-epoll
steps:
- uses: actions/checkout@v1
with:
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/gccold3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ env:
MYSQL_PASSWORD: 'ragnarok'
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
DEBIAN_COMMON_PACKAGES: make zlib1g-dev libpcre3-dev git python3 libzstd-dev
SKIP_VALIDATE_INTERFACES: "skip"

jobs:
build:
Expand All @@ -17,6 +18,7 @@ jobs:
CC: ["gcc-6", "gcc-5", "gcc-4.8"]
RENEWAL: [""]
CLIENT_TYPE: ["", "--enable-packetver-re", "--enable-packetver-zero"]
HTTPLIB: ["", "--with-http_parser=llhttp"]
SANITIZER: ["--disable-manager --enable-sanitize=full"]
PACKET_VERSION: ["--enable-packetver=20100105", "--enable-packetver=20171018"]
LTO: [""]
Expand All @@ -40,7 +42,7 @@ jobs:
INSTALL_PACKAGES: ${{ matrix.CC }} mariadb-client libmariadbclient-dev-compat
SQLHOST: mariadb
CC: ${{ matrix.CC }}
CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} --enable-epoll
CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.HTTPLIB }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} --enable-epoll
steps:
- uses: actions/checkout@v1
with:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/gccsnapshot_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ jobs:
CC: [gcc]
RENEWAL: ["", "--disable-renewal"]
CLIENT_TYPE: ["", "--enable-packetver-re", "--enable-packetver-zero"]
HTTPLIB: ["", "--with-http_parser=llhttp"]
SANITIZER: ["--disable-manager", "--disable-manager --enable-sanitize=full"]
PACKET_VERSION: ["--enable-packetver=20221024", "--enable-packetver=20130724"]
exclude:
Expand All @@ -39,7 +40,7 @@ jobs:
INSTALL_PACKAGES: ${{ matrix.CC }} mariadb-client libmariadbclient-dev-compat
SQLHOST: mariadb
CC: ${{ matrix.CC }}
CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} --enable-lto
CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.HTTPLIB }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} --enable-lto
PACKET_VERSION: ${{ matrix.PACKET_VERSION }}
steps:
- uses: actions/checkout@v1
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/mariadb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ jobs:
CC: [gcc]
RENEWAL: [""]
CLIENT_TYPE: [""]
HTTPLIB: ["", "--with-http_parser=llhttp"]
SANITIZER: ["--disable-manager", "--enable-sanitize=full"]
PACKET_VERSION: ["--enable-packetver=20221024"]
MYSQL: ["10.2", "latest"]
Expand All @@ -37,7 +38,7 @@ jobs:
INSTALL_PACKAGES: ${{ matrix.CC }} mariadb-client libmariadbclient-dev-compat
SQLHOST: mysql
CC: ${{ matrix.CC }}
CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }}
CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.HTTPLIB }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }}
PACKET_VERSION: ${{ matrix.PACKET_VERSION }}
steps:
- uses: actions/checkout@v1
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/mysql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ jobs:
CC: [gcc]
RENEWAL: [""]
CLIENT_TYPE: [""]
HTTPLIB: ["", "--with-http_parser=llhttp"]
SANITIZER: ["--disable-manager", "--enable-sanitize=full"]
PACKET_VERSION: ["--enable-packetver=20221024"]
MYSQL: ["5.6", "5.7", "latest"]
Expand All @@ -37,7 +38,7 @@ jobs:
INSTALL_PACKAGES: ${{ matrix.CC }} mysql-client libmysqlclient-dev
SQLHOST: mysql
CC: ${{ matrix.CC }}
CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }}
CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.HTTPLIB }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }}
PACKET_VERSION: ${{ matrix.PACKET_VERSION }}
steps:
- uses: actions/checkout@v1
Expand Down
26 changes: 26 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,10 @@ Thumbs.db
/login-server
/Makefile
/Makefile.cache
/api-server
/map-server
/mapcache
*.pyc

# /plugins -- everything
/plugins/
Expand All @@ -56,6 +58,21 @@ Thumbs.db
/3rdparty/libbacktrace/*.o
/3rdparty/libbacktrace/backtrace-supported.h

# /3rdparty/http-parser/
/3rdparty/http-parser/Makefile

# /3rdparty/llhttp/
/3rdparty/llhttp/Makefile

# /3rdparty/multipart-parser/
/3rdparty/multipart-parser/Makefile

# /3rdparty/cJSON/
/3rdparty/cJSON/Makefile

# /3rdparty/libgif/
/3rdparty/libgif/Makefile

# /3rdparty/mt19937ar/
/3rdparty/mt19937ar/Makefile
/3rdparty/mt19937ar/*.o
Expand Down Expand Up @@ -90,6 +107,11 @@ Thumbs.db
/src/map/obj_sql
/src/map/pcre.h

# /src/api/
/src/api/Makefile
/src/api/obj_sql
/src/api/handlers.h.dox

# /src/test/
/src/test/Makefile
/src/test/obj
Expand Down Expand Up @@ -117,5 +139,9 @@ Thumbs.db
/vcproj-*/char-server
/vcproj-*/login-server
/vcproj-*/map-server
/vcproj-*/api-server
/vcproj-*/mapcache
/vcproj-*/plugin-*/

# ccache
/.ccache/