Skip to content

Commit 13703d8

Browse files
committed
use spring security
1 parent abc075c commit 13703d8

18 files changed

Lines changed: 169 additions & 560 deletions

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
springVersion=6.1.4
2-
springSecurityVersion=6.5.7
2+
springSecurityVersion=7.1.0-SNAPSHOT

ssrf/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ plugins {
1212
repositories {
1313
// Use Maven Central for resolving dependencies.
1414
mavenCentral()
15+
mavenLocal()
1516
}
1617

1718
dependencies {

ssrf/src/main/java/org/springframework/boot/http/client/HttpComponentsFilteringDnsResolver.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,20 @@
2323
import org.apache.hc.client5.http.DnsResolver;
2424
import org.apache.hc.client5.http.SystemDefaultDnsResolver;
2525

26-
import org.springframework.security.web.util.matcher.InetAddressFilter;
26+
import org.springframework.security.web.util.matcher.InetAddressMatcher;
2727

2828
public class HttpComponentsFilteringDnsResolver implements DnsResolver {
2929

3030
private final DnsResolver delegate;
3131

32-
private final InetAddressFilter filter;
32+
private final InetAddressMatcher filter;
3333

3434

35-
public HttpComponentsFilteringDnsResolver(InetAddressFilter filter) {
35+
public HttpComponentsFilteringDnsResolver(InetAddressMatcher filter) {
3636
this(SystemDefaultDnsResolver.INSTANCE, filter);
3737
}
3838

39-
public HttpComponentsFilteringDnsResolver(DnsResolver delegate, InetAddressFilter filter) {
39+
public HttpComponentsFilteringDnsResolver(DnsResolver delegate, InetAddressMatcher filter) {
4040
this.delegate = delegate;
4141
this.filter = filter;
4242
}
@@ -45,7 +45,7 @@ public HttpComponentsFilteringDnsResolver(DnsResolver delegate, InetAddressFilte
4545
@Override
4646
public InetAddress[] resolve(String host) throws UnknownHostException {
4747
return Arrays.stream(this.delegate.resolve(host))
48-
.filter(this.filter::filter).toArray(InetAddress[]::new);
48+
.filter(this.filter::matches).toArray(InetAddress[]::new);
4949
}
5050

5151
@Override

ssrf/src/main/java/org/springframework/boot/http/client/JettyHttpClientFilteringDnsResolver.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,16 @@
2323
import org.eclipse.jetty.util.Promise;
2424
import org.eclipse.jetty.util.SocketAddressResolver;
2525

26-
import org.springframework.security.web.util.matcher.InetAddressFilter;
26+
import org.springframework.security.web.util.matcher.InetAddressMatcher;
2727

2828
public class JettyHttpClientFilteringDnsResolver implements SocketAddressResolver {
2929

3030
private final SocketAddressResolver delegate;
3131

32-
private final InetAddressFilter filter;
32+
private final InetAddressMatcher filter;
3333

3434

35-
public JettyHttpClientFilteringDnsResolver(SocketAddressResolver delegate, InetAddressFilter filter) {
35+
public JettyHttpClientFilteringDnsResolver(SocketAddressResolver delegate, InetAddressMatcher filter) {
3636
this.delegate = delegate;
3737
this.filter = filter;
3838
}
@@ -42,7 +42,7 @@ public JettyHttpClientFilteringDnsResolver(SocketAddressResolver delegate, InetA
4242
* as the delegate resolver.
4343
* @param filter the filter to apply security rules to the resolved addresses.
4444
*/
45-
public JettyHttpClientFilteringDnsResolver(InetAddressFilter filter) {
45+
public JettyHttpClientFilteringDnsResolver(InetAddressMatcher filter) {
4646
// Call the primary constructor, using the fully qualified name for the nested static class
4747
SocketAddressResolver resolver = new Sync();
4848
this.delegate = resolver;
@@ -58,7 +58,7 @@ public void resolve(String host, int port, Promise<List<InetSocketAddress>> oute
5858
public void succeeded(List<InetSocketAddress> candidates) {
5959
outerPromise.succeeded(candidates.stream()
6060
.map(InetSocketAddress::getAddress)
61-
.filter(filter::filter)
61+
.filter(filter::matches)
6262
.map(address -> new InetSocketAddress(address, port))
6363
.toList());
6464
}

ssrf/src/main/java/org/springframework/boot/http/client/NettyHttpClientFilteringAddressSelector.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,24 +28,25 @@
2828
import reactor.netty.transport.ClientTransport.ResolvedAddressSelector;
2929
import reactor.netty.transport.ClientTransportConfig;
3030

31-
import org.springframework.security.web.util.matcher.InetAddressFilter;
31+
import org.springframework.security.web.util.matcher.InetAddressMatcher;
32+
import org.springframework.security.web.util.matcher.InetAddressMatcher;
3233

3334
/**
34-
* A {@link ResolvedAddressSelector} that uses a {@link InetAddressFilter} to filter a list of
35+
* A {@link ResolvedAddressSelector} that uses a {@link InetAddressMatcher} to filter a list of
3536
* resolved {@link SocketAddress}es for a Reactor Netty client.
3637
*
3738
* @see reactor.netty.http.client.HttpClient#resolvedAddressesSelector(ResolvedAddressSelector)
3839
*/
3940
public class NettyHttpClientFilteringAddressSelector implements ResolvedAddressSelector<ClientTransportConfig<?>> {
4041

41-
private final InetAddressFilter filter;
42+
private final InetAddressMatcher filter;
4243

4344
/**
4445
* Creates a new instance.
4546
* @param filter The filter to apply security rules to the resolved addresses.
4647
*/
47-
public NettyHttpClientFilteringAddressSelector(InetAddressFilter filter) {
48-
Objects.requireNonNull(filter, "InetAddressFilter must not be null");
48+
public NettyHttpClientFilteringAddressSelector(InetAddressMatcher filter) {
49+
Objects.requireNonNull(filter, "InetAddressMatcher must not be null");
4950
this.filter = filter;
5051
}
5152

@@ -72,7 +73,7 @@ private List<SocketAddress> filterInternal(List<? extends SocketAddress> socketA
7273
.filter(InetSocketAddress.class::isInstance)
7374
.map(InetSocketAddress.class::cast)
7475
.map(InetSocketAddress::getAddress)
75-
.filter(this.filter::filter)
76+
.filter(this.filter::matches)
7677
.toList();
7778

7879
return socketAddresses.stream()

ssrf/src/main/java/org/springframework/security/web/util/matcher/AllowedInetAddressFilter.java

Lines changed: 0 additions & 32 deletions
This file was deleted.

ssrf/src/main/java/org/springframework/security/web/util/matcher/DefaultInetAddressBuilder.java

Lines changed: 0 additions & 98 deletions
This file was deleted.

ssrf/src/main/java/org/springframework/security/web/util/matcher/DisallowedInetAddressFilter.java

Lines changed: 0 additions & 29 deletions
This file was deleted.

ssrf/src/main/java/org/springframework/security/web/util/matcher/InetAddressFilter.java

Lines changed: 0 additions & 79 deletions
This file was deleted.

0 commit comments

Comments
 (0)