mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-03 16:39:01 -06:00 
			
		
		
		
	web_backend: fix a regression introduced in 39c8d18
				
					
				
			* A regression was in 39c8d18 and token verification function was
  broken.
* The reason being `httplib` now requires OpenSSL 1.1+ API while
  LibreSSL 2.x provided OpenSSL 1.0 compatible API.
* The bundled LibreSSL has been updated to 3.2.2 so it now provides
  OpenSSL 1.1 compatible API now.
* Also the path hint has been added so that it will find the correct
  path to the CA certs on *nix systems.
* An option is provided so that *nix system distributions/providers can
  use their own SSL implementations when compiling Yuzu/Citra to
  (hopefully) complies with their maintenance guidelines.
* LURLParse is also removed since `httplib` can handle
  `scheme:host:port` string itself now.
			
			
This commit is contained in:
		
							
								
								
									
										25
									
								
								externals/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										25
									
								
								externals/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							@@ -73,17 +73,20 @@ if (NOT LIBZIP_FOUND)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
if (ENABLE_WEB_SERVICE)
 | 
			
		||||
    # LibreSSL
 | 
			
		||||
    set(LIBRESSL_SKIP_INSTALL ON CACHE BOOL "")
 | 
			
		||||
    add_subdirectory(libressl EXCLUDE_FROM_ALL)
 | 
			
		||||
    target_include_directories(ssl INTERFACE ./libressl/include)
 | 
			
		||||
    target_compile_definitions(ssl PRIVATE -DHAVE_INET_NTOP)
 | 
			
		||||
    get_directory_property(OPENSSL_LIBRARIES
 | 
			
		||||
        DIRECTORY libressl
 | 
			
		||||
        DEFINITION OPENSSL_LIBS)
 | 
			
		||||
 | 
			
		||||
    # lurlparser
 | 
			
		||||
    add_subdirectory(lurlparser EXCLUDE_FROM_ALL)
 | 
			
		||||
    if (USE_SYSTEM_SSL)
 | 
			
		||||
        find_package(OpenSSL 1.1 REQUIRED)
 | 
			
		||||
        set(OPENSSL_LIBRARIES OpenSSL::SSL OpenSSL::Crypto)
 | 
			
		||||
    else()
 | 
			
		||||
        # LibreSSL
 | 
			
		||||
        set(LIBRESSL_SKIP_INSTALL ON CACHE BOOL "")
 | 
			
		||||
        set(OPENSSLDIR "/etc/ssl/")
 | 
			
		||||
        add_subdirectory(libressl EXCLUDE_FROM_ALL)
 | 
			
		||||
        target_include_directories(ssl INTERFACE ./libressl/include)
 | 
			
		||||
        target_compile_definitions(ssl PRIVATE -DHAVE_INET_NTOP)
 | 
			
		||||
        get_directory_property(OPENSSL_LIBRARIES
 | 
			
		||||
            DIRECTORY libressl
 | 
			
		||||
            DEFINITION OPENSSL_LIBS)
 | 
			
		||||
    endif()
 | 
			
		||||
 | 
			
		||||
    # httplib
 | 
			
		||||
    add_library(httplib INTERFACE)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user