This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [cron-config] Possible issue with administrators group ?


2012/5/31 Eric Blake <eblake@redhat.com>:
> On 05/31/2012 05:18 AM, AZ 9901 wrote:
>> 2012/5/29 AZ 9901 :
>>> Hello,
>>>
>>> I am looking at the /bin/cron-config script.
>>>
>>> Line 627, we can find :
>>> elif net localgroup "${_admingroup}" | grep -Eiq "^${username}.?$"; then
>>>
>>> Why .? at the end of the regexp ? "^${username}.?$"
>
> Because 'net' outputs in DOS mode, with carriage returns at the end.
>

OK, I was also thinking about this (talking about buggy output) but I
was not sure.
Strange that using grep -iq "^${username}$" works fine (well, I just
tested this on my XP).

Do Windows tools output in DOS mode "when they want" ?

>>>
>>> We could have problems if for example we already have "user1" in
>>> administrators group, and cron user is "user2".
>>> "user2" would then not be added to the administrators group.
>
> Wouldn't that rather be "we could have problems if we already have
> 'user1', the output does not have carriage returns, and we are trying to
> add 'user12'"?
>

Yes you're perfectly right, sorry for the mistake :-)

>> Any clue about this regexp ?
>
> Since the trailing '.?' exists to strip carriage returns, would it be
> any more robust to write this as:
>
> net localgroup "${_admingroup}" | d2u | grep -Eiq "^${username}$"
>

Yes I think so, or using sed 's/\r\n$/\n/'
Same effect, should work too.

Thank you !

Ben

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]