*** empty log message ***

svn path=/trunk/boinc/; revision=8680
This commit is contained in:
David Anderson 2005-10-15 05:08:59 +00:00
parent e395bb8c3d
commit c9d0b1fe8f
5 changed files with 25 additions and 9 deletions

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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$";

View File

@ -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();
};