All vbox_job.xml to specify ranges of port forwardings,
and whether the access to the host ports is remote or local.
This is to support MPI for Rytis.
Notes:
- the existing feature (pf_guest_port) is used only for web graphics.
The host port is always dynamically assigned;
there's no reason to have <pf_host_port>; I removed it from the doc.
There's no reason to write the host port to a file; I removed that.
- The new feature is only for fixed host ports.
- The checkpoint file can stay the way it is.
- If run with --gui_rpc_unix_domain, the client will listen on
a Unix-domain socket (named "boinc_socket") rather than on a TCP port.
- Add RPC_CLIENT::init_unix_domain() function to C++ GUI RPC interface
(Note: we'll need to add a corresponding function to the Java interface)
- boinccmd: add --unix_domain option
- inet_ntop() etc. exist only on Vista+
- the other functions are declared in winsock2.h.
This breaks the Manager build, since wxwidgets includes winsock.h.
So to hell with it.
- windows build: manager doesn't depend on client
svn path=/trunk/boinc/; revision=22358
- use "sockaddr_storage" to store network addresses
(which may be IPv4 or IPv6)
rather than assuming they fit in an int.
- the entries in gui_rpc_auth.cfg may now be IPv6 addresses
(a🅱️c:e:f:g format),
or domain names of hosts that support only IPv6
Note: GUI RPCs are still constrained to use IPv4,
but this should be easy to change if it's every needed
Also: replace deprecated gethostbyname() with getaddrinfo().
svn path=/trunk/boinc/; revision=22353
This is an attempt to fix a problem on Linux where,
if the client starts before a VPN is set up, it can never communicate
svn path=/trunk/boinc/; revision=17711
- scheduler: fix bug in adaptive replication:
if send an unreplicated job to untrusted host,
set both wu.target_nresults and wu.min_quorum to app.target_nresults.
svn path=/trunk/boinc/; revision=15762
parameter 5 to getsockopt() by using the compiler. The macro was in danger of
becoming an ever expanding list of case statements, since some platforms use
socklen_t, others use size_t, and still others use int. Some aren't even
consistent from OS rev to OS rev.
A macro BOINC_SOCKLEN_T is set in config.h to indicate the proper type. This
is typedef to be boinc_socklen_t in lib/network.h. The special cases for
__APPLE__ and WIN32 can probably be removed at a later time. Places where
socklen_t was used have been changed to boinc_socklen_t.
Also added double inclusion protection to network.h
svn path=/trunk/boinc/; revision=6055