mirror of https://github.com/BOINC/boinc.git
*** empty log message ***
svn path=/trunk/boinc/; revision=12325
This commit is contained in:
parent
1411e4c003
commit
633d5a6bef
|
@ -3259,3 +3259,13 @@ David 5 Apr 2007
|
|||
lib/
|
||||
diagnostics.C
|
||||
error_numbers.h
|
||||
|
||||
David 5 Apr 2007
|
||||
- core client: canonicalize account manager URL
|
||||
- boinc_cmd: add --join_acct_mgr, --quit_acct_mgr commands;
|
||||
remove --acct_mgr_op command.
|
||||
|
||||
client/
|
||||
acct_mgr.C
|
||||
lib/
|
||||
boinc_cmd.C
|
||||
|
|
|
@ -47,15 +47,15 @@ ACCT_MGR_OP::ACCT_MGR_OP() {
|
|||
// if url is null, defect from current account manager
|
||||
//
|
||||
int ACCT_MGR_OP::do_rpc(
|
||||
std::string url, std::string name, std::string password_hash,
|
||||
std::string _url, std::string name, std::string password_hash,
|
||||
bool _via_gui
|
||||
) {
|
||||
int retval;
|
||||
unsigned int i;
|
||||
char buf[256], password[256];
|
||||
char url[256], password[256], buf[256];
|
||||
FILE *pwdf;
|
||||
|
||||
strlcpy(buf, url.c_str(), sizeof(buf));
|
||||
strlcpy(url, _url.c_str(), sizeof(url));
|
||||
|
||||
error_num = ERR_IN_PROGRESS;
|
||||
via_gui = _via_gui;
|
||||
|
@ -66,7 +66,7 @@ int ACCT_MGR_OP::do_rpc(
|
|||
|
||||
// if null URL, defect from current AMS
|
||||
//
|
||||
if (!strlen(buf) && strlen(gstate.acct_mgr_info.acct_mgr_url)) {
|
||||
if (!strlen(url) && strlen(gstate.acct_mgr_info.acct_mgr_url)) {
|
||||
msg_printf(NULL, MSG_INFO, "Removing account manager info");
|
||||
gstate.acct_mgr_info.clear();
|
||||
boinc_delete_file(ACCT_MGR_URL_FILENAME);
|
||||
|
@ -80,13 +80,13 @@ int ACCT_MGR_OP::do_rpc(
|
|||
return 0;
|
||||
}
|
||||
|
||||
canonicalize_master_url(buf);
|
||||
if (!valid_master_url(buf)) {
|
||||
canonicalize_master_url(url);
|
||||
if (!valid_master_url(url)) {
|
||||
error_num = ERR_INVALID_URL;
|
||||
return 0;
|
||||
}
|
||||
|
||||
strlcpy(ami.acct_mgr_url, url.c_str(), sizeof(ami.acct_mgr_url));
|
||||
strlcpy(ami.acct_mgr_url, url, sizeof(ami.acct_mgr_url));
|
||||
strlcpy(ami.acct_mgr_name, "", sizeof(ami.acct_mgr_name));
|
||||
strlcpy(ami.login_name, name.c_str(), sizeof(ami.login_name));
|
||||
strlcpy(ami.password_hash, password_hash.c_str(), sizeof(ami.password_hash));
|
||||
|
@ -174,7 +174,7 @@ int ACCT_MGR_OP::do_rpc(
|
|||
}
|
||||
fprintf(f, "</acct_mgr_request>\n");
|
||||
fclose(f);
|
||||
sprintf(buf, "%srpc.php", url.c_str());
|
||||
sprintf(buf, "%srpc.php", url);
|
||||
retval = gstate.gui_http.do_rpc_post(
|
||||
this, buf, ACCT_MGR_REQUEST_FILENAME, ACCT_MGR_REPLY_FILENAME
|
||||
);
|
||||
|
@ -182,7 +182,7 @@ int ACCT_MGR_OP::do_rpc(
|
|||
error_num = retval;
|
||||
return retval;
|
||||
}
|
||||
msg_printf(NULL, MSG_INFO, "Contacting account manager at %s", url.c_str());
|
||||
msg_printf(NULL, MSG_INFO, "Contacting account manager at %s", url);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -29,6 +29,12 @@ list_item("--create_account URL email password name",
|
|||
"Create account with the given email address, password, and user name"
|
||||
);
|
||||
list_item("--project_attach URL auth","Attach to an account");
|
||||
list_item("--join_acct_mgr URL name password",
|
||||
"Attach to an account manager (or do RPC if already attached)."
|
||||
);
|
||||
list_item("--quit_acct_mgr",
|
||||
"Quit the current account manager."
|
||||
);
|
||||
list_bar("State queries");
|
||||
list_item("--get_state", "show complete client state");
|
||||
list_item("--get_results", "show results");
|
||||
|
@ -110,9 +116,6 @@ list_item(
|
|||
",
|
||||
"Set proxy settings (all fields are mandatory)"
|
||||
);
|
||||
list_item("--acct_mgr_rpc URL name password",
|
||||
"Instruct core client to contact an account manager server."
|
||||
);
|
||||
list_item("--run_benchmarks", "Run CPU benchmarks");
|
||||
list_item(
|
||||
"--set_screensaver_mode on|off blank_time
|
||||
|
|
|
@ -375,11 +375,37 @@ int main(int argc, char** argv) {
|
|||
HOST_INFO hi;
|
||||
retval = rpc.get_host_info(hi);
|
||||
if (!retval) hi.print();
|
||||
} else if (!strcmp(cmd, "--acct_mgr_rpc")) {
|
||||
} else if (!strcmp(cmd, "--join_acct_mgr")) {
|
||||
char* am_url = next_arg(argc, argv, i);
|
||||
char* am_name = next_arg(argc, argv, i);
|
||||
char* am_passwd = next_arg(argc, argv, i);
|
||||
retval = rpc.acct_mgr_rpc(am_url, am_name, am_passwd);
|
||||
if (!retval) {
|
||||
while (1) {
|
||||
ACCT_MGR_RPC_REPLY amrr;
|
||||
retval = rpc.acct_mgr_rpc_poll(amrr);
|
||||
if (retval) {
|
||||
printf("poll status: %s\n", boincerror(retval));
|
||||
} else {
|
||||
if (amrr.error_num) {
|
||||
printf("poll status: %s\n", boincerror(amrr.error_num));
|
||||
if (amrr.error_num != ERR_IN_PROGRESS) break;
|
||||
boinc_sleep(1);
|
||||
} else {
|
||||
unsigned int i, n = amrr.messages.size();
|
||||
if (n) {
|
||||
printf("Messages from account manager:\n");
|
||||
for (i=0; i<n; i++) {
|
||||
printf("%s\n", amrr.messages[i].c_str());
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (!strcmp(cmd, "--quit_acct_mgr")) {
|
||||
retval = rpc.acct_mgr_rpc("", "", "");
|
||||
} else if (!strcmp(cmd, "--run_benchmarks")) {
|
||||
retval = rpc.run_benchmarks();
|
||||
} else if (!strcmp(cmd, "--get_screensaver_mode")) {
|
||||
|
|
Loading…
Reference in New Issue