pg 1.5.4-x64-mingw-ucrt → 1.5.5-x64-mingw-ucrt

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a39fac4adcfa173e4451e025e5e378cc2b3c2954c3287179c511637f23cdec55
4
- data.tar.gz: 9bc79a7fe9c636851dbede561e87291bef5ca878c197b9667e79a73064e802af
3
+ metadata.gz: 05c9831af5fa3ccce58ccc4bf70bc8788fdb512995fbfc3c6085e08dda8005bc
4
+ data.tar.gz: 5c471455a834f80a9abd8332577c48d0ddb3d4adaf27e77a6f6011df2b93965d
5
5
  SHA512:
6
- metadata.gz: fe9fb9fbf22f135b526dd3ff480b3b645af70d661041022b6c941d33249b385754084b7fbc47a024c332948de57fb20ca7a7387e14c8a3bec1a4fa7a65f4e1f0
7
- data.tar.gz: 4cec980ca21884ae15c8ac00d12c71a015466ccc1b1bc9d95725fc2b2414519acf84dfaa7cc974e2f75ac60e27156139f2f35a62bb8f2e66464e74578ba73b03
6
+ metadata.gz: e98c5c9972fd5061a22c94ce8a5a877838a23a1ad06221b9da3caddb7025b3e3fe8720c3fdd0b21d0bb1b9a1c736df7c114ac0299bfd79c659f1426b8a2d8c04
7
+ data.tar.gz: 723ab81defdccec107c1b69e23db507a3787e3f29e6c8bf518d81e99197fd7cc8170d0da065f2b0fb5882f5a8b33e213e42b564332affdaabc2701f45175acbb
checksums.yaml.gz.sig CHANGED
Binary file
@@ -9,7 +9,7 @@ on:
9
9
 
10
10
  jobs:
11
11
  job_build_x64:
12
- name: build
12
+ name: Build
13
13
  runs-on: ubuntu-latest
14
14
  strategy:
15
15
  fail-fast: false
@@ -23,7 +23,7 @@ jobs:
23
23
  - name: Set up Ruby
24
24
  uses: ruby/setup-ruby@v1
25
25
  with:
26
- ruby-version: "3.2"
26
+ ruby-version: "3.3"
27
27
  - run: bundle install
28
28
 
29
29
  - name: Create a dummy cert to satisfy the build
@@ -43,18 +43,18 @@ jobs:
43
43
  path: pkg/*.gem
44
44
 
45
45
  job_test_binary:
46
- name: Test on Windows
46
+ name: Test
47
47
  needs: job_build_x64
48
48
  strategy:
49
49
  fail-fast: false
50
50
  matrix:
51
51
  include:
52
52
  - os: windows-latest
53
- ruby: "3.2"
53
+ ruby: "3.3"
54
54
  platform: "x64-mingw-ucrt"
55
- PGVERSION: 15.1-1-windows-x64
55
+ PGVERSION: 16.0-1-windows-x64
56
56
  - os: windows-latest
57
- ruby: "3.1.3-1"
57
+ ruby: "3.1.4-1"
58
58
  platform: "x86-mingw32"
59
59
  PGVERSION: 10.20-1-windows
60
60
  - os: windows-latest
@@ -9,7 +9,7 @@ on:
9
9
 
10
10
  jobs:
11
11
  job_build_gem:
12
- name: build
12
+ name: Build
13
13
  runs-on: ubuntu-latest
14
14
  steps:
15
15
  - uses: actions/checkout@v3
@@ -28,7 +28,7 @@ jobs:
28
28
  path: "*.gem"
29
29
 
30
30
  job_test_gem:
31
- name: Test built gem
31
+ name: Test
32
32
  needs: job_build_gem
33
33
  strategy:
34
34
  fail-fast: false
@@ -36,19 +36,19 @@ jobs:
36
36
  include:
37
37
  - os: windows
38
38
  ruby: "head"
39
- PGVERSION: 15.1-1-windows-x64
40
- PGVER: "15"
39
+ PGVERSION: 16.0-1-windows-x64
40
+ PGVER: "16"
41
41
  - os: windows
42
42
  ruby: "2.5"
43
43
  PGVERSION: 9.4.26-1-windows-x64
44
44
  PGVER: "9.4"
45
45
  - os: windows
46
46
  ruby: "mswin"
47
- PGVERSION: 15.1-1-windows-x64
48
- PGVER: "15"
47
+ PGVERSION: 16.0-1-windows-x64
48
+ PGVER: "16"
49
49
  - os: ubuntu
50
50
  ruby: "head"
51
- PGVER: "15"
51
+ PGVER: "16"
52
52
  - os: ubuntu
53
53
  ruby: "3.2"
54
54
  PGVER: "12"
@@ -61,11 +61,11 @@ jobs:
61
61
  PGVER: "13"
62
62
  - os: ubuntu
63
63
  ruby: "truffleruby-head"
64
- PGVER: "15"
64
+ PGVER: "16"
65
65
  - os: macos
66
66
  ruby: "head"
67
- PGVERSION: 15.1-1-osx
68
- PGVER: "15"
67
+ PGVERSION: 16.0-1-osx
68
+ PGVER: "16"
69
69
 
70
70
  runs-on: ${{ matrix.os }}-${{ matrix.os_ver || 'latest' }}
71
71
  env:
data/History.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## v1.5.5 [2024-02-15] Lars Kanis <lars@greiz-reinsdorf.de>
2
+
3
+ - Explicitly retype timespec fields to int64_t to fix compatibility with 32bit arches. [#547](https://github.com/ged/ruby-pg/pull/547)
4
+ - Fix possible buffer overflows in PG::BinaryDecoder::CopyRow on 32 bit systems. [#548](https://github.com/ged/ruby-pg/pull/548)
5
+ - Add binary Windows gems for Ruby 3.3.
6
+ - Update Windows fat binary gem to OpenSSL-3.2.1 and PostgreSQL-16.2.
7
+
8
+
1
9
  ## v1.5.4 [2023-09-01] Lars Kanis <lars@greiz-reinsdorf.de>
2
10
 
3
11
  - Fix compiling the pg extension with MSVC 2022. [#535](https://github.com/ged/ruby-pg/pull/535)
data/Rakefile CHANGED
@@ -1,5 +1,8 @@
1
1
  # -*- rake -*-
2
2
 
3
+ # Enable english error messages, as some specs depend on them
4
+ ENV["LANG"] = "C"
5
+
3
6
  require 'rbconfig'
4
7
  require 'pathname'
5
8
  require 'tmpdir'
@@ -91,7 +94,7 @@ end
91
94
 
92
95
  desc "Update list of server error codes"
93
96
  task :update_error_codes do
94
- URL_ERRORCODES_TXT = "http://git.postgresql.org/gitweb/?p=postgresql.git;a=blob_plain;f=src/backend/utils/errcodes.txt;hb=refs/tags/REL_15_0"
97
+ URL_ERRORCODES_TXT = "http://git.postgresql.org/gitweb/?p=postgresql.git;a=blob_plain;f=src/backend/utils/errcodes.txt;hb=refs/tags/REL_16_0"
95
98
 
96
99
  ERRORCODES_TXT = "ext/errorcodes.txt"
97
100
  sh "wget #{URL_ERRORCODES_TXT.inspect} -O #{ERRORCODES_TXT.inspect} || curl #{URL_ERRORCODES_TXT.inspect} -o #{ERRORCODES_TXT.inspect}"
data/Rakefile.cross CHANGED
@@ -31,8 +31,8 @@ class CrossLibrary < OpenStruct
31
31
  self.host_platform = toolchain
32
32
 
33
33
  # Cross-compilation constants
34
- self.openssl_version = ENV['OPENSSL_VERSION'] || '3.1.2'
35
- self.postgresql_version = ENV['POSTGRESQL_VERSION'] || '15.4'
34
+ self.openssl_version = ENV['OPENSSL_VERSION'] || '3.2.1'
35
+ self.postgresql_version = ENV['POSTGRESQL_VERSION'] || '16.2'
36
36
 
37
37
  # Check if symlinks work in the current working directory.
38
38
  # This fails, if rake-compiler-dock is running on a Windows box.
@@ -184,6 +184,7 @@ class CrossLibrary < OpenStruct
184
184
  "--host=#{host_platform}",
185
185
  '--with-openssl',
186
186
  '--without-zlib',
187
+ '--without-icu',
187
188
  ]
188
189
 
189
190
  chdir( static_postgresql_builddir ) do
@@ -290,7 +291,7 @@ CrossLibraries.each do |xlib|
290
291
  RakeCompilerDock.sh <<-EOT, platform: platform
291
292
  (cp build/gem/gem-*.pem ~/.gem/ || true) &&
292
293
  bundle install --local &&
293
- rake native:#{platform} pkg/#{$gem_spec.full_name}-#{platform}.gem MAKE="make -j`nproc`" RUBY_CC_VERSION=3.2.0:3.1.0:3.0.0:2.7.0:2.6.0:2.5.0
294
+ rake native:#{platform} pkg/#{$gem_spec.full_name}-#{platform}.gem MAKE="make -j`nproc`" RUBY_CC_VERSION=3.3.0:3.2.0:3.1.0:3.0.0:2.7.0:2.6.0:2.5.0
294
295
  EOT
295
296
  end
296
297
  desc "Build the windows binary gems"
@@ -0,0 +1,20 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIDLjCCAhagAwIBAgIBCzANBgkqhkiG9w0BAQsFADA9MQ4wDAYDVQQDDAVrYW5p
3
+ czEXMBUGCgmSJomT8ixkARkWB2NvbWNhcmQxEjAQBgoJkiaJk/IsZAEZFgJkZTAe
4
+ Fw0yMzA0MjgwOTI0NDhaFw0yNDA0MjcwOTI0NDhaMD0xDjAMBgNVBAMMBWthbmlz
5
+ MRcwFQYKCZImiZPyLGQBGRYHY29tY2FyZDESMBAGCgmSJomT8ixkARkWAmRlMIIB
6
+ IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApop+rNmg35bzRugZ21VMGqI6
7
+ HGzPLO4VHYncWn/xmgPU/ZMcZdfj6MzIaZJ/czXyt4eHpBk1r8QOV3gBXnRXEjVW
8
+ 9xi+EdVOkTV2/AVFKThcbTAQGiF/bT1n2M+B1GTybRzMg6hyhOJeGPqIhLfJEpxn
9
+ lJi4+ENAVT4MpqHEAGB8yFoPC0GqiOHQsdHxQV3P3c2OZqG+yJey74QtwA2tLcLn
10
+ Q53c63+VLGsOjODl1yPn/2ejyq8qWu6ahfTxiIlSar2UbwtaQGBDFdb2CXgEufXT
11
+ L7oaPxlmj+Q2oLOfOnInd2Oxop59HoJCQPsg8f921J43NCQGA8VHK6paxIRDLQID
12
+ AQABozkwNzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUvgTdT7fe
13
+ x17ugO3IOsjEJwW7KP4wDQYJKoZIhvcNAQELBQADggEBACAxNXwfMGG7paZjnG/c
14
+ smdi/ocW2GmCNtILaSzDZqlD5LoA68MiO7u5vwWyBaDJ6giUB330VJoGRbWMxvxN
15
+ JU6Bnwa4yYp9YtF91wYIi7FXwIrCPKd9bk3bf4M5wECdsv+zvVceq2zRXqD7fci8
16
+ 1LRG8ort/f4TgaT7B4aNwOaabA2UT6u0FGeglqxLkhir86MY3QQyBfJZUoTKWGkz
17
+ S9a7GXsYpe+8HMOaE4+SZp8SORKPgATND5m/4VdzuO59VXjE5UP7QpXigbxAt7H7
18
+ ciK5Du2ZDhowmWzZwNzR7VvVmfAK6RQJlRB03VkkQRWGld5yApOrYDne6WbD8kE0
19
+ uM8=
20
+ -----END CERTIFICATE-----
data/ext/errorcodes.txt CHANGED
@@ -2,7 +2,7 @@
2
2
  # errcodes.txt
3
3
  # PostgreSQL error codes
4
4
  #
5
- # Copyright (c) 2003-2022, PostgreSQL Global Development Group
5
+ # Copyright (c) 2003-2023, PostgreSQL Global Development Group
6
6
  #
7
7
  # This list serves as the basis for generating source files containing error
8
8
  # codes. It is kept in a common format to make sure all these source files have
@@ -185,7 +185,7 @@ pg_bin_enc_timestamp(t_pg_coder *this, VALUE value, char *out, VALUE *intermedia
185
185
  ts = rb_time_timespec(*intermediate);
186
186
  /* PostgreSQL's timestamp is based on year 2000 and Ruby's time is based on 1970.
187
187
  * Adjust the 30 years difference. */
188
- timestamp = (ts.tv_sec - 10957L * 24L * 3600L) * 1000000 + (ts.tv_nsec / 1000);
188
+ timestamp = ((int64_t)ts.tv_sec - 10957L * 24L * 3600L) * 1000000 + ((int64_t)ts.tv_nsec / 1000);
189
189
 
190
190
  if( this->flags & PG_CODER_TIMESTAMP_DB_LOCAL ) {
191
191
  /* send as local time */
data/ext/pg_copy_coder.c CHANGED
@@ -795,26 +795,26 @@ pg_bin_dec_copy_row(t_pg_coder *conv, const char *input_line, int len, int _tupl
795
795
  cur_ptr = input_line;
796
796
  line_end_ptr = input_line + len;
797
797
 
798
- if (cur_ptr + 11 <= line_end_ptr && memcmp(cur_ptr, BinarySignature, 11) == 0){
798
+ if (line_end_ptr - cur_ptr >= 11 && memcmp(cur_ptr, BinarySignature, 11) == 0){
799
799
  /* binary COPY header signature detected -> just drop it */
800
800
  int ext_bytes;
801
801
  cur_ptr += 11;
802
802
 
803
803
  /* read flags */
804
- if (cur_ptr + 4 > line_end_ptr) goto length_error;
804
+ if (line_end_ptr - cur_ptr < 4 ) goto length_error;
805
805
  cur_ptr += 4;
806
806
 
807
807
  /* read header extensions */
808
- if (cur_ptr + 4 > line_end_ptr) goto length_error;
808
+ if (line_end_ptr - cur_ptr < 4 ) goto length_error;
809
809
  ext_bytes = read_nbo32(cur_ptr);
810
810
  if (ext_bytes < 0) goto length_error;
811
811
  cur_ptr += 4;
812
- if (cur_ptr + ext_bytes > line_end_ptr) goto length_error;
812
+ if (line_end_ptr - cur_ptr < ext_bytes ) goto length_error;
813
813
  cur_ptr += ext_bytes;
814
814
  }
815
815
 
816
816
  /* read row header */
817
- if (cur_ptr + 2 > line_end_ptr) goto length_error;
817
+ if (line_end_ptr - cur_ptr < 2 ) goto length_error;
818
818
  nfields = read_nbo16(cur_ptr);
819
819
  cur_ptr += 2;
820
820
 
@@ -830,7 +830,7 @@ pg_bin_dec_copy_row(t_pg_coder *conv, const char *input_line, int len, int _tupl
830
830
  VALUE field_value;
831
831
 
832
832
  /* read field size */
833
- if (cur_ptr + 4 > line_end_ptr) goto length_error;
833
+ if (line_end_ptr - cur_ptr < 4 ) goto length_error;
834
834
  input_len = read_nbo32(cur_ptr);
835
835
  cur_ptr += 4;
836
836
 
@@ -839,7 +839,7 @@ pg_bin_dec_copy_row(t_pg_coder *conv, const char *input_line, int len, int _tupl
839
839
  /* NULL indicator */
840
840
  rb_ary_push(array, Qnil);
841
841
  } else {
842
- if (cur_ptr + input_len > line_end_ptr) goto length_error;
842
+ if (line_end_ptr - cur_ptr < input_len ) goto length_error;
843
843
 
844
844
  /* copy input data to field_str */
845
845
  PG_RB_STR_ENSURE_CAPA( field_str, input_len, output_ptr, end_capa_ptr );
data/lib/3.1/pg_ext.so CHANGED
Binary file
data/lib/3.2/pg_ext.so CHANGED
Binary file
data/lib/3.3/pg_ext.so ADDED
Binary file
data/lib/pg/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module PG
2
2
  # Library version
3
- VERSION = '1.5.4'
3
+ VERSION = '1.5.5'
4
4
  end
Binary file
data/pg.gemspec CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
23
23
  # Specify which files should be added to the gem when it is released.
24
24
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
25
25
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
26
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
26
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features|translation)/}) }
27
27
  end
28
28
  spec.extensions = ["ext/extconf.rb"]
29
29
  spec.require_paths = ["lib"]
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.4
4
+ version: 1.5.5
5
5
  platform: x64-mingw-ucrt
6
6
  authors:
7
7
  - Michael Granger
@@ -30,7 +30,7 @@ cert_chain:
30
30
  ciK5Du2ZDhowmWzZwNzR7VvVmfAK6RQJlRB03VkkQRWGld5yApOrYDne6WbD8kE0
31
31
  uM8=
32
32
  -----END CERTIFICATE-----
33
- date: 2023-09-01 00:00:00.000000000 Z
33
+ date: 2024-02-15 00:00:00.000000000 Z
34
34
  dependencies: []
35
35
  description: Pg is the Ruby interface to the PostgreSQL RDBMS. It works with PostgreSQL
36
36
  9.3 and later.
@@ -122,6 +122,7 @@ files:
122
122
  - Rakefile
123
123
  - Rakefile.cross
124
124
  - certs/ged.pem
125
+ - certs/kanis@comcard.de.pem
125
126
  - certs/larskanis-2022.pem
126
127
  - certs/larskanis-2023.pem
127
128
  - ext/errorcodes.def
@@ -157,6 +158,7 @@ files:
157
158
  - ext/vc/pg_19/pg_19.vcproj
158
159
  - lib/3.1/pg_ext.so
159
160
  - lib/3.2/pg_ext.so
161
+ - lib/3.3/pg_ext.so
160
162
  - lib/pg.rb
161
163
  - lib/pg/basic_type_map_based_on_result.rb
162
164
  - lib/pg/basic_type_map_for_queries.rb
@@ -215,10 +217,6 @@ files:
215
217
  - sample/test_binary_values.rb
216
218
  - sample/wal_shipper.rb
217
219
  - sample/warehouse_partitions.rb
218
- - translation/.po4a-version
219
- - translation/po/all.pot
220
- - translation/po/ja.po
221
- - translation/po4a.cfg
222
220
  homepage: https://github.com/ged/ruby-pg
223
221
  licenses:
224
222
  - BSD-2-Clause
@@ -242,7 +240,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
242
240
  version: '3.1'
243
241
  - - "<"
244
242
  - !ruby/object:Gem::Version
245
- version: 3.3.dev
243
+ version: 3.4.dev
246
244
  required_rubygems_version: !ruby/object:Gem::Requirement
247
245
  requirements:
248
246
  - - ">="
metadata.gz.sig CHANGED
Binary file
@@ -1,7 +0,0 @@
1
- po4a version 0.68.
2
- Written by Martin Quinson and Denis Barbier.
3
-
4
- Copyright © 2002-2022 Software in the Public Interest, Inc.
5
- This is free software; see source code for copying
6
- conditions. There is NO warranty; not even for
7
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.