oversip 1.3.2 → 1.3.3
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/oversip +7 -0
- data/ext/stun/stun_ruby.c +1 -1
- data/lib/oversip/posix_mq.rb +9 -7
- data/lib/oversip/ruby_ext/process.rb +9 -0
- data/lib/oversip/version.rb +1 -1
- data/lib/oversip.rb +1 -1
- metadata +3 -2
data/bin/oversip
CHANGED
@@ -178,6 +178,13 @@ module OverSIP
|
|
178
178
|
::OverSIP::Config.load options[:config_dir], options[:config_file]
|
179
179
|
::OverSIP::Config.print options[:colorize]
|
180
180
|
|
181
|
+
log_system_info "increasing rlimits for 'nofiles'"
|
182
|
+
begin
|
183
|
+
::Process.setrlimit Process::RLIMIT_NOFILE, 65536, 65536
|
184
|
+
rescue => e
|
185
|
+
::OverSIP::Launcher.fatal e
|
186
|
+
end
|
187
|
+
|
181
188
|
log_system_info "creating Posix Message Queue for communicating master and syslogger processes"
|
182
189
|
::OverSIP.syslogger_mq_name = "/#{OverSIP.master_name}_syslogger"
|
183
190
|
::OverSIP::Logger.init_logger_mq options[:group]
|
data/ext/stun/stun_ruby.c
CHANGED
@@ -114,7 +114,7 @@ VALUE Stun_parse_request(VALUE self, VALUE rb_stun_request, VALUE rb_source_ip,
|
|
114
114
|
*
|
115
115
|
* So let's check the second byte which must be 0x1.
|
116
116
|
*/
|
117
|
-
if ( request[1] !=
|
117
|
+
if ( request[1] != 0x1 ) {
|
118
118
|
LOG("ERROR: not a valid STUN Binding Request, maybe an STUN Indication (so ignore it)\n");
|
119
119
|
return Qfalse;
|
120
120
|
}
|
data/lib/oversip/posix_mq.rb
CHANGED
@@ -56,15 +56,17 @@ module OverSIP
|
|
56
56
|
|
57
57
|
# Set RLIMIT_MSGQUEUE (ulimit) in order to create the queue with required
|
58
58
|
# ammount of memory.
|
59
|
-
if ( current_rlimit = ::Process.getrlimit(
|
60
|
-
log_system_info "incrementing rlimits for Posix Message Queues (currently #{current_rlimit} bytes) to #{mq_size} bytes (ulimit -q)"
|
59
|
+
if ( current_rlimit = ::Process.getrlimit(::Process::RLIMIT_MSGQUEUE)[1] ) < mq_size
|
60
|
+
log_system_info "incrementing rlimits for 'msgqueue' Posix Message Queues (currently #{current_rlimit} bytes) to #{mq_size} bytes (ulimit -q)"
|
61
61
|
begin
|
62
|
-
::Process.setrlimit(
|
62
|
+
::Process.setrlimit(::Process::RLIMIT_MSGQUEUE, mq_size, mq_size)
|
63
63
|
rescue ::Errno::EPERM
|
64
|
-
::OverSIP::Launcher.fatal "current user has no permissions to increase rlimits to #{mq_size} bytes
|
64
|
+
::OverSIP::Launcher.fatal "current user has no permissions to increase 'msgqueue' rlimits to #{mq_size} bytes"
|
65
|
+
rescue => e
|
66
|
+
::OverSIP::Launcher.fatal e
|
65
67
|
end
|
66
68
|
else
|
67
|
-
log_system_info "rlimits for
|
69
|
+
log_system_info "rlimits for 'msgqueue' is #{current_rlimit} bytes (>= #{mq_size}), no need to increase it"
|
68
70
|
end
|
69
71
|
|
70
72
|
# Create the Posix message queue to write into it.
|
@@ -79,7 +81,7 @@ module OverSIP
|
|
79
81
|
|
80
82
|
# Kernel has no support for posix message queues.
|
81
83
|
rescue ::Errno::ENOSYS => e
|
82
|
-
::OverSIP::Launcher.fatal "the kernel has no support for
|
84
|
+
::OverSIP::Launcher.fatal "the kernel has no support for Posix Messages Queues, enable it (#{e.class}: #{e.message})"
|
83
85
|
|
84
86
|
# http://linux.die.net/man/3/mq_open
|
85
87
|
#
|
@@ -99,7 +101,7 @@ module OverSIP
|
|
99
101
|
rescue Errno::ENFILE => e
|
100
102
|
::OverSIP::Launcher.fatal "the system limit on the total number of open files and message queues has been reached (#{e.class}: #{e.message})"
|
101
103
|
rescue ::Errno::ENOSPC => e
|
102
|
-
::OverSIP::Launcher.fatal "insufficient space for the creation of a new message queue, probably occurred because the queues_max limit was encountered (#{e.class}: #{e.message})"
|
104
|
+
::OverSIP::Launcher.fatal "insufficient space for the creation of a new message queue, probably occurred because the 'queues_max' limit was encountered (#{e.class}: #{e.message})"
|
103
105
|
|
104
106
|
end
|
105
107
|
|
data/lib/oversip/version.rb
CHANGED
data/lib/oversip.rb
CHANGED
@@ -34,7 +34,7 @@ require "oversip/utils.rb"
|
|
34
34
|
require "oversip/posix_mq.rb"
|
35
35
|
require "oversip/default_server.rb"
|
36
36
|
require "oversip/system_callbacks.rb"
|
37
|
-
|
37
|
+
require "oversip/ruby_ext/process.rb" # Required here as the Posix message queue is created before loading master_process.rb.
|
38
38
|
|
39
39
|
|
40
40
|
|
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.
|
4
|
+
version: 1.3.3
|
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: 2012-11-
|
12
|
+
date: 2012-11-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: eventmachine-le
|
@@ -208,6 +208,7 @@ files:
|
|
208
208
|
- lib/oversip/config.rb
|
209
209
|
- lib/oversip/launcher.rb
|
210
210
|
- lib/oversip/ruby_ext/eventmachine.rb
|
211
|
+
- lib/oversip/ruby_ext/process.rb
|
211
212
|
- lib/oversip/sip/rfc3263.rb
|
212
213
|
- lib/oversip/sip/uac.rb
|
213
214
|
- lib/oversip/sip/uri.rb
|