Commit Graph

56 Commits

Author SHA1 Message Date
nOOb3167
f5bddaaef5 Fix locking
Calls to save() in purgeOld() and update() were in race condition.
Race condition was eliminated by extending the lock scope within purgeOld().
Calls to load() were in race condition with themselves.
While current use of load() (called only during construction of class ServerList()) does not manifest the bug, any future change introducing concurrent use of load() would.
Race condition potential was eliminated by extending the lock scope within load().
2018-03-18 14:07:59 +01:00
nOOb3167
78abbee771 Fix server purging 2018-03-18 14:07:59 +01:00
sfan5
2f87286475 Make hostname blacklist case insensitive 2017-12-24 20:42:47 +01:00
sfan5
0d93321f6d Restrict protocol of "server_url" values to HTTP(S) 2017-11-06 19:45:28 +01:00
sfan5
da9f297346 Refine "guest" name regex
Avoid detecting names such as "Bob123" (<4 chars) or "Angel060" (leading zero)
2017-08-08 23:30:35 +02:00
sfan5
afd7b16e5b README formatting fixes 2017-06-14 13:37:45 +02:00
sfan5
828a1fda7e Allow banning by server hostname 2017-05-14 15:29:46 +02:00
sfan5
705ea6e1a0 Re-add banlist features
This effectively reverts commit b366290118.
2017-05-14 15:03:05 +02:00
sfan5
5de6082f57 Design changes on the server list page 2017-02-18 20:34:53 +01:00
sfan5
5e12cb5022 Update detection of guest clients 2017-02-18 11:31:24 +01:00
ShadowNinja
58f03d0395 Try to fix list corruption issue
Sometimes the list was send in a corrupted form.  This
appeared to be the result of overwriting the file as it
was being read by the server.  This commit tries to fix
this by saving to a temporary file and then moving it over
the served file.
2016-02-04 16:49:25 -05:00
ShadowNinja
ea3dbeb889 Misc cleanup 2016-01-24 00:26:11 -05:00
ShadowNinja
3792ee39b2 Use requirements file
This is a standard way of indicating requirements for
Python projects, since it makes it easy to automatically
install all needed packages with the correct versions.
2016-01-24 00:26:11 -05:00
ShadowNinja
ccd85da424 Remove list filename option
There's just not really a compelling reason for this to be configurable.
2016-01-24 00:25:58 -05:00
ShadowNinja
b366290118 Remove ban list
This should be handled at a higher level, such as in NetFilter or the proxy server.
I only added this feature because the old server list had it.
2016-01-23 23:53:01 -05:00
ShadowNinja
a431911b9d Load defaults from example config
This makes some options non-optional -- allowing for a smaller config file.
This also removes the X-Sendfile example, bucause the proxy server should
handle static files directly and the option is not at all specific to this
particular application (and general Flask options aren't documented).
2016-01-23 23:47:15 -05:00
ShadowNinja
ebe788a156 Add nginx config to docs 2016-01-23 23:36:05 -05:00
Ner'zhul
2fdd0daa11 Use ternary operator when possible 2015-07-18 16:31:12 +02:00
sfan5
c26c42baaa Fix de-announcing 2015-06-08 23:05:30 +02:00
ShadowNinja
3976573369 Fix highly loaded server penalty 2015-04-15 16:20:21 -04:00
ShadowNinja
bbd62e8474 Tweak sorting algorithm 2015-04-10 12:13:50 -04:00
ShadowNinja
d4c55a332c Add IPv6 support 2015-03-17 18:41:04 -04:00
est31
fb3b24dc77 Add protocol version server parameters 2015-02-17 16:20:41 +01:00
est31
2d982bc259 Add r to APSchedule name to correct 2015-02-17 16:20:41 +01:00
est31
07f944463b Add node_modules subdir to gitignore 2015-02-17 16:20:41 +01:00
sfan5
ee2a6dee73 Refine sorting algorithm 2015-01-11 17:10:50 +01:00
ShadowNinja
bbd3c127f1 Tweak server list style 2015-01-10 12:18:05 -05:00
ShadowNinja
2a5242eb68 Add scheduler timezone 2015-01-09 17:13:55 -05:00
ShadowNinja
3e59b9c8ca Fix clients_max field name 2015-01-09 17:13:11 -05:00
ShadowNinja
f7a448123f Attempt to improve server sorting 2015-01-09 16:48:03 -05:00
sfan5
c9c97b0ce5 Update to v3 of APScheduler 2014-12-23 19:42:45 +01:00
ShadowNinja
a3424b8035 Don't count things like DNS resolution in the ping 2014-11-20 17:26:49 -05:00
ShadowNinja
a835362de0 Fix locking of removeServer 2014-11-04 16:25:44 -05:00
sfan5
9df50135b6 Revert 757e186 "Disable source IP check because it causes problems"
minetest/minetest@8852333 fixed this
2014-09-19 19:40:23 +02:00
ShadowNinja
7fff17bab4 Add license 2014-09-17 14:45:44 -04:00
ShadowNinja
8c0dd17bb6 Change default development server listen address back to 127.0.0.1 2014-09-14 15:33:24 -04:00
ShadowNinja
561cfb5427 Move server list management functions into a class 2014-09-14 15:29:51 -04:00
ShadowNinja
e93a04f85b Add __pycache__ to .gitignore 2014-09-14 15:29:51 -04:00
ShadowNinja
3a891e5614 Move config.py to config-example.py and .gitignore the real config 2014-09-14 15:29:50 -04:00
sfan5
757e186074 Disable source IP check because it causes problems (see minetest/minetest#1471) 2014-07-12 17:26:16 +02:00
ShadowNinja
546a2be656 Fix some startup options being reset 2014-07-06 19:00:33 -04:00
sfan5
6c3d50f6f8 Use 'display' instead of 'visibility' to prevent the page from having white space at the bottom 2014-07-05 15:06:05 +02:00
sfan5
9b393daa76 Highlight the hovered entry in very light gray 2014-07-05 14:55:59 +02:00
sfan5
f684692a01 Add note that 'ALLOW_UPDATE_WITHOUT_OLD' causes problems 2014-07-03 19:01:18 +02:00
sfan5
b6cae2f7c9 Add 'ALLOW_UPDATE_WITHOUT_OLD' config option 2014-07-03 19:01:18 +02:00
sfan5
794741fa1f Fix conversion of string bools to bools 2014-07-03 19:01:18 +02:00
ShadowNinja
9a75f8e38e Ensure request JSON contains an object 2014-07-02 22:16:04 -04:00
sfan5
cf3b5d79dc Reword some things 2014-07-02 19:47:06 +02:00
ShadowNinja
43211670ee Fix port not being stringified on deletion 2014-07-01 19:53:15 -04:00
sfan5
5e605e4458 Move compatibility code for 'port' attr., fixes de-announce being broken 2014-07-01 21:06:36 +02:00