- or download this
use constant {
DARWIN_SYS_getsockopt => 118, # from bsd/kern/syscalls.master
GETSOCKOPT_MAXLEN => 512, # enough for now I guess...
...
my $rv=syscall(DARWIN_SYS_getsockopt,fileno($_[0]),$_[1],$_[2],$optv
+al,$optlen);
return $rv < 0 ? undef : substr($optval,0,unpack('i',$optlen));
}
- or download this
use Socket qw'PF_INET SOCK_STREAM IPPROTO_TCP inet_aton sockaddr_in';
use constant {
...
}else{
print "This system doesn't seem to be affected by the problem (TCP_I
+NFO length: $tcpInfoLength).\n";
}
- or download this
sub getsockopt_darwin_gen {
return &CORE::getsockopt if(@_ < 4);
my $optlen = pop;
...
my $rv=syscall(DARWIN_SYS_getsockopt,fileno($_[0]),$_[1],$_[2],$optv
+al,$optlen);
return $rv < 0 ? undef : substr($optval,0,unpack('i',$optlen));
}