tebako-runtime 0.8.1 → 0.8.2
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 +4 -4
- data/README.adoc +0 -2
- data/lib/cert/cacert.pem.mozilla +94 -54
- data/lib/tebako-runtime/version.rb +1 -1
- data/lib/tebako-runtime.rb +0 -5
- data/tebako-runtime.gemspec +0 -3
- metadata +1 -48
- data/lib/tebako-runtime/adapters/ffi.rb +0 -40
- data/lib/tebako-runtime/adapters/fiddle.rb +0 -38
- data/lib/tebako-runtime/adapters/jing.rb +0 -68
- data/lib/tebako-runtime/adapters/mn2pdf.rb +0 -104
- data/lib/tebako-runtime/adapters/mnconvert.rb +0 -41
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d01b14a31f3d1da626501ec645ab1a8610029d326377e57e3f52addb5c0daef7
|
|
4
|
+
data.tar.gz: f98483c9334708b22e9a41b436a170b544b5c61fb7c146d3d5346b6243a34e56
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a126bed280710c51fc9d75c40abc23a405294f73abe4b9e9427e6f9862c30dfdd5d011bcdb0755f49ec91ed2f0d7c6d646fe4bd8f032349334097bedff1946de
|
|
7
|
+
data.tar.gz: 4946c5291223a108a69c57fac4e916d14e87bcda175a0d288edba1962cbdd154430dd1b688b6fcdebd043f803dfff3d14fb615bd11898f2af2ac6530bd717565
|
data/README.adoc
CHANGED
|
@@ -24,8 +24,6 @@ tebako-runtime (this Gem) provides support for known Gems that use system calls
|
|
|
24
24
|
== Supported Gems
|
|
25
25
|
|
|
26
26
|
* https://rubygems.org/gems/excavate/[excavate]
|
|
27
|
-
* https://rubygems.org/gems/fiddle[fiddle]
|
|
28
|
-
* https://rubygems.org/gems/ffi[ffi]
|
|
29
27
|
* https://rubygems.org/gems/jing[jing]
|
|
30
28
|
* https://rubygems.org/gems/mn2pdf[mn2pdf]
|
|
31
29
|
* https://rubygems.org/gems/mnconvert[mnconvert]
|
data/lib/cert/cacert.pem.mozilla
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
##
|
|
2
2
|
## Bundle of CA Root Certificates
|
|
3
3
|
##
|
|
4
|
-
## Certificate data from Mozilla as of: Thu
|
|
4
|
+
## Certificate data from Mozilla as of: Thu Aug 13 03:12:01 2026 GMT
|
|
5
5
|
##
|
|
6
6
|
## Find updated versions here: https://curl.se/docs/caextract.html
|
|
7
7
|
##
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
## Configure this file as the SSLCACertificateFile.
|
|
17
17
|
##
|
|
18
18
|
## Conversion done with mk-ca-bundle.pl version 1.33.
|
|
19
|
-
## SHA256:
|
|
19
|
+
## SHA256: 81b7f2576333a2e360e673f912d7b0b7a765d836c731003e348a46cac5d37198
|
|
20
20
|
##
|
|
21
21
|
|
|
22
22
|
|
|
@@ -37,37 +37,6 @@ FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA
|
|
|
37
37
|
U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
|
|
38
38
|
-----END CERTIFICATE-----
|
|
39
39
|
|
|
40
|
-
ePKI Root Certification Authority
|
|
41
|
-
=================================
|
|
42
|
-
-----BEGIN CERTIFICATE-----
|
|
43
|
-
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
-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
-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
-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
-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
-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
-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
-
lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv
|
|
51
|
-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
-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
-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
-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
-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
-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
-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
-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
-
ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0
|
|
60
|
-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
-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
-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
-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
-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
-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
-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
-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
-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
|
|
69
|
-
-----END CERTIFICATE-----
|
|
70
|
-
|
|
71
40
|
NetLock Arany (Class Gold) Főtanúsítvány
|
|
72
41
|
========================================
|
|
73
42
|
-----BEGIN CERTIFICATE-----
|
|
@@ -585,27 +554,6 @@ vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR
|
|
|
585
554
|
9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg==
|
|
586
555
|
-----END CERTIFICATE-----
|
|
587
556
|
|
|
588
|
-
Atos TrustedRoot 2011
|
|
589
|
-
=====================
|
|
590
|
-
-----BEGIN CERTIFICATE-----
|
|
591
|
-
MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU
|
|
592
|
-
cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4
|
|
593
|
-
MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG
|
|
594
|
-
A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV
|
|
595
|
-
hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr
|
|
596
|
-
54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+
|
|
597
|
-
DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320
|
|
598
|
-
HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR
|
|
599
|
-
z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R
|
|
600
|
-
l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ
|
|
601
|
-
bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB
|
|
602
|
-
CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h
|
|
603
|
-
k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh
|
|
604
|
-
TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9
|
|
605
|
-
61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G
|
|
606
|
-
3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed
|
|
607
|
-
-----END CERTIFICATE-----
|
|
608
|
-
|
|
609
557
|
QuoVadis Root CA 1 G3
|
|
610
558
|
=====================
|
|
611
559
|
-----BEGIN CERTIFICATE-----
|
|
@@ -2908,3 +2856,95 @@ CgYIKoZIzj0EAwQDgYsAMIGHAkIBLdqu9S54tma4n7Zwf2Z0z+yOfP7AAXmazlIC58PRDHpty7Ve
|
|
|
2908
2856
|
7hekm9sEdu4pKeiv+62sUvTXK9Z3hBC9xdIoaDQCQTV2WnXzkoYI9bIeCvZlC9p2x1L/Cx6AcCIw
|
|
2909
2857
|
wzPbGO2E14vs7dOoY4G1VnxHx1YwlGhza9IuqbnZLBwpvQy6uWWL
|
|
2910
2858
|
-----END CERTIFICATE-----
|
|
2859
|
+
|
|
2860
|
+
SECOM TLS RSA Root CA 2024
|
|
2861
|
+
==========================
|
|
2862
|
+
-----BEGIN CERTIFICATE-----
|
|
2863
|
+
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
|
|
2888
|
+
MLAh+wwKZfqb94nMeQ==
|
|
2889
|
+
-----END CERTIFICATE-----
|
|
2890
|
+
|
|
2891
|
+
SECOM TLS ECC Root CA 2024
|
|
2892
|
+
==========================
|
|
2893
|
+
-----BEGIN CERTIFICATE-----
|
|
2894
|
+
MIICTDCCAdGgAwIBAgIJAIF6LO+PI3pEMAoGCCqGSM49BAMDMFoxCzAJBgNVBAYTAkpQMSYwJAYD
|
|
2895
|
+
VQQKEx1TRUNPTSBUcnVzdCBTeXN0ZW1zIENvLiwgTHRkLjEjMCEGA1UEAxMaU0VDT00gVExTIEVD
|
|
2896
|
+
QyBSb290IENBIDIwMjQwHhcNMjQwMTMxMDU1MjM0WhcNNDkwMTE0MDU1MjM0WjBaMQswCQYDVQQG
|
|
2897
|
+
EwJKUDEmMCQGA1UEChMdU0VDT00gVHJ1c3QgU3lzdGVtcyBDby4sIEx0ZC4xIzAhBgNVBAMTGlNF
|
|
2898
|
+
Q09NIFRMUyBFQ0MgUm9vdCBDQSAyMDI0MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE7NzFMtu9dzQX
|
|
2899
|
+
SNC12fabk0+GlC5finB3R7XaZonRUd20aFiWObtuNBCLUZSfk6QXAE55BjEXsXQ/NG8yUqicXjsu
|
|
2900
|
+
9ksDK3JZBgCwLOVh6+nwJXTvso/dEj/GUYH5mBdoo2MwYTAdBgNVHQ4EFgQUO3YReyl04k4GTFaC
|
|
2901
|
+
QNAhL3qzydUwHwYDVR0jBBgwFoAUO3YReyl04k4GTFaCQNAhL3qzydUwDgYDVR0PAQH/BAQDAgEG
|
|
2902
|
+
MA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaQAwZgIxAN3ib8fi1pMYtAPjMilB5e5/H+t5
|
|
2903
|
+
CL0xPL+cZ5oTTZuSCjpAn1v7F/VAr8bFxQXAowIxAKsBVO1ACFp7skwzPvdv1EUY5a897WGLT4lb
|
|
2904
|
+
+bjxFAWyl8wDcZJdwGZ/pAHxt1AJ1g==
|
|
2905
|
+
-----END CERTIFICATE-----
|
|
2906
|
+
|
|
2907
|
+
Telia EC TLS Root CA v3
|
|
2908
|
+
=======================
|
|
2909
|
+
-----BEGIN CERTIFICATE-----
|
|
2910
|
+
MIICMjCCAbegAwIBAgIPAYvSIlRjTQSLbOVHH9K1MAoGCCqGSM49BAMDMEoxCzAJBgNVBAYTAlNF
|
|
2911
|
+
MRkwFwYDVQQKDBBUZWxpYSBDb21wYW55IEFCMSAwHgYDVQQDDBdUZWxpYSBFQyBUTFMgUm9vdCBD
|
|
2912
|
+
QSB2MzAeFw0yMzExMTUwODU1MjZaFw00ODA1MjMxMTAwMDBaMEoxCzAJBgNVBAYTAlNFMRkwFwYD
|
|
2913
|
+
VQQKDBBUZWxpYSBDb21wYW55IEFCMSAwHgYDVQQDDBdUZWxpYSBFQyBUTFMgUm9vdCBDQSB2MzB2
|
|
2914
|
+
MBAGByqGSM49AgEGBSuBBAAiA2IABMHIlhVDLbmFKUpW0iK4dpryT6emYOeS31JPwWnWPmkWRrAk
|
|
2915
|
+
TbPX40sQfHI9mpR7Rbktu3ngg6W+BBSXSechtMCnBmWXj/EaVlmV5cY1jD2HoTfhBQ3AacpCNMLJ
|
|
2916
|
+
K4NpZaNjMGEwHwYDVR0jBBgwFoAU1GToQ4g6cy/QGnGCNgtehd7H3kMwHQYDVR0OBBYEFNRk6EOI
|
|
2917
|
+
OnMv0BpxgjYLXoXex95DMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49
|
|
2918
|
+
BAMDA2kAMGYCMQCXAUdS/9bbJ8A1JYaGf/bWt/s7Ta0ot5Ulno8OjSNYRWQIlS4tVWldvTAVA7he
|
|
2919
|
+
OFgCMQCvKr8+Z2Rn+OBr5UHzlgBObpad1LuwNTRcdNgUJxIWadcki+UBLEi1/AURKV5md2M=
|
|
2920
|
+
-----END CERTIFICATE-----
|
|
2921
|
+
|
|
2922
|
+
Telia RSA TLS Root CA v3
|
|
2923
|
+
========================
|
|
2924
|
+
-----BEGIN CERTIFICATE-----
|
|
2925
|
+
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
|
|
2950
|
+
-----END CERTIFICATE-----
|
data/lib/tebako-runtime.rb
CHANGED
|
@@ -42,11 +42,6 @@ module TebakoRuntime
|
|
|
42
42
|
}.freeze
|
|
43
43
|
|
|
44
44
|
POST_REQUIRE_MAP = {
|
|
45
|
-
"ffi" => "tebako-runtime/adapters/ffi",
|
|
46
|
-
"fiddle" => "tebako-runtime/adapters/fiddle",
|
|
47
|
-
"jing" => "tebako-runtime/adapters/jing",
|
|
48
|
-
"mn2pdf" => "tebako-runtime/adapters/mn2pdf",
|
|
49
|
-
"mnconvert" => "tebako-runtime/adapters/mnconvert",
|
|
50
45
|
"net/http" => "tebako-runtime/adapters/net-http",
|
|
51
46
|
"sassc" => "tebako-runtime/adapters/sassc",
|
|
52
47
|
"sinatra" => "tebako-runtime/adapters/sinatra"
|
data/tebako-runtime.gemspec
CHANGED
|
@@ -62,9 +62,6 @@ Gem::Specification.new do |spec|
|
|
|
62
62
|
|
|
63
63
|
spec.add_development_dependency "ffi", "~> 1.15"
|
|
64
64
|
spec.add_development_dependency "fiddle", "~> 1.0"
|
|
65
|
-
spec.add_development_dependency "mn2pdf", "~> 1.79"
|
|
66
|
-
spec.add_development_dependency "mnconvert", "~> 1.54"
|
|
67
|
-
spec.add_development_dependency "ruby-jing", "~> 0.0.3"
|
|
68
65
|
spec.add_development_dependency "sassc", "~> 2.4"
|
|
69
66
|
spec.add_development_dependency "simplecov"
|
|
70
67
|
spec.add_development_dependency "simplecov-cobertura"
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tebako-runtime
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.8.
|
|
4
|
+
version: 0.8.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
@@ -93,48 +93,6 @@ dependencies:
|
|
|
93
93
|
- - "~>"
|
|
94
94
|
- !ruby/object:Gem::Version
|
|
95
95
|
version: '1.0'
|
|
96
|
-
- !ruby/object:Gem::Dependency
|
|
97
|
-
name: mn2pdf
|
|
98
|
-
requirement: !ruby/object:Gem::Requirement
|
|
99
|
-
requirements:
|
|
100
|
-
- - "~>"
|
|
101
|
-
- !ruby/object:Gem::Version
|
|
102
|
-
version: '1.79'
|
|
103
|
-
type: :development
|
|
104
|
-
prerelease: false
|
|
105
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
106
|
-
requirements:
|
|
107
|
-
- - "~>"
|
|
108
|
-
- !ruby/object:Gem::Version
|
|
109
|
-
version: '1.79'
|
|
110
|
-
- !ruby/object:Gem::Dependency
|
|
111
|
-
name: mnconvert
|
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
|
113
|
-
requirements:
|
|
114
|
-
- - "~>"
|
|
115
|
-
- !ruby/object:Gem::Version
|
|
116
|
-
version: '1.54'
|
|
117
|
-
type: :development
|
|
118
|
-
prerelease: false
|
|
119
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
120
|
-
requirements:
|
|
121
|
-
- - "~>"
|
|
122
|
-
- !ruby/object:Gem::Version
|
|
123
|
-
version: '1.54'
|
|
124
|
-
- !ruby/object:Gem::Dependency
|
|
125
|
-
name: ruby-jing
|
|
126
|
-
requirement: !ruby/object:Gem::Requirement
|
|
127
|
-
requirements:
|
|
128
|
-
- - "~>"
|
|
129
|
-
- !ruby/object:Gem::Version
|
|
130
|
-
version: 0.0.3
|
|
131
|
-
type: :development
|
|
132
|
-
prerelease: false
|
|
133
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
134
|
-
requirements:
|
|
135
|
-
- - "~>"
|
|
136
|
-
- !ruby/object:Gem::Version
|
|
137
|
-
version: 0.0.3
|
|
138
96
|
- !ruby/object:Gem::Dependency
|
|
139
97
|
name: sassc
|
|
140
98
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -208,11 +166,6 @@ files:
|
|
|
208
166
|
- bin/setup
|
|
209
167
|
- lib/cert/cacert.pem.mozilla
|
|
210
168
|
- lib/tebako-runtime.rb
|
|
211
|
-
- lib/tebako-runtime/adapters/ffi.rb
|
|
212
|
-
- lib/tebako-runtime/adapters/fiddle.rb
|
|
213
|
-
- lib/tebako-runtime/adapters/jing.rb
|
|
214
|
-
- lib/tebako-runtime/adapters/mn2pdf.rb
|
|
215
|
-
- lib/tebako-runtime/adapters/mnconvert.rb
|
|
216
169
|
- lib/tebako-runtime/adapters/net-http.rb
|
|
217
170
|
- lib/tebako-runtime/adapters/sassc.rb
|
|
218
171
|
- lib/tebako-runtime/adapters/sinatra.rb
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
# Copyright (c) 2023 [Ribose Inc](https://www.ribose.com).
|
|
4
|
-
# All rights reserved.
|
|
5
|
-
# This file is a part of the Tebako project.
|
|
6
|
-
#
|
|
7
|
-
# Redistribution and use in source and binary forms, with or without
|
|
8
|
-
# modification, are permitted provided that the following conditions
|
|
9
|
-
# are met:
|
|
10
|
-
# 1. Redistributions of source code must retain the above copyright
|
|
11
|
-
# notice, this list of conditions and the following disclaimer.
|
|
12
|
-
# 2. Redistributions in binary form must reproduce the above copyright
|
|
13
|
-
# notice, this list of conditions and the following disclaimer in the
|
|
14
|
-
# documentation and/or other materials provided with the distribution.
|
|
15
|
-
#
|
|
16
|
-
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
17
|
-
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
18
|
-
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
19
|
-
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
|
|
20
|
-
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
21
|
-
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
22
|
-
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
23
|
-
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
24
|
-
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
25
|
-
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
26
|
-
# POSSIBILITY OF SUCH DAMAGE.
|
|
27
|
-
|
|
28
|
-
require_relative "../memfs"
|
|
29
|
-
|
|
30
|
-
# Wrapper for FFI.map_library_name method
|
|
31
|
-
# If the library file to be mapped to is within memfs it is extracted to tmp folder
|
|
32
|
-
module FFI
|
|
33
|
-
# https://stackoverflow.com/questions/29907157/how-to-alias-a-class-method-in-rails-model/29907207
|
|
34
|
-
singleton_class.send(:alias_method, :map_library_name_orig, :map_library_name)
|
|
35
|
-
|
|
36
|
-
# http://tech.tulentsev.com/2012/02/ruby-how-to-override-class-method-with-a-module/
|
|
37
|
-
def self.map_library_name(lib)
|
|
38
|
-
map_library_name_orig(TebakoRuntime.extract_memfs(lib))
|
|
39
|
-
end
|
|
40
|
-
end
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
# Copyright (c) 2024 [Ribose Inc](https://www.ribose.com).
|
|
4
|
-
# All rights reserved.
|
|
5
|
-
# This file is a part of the Tebako project.
|
|
6
|
-
#
|
|
7
|
-
# Redistribution and use in source and binary forms, with or without
|
|
8
|
-
# modification, are permitted provided that the following conditions
|
|
9
|
-
# are met:
|
|
10
|
-
# 1. Redistributions of source code must retain the above copyright
|
|
11
|
-
# notice, this list of conditions and the following disclaimer.
|
|
12
|
-
# 2. Redistributions in binary form must reproduce the above copyright
|
|
13
|
-
# notice, this list of conditions and the following disclaimer in the
|
|
14
|
-
# documentation and/or other materials provided with the distribution.
|
|
15
|
-
#
|
|
16
|
-
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
17
|
-
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
18
|
-
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
19
|
-
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
|
|
20
|
-
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
21
|
-
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
22
|
-
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
23
|
-
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
24
|
-
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
25
|
-
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
26
|
-
# POSSIBILITY OF SUCH DAMAGE.
|
|
27
|
-
|
|
28
|
-
require_relative "../memfs"
|
|
29
|
-
|
|
30
|
-
# Wrapper for Fiddle.dlopen method
|
|
31
|
-
# If the library file to be mapped to is within memfs it is extracted to tmp folder
|
|
32
|
-
module Fiddle
|
|
33
|
-
singleton_class.send(:alias_method, :dlopen_orig, :dlopen)
|
|
34
|
-
|
|
35
|
-
def self.dlopen(lib)
|
|
36
|
-
dlopen_orig(TebakoRuntime.extract_memfs(lib))
|
|
37
|
-
end
|
|
38
|
-
end
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
# Copyright (c) 2023 [Ribose Inc](https://www.ribose.com).
|
|
4
|
-
# All rights reserved.
|
|
5
|
-
# This file is a part of the Tebako project.
|
|
6
|
-
#
|
|
7
|
-
# Redistribution and use in source and binary forms, with or without
|
|
8
|
-
# modification, are permitted provided that the following conditions
|
|
9
|
-
# are met:
|
|
10
|
-
# 1. Redistributions of source code must retain the above copyright
|
|
11
|
-
# notice, this list of conditions and the following disclaimer.
|
|
12
|
-
# 2. Redistributions in binary form must reproduce the above copyright
|
|
13
|
-
# notice, this list of conditions and the following disclaimer in the
|
|
14
|
-
# documentation and/or other materials provided with the distribution.
|
|
15
|
-
#
|
|
16
|
-
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
17
|
-
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
18
|
-
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
19
|
-
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
|
|
20
|
-
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
21
|
-
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
22
|
-
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
23
|
-
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
24
|
-
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
25
|
-
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
26
|
-
# POSSIBILITY OF SUCH DAMAGE.
|
|
27
|
-
|
|
28
|
-
# Unpack jing.jar
|
|
29
|
-
class Jing
|
|
30
|
-
tmp = DEFAULT_JAR
|
|
31
|
-
remove_const("DEFAULT_JAR") if const_defined?("DEFAULT_JAR")
|
|
32
|
-
DEFAULT_JAR = TebakoRuntime.extract_memfs(tmp)
|
|
33
|
-
|
|
34
|
-
alias original_initialize initialize
|
|
35
|
-
alias original_validate validate
|
|
36
|
-
|
|
37
|
-
def initialize(schema, options = nil)
|
|
38
|
-
original_initialize(TebakoRuntime.extract_memfs(schema, wild: true), options)
|
|
39
|
-
# ruby-jing captures `:default => DEFAULT_JAR` at class-load time —
|
|
40
|
-
# before this adapter replaced the constant with the extracted host
|
|
41
|
-
# path. Force the extracted path per-instance (a nil option hash
|
|
42
|
-
# leaves @options empty, and the builder's stale default would win).
|
|
43
|
-
@options[:jar] = DEFAULT_JAR
|
|
44
|
-
# The mounted openjdk toolkit payload's java wins over PATH (the
|
|
45
|
-
# memfs-binary exec path; the bare "java" keeps the PATH answer).
|
|
46
|
-
@options[:java] = TebakoRuntime.mounted_exe("openjdk", "java")
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
def validate(xml)
|
|
50
|
-
original_validate(TebakoRuntime.extract_memfs(xml))
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
# The spawn shape, array form (the stock execute() backticks a shell
|
|
54
|
-
# string, which the tebako spawn hook deliberately skips; the mounted
|
|
55
|
-
# java only execs through the hook from an absolute-path array spawn).
|
|
56
|
-
def execute(options) # rubocop:disable Metrics/AbcSize
|
|
57
|
-
cmd = [options[:java]]
|
|
58
|
-
cmd += options[:java_opts].split if options[:java_opts]
|
|
59
|
-
cmd += ["-jar", options[:jar].to_s]
|
|
60
|
-
cmd << "-c" if options[:compact]
|
|
61
|
-
cmd += ["-e", options[:encoding]] if options[:encoding]
|
|
62
|
-
cmd << "-i" if options[:id_check]
|
|
63
|
-
cmd += [options[:schema].to_s, options[:xmlfile].to_s]
|
|
64
|
-
IO.popen(cmd, err: %i[child out], &:read)
|
|
65
|
-
rescue SystemCallError => e
|
|
66
|
-
raise ExecutionError, "jing execution failed: #{e}"
|
|
67
|
-
end
|
|
68
|
-
end
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
# Copyright (c) 2023 [Ribose Inc](https://www.ribose.com).
|
|
4
|
-
# All rights reserved.
|
|
5
|
-
# This file is a part of the Tebako project.
|
|
6
|
-
#
|
|
7
|
-
# Redistribution and use in source and binary forms, with or without
|
|
8
|
-
# modification, are permitted provided that the following conditions
|
|
9
|
-
# are met:
|
|
10
|
-
# 1. Redistributions of source code must retain the above copyright
|
|
11
|
-
# notice, this list of conditions and the following disclaimer.
|
|
12
|
-
# 2. Redistributions in binary form must reproduce the above copyright
|
|
13
|
-
# notice, this list of conditions and the following disclaimer in the
|
|
14
|
-
# documentation and/or other materials provided with the distribution.
|
|
15
|
-
#
|
|
16
|
-
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
17
|
-
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
18
|
-
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
19
|
-
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
|
|
20
|
-
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
21
|
-
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
22
|
-
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
23
|
-
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
24
|
-
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
25
|
-
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
26
|
-
# POSSIBILITY OF SUCH DAMAGE.
|
|
27
|
-
|
|
28
|
-
# Unpack mn2pdf.jar
|
|
29
|
-
|
|
30
|
-
module TebakoRuntime
|
|
31
|
-
MN2PDF_J_PATH = TebakoRuntime.extract_memfs(File.join(TebakoRuntime.full_gem_path("mn2pdf"), "bin",
|
|
32
|
-
"mn2pdf.jar"))
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
if Mn2pdf.const_defined?("MN2PDF_JAR_PATH")
|
|
36
|
-
module Mn2pdf
|
|
37
|
-
remove_const("MN2PDF_JAR_PATH")
|
|
38
|
-
MN2PDF_JAR_PATH = TebakoRuntime::MN2PDF_J_PATH
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
if Jvm.const_defined?("MN2PDF_JAR_PATH")
|
|
43
|
-
module Jvm
|
|
44
|
-
remove_const("MN2PDF_JAR_PATH")
|
|
45
|
-
MN2PDF_JAR_PATH = TebakoRuntime::MN2PDF_J_PATH
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
module Mn2pdf
|
|
50
|
-
singleton_class.send(:alias_method, :convert_orig, :convert)
|
|
51
|
-
singleton_class.send(:remove_method, :convert)
|
|
52
|
-
|
|
53
|
-
def self.convert(url_path, output_path, xsl_stylesheet, options)
|
|
54
|
-
convert_orig(TebakoRuntime.extract_memfs(url_path), output_path, TebakoRuntime.extract_memfs(xsl_stylesheet),
|
|
55
|
-
options)
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
# The java resolution + the spawn shape (the memfs-binary exec path):
|
|
60
|
-
# when the openjdk toolkit payload is mounted, its /opt/openjdk/bin/java
|
|
61
|
-
# wins over PATH; the spawn is the ARRAY form — the shell form
|
|
62
|
-
# (`Open3.capture3(string)`) goes through /bin/sh, which the tebako
|
|
63
|
-
# spawn hook deliberately skips.
|
|
64
|
-
module Jvm
|
|
65
|
-
singleton_class.send(:alias_method, :run_orig, :run)
|
|
66
|
-
singleton_class.send(:remove_method, :run)
|
|
67
|
-
|
|
68
|
-
def self.run(args = [])
|
|
69
|
-
java = TebakoRuntime.mounted_exe("openjdk", "java")
|
|
70
|
-
return run_orig(args) if java == "java"
|
|
71
|
-
|
|
72
|
-
# The stock form joins everything into a SHELL string: values ride
|
|
73
|
-
# shell-quoted (whole-value and inner forms), and legacy callers pass
|
|
74
|
-
# whole fragments in one element (`--param baseassetpath="/dir"`).
|
|
75
|
-
# The array spawn needs shell-word rules applied — split on unquoted
|
|
76
|
-
# spaces, shed the quotes — exactly what the shell did with the
|
|
77
|
-
# stock string.
|
|
78
|
-
clean = args.flat_map { |a| TebakoRuntime.shell_split(a.to_s) }
|
|
79
|
-
cmd = [java, *options, "-jar", MN2PDF_JAR_PATH.to_s, *clean]
|
|
80
|
-
puts cmd.join(" ")
|
|
81
|
-
Open3.capture3(*cmd).then { |stdout, stderr, status| [stdout, stderr, status] }
|
|
82
|
-
end
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
# options_to_cmd's joined form (`--param "k=v"` in ONE shell word) is
|
|
86
|
-
# shell-string machinery; the array spawn takes flag and value as
|
|
87
|
-
# separate elements with the shell quotes removed. Stock behavior
|
|
88
|
-
# stands for the PATH java.
|
|
89
|
-
module Mn2pdf
|
|
90
|
-
singleton_class.send(:alias_method, :options_to_cmd_orig, :options_to_cmd)
|
|
91
|
-
singleton_class.send(:remove_method, :options_to_cmd)
|
|
92
|
-
|
|
93
|
-
def self.options_to_cmd(options, cmd)
|
|
94
|
-
return options_to_cmd_orig(options, cmd) if TebakoRuntime.mounted_exe("openjdk", "java") == "java"
|
|
95
|
-
|
|
96
|
-
options.each do |k, v|
|
|
97
|
-
if k.to_s.end_with?("=")
|
|
98
|
-
cmd << "#{k}#{v.to_s.delete('"')}"
|
|
99
|
-
else
|
|
100
|
-
cmd << k.to_s << v.to_s.delete('"')
|
|
101
|
-
end
|
|
102
|
-
end
|
|
103
|
-
end
|
|
104
|
-
end
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
# Copyright (c) 2023 [Ribose Inc](https://www.ribose.com).
|
|
4
|
-
# All rights reserved.
|
|
5
|
-
# This file is a part of the Tebako project.
|
|
6
|
-
#
|
|
7
|
-
# Redistribution and use in source and binary forms, with or without
|
|
8
|
-
# modification, are permitted provided that the following conditions
|
|
9
|
-
# are met:
|
|
10
|
-
# 1. Redistributions of source code must retain the above copyright
|
|
11
|
-
# notice, this list of conditions and the following disclaimer.
|
|
12
|
-
# 2. Redistributions in binary form must reproduce the above copyright
|
|
13
|
-
# notice, this list of conditions and the following disclaimer in the
|
|
14
|
-
# documentation and/or other materials provided with the distribution.
|
|
15
|
-
#
|
|
16
|
-
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
17
|
-
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
18
|
-
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
19
|
-
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
|
|
20
|
-
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
21
|
-
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
22
|
-
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
23
|
-
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
24
|
-
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
25
|
-
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
26
|
-
# POSSIBILITY OF SUCH DAMAGE.
|
|
27
|
-
|
|
28
|
-
# Unpack mn2pdf.jar
|
|
29
|
-
module MnConvert
|
|
30
|
-
remove_const("MNCONVERT_JAR_PATH") if const_defined?("MNCONVERT_JAR_PATH")
|
|
31
|
-
MNCONVERT_JAR_PATH = TebakoRuntime.extract_memfs(File.join(TebakoRuntime.full_gem_path("mnconvert"), "bin",
|
|
32
|
-
"mnconvert.jar"))
|
|
33
|
-
|
|
34
|
-
singleton_class.send(:alias_method, :convert_orig, :convert)
|
|
35
|
-
singleton_class.send(:remove_method, :convert)
|
|
36
|
-
|
|
37
|
-
def self.convert(input_file, opts = {})
|
|
38
|
-
opts[:xsl_file] = TebakoRuntime.extract_memfs(opts[:xsl_file]) if opts[:xsl_file]
|
|
39
|
-
convert_orig(TebakoRuntime.extract_memfs(input_file), opts)
|
|
40
|
-
end
|
|
41
|
-
end
|