From 244fd2eb5126a65131c8f2424f024b29d5e8e796 Mon Sep 17 00:00:00 2001 From: Josh Cummings <3627351+jzheaux@users.noreply.github.com> Date: Tue, 14 Jan 2025 18:25:17 -0700 Subject: [PATCH] Support Serialization in Exceptions Issue gh-16276 --- ...gSecurityCoreVersionSerializableTests.java | 93 +++++++++++++++++- ...ty.access.AccessDeniedException.serialized | Bin 0 -> 16216 bytes ...s.AuthorizationServiceException.serialized | Bin 0 -> 16296 bytes ...ication.AccountExpiredException.serialized | Bin 0 -> 16371 bytes ...ionCredentialsNotFoundException.serialized | Bin 0 -> 16309 bytes ....AuthenticationServiceException.serialized | Bin 0 -> 16297 bytes ...ication.BadCredentialsException.serialized | Bin 0 -> 16290 bytes ...ion.CredentialsExpiredException.serialized | Bin 0 -> 16375 bytes ...uthentication.DisabledException.serialized | Bin 0 -> 16365 bytes ...fficientAuthenticationException.serialized | Bin 0 -> 16302 bytes ...lAuthenticationServiceException.serialized | Bin 0 -> 16394 bytes ....authentication.LockedException.serialized | Bin 0 -> 16363 bytes ...ation.ProviderNotFoundException.serialized | Bin 0 -> 10734 bytes ...tt.InvalidOneTimeTokenException.serialized | Bin 0 -> 10741 bytes ...rd.CompromisedPasswordException.serialized | Bin 0 -> 16304 bytes ...tails.UsernameNotFoundException.serialized | Bin 0 -> 16294 bytes ...ppolicy.PasswordPolicyException.serialized | Bin 0 -> 10970 bytes ...nt.ClientAuthorizationException.serialized | Bin 0 -> 16626 bytes ...tAuthorizationRequiredException.serialized | Bin 0 -> 11268 bytes ...e.OAuth2AuthenticationException.serialized | Bin 0 -> 16580 bytes ...re.OAuth2AuthorizationException.serialized | Bin 0 -> 16507 bytes ...rity.oauth2.jwt.BadJwtException.serialized | Bin 0 -> 16273 bytes ...tDecoderInitializationException.serialized | Bin 0 -> 16226 bytes ...oauth2.jwt.JwtEncodingException.serialized | Bin 0 -> 16280 bytes ...ecurity.oauth2.jwt.JwtException.serialized | Bin 0 -> 16205 bytes ...uth2.jwt.JwtValidationException.serialized | Bin 0 -> 11069 bytes ...rce.InvalidBearerTokenException.serialized | Bin 0 -> 16963 bytes ...pection.BadOpaqueTokenException.serialized | Bin 0 -> 16351 bytes ...on.OAuth2IntrospectionException.serialized | Bin 0 -> 16247 bytes ...rewall.RequestRejectedException.serialized | Bin 0 -> 10661 bytes ...ServerExchangeRejectedException.serialized | Bin 0 -> 10675 bytes .../access/AccessDeniedException.java | 5 + .../access/AuthorizationServiceException.java | 5 + .../AccountExpiredException.java | 5 + ...nticationCredentialsNotFoundException.java | 5 + .../AuthenticationServiceException.java | 5 + .../BadCredentialsException.java | 5 + .../CredentialsExpiredException.java | 5 + .../authentication/DisabledException.java | 5 + .../InsufficientAuthenticationException.java | 5 + ...nternalAuthenticationServiceException.java | 5 + .../authentication/LockedException.java | 5 + .../ProviderNotFoundException.java | 5 + .../ott/InvalidOneTimeTokenException.java | 5 + .../CompromisedPasswordException.java | 5 + .../AuthorizationDeniedException.java | 5 + .../UsernameNotFoundException.java | 5 + .../security/crypto/codec/Base64.java | 1 + ...ctiveDirectoryAuthenticationException.java | 1 + .../ldap/ppolicy/PasswordPolicyException.java | 5 + .../client/ClientAuthorizationException.java | 5 + .../ClientAuthorizationRequiredException.java | 5 + .../InvalidClientRegistrationIdException.java | 1 + .../core/OAuth2AuthenticationException.java | 5 + .../core/OAuth2AuthorizationException.java | 5 + .../security/oauth2/jwt/BadJwtException.java | 5 + .../JwtDecoderInitializationException.java | 5 + .../oauth2/jwt/JwtEncodingException.java | 5 + .../security/oauth2/jwt/JwtException.java | 5 + .../oauth2/jwt/JwtValidationException.java | 4 + .../resource/InvalidBearerTokenException.java | 5 + .../BadOpaqueTokenException.java | 5 + .../OAuth2IntrospectionException.java | 5 + .../firewall/RequestRejectedException.java | 5 + .../authentication/SwitchUserWebFilter.java | 1 + .../ServerExchangeRejectedException.java | 5 + 66 files changed, 249 insertions(+), 2 deletions(-) create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.access.AccessDeniedException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.access.AuthorizationServiceException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.AccountExpiredException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.AuthenticationCredentialsNotFoundException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.AuthenticationServiceException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.BadCredentialsException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.CredentialsExpiredException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.DisabledException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.InsufficientAuthenticationException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.InternalAuthenticationServiceException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.LockedException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.ProviderNotFoundException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.ott.InvalidOneTimeTokenException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.password.CompromisedPasswordException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.core.userdetails.UsernameNotFoundException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.ldap.ppolicy.PasswordPolicyException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.client.ClientAuthorizationException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.client.ClientAuthorizationRequiredException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.core.OAuth2AuthenticationException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.core.OAuth2AuthorizationException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.jwt.BadJwtException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.jwt.JwtDecoderInitializationException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.jwt.JwtEncodingException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.jwt.JwtException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.jwt.JwtValidationException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.server.resource.InvalidBearerTokenException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.server.resource.introspection.BadOpaqueTokenException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.server.resource.introspection.OAuth2IntrospectionException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.web.firewall.RequestRejectedException.serialized create mode 100644 config/src/test/resources/serialized/6.4.x/org.springframework.security.web.server.firewall.ServerExchangeRejectedException.serialized diff --git a/config/src/test/java/org/springframework/security/SpringSecurityCoreVersionSerializableTests.java b/config/src/test/java/org/springframework/security/SpringSecurityCoreVersionSerializableTests.java index 90140fcc2d..407a055d42 100644 --- a/config/src/test/java/org/springframework/security/SpringSecurityCoreVersionSerializableTests.java +++ b/config/src/test/java/org/springframework/security/SpringSecurityCoreVersionSerializableTests.java @@ -54,15 +54,29 @@ import org.junit.jupiter.params.provider.MethodSource; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider; import org.springframework.core.type.filter.AssignableTypeFilter; +import org.springframework.security.access.AccessDeniedException; +import org.springframework.security.access.AuthorizationServiceException; import org.springframework.security.access.intercept.RunAsUserToken; import org.springframework.security.authentication.AbstractAuthenticationToken; +import org.springframework.security.authentication.AccountExpiredException; import org.springframework.security.authentication.AnonymousAuthenticationToken; +import org.springframework.security.authentication.AuthenticationCredentialsNotFoundException; +import org.springframework.security.authentication.AuthenticationServiceException; +import org.springframework.security.authentication.BadCredentialsException; +import org.springframework.security.authentication.CredentialsExpiredException; +import org.springframework.security.authentication.DisabledException; +import org.springframework.security.authentication.InsufficientAuthenticationException; +import org.springframework.security.authentication.InternalAuthenticationServiceException; +import org.springframework.security.authentication.LockedException; +import org.springframework.security.authentication.ProviderNotFoundException; import org.springframework.security.authentication.RememberMeAuthenticationToken; import org.springframework.security.authentication.TestAuthentication; import org.springframework.security.authentication.TestingAuthenticationToken; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.authentication.jaas.JaasAuthenticationToken; +import org.springframework.security.authentication.ott.InvalidOneTimeTokenException; import org.springframework.security.authentication.ott.OneTimeTokenAuthenticationToken; +import org.springframework.security.authentication.password.CompromisedPasswordException; import org.springframework.security.cas.authentication.CasAssertionAuthenticationToken; import org.springframework.security.cas.authentication.CasAuthenticationToken; import org.springframework.security.cas.authentication.CasServiceTicketAuthenticationToken; @@ -72,7 +86,12 @@ import org.springframework.security.core.authority.AuthorityUtils; import org.springframework.security.core.session.ReactiveSessionInformation; import org.springframework.security.core.session.SessionInformation; import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UsernameNotFoundException; +import org.springframework.security.ldap.ppolicy.PasswordPolicyErrorStatus; +import org.springframework.security.ldap.ppolicy.PasswordPolicyException; import org.springframework.security.ldap.userdetails.LdapAuthority; +import org.springframework.security.oauth2.client.ClientAuthorizationException; +import org.springframework.security.oauth2.client.ClientAuthorizationRequiredException; import org.springframework.security.oauth2.client.OAuth2AuthorizedClient; import org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken; import org.springframework.security.oauth2.client.authentication.OAuth2AuthorizationCodeAuthenticationToken; @@ -88,7 +107,10 @@ import org.springframework.security.oauth2.client.registration.TestClientRegistr import org.springframework.security.oauth2.core.DefaultOAuth2AuthenticatedPrincipal; import org.springframework.security.oauth2.core.OAuth2AccessToken; import org.springframework.security.oauth2.core.OAuth2AuthenticatedPrincipal; +import org.springframework.security.oauth2.core.OAuth2AuthenticationException; +import org.springframework.security.oauth2.core.OAuth2AuthorizationException; import org.springframework.security.oauth2.core.OAuth2DeviceCode; +import org.springframework.security.oauth2.core.OAuth2Error; import org.springframework.security.oauth2.core.OAuth2RefreshToken; import org.springframework.security.oauth2.core.OAuth2UserCode; import org.springframework.security.oauth2.core.TestOAuth2AccessTokens; @@ -108,14 +130,22 @@ import org.springframework.security.oauth2.core.oidc.user.TestOidcUsers; import org.springframework.security.oauth2.core.user.DefaultOAuth2User; import org.springframework.security.oauth2.core.user.OAuth2UserAuthority; import org.springframework.security.oauth2.core.user.TestOAuth2Users; +import org.springframework.security.oauth2.jwt.BadJwtException; import org.springframework.security.oauth2.jwt.Jwt; +import org.springframework.security.oauth2.jwt.JwtDecoderInitializationException; +import org.springframework.security.oauth2.jwt.JwtEncodingException; +import org.springframework.security.oauth2.jwt.JwtException; +import org.springframework.security.oauth2.jwt.JwtValidationException; import org.springframework.security.oauth2.jwt.TestJwts; import org.springframework.security.oauth2.server.resource.BearerTokenError; import org.springframework.security.oauth2.server.resource.BearerTokenErrors; +import org.springframework.security.oauth2.server.resource.InvalidBearerTokenException; import org.springframework.security.oauth2.server.resource.authentication.BearerTokenAuthentication; import org.springframework.security.oauth2.server.resource.authentication.BearerTokenAuthenticationToken; import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationToken; +import org.springframework.security.oauth2.server.resource.introspection.BadOpaqueTokenException; import org.springframework.security.oauth2.server.resource.introspection.OAuth2IntrospectionAuthenticatedPrincipal; +import org.springframework.security.oauth2.server.resource.introspection.OAuth2IntrospectionException; import org.springframework.security.saml2.Saml2Exception; import org.springframework.security.saml2.core.Saml2Error; import org.springframework.security.saml2.provider.service.authentication.DefaultSaml2AuthenticatedPrincipal; @@ -138,6 +168,8 @@ import org.springframework.security.web.csrf.CsrfException; import org.springframework.security.web.csrf.DefaultCsrfToken; import org.springframework.security.web.csrf.InvalidCsrfTokenException; import org.springframework.security.web.csrf.MissingCsrfTokenException; +import org.springframework.security.web.firewall.RequestRejectedException; +import org.springframework.security.web.server.firewall.ServerExchangeRejectedException; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.fail; @@ -193,6 +225,12 @@ class SpringSecurityCoreVersionSerializableTests { generatorByClassName.put(OidcUserAuthority.class, (r) -> new OidcUserAuthority(TestOidcIdTokens.idToken().build(), new OidcUserInfo(Map.of("claim", "value")), "claim")); + generatorByClassName.put(OAuth2AuthenticationException.class, + (r) -> new OAuth2AuthenticationException(new OAuth2Error("error", "description", "uri"), "message", + new RuntimeException())); + generatorByClassName.put(OAuth2AuthorizationException.class, + (r) -> new OAuth2AuthorizationException(new OAuth2Error("error", "description", "uri"), "message", + new RuntimeException())); // oauth2-client ClientRegistration.Builder clientRegistrationBuilder = TestClientRegistrations.clientRegistration(); @@ -231,6 +269,21 @@ class SpringSecurityCoreVersionSerializableTests { return new DefaultOAuth2AuthenticatedPrincipal(principal.getName(), principal.getAttributes(), (Collection) principal.getAuthorities()); }); + generatorByClassName.put(ClientAuthorizationException.class, + (r) -> new ClientAuthorizationException(new OAuth2Error("error", "description", "uri"), "id", "message", + new RuntimeException())); + generatorByClassName.put(ClientAuthorizationRequiredException.class, + (r) -> new ClientAuthorizationRequiredException("id")); + + // oauth2-jose + generatorByClassName.put(BadJwtException.class, (r) -> new BadJwtException("token", new RuntimeException())); + generatorByClassName.put(JwtDecoderInitializationException.class, + (r) -> new JwtDecoderInitializationException("message", new RuntimeException())); + generatorByClassName.put(JwtEncodingException.class, + (r) -> new JwtEncodingException("message", new RuntimeException())); + generatorByClassName.put(JwtException.class, (r) -> new JwtException("message", new RuntimeException())); + generatorByClassName.put(JwtValidationException.class, + (r) -> new JwtValidationException("message", List.of(new OAuth2Error("error", "description", "uri")))); // oauth2-jwt generatorByClassName.put(Jwt.class, (r) -> TestJwts.user()); @@ -262,6 +315,12 @@ class SpringSecurityCoreVersionSerializableTests { generatorByClassName.put(BearerTokenError.class, (r) -> BearerTokenErrors.invalidToken("invalid token")); generatorByClassName.put(OAuth2IntrospectionAuthenticatedPrincipal.class, (r) -> TestOAuth2AuthenticatedPrincipals.active()); + generatorByClassName.put(InvalidBearerTokenException.class, + (r) -> new InvalidBearerTokenException("description", new RuntimeException())); + generatorByClassName.put(BadOpaqueTokenException.class, + (r) -> new BadOpaqueTokenException("message", new RuntimeException())); + generatorByClassName.put(OAuth2IntrospectionException.class, + (r) -> new OAuth2IntrospectionException("message", new RuntimeException())); // core generatorByClassName.put(RunAsUserToken.class, (r) -> { @@ -287,7 +346,33 @@ class SpringSecurityCoreVersionSerializableTests { }); generatorByClassName.put(OneTimeTokenAuthenticationToken.class, (r) -> applyDetails(new OneTimeTokenAuthenticationToken("username", "token"))); - + generatorByClassName.put(AccessDeniedException.class, + (r) -> new AccessDeniedException("access denied", new RuntimeException())); + generatorByClassName.put(AuthorizationServiceException.class, + (r) -> new AuthorizationServiceException("access denied", new RuntimeException())); + generatorByClassName.put(AccountExpiredException.class, + (r) -> new AccountExpiredException("error", new RuntimeException())); + generatorByClassName.put(AuthenticationCredentialsNotFoundException.class, + (r) -> new AuthenticationCredentialsNotFoundException("error", new RuntimeException())); + generatorByClassName.put(AuthenticationServiceException.class, + (r) -> new AuthenticationServiceException("error", new RuntimeException())); + generatorByClassName.put(BadCredentialsException.class, + (r) -> new BadCredentialsException("error", new RuntimeException())); + generatorByClassName.put(CredentialsExpiredException.class, + (r) -> new CredentialsExpiredException("error", new RuntimeException())); + generatorByClassName.put(DisabledException.class, + (r) -> new DisabledException("error", new RuntimeException())); + generatorByClassName.put(InsufficientAuthenticationException.class, + (r) -> new InsufficientAuthenticationException("error", new RuntimeException())); + generatorByClassName.put(InternalAuthenticationServiceException.class, + (r) -> new InternalAuthenticationServiceException("error", new RuntimeException())); + generatorByClassName.put(LockedException.class, (r) -> new LockedException("error", new RuntimeException())); + generatorByClassName.put(ProviderNotFoundException.class, (r) -> new ProviderNotFoundException("error")); + generatorByClassName.put(InvalidOneTimeTokenException.class, (r) -> new InvalidOneTimeTokenException("error")); + generatorByClassName.put(CompromisedPasswordException.class, + (r) -> new CompromisedPasswordException("error", new RuntimeException())); + generatorByClassName.put(UsernameNotFoundException.class, + (r) -> new UsernameNotFoundException("error", new RuntimeException())); generatorByClassName.put(TestingAuthenticationToken.class, (r) -> applyDetails(new TestingAuthenticationToken("username", "password"))); @@ -312,6 +397,8 @@ class SpringSecurityCoreVersionSerializableTests { // ldap generatorByClassName.put(LdapAuthority.class, (r) -> new LdapAuthority("USER", "username", Map.of("attribute", List.of("value1", "value2")))); + generatorByClassName.put(PasswordPolicyException.class, + (r) -> new PasswordPolicyException(PasswordPolicyErrorStatus.INSUFFICIENT_PASSWORD_QUALITY)); // saml2-service-provider generatorByClassName.put(Saml2AuthenticationException.class, @@ -358,7 +445,9 @@ class SpringSecurityCoreVersionSerializableTests { generatorByClassName.put(org.springframework.security.web.server.csrf.DefaultCsrfToken.class, (r) -> new org.springframework.security.web.server.csrf.DefaultCsrfToken("header", "parameter", "token")); - + generatorByClassName.put(RequestRejectedException.class, (r) -> new RequestRejectedException("message")); + generatorByClassName.put(ServerExchangeRejectedException.class, + (r) -> new ServerExchangeRejectedException("message")); } @ParameterizedTest diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.access.AccessDeniedException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.access.AccessDeniedException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..61dae86206e8ad845035bf17e3679e5f8bdcf445 GIT binary patch literal 16216 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 a+87g6DiXP5l(fUz}~Yv&}P3=4QutbKc!q&-9+} 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.AuthenticationCredentialsNotFoundException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.AuthenticationCredentialsNotFoundException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..4e99aa03653f7e2611ae861c9c6b74034f2da86a GIT binary patch literal 16309 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 E3uL)r=l}o! literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.CredentialsExpiredException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.CredentialsExpiredException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..0ec7355f62ce128c3f1ebc7a040842f646f2e98c GIT binary patch literal 16375 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.DisabledException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.DisabledException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..71d58fa87c7b5d9e86dffb061032c87827b3be12 GIT binary patch literal 16365 zcmeHOTWlT08J^=L&XwTYuOuWK5=xX4hujEp024cjgLA3vq=5v`X3yq$lXK24yK@|y zwp0~VEuaEzp{-Dbss@3OdQnR%sH(m-s8SzVD)CUYR8>WbRH;vW>Lt+so0*-Ry&U_v zSb4#DnCzMP=fBTCGygyS{y*5PFkt(=pi&C`z^zx#2Ug9w1A?KSFrkXyVFYJ@94 z{MoDTJ$vO365-x)5!znhl)4ifYCLOae!BB7^D9FV&*}@-h*hdu^-5`gXu35=1HSx7 z`=NO|pZKc;ToMCnh~HjYfA{KrYk!%67#a?|OVG!=Z|~Z?_tIOxp224Jvst#)2p!Ir z^#j*75Z$IB_w}QN^QtqQ>{HsA(1?6B_)n-_A+zBm+EHbJaAlK_bZdaF*2 zY(prQh7I2j2%%w_kh2ast-;;uwthF{`$qlnQT8~Sfo8tn2qMf_)q4 zg<-#Em7U-ixf@uS-Om=59U6e}2QaRB=bU$|jsZ2V=I~*!oaph&jRedMHPLg*2}1Hu zfoRk(FjhFt*$m6~IXg72Qw@rxFsK&50dg^gYS0N>tLi=mgAX|&Ck1b79k>Lwkx8mn z?OfR^l6h%S6?g6NrAZbNhioUf?cnTAFzD6^rf$0)eQ_tKTh&s)0?%1v%|D{i{}FK!M?UOC&4%ZnOToXjOovJ5<-7}(T=0nPhC%O(fr zY-y@TUEx4nAV#V%x34^l)uUKc5Bh8x$epT_b zt_e@wzS~#xtE4UUrR}}LL~})JWEZ}6bJi}Y8bF0NHP9k_Ev7I}YfMBK=RhL}D6*@- zBO;;`Mw8h`^pC>W)(ho}acl^j^Hs836cn8DQ4uO>lNBrU4w}&J)=x%NY>4gK_mnzIJ4A3_NYvZzBY{D{#(Pr_~PlQ<}5wtXbjNTC=eyU?h+yyRCcj=iU3d$pQZ4@=kpO9N6tkqA)bj0;QOSSY$YsdBK5U%dHn_)w^Y3!Wf9N_3@AN46W&-CO6+{L2mBU zvD=o0=w#(Jc<-p{Ai2|BO76L0R|C5yt#1fgXa>*>(uSttu;*g$&06N+%&awuSwjvj zS_*F2nH4dUvj0_BX z76{I=L@V-gEobC`y2B~QUI+3g z&?LOvV~balnJGyz31ANN*)8;vahI9q6Ag>=^iTX9IlGQTwijGy~WJDk-3 z!tc&x08UK=@OuHknK36lBgu7j& z)3Nl$m{pU}r&Hkg>6-vO69Gh#Y~LhB#UTwm4Ot;Exybyf#9O0Ot)v{l?ICnWoa$I{ zx5=VZHuw}b6E7pf*R>2I_`1Z|IH(hLd`isZ%-EhM&YSF}4PEEkigdf}@06056Niz@9b(9>~vC4-HM~C5M(Dnkl0*<)2 zk(XMAjdU6|&ehz+UiX1w^VB5SG~KV*KBD(5h=v(6hy(xgi(dvckfN9Fe zwLd^=x-GUrcMw=($YT}t*B~V%=(Hts9}9K2GH(an0^kh;PK|bZI($L;l%d=HO++@w zM3f(83|c%)aY5*rv)Kx74!Xk97EQZnN=)05{aXQ=@#mx(48?|0-9``XfyOVnn4pVS z@)UB75O2unxBDC^+Om1Hj_9J0?ovjaV|)G>o%6(AnKEACpTf0&47xv|1%4^8d^*$} zXg-5|li0a6!%iF-;;;dvFHm~c8KL|P-5v&=M;l0mTh$yf*$+~SOr%Xx?6SWn*qsw$ z&cW9J}{sPU%(-Z9oKr%tBoidh`} z6Z|xBwAzB64m9#;l>v}9BXrC2J-$ZGL-(XFF2L|v6N9{;p!@S^9!K*96X1FD2qt45 zzGwnW$V2)n0fbMQ7{2~Zp=^??GIL~zW6S?K>$n)5H?>nn7fk{8+T zYSkqFT@4pY_{r2V6!AWq)|CqAzfEg1d!>`tU8qNTAHJS46}1;V9jfk`N|BG3;c0dY zrp!~bA${#hgrD7tf!;~pbTd>`xob`SKtA!e6>%fkrt>0It5LUyDSR3%@WS$A-55R#m-LcBmjDtq!d~GDV9=Eof&dZ8xQpEA$lUGKQX<*2HoYginRVX zTiawLvSVRYq=q&sjebZJ^J}BWs2Db)sz6a;RMslKU?nSo$$oet%u4OkbNDR z^%&ou2ebu1>>f0t(vb&5^-zrWpy@@E0fIt{B%UaCDuuey>yWY=`WCl`jY=my*AiV+ zMx&b}vh)L8Ll9XhWI`#VfWmoUvpKkdIM`z>lq?4aJYs58t^@hhCn8Gq z$L53Do(XbiiQKVq$&ss!jztu@%a%_mp#OWndj^$sl6!P)BEer>Hpycr{c_Z!|aKEc7UkUO<*ylaw$dJ(#% z%SO~UPYk3?G?VIL`oIs>91^O*sxM&G7l@F4xgeK#2WNLF6|}(gA+a+_#)QS#vUFFZ zmBKEQ))82(11uoA6nZ(EiIgaT1Z;hrWl}p81&OfOTl2Zdwm$aOiYr~Oz5FM-AC3B> zoXv9ZGN%EI3rNPxTB5?~hzeVTFYH8YiOI%J4X_Mf%h9Yb0W_a%6~YXWottJVv#|Qv%_~`_R?IwVe!=x^c;9PfA1MI?=&|3oFN)CWoP|Q3~0{mSO4>B;K ztIJ2LE99u1OwDFTQmEHGAaDrHVKjXa4-m5pJwj3UMESyig7&vPJJcKcULEsVqkC*_l!&m^#N+F+5 zV9d@3*s4jy06NA)li2Jf4>5qYDge%EfSAbyz^RD<EMvRWg1!w0u7p%Hb07x9%o>bI2LpE{me!qgH_D~z{PaiDT36!WUq z(`z|;YAJDlo$D!7-~^{XMDrswujDa)O#pq8%UmsaL19`?*V%oi%`#mMr1S8E)okqC zdAnv}W8Q+$*MVlb94Pe=AN91NWH}H@dLPYYG?~o~>P}bx061N!O1(Xt)@GbEgVQ_* zFA+;HcD>e1)h(URb!CVB2gLr1Mte6f?AAPdh%fP%GzoyWBYCuP?%!^Xfb1eq?i>g#e87T)|XCB1R!!SFjnD4G{S6JQN$yaj?gbFFZfy-F^EAs zHMrayd{_*w#H1x?bR`2bWoC5^`qw4~WtjtA>(HR=P`H_z%!TE;*CxP8ld{1CH3iJP z9SwG;WWnLAP|{ZPm#B%8O*#uz=oBDG8Wy%E((vfnfd;w9I4KJCJ}Ktttad?XzcBc5 uQr@7{g+>%`5}q<9Xy#;uL9>N)F|f)MZbBTalq1w5LW%)!$QShbM*jz;o`|sk literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.InsufficientAuthenticationException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.InsufficientAuthenticationException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..24e5a933fa91da5edb3342013788fe590a83f167 GIT binary patch literal 16302 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 F{{kS0XJG&U literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.InternalAuthenticationServiceException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.InternalAuthenticationServiceException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..3ce3a576f5ab7f6a2a2812580e442eea085a8b3e GIT binary patch literal 16394 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 V)z)jbHr?p|@mqg^{AfOy{}1ZzB!&P0 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.ott.InvalidOneTimeTokenException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.ott.InvalidOneTimeTokenException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..72c49585259603b819e64ec594cc794a0bb1e2ab GIT binary patch literal 10741 zcmeGiTWlRib*_^*j?+BJt9dr*Hlak_IC1JEjY)E`oy5V3Q(q^P^nuoU$JcA`-QDcY zb?m5ANTIwWXhl(xDpUcLct{|%5RnM+Nh&0S1Rwq21B5_TB_zK1qEaa5%*@WtKJN83 z317q?*c)-qkotC?dBV5UwL;G3W8Jkx#n#`^;BV+o*w`2F2oC$=8n z{_7mX_*Cd$vnE{n-n&okJ9h2%ZJsw!ocMDf~ zxcdS8E@!(Y9hYiQ-F3>Q{Ay~(uQpOJtLl8_G7TfJCyr(a>UkXx5#`HqXSbgA|Se&NH$(KPf49$<#S?R!-R zqlV?42A4YOaUh)tcQ0#@QoPT#S>AN;JCdiJO?WB?&Tu_&L0a-j={t3fZz_rK6a6G3 zor0=Ht8_~Nt;MHx;OF6taSuZW8es^oT{<4_5or`JCLh5cxUnaut22pj21SjGj}{Xa zM#Rp8N6a3xSNJ=i-fO?35(8JU}N(t2(9F4UM%yDWSm+8KzNwI51^7o&l%csd5!2 zK#c54Ua~8cq(^jazSG9O8TByQnwZe}4K_3S0Th-(_TL21s=(1?v`7G@+I z=)rQqS?p0WaGG)}r93vu#K51t>^t)C8a=vfo|n9yx>sHi&lN`2NQw^ML7JBE>5Np` zq7_@Y+GlKmYJyf1t3&dmIHatMpKHi{K6y_Ri*Y}J(>w}HZ~#VD+jv6C9%n0YiFnL; zpwNJEMZd0x=M*-s5gy!A0GAg6_#+2kgy%WJXJtG|l}2{x;88Zw?1kat)1dmm$c|>8 zq)9!TQg8xn9M!ioESV`Mf>#by`ZX*sAjvbQ97sPydkTs<*HkslfbU}D;n`1{VT|J=yU^ZWWU>IkVKAH~MrIg|Ly&Iu5)%N$ugAY7Y&3nq{N~>XaV8%2zU?g{QXkh`WI} zjsN6kI<3%ec&UgaGE$__23yA#wc}TEJ6@lcqK>heS%9x889vGZ7RHXuQSriQ`yrHovksQzX4|l_Oryp`-ATo|4e#Ri3w4jO_ocFA{W9z&k z_Su|l{=kXiz>iZN;OiWK5nd6ti#^@wOX9##|CW^IUL3$i8WJS*_ z5&a!Nzc+^-@KDIiZFUgIDmn{xANi{C0j{_{4GA2JT&@^9l%i0BUQ=)B$< z=oSa!o`vUE|6@$|ja=tvK};V{bWjdMYaSa}hI*<%Ljtlb(fe4frloqPcw&%m-ktx z^7j!M!=bjv&IkUv2+&%oD00|f)&i+UN6`g!IW%&JjID8+6CR)T#Z{zR| z4nM;ov%Qk84g7wy00hK?hinhgS+P+|V(!EFB>0TlN8XU2zA zC4BlalvARRExWEx{<{h;+2Q}Elu;0W!=ZhlBJ}$Yq?xbSM7fLN5!Q!KU(p413}>LV z#_v5dE%H_!o@P}rbe@`hQe{ud{q#u&h89`r=BUW)u5HC1iiy7~iEGU^)faKChG$Pf z1E2qtK-{K@S|6I(qtNMsnpPGUkF@w&O!&u~FbpMvLkV9~Vi679764D-67+}?L%t$T zHHby&u7hv7=CCQP30vVsvbsq^-zAJAS%f50T*fW(o&x2ia}Y^=<2aDW38ceb(|#FthH6PuH(s(3Qb2MB_^2)_R+Zn73yaOrJYfsT8G1WM!K=L5k*E%k1`SjdI5IHyZZNemy+tzh=KLU-!ve-lR%I6^cSXA zX+SNnM5N@$$o3{*Vm+3uQ=YV_YgvG{KE0$hg8%3GlLVpQB`?r8Q&3V*qX=RIhN znW~4J=VIT10@#V)`-_0~BM>=(!^vhqa36}F25{iL>>MT(r~%vKmz`3ePWyMcov+Cj;4FyI4I zbK)F`pZdf^;r_AtN2Sjcx#xh~g_h*NROaSm3gxO5KugGo-{HI_cTei~1P>RjiRmZz zJ@H-pdb}ft12{K-$TaxUJ}#jxaL$rXn%VybnC8D;TiERJ_i_+|(C|OQAB|pUWhAds zPfNmvr)%Mh87;JMS2+r(QXsNjHddi!avmCF@Ut{e^uO^3RywU3-zC2w%4 z=`%bs3C6g_$j0ncES1t>oz^){3t2$#QW|7rDYirbBqY0%E|ZK@;3Ohrs2(uhZM}Yb R^UeMrzWHaUkLH58{{YZ3CPx4O literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.password.CompromisedPasswordException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.authentication.password.CompromisedPasswordException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..112bcf688cefca9b2539605e1565c4e074f2fd47 GIT binary patch literal 16304 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 POSoHOg#A_KcW~^#7iek{ literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.core.userdetails.UsernameNotFoundException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.core.userdetails.UsernameNotFoundException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..0272398b25f8c7a12dd7ceb3965312490e3b502b GIT binary patch literal 16294 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 GiT?tZcx4Iz literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.ldap.ppolicy.PasswordPolicyException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.ldap.ppolicy.PasswordPolicyException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..148433692c0d27a79087313a253636626a5f6af9 GIT binary patch literal 10970 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.client.ClientAuthorizationException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.client.ClientAuthorizationException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..7566a0979b5914e20ac55ff060c153f557b6692f GIT binary patch literal 16626 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 Itj#O`54(EVrvLx| literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.client.ClientAuthorizationRequiredException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.client.ClientAuthorizationRequiredException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..836566955ab03aa2e820baddb9f0ee6444085250 GIT binary patch literal 11268 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 Nb;c)_fVk|~{{;Ya>hb^p literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.core.OAuth2AuthenticationException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.core.OAuth2AuthenticationException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..de67c73ec2284052941c142282a55672584e350b GIT binary patch literal 16580 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 b@1wsj&<&mR&kxAY3Ch*m1BCg<1%UEDW^>8< literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.core.OAuth2AuthorizationException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.core.OAuth2AuthorizationException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..b082c12d2829669619c4849cd6cad886765731c6 GIT binary patch literal 16507 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 Ezy4ZV-2eap literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.jwt.JwtDecoderInitializationException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.jwt.JwtDecoderInitializationException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..39a7ada3a10a89c346cff8085cd37d52e6dbf410 GIT binary patch literal 16226 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.jwt.JwtEncodingException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.jwt.JwtEncodingException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..e0026470c333d3b18edb37ec7c1eb424ac89c3ec GIT binary patch literal 16280 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 Dvd><2 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.jwt.JwtException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.jwt.JwtException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..ac27bf9f67af2e7a9a8f4e389017a889f30a70a5 GIT binary patch literal 16205 zcmeHOU2Gl26`t!P&QJ5>goOMP5^e%CWu3$!5FAL1?Sv%G54MvMezn=Vw%57$?qzqb ze<-C=Ayl9uD5$7H2(_gMA%WTo3RHbwn&U+^ux5hocdbu=yeCXoF<1LI$1Z=~oJ!V^FyE<(3*Q?yCxEk?|$6Ajp z+57b0CE|54qQ>~cl`Z#d=-l+%494I{;E&tq%kJe*Zohf|_{YDW$L9C31&&=0UC!3@ zfmS=1wrkAJKDMmna@#APaKq3ZCcIS!-T=ocJ0D_8LT)=31_Rq6j2j+GphN?`Ww+v1 zIgwl))@!wZ2)ZRLb;wzpoL1*vxxLQ|dFMnee4IVS3IL01^&p}wH8Y@DMwD9)fBnFL zE8F&CO z2u;)qj1^XMHqWlrI6E?>KMe>+8&K}m?FX(RHQ)xGUG|=U!3W)tlY-luN4B6gGD+F4 zoG;l$GB5X>Vn;_!nq(g-L?~v2^0cST& zji6*$MgFd5_q$=e%uQ+bDQOP;U((zsW#w#Zt}JR;NwSzE$qMka5@1II0krIgZHF9~ zv(>2{K^;Wao9lW|kOkNRa3g0cho$Y@lYYrPYnSV$Ra#yW_?$Ho<7ng>z13mbS|moQ zM=f$$#3jvvy{089qP3l~rB2}5+&y)E)O8X@`8b7&pSPH+8%-f_wocOO_kAwu9aSD| zPU{lW$a5O#x;F^?K-+Ys`BN?LddIJpJOq2Ye3&BYsj5ISnTYVR9Gs$cwxwk=(Jv{P zZfGD=SIs+Gsg+4vs-^9{+a&XW)<_3hdpT>BTn(hcM;d7bT5S~OX^)8r<964BfFipJ zJR%~xVKkXtrGFI0ZW}FKh+{+G4wcDrQBZJ8Cq$_1a^w!(LlauP>X?5)dm06Gwv)Pd z=hEqM%kD76sOoT%kX--PsfM*uIyqY`PK)z44#d{ocUZfu4iVg!68DxniTk?vIEj`Z z8FKbD*@($OPX_@GNg5P0TdoQYKh+zC20;E$G^eU$X=kPiJS-3HQK zirvB*f~Z?EIYnWpzX?t;53$K``|*SB5!vRiK9klLrmsM= zHZ29W?95>?ld}h#(lnV`+%Buby~5Iv2HL#f2F1vk#;8Z(ksa(Z1&eLEhjvqDrqah6 zbusXV&ibC(yv1FnZXQvx9=cXpLFXK2D-=ghtRTrt#&pgGn&K6Cxn5`Ffx5#j#a;*Y zCjk;(c1W%6?rY+hPy04O8^9I_oGo{-L%OO$tT-fMn{Q7c<7cO7hle$SXr0R-oShEg zj{<=+anF%4D-}sfZs-Iawz37cmyU~8j~?J`bE6^UQtJ~2j**LZn#(z=gz1VEuLG!x zYj|DICC?i1==vErBc4N-QT?Rp_RBbVa0^_U?NqWXl(A7CKG5`Kt)~&RJh~lAUyMaH z1${n+j-OQ%p=UaTD3W!~aH+VYL8d`Fyg+w1^QT(gMx|=C%6_~aLT}71PZsx?B1&aL z&N4tHvxb-T8aP^Y&ZZ!pu;X)LCTGU+)RY~u8ak)(pIS_-9r*QX;zW`+QgCQOto<`u z@r#)iugYrCq*zK#z|Vvq+$0bvgsAoGg-AOo@2@i>h+9nJ{3#>gui4FUJwYJi5For zu_-!S!P|^ZTf~l0CvS34=p-YW*bL&X{(X$S5I>fcKNR(28CTbj=<>KzTpq>sF63mm zignlzdTnRqR4pv(X7SVzoz8UN>7FpMicQz!ns90JUJ3G-i2RNWd7|Ue&D?QMdo>qn zjbcY}H)q#p`t=gUjV4X}{U(X;Dei_UUIoY{bg71+A5M+*kwE$ZkVJU-f+@`!yVi50 zrdwhgbOnJui9A+Ow+1L7LANdBMCef0-O9Xe^a_AC^t%;0?dkFb6{Kv@@;NcNIcB2# zC}Ys#eH0gjo;h2n=;n|stZve@cg%`uo3ej1Nb~-ZRD+?|P^#PLp)=6Td80?@#U7?O%c>z4qjtyD0rf${fqkjMb& z{S|4U z>8At;e%GWh<$E6rd!6V$%FQWAy@Dz8)M!XQ zdlKPipAw*VhA-U=7gg@sm_Lxu{1e68NVe&`NZGDeoe@glQ~lJnWHn8`^(mQsiZWgF zrd5xN8>bk}XZ(&}3~-e|fuWU9i%jTFfp8bbM7)p`vM=I9f>=J?V|w&19ryT%k%S!( zk7Qj*LhO>x5l=!ZA*FaUk@xJ%F1Mf1qcitTSmZI(CMt zPN!AT37HO2u+zoyqDqj`VW0=yFiI(LR-9(Oke1#@qEHluNixws#{wK&mkMnFD>++& z+(sA{ckR+n0;ET2l_IM@%d1pe=ZD;{nL-^Tej=woJ->lEz2&uvwEj5T)L#Bbpr|k^>zSJy4JqX>l;`;_cw*|+!%hgbZ-N3gW4tpDX(y1_ z-2nGALZW&ohVBLE&P9R&i?lpZ>{JT%qOU_rURblaGh$RadsG)?=IP~#EIq}ws8cO% zQ8X{oA(*TaYr@G=C<1IZ2e*<0cNiNbD?v9^JlzSo59Fsl5mTx^HXhXWOt5>H*qxk` z9l6THWW=GXWY;JqRE&PpevNBS`g?-)d2=HEalI$1wXZ^roHpRZ$6iir*tx0!9S}EvcId~ltydVOi zOQD;y`ACV9I04%dXPMMVML{Ag_Eu_KWLuy3cy%7L$mu)sF zJdGZ4YubX=jQ|M>>Cdr%u+5;*@{*>2;3q4>I}C)(=TpE+d=oX}kETFjr^!No9)<4P z04#uZ6TwA~SY|9_;wz*}8leL%q4@;D2RR64wKDUG67Y4+QHDlz-32d?V6?^LJuN8Ap9rsWkKu@CxChqAc63@rf?dq`vLk*7O&(W44Me( z4^V)A)6Cr*JJggBOF%d@5EtdHhTG>?`(g^Y+2mDMdQ}~gf5Fn5H=J-HYku^)xpP{A86iU*IPwR5XPc;l;>d5NT$u+Q{A) zVeCg>C@KYF*QYQ0P38AzPo}0QHHFlS;7!#Ws9*{e{Y>lWEwoa4YASXAC0A6a#0g2? z1$Yl&uF#eHQ9)B)P`DzLIad&zD+oTt;!jIH%!vieta@Yoi>=ds)!i2-ciyR)I9BHh zg5tf(O7KT<-Hfk#T2Znf2#mQ>6})OT%ByqQBzF>j?00S2Z0dd<*LMC5y?+j%y&Dwb zT*`kib|r%#i)ZM*N+73(^$y0w25Nv1KWrNyq>EhOGe5fFL&*4zpeYnuO@w%v8X>t% z{rYZHVLB77q7g#7Mpy><#DcXZNk%Fjp}!4aCBUjkKn$9N84RvA2OkwPuh%nmEdw)U zZgo8dHvs5CS?EC5CV=d0lH4u7hg5Qye{{d<3}!W1uZX*gbrV_eA?i% z2d%k9Zk=7^Q`B{;lsmpR+_YJMAEmcwrT5)8zR*ERW2Bpfp&v$^Y#p1U3v_>jJMR8L z-*uUdu*aJrInpkcHJ$lq-g&Y2t*x(h5CT{ZwTs0>@n&`L+|1Lx=Ol`|kVDI* zUd@_lc-*NoP3xu4c8{z-^yEJz;Oz;ZhIr$>9S_}geEaWn5Rz*RV^=J+FIeZ;9fKN(UR zAnti21riSoyR6PU4k$NAjUWgCA**VxK{2-(iWzeve!Ll6CXbVwI9Xel)Ei-pTneY6 zsm91VPTzmx#CyAr;o<{A$dAB^dJ`e#CeU@)U)*!}Z%=oSo>QcI#t-Y1kCOGS)#FziDVSU8 zqGyVQ5g4LC)C@|5l(ulvNrQlsk!4M)A~r}xZHqxaWC~S|R$A>S@LXWyujd?7j+z+j~ z6WP{C{BwxezUb#u-3CNOzDdxAv`mz&%iR@|IuvHs<`IU{-HWM?5SYFKfy4mim(@T6j3PYVV# z@29B^2F%IkOpm~hNVc2ndRU;vW*0WQIoVi~x?>moDg$5JFtyV0tbpgF6&s_mX$*Tc z*jm6wrbjLEmY7PG0{M;RXfJ-<$H~nx>_vahH<|xQ9@GvQq#*A-9qwBTtVa7OEa3xZW&+B6QEXkOJ4If`G$IO&#D4WQCh4YUcr zZihnwwxe)HY_JiAa1JORC7dUV;>qNF_ydpkz+81caU&s{!DBl1AFO&_c+~-0Zsvn9 zq1*8m{CRDZ;Qz@!=sr-0XNbA12JXzOr4h;X?_6$J3*{sy>%_q_P4W2bK5)e9v-+iL z1nM0}f%+ZE$rCR@66EA2`H`SQISpYmtlewJ`$CN1wNYhr4bS0L;8Kpqlx6$%y6;66 z#xd4}6cAX;CHM(`esiWrS=G%_N|JUgb9Ce<6s7)z(p)2Oz>Ql>Y*~vn;ebJVwB+nj zkhd-3Er=bmU5eb=0R1hinv`OXHPHs8gofB;7}ojW;4F2#avbh?wFHQh9m$XE3@z!4 zCO6-2W8Iv2craU&5Qq5<2>VnAtUKGK*1b*~fXJ>%>)V1BHkYuOg0oM<;qi>ebY3%$ z2kL^e*rj`5 zH|1t3d2CTJgg-OoJ8JWm`%KwcJ$_lt)mTA~vFDP!TG>On zKQ;plU9Up$xK9L+BD{+@D6Vdu_QPRn&yELCS$~$tXW(>(15fuvu~sOA#{oxjW?YHr zuLJr$IrM;sL1b>Ti%!7s2Bh3yJ^=S+xqiLG?-U{bMVrVEmJi_c?_pDj=(@Q6d2xB5 zs{-hG1bX3rfa!*j>;5!|>Apk<17S#)@YbuWzbbHd0nrv-pTME6yOnxxgDe28VS?4+ zw1?meSD#UI$GbpeZ$d=bQBI-dGvF75oZ+rb;VnQ{+T5mUkK7Q|wx$1efI9!47K0(! zNQ&F&fiuwfB{vhw;^iWNya$MP=Hxpt4T7dNkM|KI3fV5D#2(uZmLQPyi;%w~Ok3pJ zufYai3~2yC-C*k(@pnxF*f2_sD&1BTnZY$ zeu+(HE0s)b;P|xyAW#7I{t6r6jS2;|YH1?6-xiPqIb!ecu=!wef)fFetl(>J7|@4m zAs?DAS=oFs@ySL`Xs4;rY9IC(p;Zn*W=7a8<9q!2TpVp7i50{6Y~q3#9yc+_`~0r;P-G9)neiTm2inN=3CR;!tQ- z&mWN9CxD)~(_fihr2)CT7Lk@8C)-<$#Ck00!h8pmM*jm8i)*77pcc2Fsz7mJRMs=^ zZZ)KYzgC{-eQ1f9tcRQzV&91Z5HA5lB_j*84}r)jYzDC@0)l!d4vk=QrVt1PT88C` zVy6<1#=gui7)+(P6jKP zIs#2{K*$}A{VfKu#4p|B1{fU?(Iyl3S+at!Gpo zt_NJ)wqCim?bQ=6zw{R5N6nxK6N(a~<`aLp`@4UjKjuFR>e~ulp(wmaXU!o7`Z7fib8CL%Yg@m>li)~8idl7>ga@Lui~=_ RW?)X>WQ~A@=Yjyz{4c^xnIHfF literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.server.resource.InvalidBearerTokenException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.server.resource.InvalidBearerTokenException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..e2cd7fbb9971580fabbd82a9678ebb6c066405d1 GIT binary patch literal 16963 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 I=t%p20eYfU%>V!Z literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.server.resource.introspection.BadOpaqueTokenException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.server.resource.introspection.BadOpaqueTokenException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..098c85e9bd64d38d794dc5d160a6df216a9f4c63 GIT binary patch literal 16351 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.server.resource.introspection.OAuth2IntrospectionException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.oauth2.server.resource.introspection.OAuth2IntrospectionException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..4c8b96b31edfa1f6966472685df1b8ea06986caa GIT binary patch literal 16247 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.web.firewall.RequestRejectedException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.web.firewall.RequestRejectedException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..52e1faf545b6643fd232cd3de8f8ee32514a9334 GIT binary patch literal 10661 zcmeHNU2Gjk6`t!Pj$`sqQs=j6l1);Gx^dz(iR(0pV>^jc#|gepAZ;mH?;T&Sy?1xB zJJ&y@fJ9pmh>B7~A1YMwR}~}>pcWFuE2)rpfrmcu073{<35h43KnmfUnc3OdpL=~x z!V~escy{K@IcL6e=FH5Q`@_GJ6;Vje`eD_Kg3$4*lc80kbAC8uM%1o{4qGti=!7}x zgmlhwU2}}ysMCmz(P?TkS{a(RX}}!ct6cmZdF!7?_qGu-AChg;)~sc^mRB{$>K=1y zR1v=UsrK`oM_>G_ApCGbs3?AWXVqsXcP-A0YB%y7^7xhbj#K?n>r03t@#i(z%QF=Q#5O8yyY4V zBk%;yXg(+rQu;n4%d8+^HD|62)OMe^iLn>L7Y3Nw4^E}#o9J~%NKGZs~iLilH zT&p%wu?(;Jl$XiKiM!oU*)%3rLz*BN~>$&s>LAl!z;#Z-XoOAtQU6 z6G$C4g3GJXV>GI}OxNa^)aK-WrOgGQD~?-a|G-dI#gZ<(`9}dfDSdx)2^-)}o|%p6j!^>EySiP7gQG zsXuUrYk>=B$(pkFVV%vp3XvYH9c83lNY#i+HxX8jrEX%N)OL1;c)$Y+qc zv$Hm&9>R@DNqb})ETT=#3h>a8abcUre{R!|YfXcXr7YsP$nNtoN zKSO)UvEeYPZZ!kGi#rdV0=x2!QkRt?Hmc1Bk$zv{G=((>PRGI*6IFFZznme*PfsTp zT#O)&WPMAVDjw2Mr*SKqfwP-GhPQ{vnWgT6aZFcHfQ@>(Sk!WJcumcL zVXe+c6V@p^euZ zE13cKnev0ZoPd!}EYZwmxQ>DYQ>$`8b96Mk2-1_PP(G zn%9=7rtW^mAf2?}7B#rwSvAMjbw%#=95%n>Lb2ffk|%hD6EMPWgssG;cymSBdUV>w zSB%_w)14fXoN9bA@U!|?uAs0;zYZ`xn%JN}46OxB zWf`hghJ*y1wlF6Go4RV2=3NiB0Q812T7%sl4qpgC#ujb=0wD(yA<~a>1~o1~T;MoE z0!{KQU{~7IqG^xc7t^+6|5k{W{V5HD25cnY)>>c>)V{=GLM*;h1jrp=ygP?){{#SS z*(_d1a8bxMNh5aHey{)sNxz8sKe%iE7`uJ~3w$oL0yxwSG#)`-2X*%4)JY;k5;lC4k1-PqD~gP|~e|{qGbIfdR1fXISuPR0!0P z(L{E?C=drYV(TxlxHp_&M?fZv#M=8t^uR3Sf%}rh-4`!X*^?9cY3f9L5L>jPRgOU1 zjIddp@3A%;pSDoMk}odEVL|60?kCv%X)IpA;xjtItJuPoOmz61POzvB*{cLH{JhSg z>D2*FeJehIs4HFp`JqxBD3B8mj=3<4;Cw`B{xa6S0M{vTk?nU~T|AGmnHm0nqKq*8 zd1;^`^n_40ybo(%)Pd^77I;?V@1B_yd9w^pqgya!o*H$jYfmct9FqzR zE%BzClOmtHwikC43x7`v*OF~2FXCEt&z^z=KD?h&Q@o~$yFMhdFGHpa?zHl9@ko>2 zV!=P)g0Z*@MTuZ71&c`NHX(Qd`*^$%9P&5fRDxJs-4lLrFP(GPl$L}o^GmXNNy6AA zoFf^8wUm}|ioCnPcxn7(E@DK23NI{~mSUW)#1uQ5pdMJ5A(fNP|9XHs5t@hZGJU6GGYnCajT zcIt85kO@-Q3{)qL;*=62#vxjq27^09Z zd``HtlngBP>7BblgX7vl$!jnGFP?N>tOM~=pI9ioKQ``E_DqR;7Q~G<6$h>|zYt64 zuUG-3gpBwb)@$2z9|aOSS8*97yp*xRQY4^BkHET;iB(9MT!I7{ z{4mWE`EUGzm2UAWpX}p&7!=6{fr^}N)`?I2Je4fH6)?o8lmu2edw5iGD`r1;P_+XK zI2hSh*siRVf@J{&KBWQQTwr-2VzkzeziSc?^*nS7myM+#Se!_jXgR!#sRKVkbDl$k ztGW3Hz<9Rx`CDD@o_zbwKf?WJKA8UxwlNBF literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/6.4.x/org.springframework.security.web.server.firewall.ServerExchangeRejectedException.serialized b/config/src/test/resources/serialized/6.4.x/org.springframework.security.web.server.firewall.ServerExchangeRejectedException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..33fb178f627ea0d576653525e8858b0c10a6d4eb GIT binary patch literal 10675 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 literal 0 HcmV?d00001 diff --git a/core/src/main/java/org/springframework/security/access/AccessDeniedException.java b/core/src/main/java/org/springframework/security/access/AccessDeniedException.java index 3bf6ceac5a..49efd9f689 100644 --- a/core/src/main/java/org/springframework/security/access/AccessDeniedException.java +++ b/core/src/main/java/org/springframework/security/access/AccessDeniedException.java @@ -16,6 +16,8 @@ package org.springframework.security.access; +import java.io.Serial; + /** * Thrown if an {@link org.springframework.security.core.Authentication Authentication} * object does not hold a required authority. @@ -24,6 +26,9 @@ package org.springframework.security.access; */ public class AccessDeniedException extends RuntimeException { + @Serial + private static final long serialVersionUID = 6395817500121599533L; + /** * Constructs an AccessDeniedException with the specified message. * @param msg the detail message diff --git a/core/src/main/java/org/springframework/security/access/AuthorizationServiceException.java b/core/src/main/java/org/springframework/security/access/AuthorizationServiceException.java index 6952be563a..4320b0075f 100644 --- a/core/src/main/java/org/springframework/security/access/AuthorizationServiceException.java +++ b/core/src/main/java/org/springframework/security/access/AuthorizationServiceException.java @@ -16,6 +16,8 @@ package org.springframework.security.access; +import java.io.Serial; + /** * Thrown if an authorization request could not be processed due to a system problem. *

@@ -26,6 +28,9 @@ package org.springframework.security.access; */ public class AuthorizationServiceException extends AccessDeniedException { + @Serial + private static final long serialVersionUID = 4817857292041606900L; + /** * Constructs an AuthorizationServiceException with the specified * message. diff --git a/core/src/main/java/org/springframework/security/authentication/AccountExpiredException.java b/core/src/main/java/org/springframework/security/authentication/AccountExpiredException.java index e8ef659882..1193bf5236 100644 --- a/core/src/main/java/org/springframework/security/authentication/AccountExpiredException.java +++ b/core/src/main/java/org/springframework/security/authentication/AccountExpiredException.java @@ -16,6 +16,8 @@ package org.springframework.security.authentication; +import java.io.Serial; + /** * Thrown if an authentication request is rejected because the account has expired. Makes * no assertion as to whether or not the credentials were valid. @@ -24,6 +26,9 @@ package org.springframework.security.authentication; */ public class AccountExpiredException extends AccountStatusException { + @Serial + private static final long serialVersionUID = 3732869526329993353L; + /** * Constructs a AccountExpiredException with the specified message. * @param msg the detail message diff --git a/core/src/main/java/org/springframework/security/authentication/AuthenticationCredentialsNotFoundException.java b/core/src/main/java/org/springframework/security/authentication/AuthenticationCredentialsNotFoundException.java index 91b5d616d8..0ed92018e6 100644 --- a/core/src/main/java/org/springframework/security/authentication/AuthenticationCredentialsNotFoundException.java +++ b/core/src/main/java/org/springframework/security/authentication/AuthenticationCredentialsNotFoundException.java @@ -16,6 +16,8 @@ package org.springframework.security.authentication; +import java.io.Serial; + import org.springframework.security.core.Authentication; import org.springframework.security.core.AuthenticationException; @@ -28,6 +30,9 @@ import org.springframework.security.core.AuthenticationException; */ public class AuthenticationCredentialsNotFoundException extends AuthenticationException { + @Serial + private static final long serialVersionUID = 4153580041526791384L; + /** * Constructs an AuthenticationCredentialsNotFoundException with the * specified message. diff --git a/core/src/main/java/org/springframework/security/authentication/AuthenticationServiceException.java b/core/src/main/java/org/springframework/security/authentication/AuthenticationServiceException.java index 69d7233bdf..3bd076dfd8 100644 --- a/core/src/main/java/org/springframework/security/authentication/AuthenticationServiceException.java +++ b/core/src/main/java/org/springframework/security/authentication/AuthenticationServiceException.java @@ -16,6 +16,8 @@ package org.springframework.security.authentication; +import java.io.Serial; + import org.springframework.security.core.AuthenticationException; /** @@ -29,6 +31,9 @@ import org.springframework.security.core.AuthenticationException; */ public class AuthenticationServiceException extends AuthenticationException { + @Serial + private static final long serialVersionUID = -1591626195291329340L; + /** * Constructs an AuthenticationServiceException with the specified * message. diff --git a/core/src/main/java/org/springframework/security/authentication/BadCredentialsException.java b/core/src/main/java/org/springframework/security/authentication/BadCredentialsException.java index e202ef7b5a..bc759f5f7a 100644 --- a/core/src/main/java/org/springframework/security/authentication/BadCredentialsException.java +++ b/core/src/main/java/org/springframework/security/authentication/BadCredentialsException.java @@ -16,6 +16,8 @@ package org.springframework.security.authentication; +import java.io.Serial; + import org.springframework.security.core.AuthenticationException; /** @@ -26,6 +28,9 @@ import org.springframework.security.core.AuthenticationException; */ public class BadCredentialsException extends AuthenticationException { + @Serial + private static final long serialVersionUID = 2742216069043066973L; + /** * Constructs a BadCredentialsException with the specified message. * @param msg the detail message diff --git a/core/src/main/java/org/springframework/security/authentication/CredentialsExpiredException.java b/core/src/main/java/org/springframework/security/authentication/CredentialsExpiredException.java index 8e532169ae..0419417763 100644 --- a/core/src/main/java/org/springframework/security/authentication/CredentialsExpiredException.java +++ b/core/src/main/java/org/springframework/security/authentication/CredentialsExpiredException.java @@ -16,6 +16,8 @@ package org.springframework.security.authentication; +import java.io.Serial; + /** * Thrown if an authentication request is rejected because the account's credentials have * expired. Makes no assertion as to whether or not the credentials were valid. @@ -24,6 +26,9 @@ package org.springframework.security.authentication; */ public class CredentialsExpiredException extends AccountStatusException { + @Serial + private static final long serialVersionUID = -3306615738048904753L; + /** * Constructs a CredentialsExpiredException with the specified message. * @param msg the detail message diff --git a/core/src/main/java/org/springframework/security/authentication/DisabledException.java b/core/src/main/java/org/springframework/security/authentication/DisabledException.java index 31a75ce0cc..fba1718590 100644 --- a/core/src/main/java/org/springframework/security/authentication/DisabledException.java +++ b/core/src/main/java/org/springframework/security/authentication/DisabledException.java @@ -16,6 +16,8 @@ package org.springframework.security.authentication; +import java.io.Serial; + /** * Thrown if an authentication request is rejected because the account is disabled. Makes * no assertion as to whether or not the credentials were valid. @@ -24,6 +26,9 @@ package org.springframework.security.authentication; */ public class DisabledException extends AccountStatusException { + @Serial + private static final long serialVersionUID = 2295984593872502361L; + /** * Constructs a DisabledException with the specified message. * @param msg the detail message diff --git a/core/src/main/java/org/springframework/security/authentication/InsufficientAuthenticationException.java b/core/src/main/java/org/springframework/security/authentication/InsufficientAuthenticationException.java index 0e072b527a..f475934927 100644 --- a/core/src/main/java/org/springframework/security/authentication/InsufficientAuthenticationException.java +++ b/core/src/main/java/org/springframework/security/authentication/InsufficientAuthenticationException.java @@ -16,6 +16,8 @@ package org.springframework.security.authentication; +import java.io.Serial; + import org.springframework.security.core.AuthenticationException; /** @@ -33,6 +35,9 @@ import org.springframework.security.core.AuthenticationException; */ public class InsufficientAuthenticationException extends AuthenticationException { + @Serial + private static final long serialVersionUID = -5514084346181236128L; + /** * Constructs an InsufficientAuthenticationException with the specified * message. diff --git a/core/src/main/java/org/springframework/security/authentication/InternalAuthenticationServiceException.java b/core/src/main/java/org/springframework/security/authentication/InternalAuthenticationServiceException.java index 3037ebaaf0..de59b2d5ef 100644 --- a/core/src/main/java/org/springframework/security/authentication/InternalAuthenticationServiceException.java +++ b/core/src/main/java/org/springframework/security/authentication/InternalAuthenticationServiceException.java @@ -16,6 +16,8 @@ package org.springframework.security.authentication; +import java.io.Serial; + /** *

* Thrown if an authentication request could not be processed due to a system problem that @@ -37,6 +39,9 @@ package org.springframework.security.authentication; */ public class InternalAuthenticationServiceException extends AuthenticationServiceException { + @Serial + private static final long serialVersionUID = -6029644854192497840L; + public InternalAuthenticationServiceException(String message, Throwable cause) { super(message, cause); } diff --git a/core/src/main/java/org/springframework/security/authentication/LockedException.java b/core/src/main/java/org/springframework/security/authentication/LockedException.java index 9b2272b08f..5262fdb52e 100644 --- a/core/src/main/java/org/springframework/security/authentication/LockedException.java +++ b/core/src/main/java/org/springframework/security/authentication/LockedException.java @@ -16,6 +16,8 @@ package org.springframework.security.authentication; +import java.io.Serial; + /** * Thrown if an authentication request is rejected because the account is locked. Makes no * assertion as to whether or not the credentials were valid. @@ -24,6 +26,9 @@ package org.springframework.security.authentication; */ public class LockedException extends AccountStatusException { + @Serial + private static final long serialVersionUID = 548864198455046567L; + /** * Constructs a LockedException with the specified message. * @param msg the detail message. diff --git a/core/src/main/java/org/springframework/security/authentication/ProviderNotFoundException.java b/core/src/main/java/org/springframework/security/authentication/ProviderNotFoundException.java index 629a28e8c8..870a6ea1f8 100644 --- a/core/src/main/java/org/springframework/security/authentication/ProviderNotFoundException.java +++ b/core/src/main/java/org/springframework/security/authentication/ProviderNotFoundException.java @@ -16,6 +16,8 @@ package org.springframework.security.authentication; +import java.io.Serial; + import org.springframework.security.core.AuthenticationException; /** @@ -27,6 +29,9 @@ import org.springframework.security.core.AuthenticationException; */ public class ProviderNotFoundException extends AuthenticationException { + @Serial + private static final long serialVersionUID = 8107665253214447614L; + /** * Constructs a ProviderNotFoundException with the specified message. * @param msg the detail message diff --git a/core/src/main/java/org/springframework/security/authentication/ott/InvalidOneTimeTokenException.java b/core/src/main/java/org/springframework/security/authentication/ott/InvalidOneTimeTokenException.java index 03289f12b7..8ee8199cd0 100644 --- a/core/src/main/java/org/springframework/security/authentication/ott/InvalidOneTimeTokenException.java +++ b/core/src/main/java/org/springframework/security/authentication/ott/InvalidOneTimeTokenException.java @@ -16,6 +16,8 @@ package org.springframework.security.authentication.ott; +import java.io.Serial; + import org.springframework.security.core.AuthenticationException; /** @@ -26,6 +28,9 @@ import org.springframework.security.core.AuthenticationException; */ public class InvalidOneTimeTokenException extends AuthenticationException { + @Serial + private static final long serialVersionUID = -3651018515682919943L; + public InvalidOneTimeTokenException(String msg) { super(msg); } diff --git a/core/src/main/java/org/springframework/security/authentication/password/CompromisedPasswordException.java b/core/src/main/java/org/springframework/security/authentication/password/CompromisedPasswordException.java index 672876164f..04d042b96a 100644 --- a/core/src/main/java/org/springframework/security/authentication/password/CompromisedPasswordException.java +++ b/core/src/main/java/org/springframework/security/authentication/password/CompromisedPasswordException.java @@ -16,6 +16,8 @@ package org.springframework.security.authentication.password; +import java.io.Serial; + import org.springframework.security.core.AuthenticationException; /** @@ -26,6 +28,9 @@ import org.springframework.security.core.AuthenticationException; */ public class CompromisedPasswordException extends AuthenticationException { + @Serial + private static final long serialVersionUID = -885858958297842864L; + public CompromisedPasswordException(String message) { super(message); } diff --git a/core/src/main/java/org/springframework/security/authorization/AuthorizationDeniedException.java b/core/src/main/java/org/springframework/security/authorization/AuthorizationDeniedException.java index fdcb1e70aa..63385e1cbd 100644 --- a/core/src/main/java/org/springframework/security/authorization/AuthorizationDeniedException.java +++ b/core/src/main/java/org/springframework/security/authorization/AuthorizationDeniedException.java @@ -16,6 +16,8 @@ package org.springframework.security.authorization; +import java.io.Serial; + import org.springframework.security.access.AccessDeniedException; import org.springframework.util.Assert; @@ -27,6 +29,9 @@ import org.springframework.util.Assert; */ public class AuthorizationDeniedException extends AccessDeniedException implements AuthorizationResult { + @Serial + private static final long serialVersionUID = 3227305845919610459L; + private final AuthorizationResult result; public AuthorizationDeniedException(String msg, AuthorizationResult authorizationResult) { diff --git a/core/src/main/java/org/springframework/security/core/userdetails/UsernameNotFoundException.java b/core/src/main/java/org/springframework/security/core/userdetails/UsernameNotFoundException.java index 22c3c1d8e5..d1d969dc26 100644 --- a/core/src/main/java/org/springframework/security/core/userdetails/UsernameNotFoundException.java +++ b/core/src/main/java/org/springframework/security/core/userdetails/UsernameNotFoundException.java @@ -16,6 +16,8 @@ package org.springframework.security.core.userdetails; +import java.io.Serial; + import org.springframework.security.core.AuthenticationException; /** @@ -26,6 +28,9 @@ import org.springframework.security.core.AuthenticationException; */ public class UsernameNotFoundException extends AuthenticationException { + @Serial + private static final long serialVersionUID = 1410688585992297006L; + /** * Constructs a UsernameNotFoundException with the specified message. * @param msg the detail message. diff --git a/crypto/src/main/java/org/springframework/security/crypto/codec/Base64.java b/crypto/src/main/java/org/springframework/security/crypto/codec/Base64.java index d4afce73c1..b696c0c4bf 100644 --- a/crypto/src/main/java/org/springframework/security/crypto/codec/Base64.java +++ b/crypto/src/main/java/org/springframework/security/crypto/codec/Base64.java @@ -617,6 +617,7 @@ public final class Base64 { return out; } + @SuppressWarnings("serial") static class InvalidBase64CharacterException extends IllegalArgumentException { InvalidBase64CharacterException(String message) { diff --git a/ldap/src/main/java/org/springframework/security/ldap/authentication/ad/ActiveDirectoryAuthenticationException.java b/ldap/src/main/java/org/springframework/security/ldap/authentication/ad/ActiveDirectoryAuthenticationException.java index 42b0403740..124fce51bb 100644 --- a/ldap/src/main/java/org/springframework/security/ldap/authentication/ad/ActiveDirectoryAuthenticationException.java +++ b/ldap/src/main/java/org/springframework/security/ldap/authentication/ad/ActiveDirectoryAuthenticationException.java @@ -40,6 +40,7 @@ import org.springframework.security.core.AuthenticationException; * * @author Rob Winch */ +@SuppressWarnings("serial") public final class ActiveDirectoryAuthenticationException extends AuthenticationException { private final String dataCode; diff --git a/ldap/src/main/java/org/springframework/security/ldap/ppolicy/PasswordPolicyException.java b/ldap/src/main/java/org/springframework/security/ldap/ppolicy/PasswordPolicyException.java index 73ab142052..f01222d4a2 100644 --- a/ldap/src/main/java/org/springframework/security/ldap/ppolicy/PasswordPolicyException.java +++ b/ldap/src/main/java/org/springframework/security/ldap/ppolicy/PasswordPolicyException.java @@ -16,6 +16,8 @@ package org.springframework.security.ldap.ppolicy; +import java.io.Serial; + /** * Generic exception raised by the ppolicy package. *

@@ -27,6 +29,9 @@ package org.springframework.security.ldap.ppolicy; */ public class PasswordPolicyException extends RuntimeException { + @Serial + private static final long serialVersionUID = 2586535034047453106L; + private final PasswordPolicyErrorStatus status; public PasswordPolicyException(PasswordPolicyErrorStatus status) { diff --git a/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/ClientAuthorizationException.java b/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/ClientAuthorizationException.java index 8050b74a03..257f26f4f5 100644 --- a/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/ClientAuthorizationException.java +++ b/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/ClientAuthorizationException.java @@ -16,6 +16,8 @@ package org.springframework.security.oauth2.client; +import java.io.Serial; + import org.springframework.security.oauth2.core.OAuth2AuthorizationException; import org.springframework.security.oauth2.core.OAuth2Error; import org.springframework.util.Assert; @@ -30,6 +32,9 @@ import org.springframework.util.Assert; */ public class ClientAuthorizationException extends OAuth2AuthorizationException { + @Serial + private static final long serialVersionUID = 4710713969265443271L; + private final String clientRegistrationId; /** diff --git a/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/ClientAuthorizationRequiredException.java b/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/ClientAuthorizationRequiredException.java index ee4c0e4784..0bb5649ece 100644 --- a/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/ClientAuthorizationRequiredException.java +++ b/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/ClientAuthorizationRequiredException.java @@ -16,6 +16,8 @@ package org.springframework.security.oauth2.client; +import java.io.Serial; + import org.springframework.security.oauth2.core.OAuth2Error; /** @@ -28,6 +30,9 @@ import org.springframework.security.oauth2.core.OAuth2Error; */ public class ClientAuthorizationRequiredException extends ClientAuthorizationException { + @Serial + private static final long serialVersionUID = -5738646355203953667L; + private static final String CLIENT_AUTHORIZATION_REQUIRED_ERROR_CODE = "client_authorization_required"; /** diff --git a/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/web/InvalidClientRegistrationIdException.java b/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/web/InvalidClientRegistrationIdException.java index f42249284f..e7e718949c 100644 --- a/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/web/InvalidClientRegistrationIdException.java +++ b/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/web/InvalidClientRegistrationIdException.java @@ -20,6 +20,7 @@ package org.springframework.security.oauth2.client.web; * @author Steve Riesenberg * @since 5.8 */ +@SuppressWarnings("serial") class InvalidClientRegistrationIdException extends IllegalArgumentException { /** diff --git a/oauth2/oauth2-core/src/main/java/org/springframework/security/oauth2/core/OAuth2AuthenticationException.java b/oauth2/oauth2-core/src/main/java/org/springframework/security/oauth2/core/OAuth2AuthenticationException.java index a868f3180d..ac760c5dc4 100644 --- a/oauth2/oauth2-core/src/main/java/org/springframework/security/oauth2/core/OAuth2AuthenticationException.java +++ b/oauth2/oauth2-core/src/main/java/org/springframework/security/oauth2/core/OAuth2AuthenticationException.java @@ -16,6 +16,8 @@ package org.springframework.security.oauth2.core; +import java.io.Serial; + import org.springframework.security.core.Authentication; import org.springframework.security.core.AuthenticationException; import org.springframework.util.Assert; @@ -41,6 +43,9 @@ import org.springframework.util.Assert; */ public class OAuth2AuthenticationException extends AuthenticationException { + @Serial + private static final long serialVersionUID = -7832130893085581438L; + private final OAuth2Error error; /** diff --git a/oauth2/oauth2-core/src/main/java/org/springframework/security/oauth2/core/OAuth2AuthorizationException.java b/oauth2/oauth2-core/src/main/java/org/springframework/security/oauth2/core/OAuth2AuthorizationException.java index dbfdf98e5f..af833d1dae 100644 --- a/oauth2/oauth2-core/src/main/java/org/springframework/security/oauth2/core/OAuth2AuthorizationException.java +++ b/oauth2/oauth2-core/src/main/java/org/springframework/security/oauth2/core/OAuth2AuthorizationException.java @@ -16,6 +16,8 @@ package org.springframework.security.oauth2.core; +import java.io.Serial; + import org.springframework.util.Assert; /** @@ -26,6 +28,9 @@ import org.springframework.util.Assert; */ public class OAuth2AuthorizationException extends RuntimeException { + @Serial + private static final long serialVersionUID = -5470222190376181102L; + private final OAuth2Error error; /** diff --git a/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/BadJwtException.java b/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/BadJwtException.java index 3a30545179..2742d0c51e 100644 --- a/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/BadJwtException.java +++ b/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/BadJwtException.java @@ -16,6 +16,8 @@ package org.springframework.security.oauth2.jwt; +import java.io.Serial; + /** * An exception similar to * {@link org.springframework.security.authentication.BadCredentialsException} that @@ -26,6 +28,9 @@ package org.springframework.security.oauth2.jwt; */ public class BadJwtException extends JwtException { + @Serial + private static final long serialVersionUID = 7748429527132280501L; + public BadJwtException(String message) { super(message); } diff --git a/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/JwtDecoderInitializationException.java b/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/JwtDecoderInitializationException.java index 775da4c9a9..cd1b90a14c 100644 --- a/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/JwtDecoderInitializationException.java +++ b/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/JwtDecoderInitializationException.java @@ -16,6 +16,8 @@ package org.springframework.security.oauth2.jwt; +import java.io.Serial; + /** * An exception thrown when a {@link JwtDecoder} or {@link ReactiveJwtDecoder}'s lazy * initialization fails. @@ -25,6 +27,9 @@ package org.springframework.security.oauth2.jwt; */ public class JwtDecoderInitializationException extends RuntimeException { + @Serial + private static final long serialVersionUID = 2786360018315628982L; + public JwtDecoderInitializationException(String message, Throwable cause) { super(message, cause); } diff --git a/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/JwtEncodingException.java b/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/JwtEncodingException.java index 9b48f5c4a2..365993c5ed 100644 --- a/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/JwtEncodingException.java +++ b/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/JwtEncodingException.java @@ -16,6 +16,8 @@ package org.springframework.security.oauth2.jwt; +import java.io.Serial; + /** * This exception is thrown when an error occurs while attempting to encode a JSON Web * Token (JWT). @@ -25,6 +27,9 @@ package org.springframework.security.oauth2.jwt; */ public class JwtEncodingException extends JwtException { + @Serial + private static final long serialVersionUID = 6581840872589902213L; + /** * Constructs a {@code JwtEncodingException} using the provided parameters. * @param message the detail message diff --git a/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/JwtException.java b/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/JwtException.java index b13f0dff26..2004727ffb 100644 --- a/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/JwtException.java +++ b/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/JwtException.java @@ -16,6 +16,8 @@ package org.springframework.security.oauth2.jwt; +import java.io.Serial; + /** * Base exception for all JSON Web Token (JWT) related errors. * @@ -24,6 +26,9 @@ package org.springframework.security.oauth2.jwt; */ public class JwtException extends RuntimeException { + @Serial + private static final long serialVersionUID = -3070197880233583797L; + /** * Constructs a {@code JwtException} using the provided parameters. * @param message the detail message diff --git a/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/JwtValidationException.java b/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/JwtValidationException.java index 94568d2dc6..ab3722e5fd 100644 --- a/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/JwtValidationException.java +++ b/oauth2/oauth2-jose/src/main/java/org/springframework/security/oauth2/jwt/JwtValidationException.java @@ -16,6 +16,7 @@ package org.springframework.security.oauth2.jwt; +import java.io.Serial; import java.util.ArrayList; import java.util.Collection; @@ -31,6 +32,9 @@ import org.springframework.util.Assert; */ public class JwtValidationException extends BadJwtException { + @Serial + private static final long serialVersionUID = 134652048447295615L; + private final Collection errors; /** diff --git a/oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/InvalidBearerTokenException.java b/oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/InvalidBearerTokenException.java index 0ba62813da..c82b3bd5e4 100644 --- a/oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/InvalidBearerTokenException.java +++ b/oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/InvalidBearerTokenException.java @@ -16,6 +16,8 @@ package org.springframework.security.oauth2.server.resource; +import java.io.Serial; + import org.springframework.security.oauth2.core.OAuth2AuthenticationException; /** @@ -26,6 +28,9 @@ import org.springframework.security.oauth2.core.OAuth2AuthenticationException; */ public class InvalidBearerTokenException extends OAuth2AuthenticationException { + @Serial + private static final long serialVersionUID = 6904689954809100280L; + /** * Construct an instance of {@link InvalidBearerTokenException} given the provided * description. diff --git a/oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/introspection/BadOpaqueTokenException.java b/oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/introspection/BadOpaqueTokenException.java index 5e155c8bce..cddd32c3b0 100644 --- a/oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/introspection/BadOpaqueTokenException.java +++ b/oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/introspection/BadOpaqueTokenException.java @@ -16,6 +16,8 @@ package org.springframework.security.oauth2.server.resource.introspection; +import java.io.Serial; + /** * An exception similar to * {@link org.springframework.security.authentication.BadCredentialsException} that @@ -26,6 +28,9 @@ package org.springframework.security.oauth2.server.resource.introspection; */ public class BadOpaqueTokenException extends OAuth2IntrospectionException { + @Serial + private static final long serialVersionUID = -6937847463454551076L; + public BadOpaqueTokenException(String message) { super(message); } diff --git a/oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/introspection/OAuth2IntrospectionException.java b/oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/introspection/OAuth2IntrospectionException.java index e2649ba975..6650d96e57 100644 --- a/oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/introspection/OAuth2IntrospectionException.java +++ b/oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/introspection/OAuth2IntrospectionException.java @@ -16,6 +16,8 @@ package org.springframework.security.oauth2.server.resource.introspection; +import java.io.Serial; + /** * Base exception for all OAuth 2.0 Introspection related errors * @@ -24,6 +26,9 @@ package org.springframework.security.oauth2.server.resource.introspection; */ public class OAuth2IntrospectionException extends RuntimeException { + @Serial + private static final long serialVersionUID = -7327790383594166793L; + public OAuth2IntrospectionException(String message) { super(message); } diff --git a/web/src/main/java/org/springframework/security/web/firewall/RequestRejectedException.java b/web/src/main/java/org/springframework/security/web/firewall/RequestRejectedException.java index b997031a47..ea91775b62 100644 --- a/web/src/main/java/org/springframework/security/web/firewall/RequestRejectedException.java +++ b/web/src/main/java/org/springframework/security/web/firewall/RequestRejectedException.java @@ -16,11 +16,16 @@ package org.springframework.security.web.firewall; +import java.io.Serial; + /** * @author Luke Taylor */ public class RequestRejectedException extends RuntimeException { + @Serial + private static final long serialVersionUID = 7226768874760909859L; + public RequestRejectedException(String message) { super(message); } diff --git a/web/src/main/java/org/springframework/security/web/server/authentication/SwitchUserWebFilter.java b/web/src/main/java/org/springframework/security/web/server/authentication/SwitchUserWebFilter.java index 8eab25cf1f..85686f5815 100644 --- a/web/src/main/java/org/springframework/security/web/server/authentication/SwitchUserWebFilter.java +++ b/web/src/main/java/org/springframework/security/web/server/authentication/SwitchUserWebFilter.java @@ -353,6 +353,7 @@ public class SwitchUserWebFilter implements WebFilter { this.switchUserMatcher = switchUserMatcher; } + @SuppressWarnings("serial") private static class SwitchUserAuthenticationException extends RuntimeException { SwitchUserAuthenticationException(AuthenticationException exception) { diff --git a/web/src/main/java/org/springframework/security/web/server/firewall/ServerExchangeRejectedException.java b/web/src/main/java/org/springframework/security/web/server/firewall/ServerExchangeRejectedException.java index 5246838dcf..f46140d351 100644 --- a/web/src/main/java/org/springframework/security/web/server/firewall/ServerExchangeRejectedException.java +++ b/web/src/main/java/org/springframework/security/web/server/firewall/ServerExchangeRejectedException.java @@ -16,6 +16,8 @@ package org.springframework.security.web.server.firewall; +import java.io.Serial; + /** * Thrown when a {@link org.springframework.web.server.ServerWebExchange} is rejected. * @@ -24,6 +26,9 @@ package org.springframework.security.web.server.firewall; */ public class ServerExchangeRejectedException extends RuntimeException { + @Serial + private static final long serialVersionUID = 904984955691607748L; + public ServerExchangeRejectedException(String message) { super(message); }