Commit Graph

358 Commits (d2039128b5878d769f4a36c0d08f0c1e6cec470e)

Author SHA1 Message Date
Madhura Bhave 134628a62d Add PathRequest to reactive security for parity 7 years ago
Madhura Bhave e80c22cbf8 Add RequestMatcher for H2 console
Fixes gh-11704
7 years ago
Phillip Webb 3a12f98bab Migrate callbacks to LambdaSafe util
Migrate existing code to the new `LambaSafe` callback handler.

Closes gh-11584
7 years ago
Andy Wilkinson 6582afea4a Polish 7 years ago
Andy Wilkinson 244a287484 Merge branch '1.5.x' 7 years ago
Phillip Webb af50a18da9 Polish 7 years ago
Stephane Nicoll c2a2999799 Use proper classloader for value serialization
Closes gh-11822
7 years ago
dreis2211 c1675c2d5f Use InvocationOnMock.getArgument() where possible
Closes gh-11818
7 years ago
Johnny Lim 6d68806275 Polish
Closes gh-11805
7 years ago
Phillip Webb b234501af3 Polish 7 years ago
Andy Wilkinson 192fe929c7 Polish "Use custom DataSource if Flyway or Liquibase has user or url"
Closes gh-11751
7 years ago
Dominic Gunn 5d3cd23eed Use custom DataSource if Flyway or Liquibase has user or url
This commit enables a more flexible Liquibase/Flyway configuration by
allowing for a combination of the provider's and the primary
DataSource's configuration to be used. This gives developers the
flexibility to specify only a user or a url and having
Liquibase/Flyway fall back to individual datasource properties rather
than ignoring the Liquibase/Flyway properties and falling back to the
default data source.

See gh-11751
7 years ago
Stephane Nicoll 1c195f5b9a Polish "Migrate server customizer to PropertyMapper"
Closes gh-11772
7 years ago
yulin 19542b975f Migrate server customizer to PropertyMapper
See gh-11772
7 years ago
Stephane Nicoll 98c667c2d5 Polish "Use PropertyMapper to configure WebServerFactory"
Closes gh-11773
7 years ago
Huang YunKun 7d4e558f8e Use PropertyMapper to configure WebServerFactory
See gh-11773
7 years ago
Madhura Bhave 3a95a7531a UserDetailsService not created when OAuth configured
Fixes gh-10531
7 years ago
Phillip Webb adfb6dc128 Polish 7 years ago
Andy Wilkinson cedb6b2f17 Revert "Clean up the logging system later in context close processing"
This reverts commit 8619256d2a.

See gh-11676
7 years ago
Andy Wilkinson 4c23afdcd8 Polish 7 years ago
Andy Wilkinson e2cb7a7545 Align default scopes for Google with changes in Spring Security 5.0.1
Closes gh-11573
7 years ago
Andy Wilkinson 8619256d2a Clean up the logging system later in context close processing
Previously, the logging system was cleaned up in response to the
root context's ContextClosedEvent being received. This event is
published early in a context's close processing. As a result, the
logging system is in cleaned up state while, for example, disposable
beans are being destroyed.

This commit reworks the logic that triggers logging system clean up
to use a disposable bean instead. Disposable beans are called in
reverse-registration order. The logging clean up bean is registered as
early as possible so that it should be the last disposable bean to
be called.

Closes gh-11676
7 years ago
Stephane Nicoll a2a31894a8 Fix typo 7 years ago
Phillip Webb d61ba241b5 Move "testdb" naming to DataSourceProperties
Move the "testdb" naming logic to `DataSourceProperties` and expose
the `deduceDatabaseName` method so they can be used in
auto-configuration.

See gh-11719
7 years ago
Stephane Nicoll b67903a04a Keep "testdb" default datasource name internal
Previously, Hikari's pool name was auto-configured with the value of
`spring.datasource.name` that defaults  to `testdb`, which brings some
confusion.

This commit removes the default `testdb` value on
`spring.datasource.name` as it is a sane default only for an embedded
datasource. It is applied whenever applicable instead.

Closes gh-11719
7 years ago
dreis2211 542c3b7c1e Remove usage of Vector collection
Closes gh-11759
7 years ago
igor-suhorukov 093ca0a687 Use EnumMap whenever possible
Replace regular Map instances with EnumMap to reduce memory consumption.

Closes gh-11760
7 years ago
Phillip Webb ab6ad6aa4b Polish 7 years ago
Stephane Nicoll 960989cfe6 Polish "Add support for anonymousReadOnly in LdapProperties"
Closes gh-11744
7 years ago
Stephane Nicoll af0bdc893b Add support for anonymousReadOnly in LdapProperties
See gh-11744
7 years ago
Eddú Meléndez 633aefa844 Move tests to use ApplicationContextRunner 7 years ago
Brian Clozel 145d46e093 Polish 7 years ago
Brian Clozel be7c0a15f7 Move reactive ErrorAttributes into spring-boot
Closes gh-11714
7 years ago
andrey.onufreyko b19dcb13e2 Replace string arguments with char
Optimize method calls by replacing single character String arguments
with char.

Closes gh-11680
7 years ago
dreis2211 5f66c09844 Narrow scope of some variables
Closes gh-11743
7 years ago
Stephane Nicoll 126f8783a2 Polish 7 years ago
Phillip Webb dc935fba48 Polish 7 years ago
Madhura Bhave d9ff51ccd3 Add StaticResourceRequest for WebFlux Security
Closes gh-11040
7 years ago
Madhura Bhave 5e2cc02499 Move servlet specific security auto-config 7 years ago
Stephane Nicoll c926bed6f5 Polish "Fix modifiers order"
Closes gh-11681
7 years ago
igor-suhorukov e2d05607f2 Fix modifiers order
See gh-11681
7 years ago
Brian Clozel 247b7f0842 Fix WebFlux default error view for null exception messages
This commit prevents NullPointerExceptions when the default HTML error
view is being rendered with a `null` message.

Fixes gh-11677
7 years ago
Phillip Webb f3379668ac Polish 7 years ago
Brian Clozel c233125f1d Don't render error view if response is committed
This commit prevents the default error view from rendering itself if the
response has been committed already. In this case, it is impossible to
change the HTTP response status and write a proper response - trying to
do so often results in a `IllegalStateException` since the response body
has already been written to.

Fixes gh-11580
7 years ago
Stephane Nicoll 40c537daa0 Polish 7 years ago
Andy Wilkinson 54c0cf513b Polish 7 years ago
Andy Wilkinson 3904f49c9f Configure ServletContext before initializing S…C…Initializer beans
Previously, the ServletContext was configured after any
ServletContextInitializer beans had been initialized. This meant that
any configuration class that provided such a bean would be initialized
before the ServletContext was configured. If the configuration class
used the ServletContext in its initializtaion that it would see it in
its default, unconfigured state.

This commit reworks the configuration of the ServletContext so that
it happens before any ServletContextInitializer beans are initialized.

Closes gh-10699
7 years ago
Johnny Lim d27b46cf73 Fix a wrong import for SocketChannel
Closes gh-11648
7 years ago
Brian Clozel 1f26a0314c Sanitize inputs in default reactive HTML error view
This commit uses HTML escaping to sanitize error inputs that are
displayed in the default reactive HTML error view.

Fixes gh-11582
7 years ago
Stephane Nicoll bf88073f7e Tighten Liquibase auto-configuration to require Liquibase 3
Closes gh-11641
7 years ago
Stephane Nicoll 023bc13fb6 Merge branch '1.5.x' 7 years ago
Brian Clozel 1e648801bd Move spring.mvc.media-types to content-negotiation
This commit moves "spring.mvc.media-types" to the
"spring.mvc.content-negotiation.*" namespaces introduced in gh-11105.

Closes gh-11636
7 years ago
Brian Clozel 22c22a1ced Move server.session.* to server.servlet.session.*
Closes gh-11589
7 years ago
Andy Wilkinson 23d8d608c4 Polish 7 years ago
Brian Clozel 67e5897c40 Disable suffix pattern matching in Spring MVC
This commit disables by default suffix pattern matching in Spring MVC
applications. As described in the Spring MVC documentation (see
https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-requestmapping-suffix-pattern-match),
this is considered as best practice.

This change also introduces new configuration properties to achieve
similar results in a safer way (using query parameters) or to rollback
to the former default.

Closes gh-11105
7 years ago
Johnny Lim 77150f8dc9 Polish
Closes gh-11630
7 years ago
Stephane Nicoll 3f88906b97 Fix handling of ResponseStatusException
This commit updates DefaultErrorAttributes to handle
ResponseStatusException explicitly. This exception is used in a
WebFlux application to signal that the processing of the query has
failed with an HTTP status code and a reason phrase. The latter is now
properly mapped to the `message` attribute of the response body.

Closes gh-11614
7 years ago
Andy Wilkinson 2b99962a85 Replace use of Date with OffsetDateTime and Instant in Actuator
Closes gh-10976
7 years ago
Stephane Nicoll 8aaf95b792 Polish 7 years ago
Johnny Lim 136e26e307 Fix typo in DynamicRegistrationBean class name
Closes gh-11606
7 years ago
Stephane Nicoll 4a9123d6e3 Detect user-defined RedisCacheConfiguration
This commits improves the cache auto-configuration for Redis by looking
up a custom "RedisCacheConfiguration" bean that allows to take full
control over the `RedisCacheManager`.

Closes gh-11599
7 years ago
Brian Clozel 98ac2218db Apply server.undertow.* config to reactive servers
This commit applies `server.undertow.*` configuration properties
to Undertow when configured as a reactive web server.

See gh-11500
7 years ago
Brian Clozel 15bc718248 Apply server.jetty.* config to reactive servers
This commit applies `server.jetty.*` configuration properties
to Jetty when configured as a reactive web server.

It also removes some infrastructure support for Jetty 8, which
is not supported anymore in Spring Boot 2.0 (partial fix for
gh-11504).

See gh-11500
7 years ago
Brian Clozel d264af8142 Apply server.tomcat.* config to reactive servers
This commit applies most `server.tomcat.*` configuration
properties to Tomcat when set up as a reactive web server.

Some Servlet-specific properties are not applied:

* server.tomcat.additional-tld-skip-patterns
* server.tomcat.redirect-context-root
* server.tomcat.use-relative-redirects

Fixes gh-11334
7 years ago
Stephane Nicoll b2eae0006d Polish "Make GsonAutoConfiguration align with JacksonAutoConfiguration"
Closes gh-11591
7 years ago
Johnny Lim 50518514b0 Make GsonAutoConfiguration align with JacksonAutoConfiguration
See gh-11591
7 years ago
Madhura Bhave e57aafd63d Provide EndpointRequest for WebFlux-based Security
Closes gh-11022
7 years ago
Phillip Webb b078698f20 Update copyright year of changed files 7 years ago
Phillip Webb b3ec2c9d1d Polish 7 years ago
Stephane Nicoll df647605af Merge branch '1.5.x' 7 years ago
Johnny Lim b8706c47d6 Use instance equality for Class
Closes gh-11534
7 years ago
Johnny Lim 0f0c6e0729 Polish
Closes gh-11536
7 years ago
Phillip Webb 286a3bb10a Polish GSON customization support
Closes gh-11498
7 years ago
ioann ba552f1d24 Allow GSON customization via properties or beans
Update GSON support to allow customization with either properties or
customize beans.

See gh-11498
7 years ago
Phillip Webb 9cb5f3da89 Create DynamicRegistrationBean
Extract functionality from the `RegistrationBean` into a new class
designed to work with dynamic registration. Servet and Filter
registration beans now extend from `DynaimcRegistrationBean`, where as
`ServletListenerRegistrationBean` extends directly from
`RegistrationBean`.

This refactor allows the removal of `ServletListenerRegistrationBean`
deprecated methods.

Fixes gh-11344
7 years ago
Phillip Webb fb614c64da Revert "Build against Spring Security 5.0.1 SNAPSHOT"
This reverts commit 2c52b9e87a
since the SNAPSHOT BOM doesn't appear to be published.

See gh-11573
7 years ago
Phillip Webb 2d76aad03e Further refine test containers 7 years ago
Phillip Webb 201da97774 Further refine test containers 7 years ago
Phillip Webb 2c52b9e87a Build against Spring Security 5.0.1 SNAPSHOT
See gh-11573
7 years ago
Phillip Webb 19ce0aa4f0 Refine BackgroundPreinitializer
Update `BackgroundPreinitializer` to start initialization earlier. Also
refine the startup order and initialize Charsets.

Fixes gh-11570
See gh-11412
7 years ago
Phillip Webb 25609c060e Polish 7 years ago
Madhura Bhave 9a6c339243 Use TestContainers util from spring-boot-test-support
See gh-10516
7 years ago
Andy Wilkinson 996b3ef7f2 Refine test containers 7 years ago
Andy Wilkinson 12e1fcbfab Do not pass null credential from ConnectionString to Mongo builder 7 years ago
Andy Wilkinson c7f5f0735d Stop reusing the Cluster when waiting for Cassandra to start
See gh-10516
7 years ago
Andy Wilkinson 927003e0b7 Polish 7 years ago
Stephane Nicoll b98c7ed9f8 Add InvalidConfigurationPropertyValueException
This commit adds a new exception type that denotes the value of a
configuration key is invalid, alongside a FailureAnalyzer that reports
a human-readable report when such exception is thrown on startup.

ResourceNotFoundException being a (useless) specialization of this new
exception, its usage has been refactored to use the more general
exception type.

Closes gh-10794
7 years ago
Stephane Nicoll b7f60c2ded Configure NettyStreamFactoryFactory by default if available
Closes gh-11526
Closes gh-10961
7 years ago
Stephane Nicoll 06572b0101 Polish 7 years ago
Brian Clozel 2bf15f814e Polish
This commit fixes the `responseCommitted` test in
`DefaultErrorWebExceptionHandlerIntegrationTests` and reworks the whole
test class to use the `ContextRunner` infrastructure.

Fixes gh-11519
7 years ago
Stephane Nicoll c4db22007c Polish "Add support for additional Kafka listener properties"
Closes gh-11502
7 years ago
Gary Russell 6fcbf80b31 Add support for additional Kafka listener properties
See gh-11502
7 years ago
Andy Wilkinson 94d5836618 Merge branch '1.5.x' 7 years ago
Stephane Nicoll 59d5ed5842 Add support for advanced customization of Hibernate settings
As HibernateJpaConfiguration is package private, it is no longer
possible to extend the default Spring Boot configuration to apply
advanced settings. The most notable use case for this is the
customization of Hibernate properties using instance value vs. string
value that can be set using the "spring.jpa.properties" namespace.

This commit adds a HibernatePropertiesCustomizer callback interface that
can be implemented to tune Hibernate properties at will.

Closes gh-11211
7 years ago
Stephane Nicoll 641013787d Polish 7 years ago
Stephane Nicoll ac004eabf3 Update copyright header
See gh-11510
7 years ago
Johnny Lim 37d8eedae3 Polish
Closes gh-11510
7 years ago
Madhura Bhave e28915bd4b Make integration tests self-contained
Fixes gh-10516
7 years ago
Phillip Webb bee5fa7fc6 Polish 7 years ago
Phillip Webb 37fe7bc8f6 Update validator background initializer
Update the validator background initializer to actually create
the validator.

Closes gh-11412
7 years ago