Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Mar 1999 09:20:41 -0500
From:      SERVICE Jim -TS+NP DVLPMT <Jim.Service@oht.hydro.on.ca>
To:        "'randyk@ccsales.com'" <randyk@ccsales.com>
Cc:        questions@FreeBSD.ORG
Subject:   RE: A Perl/Socket question
Message-ID:  <ACFC07E2E0DAD111A55F00600894C8C752B605@KEX2.RD.Hydro.ON.CA>

next in thread | raw e-mail | index | archive | help
Mere mortals can't open socket port numbers < 1024.

--Jim

OHT Inc.
mailto:jim.service@oht.hydro.on.ca

> I'm a little confused:
> 
> What makes this HAVE TO run as root?
> 
>         $self->{"proto_num"} = (getprotobyname('icmp'))[2] ||
>                     croak("Can't get icmp protocol by name");
>         $self->{"pid"} = $$ & 0xffff;           # Save lower 
> 16 bits of pid
>         $self->{"fh"} = FileHandle->new();
>         socket($self->{"fh"}, &PF_INET(), &SOCK_RAW(), 
> $self->{"proto_num"}) ||
>             croak("icmp socket error - $!");
> 
> This is called from Ping.pm in the Net::Ping module which 
> obviously makes a call to
> the Socket.pm module and I've looked in there and do not 
> understand why this returns
> an "Operation not permitted Ping icmp" when not run by 
> superuser (root).
> 
> It seems to use the same call as ping does...and I need to 
> move the restriction from the other
> user...or code an exception...so my web based utility will 
> work with it...


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ACFC07E2E0DAD111A55F00600894C8C752B605>