dnssd 1.3.1 → 1.3.2

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.
data.tar.gz.sig CHANGED
Binary file
data/History.txt CHANGED
@@ -1,6 +1,11 @@
1
+ === 1.3.2 / 2010-08-28
2
+
3
+ * Bug fixes
4
+ * 1.9 compatibility
5
+
1
6
  === 1.3.1 / 2009-10-13
2
7
 
3
- * 1 bug fix
8
+ * Bug fixes
4
9
  * Fix regexp for parsing the fullname. Patch by James Sadler.
5
10
 
6
11
  === 1.3 / 2009-08-18
data/Manifest.txt CHANGED
@@ -34,6 +34,7 @@ sample/server.rb
34
34
  sample/socket.rb
35
35
  test/test_dnssd.rb
36
36
  test/test_dnssd_flags.rb
37
+ test/test_dnssd_getaddrinfo.rb
37
38
  test/test_dnssd_record.rb
38
39
  test/test_dnssd_reply.rb
39
40
  test/test_dnssd_reply_browse.rb
data/lib/dnssd.rb CHANGED
@@ -13,7 +13,7 @@ module DNSSD
13
13
  ##
14
14
  # The version of DNSSD you're using.
15
15
 
16
- VERSION = '1.3.1'
16
+ VERSION = '1.3.2'
17
17
 
18
18
  ##
19
19
  # Registers +socket+ with DNSSD as +name+. If +service+ is omitted it is
data/lib/dnssd/service.rb CHANGED
@@ -116,7 +116,7 @@ class DNSSD::Service
116
116
  # setup your /etc/nsswitch.conf correctly. See
117
117
  # http://avahi.org/wiki/AvahiAndUnicastDotLocal for details
118
118
 
119
- def getaddrinfo(host, protocol = nil, flags = 0,
119
+ def getaddrinfo(host, protocol = 0, flags = 0,
120
120
  interface = DNSSD::InterfaceAny, &block)
121
121
  interface = DNSSD.interface_index interface unless Integer === interface
122
122
 
@@ -137,9 +137,9 @@ class DNSSD::Service
137
137
 
138
138
  addrinfo = Socket.getaddrinfo host, nil, family
139
139
 
140
- addrinfo.each do |_, _, host, ip, _|
140
+ addrinfo.each do |_, _, a_host, ip, _|
141
141
  sockaddr = Socket.pack_sockaddr_in 0, ip
142
- @replies << DNSSD::Reply::AddrInfo.new(self, 0, 0, host, sockaddr, 0)
142
+ @replies << DNSSD::Reply::AddrInfo.new(self, 0, 0, a_host, sockaddr, 0)
143
143
  end
144
144
  end
145
145
  end
@@ -32,14 +32,16 @@ class DNSSD::TextRecord < DelegateClass(Hash)
32
32
  def decode(text_record)
33
33
  record = {}
34
34
 
35
- until text_record.empty? do
36
- size = text_record.slice! 0
35
+ tr = text_record.unpack 'C*'
36
+
37
+ until tr.empty? do
38
+ size = tr.shift
39
+
37
40
  next if size.zero?
38
41
 
39
- raise ArgumentError, 'ran out of data in text record' if
40
- text_record.length < size
42
+ raise ArgumentError, 'ran out of data in text record' if tr.length < size
41
43
 
42
- entry = text_record.slice! 0, size
44
+ entry = tr.shift(size).pack('C*')
43
45
 
44
46
  raise ArgumentError, 'key not found' unless entry =~ /^[^=]/
45
47
 
@@ -0,0 +1,23 @@
1
+ require 'minitest/autorun'
2
+ require 'dnssd'
3
+ require 'socket'
4
+
5
+ class TestDNSSD < MiniTest::Unit::TestCase
6
+
7
+ def test_getaddrinfo
8
+ service = DNSSD::Service.new
9
+
10
+ addresses = []
11
+ begin
12
+ service.getaddrinfo 'localhost' do |addrinfo|
13
+ addresses << addrinfo.address
14
+ break unless addrinfo.flags.more_coming?
15
+ end
16
+ ensure
17
+ service.stop
18
+ end
19
+ assert addresses.index('127.0.0.1')
20
+ end
21
+
22
+ end
23
+
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dnssd
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ hash: 31
5
+ prerelease: false
6
+ segments:
7
+ - 1
8
+ - 3
9
+ - 2
10
+ version: 1.3.2
5
11
  platform: ruby
6
12
  authors:
7
13
  - Eric Hodel
@@ -35,49 +41,102 @@ cert_chain:
35
41
  x52qPcexcYZR7w==
36
42
  -----END CERTIFICATE-----
37
43
 
38
- date: 2009-10-13 00:00:00 -07:00
44
+ date: 2010-08-28 00:00:00 +09:00
39
45
  default_executable:
40
46
  dependencies:
41
47
  - !ruby/object:Gem::Dependency
42
- name: hoe-seattlerb
48
+ name: rubyforge
49
+ prerelease: false
50
+ requirement: &id001 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ hash: 7
56
+ segments:
57
+ - 2
58
+ - 0
59
+ - 4
60
+ version: 2.0.4
43
61
  type: :development
44
- version_requirement:
45
- version_requirements: !ruby/object:Gem::Requirement
62
+ version_requirements: *id001
63
+ - !ruby/object:Gem::Dependency
64
+ name: minitest
65
+ prerelease: false
66
+ requirement: &id002 !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ hash: 3
72
+ segments:
73
+ - 1
74
+ - 5
75
+ - 0
76
+ version: 1.5.0
77
+ type: :development
78
+ version_requirements: *id002
79
+ - !ruby/object:Gem::Dependency
80
+ name: hoe-seattlerb
81
+ prerelease: false
82
+ requirement: &id003 !ruby/object:Gem::Requirement
83
+ none: false
46
84
  requirements:
47
85
  - - ~>
48
86
  - !ruby/object:Gem::Version
87
+ hash: 11
88
+ segments:
89
+ - 1
90
+ - 2
49
91
  version: "1.2"
50
- version:
92
+ type: :development
93
+ version_requirements: *id003
51
94
  - !ruby/object:Gem::Dependency
52
95
  name: minitest
53
- type: :development
54
- version_requirement:
55
- version_requirements: !ruby/object:Gem::Requirement
96
+ prerelease: false
97
+ requirement: &id004 !ruby/object:Gem::Requirement
98
+ none: false
56
99
  requirements:
57
100
  - - ~>
58
101
  - !ruby/object:Gem::Version
102
+ hash: 7
103
+ segments:
104
+ - 1
105
+ - 4
59
106
  version: "1.4"
60
- version:
107
+ type: :development
108
+ version_requirements: *id004
61
109
  - !ruby/object:Gem::Dependency
62
110
  name: rake-compiler
63
- type: :development
64
- version_requirement:
65
- version_requirements: !ruby/object:Gem::Requirement
111
+ prerelease: false
112
+ requirement: &id005 !ruby/object:Gem::Requirement
113
+ none: false
66
114
  requirements:
67
115
  - - ~>
68
116
  - !ruby/object:Gem::Version
117
+ hash: 7
118
+ segments:
119
+ - 0
120
+ - 6
69
121
  version: "0.6"
70
- version:
122
+ type: :development
123
+ version_requirements: *id005
71
124
  - !ruby/object:Gem::Dependency
72
125
  name: hoe
73
- type: :development
74
- version_requirement:
75
- version_requirements: !ruby/object:Gem::Requirement
126
+ prerelease: false
127
+ requirement: &id006 !ruby/object:Gem::Requirement
128
+ none: false
76
129
  requirements:
77
130
  - - ">="
78
131
  - !ruby/object:Gem::Version
79
- version: 2.3.3
80
- version:
132
+ hash: 21
133
+ segments:
134
+ - 2
135
+ - 6
136
+ - 1
137
+ version: 2.6.1
138
+ type: :development
139
+ version_requirements: *id006
81
140
  description: |-
82
141
  DNS Service Discovery (aka Bonjour, MDNS) API for Ruby. Implements browsing,
83
142
  resolving, registration and domain enumeration. Supports avahi's DNSSD
@@ -134,6 +193,7 @@ files:
134
193
  - sample/socket.rb
135
194
  - test/test_dnssd.rb
136
195
  - test/test_dnssd_flags.rb
196
+ - test/test_dnssd_getaddrinfo.rb
137
197
  - test/test_dnssd_record.rb
138
198
  - test/test_dnssd_reply.rb
139
199
  - test/test_dnssd_reply_browse.rb
@@ -151,29 +211,35 @@ rdoc_options:
151
211
  - README.txt
152
212
  require_paths:
153
213
  - lib
154
- - ext
155
214
  required_ruby_version: !ruby/object:Gem::Requirement
215
+ none: false
156
216
  requirements:
157
217
  - - ">="
158
218
  - !ruby/object:Gem::Version
219
+ hash: 3
220
+ segments:
221
+ - 0
159
222
  version: "0"
160
- version:
161
223
  required_rubygems_version: !ruby/object:Gem::Requirement
224
+ none: false
162
225
  requirements:
163
226
  - - ">="
164
227
  - !ruby/object:Gem::Version
228
+ hash: 3
229
+ segments:
230
+ - 0
165
231
  version: "0"
166
- version:
167
232
  requirements: []
168
233
 
169
234
  rubyforge_project: dnssd
170
- rubygems_version: 1.3.5
235
+ rubygems_version: 1.3.7
171
236
  signing_key:
172
237
  specification_version: 3
173
238
  summary: DNS Service Discovery (aka Bonjour, MDNS) API for Ruby
174
239
  test_files:
175
240
  - test/test_dnssd.rb
176
241
  - test/test_dnssd_flags.rb
242
+ - test/test_dnssd_getaddrinfo.rb
177
243
  - test/test_dnssd_record.rb
178
244
  - test/test_dnssd_reply.rb
179
245
  - test/test_dnssd_reply_browse.rb
metadata.gz.sig CHANGED
Binary file