*** empty log message ***

svn path=/trunk/boinc/; revision=5424
This commit is contained in:
David Anderson 2005-02-14 05:40:21 +00:00
parent 0ddf2ed101
commit 08086a3376
4 changed files with 16 additions and 8 deletions

View File

@ -24707,3 +24707,13 @@ David 13 Feb 2005
sched_config.C,h
sched_send.C
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

View File

@ -608,11 +608,9 @@ int CLIENT_STATE::link_app_version(PROJECT* p, APP_VERSION* avp) {
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;
}
file_ref.file_info = fip;
}
return 0;

View File

@ -92,7 +92,8 @@ int FILE_INFO::verify_downloaded_file() {
get_pathname(this, pathname);
if (signature_required) {
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";
return ERR_NO_SIGNATURE;
}

View File

@ -142,7 +142,7 @@ def process_app_version(
signature_files is a dictionary of exec_file -> signature file mappings.
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
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)
for non_exec_file in non_exec_files:
# default: use MD5 sum instead of RSA signature
signature_file = signature_files.get(non_exec_file)
if signature_file:
if not quiet: print 'Using signature file', signature_file
signature_text = open(signature_file).read()
else:
signature_text = None
signature_text = sign_executable(non_exec_file, quiet=quiet)
xml_doc += process_app_file(
non_exec_file, signature_text=signature_text,
executable=False, quiet=quiet)