Commit 93d67b6
committed
Use forwarding proxy mode for plaintext endpoints in CRT S3 client
The CRT derives the proxy connection type from whether TLS options were
supplied for the main connection, not from the scheme actually in use.
Because S3NativeClientConfiguration always builds a TlsContext and
S3CrtAsyncHttpClient passes it to the native client unconditionally, a
plaintext http:// endpoint was still reached through a CONNECT tunnel.
Proxies that only support forwarding mode reject those requests.
Pin the proxy connection type to Forwarding when endpointOverride uses the
http scheme, mirroring the scheme check that the CRT's own
HttpClientConnectionManager already performs before handing a TLS context
to the native layer. Only the combination of a configured proxy and a
plaintext endpoint override is affected; https endpoints, endpoints without
an override, and proxy-less configurations continue to resolve through
Legacy as before.
Not passing the TlsContext was evaluated first and does not work: aws-c-s3
still tunnels, so the connection type has to be set explicitly.
Fixes #73201 parent a06a1a6 commit 93d67b6
3 files changed
Lines changed: 74 additions & 0 deletions
File tree
- .changes/next-release
- services/s3/src
- main/java/software/amazon/awssdk/services/s3/internal/crt
- test/java/software/amazon/awssdk/services/s3/internal/crt
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
Lines changed: 20 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| 50 | + | |
50 | 51 | | |
51 | 52 | | |
52 | 53 | | |
| |||
106 | 107 | | |
107 | 108 | | |
108 | 109 | | |
| 110 | + | |
109 | 111 | | |
110 | 112 | | |
111 | 113 | | |
| |||
135 | 137 | | |
136 | 138 | | |
137 | 139 | | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
138 | 158 | | |
139 | 159 | | |
140 | 160 | | |
| |||
Lines changed: 48 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| 28 | + | |
| 29 | + | |
27 | 30 | | |
28 | 31 | | |
29 | 32 | | |
| |||
61 | 64 | | |
62 | 65 | | |
63 | 66 | | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
64 | 105 | | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
65 | 110 | | |
66 | 111 | | |
67 | 112 | | |
| |||
71 | 116 | | |
72 | 117 | | |
73 | 118 | | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
74 | 122 | | |
75 | 123 | | |
76 | 124 | | |
0 commit comments