Michał Janiszewski
d29af84886
Make sure to hold string alive when using c_str() ( #3760 )
2016-05-27 22:32:11 +01:00
Michał Janiszewski
8e26f2c0d1
Only check for PASSWORDLESS permission if successfully verified
2016-05-27 23:00:31 +02:00
Michał Janiszewski
4699635086
Don't allow null keys
2016-05-27 22:56:23 +02:00
Ted John
ebb8eb749c
Merge pull request #3758 from janisozaur/fixes
...
Fixes
2016-05-27 20:57:14 +01:00
Michał Janiszewski
4ba1c17b0d
Don't let null password cause a crash on initial launch
2016-05-27 21:43:52 +02:00
Ted John
1b3331f584
remove user from users.json when kicked ( #11 )
2016-05-27 20:28:35 +02:00
Ted John
3a1a474c7c
refactor key map to User and UserManager classes
2016-05-27 20:28:35 +02:00
Michał Janiszewski
80a90624b9
Add option to only allow known keys to login
2016-05-27 20:28:34 +02:00
Michał Janiszewski
b8661fb389
When removing group, reset all users assigned to it
2016-05-27 20:28:34 +02:00
Ted John
fe057c4470
handle null group ids
2016-05-27 20:28:34 +02:00
Ted John
ac17cdf955
improve unique name handling
2016-05-27 20:28:34 +02:00
Ted John
daaa1b3ed2
add helper method for getting the keymap path
2016-05-27 20:28:34 +02:00
Ted John
f7ee22048f
save keys in a sub directory
2016-05-27 20:28:34 +02:00
Ted John
d62c94f14a
use Console::WriteLine instead of log_info
2016-05-27 20:28:34 +02:00
Michał Janiszewski
2d3d889a08
Formatting, style fixes
2016-05-27 20:28:34 +02:00
Michał Janiszewski
165ec06690
Passwordless login permission
2016-05-27 20:28:34 +02:00
Michał Janiszewski
9b4d385ab5
Allow out-of-process edits to keymappings.json
...
Reloads keymappings.json on each client join. This allows for manual edits,
so host can add keys without having to restart server for them to go live.
2016-05-27 20:28:34 +02:00
Michał Janiszewski
65a1d0c70d
Use UpdateKeyMappings to modify JSON in-place
...
This allows for non-destructive saving of group assigments, so user can
store their own entries.
2016-05-27 20:28:34 +02:00
Michał Janiszewski
18d656e012
Ensure player names are unique
...
Do this by cheating a little: create a map with count of clients using
given username and increment it each time such a username is
encountered. This yields very similar results to actually counting users
holding given name, but saves all the error-prone string parsing.
2016-05-27 20:28:34 +02:00
LRFLEW
5d5c10f99f
Fixed OS X Build
2016-05-27 20:28:33 +02:00
Michał Janiszewski
4ffceafdbb
Make sure the challenge token is random and handled properly
...
This change also fixes passworded servers not working properly, as
strlen() was getting called on something that was not guaranteed to be
null-terminated string when signing the token.
2016-05-27 20:28:33 +02:00
Michał Janiszewski
66abc31fee
Handle malformed private keys gracefully
2016-05-27 20:28:33 +02:00
Michał Janiszewski
553e1bdf0f
Minor fixes to authorisation system
2016-05-27 20:28:33 +02:00
Michał Janiszewski
caa74acb1b
Fixes for x86-64
2016-05-27 20:28:33 +02:00
Michał Janiszewski
715ba561b1
Initial version of key-based auth
2016-05-27 20:28:33 +02:00
Michał Janiszewski
1c459c8186
Add NetworkKey class
2016-05-27 20:28:33 +02:00
Michał Janiszewski
40253a7add
Prevent SIGPIPE-ing on Linux when clients drop ( #3755 )
...
`send()` can only write to connected sockets [1]. In case where client
drops out, a socket may become closed by OS but we can still enqueue
packets for its connection and eventually call `send()`, which will
generate a SIGPIPE and shut the server down, because there was no
`MSG_NOSIGNAL` set.
This commit makes sure `MSG_NOSIGNAL` is used on Linux.
[1] http://linux.die.net/man/2/send
2016-05-27 17:44:23 +01:00
CraigCraig
3f9afb9744
Various Spellchecks ( #3741 )
2016-05-26 09:49:19 +02:00
Michał Janiszewski
5e8867175b
Fix crash on malformed permission name
2016-05-21 17:33:57 +02:00
Michał Janiszewski
8066ed6ecc
Format to break long lines in network.cpp
...
[ci skip]
2016-05-21 17:33:50 +02:00
Michał Janiszewski
bf24f5eef8
Use human-readable names for storing permissions
2016-05-21 16:23:20 +02:00
Michał Janiszewski
9d90a88461
Store groups as json
2016-05-21 14:54:00 +02:00
janisozaur
ca430e1b23
Drop unused variables ( #3586 )
2016-05-13 18:21:58 +01:00
janisozaur
68bad6505c
Add and correct licence headers to all sources ( #3108 )
2016-05-04 18:24:41 +01:00
Ted John
0f6e64ac76
add global macros for map size and tile loop
2016-04-24 14:00:26 +01:00
Ted John
a1150d31cf
add global macros for more scenario variables
2016-04-23 18:07:07 +01:00
Ted John
1950fad315
add global macros for date
2016-04-23 11:03:34 +01:00
Ted John
467513616d
add global macro: gCurrentTicks
2016-04-23 02:49:24 +01:00
Ted John
11a2ba0133
add global macro: gCashEncrypted
2016-04-23 01:58:54 +01:00
Ted John
b4b3dc7dbe
add global macro: gParkValue
2016-04-23 01:50:12 +01:00
Ted John
b59f5c17ca
add global macros for park...
...
- gParkSize
- gParkEntranceFee
- gNumGuestsInPark
2016-04-23 01:00:00 +01:00
Ted John
307cb9e08b
add global macro: gParkFlags
2016-04-23 00:51:22 +01:00
zsilencer
3ba7d54247
Fix reconnect issue caused by inboundpacket not being cleared
2016-04-20 01:49:16 -06:00
zsilencer
0ceff7fd90
More efficient map transfers
2016-04-20 01:49:15 -06:00
zsilencer
e582a8f47f
Stop constantly resizing vector
2016-04-20 01:49:15 -06:00
zsilencer
b257e431d9
Get rid of using user_strings for interface
2016-04-20 01:49:15 -06:00
Michał Janiszewski
b2a3b82d08
Show network version to client if mismatched
...
This will let players know which version should they be using to connect
to server. Also prevents users from even trying to join servers running
versions we already know are incompatible.
2016-04-19 21:15:23 +02:00
janisozaur
24eaa0a56d
Show units used when streaming the map over network. Fix #3328 ( #3331 )
2016-04-17 21:27:23 +01:00
Ted John
1b3f46f960
integrate game command error string variables
...
- gGameCommandErrorTitle
- gGameCommandErrorText
2016-04-15 17:54:46 +01:00
wolfreak99
1947b1dd30
require special permission for cluster building, closes #3045
2016-04-10 11:52:34 +01:00