mdns 0.1.0 → 0.1.1
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.md +2 -0
- data/lib/mdns.rb +6 -0
- data/lib/mdns/version.rb +1 -1
- data/spec/mdns_spec.rb +5 -4
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bca55f3f34bb8ab9db1ed068b8b54268907ecc9b
|
4
|
+
data.tar.gz: e381e610267d9ad5d0173088878483b73878c2ff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 940561dde56ba54f76a9ca53d923c90a496d415be14f90234977afb4a6168ee6fe7b93e857ec40e19fdf630aa522e54067588f6b536e96d98c8ed8e0995baa5b
|
7
|
+
data.tar.gz: 142e391e538977caead733a5ae577cbeb2eda9d44803c0a99e6567d2c24199a11b3b25d36231f449b540d8455be978ae246bc26a6310a19ac60f5b07ce025f38
|
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# mDNS
|
2
2
|
|
3
|
+
[](https://rubygems.org/gems/mdns) [](https://travis-ci.org/chendo/mdns)
|
4
|
+
|
3
5
|
Ever wanted to create your own custom `.local` hostnames on your network? Now you can!
|
4
6
|
|
5
7
|
This gem implements a super naive mDNS server that listens for queries matching entries you add, and responds to them.
|
data/lib/mdns.rb
CHANGED
@@ -19,6 +19,7 @@ class MDNS
|
|
19
19
|
@thr = Thread.new do
|
20
20
|
loop do
|
21
21
|
data = @socket.recvfrom(1024)
|
22
|
+
next unless data[0...8] == "\x00\x00\x00\x00\x00\x01\x00\x00"
|
22
23
|
packet = begin
|
23
24
|
Net::DNS::Packet::parse(data)
|
24
25
|
rescue => e
|
@@ -73,6 +74,11 @@ class MDNS
|
|
73
74
|
records.keys
|
74
75
|
end
|
75
76
|
|
77
|
+
def reset
|
78
|
+
@records = nil
|
79
|
+
stop
|
80
|
+
end
|
81
|
+
|
76
82
|
def stop
|
77
83
|
if @thr
|
78
84
|
@thr.kill
|
data/lib/mdns/version.rb
CHANGED
data/spec/mdns_spec.rb
CHANGED
@@ -4,6 +4,11 @@ require 'resolv'
|
|
4
4
|
describe MDNS do
|
5
5
|
let(:domain) { "foo-bar-#{rand(1000)}.local." }
|
6
6
|
let(:ip) { "10.10.10.10" }
|
7
|
+
|
8
|
+
before do
|
9
|
+
MDNS.reset
|
10
|
+
end
|
11
|
+
|
7
12
|
describe "integration test" do
|
8
13
|
|
9
14
|
context "MDNS not running" do
|
@@ -20,10 +25,6 @@ describe MDNS do
|
|
20
25
|
MDNS.start
|
21
26
|
end
|
22
27
|
|
23
|
-
after do
|
24
|
-
MDNS.stop
|
25
|
-
end
|
26
|
-
|
27
28
|
it "does resolve" do
|
28
29
|
expect(Socket.gethostbyname(domain)).to be_a(Array)
|
29
30
|
end
|