* Don't check the signature unless we have to.
This commit is contained in:
		
							parent
							
								
									2ea3bebc23
								
							
						
					
					
						commit
						b4a040e52b
					
				
					 1 changed files with 20 additions and 18 deletions
				
			
		|  | @ -840,6 +840,7 @@ Path LocalStore::importPath(bool requireSignature, Source & source) | ||||||
|     if (haveSignature) { |     if (haveSignature) { | ||||||
|         string signature = readString(hashAndReadSource); |         string signature = readString(hashAndReadSource); | ||||||
| 
 | 
 | ||||||
|  |         if (requireSignature) { | ||||||
|             Path sigFile = tmpDir + "/sig"; |             Path sigFile = tmpDir + "/sig"; | ||||||
|             writeStringToFile(sigFile, signature); |             writeStringToFile(sigFile, signature); | ||||||
| 
 | 
 | ||||||
|  | @ -853,8 +854,8 @@ Path LocalStore::importPath(bool requireSignature, Source & source) | ||||||
|             args.push_back(sigFile); |             args.push_back(sigFile); | ||||||
|             string hash2 = runProgram("openssl", true, args); |             string hash2 = runProgram("openssl", true, args); | ||||||
| 
 | 
 | ||||||
|         /* Note: runProgram() throws an exception if the signature is
 |             /* Note: runProgram() throws an exception if the signature
 | ||||||
|            invalid. */ |                is invalid. */ | ||||||
| 
 | 
 | ||||||
|             if (printHash(hash) != hash2) |             if (printHash(hash) != hash2) | ||||||
|                 throw Error( |                 throw Error( | ||||||
|  | @ -862,6 +863,7 @@ Path LocalStore::importPath(bool requireSignature, Source & source) | ||||||
|                     "archive; archive could be corrupt, or someone is trying " |                     "archive; archive could be corrupt, or someone is trying " | ||||||
|                     "to import a Trojan horse"); |                     "to import a Trojan horse"); | ||||||
|         } |         } | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|     /* Do the actual import. */ |     /* Do the actual import. */ | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue