mirror of
				https://git.tardis.systems/mirrors/yuzu
				synced 2025-11-03 20:24:43 +01:00 
			
		
		
		
	dedicated_room: Correctly handle token decoding
Correctly handle token decoding when '=' has been trimmed by the backend server. Co-Authored-By: liushuyu <liushuyu011@gmail.com>
This commit is contained in:
		
							parent
							
								
									2b6ac4463c
								
							
						
					
					
						commit
						27d7db1fae
					
				@ -75,6 +75,17 @@ static constexpr char BanListMagic[] = "YuzuRoom-BanList-1";
 | 
			
		||||
 | 
			
		||||
static constexpr char token_delimiter{':'};
 | 
			
		||||
 | 
			
		||||
static void PadToken(std::string& token) {
 | 
			
		||||
    const auto remainder = token.size() % 3;
 | 
			
		||||
    if (remainder == 0) {
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    for (size_t i = 0; i < (3 - remainder); i++) {
 | 
			
		||||
        token.push_back('=');
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static std::string UsernameFromDisplayToken(const std::string& display_token) {
 | 
			
		||||
    std::size_t outlen;
 | 
			
		||||
 | 
			
		||||
@ -300,6 +311,7 @@ int main(int argc, char** argv) {
 | 
			
		||||
        if (username.empty()) {
 | 
			
		||||
            LOG_INFO(Network, "Hosting a public room");
 | 
			
		||||
            Settings::values.web_api_url = web_api_url;
 | 
			
		||||
            PadToken(token);
 | 
			
		||||
            Settings::values.yuzu_username = UsernameFromDisplayToken(token);
 | 
			
		||||
            username = Settings::values.yuzu_username.GetValue();
 | 
			
		||||
            Settings::values.yuzu_token = TokenFromDisplayToken(token);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user