diff --git a/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJClientEndpointAutoConfiguration.java b/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJClientEndpointAutoConfiguration.java index 282f3b8..92dd7ba 100644 --- a/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJClientEndpointAutoConfiguration.java +++ b/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJClientEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -74,7 +74,6 @@ public SessionScheduleFactory sessionSchedule() { } @Bean - @ConditionalOnMissingBean public Sanitizer clientActuatorSanitizer() { return new Sanitizer(); } diff --git a/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJServerEndpointAutoConfiguration.java b/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJServerEndpointAutoConfiguration.java index 9185eb7..97c9b5f 100644 --- a/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJServerEndpointAutoConfiguration.java +++ b/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJServerEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -74,7 +74,6 @@ public SessionScheduleFactory sessionSchedule() { } @Bean - @ConditionalOnMissingBean public Sanitizer serverActuatorSanitizer() { return new Sanitizer(); } diff --git a/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/endpoint/AbstractQuickFixJEndpoint.java b/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/endpoint/AbstractQuickFixJEndpoint.java index f30b597..6948274 100644 --- a/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/endpoint/AbstractQuickFixJEndpoint.java +++ b/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/endpoint/AbstractQuickFixJEndpoint.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/endpoint/QuickFixJClientEndpoint.java b/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/endpoint/QuickFixJClientEndpoint.java index 910ace4..f055350 100644 --- a/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/endpoint/QuickFixJClientEndpoint.java +++ b/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/endpoint/QuickFixJClientEndpoint.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/endpoint/QuickFixJServerEndpoint.java b/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/endpoint/QuickFixJServerEndpoint.java index 03b7f9e..aa6b122 100644 --- a/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/endpoint/QuickFixJServerEndpoint.java +++ b/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/endpoint/QuickFixJServerEndpoint.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/health/QuickFixJSessionHealthIndicator.java b/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/health/QuickFixJSessionHealthIndicator.java index cce29ce..8af4213 100644 --- a/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/health/QuickFixJSessionHealthIndicator.java +++ b/quickfixj-spring-boot-actuator/src/main/java/io/allune/quickfixj/spring/boot/actuate/health/QuickFixJSessionHealthIndicator.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/Sanitizer.java b/quickfixj-spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/Sanitizer.java new file mode 100644 index 0000000..6f4c757 --- /dev/null +++ b/quickfixj-spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/Sanitizer.java @@ -0,0 +1,227 @@ +/* + * Copyright 2017-2024 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.boot.actuate.endpoint; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +import org.springframework.util.Assert; +import org.springframework.util.StringUtils; + +/** + * Strategy that should be used by endpoint implementations to sanitize potentially + * sensitive keys. + * + * @author Christian Dupuis + * @author Toshiaki Maki + * @author Phillip Webb + * @author Nicolas Lejeune + * @author Stephane Nicoll + * @author HaiTao Zhang + * @author Chris Bono + * @author David Good + * @author Madhura Bhave + * @since 2.0.0 + */ + +/** + * Borrowed from https://github.com/spring-projects/spring-boot/blob/2.7.x/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/Sanitizer.java + * as Sanitizer in Spring Boot 3 is not backward compatible with the version shipped in Spring Boot 2 + */ +public class Sanitizer { + + private static final String[] REGEX_PARTS = { "*", "$", "^", "+" }; + + private static final Set DEFAULT_KEYS_TO_SANITIZE = new LinkedHashSet<>( + Arrays.asList("password", "secret", "key", "token", ".*credentials.*", "vcap_services", + "^vcap\\.services.*$", "sun.java.command", "^spring[._]application[._]json$")); + + private static final Set URI_USERINFO_KEYS = new LinkedHashSet<>( + Arrays.asList("uri", "uris", "url", "urls", "address", "addresses")); + + private static final Pattern URI_USERINFO_PATTERN = Pattern + .compile("^\\[?[A-Za-z][A-Za-z0-9\\+\\.\\-]+://.+:(.*)@.+$"); + + private Pattern[] keysToSanitize; + + private final List sanitizingFunctions = new ArrayList<>(); + + static { + DEFAULT_KEYS_TO_SANITIZE.addAll(URI_USERINFO_KEYS); + } + + /** + * Create a new {@link Sanitizer} instance with a default set of keys to sanitize. + */ + public Sanitizer() { + this(DEFAULT_KEYS_TO_SANITIZE.toArray(new String[0])); + } + + /** + * Create a new {@link Sanitizer} instance with specific keys to sanitize. + * @param keysToSanitize the keys to sanitize + */ + public Sanitizer(String... keysToSanitize) { + this(Collections.emptyList(), keysToSanitize); + } + + /** + * Create a new {@link Sanitizer} instance with a default set of keys to sanitize and + * additional sanitizing functions. + * @param sanitizingFunctions the sanitizing functions to apply + * @since 2.6.0 + */ + public Sanitizer(Iterable sanitizingFunctions) { + this(sanitizingFunctions, DEFAULT_KEYS_TO_SANITIZE.toArray(new String[0])); + } + + /** + * Create a new {@link Sanitizer} instance with specific keys to sanitize and + * additional sanitizing functions. + * @param sanitizingFunctions the sanitizing functions to apply + * @param keysToSanitize the keys to sanitize + * @since 2.6.0 + */ + public Sanitizer(Iterable sanitizingFunctions, String... keysToSanitize) { + sanitizingFunctions.forEach(this.sanitizingFunctions::add); + this.sanitizingFunctions.add(getDefaultSanitizingFunction()); + setKeysToSanitize(keysToSanitize); + } + + private SanitizingFunction getDefaultSanitizingFunction() { + return (data) -> { + Object sanitizedValue = sanitize(data.getKey(), data.getValue()); + return data.withValue(sanitizedValue); + }; + } + + /** + * Set the keys that should be sanitized, overwriting any existing configuration. Keys + * can be simple strings that the property ends with or regular expressions. + * @param keysToSanitize the keys to sanitize + */ + public void setKeysToSanitize(String... keysToSanitize) { + Assert.notNull(keysToSanitize, "KeysToSanitize must not be null"); + this.keysToSanitize = new Pattern[keysToSanitize.length]; + for (int i = 0; i < keysToSanitize.length; i++) { + this.keysToSanitize[i] = getPattern(keysToSanitize[i]); + } + } + + /** + * Adds keys that should be sanitized. Keys can be simple strings that the property + * ends with or regular expressions. + * @param keysToSanitize the keys to sanitize + * @since 2.5.0 + */ + public void keysToSanitize(String... keysToSanitize) { + Assert.notNull(keysToSanitize, "KeysToSanitize must not be null"); + int existingKeys = this.keysToSanitize.length; + this.keysToSanitize = Arrays.copyOf(this.keysToSanitize, this.keysToSanitize.length + keysToSanitize.length); + for (int i = 0; i < keysToSanitize.length; i++) { + this.keysToSanitize[i + existingKeys] = getPattern(keysToSanitize[i]); + } + } + + private Pattern getPattern(String value) { + if (isRegex(value)) { + return Pattern.compile(value, Pattern.CASE_INSENSITIVE); + } + return Pattern.compile(".*" + value + "$", Pattern.CASE_INSENSITIVE); + } + + private boolean isRegex(String value) { + for (String part : REGEX_PARTS) { + if (value.contains(part)) { + return true; + } + } + return false; + } + + /** + * Sanitize the given value if necessary. + * @param key the key to sanitize + * @param value the value + * @return the potentially sanitized value + */ + public Object sanitize(String key, Object value) { + if (value == null) { + return null; + } + for (Pattern pattern : this.keysToSanitize) { + if (pattern.matcher(key).matches()) { + if (keyIsUriWithUserInfo(pattern)) { + return sanitizeUris(value.toString()); + } + return SanitizableData.SANITIZED_VALUE; + } + } + return value; + } + + /** + * Sanitize the value from the given {@link SanitizableData} using the available + * {@link SanitizingFunction}s. + * @param data the sanitizable data + * @return the potentially updated data + * @since 2.6.0 + */ + public Object sanitize(SanitizableData data) { + Object value = data.getValue(); + if (value == null) { + return null; + } + for (SanitizingFunction sanitizingFunction : this.sanitizingFunctions) { + data = sanitizingFunction.apply(data); + Object sanitizedValue = data.getValue(); + if (!value.equals(sanitizedValue)) { + return sanitizedValue; + } + } + return value; + } + + private boolean keyIsUriWithUserInfo(Pattern pattern) { + for (String uriKey : URI_USERINFO_KEYS) { + if (pattern.matcher(uriKey).matches()) { + return true; + } + } + return false; + } + + private Object sanitizeUris(String value) { + return Arrays.stream(value.split(",")).map(this::sanitizeUri).collect(Collectors.joining(",")); + } + + private String sanitizeUri(String value) { + Matcher matcher = URI_USERINFO_PATTERN.matcher(value); + String password = matcher.matches() ? matcher.group(1) : null; + if (password != null) { + return StringUtils.replace(value, ":" + password + "@", ":" + SanitizableData.SANITIZED_VALUE + "@"); + } + return value; + } + +} diff --git a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/config/AbstractQuickFixJBaseEndpointAutoConfiguration.java b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/config/AbstractQuickFixJBaseEndpointAutoConfiguration.java index 6d79e4b..15f689b 100644 --- a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/config/AbstractQuickFixJBaseEndpointAutoConfiguration.java +++ b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/config/AbstractQuickFixJBaseEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJClientEndpointAutoConfigurationTest.java b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJClientEndpointAutoConfigurationTest.java index 756c5d5..697002c 100644 --- a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJClientEndpointAutoConfigurationTest.java +++ b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJClientEndpointAutoConfigurationTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJClientEndpointWebIntegrationTest.java b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJClientEndpointWebIntegrationTest.java index 12157f0..ebf5abb 100644 --- a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJClientEndpointWebIntegrationTest.java +++ b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJClientEndpointWebIntegrationTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJServerEndpointAutoConfigurationTest.java b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJServerEndpointAutoConfigurationTest.java index c54b4c6..d017458 100644 --- a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJServerEndpointAutoConfigurationTest.java +++ b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJServerEndpointAutoConfigurationTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJServerEndpointWebIntegrationTest.java b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJServerEndpointWebIntegrationTest.java index 9f96b4f..9642342 100644 --- a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJServerEndpointWebIntegrationTest.java +++ b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/config/QuickFixJServerEndpointWebIntegrationTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/endpoint/QuickFixJClientEndpointTest.java b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/endpoint/QuickFixJClientEndpointTest.java index a5f2d9c..8fc29aa 100644 --- a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/endpoint/QuickFixJClientEndpointTest.java +++ b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/endpoint/QuickFixJClientEndpointTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/endpoint/QuickFixJServerEndpointTest.java b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/endpoint/QuickFixJServerEndpointTest.java index 86af3c3..1151fc4 100644 --- a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/endpoint/QuickFixJServerEndpointTest.java +++ b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/endpoint/QuickFixJServerEndpointTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/endpoint/test/PortHolder.java b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/endpoint/test/PortHolder.java index 9f01b49..1d04e47 100644 --- a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/endpoint/test/PortHolder.java +++ b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/endpoint/test/PortHolder.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/endpoint/test/WebEndpointTest.java b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/endpoint/test/WebEndpointTest.java index 3c1d630..f55a70b 100644 --- a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/endpoint/test/WebEndpointTest.java +++ b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/endpoint/test/WebEndpointTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/endpoint/test/WebEndpointTestInvocationContextProvider.java b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/endpoint/test/WebEndpointTestInvocationContextProvider.java index 1aa207c..f4d2e8c 100644 --- a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/endpoint/test/WebEndpointTestInvocationContextProvider.java +++ b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/endpoint/test/WebEndpointTestInvocationContextProvider.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/health/QuickFixJSessionHealthIndicatorTest.java b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/health/QuickFixJSessionHealthIndicatorTest.java index 00e05c7..fc0bd41 100644 --- a/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/health/QuickFixJSessionHealthIndicatorTest.java +++ b/quickfixj-spring-boot-actuator/src/test/java/io/allune/quickfixj/spring/boot/actuate/health/QuickFixJSessionHealthIndicatorTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/SanitizerTests.java b/quickfixj-spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/SanitizerTests.java new file mode 100644 index 0000000..152c6d5 --- /dev/null +++ b/quickfixj-spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/SanitizerTests.java @@ -0,0 +1,218 @@ +/* + * Copyright 2017-2024 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.boot.actuate.endpoint; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.stream.Stream; + +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * Tests for {@link Sanitizer}. + * + * @author Phillip Webb + * @author Stephane Nicoll + * @author Chris Bono + * @author David Good + * @author Madhura Bhave + */ +class SanitizerTests { + + @Test + void defaultNonUriKeys() { + Sanitizer sanitizer = new Sanitizer(); + assertThat(sanitizer.sanitize("password", "secret")).isEqualTo("******"); + assertThat(sanitizer.sanitize("my-password", "secret")).isEqualTo("******"); + assertThat(sanitizer.sanitize("my-OTHER.paSSword", "secret")).isEqualTo("******"); + assertThat(sanitizer.sanitize("somesecret", "secret")).isEqualTo("******"); + assertThat(sanitizer.sanitize("somekey", "secret")).isEqualTo("******"); + assertThat(sanitizer.sanitize("token", "secret")).isEqualTo("******"); + assertThat(sanitizer.sanitize("sometoken", "secret")).isEqualTo("******"); + assertThat(sanitizer.sanitize("find", "secret")).isEqualTo("secret"); + assertThat(sanitizer.sanitize("sun.java.command", "--spring.redis.password=pa55w0rd")).isEqualTo("******"); + assertThat(sanitizer.sanitize("SPRING_APPLICATION_JSON", "{password:123}")).isEqualTo("******"); + assertThat(sanitizer.sanitize("spring.application.json", "{password:123}")).isEqualTo("******"); + assertThat(sanitizer.sanitize("VCAP_SERVICES", "{json}")).isEqualTo("******"); + assertThat(sanitizer.sanitize("vcap.services.db.codeword", "secret")).isEqualTo("******"); + } + + @Test + void whenAdditionalKeysAreAddedValuesOfBothThemAndTheDefaultKeysAreSanitized() { + Sanitizer sanitizer = new Sanitizer(); + sanitizer.keysToSanitize("find", "confidential"); + assertThat(sanitizer.sanitize("password", "secret")).isEqualTo("******"); + assertThat(sanitizer.sanitize("my-password", "secret")).isEqualTo("******"); + assertThat(sanitizer.sanitize("my-OTHER.paSSword", "secret")).isEqualTo("******"); + assertThat(sanitizer.sanitize("somesecret", "secret")).isEqualTo("******"); + assertThat(sanitizer.sanitize("somekey", "secret")).isEqualTo("******"); + assertThat(sanitizer.sanitize("token", "secret")).isEqualTo("******"); + assertThat(sanitizer.sanitize("sometoken", "secret")).isEqualTo("******"); + assertThat(sanitizer.sanitize("find", "secret")).isEqualTo("******"); + assertThat(sanitizer.sanitize("sun.java.command", "--spring.redis.password=pa55w0rd")).isEqualTo("******"); + assertThat(sanitizer.sanitize("confidential", "secret")).isEqualTo("******"); + assertThat(sanitizer.sanitize("private", "secret")).isEqualTo("secret"); + } + + @Test + void whenCustomSanitizingFunctionPresentValueShouldBeSanitized() { + Sanitizer sanitizer = new Sanitizer(Collections.singletonList((data) -> { + if (data.getKey().equals("custom")) { + return data.withValue("$$$$$$"); + } + return data; + })); + SanitizableData secret = new SanitizableData(null, "secret", "xyz"); + assertThat(sanitizer.sanitize(secret)).isEqualTo("******"); + SanitizableData custom = new SanitizableData(null, "custom", "abcde"); + assertThat(sanitizer.sanitize(custom)).isEqualTo("$$$$$$"); + SanitizableData hello = new SanitizableData(null, "hello", "abc"); + assertThat(sanitizer.sanitize(hello)).isEqualTo("abc"); + } + + @Test + void overridingDefaultSanitizingFunction() { + Sanitizer sanitizer = new Sanitizer(Collections.singletonList((data) -> { + if (data.getKey().equals("password")) { + return data.withValue("------"); + } + return data; + })); + SanitizableData password = new SanitizableData(null, "password", "123456"); + assertThat(sanitizer.sanitize(password)).isEqualTo("------"); + } + + @Test + void whenValueSanitizedLaterSanitizingFunctionsShouldBeSkipped() { + final String sameKey = "custom"; + List sanitizingFunctions = new ArrayList<>(); + sanitizingFunctions.add((data) -> { + if (data.getKey().equals(sameKey)) { + return data.withValue("------"); + } + return data; + }); + sanitizingFunctions.add((data) -> { + if (data.getKey().equals(sameKey)) { + return data.withValue("******"); + } + return data; + }); + Sanitizer sanitizer = new Sanitizer(sanitizingFunctions); + SanitizableData custom = new SanitizableData(null, sameKey, "123456"); + assertThat(sanitizer.sanitize(custom)).isEqualTo("------"); + } + + @ParameterizedTest(name = "key = {0}") + @MethodSource("matchingUriUserInfoKeys") + void uriWithSingleValueWithPasswordShouldBeSanitized(String key) { + Sanitizer sanitizer = new Sanitizer(); + assertThat(sanitizer.sanitize(key, "http://user:password@localhost:8080")) + .isEqualTo("http://user:******@localhost:8080"); + } + + @ParameterizedTest(name = "key = {0}") + @MethodSource("matchingUriUserInfoKeys") + void uriWithNonAlphaSchemeCharactersAndSingleValueWithPasswordShouldBeSanitized(String key) { + Sanitizer sanitizer = new Sanitizer(); + assertThat(sanitizer.sanitize(key, "s-ch3m.+-e://user:password@localhost:8080")) + .isEqualTo("s-ch3m.+-e://user:******@localhost:8080"); + } + + @ParameterizedTest(name = "key = {0}") + @MethodSource("matchingUriUserInfoKeys") + void uriWithSingleValueWithNoPasswordShouldNotBeSanitized(String key) { + Sanitizer sanitizer = new Sanitizer(); + assertThat(sanitizer.sanitize(key, "http://localhost:8080")).isEqualTo("http://localhost:8080"); + assertThat(sanitizer.sanitize(key, "http://user@localhost:8080")).isEqualTo("http://user@localhost:8080"); + } + + @ParameterizedTest(name = "key = {0}") + @MethodSource("matchingUriUserInfoKeys") + void uriWithSingleValueWithPasswordMatchingOtherPartsOfStringShouldBeSanitized(String key) { + Sanitizer sanitizer = new Sanitizer(); + assertThat(sanitizer.sanitize(key, "http://user://@localhost:8080")) + .isEqualTo("http://user:******@localhost:8080"); + } + + @ParameterizedTest(name = "key = {0}") + @MethodSource("matchingUriUserInfoKeys") + void uriWithMultipleValuesEachWithPasswordShouldHaveAllSanitized(String key) { + Sanitizer sanitizer = new Sanitizer(); + assertThat( + sanitizer.sanitize(key, "http://user1:password1@localhost:8080,http://user2:password2@localhost:8082")) + .isEqualTo("http://user1:******@localhost:8080,http://user2:******@localhost:8082"); + } + + @ParameterizedTest(name = "key = {0}") + @MethodSource("matchingUriUserInfoKeys") + void uriWithMultipleValuesNoneWithPasswordShouldHaveNoneSanitized(String key) { + Sanitizer sanitizer = new Sanitizer(); + assertThat(sanitizer.sanitize(key, "http://user@localhost:8080,http://localhost:8082")) + .isEqualTo("http://user@localhost:8080,http://localhost:8082"); + } + + @ParameterizedTest(name = "key = {0}") + @MethodSource("matchingUriUserInfoKeys") + void uriWithMultipleValuesSomeWithPasswordShouldHaveThoseSanitized(String key) { + Sanitizer sanitizer = new Sanitizer(); + assertThat(sanitizer.sanitize(key, + "http://user1:password1@localhost:8080,http://user2@localhost:8082,http://localhost:8083")) + .isEqualTo("http://user1:******@localhost:8080,http://user2@localhost:8082,http://localhost:8083"); + } + + @ParameterizedTest(name = "key = {0}") + @MethodSource("matchingUriUserInfoKeys") + void uriWithMultipleValuesWithPasswordMatchingOtherPartsOfStringShouldBeSanitized(String key) { + Sanitizer sanitizer = new Sanitizer(); + assertThat(sanitizer.sanitize(key, "http://user1://@localhost:8080,http://user2://@localhost:8082")) + .isEqualTo("http://user1:******@localhost:8080,http://user2:******@localhost:8082"); + } + + @ParameterizedTest(name = "key = {0}") + @MethodSource("matchingUriUserInfoKeys") + void uriKeyWithUserProvidedListLiteralShouldBeSanitized(String key) { + Sanitizer sanitizer = new Sanitizer(); + assertThat(sanitizer.sanitize(key, "[amqp://username:password@host/]")) + .isEqualTo("[amqp://username:******@host/]"); + assertThat(sanitizer.sanitize(key, + "[http://user1:password1@localhost:8080,http://user2@localhost:8082,http://localhost:8083]")) + .isEqualTo("[http://user1:******@localhost:8080,http://user2@localhost:8082,http://localhost:8083]"); + assertThat(sanitizer.sanitize(key, + "[http://user1:password1@localhost:8080,http://user2:password2@localhost:8082]")) + .isEqualTo("[http://user1:******@localhost:8080,http://user2:******@localhost:8082]"); + assertThat(sanitizer.sanitize(key, "[http://user1@localhost:8080,http://user2@localhost:8082]")) + .isEqualTo("[http://user1@localhost:8080,http://user2@localhost:8082]"); + } + + private static Stream matchingUriUserInfoKeys() { + return Stream.of("uri", "my.uri", "myuri", "uris", "my.uris", "myuris", "url", "my.url", "myurl", "urls", + "my.urls", "myurls", "address", "my.address", "myaddress", "addresses", "my.addresses", "myaddresses"); + } + + @Test + void regex() { + Sanitizer sanitizer = new Sanitizer(".*lock.*"); + assertThat(sanitizer.sanitize("verylOCkish", "secret")).isEqualTo("******"); + assertThat(sanitizer.sanitize("veryokish", "secret")).isEqualTo("secret"); + } + +} diff --git a/quickfixj-spring-boot-actuator/src/test/java/quickfix/MockSystemTimeSource.java b/quickfixj-spring-boot-actuator/src/test/java/quickfix/MockSystemTimeSource.java index f644ec0..c7a03c0 100644 --- a/quickfixj-spring-boot-actuator/src/test/java/quickfix/MockSystemTimeSource.java +++ b/quickfixj-spring-boot-actuator/src/test/java/quickfix/MockSystemTimeSource.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-actuator/src/test/java/quickfix/SessionHelper.java b/quickfixj-spring-boot-actuator/src/test/java/quickfix/SessionHelper.java index bf7c785..ed4757c 100644 --- a/quickfixj-spring-boot-actuator/src/test/java/quickfix/SessionHelper.java +++ b/quickfixj-spring-boot-actuator/src/test/java/quickfix/SessionHelper.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-autoconfigure/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/client/QuickFixJClientActuatorAutoConfiguration.java b/quickfixj-spring-boot-autoconfigure/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/client/QuickFixJClientActuatorAutoConfiguration.java index b744b98..b14b961 100644 --- a/quickfixj-spring-boot-autoconfigure/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/client/QuickFixJClientActuatorAutoConfiguration.java +++ b/quickfixj-spring-boot-autoconfigure/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/client/QuickFixJClientActuatorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-autoconfigure/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/client/QuickFixJClientAutoConfiguration.java b/quickfixj-spring-boot-autoconfigure/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/client/QuickFixJClientAutoConfiguration.java index 67815c8..6f9adec 100644 --- a/quickfixj-spring-boot-autoconfigure/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/client/QuickFixJClientAutoConfiguration.java +++ b/quickfixj-spring-boot-autoconfigure/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/client/QuickFixJClientAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-autoconfigure/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/server/QuickFixJServerActuatorAutoConfiguration.java b/quickfixj-spring-boot-autoconfigure/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/server/QuickFixJServerActuatorAutoConfiguration.java index 2abc19d..57af5bc 100644 --- a/quickfixj-spring-boot-autoconfigure/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/server/QuickFixJServerActuatorAutoConfiguration.java +++ b/quickfixj-spring-boot-autoconfigure/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/server/QuickFixJServerActuatorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-autoconfigure/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/server/QuickFixJServerAutoConfiguration.java b/quickfixj-spring-boot-autoconfigure/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/server/QuickFixJServerAutoConfiguration.java index 074b9ed..a71e637 100644 --- a/quickfixj-spring-boot-autoconfigure/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/server/QuickFixJServerAutoConfiguration.java +++ b/quickfixj-spring-boot-autoconfigure/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/server/QuickFixJServerAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-autoconfigure/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/template/QuickFixJTemplateAutoConfiguration.java b/quickfixj-spring-boot-autoconfigure/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/template/QuickFixJTemplateAutoConfiguration.java index d80215f..9a78076 100644 --- a/quickfixj-spring-boot-autoconfigure/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/template/QuickFixJTemplateAutoConfiguration.java +++ b/quickfixj-spring-boot-autoconfigure/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/template/QuickFixJTemplateAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-autoconfigure/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJClientActuatorAutoConfigurationTest.java b/quickfixj-spring-boot-autoconfigure/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJClientActuatorAutoConfigurationTest.java index d8eb79f..e040145 100644 --- a/quickfixj-spring-boot-autoconfigure/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJClientActuatorAutoConfigurationTest.java +++ b/quickfixj-spring-boot-autoconfigure/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJClientActuatorAutoConfigurationTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-autoconfigure/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJClientAutoConfigurationTest.java b/quickfixj-spring-boot-autoconfigure/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJClientAutoConfigurationTest.java index f834b2b..9615ffa 100644 --- a/quickfixj-spring-boot-autoconfigure/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJClientAutoConfigurationTest.java +++ b/quickfixj-spring-boot-autoconfigure/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJClientAutoConfigurationTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-autoconfigure/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJServerActuatorAutoConfigurationTest.java b/quickfixj-spring-boot-autoconfigure/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJServerActuatorAutoConfigurationTest.java index a7318a2..7f16097 100644 --- a/quickfixj-spring-boot-autoconfigure/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJServerActuatorAutoConfigurationTest.java +++ b/quickfixj-spring-boot-autoconfigure/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJServerActuatorAutoConfigurationTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-autoconfigure/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJServerAutoConfigurationTest.java b/quickfixj-spring-boot-autoconfigure/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJServerAutoConfigurationTest.java index f4e7147..2c703c1 100644 --- a/quickfixj-spring-boot-autoconfigure/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJServerAutoConfigurationTest.java +++ b/quickfixj-spring-boot-autoconfigure/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJServerAutoConfigurationTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-autoconfigure/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/YamlPropertySourceFactory.java b/quickfixj-spring-boot-autoconfigure/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/YamlPropertySourceFactory.java index 6b82918..fe0bb00 100644 --- a/quickfixj-spring-boot-autoconfigure/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/YamlPropertySourceFactory.java +++ b/quickfixj-spring-boot-autoconfigure/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/YamlPropertySourceFactory.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/EnableQuickFixJClient.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/EnableQuickFixJClient.java index 691934e..489a091 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/EnableQuickFixJClient.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/EnableQuickFixJClient.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/EnableQuickFixJServer.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/EnableQuickFixJServer.java index 89b9bd3..80a31e9 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/EnableQuickFixJServer.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/EnableQuickFixJServer.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/application/EventPublisherApplicationAdapter.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/application/EventPublisherApplicationAdapter.java index d47c484..44632dc 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/application/EventPublisherApplicationAdapter.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/application/EventPublisherApplicationAdapter.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/Concurrent.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/Concurrent.java index d554fbc..ede64e0 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/Concurrent.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/Concurrent.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/ConnectorConfig.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/ConnectorConfig.java index a5c6649..3ae7e54 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/ConnectorConfig.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/ConnectorConfig.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/LogMethod.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/LogMethod.java index 664c94f..a5520be 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/LogMethod.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/LogMethod.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/MessageStoreMethod.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/MessageStoreMethod.java index 101f7ae..a5f1677 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/MessageStoreMethod.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/MessageStoreMethod.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJBootProperties.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJBootProperties.java index 1be2da6..5aa59e2 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJBootProperties.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJBootProperties.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/client/QuickFixJClientConfiguration.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/client/QuickFixJClientConfiguration.java index 2a79163..fd02080 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/client/QuickFixJClientConfiguration.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/client/QuickFixJClientConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/server/QuickFixJServerConfiguration.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/server/QuickFixJServerConfiguration.java index 8c247a3..4787674 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/server/QuickFixJServerConfiguration.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/server/QuickFixJServerConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/template/QuickFixJTemplateConfiguration.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/template/QuickFixJTemplateConfiguration.java index d768caa..3b1a4da 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/template/QuickFixJTemplateConfiguration.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/configuration/template/QuickFixJTemplateConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/connection/ConnectorManager.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/connection/ConnectorManager.java index 0ab61b2..fa09ba9 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/connection/ConnectorManager.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/connection/ConnectorManager.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/connection/SessionSettingsLocator.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/connection/SessionSettingsLocator.java index aec923f..8a831ff 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/connection/SessionSettingsLocator.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/connection/SessionSettingsLocator.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/ConfigurationException.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/ConfigurationException.java index dc6563b..4eb4ea8 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/ConfigurationException.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/ConfigurationException.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/FieldNotFoundException.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/FieldNotFoundException.java index 327d955..b498d05 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/FieldNotFoundException.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/FieldNotFoundException.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/MessageValidationException.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/MessageValidationException.java index 7cdc88f..71ebfde 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/MessageValidationException.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/MessageValidationException.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/QuickFixJBaseException.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/QuickFixJBaseException.java index c11e57b..ecbdca3 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/QuickFixJBaseException.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/QuickFixJBaseException.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/SessionNotFoundException.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/SessionNotFoundException.java index bc39264..575a09b 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/SessionNotFoundException.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/SessionNotFoundException.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/SettingsNotFoundException.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/SettingsNotFoundException.java index 00720c3..518c04a 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/SettingsNotFoundException.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/exception/SettingsNotFoundException.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/failureanalyzer/QuickFixJAutoConfigFailureAnalyzer.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/failureanalyzer/QuickFixJAutoConfigFailureAnalyzer.java index 9863759..b38e56d 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/failureanalyzer/QuickFixJAutoConfigFailureAnalyzer.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/failureanalyzer/QuickFixJAutoConfigFailureAnalyzer.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/Create.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/Create.java index d032dae..048cdec 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/Create.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/Create.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/FromAdmin.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/FromAdmin.java index 5d09872..68ffa77 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/FromAdmin.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/FromAdmin.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/FromApp.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/FromApp.java index 6193f25..cd1aca9 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/FromApp.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/FromApp.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/Logon.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/Logon.java index 63606df..7cb1236 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/Logon.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/Logon.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/Logout.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/Logout.java index 2664dc6..781ec48 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/Logout.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/Logout.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/ToAdmin.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/ToAdmin.java index 6b7275b..71ebf6c 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/ToAdmin.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/ToAdmin.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/ToApp.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/ToApp.java index add1865..da8b9ba 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/ToApp.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/model/ToApp.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/template/DefaultSessionLookupHandler.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/template/DefaultSessionLookupHandler.java index 149e36f..e4f283c 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/template/DefaultSessionLookupHandler.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/template/DefaultSessionLookupHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/template/QuickFixJOperations.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/template/QuickFixJOperations.java index 23c59a8..36e541a 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/template/QuickFixJOperations.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/template/QuickFixJOperations.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/template/QuickFixJTemplate.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/template/QuickFixJTemplate.java index e82ee0c..ca64e00 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/template/QuickFixJTemplate.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/template/QuickFixJTemplate.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/template/SessionLookupHandler.java b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/template/SessionLookupHandler.java index fb5fde5..e24ac05 100644 --- a/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/template/SessionLookupHandler.java +++ b/quickfixj-spring-boot-context/src/main/java/io/allune/quickfixj/spring/boot/starter/template/SessionLookupHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/application/EventPublisherApplicationAdapterTest.java b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/application/EventPublisherApplicationAdapterTest.java index 7c1299a..f456530 100644 --- a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/application/EventPublisherApplicationAdapterTest.java +++ b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/application/EventPublisherApplicationAdapterTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJClientConfigurationTest.java b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJClientConfigurationTest.java index ac81f31..1f2514f 100644 --- a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJClientConfigurationTest.java +++ b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJClientConfigurationTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJServerConfigurationTest.java b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJServerConfigurationTest.java index a61bae8..4f1856e 100644 --- a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJServerConfigurationTest.java +++ b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/QuickFixJServerConfigurationTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/YamlPropertySourceFactory.java b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/YamlPropertySourceFactory.java index 6b82918..fe0bb00 100644 --- a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/YamlPropertySourceFactory.java +++ b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/configuration/YamlPropertySourceFactory.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/connection/ConnectorManagerTest.java b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/connection/ConnectorManagerTest.java index ddb893a..31ec3d6 100644 --- a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/connection/ConnectorManagerTest.java +++ b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/connection/ConnectorManagerTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/connection/SessionSettingsLocatorTest.java b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/connection/SessionSettingsLocatorTest.java index 6a2982c..a2427ff 100644 --- a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/connection/SessionSettingsLocatorTest.java +++ b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/connection/SessionSettingsLocatorTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/failureanalyzer/QuickFixJAutoConfigFailureAnalyzerTest.java b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/failureanalyzer/QuickFixJAutoConfigFailureAnalyzerTest.java index 98f6b2d..fc3fff3 100644 --- a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/failureanalyzer/QuickFixJAutoConfigFailureAnalyzerTest.java +++ b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/failureanalyzer/QuickFixJAutoConfigFailureAnalyzerTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/integration/QuickFixJServerClientITConfiguration.java b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/integration/QuickFixJServerClientITConfiguration.java index e5acae0..b3a0f7e 100644 --- a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/integration/QuickFixJServerClientITConfiguration.java +++ b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/integration/QuickFixJServerClientITConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/integration/QuickFixJServerClientIntegrationTest.java b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/integration/QuickFixJServerClientIntegrationTest.java index 60dbd47..c5d6d9a 100644 --- a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/integration/QuickFixJServerClientIntegrationTest.java +++ b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/integration/QuickFixJServerClientIntegrationTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/template/QuickFixJTemplateTest.java b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/template/QuickFixJTemplateTest.java index e68d819..911873f 100644 --- a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/template/QuickFixJTemplateTest.java +++ b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/template/QuickFixJTemplateTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/template/UnitTestApplication.java b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/template/UnitTestApplication.java index c683a37..8a1bfeb 100644 --- a/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/template/UnitTestApplication.java +++ b/quickfixj-spring-boot-context/src/test/java/io/allune/quickfixj/spring/boot/starter/template/UnitTestApplication.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/quickfixj-spring-boot-context/src/test/java/quickfix/DefaultSessionLookupHandlerTest.java b/quickfixj-spring-boot-context/src/test/java/quickfix/DefaultSessionLookupHandlerTest.java index 34c8092..a742e41 100644 --- a/quickfixj-spring-boot-context/src/test/java/quickfix/DefaultSessionLookupHandlerTest.java +++ b/quickfixj-spring-boot-context/src/test/java/quickfix/DefaultSessionLookupHandlerTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2023 the original author or authors. + * Copyright 2017-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.