| 
									
										
										
										
											2018-09-06 08:29:14 +02:00
										 |  |  | module Cask | 
					
						
							| 
									
										
										
										
											2016-09-24 13:52:43 +02:00
										 |  |  |   module Verify | 
					
						
							|  |  |  |     module_function | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-24 13:52:43 +02:00
										 |  |  |     def all(cask, downloaded_path) | 
					
						
							| 
									
										
										
										
											2018-09-05 01:39:30 +02:00
										 |  |  |       if cask.sha256 == :no_check | 
					
						
							|  |  |  |         ohai "No SHA-256 checksum defined for Cask '#{cask}', skipping verification." | 
					
						
							|  |  |  |         return | 
					
						
							| 
									
										
										
										
											2016-09-24 13:52:43 +02:00
										 |  |  |       end | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-05 01:39:30 +02:00
										 |  |  |       ohai "Verifying SHA-256 checksum for Cask '#{cask}'." | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       expected = cask.sha256 | 
					
						
							|  |  |  |       computed = downloaded_path.sha256 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       raise CaskSha256MissingError.new(cask.token, expected, computed) if expected.nil? || expected.empty? | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       return if expected == computed | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       ohai "Note: Running `brew update` may fix SHA-256 checksum errors." | 
					
						
							|  |  |  |       raise CaskSha256MismatchError.new(cask.token, expected, computed, downloaded_path) | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |