intranet-core 2.3.2 → 2.3.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c7e47a94a48b6d2b3f4c65189c7fc94327e5f53de9a899bcb28da2258e6070fb
4
- data.tar.gz: add7936f6332a55e6c941a921d6640f1cbfdaab2cb898f5379ee00a22a64d518
3
+ metadata.gz: 76f13ef8a3ab5032152a1a6d5c4a94fca53f02a74492ae02fe3e0af354e06e2c
4
+ data.tar.gz: ee7c7404de4b6c417ff25f1d39d94eef2adc8a482e0a9b1ed5f7817f6b62a5e8
5
5
  SHA512:
6
- metadata.gz: 88b987f64a395931ef5da9cd12988d6b0d798428511cda1e23b10ae36ed8f7e50460fc2ccfb1faf89aaa8f6c2e36f97ccb730d0be7f6b401df6ceb61e93b6981
7
- data.tar.gz: eaf83db0c2c7a1c1692659a3a2442741972fbf75248da2bbd6ef012d37be3dc1434d1155099fc9767f318373802490eaf8c11dd4ef881b21440586e52d2b1a2a
6
+ metadata.gz: d5e60003e1e2071a6da97d46d54a116cafd4b66d171d98914f0fb6c88ebee962a700681e96dd5ffbfdf2799a49677148840c49443aa1e31d0c4085688678a0d2
7
+ data.tar.gz: 2c40affb90abccfca11a0c38032f03f094c8fa9f907cf60cf1815a93a35c51b0736b9572bb4e249ed71462305e2a834ba245c73bb2aa387a7123f15dd17d7ee4
data/lib/intranet/core.rb CHANGED
@@ -91,10 +91,11 @@ module Intranet
91
91
  # See https://github.com/nahi/webrick/blob/master/lib/webrick/accesslog.rb#L69
92
92
  ACCESSLOG_FMT = "%h '%r' -> %s (%b bytes in %Ts)"
93
93
 
94
- def load_http_server(preferred_port)
94
+ def load_http_server(preferred_port) # rubocop:disable Metrics/MethodLength
95
95
  @port = preferred_port
96
96
  begin
97
- WEBrick::HTTPServer.new(Port: @port, Logger: @logger, AccessLog: [[@logger, ACCESSLOG_FMT]])
97
+ WEBrick::HTTPServer.new(Port: @port, Logger: @logger, AccessLog: [[@logger, ACCESSLOG_FMT]],
98
+ ServerSoftware: nil)
98
99
  rescue Errno::EACCES # not enough permission to use port 80
99
100
  @port = 8080
100
101
  retry
@@ -6,7 +6,7 @@ module Intranet
6
6
  NAME = 'intranet-core'
7
7
 
8
8
  # The version of the gem, according to semantic versionning.
9
- VERSION = '2.3.2'
9
+ VERSION = '2.3.3'
10
10
 
11
11
  # The URL of the gem homepage.
12
12
  HOMEPAGE_URL = 'https://rubygems.org/gems/intranet-core'
@@ -61,6 +61,31 @@ RSpec.describe Intranet::Core do
61
61
  thread&.join
62
62
  end
63
63
 
64
+ it 'should not advertise server version in HTTP response headers' do
65
+ @intranet = described_class.new(Intranet::Logger.new(Intranet::Logger::FATAL))
66
+ thread = Thread.new { @intranet.start }
67
+ while @intranet.instance_variable_get(:@server).status != :Running
68
+ end
69
+
70
+ socket = TCPSocket.new('localhost', @intranet.port)
71
+ socket.puts("GET /design/favicon.ico HTTP/1.1\r\nHost: localhost:#{@intranet.port}\r\n\r\n")
72
+ server_identification = ''
73
+ expect(socket.gets).to include('HTTP/1.1 200 OK') # pre-requisite
74
+ while (line = socket.gets.chomp) # look for Server response header
75
+ break if line.empty?
76
+
77
+ if line.start_with?('Server: ')
78
+ server_identification = line[8..-1]
79
+ break
80
+ end
81
+ end
82
+ expect(server_identification).to be_empty
83
+ socket.close
84
+
85
+ @intranet.stop
86
+ thread&.join
87
+ end
88
+
64
89
  context 'when no module is registered' do
65
90
  it 'should return HTTP error 404 when requested for /index.html' do
66
91
  @intranet = described_class.new(Intranet::Logger.new(Intranet::Logger::FATAL))
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: intranet-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.2
4
+ version: 2.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ebling Mis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-26 00:00:00.000000000 Z
11
+ date: 2021-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: haml