Subject: Re: as one gets roots - rights ...
From: "Max Bowsher" <[email-masked]>
To: "Norbert Pfeiffer" <[email-masked]>
Cc: <[email-masked]>
Date: Thu, 25 Jul 2002 15:29:23 +0100

Robert Collins wrote:
> On Thu, 2002-07-25 at 22:41, Norbert Pfeiffer wrote:
>> Hi Max,
>>
>> thanks, goes naturally also.
>> This is IMHO a very quick and dirty hack,
>> because it is valid only for this problem.
>
> Actually, most unix based code that blindly requires root rights to
> perform operations is broken. Such code won't run correctly in an
> environment with capabilities, or granular permissions, or other
> similar behaviour.
>
> Adding cygwin specific tests is one approach, but still flawed. IMO
> the correct approach is to test to see whether the action can be
> completed, and if it can not be, croak at that point, rather than
> assuming some arbitrary external condition ust be true before trying.
>
> Anyway, just my 43c :}.
>
> Rob

Thanks Rob - that would be the tidiest solution, as it doesn't require knowledge
of exactly which Windows OSes do what. From a quick look at the code, it seems
that all that is required is improved handling of the return code from
socket() - rather than a plain croak("icmp socket error: $!"), put in special
handing to produce a more detailed advisory message in the case of 'Access
Denied'.

Unfortunately, since I have never used the Net::Ping module, nor do I expect to
in the forseeable future, its not something I'm going to go and fix, but for any
interested parties, it should be trivial.

Max.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/