oversip 1.3.7 → 1.3.8

Sign up to get free protection for your applications and to get access to all the features.
data/ext/stud/extconf.rb CHANGED
@@ -1,11 +1,17 @@
1
1
  require "mkmf"
2
2
  require "fileutils"
3
+ require "rbconfig"
4
+
5
+
6
+ def log(message)
7
+ puts "[ext/stud/extconf.rb] #{message}"
8
+ end
3
9
 
4
10
 
5
11
  def sys(cmd)
6
- puts "system command: #{cmd}"
12
+ log "executing system command: #{cmd}"
7
13
  unless ret = xsystem(cmd)
8
- raise "system command `#{cmd}' failed"
14
+ raise "[ext/stud/extconf.rb] system command `#{cmd}' failed"
9
15
  end
10
16
  ret
11
17
  end
@@ -17,8 +23,17 @@ stud_tarball = "stud.tar.gz"
17
23
 
18
24
  Dir.chdir(stud_dir) do
19
25
  sys("tar -zxf #{stud_tarball}")
26
+
20
27
  Dir.chdir("stud") do
21
- sys("make")
28
+ host_os = RbConfig::CONFIG["host_os"]
29
+ log "RbConfig::CONFIG['host_os'] returns #{host_os.inspect}"
30
+ case host_os
31
+ when /bsd/i
32
+ log "BSD detected, using `gmake' instead of `make'"
33
+ sys("gmake")
34
+ else
35
+ sys("make")
36
+ end
22
37
  FileUtils.mv "stud", "../../../bin/oversip_stud"
23
38
  end
24
39
 
@@ -62,7 +62,12 @@ module OverSIP
62
62
 
63
63
  proxies[proxy.to_sym] = @proxy_configuration.dup
64
64
  proxies[proxy.to_sym].each do |parameter, default_value|
65
- proxies[proxy.to_sym][parameter] = default_value.clone rescue default_value
65
+ proxies[proxy.to_sym][parameter] = case default_value
66
+ when ::TrueClass, ::FalseClass, ::NilClass, ::Fixnum
67
+ default_value
68
+ else
69
+ default_value.clone
70
+ end
66
71
  end
67
72
 
68
73
  PROXY_CONFIG_VALIDATIONS.each do |parameter, validations|
@@ -77,13 +77,15 @@ module OverSIP::SIP
77
77
  @num_vias == 1 and
78
78
  outbound_aware? and (
79
79
  ( has_preloaded_route_with_ob_param or (@contact and @contact.ob_param?) ) or
80
- ( @sip_method == :REGISTER and contact_reg_id?)
80
+ ( @sip_method == :REGISTER and contact_reg_id? )
81
81
  )
82
82
  )
83
83
  )
84
84
  )
85
85
  @outgoing_outbound_requested = true
86
86
  log_system_debug "applying outgoing Outbound support" if $oversip_debug
87
+ else
88
+ @outgoing_outbound_requested = false
87
89
  end
88
90
 
89
91
  # Incoming initial request or in-dialog incoming/outgoing request. Must only perform
@@ -158,7 +160,31 @@ module OverSIP::SIP
158
160
  end
159
161
 
160
162
 
161
- def outgoing_outbound_requested? ; @outgoing_outbound_requested end
163
+ def outgoing_outbound_requested?
164
+ return true if @outgoing_outbound_requested
165
+ return false if @outgoing_outbound_requested == false
166
+
167
+ # It could be an initial request so we must provide Outbound support if
168
+ # forced via request.fix_nat() or if the request properly indicates it, even
169
+ # when route.loose_route() is not called.
170
+ if (
171
+ initial? and
172
+ @connection.class.outbound_listener? and (
173
+ @force_outgoing_outbound or (
174
+ @num_vias == 1 and
175
+ outbound_aware? and (
176
+ ( @contact and @contact.ob_param? ) or
177
+ ( @sip_method == :REGISTER and contact_reg_id? )
178
+ )
179
+ )
180
+ )
181
+ )
182
+ log_system_debug "applying outgoing Outbound support" if $oversip_debug
183
+ @outgoing_outbound_requested = true
184
+ else
185
+ @outgoing_outbound_requested = false
186
+ end
187
+ end
162
188
 
163
189
  def incoming_outbound_requested? ; @incoming_outbound_requested end
164
190
 
@@ -5,7 +5,7 @@ module OverSIP
5
5
  module Version
6
6
  MAJOR = 1
7
7
  MINOR = 3
8
- TINY = 7
8
+ TINY = 8
9
9
  DEVEL = nil # Set to nil for stable releases.
10
10
  end
11
11
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oversip
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.7
4
+ version: 1.3.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-31 00:00:00.000000000 Z
12
+ date: 2013-05-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: eventmachine-le