Skip to content

Commit

Permalink
* lib/resolv.rb (bind_random_port): Rescue EPERM for FreeBSD which
Browse files Browse the repository at this point in the history
  security.mac.portacl.port_high is changed.
  See mac_portacl(4) for details.
  Reported by Jakub Szafranski.  [ruby-core:60917] [Bug #9544]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
akr committed Feb 22, 2014
1 parent 1513550 commit db537c5
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
7 changes: 7 additions & 0 deletions ChangeLog
@@ -1,3 +1,10 @@
Sun Feb 23 02:19:51 2014 Tanaka Akira <akr@fsij.org>

* lib/resolv.rb (bind_random_port): Rescue EPERM for FreeBSD which
security.mac.portacl.port_high is changed.
See mac_portacl(4) for details.
Reported by Jakub Szafranski. [ruby-core:60917] [Bug #9544]

Sat Feb 22 23:17:01 2014 Kouhei Sutou <kou@cozmixng.org>

* lib/rexml/xpath_parser.rb: Fix indent.
Expand Down
4 changes: 3 additions & 1 deletion lib/resolv.rb
Expand Up @@ -652,7 +652,9 @@ def self.bind_random_port(udpsock, bind_host="0.0.0.0") # :nodoc:
begin
port = rangerand(1024..65535)
udpsock.bind(bind_host, port)
rescue Errno::EADDRINUSE, Errno::EACCES
rescue Errno::EADDRINUSE, # POSIX
Errno::EACCES, # SunOS: See PRIV_SYS_NFS in privileges(5)
Errno::EPERM # FreeBSD: security.mac.portacl.port_high is configurable. See mac_portacl(4).
retry
end
end
Expand Down

0 comments on commit db537c5

Please sign in to comment.