dnssd 2.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -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
@@ -38,7 +38,7 @@ Browsing services:
38
38
 
39
39
  * OS X
40
40
  * The dns-sd library on other operating systems
41
- * avahi 0.6.25+
41
+ * avahi 0.6.25+ (plus libavahi-compat-libdnssd-dev on debian)
42
42
 
43
43
  == INSTALL:
44
44
 
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
 
@@ -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
 
@@ -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
- rb_thread_wait_fd(DNSServiceRefSockFD(*client));
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
 
@@ -13,7 +13,7 @@ module DNSSD
13
13
  ##
14
14
  # The version of DNSSD you're using.
15
15
 
16
- VERSION = '2.0'
16
+ VERSION = '2.0.1'
17
17
 
18
18
  ##
19
19
  # Registers +socket+ with DNSSD as +name+. If +service+ is omitted it is
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
- hash: 3
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
- -----BEGIN CERTIFICATE-----
23
- MIIDNjCCAh6gAwIBAgIBADANBgkqhkiG9w0BAQUFADBBMRAwDgYDVQQDDAdkcmJy
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
- requirement: &id001 !ruby/object:Gem::Requirement
50
- none: false
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- hash: 11
55
- segments:
56
- - 2
57
- - 0
58
- - 2
59
- version: 2.0.2
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
- requirement: &id002 !ruby/object:Gem::Requirement
66
- none: false
67
- requirements:
68
- - - ~>
69
- - !ruby/object:Gem::Version
70
- hash: 5
71
- segments:
72
- - 0
73
- - 7
74
- version: "0.7"
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
- requirement: &id003 !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
83
- - - ">="
84
- - !ruby/object:Gem::Version
85
- hash: 43
86
- segments:
87
- - 2
88
- - 9
89
- - 0
90
- version: 2.9.0
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
- version_requirements: *id003
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
- none: false
169
- requirements:
147
+ required_ruby_version: !ruby/object:Gem::Requirement
148
+ requirements:
170
149
  - - ">="
171
- - !ruby/object:Gem::Version
172
- hash: 3
173
- segments:
174
- - 0
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
- hash: 3
182
- segments:
183
- - 0
184
- version: "0"
155
+ - !ruby/object:Gem::Version
156
+ version: '0'
185
157
  requirements: []
186
-
187
- rubyforge_project: dnssd
188
- rubygems_version: 1.6.0
158
+ rubyforge_project:
159
+ rubygems_version: 2.4.2
189
160
  signing_key:
190
- specification_version: 3
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