mirror of https://github.com/BOINC/boinc.git
*** empty log message ***
svn path=/trunk/boinc/; revision=8680
This commit is contained in:
parent
e395bb8c3d
commit
c9d0b1fe8f
|
@ -13136,3 +13136,9 @@ David 13 Oct 2005
|
|||
|
||||
client/
|
||||
pers_file_xfer.C
|
||||
|
||||
David 13 Oct 2005
|
||||
- generalize random-string generator
|
||||
|
||||
lib/
|
||||
hostinfo.C,h
|
||||
|
|
|
@ -72,6 +72,8 @@ list_item("executable",
|
|||
list_item("upload_when_present",
|
||||
"If present, indicates that the file should be uploaded
|
||||
when the application finishes.
|
||||
The file is uploaded even if the application doesn't
|
||||
finish successfully.
|
||||
");
|
||||
list_item("sticky",
|
||||
"If present, indicates that the file should be retained
|
||||
|
|
|
@ -182,25 +182,27 @@ Each reply message ends with the character '\\003.
|
|||
<p>
|
||||
Since GUI RPCs can control the BOINC client
|
||||
(e.g. attaching/detaching projects)
|
||||
it is important to protect your BOINC client
|
||||
from unauthorized control.
|
||||
it is important to protect your BOINC client from unauthorized control.
|
||||
There are two levels of protection:
|
||||
<ul>
|
||||
<li> You can associate a password with the client;
|
||||
<li> You can associate a password with the client.
|
||||
If a password is used,
|
||||
GUI RPCs must be authenticated with this password.
|
||||
<li> You can restrict RPCs to a limited set of hosts.
|
||||
</ul>
|
||||
A GUI RPC is handled only if it passes both levels of protection.
|
||||
|
||||
<h2>Password protection</h2>
|
||||
<p>
|
||||
If you place a password in a file <b>gui_rpc_auth.cfg</b>
|
||||
in your BOINC directory,
|
||||
GUI RPCs must be authenticated using the password.
|
||||
<p>
|
||||
If this file is not present, there is no password protection.
|
||||
|
||||
<h2>Remote host restriction</h2>
|
||||
<p>
|
||||
By default the core client accepts GUI RPCs
|
||||
only from the same host.
|
||||
By default the core client accepts GUI RPCs only from the same host.
|
||||
|
||||
<p>
|
||||
You can allow remote hosts to control a core client in two ways:
|
||||
|
|
|
@ -190,14 +190,19 @@ int HOST_INFO::write_cpu_benchmarks(FILE* out) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
void HOST_INFO::make_random_string(char* salt, char* out) {
|
||||
char buf[1024];
|
||||
|
||||
sprintf(buf, "%f%s%s%f%s", dtime(), domain_name, ip_addr, d_free, salt);
|
||||
md5_block((const unsigned char*) buf, (int)strlen(buf), out);
|
||||
}
|
||||
|
||||
// make a host cross-project ID.
|
||||
// Should be unique across hosts with very high probability
|
||||
//
|
||||
void HOST_INFO::generate_host_cpid() {
|
||||
char buf[1024];
|
||||
|
||||
sprintf(buf, "%f%s%s%f", dtime(), domain_name, ip_addr, d_free);
|
||||
md5_block((const unsigned char*) buf, (int)strlen(buf), host_cpid);
|
||||
make_random_string("", host_cpid);
|
||||
}
|
||||
|
||||
|
||||
const char *BOINC_RCSID_edf7e5c147 = "$Id$";
|
||||
|
|
|
@ -69,6 +69,7 @@ public:
|
|||
bool users_idle(bool check_all_logins, double idle_time_to_run);
|
||||
int get_host_info();
|
||||
void clear_host_info();
|
||||
void make_random_string(char* salt, char* out);
|
||||
void generate_host_cpid();
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue