| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -29,11 +29,13 @@ import org.libresonic.player.domain.Version; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import org.libresonic.player.service.SecurityService; | 
					 | 
					 | 
					 | 
					import org.libresonic.player.service.SecurityService; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import org.libresonic.player.service.SettingsService; | 
					 | 
					 | 
					 | 
					import org.libresonic.player.service.SettingsService; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import org.libresonic.player.util.StringUtil; | 
					 | 
					 | 
					 | 
					import org.libresonic.player.util.StringUtil; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import org.springframework.beans.factory.annotation.Autowired; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import org.springframework.security.authentication.ProviderManager; | 
					 | 
					 | 
					 | 
					import org.springframework.security.authentication.ProviderManager; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; | 
					 | 
					 | 
					 | 
					import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import org.springframework.security.core.Authentication; | 
					 | 
					 | 
					 | 
					import org.springframework.security.core.Authentication; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import org.springframework.security.core.AuthenticationException; | 
					 | 
					 | 
					 | 
					import org.springframework.security.core.AuthenticationException; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import org.springframework.security.core.context.SecurityContextHolder; | 
					 | 
					 | 
					 | 
					import org.springframework.security.core.context.SecurityContextHolder; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import org.springframework.stereotype.Component; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import javax.servlet.*; | 
					 | 
					 | 
					 | 
					import javax.servlet.*; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import javax.servlet.http.HttpServletRequest; | 
					 | 
					 | 
					 | 
					import javax.servlet.http.HttpServletRequest; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -51,14 +53,19 @@ import java.io.IOException; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 * | 
					 | 
					 | 
					 | 
					 * | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 * @author Sindre Mehus | 
					 | 
					 | 
					 | 
					 * @author Sindre Mehus | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 */ | 
					 | 
					 | 
					 | 
					 */ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					@Component(value = "restRequestParameterProcessingFilter") | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					public class RESTRequestParameterProcessingFilter implements Filter { | 
					 | 
					 | 
					 | 
					public class RESTRequestParameterProcessingFilter implements Filter { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private static final Logger LOG = Logger.getLogger(RESTRequestParameterProcessingFilter.class); | 
					 | 
					 | 
					 | 
					    private static final Logger LOG = Logger.getLogger(RESTRequestParameterProcessingFilter.class); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private final JAXBWriter jaxbWriter = new JAXBWriter(); | 
					 | 
					 | 
					 | 
					    private final JAXBWriter jaxbWriter = new JAXBWriter(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    @Autowired | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private ProviderManager authenticationManager; | 
					 | 
					 | 
					 | 
					    private ProviderManager authenticationManager; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    @Autowired | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private SettingsService settingsService; | 
					 | 
					 | 
					 | 
					    private SettingsService settingsService; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    @Autowired | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private SecurityService securityService; | 
					 | 
					 | 
					 | 
					    private SecurityService securityService; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    @Autowired | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private LoginFailureLogger loginFailureLogger; | 
					 | 
					 | 
					 | 
					    private LoginFailureLogger loginFailureLogger; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { | 
					 | 
					 | 
					 | 
					    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -185,19 +192,4 @@ public class RESTRequestParameterProcessingFilter implements Filter { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void destroy() { | 
					 | 
					 | 
					 | 
					    public void destroy() { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void setAuthenticationManager(ProviderManager authenticationManager) { | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        this.authenticationManager = authenticationManager; | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void setSettingsService(SettingsService settingsService) { | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        this.settingsService = settingsService; | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void setSecurityService(SecurityService securityService) { | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        this.securityService = securityService; | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void setLoginFailureLogger(LoginFailureLogger loginFailureLogger) { | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        this.loginFailureLogger = loginFailureLogger; | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
					 | 
					 | 
					
  |