Commit graph

9 commits

Author SHA1 Message Date
Simon Howard
4d767457df Add hole punch forwarding to master server.
If a server is behind a NAT gateway or firewall its UDP port may be
accessible to the master server but not to other clients. For some types
of gateway we can work around this by having the servers explicitly send
a packet to the client that is trying to connect to them ("hole punching").
The master server can serve as a trampoline to forward this request from
clients.

This is the initial master server-side part of implementing
chocolate-doom/chocolate-doom#469.
2019-02-09 21:53:56 -05:00
Simon Howard
df0fc0e7bd Allow alternate port to be specified for tests.
For testing the server may be running on a different port.
2019-02-09 21:33:41 -05:00
Simon Howard
4c7861b2e0 Make master server work with Python 3.
As part of this, perform the `from __future__` imports so that as much
as possible resembles Python 3 even if we are running with Python 2.
2019-02-09 21:24:40 -05:00
Simon Howard
6f54a0d8c1 Tweak maximum packet sizes.
Subversion-branch: /master
Subversion-revision: 2518
2012-08-04 16:10:03 +00:00
Simon Howard
9cea863e5d Include a copy of the nonce value separately from the GPG signature, so
it isn't necessary for the client to parse it.

Subversion-branch: /master
Subversion-revision: 2517
2012-08-04 02:02:13 +00:00
Simon Howard
6d2987c286 Add GPG signature generation, as the first step towards secure demo
support.

Subversion-branch: /master
Subversion-revision: 2516
2012-08-04 01:25:20 +00:00
Simon Howard
2687e6ddb5 Track age of servers. Display age on master server web page and sort by
decreasing age.

Subversion-branch: /master
Subversion-revision: 2219
2010-12-11 01:27:13 +00:00
Simon Howard
2d40ae549a Decode and save metadata acquired when querying new servers. Add a
metadata request message to retrieve the metadata that was obtained.

Subversion-branch: /master
Subversion-revision: 2194
2010-12-05 00:46:17 +00:00
Simon Howard
12d3df6db9 Add initial master server code.
Subversion-branch: /master
Subversion-revision: 2183
2010-12-02 19:28:06 +00:00