dnssd 2.0 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/History.txt +9 -0
- data/README.txt +1 -1
- data/Rakefile +2 -2
- data/ext/dnssd/extconf.rb +3 -0
- data/ext/dnssd/service.c +25 -1
- data/lib/dnssd.rb +1 -1
- metadata +82 -111
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 0c8d81b701b90525df7e2bc543879262595b7a36
|
4
|
+
data.tar.gz: b329dcb5c3f3dd2aceb00c042303bd4311009983
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c3e53069b168de693d9d3d46dff6697fe091092b635f4e5961d3819bc200a6349d3a2a8b292f4db7d107f9e88179e7f68b9d41ab52a5378580066c58ee1023ac
|
7
|
+
data.tar.gz: 8f57f4190921acb814e3e74a86ddde676cf717b1807197661ccc406295f121c78ea522a7300df3869045286c3e9b7086befb532efe1483ba3c0df36ab8042636
|
data/History.txt
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
=== 2.0.1 / 2015-01-08
|
2
|
+
|
3
|
+
* Bug fix:
|
4
|
+
* Use rb_thread_fd_select() with a timeout instead of rb_thread_wait_fd()
|
5
|
+
which allows DNSSD#service to stop in a timely manner. Fixes #10 by Mick
|
6
|
+
Staugaard, #13 by Linux-cpp-lisp
|
7
|
+
* Document necessary dependencies for dnssd on debian. Issue #14 by
|
8
|
+
elmatou.
|
9
|
+
|
1
10
|
=== 2.0 / 2011-03-02
|
2
11
|
|
3
12
|
* Major enhancment
|
data/README.txt
CHANGED
data/Rakefile
CHANGED
@@ -9,8 +9,6 @@ Hoe.plugin :git
|
|
9
9
|
Hoe.plugin :compiler
|
10
10
|
|
11
11
|
HOE = Hoe.spec 'dnssd' do
|
12
|
-
self.rubyforge_name = 'dnssd'
|
13
|
-
|
14
12
|
developer 'Eric Hodel', 'drbrain@segment.net'
|
15
13
|
developer 'Aaron Patterson', 'aaronp@rubyforge.org'
|
16
14
|
developer 'Phil Hagelberg', 'phil@hagelb.org'
|
@@ -18,6 +16,8 @@ HOE = Hoe.spec 'dnssd' do
|
|
18
16
|
developer 'Charles Mills', ''
|
19
17
|
developer 'Rich Kilmer', ''
|
20
18
|
|
19
|
+
rdoc_locations << 'docs.seattlerb.org:/data/www/docs.seattlerb.org/dnssd/'
|
20
|
+
|
21
21
|
clean_globs << 'lib/dnssd/*.{so,bundle,dll}'
|
22
22
|
end
|
23
23
|
|
data/ext/dnssd/extconf.rb
CHANGED
@@ -49,6 +49,9 @@ end
|
|
49
49
|
have_func('getservbyport', 'netdb.h') ||
|
50
50
|
abort('unable to find getservbyport')
|
51
51
|
|
52
|
+
have_func('rb_thread_fd_select', 'ruby/intern.h') ||
|
53
|
+
abort('unable to find rb_thread_fd_select, your ruby is too old')
|
54
|
+
|
52
55
|
have_type('struct sockaddr_in', 'netinet/in.h') ||
|
53
56
|
abort('unable to find struct sockaddr_in')
|
54
57
|
|
data/ext/dnssd/service.c
CHANGED
@@ -211,6 +211,9 @@ dnssd_service_stop(VALUE self) {
|
|
211
211
|
static VALUE
|
212
212
|
dnssd_service_process(VALUE self) {
|
213
213
|
DNSServiceRef *client;
|
214
|
+
int dnssd_fd, result;
|
215
|
+
rb_fdset_t read;
|
216
|
+
struct timeval timeout;
|
214
217
|
|
215
218
|
get(cDNSSDService, self, DNSServiceRef, client);
|
216
219
|
|
@@ -219,11 +222,32 @@ dnssd_service_process(VALUE self) {
|
|
219
222
|
return Qnil;
|
220
223
|
}
|
221
224
|
|
222
|
-
|
225
|
+
dnssd_fd = DNSServiceRefSockFD(*client);
|
226
|
+
|
227
|
+
if (-1 == dnssd_fd)
|
228
|
+
rb_raise(eDNSSDError, "unable to get DNSSD FD for result processing");
|
229
|
+
|
230
|
+
timeout.tv_sec = 0;
|
231
|
+
timeout.tv_usec = 10000;
|
232
|
+
|
233
|
+
rb_fd_init(&read);
|
234
|
+
|
235
|
+
retry:
|
236
|
+
rb_fd_zero(&read);
|
237
|
+
rb_fd_set(dnssd_fd, &read);
|
238
|
+
|
239
|
+
result = rb_thread_fd_select(dnssd_fd + 1, &read, NULL, NULL, &timeout);
|
240
|
+
|
241
|
+
if (result == -1)
|
242
|
+
rb_sys_fail("select");
|
223
243
|
|
224
244
|
if (rb_ivar_get(self, dnssd_iv_continue) == Qfalse)
|
225
245
|
return Qnil;
|
226
246
|
|
247
|
+
/* timeout */
|
248
|
+
if (result == 0)
|
249
|
+
goto retry;
|
250
|
+
|
227
251
|
DNSServiceErrorType e = DNSServiceProcessResult(*client);
|
228
252
|
dnssd_check_error_code(e);
|
229
253
|
|
data/lib/dnssd.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,9 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: dnssd
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 2
|
8
|
-
- 0
|
9
|
-
version: "2.0"
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.0.1
|
10
5
|
platform: ruby
|
11
|
-
authors:
|
6
|
+
authors:
|
12
7
|
- Eric Hodel
|
13
8
|
- Aaron Patterson
|
14
9
|
- Phil Hagelberg
|
@@ -17,100 +12,86 @@ authors:
|
|
17
12
|
- Rich Kilmer
|
18
13
|
autorequire:
|
19
14
|
bindir: bin
|
20
|
-
cert_chain:
|
21
|
-
-
|
22
|
-
|
23
|
-
|
24
|
-
YWluMRgwFgYKCZImiZPyLGQBGRYIc2VnbWVudDcxEzARBgoJkiaJk/IsZAEZFgNu
|
25
|
-
ZXQwHhcNMDcxMjIxMDIwNDE0WhcNMDgxMjIwMDIwNDE0WjBBMRAwDgYDVQQDDAdk
|
26
|
-
cmJyYWluMRgwFgYKCZImiZPyLGQBGRYIc2VnbWVudDcxEzARBgoJkiaJk/IsZAEZ
|
27
|
-
FgNuZXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCbbgLrGLGIDE76
|
28
|
-
LV/cvxdEzCuYuS3oG9PrSZnuDweySUfdp/so0cDq+j8bqy6OzZSw07gdjwFMSd6J
|
29
|
-
U5ddZCVywn5nnAQ+Ui7jMW54CYt5/H6f2US6U0hQOjJR6cpfiymgxGdfyTiVcvTm
|
30
|
-
Gj/okWrQl0NjYOYBpDi+9PPmaH2RmLJu0dB/NylsDnW5j6yN1BEI8MfJRR+HRKZY
|
31
|
-
mUtgzBwF1V4KIZQ8EuL6I/nHVu07i6IkrpAgxpXUfdJQJi0oZAqXurAV3yTxkFwd
|
32
|
-
g62YrrW26mDe+pZBzR6bpLE+PmXCzz7UxUq3AE0gPHbiMXie3EFE0oxnsU3lIduh
|
33
|
-
sCANiQ8BAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
|
34
|
-
BBS5k4Z75VSpdM0AclG2UvzFA/VW5DANBgkqhkiG9w0BAQUFAAOCAQEAHagT4lfX
|
35
|
-
kP/hDaiwGct7XPuVGbrOsKRVD59FF5kETBxEc9UQ1clKWngf8JoVuEoKD774dW19
|
36
|
-
bU0GOVWO+J6FMmT/Cp7nuFJ79egMf/gy4gfUfQMuvfcr6DvZUPIs9P/TlK59iMYF
|
37
|
-
DIOQ3DxdF3rMzztNUCizN4taVscEsjCcgW6WkUJnGdqlu3OHWpQxZBJkBTjPCoc6
|
38
|
-
UW6on70SFPmAy/5Cq0OJNGEWBfgD9q7rrs/X8GGwUWqXb85RXnUVi/P8Up75E0ag
|
39
|
-
14jEc90kN+C7oI/AGCBN0j6JnEtYIEJZibjjDJTSMWlUKKkj30kq7hlUC2CepJ4v
|
40
|
-
x52qPcexcYZR7w==
|
41
|
-
-----END CERTIFICATE-----
|
42
|
-
|
43
|
-
date: 2011-03-03 00:00:00 -08:00
|
44
|
-
default_executable:
|
45
|
-
dependencies:
|
46
|
-
- !ruby/object:Gem::Dependency
|
15
|
+
cert_chain: []
|
16
|
+
date: 2015-01-08 00:00:00.000000000 Z
|
17
|
+
dependencies:
|
18
|
+
- !ruby/object:Gem::Dependency
|
47
19
|
name: minitest
|
20
|
+
requirement: !ruby/object:Gem::Requirement
|
21
|
+
requirements:
|
22
|
+
- - "~>"
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: '5.4'
|
25
|
+
type: :development
|
48
26
|
prerelease: false
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
27
|
+
version_requirements: !ruby/object:Gem::Requirement
|
28
|
+
requirements:
|
29
|
+
- - "~>"
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: '5.4'
|
32
|
+
- !ruby/object:Gem::Dependency
|
33
|
+
name: rdoc
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
36
|
+
- - "~>"
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '4.0'
|
60
39
|
type: :development
|
61
|
-
version_requirements: *id001
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: rake-compiler
|
64
40
|
prerelease: false
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
requirements:
|
43
|
+
- - "~>"
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '4.0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rake-compiler
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - "~>"
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '0.7'
|
75
53
|
type: :development
|
76
|
-
version_requirements: *id002
|
77
|
-
- !ruby/object:Gem::Dependency
|
78
|
-
name: hoe
|
79
54
|
prerelease: false
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
55
|
+
version_requirements: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - "~>"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '0.7'
|
60
|
+
- !ruby/object:Gem::Dependency
|
61
|
+
name: hoe
|
62
|
+
requirement: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - "~>"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '3.13'
|
91
67
|
type: :development
|
92
|
-
|
68
|
+
prerelease: false
|
69
|
+
version_requirements: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - "~>"
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '3.13'
|
93
74
|
description: |-
|
94
75
|
DNS Service Discovery (aka Bonjour, MDNS) API for Ruby. Implements browsing,
|
95
76
|
resolving, registration and domain enumeration. Supports avahi's DNSSD
|
96
77
|
compatibility layer for avahi 0.6.25 or newer.
|
97
|
-
email:
|
78
|
+
email:
|
98
79
|
- drbrain@segment.net
|
99
80
|
- aaronp@rubyforge.org
|
100
81
|
- phil@hagelb.org
|
101
82
|
- chad@chadfowler.com
|
102
|
-
-
|
103
|
-
-
|
83
|
+
- ''
|
84
|
+
- ''
|
104
85
|
executables: []
|
105
|
-
|
106
|
-
extensions:
|
86
|
+
extensions:
|
107
87
|
- ext/dnssd/extconf.rb
|
108
|
-
extra_rdoc_files:
|
88
|
+
extra_rdoc_files:
|
109
89
|
- History.txt
|
110
90
|
- Manifest.txt
|
111
91
|
- README.txt
|
112
|
-
files:
|
113
|
-
- .autotest
|
92
|
+
files:
|
93
|
+
- ".autotest"
|
94
|
+
- ".gemtest"
|
114
95
|
- History.txt
|
115
96
|
- Manifest.txt
|
116
97
|
- README.txt
|
@@ -153,43 +134,33 @@ files:
|
|
153
134
|
- test/test_dnssd_reply_resolve.rb
|
154
135
|
- test/test_dnssd_service.rb
|
155
136
|
- test/test_dnssd_text_record.rb
|
156
|
-
- .gemtest
|
157
|
-
has_rdoc: true
|
158
137
|
homepage: http://rubyforge.org/projects/dnssd
|
159
|
-
licenses:
|
160
|
-
|
138
|
+
licenses:
|
139
|
+
- MIT
|
140
|
+
metadata: {}
|
161
141
|
post_install_message:
|
162
|
-
rdoc_options:
|
163
|
-
- --main
|
142
|
+
rdoc_options:
|
143
|
+
- "--main"
|
164
144
|
- README.txt
|
165
|
-
require_paths:
|
145
|
+
require_paths:
|
166
146
|
- lib
|
167
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
168
|
-
|
169
|
-
requirements:
|
147
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
170
149
|
- - ">="
|
171
|
-
- !ruby/object:Gem::Version
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
version: "0"
|
176
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
177
|
-
none: false
|
178
|
-
requirements:
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '0'
|
152
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
153
|
+
requirements:
|
179
154
|
- - ">="
|
180
|
-
- !ruby/object:Gem::Version
|
181
|
-
|
182
|
-
segments:
|
183
|
-
- 0
|
184
|
-
version: "0"
|
155
|
+
- !ruby/object:Gem::Version
|
156
|
+
version: '0'
|
185
157
|
requirements: []
|
186
|
-
|
187
|
-
|
188
|
-
rubygems_version: 1.6.0
|
158
|
+
rubyforge_project:
|
159
|
+
rubygems_version: 2.4.2
|
189
160
|
signing_key:
|
190
|
-
specification_version:
|
161
|
+
specification_version: 4
|
191
162
|
summary: DNS Service Discovery (aka Bonjour, MDNS) API for Ruby
|
192
|
-
test_files:
|
163
|
+
test_files:
|
193
164
|
- test/test_dnssd.rb
|
194
165
|
- test/test_dnssd_flags.rb
|
195
166
|
- test/test_dnssd_record.rb
|
data.tar.gz.sig
DELETED
Binary file
|
metadata.gz.sig
DELETED
Binary file
|