mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Luca Barbato <lu_zero@gentoo.org>
To: musl@lists.openwall.com
Subject: Re: Design for extensible passwd[/shadow?] db support
Date: Tue, 14 Aug 2012 00:10:50 +0200	[thread overview]
Message-ID: <50297B6A.2080803@gentoo.org> (raw)
In-Reply-To: <20120813195032.GZ27715@brightrain.aerifal.cx>

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


  parent reply	other threads:[~2012-08-13 22:10 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-12  5:38 Rich Felker
2012-08-12 15:16 ` Jeremy Huntwork
2012-08-12 17:27   ` Rich Felker
2012-08-12 17:34 ` Rich Felker
2012-08-12 19:10 ` Arvid E. Picciani
2012-08-12 20:56   ` Rich Felker
2012-08-13  9:41     ` Arvid E. Picciani
2012-08-13 12:27       ` Luca Barbato
2012-08-13 12:46         ` Kurt H Maier
2012-08-13 13:50       ` Rich Felker
2012-08-13 19:22         ` Arvid E. Picciani
2012-08-13 19:28           ` Rich Felker
2012-08-13 19:38             ` Arvid E. Picciani
2012-08-13 19:50               ` Rich Felker
2012-08-13 20:14                 ` Arvid E. Picciani
2012-08-13 21:03                   ` Rich Felker
2012-08-13 22:10                 ` Luca Barbato [this message]
2012-08-13  0:26 idunham
2012-08-13  0:31 ` Rich Felker
2012-08-13 10:45   ` Daniel Cegiełka
2012-08-13 13:46     ` Rich Felker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50297B6A.2080803@gentoo.org \
    --to=lu_zero@gentoo.org \
    --cc=musl@lists.openwall.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).