confium 0.3.4-aarch64-linux → 0.5.0-aarch64-linux

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.
data/lib/confium.rb CHANGED
@@ -18,11 +18,31 @@ begin
18
18
  # 3.1 and 3.2 get exact-minor builds while 3.3 covers 3.3+).
19
19
  # Source builds install the extension flat, without a version
20
20
  # directory.
21
- window = Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.3') ? '3.3' : RUBY_VERSION[/\A\d+\.\d+/]
22
- begin
23
- require_relative "confium_native/#{window}/confium_native"
24
- rescue LoadError
21
+ minor = RUBY_VERSION[/\A\d+\.\d+/]
22
+ dlext = RbConfig::CONFIG['DLEXT'] || 'so'
23
+ major = RUBY_VERSION[/\A\d+/].to_i
24
+ # 3.3-window binaries load on 3.3/3.4 only; a cross-major load
25
+ # (4.x) fails TypedData class checks, so the fallback applies
26
+ # within the 3.x line alone.
27
+ candidates = major == 3 && Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.3') ? [minor, '3.3'].uniq : [minor]
28
+ # Windows gems carry an exact-minor window per Ruby (a PE import
29
+ # names the version-specific ruby DLL); other platforms share the
30
+ # 3.3 window for 3.3+. Prefer the exact minor when present.
31
+ windowed = candidates.filter_map do |w|
32
+ path = File.expand_path("confium_native/#{w}/confium_native.#{dlext}", __dir__ || '.')
33
+ w if File.exist?(path)
34
+ end
35
+ if windowed.empty?
25
36
  require_relative 'confium_native/confium_native'
37
+ else
38
+ windowed.each do |w|
39
+ require_relative "confium_native/#{w}/confium_native"
40
+ break
41
+ rescue LoadError => e
42
+ # A present-but-unloadable binary raises its real dlopen
43
+ # error once every window has been tried.
44
+ raise e if w == windowed.last
45
+ end
26
46
  end
27
47
  rescue LoadError => e
28
48
  warn 'confium: native extension not built — run `bundle exec rake compile`'
@@ -76,7 +96,8 @@ require_relative 'confium/transparency'
76
96
  # of that module.
77
97
  require_relative 'confium/audit'
78
98
 
79
- # Eager-load the TC ShareFile Ruby companion. The native extension
80
- # defines `Confium::TC` as a Ruby module; this file adds the
81
- # `ShareFile` class for filesystem-backed share persistence.
82
- require_relative 'confium/tc/share_file'
99
+ # Eager-load the TC namespace file: `Confium::TC` is native-defined,
100
+ # so an autoload here would never fire (the PKI pattern). It
101
+ # registers the pure-Ruby Session/Coordinator companions and the
102
+ # ShareFile class for filesystem-backed share persistence.
103
+ require_relative 'confium/tc'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: confium
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.5.0
5
5
  platform: aarch64-linux
6
6
  authors:
7
7
  - Ribose Open
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-08-23 00:00:00.000000000 Z
11
+ date: 2026-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -99,6 +99,7 @@ files:
99
99
  - confium.gemspec
100
100
  - lib/confium.rb
101
101
  - lib/confium/audit.rb
102
+ - lib/confium/audit/otlp_sink.rb
102
103
  - lib/confium/cfm.rb
103
104
  - lib/confium/composite.rb
104
105
  - lib/confium/crypto.rb
@@ -126,6 +127,7 @@ files:
126
127
  - lib/confium/secure_bytes.rb
127
128
  - lib/confium/tc.rb
128
129
  - lib/confium/tc/coordinator.rb
130
+ - lib/confium/tc/network_coordinator.rb
129
131
  - lib/confium/tc/session.rb
130
132
  - lib/confium/tc/session_stub.rb
131
133
  - lib/confium/tc/share_file.rb
@@ -135,6 +137,8 @@ files:
135
137
  - lib/confium_native/3.1/confium_native.so
136
138
  - lib/confium_native/3.2/confium_native.so
137
139
  - lib/confium_native/3.3/confium_native.so
140
+ - lib/confium_native/3.4/confium_native.so
141
+ - lib/confium_native/4.0/confium_native.so
138
142
  homepage: https://www.confium.org
139
143
  licenses:
140
144
  - BSD-2-Clause