28 lines
		
	
	
		
			586 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			586 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # frozen_string_literal: true
 | |
| 
 | |
| if Rails.configuration.x.use_vips
 | |
|   ENV['VIPS_BLOCK_UNTRUSTED'] = 'true'
 | |
| 
 | |
|   require 'vips'
 | |
| 
 | |
|   abort('Incompatible libvips version, please install libvips >= 8.13') unless Vips.at_least_libvips?(8, 13)
 | |
| 
 | |
|   Vips.block('VipsForeign', true)
 | |
| 
 | |
|   %w(
 | |
|     VipsForeignLoadNsgif
 | |
|     VipsForeignLoadJpeg
 | |
|     VipsForeignLoadPng
 | |
|     VipsForeignLoadWebp
 | |
|     VipsForeignLoadHeif
 | |
|     VipsForeignSavePng
 | |
|     VipsForeignSaveSpng
 | |
|     VipsForeignSaveJpeg
 | |
|     VipsForeignSaveWebp
 | |
|   ).each do |operation|
 | |
|     Vips.block(operation, false)
 | |
|   end
 | |
| 
 | |
|   Vips.block_untrusted(true)
 | |
| end
 |