dnssd 1.3.1 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
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