termfront 0.1.2 → 0.1.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2fd6067c562cc7a0a01f4c71d3e35582366c77f2e9d677a84fcc6bc30a800748
4
- data.tar.gz: 0773d031711ed21fcac539ae9b9e90a84c058308ed6d4ea5c7393b4dc85248ff
3
+ metadata.gz: 64c01550bc002aa40824296474323c7dc6126447fe52bd8acb8cf150514a68af
4
+ data.tar.gz: 07c871ac0a859394d94d98189700195a8a98469c0f319d8748482ff79f617883
5
5
  SHA512:
6
- metadata.gz: 94d5836a718e20fc6fce13a642f19d30e36294bed15703e265288179a43b0ae3960613cda90cf91f553175a81f2d6b7e2fe4ac2c73b1856f467fc498464e7fea
7
- data.tar.gz: 2416935f643801b897a5b9080a5bd6570bf9bfe2e13e310ada37696a6f1d1ce2630af6b8397470ac46fc06ffc58baec8aae43e8ac8233d1dc6f89170abbe2e1f
6
+ metadata.gz: 665f32c4d60b34330ba53c5beafed57826c5b1402a9855c613cd40941dbb4ea8bd29dd93eeb564b90513809d7f26e7f649624d1fe749054ead899884865f74c3
7
+ data.tar.gz: 5d5f99b125210dbf8980cea284f112279178d228499f1caad9880deb99869cced727bfd180d5b1b8db645c10aa6627c7ba79e218b6093fd8e74b37f2bf5bf102
data/CHANGELOG.md CHANGED
@@ -6,6 +6,12 @@ The format is based on Keep a Changelog, and this project follows Semantic Versi
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.1.3] - 2026-05-24
10
+
11
+ ### Fixed
12
+
13
+ - Fixed TLS server certificate loading to include intermediate certificates from `fullchain.pem`, allowing clients to verify Let's Encrypt chains correctly
14
+
9
15
  ## [0.1.2] - 2026-05-23
10
16
 
11
17
  ### Added
@@ -43,11 +43,12 @@ module Termfront
43
43
  end
44
44
 
45
45
  def run
46
- cert, key = load_or_create_cert
46
+ cert, key, chain = load_or_create_cert
47
47
 
48
48
  ctx = OpenSSL::SSL::SSLContext.new
49
49
  ctx.cert = cert
50
50
  ctx.key = key
51
+ ctx.extra_chain_cert = chain unless chain.empty?
51
52
 
52
53
  tcp_server = TCPServer.new("0.0.0.0", @port)
53
54
  ssl_server = OpenSSL::SSL::SSLServer.new(tcp_server, ctx)
@@ -593,7 +594,10 @@ module Termfront
593
594
  key_file = ENV.fetch("TERMFRONT_TLS_KEY_FILE", "termfront_server.key")
594
595
 
595
596
  if File.exist?(cert_file) && File.exist?(key_file)
596
- cert = OpenSSL::X509::Certificate.new(File.read(cert_file))
597
+ certs = OpenSSL::X509::Certificate.load(File.read(cert_file))
598
+ certs = [certs] unless certs.is_a?(Array)
599
+ cert = certs.first
600
+ chain = certs.drop(1)
597
601
  key = OpenSSL::PKey::RSA.new(File.read(key_file))
598
602
  puts "Loaded existing certificate."
599
603
  else
@@ -601,8 +605,9 @@ module Termfront
601
605
  File.write(cert_file, cert.to_pem)
602
606
  File.write(key_file, key.to_pem)
603
607
  puts "Generated new self-signed certificate."
608
+ chain = []
604
609
  end
605
- [cert, key]
610
+ [cert, key, chain]
606
611
  end
607
612
 
608
613
  def pvp_spawns
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Termfront
4
- VERSION = "0.1.2"
4
+ VERSION = "0.1.3"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: termfront
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - S-H-GAMELINKS