Commit graph

51 commits

Author SHA1 Message Date
turleypol
9d2bf0ec60
replaced all uppercase hex formatting with lowercase variant (#645) 2024-05-05 09:13:12 +02:00
Lukáš Novotný
d6bde75dec
Add proxy protocol support (#623)
* Add proxy protocol support

* style fix

* more style changes

* hopefully final style fixes

* Implement AllowProxy instead of UseProxyProtocol

* Style fix

* Fix initialization warning; remove unused header

* Fix boost warning (thanks @KevinEady)
2024-02-21 21:41:17 +01:00
turleypol
d848deae18
POLLOG* macros use the new formatting (#598)
* POLLOG* macros use the new formatting
removed all old logging functions

* removed old fmt lib from everything except StreamWriter
removed unneeded functions

* fixed review comments
2024-01-16 17:55:42 +01:00
turleypol
154a68a9fd
LEAKLOG, DEBUGLOG, SCRIPTLOG, FLEXLOG changed to new logging (#597)
* LEAKLOG, DEBUGLOG, SCRIPTLOG changed to new logging

* updated FLEXLOG
2024-01-13 17:08:33 +01:00
turleypol
5e5f405c3d
Packet hook deadlock (#566)
* calling pkthooks does not need to hold the socketmutex

* temporary test for verification via CI

* removed testpkthook

* corechanges
2023-11-19 21:54:55 +01:00
Fernando Rozenblit
eb4eb8b225
Refactor Client to use private inheritance from ThreadedClient (#346)
In summary:
* Make functions in clientthread.cpp depend on ThreadedClient.
* Wrap session, packet logging and cryptengine
* Other small changes to make ThreadedClient private
2021-03-07 14:46:24 +01:00
Fernando Rozenblit
eb639587fe
Refactoring: extract client logic from threadedclient-io-step (#335)
- ThreadedClient now takes a non-const reference to its client
- Extracted has_delayed_packets()/process_delayed_packets() from io-step into ThreadedClient. They will handle speedhack prevention's movementqueue. Movementqueue might be moved later into ThreadedClient.
- Extracted should_check_idle()/warn_idle() from io-step into Client.
- Added Client::handle_msg(). It will call the appropriate packet handler. Used by process_delayed_packets() and process_data().
- Removed an old MSVC warning suppression
2020-10-04 11:53:20 +02:00
Fernando Rozenblit
12eb9d8631
Hoist networking members and methods of Client into a new base class (#323)
Hoisted the networking members and methods of Client into a new base. Kept the same access levels so the remaining code doesn't have to change yet.

Co-authored-by: Eric Swanson <eric.the.unicorn@gmail.com>
2020-09-23 22:54:19 +02:00
Eric Swanson
f9087d3d3c
Removed Client::transmit 'needslock' parameter. It was always passed as true. (#321) 2020-09-21 07:59:23 -07:00
Fernando Rozenblit
1d256c6886 Removed one use of inet_ntoa, need to remove the rest later. There may be compatibility issues with older windows. 2019-03-08 00:12:47 +01:00
Fernando Rozenblit
bc79dc046e Moved basic network files to clib 2019-03-04 21:41:27 +01:00
turleypol
3fe1502967 more dead code 2019-02-22 23:23:01 +01:00
turleypol
b541f64c6f more network specific code moved 2018-12-30 21:58:07 +01:00
esdete
dc2d29b433 NULL to nullptr 2018-07-31 14:30:29 +02:00
turleypol
dbb25bdb62
Include and buildsystem cleanup (#45)
Include cleanup
Reworked buildsystem (Linux only)
Removed dynamic libs, Linux now again uses static linking (like windows)
2018-01-29 21:55:48 +01:00
turleypol
798eda5b63 Cleanup of header includes. 2018-01-01 21:52:14 +01:00
turley
189cad3479 Formating everything
Authors are not forced to use the clang-format setting, but should
atleast be inspired by the style.
The only thing which is now not allowed are tabs for ident/alignment!
2016-02-19 19:26:35 +01:00
Gabriele Tozzi
33975f599b Merge tag 'pre-nl-normalize'
This is the last commit prior to newline normalization
2016-02-12 17:29:32 +01:00
turley
92cc1b4d70 Use weakptr to uoexecutor in the threaded sql call
changed client class from ref_counted to also hold like the uoexecutor a weakptr, use it in the ClientObjImp.
Renamed NPCRef to NpcRef like its been told since years in a TODO comment
fixed some warnings from VS2015
2016-02-10 23:09:05 +01:00
Gabriele Tozzi
ff64e3b2b4 Minor: forcing SpinLock to be used only via SpinLockGuard 2016-02-03 06:08:26 +01:00
Gabriele Tozzi
d1ac902926 Documentation: reformatted headers for DoxyGen 2016-01-28 14:52:40 +01:00
frozenblit
ab592b0bf6 Instead of .c_str(), the log will take a copy of the formatter string 2015-05-16 16:00:26 +02:00
turley
b77a13073c corrected several data races 2015-03-14 11:45:14 +01:00
turley
b191039ffd protected pktlog identifier by spinlock, fixes racecondition 2015-02-14 12:56:19 +01:00
turley
79dff37246 Splitted gamestate external. 2015-01-02 14:46:44 +01:00
turley
88ec380941 Moved globals into separate directory. 2014-12-30 15:20:59 +01:00
turley
2737393f2a Tried to put all global vars into centralized structures.
Currently plib/systemstate, pol/uvars, pol/ucfg, pol/multi/multidef

Next step should be to split them based on usage, since its currently a bit of include hell...
2014-12-30 14:14:41 +01:00
frozenblit
1ba2462cb6 More and more stl_inc.h cleanups 2014-11-01 20:09:12 +01:00
turley
746c08b1dc removed self made singleton code and used call_once.
fixed some memory leaks
added estimateSize for the packet buffer
2014-08-29 16:58:29 +02:00
turley
c8d89959a0 simplified flexlogger a bit, returns filename to identify the logfile, optional logfileopend timestamp 2014-06-13 18:32:26 +00:00
turley
fb873de803 decoupled headers to optimize a bit the build time 2014-05-03 09:06:19 +00:00
turley
31ee263a45 activated new logging facility 2014-01-18 13:29:38 +00:00
turley
99d7dc3037 namespaces...finally :)
Hard part is finished every file is touched. Namespaces are currently rough named by directory name.
Maybe we could split it more
2013-12-21 09:10:46 +00:00
turley
90f1fc9248 implemented the std mutex 2013-09-13 19:03:25 +00:00
turley
f988034098 possible crash fix 2012-03-03 08:39:45 +00:00
turley
3eea0140f0 a bit more security for transmit 2012-01-07 10:11:07 +00:00
turley
115dd7b2cc some more threadsafe stuff 2012-01-04 13:11:43 +00:00
turley
21063b0002 fixed pktsend 2011-12-23 13:16:19 +00:00
turley
4765f1f0ec some small improvements:
movement code speedup: instead of storing new Mapshape simply store pointers 
reordered some class/structs (data alignment)
Mutex class freebsd compatible
mdump: invalid scope for pointer
some Constructor member reorders for linux
some unsigned < 0 checks removed
some nullpointer checks added
CallOutgoingPacketExportedFunction splitted into critical and noncritical part
npcs now use there boost for movement checks
2011-12-22 19:09:10 +00:00
turley
41d05354c8 fixed locking on different threads for client, used the existing mutex too secure the whole transmit per client 2011-12-17 18:41:38 +00:00
turley
b751d8f50d ReFactoring:
got really really sick of #defines so added inline functions for pktstuff and added a namespace for it
PktHelper::RequestPacket<EncryptedPktBuffer>(ENCRYPTEDPKTBUFFER);
looks way better then
REQUESTPACKET(EncryptedPktBuffer,ENCRYPTEDPKTBUFFER);
:)
+started codereview
2011-12-14 20:45:31 +00:00
turley
f0683e3b67 got bored: implemented exception safe mutexguard
hopefully fixed a possible crash with invalid useskill pkt
2011-12-03 12:00:56 +00:00
frozenblit
1e65769d88 Fixed client freezing after login refusal. Used the time to remove some code redundancies as well. 2011-12-01 22:05:02 +00:00
turley
440e57bced hsa mul support
changed objtype to max 0x20000
splitted pkt transmit
needs more testing
2011-06-14 15:20:00 +00:00
turley
6e443a75ca finished pkt rewrite (except custom housing but not important)
removed xoutbuffer from client class and added a special buffer in pkt singleton
removed some threadlocks
mmmh should be finished need tester :)
2010-04-18 15:27:06 +00:00
turley
03ed725f56 pkt 0xab-0xcc
had to move xmitoutbuffer to client class (threadsafty)
2010-04-10 10:30:25 +00:00
turley
54f8f6c66c filled cryptkeys - Tomi
more cleanup of client class much smaller with nocrypt now
2009-12-11 12:42:40 +00:00
turley
0a0d152294 crypto cleanup - Tomi
polcfg cleanup - Tomi
gargoyle flying counts as mounted
fixes for faces
fixes of cliloc msgs
added 0xbf:0x0f handle
2009-12-04 12:49:26 +00:00
turley
7c54d3175f gcc fixes, minor cleanup 2009-11-06 16:07:47 +00:00
turley
0c28994175 more vartype cleanup 2009-09-08 08:14:43 +00:00