diff --git a/go.mod b/go.mod index 8587477462a..1981bc62d38 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/google/certificate-transparency-go v1.3.2-0.20250507091337-0eddb39e94f8 github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.1 github.com/jmhodges/clock v1.2.0 - github.com/letsencrypt/borp v0.0.0-20240620175310-a78493c6e2bd + github.com/letsencrypt/borp v0.0.0-20251118150929-89c6927051ae github.com/letsencrypt/challtestsrv v1.3.3 github.com/letsencrypt/pkcs11key/v4 v4.0.0 github.com/letsencrypt/validator/v10 v10.0.0-20230215210743-a0c7dfc17158 diff --git a/go.sum b/go.sum index 86eb801d34c..4a7861601db 100644 --- a/go.sum +++ b/go.sum @@ -149,8 +149,8 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/letsencrypt/borp v0.0.0-20240620175310-a78493c6e2bd h1:3c+LdlAOEcW1qmG8gtkMCyAEoslmj6XCmniB+926kMM= -github.com/letsencrypt/borp v0.0.0-20240620175310-a78493c6e2bd/go.mod h1:gMSMCNKhxox/ccR923EJsIvHeVVYfCABGbirqa0EwuM= +github.com/letsencrypt/borp v0.0.0-20251118150929-89c6927051ae h1:yFuF5yRIwaandcuNMi1A4he4FMWJsGRv38rsizIaxJA= +github.com/letsencrypt/borp v0.0.0-20251118150929-89c6927051ae/go.mod h1:gMSMCNKhxox/ccR923EJsIvHeVVYfCABGbirqa0EwuM= github.com/letsencrypt/challtestsrv v1.3.3 h1:ki02PH84fo6IOe/A+zt1/kfRBp2JrtauEaa5xwjg4/Q= github.com/letsencrypt/challtestsrv v1.3.3/go.mod h1:Ur4e4FvELUXLGhkMztHOsPIsvGxD/kzSJninOrkM+zc= github.com/letsencrypt/pkcs11key/v4 v4.0.0 h1:qLc/OznH7xMr5ARJgkZCCWk+EomQkiNTOoOF5LAgagc= diff --git a/sa/sa.go b/sa/sa.go index e1f70ed9689..698adced9da 100644 --- a/sa/sa.go +++ b/sa/sa.go @@ -1308,7 +1308,7 @@ func (ssa *SQLStorageAuthority) PauseIdentifiers(ctx context.Context, req *sapb. // Not currently or previously paused, insert a new pause record. err = tx.Insert(ctx, &pausedModel{ RegistrationID: req.RegistrationID, - PausedAt: ssa.clk.Now().Truncate(time.Second), + PausedAt: ssa.clk.Now(), identifierModel: identifierModel{ Type: ident.Type, Value: ident.Value, @@ -1341,7 +1341,7 @@ func (ssa *SQLStorageAuthority) PauseIdentifiers(ctx context.Context, req *sapb. identifierType = ? AND identifierValue = ? AND unpausedAt IS NOT NULL`, - ssa.clk.Now().Truncate(time.Second), + ssa.clk.Now(), req.RegistrationID, ident.Type, ident.Value, diff --git a/vendor/github.com/letsencrypt/borp/transaction.go b/vendor/github.com/letsencrypt/borp/transaction.go index 27eecc43f31..33e27179653 100644 --- a/vendor/github.com/letsencrypt/borp/transaction.go +++ b/vendor/github.com/letsencrypt/borp/transaction.go @@ -51,6 +51,11 @@ func (t *Transaction) Select(ctx context.Context, i interface{}, query string, a expandSliceArgs(&query, args...) } + args, err := t.dbmap.convertArgs(args...) + if err != nil { + return nil, err + } + return hookedselect(ctx, t.dbmap, t, i, query, args...) } @@ -60,6 +65,11 @@ func (t *Transaction) ExecContext(ctx context.Context, query string, args ...int expandSliceArgs(&query, args...) } + args, err := t.dbmap.convertArgs(args...) + if err != nil { + return nil, err + } + if t.dbmap.logger != nil { now := time.Now() defer t.dbmap.trace(now, query, args...) @@ -73,6 +83,11 @@ func (t *Transaction) SelectInt(ctx context.Context, query string, args ...inter expandSliceArgs(&query, args...) } + args, err := t.dbmap.convertArgs(args...) + if err != nil { + return 0, err + } + return SelectInt(ctx, t, query, args...) } @@ -82,6 +97,11 @@ func (t *Transaction) SelectNullInt(ctx context.Context, query string, args ...i expandSliceArgs(&query, args...) } + args, err := t.dbmap.convertArgs(args...) + if err != nil { + return sql.NullInt64{}, err + } + return SelectNullInt(ctx, t, query, args...) } @@ -91,6 +111,11 @@ func (t *Transaction) SelectFloat(ctx context.Context, query string, args ...int expandSliceArgs(&query, args...) } + args, err := t.dbmap.convertArgs(args...) + if err != nil { + return 0, err + } + return SelectFloat(ctx, t, query, args...) } @@ -100,6 +125,11 @@ func (t *Transaction) SelectNullFloat(ctx context.Context, query string, args .. expandSliceArgs(&query, args...) } + args, err := t.dbmap.convertArgs(args...) + if err != nil { + return sql.NullFloat64{}, err + } + return SelectNullFloat(ctx, t, query, args...) } @@ -109,6 +139,11 @@ func (t *Transaction) SelectStr(ctx context.Context, query string, args ...inter expandSliceArgs(&query, args...) } + args, err := t.dbmap.convertArgs(args...) + if err != nil { + return "", err + } + return SelectStr(ctx, t, query, args...) } @@ -118,6 +153,11 @@ func (t *Transaction) SelectNullStr(ctx context.Context, query string, args ...i expandSliceArgs(&query, args...) } + args, err := t.dbmap.convertArgs(args...) + if err != nil { + return sql.NullString{}, err + } + return SelectNullStr(ctx, t, query, args...) } @@ -127,6 +167,11 @@ func (t *Transaction) SelectOne(ctx context.Context, holder interface{}, query s expandSliceArgs(&query, args...) } + args, err := t.dbmap.convertArgs(args...) + if err != nil { + return err + } + return SelectOne(ctx, t.dbmap, t, holder, query, args...) } @@ -211,6 +256,11 @@ func (t *Transaction) QueryRowContext(ctx context.Context, query string, args .. expandSliceArgs(&query, args...) } + args, err := t.dbmap.convertArgs(args...) + if err != nil { + return nil + } + if t.dbmap.logger != nil { now := time.Now() defer t.dbmap.trace(now, query, args...) @@ -223,6 +273,11 @@ func (t *Transaction) QueryContext(ctx context.Context, q string, args ...interf expandSliceArgs(&q, args...) } + args, err := t.dbmap.convertArgs(args...) + if err != nil { + return nil, err + } + if t.dbmap.logger != nil { now := time.Now() defer t.dbmap.trace(now, q, args...) diff --git a/vendor/modules.txt b/vendor/modules.txt index 95e5a1e09f5..dfcf6f96877 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -205,7 +205,7 @@ github.com/grpc-ecosystem/grpc-gateway/v2/utilities # github.com/jmhodges/clock v1.2.0 ## explicit; go 1.17 github.com/jmhodges/clock -# github.com/letsencrypt/borp v0.0.0-20240620175310-a78493c6e2bd +# github.com/letsencrypt/borp v0.0.0-20251118150929-89c6927051ae ## explicit; go 1.20 github.com/letsencrypt/borp # github.com/letsencrypt/challtestsrv v1.3.3