Changeset 5594

Show
Ignore:
Timestamp:
07/24/08 23:59:11 (2 months ago)
Author:
hdm
Message:

Raw socket support for BSD systems

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • framework3/trunk/lib/rex/socket/comm/local.rb

    r5565 r5594  
    4141        def self.create_ip(param) 
    4242                sock = ::Socket.open(::Socket::PF_INET, ::Socket::SOCK_RAW, ::Socket::IPPROTO_RAW) 
    43                 unless sock.getsockopt(::Socket::SOL_IP, ::Socket::IP_HDRINCL) 
    44                         sock.setsockopt(::Socket::SOL_IP, ::Socket::IP_HDRINCL, true) 
    45                 end              
     43                 
     44                if(::Socket.const_defined?('SOL_IP')) 
     45                        unless sock.getsockopt(::Socket::SOL_IP, ::Socket::IP_HDRINCL) 
     46                                sock.setsockopt(::Socket::SOL_IP, ::Socket::IP_HDRINCL, true) 
     47                        end                      
     48                else 
     49                        # Support for BSD 
     50                        unless sock.getsockopt(::Socket::IPPROTO_IP, ::Socket::IP_HDRINCL) 
     51                                sock.setsockopt(::Socket::IPPROTO_IP, ::Socket::IP_HDRINCL, true) 
     52                        end      
     53                end 
    4654 
    4755                return sock if (param.bare?)