itsi 0.1.14 → 0.1.19

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.
Files changed (169) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +126 -272
  3. data/Cargo.toml +6 -0
  4. data/crates/itsi_error/Cargo.toml +1 -0
  5. data/crates/itsi_error/src/lib.rs +100 -10
  6. data/crates/itsi_scheduler/src/itsi_scheduler.rs +1 -1
  7. data/crates/itsi_server/Cargo.toml +12 -11
  8. data/crates/itsi_server/src/default_responses/html/401.html +68 -0
  9. data/crates/itsi_server/src/default_responses/html/403.html +68 -0
  10. data/crates/itsi_server/src/default_responses/html/404.html +68 -0
  11. data/crates/itsi_server/src/default_responses/html/413.html +71 -0
  12. data/crates/itsi_server/src/default_responses/html/429.html +68 -0
  13. data/crates/itsi_server/src/default_responses/html/500.html +71 -0
  14. data/crates/itsi_server/src/default_responses/html/502.html +71 -0
  15. data/crates/itsi_server/src/default_responses/html/503.html +68 -0
  16. data/crates/itsi_server/src/default_responses/html/504.html +69 -0
  17. data/crates/itsi_server/src/default_responses/html/index.html +238 -0
  18. data/crates/itsi_server/src/default_responses/json/401.json +6 -0
  19. data/crates/itsi_server/src/default_responses/json/403.json +6 -0
  20. data/crates/itsi_server/src/default_responses/json/404.json +6 -0
  21. data/crates/itsi_server/src/default_responses/json/413.json +6 -0
  22. data/crates/itsi_server/src/default_responses/json/429.json +6 -0
  23. data/crates/itsi_server/src/default_responses/json/500.json +6 -0
  24. data/crates/itsi_server/src/default_responses/json/502.json +6 -0
  25. data/crates/itsi_server/src/default_responses/json/503.json +6 -0
  26. data/crates/itsi_server/src/default_responses/json/504.json +6 -0
  27. data/crates/itsi_server/src/default_responses/mod.rs +11 -0
  28. data/crates/itsi_server/src/lib.rs +58 -26
  29. data/crates/itsi_server/src/prelude.rs +2 -0
  30. data/crates/itsi_server/src/ruby_types/README.md +21 -0
  31. data/crates/itsi_server/src/ruby_types/itsi_body_proxy/mod.rs +8 -6
  32. data/crates/itsi_server/src/ruby_types/itsi_grpc_call.rs +344 -0
  33. data/crates/itsi_server/src/ruby_types/{itsi_grpc_stream → itsi_grpc_response_stream}/mod.rs +121 -73
  34. data/crates/itsi_server/src/ruby_types/itsi_http_request.rs +103 -40
  35. data/crates/itsi_server/src/ruby_types/itsi_http_response.rs +8 -5
  36. data/crates/itsi_server/src/ruby_types/itsi_server/file_watcher.rs +4 -4
  37. data/crates/itsi_server/src/ruby_types/itsi_server/itsi_server_config.rs +37 -17
  38. data/crates/itsi_server/src/ruby_types/itsi_server.rs +4 -3
  39. data/crates/itsi_server/src/ruby_types/mod.rs +6 -13
  40. data/crates/itsi_server/src/server/{bind.rs → binds/bind.rs} +23 -4
  41. data/crates/itsi_server/src/server/{listener.rs → binds/listener.rs} +24 -10
  42. data/crates/itsi_server/src/server/binds/mod.rs +4 -0
  43. data/crates/itsi_server/src/server/{tls.rs → binds/tls.rs} +9 -4
  44. data/crates/itsi_server/src/server/http_message_types.rs +97 -0
  45. data/crates/itsi_server/src/server/io_stream.rs +2 -1
  46. data/crates/itsi_server/src/server/middleware_stack/middleware.rs +28 -16
  47. data/crates/itsi_server/src/server/middleware_stack/middlewares/allow_list.rs +17 -8
  48. data/crates/itsi_server/src/server/middleware_stack/middlewares/auth_api_key.rs +47 -18
  49. data/crates/itsi_server/src/server/middleware_stack/middlewares/auth_basic.rs +13 -9
  50. data/crates/itsi_server/src/server/middleware_stack/middlewares/auth_jwt.rs +50 -29
  51. data/crates/itsi_server/src/server/middleware_stack/middlewares/cache_control.rs +5 -2
  52. data/crates/itsi_server/src/server/middleware_stack/middlewares/compression.rs +37 -48
  53. data/crates/itsi_server/src/server/middleware_stack/middlewares/cors.rs +25 -20
  54. data/crates/itsi_server/src/server/middleware_stack/middlewares/deny_list.rs +14 -7
  55. data/crates/itsi_server/src/server/middleware_stack/middlewares/error_response/default_responses.rs +190 -0
  56. data/crates/itsi_server/src/server/middleware_stack/middlewares/error_response.rs +125 -95
  57. data/crates/itsi_server/src/server/middleware_stack/middlewares/etag.rs +9 -5
  58. data/crates/itsi_server/src/server/middleware_stack/middlewares/header_interpretation.rs +1 -4
  59. data/crates/itsi_server/src/server/middleware_stack/middlewares/intrusion_protection.rs +25 -19
  60. data/crates/itsi_server/src/server/middleware_stack/middlewares/log_requests.rs +4 -4
  61. data/crates/itsi_server/src/server/middleware_stack/middlewares/max_body.rs +47 -0
  62. data/crates/itsi_server/src/server/middleware_stack/middlewares/mod.rs +9 -4
  63. data/crates/itsi_server/src/server/middleware_stack/middlewares/proxy.rs +260 -62
  64. data/crates/itsi_server/src/server/middleware_stack/middlewares/rate_limit.rs +29 -22
  65. data/crates/itsi_server/src/server/middleware_stack/middlewares/redirect.rs +6 -6
  66. data/crates/itsi_server/src/server/middleware_stack/middlewares/request_headers.rs +6 -5
  67. data/crates/itsi_server/src/server/middleware_stack/middlewares/response_headers.rs +4 -2
  68. data/crates/itsi_server/src/server/middleware_stack/middlewares/ruby_app.rs +51 -18
  69. data/crates/itsi_server/src/server/middleware_stack/middlewares/static_assets.rs +31 -13
  70. data/crates/itsi_server/src/server/middleware_stack/middlewares/static_response.rs +55 -0
  71. data/crates/itsi_server/src/server/middleware_stack/middlewares/string_rewrite.rs +13 -8
  72. data/crates/itsi_server/src/server/middleware_stack/mod.rs +101 -69
  73. data/crates/itsi_server/src/server/mod.rs +3 -9
  74. data/crates/itsi_server/src/server/process_worker.rs +21 -3
  75. data/crates/itsi_server/src/server/request_job.rs +2 -2
  76. data/crates/itsi_server/src/server/serve_strategy/cluster_mode.rs +8 -3
  77. data/crates/itsi_server/src/server/serve_strategy/single_mode.rs +26 -26
  78. data/crates/itsi_server/src/server/signal.rs +24 -41
  79. data/crates/itsi_server/src/server/size_limited_incoming.rs +101 -0
  80. data/crates/itsi_server/src/server/thread_worker.rs +59 -28
  81. data/crates/itsi_server/src/services/itsi_http_service.rs +239 -0
  82. data/crates/itsi_server/src/services/mime_types.rs +1416 -0
  83. data/crates/itsi_server/src/services/mod.rs +6 -0
  84. data/crates/itsi_server/src/services/password_hasher.rs +83 -0
  85. data/crates/itsi_server/src/{server → services}/rate_limiter.rs +35 -31
  86. data/crates/itsi_server/src/{server → services}/static_file_server.rs +521 -181
  87. data/crates/itsi_tracing/src/lib.rs +145 -55
  88. data/{Itsi.rb → foo/Itsi.rb} +6 -9
  89. data/gems/scheduler/Cargo.lock +7 -0
  90. data/gems/scheduler/lib/itsi/scheduler/version.rb +1 -1
  91. data/gems/scheduler/test/helpers/test_helper.rb +0 -1
  92. data/gems/scheduler/test/test_address_resolve.rb +0 -1
  93. data/gems/scheduler/test/test_network_io.rb +1 -1
  94. data/gems/scheduler/test/test_process_wait.rb +0 -1
  95. data/gems/server/Cargo.lock +126 -272
  96. data/gems/server/exe/itsi +65 -19
  97. data/gems/server/itsi-server.gemspec +4 -3
  98. data/gems/server/lib/itsi/http_request/response_status_shortcodes.rb +74 -0
  99. data/gems/server/lib/itsi/http_request.rb +117 -17
  100. data/gems/server/lib/itsi/http_response.rb +2 -0
  101. data/gems/server/lib/itsi/passfile.rb +109 -0
  102. data/gems/server/lib/itsi/server/config/dsl.rb +171 -99
  103. data/gems/server/lib/itsi/server/config.rb +58 -23
  104. data/gems/server/lib/itsi/server/default_app/default_app.rb +25 -29
  105. data/gems/server/lib/itsi/server/default_app/index.html +113 -89
  106. data/gems/server/lib/itsi/server/{Itsi.rb → default_config/Itsi-rackup.rb} +1 -1
  107. data/gems/server/lib/itsi/server/default_config/Itsi.rb +107 -0
  108. data/gems/server/lib/itsi/server/grpc/grpc_call.rb +246 -0
  109. data/gems/server/lib/itsi/server/grpc/grpc_interface.rb +100 -0
  110. data/gems/server/lib/itsi/server/grpc/reflection/v1/reflection_pb.rb +26 -0
  111. data/gems/server/lib/itsi/server/grpc/reflection/v1/reflection_services_pb.rb +122 -0
  112. data/gems/server/lib/itsi/server/route_tester.rb +107 -0
  113. data/gems/server/lib/itsi/server/typed_handlers/param_parser.rb +200 -0
  114. data/gems/server/lib/itsi/server/typed_handlers/source_parser.rb +55 -0
  115. data/gems/server/lib/itsi/server/typed_handlers.rb +17 -0
  116. data/gems/server/lib/itsi/server/version.rb +1 -1
  117. data/gems/server/lib/itsi/server.rb +82 -12
  118. data/gems/server/lib/ruby_lsp/itsi/addon.rb +111 -0
  119. data/gems/server/lib/shell_completions/completions.rb +26 -0
  120. data/gems/server/test/helpers/test_helper.rb +2 -1
  121. data/lib/itsi/version.rb +1 -1
  122. data/sandbox/README.md +5 -0
  123. data/sandbox/itsi_file/Gemfile +4 -2
  124. data/sandbox/itsi_file/Gemfile.lock +48 -6
  125. data/sandbox/itsi_file/Itsi.rb +327 -129
  126. data/sandbox/itsi_file/call.json +1 -0
  127. data/sandbox/itsi_file/echo_client/Gemfile +10 -0
  128. data/sandbox/itsi_file/echo_client/Gemfile.lock +27 -0
  129. data/sandbox/itsi_file/echo_client/README.md +95 -0
  130. data/sandbox/itsi_file/echo_client/echo_client.rb +164 -0
  131. data/sandbox/itsi_file/echo_client/gen_proto.sh +17 -0
  132. data/sandbox/itsi_file/echo_client/lib/echo_pb.rb +16 -0
  133. data/sandbox/itsi_file/echo_client/lib/echo_services_pb.rb +29 -0
  134. data/sandbox/itsi_file/echo_client/run_client.rb +64 -0
  135. data/sandbox/itsi_file/echo_client/test_compressions.sh +20 -0
  136. data/sandbox/itsi_file/echo_service_nonitsi/Gemfile +10 -0
  137. data/sandbox/itsi_file/echo_service_nonitsi/Gemfile.lock +79 -0
  138. data/sandbox/itsi_file/echo_service_nonitsi/echo.proto +26 -0
  139. data/sandbox/itsi_file/echo_service_nonitsi/echo_pb.rb +16 -0
  140. data/sandbox/itsi_file/echo_service_nonitsi/echo_services_pb.rb +29 -0
  141. data/sandbox/itsi_file/echo_service_nonitsi/server.rb +52 -0
  142. data/sandbox/itsi_sandbox_async/config.ru +0 -1
  143. data/sandbox/itsi_sandbox_rack/Gemfile.lock +2 -2
  144. data/sandbox/itsi_sandbox_rails/Gemfile +2 -2
  145. data/sandbox/itsi_sandbox_rails/Gemfile.lock +76 -2
  146. data/sandbox/itsi_sandbox_rails/app/controllers/home_controller.rb +15 -0
  147. data/sandbox/itsi_sandbox_rails/config/environments/development.rb +1 -0
  148. data/sandbox/itsi_sandbox_rails/config/environments/production.rb +1 -0
  149. data/sandbox/itsi_sandbox_rails/config/routes.rb +2 -0
  150. data/sandbox/itsi_sinatra/app.rb +0 -1
  151. data/sandbox/static_files/.env +1 -0
  152. data/sandbox/static_files/404.html +25 -0
  153. data/sandbox/static_files/_DSC0102.NEF.jpg +0 -0
  154. data/sandbox/static_files/about.html +68 -0
  155. data/sandbox/static_files/tiny.html +1 -0
  156. data/sandbox/static_files/writebook.zip +0 -0
  157. data/tasks.txt +28 -33
  158. metadata +87 -26
  159. data/crates/itsi_error/src/from.rs +0 -68
  160. data/crates/itsi_server/src/ruby_types/itsi_grpc_request.rs +0 -147
  161. data/crates/itsi_server/src/ruby_types/itsi_grpc_response.rs +0 -19
  162. data/crates/itsi_server/src/server/itsi_service.rs +0 -172
  163. data/crates/itsi_server/src/server/middleware_stack/middlewares/grpc_service.rs +0 -72
  164. data/crates/itsi_server/src/server/types.rs +0 -43
  165. data/gems/server/lib/itsi/server/grpc_interface.rb +0 -213
  166. data/sandbox/itsi_file/public/assets/index.html +0 -1
  167. /data/crates/itsi_server/src/server/{bind_protocol.rs → binds/bind_protocol.rs} +0 -0
  168. /data/crates/itsi_server/src/server/{tls → binds/tls}/locked_dir_cache.rs +0 -0
  169. /data/crates/itsi_server/src/{server → services}/cache_store.rs +0 -0
data/Cargo.lock CHANGED
@@ -56,12 +56,30 @@ dependencies = [
56
56
  "libc",
57
57
  ]
58
58
 
59
+ [[package]]
60
+ name = "anyhow"
61
+ version = "1.0.97"
62
+ source = "registry+https://github.com/rust-lang/crates.io-index"
63
+ checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f"
64
+
59
65
  [[package]]
60
66
  name = "arc-swap"
61
67
  version = "1.7.1"
62
68
  source = "registry+https://github.com/rust-lang/crates.io-index"
63
69
  checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
64
70
 
71
+ [[package]]
72
+ name = "argon2"
73
+ version = "0.5.3"
74
+ source = "registry+https://github.com/rust-lang/crates.io-index"
75
+ checksum = "3c3610892ee6e0cbce8ae2700349fcf8f98adb0dbfbee85aec3c9179d29cc072"
76
+ dependencies = [
77
+ "base64ct",
78
+ "blake2",
79
+ "cpufeatures",
80
+ "password-hash",
81
+ ]
82
+
65
83
  [[package]]
66
84
  name = "asn1-rs"
67
85
  version = "0.6.2"
@@ -122,6 +140,7 @@ dependencies = [
122
140
  "brotli",
123
141
  "flate2",
124
142
  "futures-core",
143
+ "futures-io",
125
144
  "memchr",
126
145
  "pin-project-lite",
127
146
  "tokio",
@@ -218,6 +237,25 @@ version = "0.22.1"
218
237
  source = "registry+https://github.com/rust-lang/crates.io-index"
219
238
  checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
220
239
 
240
+ [[package]]
241
+ name = "base64ct"
242
+ version = "1.7.3"
243
+ source = "registry+https://github.com/rust-lang/crates.io-index"
244
+ checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3"
245
+
246
+ [[package]]
247
+ name = "bcrypt"
248
+ version = "0.17.0"
249
+ source = "registry+https://github.com/rust-lang/crates.io-index"
250
+ checksum = "92758ad6077e4c76a6cadbce5005f666df70d4f13b19976b1a8062eef880040f"
251
+ dependencies = [
252
+ "base64",
253
+ "blowfish",
254
+ "getrandom 0.3.1",
255
+ "subtle",
256
+ "zeroize",
257
+ ]
258
+
221
259
  [[package]]
222
260
  name = "bindgen"
223
261
  version = "0.69.5"
@@ -253,6 +291,15 @@ version = "2.8.0"
253
291
  source = "registry+https://github.com/rust-lang/crates.io-index"
254
292
  checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36"
255
293
 
294
+ [[package]]
295
+ name = "blake2"
296
+ version = "0.10.6"
297
+ source = "registry+https://github.com/rust-lang/crates.io-index"
298
+ checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe"
299
+ dependencies = [
300
+ "digest",
301
+ ]
302
+
256
303
  [[package]]
257
304
  name = "block-buffer"
258
305
  version = "0.10.4"
@@ -262,6 +309,16 @@ dependencies = [
262
309
  "generic-array",
263
310
  ]
264
311
 
312
+ [[package]]
313
+ name = "blowfish"
314
+ version = "0.9.1"
315
+ source = "registry+https://github.com/rust-lang/crates.io-index"
316
+ checksum = "e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7"
317
+ dependencies = [
318
+ "byteorder",
319
+ "cipher",
320
+ ]
321
+
265
322
  [[package]]
266
323
  name = "brotli"
267
324
  version = "7.0.0"
@@ -299,6 +356,12 @@ version = "3.17.0"
299
356
  source = "registry+https://github.com/rust-lang/crates.io-index"
300
357
  checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf"
301
358
 
359
+ [[package]]
360
+ name = "byteorder"
361
+ version = "1.5.0"
362
+ source = "registry+https://github.com/rust-lang/crates.io-index"
363
+ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
364
+
302
365
  [[package]]
303
366
  name = "bytes"
304
367
  version = "1.10.1"
@@ -351,6 +414,16 @@ dependencies = [
351
414
  "windows-link",
352
415
  ]
353
416
 
417
+ [[package]]
418
+ name = "cipher"
419
+ version = "0.4.4"
420
+ source = "registry+https://github.com/rust-lang/crates.io-index"
421
+ checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
422
+ dependencies = [
423
+ "crypto-common",
424
+ "inout",
425
+ ]
426
+
354
427
  [[package]]
355
428
  name = "clang-sys"
356
429
  version = "1.8.1"
@@ -394,16 +467,6 @@ dependencies = [
394
467
  "crossbeam-utils",
395
468
  ]
396
469
 
397
- [[package]]
398
- name = "core-foundation"
399
- version = "0.9.4"
400
- source = "registry+https://github.com/rust-lang/crates.io-index"
401
- checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
402
- dependencies = [
403
- "core-foundation-sys",
404
- "libc",
405
- ]
406
-
407
470
  [[package]]
408
471
  name = "core-foundation"
409
472
  version = "0.10.0"
@@ -420,6 +483,17 @@ version = "0.8.7"
420
483
  source = "registry+https://github.com/rust-lang/crates.io-index"
421
484
  checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
422
485
 
486
+ [[package]]
487
+ name = "core_affinity"
488
+ version = "0.8.3"
489
+ source = "registry+https://github.com/rust-lang/crates.io-index"
490
+ checksum = "a034b3a7b624016c6e13f5df875747cc25f884156aad2abd12b6c46797971342"
491
+ dependencies = [
492
+ "libc",
493
+ "num_cpus",
494
+ "winapi",
495
+ ]
496
+
423
497
  [[package]]
424
498
  name = "cpufeatures"
425
499
  version = "0.2.17"
@@ -438,19 +512,6 @@ dependencies = [
438
512
  "cfg-if",
439
513
  ]
440
514
 
441
- [[package]]
442
- name = "crossbeam"
443
- version = "0.8.4"
444
- source = "registry+https://github.com/rust-lang/crates.io-index"
445
- checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8"
446
- dependencies = [
447
- "crossbeam-channel",
448
- "crossbeam-deque",
449
- "crossbeam-epoch",
450
- "crossbeam-queue",
451
- "crossbeam-utils",
452
- ]
453
-
454
515
  [[package]]
455
516
  name = "crossbeam-channel"
456
517
  version = "0.5.14"
@@ -479,15 +540,6 @@ dependencies = [
479
540
  "crossbeam-utils",
480
541
  ]
481
542
 
482
- [[package]]
483
- name = "crossbeam-queue"
484
- version = "0.3.12"
485
- source = "registry+https://github.com/rust-lang/crates.io-index"
486
- checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115"
487
- dependencies = [
488
- "crossbeam-utils",
489
- ]
490
-
491
543
  [[package]]
492
544
  name = "crossbeam-utils"
493
545
  version = "0.8.21"
@@ -504,20 +556,6 @@ dependencies = [
504
556
  "typenum",
505
557
  ]
506
558
 
507
- [[package]]
508
- name = "dashmap"
509
- version = "6.1.0"
510
- source = "registry+https://github.com/rust-lang/crates.io-index"
511
- checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf"
512
- dependencies = [
513
- "cfg-if",
514
- "crossbeam-utils",
515
- "hashbrown 0.14.5",
516
- "lock_api",
517
- "once_cell",
518
- "parking_lot_core",
519
- ]
520
-
521
559
  [[package]]
522
560
  name = "data-encoding"
523
561
  version = "2.8.0"
@@ -623,15 +661,6 @@ version = "1.15.0"
623
661
  source = "registry+https://github.com/rust-lang/crates.io-index"
624
662
  checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
625
663
 
626
- [[package]]
627
- name = "encoding_rs"
628
- version = "0.8.35"
629
- source = "registry+https://github.com/rust-lang/crates.io-index"
630
- checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
631
- dependencies = [
632
- "cfg-if",
633
- ]
634
-
635
664
  [[package]]
636
665
  name = "equivalent"
637
666
  version = "1.0.2"
@@ -703,21 +732,6 @@ version = "1.0.7"
703
732
  source = "registry+https://github.com/rust-lang/crates.io-index"
704
733
  checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
705
734
 
706
- [[package]]
707
- name = "foreign-types"
708
- version = "0.3.2"
709
- source = "registry+https://github.com/rust-lang/crates.io-index"
710
- checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
711
- dependencies = [
712
- "foreign-types-shared",
713
- ]
714
-
715
- [[package]]
716
- name = "foreign-types-shared"
717
- version = "0.1.1"
718
- source = "registry+https://github.com/rust-lang/crates.io-index"
719
- checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
720
-
721
735
  [[package]]
722
736
  name = "form_urlencoded"
723
737
  version = "1.2.1"
@@ -933,12 +947,6 @@ dependencies = [
933
947
  "tracing",
934
948
  ]
935
949
 
936
- [[package]]
937
- name = "hashbrown"
938
- version = "0.14.5"
939
- source = "registry+https://github.com/rust-lang/crates.io-index"
940
- checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
941
-
942
950
  [[package]]
943
951
  name = "hashbrown"
944
952
  version = "0.15.2"
@@ -960,15 +968,6 @@ version = "0.3.9"
960
968
  source = "registry+https://github.com/rust-lang/crates.io-index"
961
969
  checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
962
970
 
963
- [[package]]
964
- name = "hmac"
965
- version = "0.12.1"
966
- source = "registry+https://github.com/rust-lang/crates.io-index"
967
- checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
968
- dependencies = [
969
- "digest",
970
- ]
971
-
972
971
  [[package]]
973
972
  name = "home"
974
973
  version = "0.5.11"
@@ -1012,12 +1011,6 @@ dependencies = [
1012
1011
  "pin-project-lite",
1013
1012
  ]
1014
1013
 
1015
- [[package]]
1016
- name = "http-range"
1017
- version = "0.1.5"
1018
- source = "registry+https://github.com/rust-lang/crates.io-index"
1019
- checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573"
1020
-
1021
1014
  [[package]]
1022
1015
  name = "httparse"
1023
1016
  version = "1.10.1"
@@ -1069,41 +1062,6 @@ dependencies = [
1069
1062
  "webpki-roots",
1070
1063
  ]
1071
1064
 
1072
- [[package]]
1073
- name = "hyper-staticfile"
1074
- version = "0.10.1"
1075
- source = "registry+https://github.com/rust-lang/crates.io-index"
1076
- checksum = "bc4bce64c32578957926e75f832032f81ebb30bcee74f86c5848b13a69e547eb"
1077
- dependencies = [
1078
- "futures-util",
1079
- "http",
1080
- "http-range",
1081
- "httpdate",
1082
- "hyper",
1083
- "mime_guess",
1084
- "percent-encoding",
1085
- "rand 0.8.5",
1086
- "tokio",
1087
- "url",
1088
- "winapi",
1089
- ]
1090
-
1091
- [[package]]
1092
- name = "hyper-tls"
1093
- version = "0.6.0"
1094
- source = "registry+https://github.com/rust-lang/crates.io-index"
1095
- checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
1096
- dependencies = [
1097
- "bytes",
1098
- "http-body-util",
1099
- "hyper",
1100
- "hyper-util",
1101
- "native-tls",
1102
- "tokio",
1103
- "tokio-native-tls",
1104
- "tower-service",
1105
- ]
1106
-
1107
1065
  [[package]]
1108
1066
  name = "hyper-util"
1109
1067
  version = "0.1.10"
@@ -1292,7 +1250,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1292
1250
  checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652"
1293
1251
  dependencies = [
1294
1252
  "equivalent",
1295
- "hashbrown 0.15.2",
1253
+ "hashbrown",
1296
1254
  ]
1297
1255
 
1298
1256
  [[package]]
@@ -1315,6 +1273,15 @@ dependencies = [
1315
1273
  "libc",
1316
1274
  ]
1317
1275
 
1276
+ [[package]]
1277
+ name = "inout"
1278
+ version = "0.1.4"
1279
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1280
+ checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01"
1281
+ dependencies = [
1282
+ "generic-array",
1283
+ ]
1284
+
1318
1285
  [[package]]
1319
1286
  name = "ipnet"
1320
1287
  version = "2.11.0"
@@ -1356,30 +1323,28 @@ dependencies = [
1356
1323
 
1357
1324
  [[package]]
1358
1325
  name = "itsi-server"
1359
- version = "0.1.0"
1326
+ version = "0.1.19"
1360
1327
  dependencies = [
1328
+ "argon2",
1361
1329
  "async-channel",
1362
1330
  "async-compression",
1363
1331
  "async-trait",
1364
1332
  "base64",
1333
+ "bcrypt",
1365
1334
  "bytes",
1366
1335
  "chrono",
1367
- "crossbeam",
1368
- "dashmap",
1336
+ "core_affinity",
1369
1337
  "derive_more",
1370
1338
  "dirs",
1371
1339
  "either",
1372
- "fnv",
1373
1340
  "fs2",
1374
1341
  "futures",
1375
1342
  "globset",
1376
- "hmac",
1377
1343
  "http",
1378
1344
  "http-body-util",
1379
1345
  "httparse",
1380
1346
  "httpdate",
1381
1347
  "hyper",
1382
- "hyper-staticfile",
1383
1348
  "hyper-util",
1384
1349
  "itsi_error",
1385
1350
  "itsi_rb_helpers",
@@ -1392,20 +1357,19 @@ dependencies = [
1392
1357
  "notify",
1393
1358
  "num_cpus",
1394
1359
  "parking_lot",
1360
+ "percent-encoding",
1395
1361
  "pin-project",
1396
1362
  "rand 0.9.0",
1397
- "rb-sys",
1398
1363
  "rcgen",
1399
1364
  "redis",
1400
1365
  "regex",
1401
1366
  "reqwest",
1402
- "ring",
1403
- "route-recognizer",
1404
1367
  "rustls",
1405
1368
  "rustls-pemfile",
1406
1369
  "serde",
1407
1370
  "serde_json",
1408
1371
  "serde_magnus",
1372
+ "sha-crypt",
1409
1373
  "sha2",
1410
1374
  "socket2",
1411
1375
  "sysinfo",
@@ -1417,13 +1381,13 @@ dependencies = [
1417
1381
  "tokio-util",
1418
1382
  "tracing",
1419
1383
  "url",
1420
- "uuid",
1421
1384
  ]
1422
1385
 
1423
1386
  [[package]]
1424
1387
  name = "itsi_error"
1425
1388
  version = "0.1.0"
1426
1389
  dependencies = [
1390
+ "anyhow",
1427
1391
  "httparse",
1428
1392
  "magnus",
1429
1393
  "nix",
@@ -1662,16 +1626,6 @@ version = "0.3.17"
1662
1626
  source = "registry+https://github.com/rust-lang/crates.io-index"
1663
1627
  checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
1664
1628
 
1665
- [[package]]
1666
- name = "mime_guess"
1667
- version = "2.0.5"
1668
- source = "registry+https://github.com/rust-lang/crates.io-index"
1669
- checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e"
1670
- dependencies = [
1671
- "mime",
1672
- "unicase",
1673
- ]
1674
-
1675
1629
  [[package]]
1676
1630
  name = "minimal-lexical"
1677
1631
  version = "0.2.1"
@@ -1718,23 +1672,6 @@ dependencies = [
1718
1672
  "uuid",
1719
1673
  ]
1720
1674
 
1721
- [[package]]
1722
- name = "native-tls"
1723
- version = "0.2.14"
1724
- source = "registry+https://github.com/rust-lang/crates.io-index"
1725
- checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e"
1726
- dependencies = [
1727
- "libc",
1728
- "log",
1729
- "openssl",
1730
- "openssl-probe",
1731
- "openssl-sys",
1732
- "schannel",
1733
- "security-framework 2.11.1",
1734
- "security-framework-sys",
1735
- "tempfile",
1736
- ]
1737
-
1738
1675
  [[package]]
1739
1676
  name = "nix"
1740
1677
  version = "0.29.0"
@@ -1870,50 +1807,12 @@ version = "1.20.3"
1870
1807
  source = "registry+https://github.com/rust-lang/crates.io-index"
1871
1808
  checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e"
1872
1809
 
1873
- [[package]]
1874
- name = "openssl"
1875
- version = "0.10.71"
1876
- source = "registry+https://github.com/rust-lang/crates.io-index"
1877
- checksum = "5e14130c6a98cd258fdcb0fb6d744152343ff729cbfcb28c656a9d12b999fbcd"
1878
- dependencies = [
1879
- "bitflags 2.8.0",
1880
- "cfg-if",
1881
- "foreign-types",
1882
- "libc",
1883
- "once_cell",
1884
- "openssl-macros",
1885
- "openssl-sys",
1886
- ]
1887
-
1888
- [[package]]
1889
- name = "openssl-macros"
1890
- version = "0.1.1"
1891
- source = "registry+https://github.com/rust-lang/crates.io-index"
1892
- checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
1893
- dependencies = [
1894
- "proc-macro2",
1895
- "quote",
1896
- "syn 2.0.98",
1897
- ]
1898
-
1899
1810
  [[package]]
1900
1811
  name = "openssl-probe"
1901
1812
  version = "0.1.6"
1902
1813
  source = "registry+https://github.com/rust-lang/crates.io-index"
1903
1814
  checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
1904
1815
 
1905
- [[package]]
1906
- name = "openssl-sys"
1907
- version = "0.9.106"
1908
- source = "registry+https://github.com/rust-lang/crates.io-index"
1909
- checksum = "8bb61ea9811cc39e3c2069f40b8b8e2e70d8569b361f879786cc7ed48b777cdd"
1910
- dependencies = [
1911
- "cc",
1912
- "libc",
1913
- "pkg-config",
1914
- "vcpkg",
1915
- ]
1916
-
1917
1816
  [[package]]
1918
1817
  name = "option-ext"
1919
1818
  version = "0.2.0"
@@ -1955,6 +1854,17 @@ dependencies = [
1955
1854
  "windows-targets 0.52.6",
1956
1855
  ]
1957
1856
 
1857
+ [[package]]
1858
+ name = "password-hash"
1859
+ version = "0.5.0"
1860
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1861
+ checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166"
1862
+ dependencies = [
1863
+ "base64ct",
1864
+ "rand_core 0.6.4",
1865
+ "subtle",
1866
+ ]
1867
+
1958
1868
  [[package]]
1959
1869
  name = "paste"
1960
1870
  version = "1.0.15"
@@ -2351,22 +2261,18 @@ checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb"
2351
2261
  dependencies = [
2352
2262
  "base64",
2353
2263
  "bytes",
2354
- "encoding_rs",
2355
2264
  "futures-core",
2356
2265
  "futures-util",
2357
- "h2",
2358
2266
  "http",
2359
2267
  "http-body",
2360
2268
  "http-body-util",
2361
2269
  "hyper",
2362
2270
  "hyper-rustls",
2363
- "hyper-tls",
2364
2271
  "hyper-util",
2365
2272
  "ipnet",
2366
2273
  "js-sys",
2367
2274
  "log",
2368
2275
  "mime",
2369
- "native-tls",
2370
2276
  "once_cell",
2371
2277
  "percent-encoding",
2372
2278
  "pin-project-lite",
@@ -2378,9 +2284,7 @@ dependencies = [
2378
2284
  "serde_json",
2379
2285
  "serde_urlencoded",
2380
2286
  "sync_wrapper",
2381
- "system-configuration",
2382
2287
  "tokio",
2383
- "tokio-native-tls",
2384
2288
  "tokio-rustls",
2385
2289
  "tokio-util",
2386
2290
  "tower",
@@ -2408,12 +2312,6 @@ dependencies = [
2408
2312
  "windows-sys 0.52.0",
2409
2313
  ]
2410
2314
 
2411
- [[package]]
2412
- name = "route-recognizer"
2413
- version = "0.3.1"
2414
- source = "registry+https://github.com/rust-lang/crates.io-index"
2415
- checksum = "afab94fb28594581f62d981211a9a4d53cc8130bbcbbb89a0440d9b8e81a7746"
2416
-
2417
2315
  [[package]]
2418
2316
  name = "rustc-demangle"
2419
2317
  version = "0.1.24"
@@ -2501,7 +2399,7 @@ dependencies = [
2501
2399
  "openssl-probe",
2502
2400
  "rustls-pki-types",
2503
2401
  "schannel",
2504
- "security-framework 3.2.0",
2402
+ "security-framework",
2505
2403
  ]
2506
2404
 
2507
2405
  [[package]]
@@ -2585,19 +2483,6 @@ version = "1.2.0"
2585
2483
  source = "registry+https://github.com/rust-lang/crates.io-index"
2586
2484
  checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
2587
2485
 
2588
- [[package]]
2589
- name = "security-framework"
2590
- version = "2.11.1"
2591
- source = "registry+https://github.com/rust-lang/crates.io-index"
2592
- checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02"
2593
- dependencies = [
2594
- "bitflags 2.8.0",
2595
- "core-foundation 0.9.4",
2596
- "core-foundation-sys",
2597
- "libc",
2598
- "security-framework-sys",
2599
- ]
2600
-
2601
2486
  [[package]]
2602
2487
  name = "security-framework"
2603
2488
  version = "3.2.0"
@@ -2605,7 +2490,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
2605
2490
  checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316"
2606
2491
  dependencies = [
2607
2492
  "bitflags 2.8.0",
2608
- "core-foundation 0.10.0",
2493
+ "core-foundation",
2609
2494
  "core-foundation-sys",
2610
2495
  "libc",
2611
2496
  "security-framework-sys",
@@ -2688,6 +2573,18 @@ dependencies = [
2688
2573
  "serde",
2689
2574
  ]
2690
2575
 
2576
+ [[package]]
2577
+ name = "sha-crypt"
2578
+ version = "0.5.0"
2579
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2580
+ checksum = "88e79009728d8311d42d754f2f319a975f9e38f156fd5e422d2451486c78b286"
2581
+ dependencies = [
2582
+ "base64ct",
2583
+ "rand 0.8.5",
2584
+ "sha2",
2585
+ "subtle",
2586
+ ]
2587
+
2691
2588
  [[package]]
2692
2589
  name = "sha1_smol"
2693
2590
  version = "1.0.1"
@@ -2840,27 +2737,6 @@ dependencies = [
2840
2737
  "windows 0.57.0",
2841
2738
  ]
2842
2739
 
2843
- [[package]]
2844
- name = "system-configuration"
2845
- version = "0.6.1"
2846
- source = "registry+https://github.com/rust-lang/crates.io-index"
2847
- checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b"
2848
- dependencies = [
2849
- "bitflags 2.8.0",
2850
- "core-foundation 0.9.4",
2851
- "system-configuration-sys",
2852
- ]
2853
-
2854
- [[package]]
2855
- name = "system-configuration-sys"
2856
- version = "0.6.0"
2857
- source = "registry+https://github.com/rust-lang/crates.io-index"
2858
- checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4"
2859
- dependencies = [
2860
- "core-foundation-sys",
2861
- "libc",
2862
- ]
2863
-
2864
2740
  [[package]]
2865
2741
  name = "tagptr"
2866
2742
  version = "0.2.0"
@@ -3022,16 +2898,6 @@ dependencies = [
3022
2898
  "syn 2.0.98",
3023
2899
  ]
3024
2900
 
3025
- [[package]]
3026
- name = "tokio-native-tls"
3027
- version = "0.3.1"
3028
- source = "registry+https://github.com/rust-lang/crates.io-index"
3029
- checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
3030
- dependencies = [
3031
- "native-tls",
3032
- "tokio",
3033
- ]
3034
-
3035
2901
  [[package]]
3036
2902
  name = "tokio-rustls"
3037
2903
  version = "0.26.2"
@@ -3219,12 +3085,6 @@ version = "1.18.0"
3219
3085
  source = "registry+https://github.com/rust-lang/crates.io-index"
3220
3086
  checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
3221
3087
 
3222
- [[package]]
3223
- name = "unicase"
3224
- version = "2.8.1"
3225
- source = "registry+https://github.com/rust-lang/crates.io-index"
3226
- checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539"
3227
-
3228
3088
  [[package]]
3229
3089
  name = "unicode-ident"
3230
3090
  version = "1.0.17"
@@ -3281,12 +3141,6 @@ version = "0.1.1"
3281
3141
  source = "registry+https://github.com/rust-lang/crates.io-index"
3282
3142
  checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65"
3283
3143
 
3284
- [[package]]
3285
- name = "vcpkg"
3286
- version = "0.2.15"
3287
- source = "registry+https://github.com/rust-lang/crates.io-index"
3288
- checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
3289
-
3290
3144
  [[package]]
3291
3145
  name = "version_check"
3292
3146
  version = "0.9.5"
data/Cargo.toml CHANGED
@@ -11,3 +11,9 @@ members = [
11
11
  "./crates/itsi_rb_helpers",
12
12
  ]
13
13
  resolver = "2"
14
+
15
+
16
+ [profile.release]
17
+ opt-level = 3
18
+ codegen-units = 1
19
+ lto = "fat"