dependabot[bot] opened a new pull request, #25987:
URL: https://github.com/apache/camel/pull/25987

   Bumps `mongo-java-driver-version` from 5.10.0 to 5.11.0.
   Updates `org.mongodb:mongodb-driver-core` from 5.10.0 to 5.11.0
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/mongodb/mongo-java-driver/releases";>org.mongodb:mongodb-driver-core's
 releases</a>.</em></p>
   <blockquote>
   <h2>Java Driver 5.11.0 (August 28, 2026)</h2>
   <h2>What's Changed</h2>
   <ul>
   <li>Java 6173 CSFLE/QE Support for HTTP Proxies  by <a 
href="https://github.com/strogiyotec";><code>@​strogiyotec</code></a> in <a 
href="https://redirect.github.com/mongodb/mongo-java-driver/pull/2043";>mongodb/mongo-java-driver#2043</a></li>
   </ul>
   <h2>CSFLE/QE Http proxies notes</h2>
   <ul>
   <li>The driver always negotiates TLS with the KMS host itself, using the 
<code>SSLContext</code> configured for
   the KMS provider. Implementations must not negotiate TLS with the KMS host; 
doing so would let an
   intermediary read the key material in transit.</li>
   <li>An implementation may use TLS for its own connection to the 
intermediary, in which case it returns
   an <code>SSLSocket</code> and the driver layers the KMS host's TLS session 
on top of it.</li>
   <li>Ownership of the returned socket passes to the driver, which closes it 
when the KMS request
   completes. A socket that is never returned must be closed by the 
implementation.</li>
   <li>Applicable only to the synchronous driver. The reactive streams driver 
rejects(RuntimeException) a configured
   callback.</li>
   </ul>
   <h2>Code example</h2>
   <p>Code example uses only the JDK API , so no HTTP client dependency is 
required. If you use your own HTTP client, it must return the tunnelled socket 
without negotiating TLS with the KMS host</p>
   <p>First define the callback</p>
   <pre><code>private static final String PROXY_HOST = 
&quot;proxy.example.com&quot;;
   private static final int PROXY_PORT = 8080;
   private static final int TIMEOUT_MILLIS = 10_000;
   <p>// Routes every KMS request through an HTTP proxy using the HTTP CONNECT 
method<br />
   // refer to the docs <a 
href="https://www.rfc-editor.org/info/rfc9110/#section-9.3.6";>https://www.rfc-editor.org/info/rfc9110/#section-9.3.6</a><br
 />
   KmsConnectCallback proxyCallback = context -&gt; {<br />
   Socket socket = new Socket();<br />
   try {<br />
   // 1. Connect to the proxy, not to the KMS host.<br />
   socket.connect(new InetSocketAddress(PROXY_HOST, PROXY_PORT), 
TIMEOUT_MILLIS);<br />
   socket.setSoTimeout(TIMEOUT_MILLIS);</p>
   <pre><code>    // 2. Ask the proxy to open a tunnel to the KMS host the 
driver wants to reach. Only the
       //    driver knows which host that is, so always take it from the 
context rather than
       //    hard-coding it.
       String target = context.getHost() + &amp;quot;:&amp;quot; + 
context.getPort();
       String connectRequest = &amp;quot;CONNECT &amp;quot; + target + 
&amp;quot; HTTP/1.1\r\n&amp;quot;
               + &amp;quot;Host: &amp;quot; + target + &amp;quot;\r\n&amp;quot;
               // If the proxy requires authentication, add the appropriate 
header, for example:
               // + &amp;quot;Proxy-Authorization: Basic &amp;quot; + 
base64(&amp;quot;user:password&amp;quot;) + &amp;quot;\r\n&amp;quot;
               + &amp;quot;\r\n&amp;quot;;
       
socket.getOutputStream().write(connectRequest.getBytes(StandardCharsets.US_ASCII));
   
       // 3. Check the proxy accepted the tunnel before handing the socket back.
       checkProxyAcceptedTunnel(socket.getInputStream());
   } catch (IOException | RuntimeException e) {
       // The driver never received this socket, so it cannot close it for you.
       socket.close();
       throw e;
   </code></pre>
   <p>&lt;/tr&gt;&lt;/table&gt;<br />
   </code></pre></p>
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/mongodb/mongo-java-driver/commit/c96aad1f33915722c52f0c58e5d8e316062df440";><code>c96aad1</code></a>
 Version: bump 5.11.0</li>
   <li><a 
href="https://github.com/mongodb/mongo-java-driver/commit/027d4cc2e39c4ee96ee21df2b1317b3d946181f8";><code>027d4cc</code></a>
 CSFLE/QE Support for HTTP Proxies (<a 
href="https://redirect.github.com/mongodb/mongo-java-driver/issues/2043";>#2043</a>)</li>
   <li><a 
href="https://github.com/mongodb/mongo-java-driver/commit/9af9be1fa428effe0ea10e05c0e1256d2286ec3c";><code>9af9be1</code></a>
 Version: bump 5.11.0-SNAPSHOT</li>
   <li>See full diff in <a 
href="https://github.com/mongodb/mongo-java-driver/compare/r5.10.0...r5.11.0";>compare
 view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `org.mongodb:mongodb-driver-sync` from 5.10.0 to 5.11.0
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/mongodb/mongo-java-driver/releases";>org.mongodb:mongodb-driver-sync's
 releases</a>.</em></p>
   <blockquote>
   <h2>Java Driver 5.11.0 (August 28, 2026)</h2>
   <h2>What's Changed</h2>
   <ul>
   <li>Java 6173 CSFLE/QE Support for HTTP Proxies  by <a 
href="https://github.com/strogiyotec";><code>@​strogiyotec</code></a> in <a 
href="https://redirect.github.com/mongodb/mongo-java-driver/pull/2043";>mongodb/mongo-java-driver#2043</a></li>
   </ul>
   <h2>CSFLE/QE Http proxies notes</h2>
   <ul>
   <li>The driver always negotiates TLS with the KMS host itself, using the 
<code>SSLContext</code> configured for
   the KMS provider. Implementations must not negotiate TLS with the KMS host; 
doing so would let an
   intermediary read the key material in transit.</li>
   <li>An implementation may use TLS for its own connection to the 
intermediary, in which case it returns
   an <code>SSLSocket</code> and the driver layers the KMS host's TLS session 
on top of it.</li>
   <li>Ownership of the returned socket passes to the driver, which closes it 
when the KMS request
   completes. A socket that is never returned must be closed by the 
implementation.</li>
   <li>Applicable only to the synchronous driver. The reactive streams driver 
rejects(RuntimeException) a configured
   callback.</li>
   </ul>
   <h2>Code example</h2>
   <p>Code example uses only the JDK API , so no HTTP client dependency is 
required. If you use your own HTTP client, it must return the tunnelled socket 
without negotiating TLS with the KMS host</p>
   <p>First define the callback</p>
   <pre><code>private static final String PROXY_HOST = 
&quot;proxy.example.com&quot;;
   private static final int PROXY_PORT = 8080;
   private static final int TIMEOUT_MILLIS = 10_000;
   <p>// Routes every KMS request through an HTTP proxy using the HTTP CONNECT 
method<br />
   // refer to the docs <a 
href="https://www.rfc-editor.org/info/rfc9110/#section-9.3.6";>https://www.rfc-editor.org/info/rfc9110/#section-9.3.6</a><br
 />
   KmsConnectCallback proxyCallback = context -&gt; {<br />
   Socket socket = new Socket();<br />
   try {<br />
   // 1. Connect to the proxy, not to the KMS host.<br />
   socket.connect(new InetSocketAddress(PROXY_HOST, PROXY_PORT), 
TIMEOUT_MILLIS);<br />
   socket.setSoTimeout(TIMEOUT_MILLIS);</p>
   <pre><code>    // 2. Ask the proxy to open a tunnel to the KMS host the 
driver wants to reach. Only the
       //    driver knows which host that is, so always take it from the 
context rather than
       //    hard-coding it.
       String target = context.getHost() + &amp;quot;:&amp;quot; + 
context.getPort();
       String connectRequest = &amp;quot;CONNECT &amp;quot; + target + 
&amp;quot; HTTP/1.1\r\n&amp;quot;
               + &amp;quot;Host: &amp;quot; + target + &amp;quot;\r\n&amp;quot;
               // If the proxy requires authentication, add the appropriate 
header, for example:
               // + &amp;quot;Proxy-Authorization: Basic &amp;quot; + 
base64(&amp;quot;user:password&amp;quot;) + &amp;quot;\r\n&amp;quot;
               + &amp;quot;\r\n&amp;quot;;
       
socket.getOutputStream().write(connectRequest.getBytes(StandardCharsets.US_ASCII));
   
       // 3. Check the proxy accepted the tunnel before handing the socket back.
       checkProxyAcceptedTunnel(socket.getInputStream());
   } catch (IOException | RuntimeException e) {
       // The driver never received this socket, so it cannot close it for you.
       socket.close();
       throw e;
   </code></pre>
   <p>&lt;/tr&gt;&lt;/table&gt;<br />
   </code></pre></p>
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/mongodb/mongo-java-driver/commit/c96aad1f33915722c52f0c58e5d8e316062df440";><code>c96aad1</code></a>
 Version: bump 5.11.0</li>
   <li><a 
href="https://github.com/mongodb/mongo-java-driver/commit/027d4cc2e39c4ee96ee21df2b1317b3d946181f8";><code>027d4cc</code></a>
 CSFLE/QE Support for HTTP Proxies (<a 
href="https://redirect.github.com/mongodb/mongo-java-driver/issues/2043";>#2043</a>)</li>
   <li><a 
href="https://github.com/mongodb/mongo-java-driver/commit/9af9be1fa428effe0ea10e05c0e1256d2286ec3c";><code>9af9be1</code></a>
 Version: bump 5.11.0-SNAPSHOT</li>
   <li>See full diff in <a 
href="https://github.com/mongodb/mongo-java-driver/compare/r5.10.0...r5.11.0";>compare
 view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `org.mongodb:bson` from 5.10.0 to 5.11.0
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/mongodb/mongo-java-driver/releases";>org.mongodb:bson's 
releases</a>.</em></p>
   <blockquote>
   <h2>Java Driver 5.11.0 (August 28, 2026)</h2>
   <h2>What's Changed</h2>
   <ul>
   <li>Java 6173 CSFLE/QE Support for HTTP Proxies  by <a 
href="https://github.com/strogiyotec";><code>@​strogiyotec</code></a> in <a 
href="https://redirect.github.com/mongodb/mongo-java-driver/pull/2043";>mongodb/mongo-java-driver#2043</a></li>
   </ul>
   <h2>CSFLE/QE Http proxies notes</h2>
   <ul>
   <li>The driver always negotiates TLS with the KMS host itself, using the 
<code>SSLContext</code> configured for
   the KMS provider. Implementations must not negotiate TLS with the KMS host; 
doing so would let an
   intermediary read the key material in transit.</li>
   <li>An implementation may use TLS for its own connection to the 
intermediary, in which case it returns
   an <code>SSLSocket</code> and the driver layers the KMS host's TLS session 
on top of it.</li>
   <li>Ownership of the returned socket passes to the driver, which closes it 
when the KMS request
   completes. A socket that is never returned must be closed by the 
implementation.</li>
   <li>Applicable only to the synchronous driver. The reactive streams driver 
rejects(RuntimeException) a configured
   callback.</li>
   </ul>
   <h2>Code example</h2>
   <p>Code example uses only the JDK API , so no HTTP client dependency is 
required. If you use your own HTTP client, it must return the tunnelled socket 
without negotiating TLS with the KMS host</p>
   <p>First define the callback</p>
   <pre><code>private static final String PROXY_HOST = 
&quot;proxy.example.com&quot;;
   private static final int PROXY_PORT = 8080;
   private static final int TIMEOUT_MILLIS = 10_000;
   <p>// Routes every KMS request through an HTTP proxy using the HTTP CONNECT 
method<br />
   // refer to the docs <a 
href="https://www.rfc-editor.org/info/rfc9110/#section-9.3.6";>https://www.rfc-editor.org/info/rfc9110/#section-9.3.6</a><br
 />
   KmsConnectCallback proxyCallback = context -&gt; {<br />
   Socket socket = new Socket();<br />
   try {<br />
   // 1. Connect to the proxy, not to the KMS host.<br />
   socket.connect(new InetSocketAddress(PROXY_HOST, PROXY_PORT), 
TIMEOUT_MILLIS);<br />
   socket.setSoTimeout(TIMEOUT_MILLIS);</p>
   <pre><code>    // 2. Ask the proxy to open a tunnel to the KMS host the 
driver wants to reach. Only the
       //    driver knows which host that is, so always take it from the 
context rather than
       //    hard-coding it.
       String target = context.getHost() + &amp;quot;:&amp;quot; + 
context.getPort();
       String connectRequest = &amp;quot;CONNECT &amp;quot; + target + 
&amp;quot; HTTP/1.1\r\n&amp;quot;
               + &amp;quot;Host: &amp;quot; + target + &amp;quot;\r\n&amp;quot;
               // If the proxy requires authentication, add the appropriate 
header, for example:
               // + &amp;quot;Proxy-Authorization: Basic &amp;quot; + 
base64(&amp;quot;user:password&amp;quot;) + &amp;quot;\r\n&amp;quot;
               + &amp;quot;\r\n&amp;quot;;
       
socket.getOutputStream().write(connectRequest.getBytes(StandardCharsets.US_ASCII));
   
       // 3. Check the proxy accepted the tunnel before handing the socket back.
       checkProxyAcceptedTunnel(socket.getInputStream());
   } catch (IOException | RuntimeException e) {
       // The driver never received this socket, so it cannot close it for you.
       socket.close();
       throw e;
   </code></pre>
   <p>&lt;/tr&gt;&lt;/table&gt;<br />
   </code></pre></p>
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/mongodb/mongo-java-driver/commit/c96aad1f33915722c52f0c58e5d8e316062df440";><code>c96aad1</code></a>
 Version: bump 5.11.0</li>
   <li><a 
href="https://github.com/mongodb/mongo-java-driver/commit/027d4cc2e39c4ee96ee21df2b1317b3d946181f8";><code>027d4cc</code></a>
 CSFLE/QE Support for HTTP Proxies (<a 
href="https://redirect.github.com/mongodb/mongo-java-driver/issues/2043";>#2043</a>)</li>
   <li><a 
href="https://github.com/mongodb/mongo-java-driver/commit/9af9be1fa428effe0ea10e05c0e1256d2286ec3c";><code>9af9be1</code></a>
 Version: bump 5.11.0-SNAPSHOT</li>
   <li>See full diff in <a 
href="https://github.com/mongodb/mongo-java-driver/compare/r5.10.0...r5.11.0";>compare
 view</a></li>
   </ul>
   </details>
   <br />
   
   
   Dependabot will resolve any conflicts with this PR as long as you don't 
alter it yourself. You can also trigger a rebase manually by commenting 
`@dependabot rebase`.
   
   [//]: # (dependabot-automerge-start)
   [//]: # (dependabot-automerge-end)
   
   ---
   
   <details>
   <summary>Dependabot commands and options</summary>
   <br />
   
   You can trigger Dependabot actions by commenting on this PR:
   - `@dependabot rebase` will rebase this PR
   - `@dependabot recreate` will recreate this PR, overwriting any edits that 
have been made to it
   - `@dependabot show <dependency name> ignore conditions` will show all of 
the ignore conditions of the specified dependency
   - `@dependabot ignore this major version` will close this PR and stop 
Dependabot creating any more for this major version (unless you reopen the PR 
or upgrade to it yourself)
   - `@dependabot ignore this minor version` will close this PR and stop 
Dependabot creating any more for this minor version (unless you reopen the PR 
or upgrade to it yourself)
   - `@dependabot ignore this dependency` will close this PR and stop 
Dependabot creating any more for this dependency (unless you reopen the PR or 
upgrade to it yourself)
   
   
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to