delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2014/02/13/09:36:15

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; q=dns; s=
default; b=O1wqmyyEFRH175zO6KJA913kUJFXB47fG4kseGfMLySFYX3sM/yXE
FuEJEz/yWLh5T0M+iKEz0jhSu0fya2jeu2+PLZneedKVLM6RPXu2pw1s4UFc5wWW
/VSbjSQwLMTyzQnylSa3a5S7ghAC3e9mdkVcCS2Hwxatq+iFMD6Wp8=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; s=default;
bh=d4d4TeE81auG4qELJuepXZY+2Ss=; b=ekn8zD6nS3Ije8DmgxUchWr1mJ4G
1H6ODdwag3zzB3UMagXX1RrXUGpc3ugKIgCmn0S9hgIMfTGBy/s3817TEvm+L7or
P5OjeOzkvAe8fAsQMpwqdZFBxuj0U/ufEsxudtzBK44yv5rsiTT6sJUejxWfpUjL
BRxKWEcYvCvqefc=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2
X-HELO: mho-01-ewr.mailhop.org
X-Mail-Handler: Dyn Standard SMTP by Dyn
X-Report-Abuse-To: abuse AT dyndns DOT com (see http://www.dyndns.com/services/sendlabs/outbound_abuse.html for abuse reporting information)
X-MHO-User: U2FsdGVkX1/dcFARV3WyQ938e2dRqcTn
Date: Thu, 13 Feb 2014 09:35:41 -0500
From: Christopher Faylor <cgf-use-the-mailinglist-please AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: get rid of getpwent? (Was: cygwin-1.7.28 getpwent header declaration changes ?)
Message-ID: <20140213143541.GC6750@ednor.casa.cgf.cx>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <52F95D1D DOT 4050108 AT tiscali DOT co DOT uk> <4510121021 DOT 20140211062515 AT mtu-net DOT ru> <52FAB14C DOT 8060800 AT tiscali DOT co DOT uk> <52FABAF5 DOT 2060701 AT etr-usa DOT com> <52FAD730 DOT 9090507 AT redhat DOT com> <20140212090804 DOT GM2821 AT calimero DOT vinschen DOT de> <52FB9E51 DOT 7030607 AT cornell DOT edu> <20140212195931 DOT GA2246 AT calimero DOT vinschen DOT de> <20140212213729 DOT GA5589 AT ednor DOT casa DOT cgf DOT cx> <20140213100025 DOT GB24159 AT calimero DOT vinschen DOT de>
MIME-Version: 1.0
In-Reply-To: <20140213100025.GB24159@calimero.vinschen.de>
User-Agent: Mutt/1.5.20 (2009-06-14)

On Thu, Feb 13, 2014 at 11:00:25AM +0100, Corinna Vinschen wrote:
>On Feb 12 16:37, Christopher Faylor wrote:
>> On Wed, Feb 12, 2014 at 08:59:31PM +0100, Corinna Vinschen wrote:
>> >There's only one tiny problem.  Whatever I think about the full
>> >enumerate being right or wrong, I have this vague feeling that I'd like
>> >to have this implemented fully at one point.  My cat disapproves, but we
>> >can't agree on everything, I guess.  Another configuration option in
>> >/etc/nsswitch.conf might comfort her.
>> 
>> I don't know if this has been mentioned but would a cache help here,
>> i.e., nscd?  I think that's how Linux deals with this type of situation.
>
>Caching is wonderful for the usual requests for single entries from the
>DB, and for this we have already two caches, the LSA cache and Cygwin's
>own cache.  But caching doesn't help at all when enumerating.
>
>There's also the problem to rely on an external program.

But that's no different than Linux.  I've never looked at the code but
apparently libc has hooks for talking to nscd.  We could do the same
with cygserver.

>If it turns out that the current implementation is too slow, I'm
>prepared to add caching to cygserver to have a system-wide caching
>server, but Cygwin shouldn't *require* that cygserver runs.  And either
>way, it still wouldn't help when enumerating all accounts.

nscd does more than just keep information around in memory.  As I said,
it's how Linux deals with this situation.  I know because I didn't install
nscd when setting up a minimal Fedora 20 server at work and was met with
awful lags and timeouts in services which tried to read from our nis.
So Fedora doesn't require nscd but it sure does help.

But, even after having set it up, I still have to remember not to do
ls ~cg<tab> because it just takes forever.  So, if it is possible to
enumerate users then I think you just do it and let people learn the
cost.

I also would be pretty reluctant about deprecating a standard linux
function since there is nothing here that I can see which makes this
a distinctly linux problem unless you actually can't enumerate users.

cgf


cgf

--
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019