Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Tue, 14 Aug 2012 00:10:50 +0200
From: Luca Barbato <lu_zero@...too.org>
To: musl@...ts.openwall.com
Subject: Re: Design for extensible passwd[/shadow?] db support

On 08/13/2012 09:50 PM, Rich Felker wrote:
> I have no idea how ugly the nscd protocol is, but if it's clean, I

Seems quite simple, albeit the marshalling of the structs you want to
pass around.

> think we could simply adopt it. musl-native systems would of course
> need a new nscd (since the original one is part of glibc and depends
> on the libnss mess) but musl binaries running on glibc systems could
> even use the existing host nscd. Anyway, to determine if this solution
> makes sense, somebody needs to do a bit of research into the nscd
> protocol and how bad it is...

I had a quick look at two implementations

https://github.com/freebsd/freebsd-head/tree/master/usr.sbin/nscd

http://repo.or.cz/w/glibc.git/tree/HEAD:/nscd

The bsd one seems vaguely simpler due the fact it doesn't have strage
macros generating functions and a large number of __fun/fun intermixed.

If I read http://repo.or.cz/w/glibc.git/blob/HEAD:/nscd/nscd-client.h

correctly the glibc one has a versioned header for its messages and some
structure while the bsd one seems more freeform with a
key:value:cache-policy approach.

The bsd uses kqueue and some state structure with function pointers
being replaced depending on the size of the request/reply, glibc one
uses poll and iovec.

So apparently musl might be compatible with glibc or break its
compatibility by using a different version number or looking for a
different socket file.

lu

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.