itsi-server 0.2.25-aarch64-linux → 0.2.27-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.
- checksums.yaml +4 -4
- data/Cargo.lock +939 -987
- data/Cargo.toml +0 -1
- data/Rakefile +18 -5
- data/ext/itsi_acme/Cargo.toml +2 -1
- data/ext/itsi_acme/src/acceptor.rs +1 -1
- data/ext/itsi_acme/src/acme.rs +31 -3
- data/ext/itsi_acme/src/http_challenge.rs +81 -0
- data/ext/itsi_acme/src/https_helper.rs +3 -1
- data/ext/itsi_acme/src/jose.rs +6 -2
- data/ext/itsi_acme/src/lib.rs +2 -0
- data/ext/itsi_acme/src/resolver.rs +27 -4
- data/ext/itsi_acme/src/state.rs +183 -22
- data/ext/itsi_scheduler/Cargo.toml +1 -1
- data/ext/itsi_scheduler/src/itsi_scheduler.rs +115 -64
- data/ext/itsi_scheduler/src/lib.rs +2 -1
- data/ext/itsi_server/Cargo.lock +2 -2
- data/ext/itsi_server/Cargo.toml +2 -1
- data/ext/itsi_server/src/lib.rs +15 -0
- data/ext/itsi_server/src/ruby_types/itsi_grpc_call.rs +0 -1
- data/ext/itsi_server/src/ruby_types/itsi_http_request.rs +9 -0
- data/ext/itsi_server/src/ruby_types/itsi_http_response.rs +114 -4
- data/ext/itsi_server/src/ruby_types/itsi_server/itsi_server_config.rs +22 -1
- data/ext/itsi_server/src/ruby_types/itsi_server.rs +100 -0
- data/ext/itsi_server/src/server/binds/listener.rs +9 -24
- data/ext/itsi_server/src/server/binds/tls.rs +372 -67
- data/ext/itsi_server/src/server/signal.rs +14 -9
- data/ext/itsi_server/src/services/itsi_http_service.rs +46 -2
- data/lib/itsi/http_request.rb +10 -0
- data/lib/itsi/server/3.1/itsi_server.so +0 -0
- data/lib/itsi/server/3.2/itsi_server.so +0 -0
- data/lib/itsi/server/3.3/itsi_server.so +0 -0
- data/lib/itsi/server/{itsi_server.so → 3.4/itsi_server.so} +0 -0
- data/lib/itsi/server/4.0/itsi_server.so +0 -0
- data/lib/itsi/server/config/options/certificates.md +37 -9
- data/lib/itsi/server/config/options/fiber_scheduler.md +2 -0
- data/lib/itsi/server/default_config/Itsi.rb +4 -0
- data/lib/itsi/server/rack_interface.rb +47 -3
- data/lib/itsi/server/version.rb +1 -1
- data/lib/itsi/server.rb +24 -0
- metadata +9 -22
- data/vendor/rb-sys-build/.cargo-ok +0 -1
- data/vendor/rb-sys-build/.cargo_vcs_info.json +0 -6
- data/vendor/rb-sys-build/Cargo.lock +0 -294
- data/vendor/rb-sys-build/Cargo.toml +0 -71
- data/vendor/rb-sys-build/Cargo.toml.orig +0 -32
- data/vendor/rb-sys-build/LICENSE-APACHE +0 -190
- data/vendor/rb-sys-build/LICENSE-MIT +0 -21
- data/vendor/rb-sys-build/src/bindings/sanitizer.rs +0 -185
- data/vendor/rb-sys-build/src/bindings/stable_api.rs +0 -247
- data/vendor/rb-sys-build/src/bindings/wrapper.h +0 -71
- data/vendor/rb-sys-build/src/bindings.rs +0 -280
- data/vendor/rb-sys-build/src/cc.rs +0 -421
- data/vendor/rb-sys-build/src/lib.rs +0 -12
- data/vendor/rb-sys-build/src/rb_config/flags.rs +0 -101
- data/vendor/rb-sys-build/src/rb_config/library.rs +0 -132
- data/vendor/rb-sys-build/src/rb_config/search_path.rs +0 -57
- data/vendor/rb-sys-build/src/rb_config.rs +0 -906
- data/vendor/rb-sys-build/src/utils.rs +0 -53
data/lib/itsi/http_request.rb
CHANGED
|
@@ -145,6 +145,16 @@ module Itsi
|
|
|
145
145
|
end
|
|
146
146
|
end
|
|
147
147
|
|
|
148
|
+
def partial_hijack
|
|
149
|
+
UNIXSocket.pair.yield_self do |(server_sock, app_sock)|
|
|
150
|
+
server_sock.autoclose = false
|
|
151
|
+
response.partial_hijack(server_sock.fileno)
|
|
152
|
+
server_sock.sync = true
|
|
153
|
+
app_sock.sync = true
|
|
154
|
+
app_sock
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
|
|
148
158
|
# Rack expects env["rack.hijack"] to respond to #call.
|
|
149
159
|
def call
|
|
150
160
|
hijack
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -54,12 +54,40 @@ Let's Encrypt enforces strict rate limits on production certificate generation.
|
|
|
54
54
|
{{< /callout >}}
|
|
55
55
|
|
|
56
56
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
57
|
+
Itsi supports both ACME challenge types that matter for common deployments:
|
|
58
|
+
|
|
59
|
+
* `TLS-ALPN-01` is used when the certificate authority can reach Itsi directly on the HTTPS listener.
|
|
60
|
+
* `HTTP-01` can be used when you also expose a reachable HTTP listener for the same hostname. In real Let's Encrypt deployments this typically means port `80` must reach Itsi for `/.well-known/acme-challenge/*`.
|
|
61
|
+
|
|
62
|
+
This means setups behind a CDN, WAF, or TLS-terminating proxy can still use automated certificates, provided plain HTTP validation traffic is forwarded to Itsi.
|
|
63
|
+
|
|
64
|
+
E.g. a production configuration that allows HTTP-01 fallback might look like this:
|
|
65
|
+
|
|
66
|
+
```ruby {filename=Itsi.rb}
|
|
67
|
+
bind "http://0.0.0.0:80"
|
|
68
|
+
bind "https://0.0.0.0:443?cert=acme&domains=example.com&acme_email=you@example.com"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Dynamic Domain Registration
|
|
72
|
+
You can add or remove ACME-managed domains while Itsi is already running.
|
|
73
|
+
|
|
74
|
+
This is useful when hostnames are discovered dynamically by your Ruby application, or when you want to defer certificate issuance until a tenant, customer, or site is activated.
|
|
75
|
+
|
|
76
|
+
Runtime APIs:
|
|
77
|
+
|
|
78
|
+
* `Itsi::Server.tls_bindings`
|
|
79
|
+
* `Itsi::Server.tls_domains(listener_id = nil)`
|
|
80
|
+
* `Itsi::Server.tls_domain_statuses(listener_id = nil)`
|
|
81
|
+
* `Itsi::Server.register_tls_domain(domain, listener_id = nil)`
|
|
82
|
+
* `Itsi::Server.unregister_tls_domain(domain, listener_id = nil)`
|
|
83
|
+
|
|
84
|
+
Example:
|
|
85
|
+
|
|
86
|
+
```ruby
|
|
87
|
+
Itsi::Server.register_tls_domain("customer-a.example.com")
|
|
88
|
+
|
|
89
|
+
status = Itsi::Server.tls_domain_statuses.find { |entry| entry["domain"] == "customer-a.example.com" }
|
|
90
|
+
puts status
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
When using dynamic issuance with HTTP-01, the same requirement still applies: the domain being issued must be able to reach an Itsi-managed HTTP listener for the ACME challenge path.
|
|
@@ -7,6 +7,8 @@ This allows Itsi to process a very large number of IO heavy requests concurrentl
|
|
|
7
7
|
|
|
8
8
|
Enabling Fiber Scheduler mode can drastically improve application performance if you perform large amounts of blocking IO operations.
|
|
9
9
|
|
|
10
|
+
Itsi's bundled scheduler is intended to be practical for real Ruby applications, not just toy socket examples. It integrates with the scheduler hooks used by modern Rubies for socket I/O, DNS lookups, sleeps and timeouts, and process waiting.
|
|
11
|
+
|
|
10
12
|
|
|
11
13
|
## Configuration File
|
|
12
14
|
```ruby {filename="Itsi.rb"}
|
|
@@ -37,6 +37,10 @@ fiber_scheduler nil
|
|
|
37
37
|
# bind "https://itsi.fyi?cert=acme&acme_email=admin@itsi.fyi"
|
|
38
38
|
# You can generate certificates for multiple domains at once, by passing a comma-separated list of domains
|
|
39
39
|
# bind "https://0.0.0.0?domains=foo.itsi.fyi,bar.itsi.fyi&cert=acme&acme_email=admin@itsi.fyi"
|
|
40
|
+
# If HTTPS on 443 is not directly reachable, you can also expose an HTTP listener and
|
|
41
|
+
# Let's Encrypt will be able to validate using HTTP-01 instead.
|
|
42
|
+
# bind "http://0.0.0.0:80"
|
|
43
|
+
# bind "https://0.0.0.0:443?domains=foo.itsi.fyi&cert=acme&acme_email=admin@itsi.fyi"
|
|
40
44
|
#
|
|
41
45
|
# If you already have a certificate you can specify it using the cert and key parameters
|
|
42
46
|
# bind "https://itsi.fyi?cert=/path/to/cert.pem&key=/path/to/key.pem"
|
|
@@ -1,6 +1,45 @@
|
|
|
1
1
|
module Itsi
|
|
2
2
|
class Server
|
|
3
3
|
module RackInterface
|
|
4
|
+
class PartialHijackStream
|
|
5
|
+
def initialize(response)
|
|
6
|
+
@response = response
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def write(chunk)
|
|
10
|
+
@response.write(chunk.to_s)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def read(*)
|
|
14
|
+
nil
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def <<(chunk)
|
|
18
|
+
write(chunk)
|
|
19
|
+
self
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def flush
|
|
23
|
+
self
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def close_write
|
|
27
|
+
@response.close_write
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def close_read
|
|
31
|
+
true
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def close
|
|
35
|
+
@response.close_write
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def closed?
|
|
39
|
+
@response.closed?
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
4
43
|
# Builds a handler proc that is compatible with Rack applications.
|
|
5
44
|
def self.for(app)
|
|
6
45
|
require "rack"
|
|
@@ -38,7 +77,8 @@ module Itsi
|
|
|
38
77
|
response.status = status
|
|
39
78
|
|
|
40
79
|
# 2. Set Headers
|
|
41
|
-
|
|
80
|
+
hijack_callback = headers.delete("rack.hijack")
|
|
81
|
+
body_streamer = streaming_body?(body) ? body : hijack_callback
|
|
42
82
|
|
|
43
83
|
response.reserve_headers(headers.size)
|
|
44
84
|
|
|
@@ -57,10 +97,14 @@ module Itsi
|
|
|
57
97
|
# the server will begin to stream it to the client.
|
|
58
98
|
|
|
59
99
|
|
|
60
|
-
if
|
|
100
|
+
if hijack_callback
|
|
101
|
+
stream = status == 101 ? request.partial_hijack : PartialHijackStream.new(response)
|
|
102
|
+
body_streamer.call(stream)
|
|
103
|
+
elsif body_streamer
|
|
61
104
|
# If we're partially hijacked or returned a streaming body,
|
|
62
105
|
# stream this response.
|
|
63
|
-
|
|
106
|
+
stream = status == 101 ? request.partial_hijack : response
|
|
107
|
+
body_streamer.call(stream)
|
|
64
108
|
|
|
65
109
|
elsif body.is_a?(Array)
|
|
66
110
|
if body.length == 1
|
data/lib/itsi/server/version.rb
CHANGED
data/lib/itsi/server.rb
CHANGED
|
@@ -32,6 +32,30 @@ module Itsi
|
|
|
32
32
|
@running && !@running.empty?
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
+
def current_server
|
|
36
|
+
@running&.last || raise("No running Itsi::Server instance")
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def tls_bindings
|
|
40
|
+
current_server.tls_bindings
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def tls_domains(listener_id = nil)
|
|
44
|
+
current_server.tls_domains(listener_id)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def tls_domain_statuses(listener_id = nil)
|
|
48
|
+
current_server.tls_domain_statuses(listener_id)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def register_tls_domain(domain, listener_id = nil)
|
|
52
|
+
current_server.register_tls_domain(domain, listener_id)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def unregister_tls_domain(domain, listener_id = nil)
|
|
56
|
+
current_server.unregister_tls_domain(domain, listener_id)
|
|
57
|
+
end
|
|
58
|
+
|
|
35
59
|
def start_in_background_thread(cli_params = {}, &blk)
|
|
36
60
|
@background_threads ||= []
|
|
37
61
|
server, background_thread = start(cli_params, background: true, &blk)
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: itsi-server
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.27
|
|
5
5
|
platform: aarch64-linux
|
|
6
6
|
authors:
|
|
7
7
|
- Wouter Coppieters
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-06-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: json
|
|
@@ -109,6 +109,7 @@ files:
|
|
|
109
109
|
- ext/itsi_acme/src/caches/no.rs
|
|
110
110
|
- ext/itsi_acme/src/caches/test.rs
|
|
111
111
|
- ext/itsi_acme/src/config.rs
|
|
112
|
+
- ext/itsi_acme/src/http_challenge.rs
|
|
112
113
|
- ext/itsi_acme/src/https_helper.rs
|
|
113
114
|
- ext/itsi_acme/src/incoming.rs
|
|
114
115
|
- ext/itsi_acme/src/jose.rs
|
|
@@ -233,6 +234,11 @@ files:
|
|
|
233
234
|
- lib/itsi/passfile.rb
|
|
234
235
|
- lib/itsi/rack_env_pool.rb
|
|
235
236
|
- lib/itsi/server.rb
|
|
237
|
+
- lib/itsi/server/3.1/itsi_server.so
|
|
238
|
+
- lib/itsi/server/3.2/itsi_server.so
|
|
239
|
+
- lib/itsi/server/3.3/itsi_server.so
|
|
240
|
+
- lib/itsi/server/3.4/itsi_server.so
|
|
241
|
+
- lib/itsi/server/4.0/itsi_server.so
|
|
236
242
|
- lib/itsi/server/config.rb
|
|
237
243
|
- lib/itsi/server/config/config_helpers.rb
|
|
238
244
|
- lib/itsi/server/config/dsl.rb
|
|
@@ -500,7 +506,6 @@ files:
|
|
|
500
506
|
- lib/itsi/server/grpc/grpc_interface.rb
|
|
501
507
|
- lib/itsi/server/grpc/reflection/v1/reflection_pb.rb
|
|
502
508
|
- lib/itsi/server/grpc/reflection/v1/reflection_services_pb.rb
|
|
503
|
-
- lib/itsi/server/itsi_server.so
|
|
504
509
|
- lib/itsi/server/native_extension.rb
|
|
505
510
|
- lib/itsi/server/rack/handler/itsi.rb
|
|
506
511
|
- lib/itsi/server/rack_interface.rb
|
|
@@ -515,24 +520,6 @@ files:
|
|
|
515
520
|
- lib/itsi/standard_headers.rb
|
|
516
521
|
- lib/ruby_lsp/itsi/addon.rb
|
|
517
522
|
- lib/shell_completions/completions.rb
|
|
518
|
-
- vendor/rb-sys-build/.cargo-ok
|
|
519
|
-
- vendor/rb-sys-build/.cargo_vcs_info.json
|
|
520
|
-
- vendor/rb-sys-build/Cargo.lock
|
|
521
|
-
- vendor/rb-sys-build/Cargo.toml
|
|
522
|
-
- vendor/rb-sys-build/Cargo.toml.orig
|
|
523
|
-
- vendor/rb-sys-build/LICENSE-APACHE
|
|
524
|
-
- vendor/rb-sys-build/LICENSE-MIT
|
|
525
|
-
- vendor/rb-sys-build/src/bindings.rs
|
|
526
|
-
- vendor/rb-sys-build/src/bindings/sanitizer.rs
|
|
527
|
-
- vendor/rb-sys-build/src/bindings/stable_api.rs
|
|
528
|
-
- vendor/rb-sys-build/src/bindings/wrapper.h
|
|
529
|
-
- vendor/rb-sys-build/src/cc.rs
|
|
530
|
-
- vendor/rb-sys-build/src/lib.rs
|
|
531
|
-
- vendor/rb-sys-build/src/rb_config.rs
|
|
532
|
-
- vendor/rb-sys-build/src/rb_config/flags.rs
|
|
533
|
-
- vendor/rb-sys-build/src/rb_config/library.rs
|
|
534
|
-
- vendor/rb-sys-build/src/rb_config/search_path.rs
|
|
535
|
-
- vendor/rb-sys-build/src/utils.rs
|
|
536
523
|
homepage: https://itsi.fyi
|
|
537
524
|
licenses:
|
|
538
525
|
- LGPL-3.0
|
|
@@ -548,7 +535,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
548
535
|
requirements:
|
|
549
536
|
- - ">="
|
|
550
537
|
- !ruby/object:Gem::Version
|
|
551
|
-
version: '
|
|
538
|
+
version: '3.1'
|
|
552
539
|
- - "<"
|
|
553
540
|
- !ruby/object:Gem::Version
|
|
554
541
|
version: 4.1.dev
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"v":1}
|
|
@@ -1,294 +0,0 @@
|
|
|
1
|
-
# This file is automatically @generated by Cargo.
|
|
2
|
-
# It is not intended for manual editing.
|
|
3
|
-
version = 3
|
|
4
|
-
|
|
5
|
-
[[package]]
|
|
6
|
-
name = "aho-corasick"
|
|
7
|
-
version = "1.1.3"
|
|
8
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
9
|
-
checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
|
|
10
|
-
dependencies = [
|
|
11
|
-
"memchr",
|
|
12
|
-
]
|
|
13
|
-
|
|
14
|
-
[[package]]
|
|
15
|
-
name = "bindgen"
|
|
16
|
-
version = "0.69.4"
|
|
17
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
18
|
-
checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0"
|
|
19
|
-
dependencies = [
|
|
20
|
-
"bitflags",
|
|
21
|
-
"cexpr",
|
|
22
|
-
"clang-sys",
|
|
23
|
-
"itertools",
|
|
24
|
-
"lazy_static",
|
|
25
|
-
"lazycell",
|
|
26
|
-
"proc-macro2",
|
|
27
|
-
"quote",
|
|
28
|
-
"regex",
|
|
29
|
-
"rustc-hash",
|
|
30
|
-
"shlex",
|
|
31
|
-
"syn",
|
|
32
|
-
]
|
|
33
|
-
|
|
34
|
-
[[package]]
|
|
35
|
-
name = "bitflags"
|
|
36
|
-
version = "2.6.0"
|
|
37
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
38
|
-
checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
|
|
39
|
-
|
|
40
|
-
[[package]]
|
|
41
|
-
name = "cexpr"
|
|
42
|
-
version = "0.6.0"
|
|
43
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
44
|
-
checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
|
|
45
|
-
dependencies = [
|
|
46
|
-
"nom",
|
|
47
|
-
]
|
|
48
|
-
|
|
49
|
-
[[package]]
|
|
50
|
-
name = "cfg-if"
|
|
51
|
-
version = "1.0.0"
|
|
52
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
53
|
-
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
|
54
|
-
|
|
55
|
-
[[package]]
|
|
56
|
-
name = "clang-sys"
|
|
57
|
-
version = "1.8.1"
|
|
58
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
59
|
-
checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
|
|
60
|
-
dependencies = [
|
|
61
|
-
"glob",
|
|
62
|
-
"libc",
|
|
63
|
-
"libloading",
|
|
64
|
-
]
|
|
65
|
-
|
|
66
|
-
[[package]]
|
|
67
|
-
name = "either"
|
|
68
|
-
version = "1.13.0"
|
|
69
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
70
|
-
checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
|
|
71
|
-
|
|
72
|
-
[[package]]
|
|
73
|
-
name = "glob"
|
|
74
|
-
version = "0.3.1"
|
|
75
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
76
|
-
checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
|
|
77
|
-
|
|
78
|
-
[[package]]
|
|
79
|
-
name = "itertools"
|
|
80
|
-
version = "0.12.1"
|
|
81
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
82
|
-
checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
|
|
83
|
-
dependencies = [
|
|
84
|
-
"either",
|
|
85
|
-
]
|
|
86
|
-
|
|
87
|
-
[[package]]
|
|
88
|
-
name = "lazy_static"
|
|
89
|
-
version = "1.5.0"
|
|
90
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
91
|
-
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
|
|
92
|
-
|
|
93
|
-
[[package]]
|
|
94
|
-
name = "lazycell"
|
|
95
|
-
version = "1.3.0"
|
|
96
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
97
|
-
checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
|
|
98
|
-
|
|
99
|
-
[[package]]
|
|
100
|
-
name = "libc"
|
|
101
|
-
version = "0.2.155"
|
|
102
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
103
|
-
checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
|
|
104
|
-
|
|
105
|
-
[[package]]
|
|
106
|
-
name = "libloading"
|
|
107
|
-
version = "0.8.5"
|
|
108
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
109
|
-
checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"
|
|
110
|
-
dependencies = [
|
|
111
|
-
"cfg-if",
|
|
112
|
-
"windows-targets",
|
|
113
|
-
]
|
|
114
|
-
|
|
115
|
-
[[package]]
|
|
116
|
-
name = "memchr"
|
|
117
|
-
version = "2.7.4"
|
|
118
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
119
|
-
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
|
120
|
-
|
|
121
|
-
[[package]]
|
|
122
|
-
name = "minimal-lexical"
|
|
123
|
-
version = "0.2.1"
|
|
124
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
125
|
-
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
|
|
126
|
-
|
|
127
|
-
[[package]]
|
|
128
|
-
name = "nom"
|
|
129
|
-
version = "7.1.3"
|
|
130
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
131
|
-
checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
|
|
132
|
-
dependencies = [
|
|
133
|
-
"memchr",
|
|
134
|
-
"minimal-lexical",
|
|
135
|
-
]
|
|
136
|
-
|
|
137
|
-
[[package]]
|
|
138
|
-
name = "proc-macro2"
|
|
139
|
-
version = "1.0.103"
|
|
140
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
141
|
-
checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8"
|
|
142
|
-
dependencies = [
|
|
143
|
-
"unicode-ident",
|
|
144
|
-
]
|
|
145
|
-
|
|
146
|
-
[[package]]
|
|
147
|
-
name = "quote"
|
|
148
|
-
version = "1.0.42"
|
|
149
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
150
|
-
checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f"
|
|
151
|
-
dependencies = [
|
|
152
|
-
"proc-macro2",
|
|
153
|
-
]
|
|
154
|
-
|
|
155
|
-
[[package]]
|
|
156
|
-
name = "rb-sys-build"
|
|
157
|
-
version = "0.9.124"
|
|
158
|
-
dependencies = [
|
|
159
|
-
"bindgen",
|
|
160
|
-
"lazy_static",
|
|
161
|
-
"proc-macro2",
|
|
162
|
-
"quote",
|
|
163
|
-
"regex",
|
|
164
|
-
"shell-words",
|
|
165
|
-
"syn",
|
|
166
|
-
]
|
|
167
|
-
|
|
168
|
-
[[package]]
|
|
169
|
-
name = "regex"
|
|
170
|
-
version = "1.12.2"
|
|
171
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
172
|
-
checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4"
|
|
173
|
-
dependencies = [
|
|
174
|
-
"aho-corasick",
|
|
175
|
-
"memchr",
|
|
176
|
-
"regex-automata",
|
|
177
|
-
"regex-syntax",
|
|
178
|
-
]
|
|
179
|
-
|
|
180
|
-
[[package]]
|
|
181
|
-
name = "regex-automata"
|
|
182
|
-
version = "0.4.13"
|
|
183
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
184
|
-
checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c"
|
|
185
|
-
dependencies = [
|
|
186
|
-
"aho-corasick",
|
|
187
|
-
"memchr",
|
|
188
|
-
"regex-syntax",
|
|
189
|
-
]
|
|
190
|
-
|
|
191
|
-
[[package]]
|
|
192
|
-
name = "regex-syntax"
|
|
193
|
-
version = "0.8.5"
|
|
194
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
195
|
-
checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
|
|
196
|
-
|
|
197
|
-
[[package]]
|
|
198
|
-
name = "rustc-hash"
|
|
199
|
-
version = "1.1.0"
|
|
200
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
201
|
-
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
|
|
202
|
-
|
|
203
|
-
[[package]]
|
|
204
|
-
name = "shell-words"
|
|
205
|
-
version = "1.1.0"
|
|
206
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
207
|
-
checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
|
|
208
|
-
|
|
209
|
-
[[package]]
|
|
210
|
-
name = "shlex"
|
|
211
|
-
version = "1.3.0"
|
|
212
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
213
|
-
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
|
|
214
|
-
|
|
215
|
-
[[package]]
|
|
216
|
-
name = "syn"
|
|
217
|
-
version = "2.0.111"
|
|
218
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
219
|
-
checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87"
|
|
220
|
-
dependencies = [
|
|
221
|
-
"proc-macro2",
|
|
222
|
-
"quote",
|
|
223
|
-
"unicode-ident",
|
|
224
|
-
]
|
|
225
|
-
|
|
226
|
-
[[package]]
|
|
227
|
-
name = "unicode-ident"
|
|
228
|
-
version = "1.0.12"
|
|
229
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
230
|
-
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
|
|
231
|
-
|
|
232
|
-
[[package]]
|
|
233
|
-
name = "windows-targets"
|
|
234
|
-
version = "0.52.6"
|
|
235
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
236
|
-
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
|
|
237
|
-
dependencies = [
|
|
238
|
-
"windows_aarch64_gnullvm",
|
|
239
|
-
"windows_aarch64_msvc",
|
|
240
|
-
"windows_i686_gnu",
|
|
241
|
-
"windows_i686_gnullvm",
|
|
242
|
-
"windows_i686_msvc",
|
|
243
|
-
"windows_x86_64_gnu",
|
|
244
|
-
"windows_x86_64_gnullvm",
|
|
245
|
-
"windows_x86_64_msvc",
|
|
246
|
-
]
|
|
247
|
-
|
|
248
|
-
[[package]]
|
|
249
|
-
name = "windows_aarch64_gnullvm"
|
|
250
|
-
version = "0.52.6"
|
|
251
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
252
|
-
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
|
|
253
|
-
|
|
254
|
-
[[package]]
|
|
255
|
-
name = "windows_aarch64_msvc"
|
|
256
|
-
version = "0.52.6"
|
|
257
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
258
|
-
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
|
|
259
|
-
|
|
260
|
-
[[package]]
|
|
261
|
-
name = "windows_i686_gnu"
|
|
262
|
-
version = "0.52.6"
|
|
263
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
264
|
-
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
|
|
265
|
-
|
|
266
|
-
[[package]]
|
|
267
|
-
name = "windows_i686_gnullvm"
|
|
268
|
-
version = "0.52.6"
|
|
269
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
270
|
-
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
|
|
271
|
-
|
|
272
|
-
[[package]]
|
|
273
|
-
name = "windows_i686_msvc"
|
|
274
|
-
version = "0.52.6"
|
|
275
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
276
|
-
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
|
|
277
|
-
|
|
278
|
-
[[package]]
|
|
279
|
-
name = "windows_x86_64_gnu"
|
|
280
|
-
version = "0.52.6"
|
|
281
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
282
|
-
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
|
|
283
|
-
|
|
284
|
-
[[package]]
|
|
285
|
-
name = "windows_x86_64_gnullvm"
|
|
286
|
-
version = "0.52.6"
|
|
287
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
288
|
-
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
|
|
289
|
-
|
|
290
|
-
[[package]]
|
|
291
|
-
name = "windows_x86_64_msvc"
|
|
292
|
-
version = "0.52.6"
|
|
293
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
294
|
-
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
|
2
|
-
#
|
|
3
|
-
# When uploading crates to the registry Cargo will automatically
|
|
4
|
-
# "normalize" Cargo.toml files for maximal compatibility
|
|
5
|
-
# with all versions of Cargo and also rewrite `path` dependencies
|
|
6
|
-
# to registry (e.g., crates.io) dependencies.
|
|
7
|
-
#
|
|
8
|
-
# If you are reading this file be aware that the original Cargo.toml
|
|
9
|
-
# will likely look very different (and much more reasonable).
|
|
10
|
-
# See Cargo.toml.orig for the original contents.
|
|
11
|
-
|
|
12
|
-
[package]
|
|
13
|
-
edition = "2018"
|
|
14
|
-
rust-version = "1.71"
|
|
15
|
-
name = "rb-sys-build"
|
|
16
|
-
version = "0.9.124"
|
|
17
|
-
build = false
|
|
18
|
-
autolib = false
|
|
19
|
-
autobins = false
|
|
20
|
-
autoexamples = false
|
|
21
|
-
autotests = false
|
|
22
|
-
autobenches = false
|
|
23
|
-
description = "Build system for rb-sys"
|
|
24
|
-
homepage = "https://github.com/oxidize-rb/rb-sys"
|
|
25
|
-
readme = false
|
|
26
|
-
license = "MIT OR Apache-2.0"
|
|
27
|
-
repository = "https://github.com/oxidize-rb/rb-sys"
|
|
28
|
-
|
|
29
|
-
[features]
|
|
30
|
-
bindgen-deprecated-types = []
|
|
31
|
-
bindgen-enable-function-attribute-detection = []
|
|
32
|
-
bindgen-impl-debug = []
|
|
33
|
-
bindgen-layout-tests = []
|
|
34
|
-
bindgen-rbimpls = []
|
|
35
|
-
bindgen-return-const-encoding-pointers = []
|
|
36
|
-
bindgen-sizet-is-usize = []
|
|
37
|
-
default = []
|
|
38
|
-
|
|
39
|
-
[lib]
|
|
40
|
-
name = "rb_sys_build"
|
|
41
|
-
path = "src/lib.rs"
|
|
42
|
-
doctest = false
|
|
43
|
-
bench = false
|
|
44
|
-
|
|
45
|
-
[dependencies.bindgen]
|
|
46
|
-
version = "0.72"
|
|
47
|
-
features = ["runtime"]
|
|
48
|
-
default-features = false
|
|
49
|
-
|
|
50
|
-
[dependencies.lazy_static]
|
|
51
|
-
version = "1.4.0"
|
|
52
|
-
|
|
53
|
-
[dependencies.proc-macro2]
|
|
54
|
-
version = "1.0"
|
|
55
|
-
|
|
56
|
-
[dependencies.quote]
|
|
57
|
-
version = "1.0"
|
|
58
|
-
|
|
59
|
-
[dependencies.regex]
|
|
60
|
-
version = "1"
|
|
61
|
-
|
|
62
|
-
[dependencies.shell-words]
|
|
63
|
-
version = "1.1"
|
|
64
|
-
|
|
65
|
-
[dependencies.syn]
|
|
66
|
-
version = "2.0"
|
|
67
|
-
features = [
|
|
68
|
-
"parsing",
|
|
69
|
-
"full",
|
|
70
|
-
"extra-traits",
|
|
71
|
-
]
|