pg 1.5.4-x86-mingw32 → 1.5.5-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cb0a982f2dc684acb292612e2555c1e10dab32c3e743eb6c370d73612b93f19c
4
- data.tar.gz: befc67f134a73e1e234d0b58318bd5287063a7d5f4cd822fbe04a564c726dcd4
3
+ metadata.gz: 1d864352c5b536a1e49ca58597b76fdd3c8de714772cb912b4caeaa943edc4f9
4
+ data.tar.gz: b37795332d824fe4c6eac6ec527cd39ae532a8f7b746ba72e9c85353a86fc126
5
5
  SHA512:
6
- metadata.gz: 42bd78d8c7bdb7eda00407d352fc7665b02ce6e2c9bb3d2a6b45fde2abc4e3300040ebe540e7acd1aec94bc4276c1d9aaef735a5fe95d881ba70d3a0ed2d27f2
7
- data.tar.gz: 570d3cf5b918a51853c09e7085578fc469d05520bec59942e5b2ce92a9c024214f2b2f9563469666b31eec9ad9eeb515427d841e6670d3b311e3f6fea8b1fd30
6
+ metadata.gz: 5a71db42b17ae29300123a8d20a873fa623f2c723071ccc67e68ba3e7343f3ed9e24b73156c70578e4b8732eddf553476a6415d31fc2a26180775b084c74fbc0
7
+ data.tar.gz: 58e7d9fe1a92db4b56b2aafddcd6aecac8584d12a7972b8a74108e2b4b3fa9d7a989e99dfeabf6db009a094bac7af768e229bb4f3ff4d1a2db407326c601c3ea
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/2.5/pg_ext.so CHANGED
Binary file
data/lib/2.6/pg_ext.so CHANGED
Binary file
data/lib/2.7/pg_ext.so CHANGED
Binary file
data/lib/3.0/pg_ext.so CHANGED
Binary file
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
@@ -1,2 +1,2 @@
1
- M�?����Y�q�6G���.P�
2
- D�����{#�bD%V`����42MR?��U���9�g! �!`<�u�+q�HJ�]�d���Uۄ��Ωr�@n9Ht}�{�9�@󤟨�;�El��'3U��fW9���ږ�� q'��_���ѕ�bC�$W�o���k���tnKS7�v�m{�r���b8�t��P~��䔑!�E�� E�|fnB��b��4��|�.�;W�*W �ux�V(��A�}���<�_ȇ4��?&lf
1
+ -Q"���]Peb%^�12]ӄ�@a#�$��ݥ�!L��[�v�q��Kc����M�ц���`\loP��,�������1���� Ȱ�7;*��5w�c�\��������8���Ps���K��-���^�5�f k�j�*W��:#���O�_���M �q����@n�^�$��^|��ҠI����5b�ZA(��I�c �*�|�����d��Z63��ځ�aA���혼��(
2
+ XTr���<���(p/Y
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: x86-mingw32
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
@@ -161,6 +162,7 @@ files:
161
162
  - lib/3.0/pg_ext.so
162
163
  - lib/3.1/pg_ext.so
163
164
  - lib/3.2/pg_ext.so
165
+ - lib/3.3/pg_ext.so
164
166
  - lib/pg.rb
165
167
  - lib/pg/basic_type_map_based_on_result.rb
166
168
  - lib/pg/basic_type_map_for_queries.rb
@@ -219,10 +221,6 @@ files:
219
221
  - sample/test_binary_values.rb
220
222
  - sample/wal_shipper.rb
221
223
  - sample/warehouse_partitions.rb
222
- - translation/.po4a-version
223
- - translation/po/all.pot
224
- - translation/po/ja.po
225
- - translation/po4a.cfg
226
224
  homepage: https://github.com/ged/ruby-pg
227
225
  licenses:
228
226
  - BSD-2-Clause
@@ -246,7 +244,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
246
244
  version: '2.5'
247
245
  - - "<"
248
246
  - !ruby/object:Gem::Version
249
- version: 3.3.dev
247
+ version: 3.4.dev
250
248
  required_rubygems_version: !ruby/object:Gem::Requirement
251
249
  requirements:
252
250
  - - ">="
metadata.gz.sig CHANGED
@@ -1 +1 @@
1
- 5}B�����\,Ձvf���`�#E���gw���Kӗ,�n8�14K���%"��إYzM��o�1��L��Iռ��v z��W�ei��z\ ����s��ՌG�w�B��/^m�'�wW�ɍ�:Gcf5��P�"(��{C����g>���c<�8l-n���a�!��F�5G�o^P�H�L5���7��S���M��Q6���/���Ӿ$S\��Ҷ�%&���U��K댄z7-+��> Č�[/j� D�M>�p
1
+ 0�MN@&9��� ����Xf���
@@ -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.