p2p.git
4 years agoVersion 0.5 master v0.5
H.G.Muller [Thu, 6 Nov 2014 14:15:14 +0000]
Version 0.5

Also updated the README.

4 years agoRecognize host by name, rather than IP address
H.G.Muller [Thu, 6 Nov 2014 14:07:13 +0000]
Recognize host by name, rather than IP address

Code is added in p2p to recognize the host argument as domain name,
rather than insisting on an IP address.

4 years agoMake own routine to print IP address
H.G.Muller [Thu, 6 Nov 2014 13:40:04 +0000]
Make own routine to print IP address

The routine inet_ntoa was sick: it always led to compiler warnings
that it returned (int) rather than the (char*) the manual specifies.
And although it did return a string on my laptop, it did cause segfaulting
on the VPS (both Ubuntu 10.04). So now we do the conversion 'by hand'.

4 years agoImplement relay server
H.G.Muller [Thu, 6 Nov 2014 13:31:56 +0000]
Implement relay server

A simple relay server is added to the project. It waits for two peers
to connect to it with the same passphrase (the first line they send),
and then forwards the messages between them. Only the peer that connected
first gets a message to make it wait for the "Password accepted" response;
the second will receive the "Password required" as if it connected to
a listening peer.

4 years agoWait for password confirmation
H.G.Muller [Thu, 6 Nov 2014 13:29:08 +0000]
Wait for password confirmation

The message "Password required" is now used to recognize a direct p2p
connection. This opens the possibility to also connect p2p to a
'relay server', which would wait for another p2p to connect with the
same password. Such a server would send a message not starting with
"Password" to the first connecting p2p using a certain password, which
will then dutifully wait (before confirming to the GUI it is connected)
until its intended partner connects (which will then immediately receive
the "Password required message", never knowing it was not connected
directly, while the first one is woken up by a "Password accepted"
command).

4 years agoDescribe engine-defined variants v0.4
H.G.Muller [Thu, 6 Nov 2014 13:55:33 +0000]
Describe engine-defined variants

4 years agoAdd draw command to protocol description
H.G.Muller [Thu, 6 Nov 2014 13:10:06 +0000]
Add draw command to protocol description

4 years agoSend variant-specific info from file to GUI
H.G.Muller [Thu, 6 Nov 2014 13:07:34 +0000]
Send variant-specific info from file to GUI

In response to "variant XXX" p2p now sends the contents of the file
XXX.dat (if that exists) to the GUI. This can be used to supply
"setup" and "piece" commands that genuine engines would know about,
to reconfigure the GUI for deviating variants. To make it easier
to use p2p for engine-defined variants, a variant "custom" is adder
to the variants-feature list.

6 years agoVersion 0.3: add draw handling and setting up position v0.3
H.G. Muller [Tue, 17 Jul 2012 16:17:43 +0000]
Version 0.3: add draw handling and setting up position

Draw offers are simply passed along to the remote, where they are passed
to the GUI as 'offer draw'. Setting up positions are implemented by
passing the setboard as part of the remote game-state copy, and comparing
if they match for accepting a game start.

6 years agoAdd screenshot of password settings
H.G. Muller [Tue, 17 Jul 2012 16:17:00 +0000]
Add screenshot of password settings

6 years agoFix takeback bug, and possible move-list overflow
H.G. Muller [Tue, 17 Jul 2012 13:49:01 +0000]
Fix takeback bug, and possible move-list overflow

The stm variable was no properly updated (not on sending moves to GUI),
and was eliminated. Now myCnt is used in all places to determine the side
to move.
 Mone-list length is made symbolic, and overflow is revented by letting
the pointer be stuck on the last entry.

6 years agoUpdate protocol specs
H.G. Muller [Tue, 17 Jul 2012 13:47:16 +0000]
Update protocol specs

Add desription of the password

6 years agoUpdate README file
H.G. Muller [Tue, 17 Jul 2012 09:56:40 +0000]
Update README file

A description was added on the password option, and some general
text about setting up port translation.

6 years agoVersion 0.2: security patch and code cleanup
H.G. Muller [Tue, 17 Jul 2012 09:34:09 +0000]
Version 0.2: security patch and code cleanup

A password was added (and an option to set it). And an option to
limit line length. Possible internal buffer overruns were fixed by
putting limits in sscanf formats, and clipping moves to fit the buffer
arrays.
  Unused variables were removed, and other warnings fixed as well.

6 years agoDelete some disabled (example) code
H.G. Muller [Mon, 16 Jul 2012 13:06:24 +0000]
Delete some disabled (example) code

A leftover from the MicroSoft WinSock Client/Server was deleted,
and formatting a bit improved in other places.

6 years agoBig-time debugging
H.G. Muller [Mon, 16 Jul 2012 12:50:58 +0000]
Big-time debugging

The variable 'started' now gets value 2 when playing. More care is taken
to terminate an ongoing game properly when a disconnect occurs or the
opponent resets. Time control is properly exchanged and checked for,
and mentioned in the challenge. GUI 'result' commands echoing our own
game termination as part of proposal rejection are no longer forwarded
over to the peer.

6 years agoDelete spurious ws
H.G. Muller [Mon, 16 Jul 2012 12:45:51 +0000]
Delete spurious ws

6 years agoCheck in p2p documentation
H.G. Muller [Mon, 16 Jul 2012 12:39:47 +0000]
Check in p2p documentation

6 years agoCheck in initial version of p2p
H.G. Muller [Mon, 16 Jul 2012 12:35:19 +0000]
Check in initial version of p2p