mirror of https://github.com/BOINC/boinc.git
*** empty log message ***
svn path=/trunk/boinc/; revision=5424
This commit is contained in:
parent
0ddf2ed101
commit
08086a3376
|
@ -24707,3 +24707,13 @@ David 13 Feb 2005
|
||||||
sched_config.C,h
|
sched_config.C,h
|
||||||
sched_send.C
|
sched_send.C
|
||||||
server_types.C,h
|
server_types.C,h
|
||||||
|
|
||||||
|
David 13 Feb 2005
|
||||||
|
- Core client: require that all app_version files be signed
|
||||||
|
- update_versions: put signatures on all app_version files
|
||||||
|
|
||||||
|
client/
|
||||||
|
client_state.C
|
||||||
|
cs_files.C
|
||||||
|
py/Boinc/
|
||||||
|
tools.py
|
||||||
|
|
|
@ -608,11 +608,9 @@ int CLIENT_STATE::link_app_version(PROJECT* p, APP_VERSION* avp) {
|
||||||
return ERR_NOT_FOUND;
|
return ERR_NOT_FOUND;
|
||||||
}
|
}
|
||||||
|
|
||||||
// any executable file associated with an app version must be signed
|
// any file associated with an app version must be signed
|
||||||
//
|
//
|
||||||
if (fip->executable) {
|
fip->signature_required = true;
|
||||||
fip->signature_required = true;
|
|
||||||
}
|
|
||||||
file_ref.file_info = fip;
|
file_ref.file_info = fip;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -92,7 +92,8 @@ int FILE_INFO::verify_downloaded_file() {
|
||||||
get_pathname(this, pathname);
|
get_pathname(this, pathname);
|
||||||
if (signature_required) {
|
if (signature_required) {
|
||||||
if (!file_signature) {
|
if (!file_signature) {
|
||||||
msg_printf(project, MSG_ERROR, "file %s missing signature", name);
|
msg_printf(project, MSG_ERROR, "Application file %s missing signature", name);
|
||||||
|
msg_printf(project, MSG_ERROR, "This BOINC client cannot accept unsigned application files");
|
||||||
error_msg = "missing signature";
|
error_msg = "missing signature";
|
||||||
return ERR_NO_SIGNATURE;
|
return ERR_NO_SIGNATURE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -142,7 +142,7 @@ def process_app_version(
|
||||||
|
|
||||||
signature_files is a dictionary of exec_file -> signature file mappings.
|
signature_files is a dictionary of exec_file -> signature file mappings.
|
||||||
process_app_version() will generate a new signature for
|
process_app_version() will generate a new signature for
|
||||||
any exec_files that don't have one given already.
|
any files that don't have one given already.
|
||||||
|
|
||||||
NOTE: using the feature of generating signature files on
|
NOTE: using the feature of generating signature files on
|
||||||
the same machine (requiring having the private key stored
|
the same machine (requiring having the private key stored
|
||||||
|
@ -170,13 +170,12 @@ def process_app_version(
|
||||||
xml_doc += process_app_file(exec_file, signature_text, quiet=quiet)
|
xml_doc += process_app_file(exec_file, signature_text, quiet=quiet)
|
||||||
|
|
||||||
for non_exec_file in non_exec_files:
|
for non_exec_file in non_exec_files:
|
||||||
# default: use MD5 sum instead of RSA signature
|
|
||||||
signature_file = signature_files.get(non_exec_file)
|
signature_file = signature_files.get(non_exec_file)
|
||||||
if signature_file:
|
if signature_file:
|
||||||
if not quiet: print 'Using signature file', signature_file
|
if not quiet: print 'Using signature file', signature_file
|
||||||
signature_text = open(signature_file).read()
|
signature_text = open(signature_file).read()
|
||||||
else:
|
else:
|
||||||
signature_text = None
|
signature_text = sign_executable(non_exec_file, quiet=quiet)
|
||||||
xml_doc += process_app_file(
|
xml_doc += process_app_file(
|
||||||
non_exec_file, signature_text=signature_text,
|
non_exec_file, signature_text=signature_text,
|
||||||
executable=False, quiet=quiet)
|
executable=False, quiet=quiet)
|
||||||
|
|
Loading…
Reference in New Issue