Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit1a9abac

Browse files
committed
Merge remote-tracking branch 'origin/master' into time-overflow
2 parents76a1637 +f1c5c4f commit1a9abac

File tree

33 files changed

+216
-67
lines changed

33 files changed

+216
-67
lines changed

‎.github/workflows/ci.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,16 +73,18 @@ jobs:
7373
path:target
7474
key:check-wasm32-target-${{ runner.os }}-${{ steps.rust-version.outputs.version }}-${{ hashFiles('Cargo.lock') }}
7575
-run:cargo check --target wasm32-unknown-unknown --manifest-path tokio-postgres/Cargo.toml --no-default-features --features js
76+
env:
77+
RUSTFLAGS:--cfg getrandom_backend="wasm_js"
7678

7779
test:
7880
name:test
7981
runs-on:ubuntu-latest
8082
steps:
81-
-uses:actions/checkout@v3
83+
-uses:actions/checkout@v4
8284
-run:docker compose up -d
8385
-uses:sfackler/actions/rustup@master
8486
with:
85-
version:1.74.0
87+
version:1.75.0
8688
-run:echo "version=$(rustc --version)" >> $GITHUB_OUTPUT
8789
id:rust-version
8890
-uses:actions/cache@v3

‎docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
version:'2'
22
services:
33
postgres:
4-
image:postgres:14
4+
image:docker.io/postgres:17
55
ports:
66
-5433:5433
77
volumes:

‎postgres-native-tls/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ default = ["runtime"]
1616
runtime = ["tokio-postgres/runtime"]
1717

1818
[dependencies]
19-
native-tls ="0.2"
19+
native-tls ={version ="0.2",features = ["alpn"] }
2020
tokio ="1.0"
2121
tokio-native-tls ="0.3"
2222
tokio-postgres = {version ="0.7.11",path ="../tokio-postgres",default-features =false }

‎postgres-native-tls/src/lib.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
//! ```
5454
#![warn(rust_2018_idioms, clippy::all, missing_docs)]
5555

56+
use native_tls::TlsConnectorBuilder;
5657
use std::future::Future;
5758
use std::io;
5859
use std::pin::Pin;
@@ -180,3 +181,10 @@ where
180181
}
181182
}
182183
}
184+
185+
/// Set ALPN for `TlsConnectorBuilder`
186+
///
187+
/// This is required when using `sslnegotiation=direct`
188+
pubfnset_postgresql_alpn(builder:&mutTlsConnectorBuilder){
189+
builder.request_alpns(&["postgresql"]);
190+
}

‎postgres-native-tls/src/test.rs

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use tokio_postgres::tls::TlsConnect;
55

66
#[cfg(feature ="runtime")]
77
usecrate::MakeTlsConnector;
8-
usecrate::TlsConnector;
8+
usecrate::{set_postgresql_alpn,TlsConnector};
99

1010
asyncfnsmoke_test<T>(s:&str,tls:T)
1111
where
@@ -42,6 +42,21 @@ async fn require() {
4242
.await;
4343
}
4444

45+
#[tokio::test]
46+
asyncfndirect(){
47+
letmut builder = native_tls::TlsConnector::builder();
48+
builder.add_root_certificate(
49+
Certificate::from_pem(include_bytes!("../../test/server.crt")).unwrap(),
50+
);
51+
set_postgresql_alpn(&mut builder);
52+
let connector = builder.build().unwrap();
53+
smoke_test(
54+
"user=ssl_user dbname=postgres sslmode=require sslnegotiation=direct",
55+
TlsConnector::new(connector,"localhost"),
56+
)
57+
.await;
58+
}
59+
4560
#[tokio::test]
4661
asyncfnprefer(){
4762
let connector = native_tls::TlsConnector::builder()

‎postgres-openssl/src/lib.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ use openssl::hash::MessageDigest;
5353
use openssl::nid::Nid;
5454
#[cfg(feature ="runtime")]
5555
use openssl::ssl::SslConnector;
56-
use openssl::ssl::{self,ConnectConfiguration,SslRef};
56+
use openssl::ssl::{self,ConnectConfiguration,SslConnectorBuilder,SslRef};
5757
use openssl::x509::X509VerifyResult;
5858
use std::error::Error;
5959
use std::fmt::{self,Debug};
@@ -250,3 +250,10 @@ fn tls_server_end_point(ssl: &SslRef) -> Option<Vec<u8>> {
250250
};
251251
cert.digest(md).ok().map(|b| b.to_vec())
252252
}
253+
254+
/// Set ALPN for `SslConnectorBuilder`
255+
///
256+
/// This is required when using `sslnegotiation=direct`
257+
pubfnset_postgresql_alpn(builder:&mutSslConnectorBuilder) ->Result<(),ErrorStack>{
258+
builder.set_alpn_protos(b"\x0apostgresql")
259+
}

‎postgres-openssl/src/test.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,19 @@ async fn require() {
3737
.await;
3838
}
3939

40+
#[tokio::test]
41+
asyncfndirect(){
42+
letmut builder =SslConnector::builder(SslMethod::tls()).unwrap();
43+
builder.set_ca_file("../test/server.crt").unwrap();
44+
set_postgresql_alpn(&mut builder).unwrap();
45+
let ctx = builder.build();
46+
smoke_test(
47+
"user=ssl_user dbname=postgres sslmode=require sslnegotiation=direct",
48+
TlsConnector::new(ctx.configure().unwrap(),"localhost"),
49+
)
50+
.await;
51+
}
52+
4053
#[tokio::test]
4154
asyncfnprefer(){
4255
letmut builder =SslConnector::builder(SslMethod::tls()).unwrap();

‎postgres-protocol/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ readme = "../README.md"
1010

1111
[features]
1212
default = []
13-
js = ["getrandom/js"]
13+
js = ["getrandom/wasm_js"]
1414

1515
[dependencies]
1616
base64 ="0.22"
@@ -20,7 +20,7 @@ fallible-iterator = "0.2"
2020
hmac ="0.12"
2121
md-5 ="0.10"
2222
memchr ="2.0"
23-
rand ="0.8"
23+
rand ="0.9"
2424
sha2 ="0.10"
2525
stringprep ="0.1"
26-
getrandom = {version ="0.2",optional =true }
26+
getrandom = {version ="0.3",optional =true }

‎postgres-protocol/src/authentication/sasl.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,10 +136,10 @@ impl ScramSha256 {
136136
/// Constructs a new instance which will use the provided password for authentication.
137137
pubfnnew(password:&[u8],channel_binding:ChannelBinding) ->ScramSha256{
138138
// rand 0.5's ThreadRng is cryptographically secure
139-
letmut rng = rand::thread_rng();
139+
letmut rng = rand::rng();
140140
let nonce =(0..NONCE_LENGTH)
141141
.map(|_|{
142-
letmut v = rng.gen_range(0x21u8..0x7e);
142+
letmut v = rng.random_range(0x21u8..0x7e);
143143
if v ==0x2c{
144144
v =0x7e
145145
}

‎postgres-protocol/src/message/backend.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,7 @@ pub struct ColumnFormats<'a> {
475475
remaining:u16,
476476
}
477477

478-
impl<'a>FallibleIteratorforColumnFormats<'a>{
478+
implFallibleIteratorforColumnFormats<'_>{
479479
typeItem =u16;
480480
typeError = io::Error;
481481

@@ -557,7 +557,7 @@ pub struct DataRowRanges<'a> {
557557
remaining:u16,
558558
}
559559

560-
impl<'a>FallibleIteratorforDataRowRanges<'a>{
560+
implFallibleIteratorforDataRowRanges<'_>{
561561
typeItem =Option<Range<usize>>;
562562
typeError = io::Error;
563563

@@ -645,7 +645,7 @@ pub struct ErrorField<'a> {
645645
value:&'a[u8],
646646
}
647647

648-
impl<'a>ErrorField<'a>{
648+
implErrorField<'_>{
649649
#[inline]
650650
pubfntype_(&self) ->u8{
651651
self.type_
@@ -717,7 +717,7 @@ pub struct Parameters<'a> {
717717
remaining:u16,
718718
}
719719

720-
impl<'a>FallibleIteratorforParameters<'a>{
720+
implFallibleIteratorforParameters<'_>{
721721
typeItem =Oid;
722722
typeError = io::Error;
723723

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp