<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-14177</id>
	<title>Nabble - NSS LDAP</title>
	<updated>2009-11-06T09:56:19Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/NSS-LDAP-f14177.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/NSS-LDAP-f14177.html" />
	<subtitle type="html">Discussion amongst users of nss_ldap.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26236814</id>
	<title>Re: nss_ldap-265</title>
	<published>2009-11-06T09:56:19Z</published>
	<updated>2009-11-06T09:56:19Z</updated>
	<author>
		<name>guillomovitch</name>
	</author>
	<content type="html">Luke Howard a écrit :
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 265 &amp;nbsp; &amp;nbsp; Luke Howard &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26236814&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;lukeh@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * fix for BUG#132: add versioning information to binary
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * fix for BUG#403: add AM_MAINTAINER_MODE
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * fix for BUG#388: bad LDAP query for ether lookups
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * fix for BUG#391: clarify bind timelimit defaults
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; in ldap.conf
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * fix for BUG#392: call do_close() if ldap_result()
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; or ldap_parse_result() fails (before returning
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NSS_UNAVAIL)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * fix for BUG#401: FreeBSD thread library check
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * fix for BUG#409: deallocate context in
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _nss_ldap_ent_context_release() to avoid bad usage
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * fix for BUG#410: don't leak file descriptors in
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _nss_ldap_readconfig
&lt;/div&gt;I had to use this patch to make it build, as current directory is 
&lt;br&gt;unlikely to be in PATH:
&lt;br&gt;&lt;br&gt;--- nss_ldap-265/Makefile.am	2009-11-06 11:28:08.000000000 +0100
&lt;br&gt;+++ nss_ldap-265-Makefile/Makefile.am	2009-11-06 15:05:18.000000000 +0100
&lt;br&gt;@@ -109,5 +109,5 @@
&lt;br&gt;&amp;nbsp; 	@$(NORMAL_UNINSTALL)
&lt;br&gt;&lt;br&gt;&amp;nbsp; vers.c: $(top_srcdir)/CVSVersionInfo.txt
&lt;br&gt;-	CVSVERSIONDIR=$(top_srcdir) vers_string -v
&lt;br&gt;+	CVSVERSIONDIR=$(top_srcdir) $(top_srcdir)/vers_string -v
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;BOFH excuse #20:
&lt;br&gt;&lt;br&gt;divide-by-zero error
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/nss_ldap-265-tp26230441p26236814.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26230441</id>
	<title>nss_ldap-265</title>
	<published>2009-11-06T02:28:55Z</published>
	<updated>2009-11-06T02:28:55Z</updated>
	<author>
		<name>Lukeh-3</name>
	</author>
	<content type="html">265 &amp;nbsp; &amp;nbsp; Luke Howard &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26230441&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;lukeh@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* fix for BUG#132: add versioning information to binary
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* fix for BUG#403: add AM_MAINTAINER_MODE
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* fix for BUG#388: bad LDAP query for ether lookups
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* fix for BUG#391: clarify bind timelimit defaults
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;in ldap.conf
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* fix for BUG#392: call do_close() if ldap_result()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;or ldap_parse_result() fails (before returning
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NSS_UNAVAIL)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* fix for BUG#401: FreeBSD thread library check
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* fix for BUG#409: deallocate context in
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_nss_ldap_ent_context_release() to avoid bad usage
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* fix for BUG#410: don't leak file descriptors in
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_nss_ldap_readconfig
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/nss_ldap-265-tp26230441p26230441.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26218167</id>
	<title>Re: Call for nss_ov and nss-ldapd Testers</title>
	<published>2009-11-05T07:47:35Z</published>
	<updated>2009-11-05T07:47:35Z</updated>
	<author>
		<name>Matthew Hardin</name>
	</author>
	<content type="html">On Nov 5, 2009, at 2:54 AM, stephen mulcahy wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; Hi Matthew,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Apologies for asking but what is nss_ov? A quick google didn't shed &amp;nbsp;
&lt;br&gt;&amp;gt; any light on it.
&lt;br&gt;&lt;br&gt;Not at all- maybe a little history is in order:
&lt;br&gt;&lt;br&gt;Those of you familiar with Arthur's work will know that the nss-ldapd &amp;nbsp;
&lt;br&gt;project originally consisted of a very small nss_ldap library module &amp;nbsp;
&lt;br&gt;that communicated with a local daemon called ldapd, which in turn &amp;nbsp;
&lt;br&gt;communicated with a remote LDAP server. Many instances of the nss_ldap &amp;nbsp;
&lt;br&gt;library communicated with a single ldapd process. The ldapd process &amp;nbsp;
&lt;br&gt;performed the heavy lifting, and the nss_ldap module was therefore &amp;nbsp;
&lt;br&gt;much smaller, simpler and faster. In addition, consolidating the LDAP &amp;nbsp;
&lt;br&gt;communication functions into a daemon would make it easier to develop &amp;nbsp;
&lt;br&gt;caching strategies and enhanced access control features. &amp;nbsp;
&lt;br&gt;Unfortunately, since the ldapd was and is still relatively new, these &amp;nbsp;
&lt;br&gt;features are yet to be developed.
&lt;br&gt;&lt;br&gt;Howard Chu looked at Arthur's work and realized that the OpenLDAP &amp;nbsp;
&lt;br&gt;server daemon, slapd, already had everything needed to implement &amp;nbsp;
&lt;br&gt;caching, replication, and many more desirable features, and only &amp;nbsp;
&lt;br&gt;needed a listener to let it interface to the new nss_ldap module. Thus &amp;nbsp;
&lt;br&gt;was born nss_ov, a slapd overlay that listens for requests from nss- 
&lt;br&gt;ldapd's nss_ldap library and turns them into the appropriate internal &amp;nbsp;
&lt;br&gt;slapd operations for processing. A slapd server process could now &amp;nbsp;
&lt;br&gt;replace the original ldap process. For it's part, slapd could be &amp;nbsp;
&lt;br&gt;configured as a cache server, or as a full or partial replica of &amp;nbsp;
&lt;br&gt;another OpenLDAP server. The replication strategy allowed for fully &amp;nbsp;
&lt;br&gt;disconnected operation if desired. OpenLDAP's rich access control &amp;nbsp;
&lt;br&gt;policies enabled the creation of many more methods of managing login &amp;nbsp;
&lt;br&gt;access to systems.
&lt;br&gt;&lt;br&gt;The work done for nss_ldap was a great step forward, but any system &amp;nbsp;
&lt;br&gt;using it still had need of PAM functionality to handle LDAP &amp;nbsp;
&lt;br&gt;authentication. Configuring pam_ldap entailed installing and managing &amp;nbsp;
&lt;br&gt;much of the same infrastructure needed for the original nss_ldap code, &amp;nbsp;
&lt;br&gt;so it actually became more difficult to configure and manage systems &amp;nbsp;
&lt;br&gt;using pam_ldap and the new nss_ldap/ldapd combination. Our goal was to &amp;nbsp;
&lt;br&gt;only have to manage a single system, so Howard developed a small &amp;nbsp;
&lt;br&gt;pam_ldap module that could communicate with nss_ov/slapd and added the &amp;nbsp;
&lt;br&gt;necessary support functions to nss_ov. When Howard submitted the new &amp;nbsp;
&lt;br&gt;PAM module for inclusion in the nss-ldapd project, Arthur added the &amp;nbsp;
&lt;br&gt;requisite functionality to the ldapd daemon to support PAM operations.
&lt;br&gt;&lt;br&gt;So now the nss-ldapd pam_ldap and nss_ldap libraries can be used &amp;nbsp;
&lt;br&gt;either with Arthur's ldapd daemon, or with the OpenLDAP Project's &amp;nbsp;
&lt;br&gt;slapd daemon. Each has their advantages: ldapd is relatively small and &amp;nbsp;
&lt;br&gt;light, but at present doesn't support caching and is relatively &amp;nbsp;
&lt;br&gt;untested. The slapd daemon is larger and can consume more resources, &amp;nbsp;
&lt;br&gt;but offers caching, replication, a richer access control model, and &amp;nbsp;
&lt;br&gt;many more capabilities as discussed above. The need for additional &amp;nbsp;
&lt;br&gt;resources is mitigated by the fact that most systems these days can &amp;nbsp;
&lt;br&gt;provide them, and the fact that the functionality brought by using &amp;nbsp;
&lt;br&gt;slapd is well worth the additional resources.
&lt;br&gt;&lt;br&gt;With SUUM v4, Symas is providing an integrated package that blends the &amp;nbsp;
&lt;br&gt;nss_ldap and pam_ldap modules from the nss-ldapd project with a &amp;nbsp;
&lt;br&gt;version of OpenLDAP tailored to run on a client in any of several &amp;nbsp;
&lt;br&gt;modes. Sample configuration files will help the new user get started &amp;nbsp;
&lt;br&gt;quickly.
&lt;br&gt;&lt;br&gt;I should also point out that new work on OpenLDAP's pcache overlay &amp;nbsp;
&lt;br&gt;greatly enhances the ability of a client to run in disconnected mode &amp;nbsp;
&lt;br&gt;with master servers other than OpenLDAP, but that's a discussion for &amp;nbsp;
&lt;br&gt;another time.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;&lt;br&gt;-Matt
&lt;br&gt;&lt;br&gt;Matthew Hardin
&lt;br&gt;Symas Corporation - The LDAP Guys
&lt;br&gt;&lt;a href=&quot;http://www.symas.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.symas.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; -stephen
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&amp;gt; Stephen Mulcahy, DI2, Digital Enterprise Research Institute,
&lt;br&gt;&amp;gt; NUI Galway, IDA Business Park, Lower Dangan, Galway, Ireland
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://di2.deri.ie&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://di2.deri.ie&lt;/a&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://webstar.deri.ie&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://webstar.deri.ie&lt;/a&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://sindice.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sindice.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Call-for-nss_ov-and-nss-ldapd-Testers-tp26204866p26218167.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26204866</id>
	<title>Call for nss_ov and nss-ldapd Testers</title>
	<published>2009-11-04T12:22:57Z</published>
	<updated>2009-11-04T12:22:57Z</updated>
	<author>
		<name>Matthew Hardin</name>
	</author>
	<content type="html">For those of you interested in the intersection of the excellent work &amp;nbsp;
&lt;br&gt;done by Arthur de Jong on nss-ldapd and Howard Chu on nss_ov, Symas is &amp;nbsp;
&lt;br&gt;developing an integrated package consisting of the nss_ldap and &amp;nbsp;
&lt;br&gt;pam_ldap libraries from nss-ldapd and the OpenLDAP server configured &amp;nbsp;
&lt;br&gt;with the nss_ov overlay.
&lt;br&gt;&lt;br&gt;The new package has been dubbed Symas Unified User Management version &amp;nbsp;
&lt;br&gt;4 and is available now without download restrictions. Symas will &amp;nbsp;
&lt;br&gt;provide complimentary technical support during the testing period.
&lt;br&gt;&lt;br&gt;Available platforms include Solaris and Red Hat Linux, with more &amp;nbsp;
&lt;br&gt;platforms becoming available as we have the opportunity to port to &amp;nbsp;
&lt;br&gt;them. As always, the results of our work are submitted for inclusion &amp;nbsp;
&lt;br&gt;upstream in the nss-ldapd and OpenLDAP projects.
&lt;br&gt;&lt;br&gt;The release announcement is here: &lt;a href=&quot;http://www.symas.com/updates/?p=37&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.symas.com/updates/?p=37&lt;/a&gt;. &amp;nbsp;
&lt;br&gt;Subscribe to this blog's RSS feed to stay abreast of new releases as &amp;nbsp;
&lt;br&gt;they become available.
&lt;br&gt;&lt;br&gt;Please direct support questions to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26204866&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;support@...&lt;/a&gt;. We'll do our &amp;nbsp;
&lt;br&gt;best to resolve any issues as quickly as possible.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;&lt;br&gt;-Matt
&lt;br&gt;&lt;br&gt;Matthew Hardin
&lt;br&gt;Symas Corporation - The LDAP Guys
&lt;br&gt;&lt;a href=&quot;http://www.symas.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.symas.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Call-for-nss_ov-and-nss-ldapd-Testers-tp26204866p26204866.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26159175</id>
	<title>Re: disconnected nss_ldap</title>
	<published>2009-11-01T22:24:06Z</published>
	<updated>2009-11-01T22:24:06Z</updated>
	<author>
		<name>Brian J. Murrell</name>
	</author>
	<content type="html">On Sun, 2009-11-01 at 22:19 -0500, Brian J. Murrell wrote: 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;Hrm. &amp;nbsp;I spoke too soon. &amp;nbsp;:-(
&lt;br&gt;&lt;br&gt;&amp;gt; Some debugging in nscd reveals that the problem lies in that the
&lt;br&gt;&amp;gt; only error value that nscd is allowing for the &amp;quot;unreachable server&amp;quot; case
&lt;br&gt;&amp;gt; is EAGAIN. &amp;nbsp;However, in my case (at least), where I am blocking the LDAP
&lt;br&gt;&amp;gt; server with iptables configured to send back TCP RST, the error value is
&lt;br&gt;&amp;gt; ENOTCONN and when I tell nscd that ENOTCONN is a vaild error for the
&lt;br&gt;&amp;gt; &amp;quot;unreachable&amp;quot; case, nscd seems to hold on to the entries it had before
&lt;br&gt;&amp;gt; the LDAP server became unreachable.
&lt;br&gt;&lt;br&gt;But in testing what nscd does when the network connection is down
&lt;br&gt;altogether, it would seem that __getpw{nam|uuid}_r() returns an ENOENT
&lt;br&gt;(2). &amp;nbsp;Which of course it not valid for the &amp;quot;server unreachable&amp;quot; clause
&lt;br&gt;of nscd which simply allows the cached record to live on.
&lt;br&gt;&lt;br&gt;I'm not sure why that is TBH. &amp;nbsp;It seems reasonable that an ENOENT is
&lt;br&gt;suitable for the local, /etc/passwd entry (in absence of any other
&lt;br&gt;databases), but surely when configured with nss_ldap (&amp;quot;passwd: compat
&lt;br&gt;ldap&amp;quot; in /etc/nsswitch.conf), an ENOENT for a missing /etc/passwd entry
&lt;br&gt;is suppressed and the return from nss_ldap is the final return for the
&lt;br&gt;__getpw{nam|uuid}_r() functions, yes?
&lt;br&gt;&lt;br&gt;b.
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (204 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/26159175/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26159175.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26158177</id>
	<title>Re: disconnected nss_ldap</title>
	<published>2009-11-01T19:19:32Z</published>
	<updated>2009-11-01T19:19:32Z</updated>
	<author>
		<name>Brian J. Murrell</name>
	</author>
	<content type="html">On Sun, 2009-11-01 at 19:59 -0500, Brian J. Murrell wrote: 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; What can I do to help narrow this down?
&lt;br&gt;&lt;br&gt;OK. &amp;nbsp;Some debugging in nscd reveals that the problem lies in that the
&lt;br&gt;only error value that nscd is allowing for the &amp;quot;unreachable server&amp;quot; case
&lt;br&gt;is EAGAIN. &amp;nbsp;However, in my case (at least), where I am blocking the LDAP
&lt;br&gt;server with iptables configured to send back TCP RST, the error value is
&lt;br&gt;ENOTCONN and when I tell nscd that ENOTCONN is a vaild error for the
&lt;br&gt;&amp;quot;unreachable&amp;quot; case, nscd seems to hold on to the entries it had before
&lt;br&gt;the LDAP server became unreachable.
&lt;br&gt;&lt;br&gt;More time will tell for sure.
&lt;br&gt;&lt;br&gt;b.
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (204 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/26158177/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26158177.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26157564</id>
	<title>Re: Re: disconnected nss_ldap</title>
	<published>2009-11-01T18:01:13Z</published>
	<updated>2009-11-01T18:01:13Z</updated>
	<author>
		<name>Howard Chu</name>
	</author>
	<content type="html">Brian J. Murrell wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I got it to build and install without much ado.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Unfortunately, it doesn't seem to do much better than we had before.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I am using an iptables rule (which sends back a TCP RST to existing and
&lt;br&gt;&amp;gt; new connection attempts) at my ldap server to simulate disconnection.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; For a short while after &amp;quot;disconnection&amp;quot; &amp;quot;id brian&amp;quot; returns a result, but
&lt;br&gt;&amp;gt; as before, not very long after disconnection it starts failing.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; What can I do to help narrow this down?
&lt;/div&gt;&lt;br&gt;You're chasing a dead-end. Even if you get this aspect working, nscd still
&lt;br&gt;doesn't cache enumerations, which are the most expensive nss lookup operation.
&lt;br&gt;(e.g., an unqualified &amp;quot;getent&amp;quot; call). nscd is broken by design.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;&amp;nbsp; -- Howard Chu
&lt;br&gt;&amp;nbsp; CTO, Symas Corp. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.symas.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.symas.com&lt;/a&gt;&lt;br&gt;&amp;nbsp; Director, Highland Sun &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://highlandsun.com/hyc/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://highlandsun.com/hyc/&lt;/a&gt;&lt;br&gt;&amp;nbsp; Chief Architect, OpenLDAP &amp;nbsp;&lt;a href=&quot;http://www.openldap.org/project/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openldap.org/project/&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26157564.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26157216</id>
	<title>Re: disconnected nss_ldap</title>
	<published>2009-11-01T16:59:51Z</published>
	<updated>2009-11-01T16:59:51Z</updated>
	<author>
		<name>Brian J. Murrell</name>
	</author>
	<content type="html">On Sun, 2009-11-01 at 15:19 -0400, Ryan Lynch wrote: 
&lt;br&gt;&amp;gt; Not yet--i ran into some problems compiling w/ Howard's 'mega'
&lt;br&gt;&amp;gt; patch--there are some conflicts between ./configure options that I
&lt;br&gt;&amp;gt; don't understand. Howard hasn't gotten back to me, yet, so I'm
&lt;br&gt;&amp;gt; probably going to have to go trial-and-error on Monday.
&lt;br&gt;&lt;br&gt;I got it to build and install without much ado.
&lt;br&gt;&lt;br&gt;Unfortunately, it doesn't seem to do much better than we had before.
&lt;br&gt;&lt;br&gt;I am using an iptables rule (which sends back a TCP RST to existing and
&lt;br&gt;new connection attempts) at my ldap server to simulate disconnection.
&lt;br&gt;&lt;br&gt;For a short while after &amp;quot;disconnection&amp;quot; &amp;quot;id brian&amp;quot; returns a result, but
&lt;br&gt;as before, not very long after disconnection it starts failing.
&lt;br&gt;&lt;br&gt;What can I do to help narrow this down?
&lt;br&gt;&lt;br&gt;b.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (204 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/26157216/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26157216.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26154371</id>
	<title>Re: disconnected nss_ldap</title>
	<published>2009-11-01T11:19:51Z</published>
	<updated>2009-11-01T11:19:51Z</updated>
	<author>
		<name>Ryan B. Lynch</name>
	</author>
	<content type="html">Not yet--i ran into some problems compiling w/ Howard's 'mega'
&lt;br&gt;patch--there are some conflicts between ./configure options that I
&lt;br&gt;don't understand. Howard hasn't gotten back to me, yet, so I'm
&lt;br&gt;probably going to have to go trial-and-error on Monday.
&lt;br&gt;&lt;br&gt;-Ryan
&lt;br&gt;&lt;br&gt;&lt;br&gt;On 2009-11-01, Brian J. Murrell &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26154371&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;brian@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; On Tue, 2009-10-27 at 22:10 -0400, Ryan Lynch wrote:
&lt;br&gt;&amp;gt;&amp;gt; I'm sorry, I got busy with another project, and didn't get paste
&lt;br&gt;&amp;gt;&amp;gt; making the RPMs. I'll see about it, tomorrow.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Any progress there Ryan?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; b.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Ryan B. Lynch
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26154371&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ryan.b.lynch@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26154371.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26139945</id>
	<title>Re: disconnected nss_ldap</title>
	<published>2009-10-30T21:05:20Z</published>
	<updated>2009-10-30T21:05:20Z</updated>
	<author>
		<name>Brian J. Murrell</name>
	</author>
	<content type="html">On Tue, 2009-10-27 at 22:10 -0400, Ryan Lynch wrote: 
&lt;br&gt;&amp;gt; I'm sorry, I got busy with another project, and didn't get paste
&lt;br&gt;&amp;gt; making the RPMs. I'll see about it, tomorrow.
&lt;br&gt;&lt;br&gt;Any progress there Ryan?
&lt;br&gt;&lt;br&gt;b.
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (204 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/26139945/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26139945.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26088646</id>
	<title>Re: disconnected nss_ldap</title>
	<published>2009-10-27T19:10:23Z</published>
	<updated>2009-10-27T19:10:23Z</updated>
	<author>
		<name>Ryan B. Lynch</name>
	</author>
	<content type="html">I'm sorry, I got busy with another project, and didn't get paste
&lt;br&gt;making the RPMs. I'll see about it, tomorrow.
&lt;br&gt;&lt;br&gt;-Ryan
&lt;br&gt;&lt;br&gt;On 2009-10-27, Ryan Lynch &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26088646&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ryan.b.lynch@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Tue, Oct 27, 2009 at 11:27, Howard Wilkinson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26088646&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;howard@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; Ryan,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; please try this out - it applies and runs in the environment here but I
&lt;br&gt;&amp;gt;&amp;gt; would not call that an exhaustive test!
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; This is very much a hack - but without a complete write through the
&lt;br&gt;&amp;gt;&amp;gt; ldap-nss logic is too complex to do this any other way today.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I should have something back to you in a few hours.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; -Ryan
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Ryan B. Lynch
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26088646&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ryan.b.lynch@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26088646.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26080714</id>
	<title>Re: Re: Re: disconnected nss_ldap</title>
	<published>2009-10-27T08:38:46Z</published>
	<updated>2009-10-27T08:38:46Z</updated>
	<author>
		<name>Ryan B. Lynch</name>
	</author>
	<content type="html">On Tue, Oct 27, 2009 at 11:27, Howard Wilkinson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26080714&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;howard@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; Ryan,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; please try this out - it applies and runs in the environment here but I would not call that an exhaustive test!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This is very much a hack - but without a complete write through the ldap-nss logic is too complex to do this any other way today.
&lt;br&gt;&lt;br&gt;I should have something back to you in a few hours.
&lt;br&gt;&lt;br&gt;-Ryan
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26080714.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26080675</id>
	<title>RE: Re: Re: disconnected nss_ldap</title>
	<published>2009-10-27T08:27:00Z</published>
	<updated>2009-10-27T08:27:00Z</updated>
	<author>
		<name>Howard Wilkinson</name>
	</author>
	<content type="html">Ryan,
&lt;br&gt;&amp;nbsp;
&lt;br&gt;please try this out - it applies and runs in the environment here but I would not call that an exhaustive test!
&lt;br&gt;&amp;nbsp;
&lt;br&gt;This is very much a hack - but without a complete write through the ldap-nss logic is too complex to do this any other way today.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;Howard.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;On Tue, Oct 27, 2009 at 10:35, Howard Wilkinson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26080675&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;howard@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; I am working on this now and hope to have something out today. The internals of nss_ldap are a bit of mess in this area, but I think I have a handle on it.
&lt;br&gt;&lt;br&gt;Fire when ready.
&lt;br&gt;&lt;br&gt;&amp;gt; This will have to go on the top of the mega patch as the original code is even worse in this area..... ;-(
&lt;br&gt;&lt;br&gt;That's good--I was in the process of rebuilding RPMs with your latest
&lt;br&gt;mega rev when I saw your original message, so I can save a little time
&lt;br&gt;testing both at once.
&lt;br&gt;&lt;br&gt;-Ryan
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;diff -ruN nss_ldap-264-save/nss_ldap-264/ldap-nss.c nss_ldap-264/nss_ldap-264/ldap-nss.c
&lt;br&gt;--- nss_ldap-264-save/nss_ldap-264/ldap-nss.c	2009-10-26 11:05:50.659588000 +0000
&lt;br&gt;+++ nss_ldap-264/nss_ldap-264/ldap-nss.c	2009-10-27 15:19:42.053806000 +0000
&lt;br&gt;@@ -308,6 +308,11 @@
&lt;br&gt;&amp;nbsp;static NSS_STATUS do_map_error (int rc);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/*
&lt;br&gt;+ * Map status to status and errno - handles out of buffer fudges
&lt;br&gt;+ */
&lt;br&gt;+static NSS_STATUS do_map_errno (NSS_STATUS status, int *errnop);
&lt;br&gt;+
&lt;br&gt;+/*
&lt;br&gt;&amp;nbsp; * support the sasl interaction
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;static int do_sasl_interact (LDAP * ld, unsigned flags, void *defaults, void *p);
&lt;br&gt;@@ -1665,7 +1670,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-void
&lt;br&gt;+static void
&lt;br&gt;&amp;nbsp;do_init_mechs (ldap_session_t *session)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp;int i;
&lt;br&gt;@@ -2523,7 +2528,7 @@
&lt;br&gt;&amp;nbsp;#define _APPEND_STRING(_buffer, _buflen, _s, _len) do { \
&lt;br&gt;&amp;nbsp;		if ((_buflen) &amp;lt; (size_t)((_len) + 1)) \
&lt;br&gt;&amp;nbsp;		{ \
&lt;br&gt;-			return NSS_TRYAGAIN; \
&lt;br&gt;+			return NSS_RETURN; \
&lt;br&gt;&amp;nbsp;		} \
&lt;br&gt;&amp;nbsp;		memcpy((_buffer), (_s), (_len)); \
&lt;br&gt;&amp;nbsp;		(_buffer)[(_len)] = '\0'; \
&lt;br&gt;@@ -2610,7 +2615,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;len = strlen (filter);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (buflen &amp;lt; len + 1 /* ')' */ )
&lt;br&gt;-	return NSS_TRYAGAIN;
&lt;br&gt;+	return NSS_RETURN;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;memcpy (bufptr, filter, len);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bufptr[len] = '\0';
&lt;br&gt;@@ -2619,7 +2624,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;if (buflen &amp;lt; 2)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;return NSS_TRYAGAIN;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return NSS_RETURN;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;*bufptr++ = ')';
&lt;br&gt;&amp;nbsp; &amp;nbsp;*bufptr++ = '\0';
&lt;br&gt;@@ -2705,7 +2710,7 @@
&lt;br&gt;&amp;nbsp;					 &amp;nbsp; &amp;nbsp; args-&amp;gt;la_arg1.la_triple.user,
&lt;br&gt;&amp;nbsp;					 &amp;nbsp; &amp;nbsp; args-&amp;gt;la_arg1.la_triple.domain,
&lt;br&gt;&amp;nbsp;					 &amp;nbsp; &amp;nbsp; filterBufP, filterSiz);
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp; &amp;nbsp;if (stat == NSS_TRYAGAIN)
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;if (stat == NSS_RETURN)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;&amp;nbsp;		 &amp;nbsp;filterBufP = *dynamicUserBuf = realloc (*dynamicUserBuf,
&lt;br&gt;&amp;nbsp;							 &amp;nbsp;2 * filterSiz);
&lt;br&gt;@@ -2714,7 +2719,7 @@
&lt;br&gt;&amp;nbsp;		 &amp;nbsp;filterSiz *= 2;
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-	 &amp;nbsp;while (stat == NSS_TRYAGAIN);
&lt;br&gt;+	 &amp;nbsp;while (stat == NSS_RETURN);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;break;
&lt;br&gt;&amp;nbsp;#endif /* HAVE_NSSWITCH_H || HAVE_IRS_H */
&lt;br&gt;&amp;nbsp;	case LA_TYPE_STRING_LIST_OR:
&lt;br&gt;@@ -2724,7 +2729,7 @@
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp;stat = do_aggregate_filter (args-&amp;gt;la_arg1.la_string_list,
&lt;br&gt;&amp;nbsp;					 &amp;nbsp;args-&amp;gt;la_type,
&lt;br&gt;&amp;nbsp;					 &amp;nbsp;filterprot, filterBufP, filterSiz);
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp; &amp;nbsp;if (stat == NSS_TRYAGAIN)
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;if (stat == NSS_RETURN)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;&amp;nbsp;		 &amp;nbsp;filterBufP = *dynamicUserBuf = realloc (*dynamicUserBuf,
&lt;br&gt;&amp;nbsp;							 &amp;nbsp;2 * filterSiz);
&lt;br&gt;@@ -2733,7 +2738,7 @@
&lt;br&gt;&amp;nbsp;		 &amp;nbsp;filterSiz *= 2;
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-	 &amp;nbsp;while (stat == NSS_TRYAGAIN);
&lt;br&gt;+	 &amp;nbsp;while (stat == NSS_RETURN);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;break;
&lt;br&gt;&amp;nbsp;	default:
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;return NSS_UNAVAIL;
&lt;br&gt;@@ -2963,6 +2968,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;int maxtries;
&lt;br&gt;&amp;nbsp; &amp;nbsp;int hard;
&lt;br&gt;&amp;nbsp; &amp;nbsp;int firstTime = 1;
&lt;br&gt;+ &amp;nbsp;int errnotmp = 0;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;debug (&amp;quot;==&amp;gt; do_with_reconnect&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -3116,7 +3122,7 @@
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;nss_ldap: could not %s %sconnect to LDAP server - %s&amp;quot;,
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp;hard ? &amp;quot;hard&amp;quot; : &amp;quot;soft&amp;quot;, tries ? &amp;quot;re&amp;quot; : &amp;quot;&amp;quot;,
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp;ldap_err2string (rc));
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;stat = NSS_UNAVAIL;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;/* stat = NSS_UNAVAIL; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;case NSS_SUCCESS:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (log != 0)
&lt;br&gt;@@ -3148,6 +3154,8 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;debug (&amp;quot;&amp;lt;== do_with_reconnect returns %s(%d)&amp;quot;, __nss_ldap_status2string(stat), stat);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp;stat = do_map_errno(stat, &amp;errnotmp);
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp;return stat;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -3273,10 +3281,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;return rc;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-static void
&lt;br&gt;+static NSS_STATUS
&lt;br&gt;&amp;nbsp;do_map_errno (NSS_STATUS status, int *errnop)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;- &amp;nbsp;if (status == NSS_TRYAGAIN)
&lt;br&gt;+ &amp;nbsp;if (status == NSS_RETURN)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp;#ifdef HAVE_NSSWITCH_H
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;errno = ERANGE;
&lt;br&gt;@@ -3284,11 +3292,17 @@
&lt;br&gt;&amp;nbsp;#else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*errnop = errno = ERANGE;
&lt;br&gt;&amp;nbsp;#endif
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;status = NSS_TRYAGAIN;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;else if (status == NSS_TRYAGAIN)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;*errnop = errno = EAGAIN;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*errnop = 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;return status;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/*
&lt;br&gt;@@ -3342,7 +3356,7 @@
&lt;br&gt;&amp;nbsp;			 &amp;nbsp;buffer, buflen);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/* hold onto the state if we're out of memory XXX */
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;ctx-&amp;gt;ec_state.ls_retry = (parseStat == NSS_TRYAGAIN &amp;&amp; buffer != NULL ? 1 : 0);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;ctx-&amp;gt;ec_state.ls_retry = (parseStat == NSS_RETURN &amp;&amp; buffer != NULL ? 1 : 0);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/* free entry is we're moving on */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (ctx-&amp;gt;ec_state.ls_retry == 0 &amp;&amp;
&lt;br&gt;@@ -3356,7 +3370,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;while (parseStat == NSS_NOTFOUND);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;do_map_errno (parseStat, errnop);
&lt;br&gt;+ &amp;nbsp;parseStat = do_map_errno (parseStat, errnop);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;debug (&amp;quot;&amp;lt;== do_parse&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -3408,17 +3422,17 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * If we do not parse the entry because of a schema
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * violation, the parser should return NSS_NOTFOUND.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * We'll keep on trying subsequent entries until we
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; * find one which is parseable, or exhaust avialable
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; * find one which is parseable, or exhaust available
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * entries, whichever is first.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;parseStat = parser (e, &amp;ctx-&amp;gt;ec_state, result, buffer, buflen);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/* hold onto the state if we're out of memory XXX */
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;ctx-&amp;gt;ec_state.ls_retry = (parseStat == NSS_TRYAGAIN &amp;&amp; buffer != NULL ? 1 : 0);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;ctx-&amp;gt;ec_state.ls_retry = (parseStat == NSS_RETURN &amp;&amp; buffer != NULL ? 1 : 0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;while (parseStat == NSS_NOTFOUND);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;do_map_errno (parseStat, errnop);
&lt;br&gt;+ &amp;nbsp;parseStat = do_map_errno (parseStat, errnop);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;debug (&amp;quot;&amp;lt;== do_parse_s&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -4076,7 +4090,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;if (bytesleft (buffer, buflen, char *) &amp;lt; (valcount + 1) * sizeof (char *))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ldap_value_free (vals);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return NSS_TRYAGAIN;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;return NSS_RETURN;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;align (buffer, buflen, char *);
&lt;br&gt;@@ -4110,7 +4124,7 @@
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;if (buflen &amp;lt; (size_t) (vallen + 1))
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp;ldap_value_free (vals);
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp; &amp;nbsp;return NSS_TRYAGAIN;
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;return NSS_RETURN;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;/* copy this value into the next block of buffer space */
&lt;br&gt;@@ -4156,7 +4170,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vallen = strlen (ovr);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (*buflen &amp;lt; (size_t) (vallen + 1))
&lt;br&gt;&amp;nbsp;	{
&lt;br&gt;-	 &amp;nbsp;return NSS_TRYAGAIN;
&lt;br&gt;+	 &amp;nbsp;return NSS_RETURN;
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*valptr = *buffer;
&lt;br&gt;@@ -4184,7 +4198,7 @@
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;vallen = strlen (def);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;if (*buflen &amp;lt; (size_t) (vallen + 1))
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;{
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp; &amp;nbsp;return NSS_TRYAGAIN;
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;return NSS_RETURN;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;*valptr = *buffer;
&lt;br&gt;@@ -4207,7 +4221,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;if (*buflen &amp;lt; (size_t) (vallen + 1))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ldap_value_free (vals);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return NSS_TRYAGAIN;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;return NSS_RETURN;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;*valptr = *buffer;
&lt;br&gt;@@ -4304,7 +4318,7 @@
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;ldap_value_free (vals);
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;debug (&amp;quot;&amp;lt;== _nss_ldap_assign_userpassword&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return NSS_TRYAGAIN;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;return NSS_RETURN;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;*valptr = *buffer;
&lt;br&gt;@@ -4679,6 +4693,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;debug (&amp;quot;&amp;lt;== _nss_ldap_proxy_bind (empty password not permitted)&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/* XXX overload */
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;do_map_errno(NSS_TRYAGAIN, &amp;rc);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return NSS_TRYAGAIN;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -4749,6 +4764,8 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;debug (&amp;quot;&amp;lt;== _nss_ldap_proxy_bind&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp;stat = do_map_errno(stat, &amp;rc);
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp;return stat;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26080675.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26080092</id>
	<title>Re: Re: Re: disconnected nss_ldap</title>
	<published>2009-10-27T07:59:14Z</published>
	<updated>2009-10-27T07:59:14Z</updated>
	<author>
		<name>Ryan B. Lynch</name>
	</author>
	<content type="html">On Tue, Oct 27, 2009 at 10:35, Howard Wilkinson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26080092&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;howard@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; I am working on this now and hope to have something out today. The internals of nss_ldap are a bit of mess in this area, but I think I have a handle on it.
&lt;br&gt;&lt;br&gt;Fire when ready.
&lt;br&gt;&lt;br&gt;&amp;gt; This will have to go on the top of the mega patch as the original code is even worse in this area..... ;-(
&lt;br&gt;&lt;br&gt;That's good--I was in the process of rebuilding RPMs with your latest
&lt;br&gt;mega rev when I saw your original message, so I can save a little time
&lt;br&gt;testing both at once.
&lt;br&gt;&lt;br&gt;-Ryan
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26080092.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26079783</id>
	<title>RE: Re: Re: disconnected nss_ldap</title>
	<published>2009-10-27T07:35:31Z</published>
	<updated>2009-10-27T07:35:31Z</updated>
	<author>
		<name>Howard Wilkinson</name>
	</author>
	<content type="html">Hi Ryan,
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Howard,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; On Tue, Oct 27, 2009 at 08:24, Howard Wilkinson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26079783&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;howard@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;gt; If anybody who understands the nsswitch internals can confirm which is the correct response I will patch the nss_ldap library (I have half a patch already) and try this out.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; I'm in a position to test patches for this, even if they're a bit
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; rough--I have a couple of throwaway VMs specifically intended for
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this. Feel free to send anything you have, I'd love to see this issue
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; resolved, soon.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;I am working on this now and hope to have something out today. The internals of nss_ldap are a bit of mess in this area, but I think I have a handle on it.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Also, will your patch for this issue sit on top of your &amp;quot;mega&amp;quot; patch,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; or on the unpatched PADL tree?
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -Ryan
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;This will have to go on the top of the mega patch as the original code is even worse in this area..... ;-(
&lt;br&gt;&amp;nbsp;
&lt;br&gt;Howard.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26079783.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26079494</id>
	<title>Re: Re: Re: disconnected nss_ldap</title>
	<published>2009-10-27T07:21:28Z</published>
	<updated>2009-10-27T07:21:28Z</updated>
	<author>
		<name>Ryan B. Lynch</name>
	</author>
	<content type="html">Howard,
&lt;br&gt;&lt;br&gt;On Tue, Oct 27, 2009 at 08:24, Howard Wilkinson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26079494&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;howard@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; If anybody who understands the nsswitch internals can confirm which is the correct response I will patch the nss_ldap library (I have half a patch already) and try this out.
&lt;br&gt;&lt;br&gt;I'm in a position to test patches for this, even if they're a bit
&lt;br&gt;rough--I have a couple of throwaway VMs specifically intended for
&lt;br&gt;this. Feel free to send anything you have, I'd love to see this issue
&lt;br&gt;resolved, soon.
&lt;br&gt;&lt;br&gt;Also, will your patch for this issue sit on top of your &amp;quot;mega&amp;quot; patch,
&lt;br&gt;or on the unpatched PADL tree?
&lt;br&gt;&lt;br&gt;-Ryan
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26079494.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26077606</id>
	<title>RE: Re: Re: disconnected nss_ldap</title>
	<published>2009-10-27T05:24:37Z</published>
	<updated>2009-10-27T05:24:37Z</updated>
	<author>
		<name>Howard Wilkinson</name>
	</author>
	<content type="html">Brian et al,
&lt;br&gt;&amp;nbsp;
&lt;br&gt;I think the problem with the nscd issue may be a bug in nss_ldap's interface with the nsswitch interface. 
&lt;br&gt;&amp;nbsp;
&lt;br&gt;.......
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; nscd really does seem like it would complete the solution if it didn't
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; suffer from redhat bug 2132.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Cheers,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; b.
&lt;br&gt;&lt;br&gt;I have looked into the nss_ldap code and it responds with NSS_STATUS_UNAVAIL, errno = EPERM for the following cases.
&lt;br&gt;&lt;br&gt;LDAP_SERVER_DOWN, LDAP_TIMEOUT, LDAP_UNAVAILABLE, LDAP_BUSY, LDAP_CONNECT_ERROR, LDAP_LOCAL_ERROR, LDAP_INVALID_CREDENTIALS.
&lt;br&gt;&lt;br&gt;The last 2 are I suspect correct but the first 5 are really candidates for 'server has gone away'. I suspect, but can't quite decide whether I am right, that the code should respond with either NSS_STATUS_TRYAGAIN, errno != ERANGE, or NSS_STATUS_UNAVAIL, errno = EAGAIN for the cache to continue to be populated with the entry.
&lt;br&gt;&lt;br&gt;If anybody who understands the nsswitch internals can confirm which is the correct response I will patch the nss_ldap library (I have half a patch already) and try this out.
&lt;br&gt;&lt;br&gt;Howard.
&lt;br&gt;&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26077606.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26063274</id>
	<title>Re: Re: Re: how disable shadow map</title>
	<published>2009-10-26T08:53:03Z</published>
	<updated>2009-10-26T08:53:03Z</updated>
	<author>
		<name>Brian J. Murrell</name>
	</author>
	<content type="html">On Mon, 2009-10-26 at 09:50 -0500, Douglas E. Engert wrote:
&lt;br&gt;&amp;gt; Well then set the userPassword attributes to &amp;quot;{crypt}NP&amp;quot;
&lt;br&gt;&amp;gt; as I described on 10/21. pam_unix will not complain,
&lt;br&gt;&lt;br&gt;I'm not so sure of this. &amp;nbsp;But as I posted to this thread a few days ago,
&lt;br&gt;the real solution is to remove the shadowAccount object class from
&lt;br&gt;records you don't want shadow information made available for.
&lt;br&gt;&lt;br&gt;b.
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (204 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/26063274/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/how-disable-shadow-map-tp25996411p26063274.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26062289</id>
	<title>Re: Re: Re: how disable shadow map</title>
	<published>2009-10-26T07:50:22Z</published>
	<updated>2009-10-26T07:50:22Z</updated>
	<author>
		<name>Douglas E. Engert</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;Brian J. Murrell wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Fri, 2009-10-23 at 20:16 -0700, Paul B. Henson wrote:
&lt;br&gt;&amp;gt;&amp;gt; Sorry, I wasn't paying attention to the beginning of this thread, so I
&lt;br&gt;&amp;gt;&amp;gt; don't recall what OS you're using. Linux variants of pam_unix support the
&lt;br&gt;&amp;gt;&amp;gt; &amp;quot;broken_shadow&amp;quot; option:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;broken_shadow
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Ignore errors reading shadow information for users in the
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;account management module.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Which I think will do exactly what you want, if you're running Linux.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Indeed, it does and I tested that before posting. &amp;nbsp;But my distro
&lt;br&gt;&amp;gt; (Ubuntu) maintainer reports that not having shadow map entries when the
&lt;br&gt;&amp;gt; password is &amp;quot;x&amp;quot; is just broken (which given what I have read, I agree)
&lt;br&gt;&amp;gt; and I tend to think they will likely refuse to use such hacks and insist
&lt;br&gt;&amp;gt; that the breakage be fixed instead.
&lt;/div&gt;&lt;br&gt;Well then set the userPassword attributes to &amp;quot;{crypt}NP&amp;quot;
&lt;br&gt;as I described on 10/21. pam_unix will not complain,
&lt;br&gt;and since you are using pam_krb5 for authentication this works
&lt;br&gt;fine with our Ubuntu systems.
&lt;br&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I'm starting to feel like I'm pissing up a rope with regard to the basic
&lt;br&gt;&amp;gt; bug here though.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; b.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;&lt;br&gt;&amp;nbsp; Douglas E. Engert &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26062289&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;DEEngert@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; Argonne National Laboratory
&lt;br&gt;&amp;nbsp; 9700 South Cass Avenue
&lt;br&gt;&amp;nbsp; Argonne, Illinois &amp;nbsp;60439
&lt;br&gt;&amp;nbsp; (630) 252-5444
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/how-disable-shadow-map-tp25996411p26062289.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26050520</id>
	<title>Re: Mega patch against nss_ldap 264</title>
	<published>2009-10-25T07:12:48Z</published>
	<updated>2009-10-25T07:12:48Z</updated>
	<author>
		<name>Howard Wilkinson</name>
	</author>
	<content type="html">I have revisited this code and posted some new patches to the bugzilla.
&lt;br&gt;This now includes more comprehensive recovery code when the connection
&lt;br&gt;to the server goes down.
&lt;br&gt;&lt;br&gt;I know of one outstanding issue with the group stuff, where recursion is
&lt;br&gt;used to expand nested groups the recovery code fails. I intend to remove
&lt;br&gt;the recursion and replace with list walking code to produce the
&lt;br&gt;transitive closure needed for this function.
&lt;br&gt;&lt;br&gt;Anybody who is feeling brave and would like to test this out then I need
&lt;br&gt;to know I have not broken any of:
&lt;br&gt;1. Plain text password binds
&lt;br&gt;2. Anonymous binds
&lt;br&gt;3. SSL/TLS binds
&lt;br&gt;4. Other LDAP backends - my major testing has been against Active
&lt;br&gt;Directory, so tests against the Fedora Directory Server (389DS) and
&lt;br&gt;OpenLDAP would be useful.
&lt;br&gt;&lt;br&gt;Furthermore, I have tested but not implemented in production the keytab
&lt;br&gt;based renewal code. So if someone can hammer this it would be great.
&lt;br&gt;&lt;br&gt;Howard.
&lt;br&gt;&lt;br&gt;P.S. I think the hard/soft features in the Bind code should now function
&lt;br&gt;as advertised - can somebody check this as well?
&lt;br&gt;&lt;br&gt;On Tue, 2008-12-09 at 22:13 +0000, Luke Howard wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Thanks Howard! I am a bit snowed under now but I really look forward 
&lt;br&gt;&amp;gt; to taking a look at this.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -- Luke
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On 10/12/2008, at 5:30 AM, Howard Wilkinson wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; I have just pushed a large patch against nss_Ldap 264 up to the 
&lt;br&gt;&amp;gt; &amp;gt; bugzilla.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; This is a structural alteration at the source code level to ldap-
&lt;br&gt;&amp;gt; &amp;gt; nss.c which is generally just changing how it reads. However, it 
&lt;br&gt;&amp;gt; &amp;gt; fixes some bugs in the kerberos pathways and also commons up code 
&lt;br&gt;&amp;gt; &amp;gt; that had multiple copies in the code source.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; I would be very grateful if anybody could try it out and let me
&lt;br&gt;&amp;gt; know 
&lt;br&gt;&amp;gt; &amp;gt; what I have broken.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; My intention with this is to make the critical path through the
&lt;br&gt;&amp;gt; code 
&lt;br&gt;&amp;gt; &amp;gt; run the minimal code when a connection to the LDAP server exists, 
&lt;br&gt;&amp;gt; &amp;gt; make recovery on failure more resilient, and provide for multiple 
&lt;br&gt;&amp;gt; &amp;gt; SASL mechs without need to alter the ldap-nss code.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Comments, improvements and fault reports much appreciated.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; I am hoping that Luke will push this out as the basis for the main 
&lt;br&gt;&amp;gt; &amp;gt; development downstream, so that I can add the extra features on the 
&lt;br&gt;&amp;gt; &amp;gt; kerberos side I am looking for.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Howard.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; www.padl.com | www.fghr.net
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;-- 
&lt;br&gt;Howard Wilkinson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26050520&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;howard@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Coherent Technology Limited
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Mega-patch-against-nss_ldap-264-tp20921966p26050520.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26039843</id>
	<title>[solved] how disable shadow map</title>
	<published>2009-10-24T07:15:34Z</published>
	<updated>2009-10-24T07:15:34Z</updated>
	<author>
		<name>Brian J. Murrell</name>
	</author>
	<content type="html">On Wed, 2009-10-21 at 12:12 -0400, Brian J. Murrell wrote:
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I want to disable the shadow map, and specifically, stop the passwd map
&lt;br&gt;&amp;gt; from returning &amp;quot;x&amp;quot; in the password field.
&lt;br&gt;&lt;br&gt;This is in fact quite simple to do, on a user-by-user basis even.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I noticed from a quick browse of the code:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; if (_nss_ldap_oc_check (e, &amp;quot;shadowAccount&amp;quot;) == NSS_SUCCESS)
&lt;br&gt;&amp;gt; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* don't include password for shadowAccount */
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (buflen &amp;lt; 3)
&lt;br&gt;&amp;gt; 	return NSS_TRYAGAIN;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; pw-&amp;gt;pw_passwd = buffer;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; strcpy (buffer, &amp;quot;x&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; buffer += 2;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; buflen -= 2;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; else
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; stat =
&lt;br&gt;&amp;gt; 	_nss_ldap_assign_userpassword (e, ATM (LM_PASSWD, userPassword),
&lt;br&gt;&amp;gt; 				 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;pw-&amp;gt;pw_passwd, &amp;buffer, &amp;buflen);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (stat != NSS_SUCCESS)
&lt;br&gt;&amp;gt; 	return stat;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;/div&gt;&lt;/div&gt;This above code snippet is really what led me to the solution.
&lt;br&gt;&lt;br&gt;One simply removes (if it exists, which it should if your passwd entry
&lt;br&gt;is &amp;quot;x&amp;quot;) the shadowAccount object class from the LDAP record (which your
&lt;br&gt;nss_ldap is configured to map to the passwd map) for users which you
&lt;br&gt;don't want shadow information available. &amp;nbsp;The &amp;quot;x&amp;quot; in the password field
&lt;br&gt;of the passwd entry changes to a &amp;quot;*&amp;quot; once this is done and there is no
&lt;br&gt;entry in the shadow map any more.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;b.
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (204 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/26039843/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/how-disable-shadow-map-tp25996411p26039843.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26039297</id>
	<title>Re: Re: Re: how disable shadow map</title>
	<published>2009-10-24T06:18:25Z</published>
	<updated>2009-10-24T06:18:25Z</updated>
	<author>
		<name>Brian J. Murrell</name>
	</author>
	<content type="html">[ Hrm. &amp;nbsp;Gabor's message doesn't seem to have been copied to the list
&lt;br&gt;despite being sent there. &amp;nbsp;I will reply to the list in any case as that
&lt;br&gt;was his intention. &amp;nbsp;]
&lt;br&gt;&lt;br&gt;On Sat, 2009-10-24 at 10:24 +0200, Gabor Gombas wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; It seems you do not want any of the functionality of pam_unix.
&lt;br&gt;&lt;br&gt;Ahhh. &amp;nbsp;But I do, for any accounts that might be in the local /etc/passwd
&lt;br&gt;and /etc/shadow files. &amp;nbsp;I just don't want it for accounts that would
&lt;br&gt;come from Kerberos/LDAP.
&lt;br&gt;&lt;br&gt;&amp;gt; Then why
&lt;br&gt;&amp;gt; do you use it?
&lt;br&gt;&lt;br&gt;Per above.
&lt;br&gt;&lt;br&gt;b.
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (204 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/26039297/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/how-disable-shadow-map-tp25996411p26039297.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26039152</id>
	<title>Re: Re: disconnected nss_ldap</title>
	<published>2009-10-24T06:03:05Z</published>
	<updated>2009-10-24T06:03:05Z</updated>
	<author>
		<name>Brian J. Murrell</name>
	</author>
	<content type="html">On Sat, 2009-10-24 at 03:16 -0400, Ryan Lynch wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; nscd and the name service switch arent' supposed to handle
&lt;br&gt;&amp;gt; authenticating users via LDAP binds.
&lt;br&gt;&lt;br&gt;They are not. &amp;nbsp;It was the pam_unix modules &amp;quot;account&amp;quot; mode that was
&lt;br&gt;refusing the access because when the password map returns an &amp;quot;x&amp;quot; in the
&lt;br&gt;password field, a shadow entry must be available for pam_unix to verify
&lt;br&gt;the expiry status of the password.
&lt;br&gt;&lt;br&gt;When you are disconnected from the LDAP server you don't have shadow
&lt;br&gt;entries so pam_unix fails the &amp;quot;account&amp;quot; checks which denies login.
&lt;br&gt;&lt;br&gt;This is why I started the other thread about having nss_ldap not return
&lt;br&gt;a &amp;quot;x&amp;quot; for the password when the shadow map is not available/desired.
&lt;br&gt;Which just happens to be all of the time when you are using Kerberos.
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp;Authentication and authorization
&lt;br&gt;&amp;gt; are two totally separate chains of events.
&lt;br&gt;&lt;br&gt;Understood, very well.
&lt;br&gt;&lt;br&gt;&amp;gt; You need to set up 'pam_ldap' and 'pam_ccreds', which will run in
&lt;br&gt;&amp;gt; parallel with 'nscd' and 'nss_ldap(d)'.
&lt;br&gt;&lt;br&gt;But neither of those deals with the shadow map problem.
&lt;br&gt;&lt;br&gt;&amp;gt; nscd caches the group-to-GID
&lt;br&gt;&amp;gt; and user-to-UID mappings, and 'pam_ccreds' caches the LDAP creds and
&lt;br&gt;&amp;gt; bind results.
&lt;br&gt;&lt;br&gt;Right. &amp;nbsp;And nothing caches the shadow map for pam_unix's account module,
&lt;br&gt;hence the need for the &amp;quot;broken_shadow&amp;quot; hack or more properly the ability
&lt;br&gt;to disable the &amp;quot;x&amp;quot; in the password field of the passwd map on
&lt;br&gt;configurations that don't really need or want shadow functionality.
&lt;br&gt;&lt;br&gt;&amp;gt; I can't speak to Ubuntu-specific issues, I don't have a lot of
&lt;br&gt;&amp;gt; experience there, but I've seen a decent number of bugs in the PADL
&lt;br&gt;&amp;gt; suite and nscd, in the last few years. Maybe Launchpad has a ticket
&lt;br&gt;&amp;gt; from between those two releases that explains the difference?
&lt;br&gt;&lt;br&gt;No, it's quite easily the bug you mentioned earlier in that something
&lt;br&gt;needs to probe all cache entries at least once per TTL or they get
&lt;br&gt;dropped.
&lt;br&gt;&lt;br&gt;&amp;gt; Can I suggest something? If you haven't already gotten in touch with
&lt;br&gt;&amp;gt; someone who's using LDAP authen and authn caching (pam_ldap and
&lt;br&gt;&amp;gt; pam_ccreds), it might be worthwhile to re-phrase that issue as a
&lt;br&gt;&amp;gt; separate question on the list. I can show you how I do authen, but my
&lt;br&gt;&amp;gt; bag is all Kerberos, and it sounds like you're probably headed for an
&lt;br&gt;&amp;gt; all-LDAP setup.
&lt;br&gt;&lt;br&gt;No. &amp;nbsp;I authenticate with Kerberos as well. &amp;nbsp;And everything works just
&lt;br&gt;fine for all of my clients except the disconnected ones (only when
&lt;br&gt;disconnected of course), so I have everything set up as I need it. &amp;nbsp;It's
&lt;br&gt;just this nscd and dropping cached entries when it shouldn't be
&lt;br&gt;silliness that is punching a hole in the solution.
&lt;br&gt;&lt;br&gt;nscd really does seem like it would complete the solution if it didn't
&lt;br&gt;suffer from redhat bug 2132.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;b.
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (204 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/26039152/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26039152.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26039151</id>
	<title>Re: Re: disconnected nss_ldap</title>
	<published>2009-10-24T05:51:46Z</published>
	<updated>2009-10-24T05:51:46Z</updated>
	<author>
		<name>Brian J. Murrell</name>
	</author>
	<content type="html">On Sat, 2009-10-24 at 03:49 -0400, Ryan Lynch wrote:
&lt;br&gt;&amp;gt; So nscd IS caching shadow info (password hashes), for you?
&lt;br&gt;&lt;br&gt;As you discovered, no. &amp;nbsp;I am using kerberos for authentication.
&lt;br&gt;&lt;br&gt;&amp;gt; I'm using some pretty high TTLs on disconnected machines,
&lt;br&gt;&lt;br&gt;The problem with high TTLs is that changes you make to your LDAP NSS
&lt;br&gt;data takes too long (i.e. the TTL -- which needs to be like 30 days to
&lt;br&gt;avoid dropping entries before you really want to) to get updated to the
&lt;br&gt;nscd-running machines despite being connected to the LDAP server.
&lt;br&gt;&lt;br&gt;&amp;gt; There's a reason for the
&lt;br&gt;&amp;gt; enormous TTLs, too, which it looks like you may have already
&lt;br&gt;&amp;gt; discovered?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://sources.redhat.com/bugzilla/show_bug.cgi?id=2132&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sources.redhat.com/bugzilla/show_bug.cgi?id=2132&lt;/a&gt;&lt;br&gt;&lt;br&gt;Yeah. &amp;nbsp;I talked about this bug in one of my previous posts here and
&lt;br&gt;also, as you've probably noticed, I commented on that bug, but Mr.
&lt;br&gt;Drepper seems to be simply ignoring the real-world evidence that his
&lt;br&gt;proposed solution, &amp;quot;reload-count unlimited&amp;quot; just doesn't work.
&lt;br&gt;&lt;br&gt;&amp;gt; nscd drops a cached name if the TTL expires without it b eing
&lt;br&gt;&amp;gt; requested, regardless of the 'reload-count' setting.
&lt;br&gt;&lt;br&gt;Yeah. &amp;nbsp;So what's the point of &amp;quot;reload-count&amp;quot;, then really, yes?
&lt;br&gt;&lt;br&gt;&amp;gt; To effectively
&lt;br&gt;&amp;gt; use it for disconnected operations, you need to be reasonably certain
&lt;br&gt;&amp;gt; that some local activity will trigger a lookup on each cached name
&lt;br&gt;&amp;gt; more often than the TTL time.
&lt;br&gt;&lt;br&gt;Which is just silly.
&lt;br&gt;&lt;br&gt;&amp;gt; So basically, you have to set your TTLs
&lt;br&gt;&amp;gt; pretty high,
&lt;br&gt;&lt;br&gt;And let your cached data get stale, despite having easy access to the
&lt;br&gt;fresh data.
&lt;br&gt;&lt;br&gt;&amp;gt; or you need to convince Ulrich Drepper to make nscd
&lt;br&gt;&amp;gt; smarter.
&lt;br&gt;&lt;br&gt;Well, bug 2132 sure doesn't give anyone any warm fuzzies that he's
&lt;br&gt;actually willing to listen to how nscd works (or doesn't as the case may
&lt;br&gt;be) in the real world vs. how he thinks it's suppose to operate. &amp;nbsp;He is
&lt;br&gt;simply ignoring the evidence that demonstrates that he's wrong.
&lt;br&gt;&lt;br&gt;I wonder how difficult the fix is to not drop records who's TTL expires
&lt;br&gt;before they are re-requested. &amp;nbsp;I can't imagine terribly so. &amp;nbsp;I wonder if
&lt;br&gt;he'd be more (or at all) responsive to a patch than he has been to the
&lt;br&gt;presentation of evidence that his solution simply doesn't work in the
&lt;br&gt;real world.
&lt;br&gt;&lt;br&gt;b.
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (204 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/26039151/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26039151.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26037132</id>
	<title>Re: Re: disconnected nss_ldap</title>
	<published>2009-10-24T00:54:58Z</published>
	<updated>2009-10-24T00:54:58Z</updated>
	<author>
		<name>Ryan B. Lynch</name>
	</author>
	<content type="html">On Sat, Oct 24, 2009 at 03:49, Ryan Lynch &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26037132&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ryan.b.lynch@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Sat, Oct 24, 2009 at 02:17, Brian J. Murrell &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26037132&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;brian@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; On Sat, 2009-10-24 at 01:38 -0400, Brian J. Murrell wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; But as soon as the LDAP server is available again, ssh to the node works
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; just fine.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I fixed this.  This is because of pam_unix's account mode.  It wants to
&lt;br&gt;&amp;gt;&amp;gt; verify the shadow entry when the passwd entry contains a &amp;quot;x&amp;quot; for the
&lt;br&gt;&amp;gt;&amp;gt; password -- hence my previous thread about fixing this in nss_ldap.
&lt;br&gt;&amp;gt;&amp;gt; Adding broken_shadow to pam_unix's entry in the account mode works
&lt;br&gt;&amp;gt;&amp;gt; around it.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So nscd IS caching shadow info (password hashes), for you? I didn't
&lt;br&gt;&amp;gt; think it would handle that, but I guess it makes sense. In that case,
&lt;br&gt;&amp;gt; I'm not sure if there's an advantage to useing 'pam_ccreds' and
&lt;br&gt;&amp;gt; 'pam_ldap' over nscd's shadow caching.
&lt;/div&gt;&lt;br&gt;Wrong again--I just noticed your other thread, where you mentioned
&lt;br&gt;that you're using Kerberos to authenticate. I had no idea, I thought
&lt;br&gt;you were doing pure LDAP.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26037132.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26037126</id>
	<title>Re: Re: disconnected nss_ldap</title>
	<published>2009-10-24T00:49:10Z</published>
	<updated>2009-10-24T00:49:10Z</updated>
	<author>
		<name>Ryan B. Lynch</name>
	</author>
	<content type="html">On Sat, Oct 24, 2009 at 02:17, Brian J. Murrell &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26037126&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;brian@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Sat, 2009-10-24 at 01:38 -0400, Brian J. Murrell wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; But as soon as the LDAP server is available again, ssh to the node works
&lt;br&gt;&amp;gt;&amp;gt; just fine.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I fixed this.  This is because of pam_unix's account mode.  It wants to
&lt;br&gt;&amp;gt; verify the shadow entry when the passwd entry contains a &amp;quot;x&amp;quot; for the
&lt;br&gt;&amp;gt; password -- hence my previous thread about fixing this in nss_ldap.
&lt;br&gt;&amp;gt; Adding broken_shadow to pam_unix's entry in the account mode works
&lt;br&gt;&amp;gt; around it.
&lt;/div&gt;&lt;br&gt;So nscd IS caching shadow info (password hashes), for you? I didn't
&lt;br&gt;think it would handle that, but I guess it makes sense. In that case,
&lt;br&gt;I'm not sure if there's an advantage to useing 'pam_ccreds' and
&lt;br&gt;'pam_ldap' over nscd's shadow caching.
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; Indeed.  My experiments were that even with unlimited, the passwd entry
&lt;br&gt;&amp;gt;&amp;gt; for the current, logged in user disappeared.  I was going to demonstrate
&lt;br&gt;&amp;gt;&amp;gt; on my Ubuntu Karmic laptop but I can't seem to reproduce this here.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I spoke too soon/didn't wait long enough.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Witness my laptop, where I am logged in (as brian), have nscd running
&lt;br&gt;&amp;gt; with:
&lt;br&gt;&amp;gt;        reload-count            unlimited
&lt;br&gt;&amp;gt;        positive-time-to-live   passwd          60
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; $ id brian
&lt;br&gt;&amp;gt; id: brian: No such user
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I also have a user &amp;quot;keith&amp;quot; in my LDAP directory mapped into the NSS
&lt;br&gt;&amp;gt; passwd map which I was testing with before when I thought it was
&lt;br&gt;&amp;gt; working.  All this to say that &amp;quot;keith&amp;quot; should definitely be in nscd's
&lt;br&gt;&amp;gt; persistent cache as I was executing &amp;quot;id keith&amp;quot; repeatedly, watching for
&lt;br&gt;&amp;gt; it to disappear, and now, like the &amp;quot;brian&amp;quot; entry, it has:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; $ id keith
&lt;br&gt;&amp;gt; id: keith: No such user
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So for whatever reason, NSCD is expiring entries from it's persistent
&lt;br&gt;&amp;gt; cache despite the &amp;quot;reload-count unlimited&amp;quot;.  ~sigh~
&lt;/div&gt;&lt;br&gt;I'm using some pretty high TTLs on disconnected machines, and some
&lt;br&gt;Kerberos house-keeping scripts that generally make sure nscd's cache
&lt;br&gt;gets hit more often than the TTL time. There's a reason for the
&lt;br&gt;enormous TTLs, too, which it looks like you may have already
&lt;br&gt;discovered?
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://sources.redhat.com/bugzilla/show_bug.cgi?id=2132&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sources.redhat.com/bugzilla/show_bug.cgi?id=2132&lt;/a&gt;&lt;br&gt;&lt;br&gt;nscd drops a cached name if the TTL expires without it b eing
&lt;br&gt;requested, regardless of the 'reload-count' setting. To effectively
&lt;br&gt;use it for disconnected operations, you need to be reasonably certain
&lt;br&gt;that some local activity will trigger a lookup on each cached name
&lt;br&gt;more often than the TTL time. So basically, you have to set your TTLs
&lt;br&gt;pretty high, or you need to convince Ulrich Drepper to make nscd
&lt;br&gt;smarter.
&lt;br&gt;&lt;br&gt;-Ryan
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26037126.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26036921</id>
	<title>Re: Re: disconnected nss_ldap</title>
	<published>2009-10-24T00:16:42Z</published>
	<updated>2009-10-24T00:16:42Z</updated>
	<author>
		<name>Ryan B. Lynch</name>
	</author>
	<content type="html">On Sat, Oct 24, 2009 at 01:38, Brian J. Murrell &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26036921&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;brian@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; On Sat, 2009-10-24 at 00:34 -0400, Ryan Lynch wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; My bad, I just realized that you DID mention nscd--I need to learn to read.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Yeah.  :-)  Oh well.  Water under the bridge.
&lt;br&gt;&lt;br&gt;Whatever, man. Free tech support is free tech support, try to loosen
&lt;br&gt;up a little, eh?
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; But other than that, my experiments reveal that nss_ldap is called by
&lt;br&gt;&amp;gt; binaries, independently of querying nscd.  i.e. I try to log in while
&lt;br&gt;&amp;gt; the LDAP server is unavailable and get scads of messages
&lt;br&gt;&amp;gt; in /var/log/auth from nss_ldap that the ldap server is unavailable.
&lt;br&gt;...
&lt;br&gt;&amp;gt; But as soon as the LDAP server is available again, ssh to the node works
&lt;br&gt;&amp;gt; just fine.
&lt;br&gt;&lt;br&gt;nscd and the name service switch arent' supposed to handle
&lt;br&gt;authenticating users via LDAP binds. Authentication and authorization
&lt;br&gt;are two totally separate chains of events.
&lt;br&gt;&lt;br&gt;You need to set up 'pam_ldap' and 'pam_ccreds', which will run in
&lt;br&gt;parallel with 'nscd' and 'nss_ldap(d)'. nscd caches the group-to-GID
&lt;br&gt;and user-to-UID mappings, and 'pam_ccreds' caches the LDAP creds and
&lt;br&gt;bind results.
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; For example, given your desired scenario of a 10-minute cache TTL, and
&lt;br&gt;&amp;gt;&amp;gt; a 30 day hard timeout, you could set:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;   positive-time-to-live 600      # 10 minutes
&lt;br&gt;&amp;gt;&amp;gt;   reload-count 4320               # 30 days / 10 minutes
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; If the cached value is more than 10 minutes old, 'nscd' will try to
&lt;br&gt;&amp;gt;&amp;gt; refresh it. If it fails to connect, it will re-set the 10-minute TTL
&lt;br&gt;&amp;gt;&amp;gt; and increment its reload counter by 1. This cycle repeats until the
&lt;br&gt;&amp;gt;&amp;gt; reload counter reaches 4,320, when it just throws out the cached
&lt;br&gt;&amp;gt;&amp;gt; entry, entirely.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Indeed.  My experiments were that even with unlimited, the passwd entry
&lt;br&gt;&amp;gt; for the current, logged in user disappeared.  I was going to demonstrate
&lt;br&gt;&amp;gt; on my Ubuntu Karmic laptop but I can't seem to reproduce this here.
&lt;br&gt;&amp;gt; Maybe this was a problem only on the Jaunty laptop that I was trying
&lt;br&gt;&amp;gt; previously.
&lt;/div&gt;&lt;br&gt;I can't speak to Ubuntu-specific issues, I don't have a lot of
&lt;br&gt;experience there, but I've seen a decent number of bugs in the PADL
&lt;br&gt;suite and nscd, in the last few years. Maybe Launchpad has a ticket
&lt;br&gt;from between those two releases that explains the difference?
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; I actually use 'reload-count unlimited' to cache LDAP (AD, actually)
&lt;br&gt;&amp;gt;&amp;gt; users and groups. It works fine for laptops with domain accounts. With
&lt;br&gt;&amp;gt;&amp;gt; pam_ccreds, it pretty much works just like a local account would.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; That's exactly what I am aiming for as well.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Cheers, and thanks for the update to your last post.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; We should probably take this NSCD discussion offline as it's really OT
&lt;br&gt;&amp;gt; here.  Although, evidence is that, on Karmic anyway, it's working and
&lt;br&gt;&amp;gt; it's nss_ldap that is giving me grief when I am disconnected.
&lt;/div&gt;&lt;br&gt;Can I suggest something? If you haven't already gotten in touch with
&lt;br&gt;someone who's using LDAP authen and authn caching (pam_ldap and
&lt;br&gt;pam_ccreds), it might be worthwhile to re-phrase that issue as a
&lt;br&gt;separate question on the list. I can show you how I do authen, but my
&lt;br&gt;bag is all Kerberos, and it sounds like you're probably headed for an
&lt;br&gt;all-LDAP setup.
&lt;br&gt;&lt;br&gt;-Ryan
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26036921.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26036925</id>
	<title>Re: Re: Re: disconnected nss_ldap</title>
	<published>2009-10-24T00:14:25Z</published>
	<updated>2009-10-24T00:14:25Z</updated>
	<author>
		<name>Howard Chu</name>
	</author>
	<content type="html">Brian J. Murrell wrote:
&lt;br&gt;&amp;gt; On Fri, 2009-10-23 at 22:40 -0700, Howard Chu wrote:
&lt;br&gt;&amp;gt;&amp;gt; I have it running
&lt;br&gt;&amp;gt;&amp;gt; on my G1 phone, the process size is only 1.5MB.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I wonder how big it would be on my laptop, with an empty database.
&lt;br&gt;&lt;br&gt;It helps to tweak the config, of course. By default slapd uses up to 16 
&lt;br&gt;threads; on my phone I have it configured for only 2 threads. In practice, 
&lt;br&gt;unless someone else is querying it remotely, it won't ever receive queries 
&lt;br&gt;from more than 1 app at a time.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;&amp;nbsp; &amp;nbsp;-- Howard Chu
&lt;br&gt;&amp;nbsp; &amp;nbsp;CTO, Symas Corp. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.symas.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.symas.com&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;Director, Highland Sun &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://highlandsun.com/hyc/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://highlandsun.com/hyc/&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;Chief Architect, OpenLDAP &amp;nbsp;&lt;a href=&quot;http://www.openldap.org/project/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openldap.org/project/&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26036925.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26036673</id>
	<title>Re: Re: disconnected nss_ldap</title>
	<published>2009-10-23T23:20:51Z</published>
	<updated>2009-10-23T23:20:51Z</updated>
	<author>
		<name>Brian J. Murrell</name>
	</author>
	<content type="html">On Fri, 2009-10-23 at 22:40 -0700, Howard Chu wrote:
&lt;br&gt;&amp;gt; OpenLDAP is probably the least bloated solution you'll find.
&lt;br&gt;&lt;br&gt;Probably so. &amp;nbsp;Probably just a prejudice, with it being a &amp;quot;database&amp;quot;
&lt;br&gt;server that it will become a big footprint.
&lt;br&gt;&lt;br&gt;Maybe just seeing it's footprint on my server (where it's serving up a
&lt;br&gt;smallish NSS data set) is skewing my opinion:
&lt;br&gt;&lt;br&gt;&amp;nbsp; PID USER &amp;nbsp; &amp;nbsp; &amp;nbsp;PR &amp;nbsp;NI &amp;nbsp;VIRT &amp;nbsp;RES &amp;nbsp;SHR S %CPU %MEM &amp;nbsp; &amp;nbsp;TIME+ &amp;nbsp;COMMAND
&lt;br&gt;30999 openldap &amp;nbsp;20 &amp;nbsp; 0 98.6m 5796 2676 S &amp;nbsp; &amp;nbsp;0 &amp;nbsp;0.9 &amp;nbsp;18:26.51 slapd
&lt;br&gt;&lt;br&gt;&amp;gt; I have it running 
&lt;br&gt;&amp;gt; on my G1 phone, the process size is only 1.5MB.
&lt;br&gt;&lt;br&gt;I wonder how big it would be on my laptop, with an empty database.
&lt;br&gt;&lt;br&gt;&amp;gt; See how big all those other 
&lt;br&gt;&amp;gt; solutions are when configured as well as possible, that still don't solve the 
&lt;br&gt;&amp;gt; actual problem. Plus it's remotely configurable, which makes it far more 
&lt;br&gt;&amp;gt; manageable than any other approach...
&lt;br&gt;&lt;br&gt;All good points.
&lt;br&gt;&lt;br&gt;b.
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (204 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/26036673/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26036673.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26036636</id>
	<title>Re: disconnected nss_ldap</title>
	<published>2009-10-23T23:17:32Z</published>
	<updated>2009-10-23T23:17:32Z</updated>
	<author>
		<name>Brian J. Murrell</name>
	</author>
	<content type="html">On Sat, 2009-10-24 at 01:38 -0400, Brian J. Murrell wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; But as soon as the LDAP server is available again, ssh to the node works
&lt;br&gt;&amp;gt; just fine.
&lt;br&gt;&lt;br&gt;I fixed this. &amp;nbsp;This is because of pam_unix's account mode. &amp;nbsp;It wants to
&lt;br&gt;verify the shadow entry when the passwd entry contains a &amp;quot;x&amp;quot; for the
&lt;br&gt;password -- hence my previous thread about fixing this in nss_ldap.
&lt;br&gt;Adding broken_shadow to pam_unix's entry in the account mode works
&lt;br&gt;around it.
&lt;br&gt;&lt;br&gt;&amp;gt; Indeed. &amp;nbsp;My experiments were that even with unlimited, the passwd entry
&lt;br&gt;&amp;gt; for the current, logged in user disappeared. &amp;nbsp;I was going to demonstrate
&lt;br&gt;&amp;gt; on my Ubuntu Karmic laptop but I can't seem to reproduce this here.
&lt;br&gt;&lt;br&gt;I spoke too soon/didn't wait long enough.
&lt;br&gt;&lt;br&gt;Witness my laptop, where I am logged in (as brian), have nscd running
&lt;br&gt;with:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; reload-count		unlimited
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; positive-time-to-live	passwd		60
&lt;br&gt;&lt;br&gt;$ id brian
&lt;br&gt;id: brian: No such user
&lt;br&gt;&lt;br&gt;I also have a user &amp;quot;keith&amp;quot; in my LDAP directory mapped into the NSS
&lt;br&gt;passwd map which I was testing with before when I thought it was
&lt;br&gt;working. &amp;nbsp;All this to say that &amp;quot;keith&amp;quot; should definitely be in nscd's
&lt;br&gt;persistent cache as I was executing &amp;quot;id keith&amp;quot; repeatedly, watching for
&lt;br&gt;it to disappear, and now, like the &amp;quot;brian&amp;quot; entry, it has:
&lt;br&gt;&lt;br&gt;$ id keith
&lt;br&gt;id: keith: No such user
&lt;br&gt;&lt;br&gt;So for whatever reason, NSCD is expiring entries from it's persistent
&lt;br&gt;cache despite the &amp;quot;reload-count unlimited&amp;quot;. &amp;nbsp;~sigh~
&lt;br&gt;&lt;br&gt;b.
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (204 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/26036636/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26036636.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26036490</id>
	<title>Re: Re: disconnected nss_ldap</title>
	<published>2009-10-23T22:40:55Z</published>
	<updated>2009-10-23T22:40:55Z</updated>
	<author>
		<name>Howard Chu</name>
	</author>
	<content type="html">Brian J. Murrell wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Fri, 2009-10-23 at 20:36 -0700, Howard Chu wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Use OpenLDAP's nssov overlay plus your choice of either proxycache or
&lt;br&gt;&amp;gt;&amp;gt; syncrepl. Both will work fine; your choice depends on whether the disconnected
&lt;br&gt;&amp;gt;&amp;gt; machine is a single-user machine (then just use proxycache) or a multi-user
&lt;br&gt;&amp;gt;&amp;gt; machine (then you might want to use syncrepl instead).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So, some googlin' given that this nssov is new to me... it seems that I
&lt;br&gt;&amp;gt; run a full fledged LDAP server (slapd) on every client?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Wow. &amp;nbsp;That seems a might overkill also. &amp;nbsp;Workstations are already so
&lt;br&gt;&amp;gt; overly bloated, adding an LDAP server just to deal with disconnected use
&lt;br&gt;&amp;gt; just seems like over-engineering the problem.
&lt;/div&gt;&lt;br&gt;OpenLDAP is probably the least bloated solution you'll find. I have it running 
&lt;br&gt;on my G1 phone, the process size is only 1.5MB. See how big all those other 
&lt;br&gt;solutions are when configured as well as possible, that still don't solve the 
&lt;br&gt;actual problem. Plus it's remotely configurable, which makes it far more 
&lt;br&gt;manageable than any other approach...
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;&amp;nbsp; &amp;nbsp;-- Howard Chu
&lt;br&gt;&amp;nbsp; &amp;nbsp;CTO, Symas Corp. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.symas.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.symas.com&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;Director, Highland Sun &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://highlandsun.com/hyc/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://highlandsun.com/hyc/&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;Chief Architect, OpenLDAP &amp;nbsp;&lt;a href=&quot;http://www.openldap.org/project/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openldap.org/project/&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26036490.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26036491</id>
	<title>Re: disconnected nss_ldap</title>
	<published>2009-10-23T22:38:49Z</published>
	<updated>2009-10-23T22:38:49Z</updated>
	<author>
		<name>Brian J. Murrell</name>
	</author>
	<content type="html">On Sat, 2009-10-24 at 00:34 -0400, Ryan Lynch wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; My bad, I just realized that you DID mention nscd--I need to learn to read.
&lt;br&gt;&lt;br&gt;Yeah. &amp;nbsp;:-) &amp;nbsp;Oh well. &amp;nbsp;Water under the bridge.
&lt;br&gt;&lt;br&gt;&amp;gt; But I think nscd actually has the feature that you want--are you
&lt;br&gt;&amp;gt; familiar with the 'reload-count' option?
&lt;br&gt;&lt;br&gt;Yup.
&lt;br&gt;&lt;br&gt;&amp;gt; It lets you limit the number
&lt;br&gt;&amp;gt; timeout-cycles that the daemon will tolerate before it throws out a
&lt;br&gt;&amp;gt; cached entry.
&lt;br&gt;&lt;br&gt;Right. &amp;nbsp;But my experience is that even with unlimited, it doesn't take
&lt;br&gt;long before the passwd entries are just gone.
&lt;br&gt;&lt;br&gt;But other than that, my experiments reveal that nss_ldap is called by
&lt;br&gt;binaries, independently of querying nscd. &amp;nbsp;i.e. I try to log in while
&lt;br&gt;the LDAP server is unavailable and get scads of messages
&lt;br&gt;in /var/log/auth from nss_ldap that the ldap server is unavailable.
&lt;br&gt;Such as:
&lt;br&gt;&lt;br&gt;Oct 24 01:26:09 brian-laptop-old sudo: nss_ldap: could not connect to any LDAP server as (null) - Can't contact LDAP server
&lt;br&gt;Oct 24 01:26:09 brian-laptop-old sudo: nss_ldap: failed to bind to LDAP server ldap://ldap: Can't contact LDAP server
&lt;br&gt;Oct 24 01:26:09 brian-laptop-old sudo: nss_ldap: reconnecting to LDAP server...
&lt;br&gt;Oct 24 01:26:09 brian-laptop-old sudo: nss_ldap: could not connect to any LDAP server as (null) - Can't contact LDAP server
&lt;br&gt;Oct 24 01:26:09 brian-laptop-old sudo: nss_ldap: failed to bind to LDAP server ldap://ldap: Can't contact LDAP server
&lt;br&gt;Oct 24 01:26:09 brian-laptop-old sudo: nss_ldap: reconnecting to LDAP server (sleeping 1 seconds)...
&lt;br&gt;Oct 24 01:26:10 brian-laptop-old sudo: nss_ldap: could not connect to any LDAP server as (null) - Can't contact LDAP server
&lt;br&gt;Oct 24 01:26:10 brian-laptop-old sudo: nss_ldap: failed to bind to LDAP server ldap://ldap: Can't contact LDAP server
&lt;br&gt;Oct 24 01:26:10 brian-laptop-old sudo: nss_ldap: could not search LDAP server - Server is unavailable
&lt;br&gt;&lt;br&gt;In the case of sshd, I get much the same as the above, but the remote is
&lt;br&gt;disconnected without even attempting an authentication:
&lt;br&gt;&lt;br&gt;Oct 24 01:34:09 brian-laptop-old sshd[20430]: nss_ldap: could not connect to any LDAP server as (null) - Can't contact LDAP server
&lt;br&gt;Oct 24 01:34:09 brian-laptop-old sshd[20430]: nss_ldap: failed to bind to LDAP server ldap://ldap: Can't contact LDAP server
&lt;br&gt;Oct 24 01:34:09 brian-laptop-old sshd[20430]: nss_ldap: reconnecting to LDAP server...
&lt;br&gt;Oct 24 01:34:09 brian-laptop-old sshd[20430]: nss_ldap: could not connect to any LDAP server as (null) - Can't contact LDAP server
&lt;br&gt;Oct 24 01:34:09 brian-laptop-old sshd[20430]: nss_ldap: failed to bind to LDAP server ldap://ldap: Can't contact LDAP server
&lt;br&gt;Oct 24 01:34:09 brian-laptop-old sshd[20430]: nss_ldap: reconnecting to LDAP server (sleeping 1 seconds)...
&lt;br&gt;Oct 24 01:34:10 brian-laptop-old sshd[20430]: nss_ldap: could not connect to any LDAP server as (null) - Can't contact LDAP server
&lt;br&gt;Oct 24 01:34:10 brian-laptop-old sshd[20430]: nss_ldap: failed to bind to LDAP server ldap://ldap: Can't contact LDAP server
&lt;br&gt;Oct 24 01:34:10 brian-laptop-old sshd[20430]: nss_ldap: could not search LDAP server - Server is unavailable
&lt;br&gt;&lt;br&gt;But as soon as the LDAP server is available again, ssh to the node works
&lt;br&gt;just fine.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; For example, given your desired scenario of a 10-minute cache TTL, and
&lt;br&gt;&amp;gt; a 30 day hard timeout, you could set:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; positive-time-to-live 600 &amp;nbsp; &amp;nbsp; &amp;nbsp;# 10 minutes
&lt;br&gt;&amp;gt; &amp;nbsp; reload-count 4320 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # 30 days / 10 minutes
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; If the cached value is more than 10 minutes old, 'nscd' will try to
&lt;br&gt;&amp;gt; refresh it. If it fails to connect, it will re-set the 10-minute TTL
&lt;br&gt;&amp;gt; and increment its reload counter by 1. This cycle repeats until the
&lt;br&gt;&amp;gt; reload counter reaches 4,320, when it just throws out the cached
&lt;br&gt;&amp;gt; entry, entirely.
&lt;/div&gt;&lt;/div&gt;Indeed. &amp;nbsp;My experiments were that even with unlimited, the passwd entry
&lt;br&gt;for the current, logged in user disappeared. &amp;nbsp;I was going to demonstrate
&lt;br&gt;on my Ubuntu Karmic laptop but I can't seem to reproduce this here.
&lt;br&gt;Maybe this was a problem only on the Jaunty laptop that I was trying
&lt;br&gt;previously.
&lt;br&gt;&lt;br&gt;&amp;gt; I actually use 'reload-count unlimited' to cache LDAP (AD, actually)
&lt;br&gt;&amp;gt; users and groups. It works fine for laptops with domain accounts. With
&lt;br&gt;&amp;gt; pam_ccreds, it pretty much works just like a local account would.
&lt;br&gt;&lt;br&gt;That's exactly what I am aiming for as well.
&lt;br&gt;&lt;br&gt;Cheers, and thanks for the update to your last post.
&lt;br&gt;&lt;br&gt;We should probably take this NSCD discussion offline as it's really OT
&lt;br&gt;here. &amp;nbsp;Although, evidence is that, on Karmic anyway, it's working and
&lt;br&gt;it's nss_ldap that is giving me grief when I am disconnected.
&lt;br&gt;&lt;br&gt;b.
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (204 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/26036491/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26036491.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26036331</id>
	<title>Re: disconnected nss_ldap</title>
	<published>2009-10-23T21:55:18Z</published>
	<updated>2009-10-23T21:55:18Z</updated>
	<author>
		<name>Brian J. Murrell</name>
	</author>
	<content type="html">On Sat, 2009-10-24 at 00:09 -0400, Ryan Lynch wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Do you know about NSCD (the Name Service Caching Daemon)?
&lt;br&gt;&lt;br&gt;Wow. &amp;nbsp;I'm trying really hard not to be rude here, but did you bother to
&lt;br&gt;read my original posting? &amp;nbsp;I will quote here for you what I said about
&lt;br&gt;NSCD:
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;gt; I realize that caching is what is needed here and I have looked into
&lt;br&gt;&amp;gt; &amp;gt; nscd for this, using it's persistent storage feature, but it just
&lt;br&gt;&amp;gt; &amp;gt; doesn't seem to be thought out well enough from the temporarily
&lt;br&gt;&amp;gt; &amp;gt; disconnected use-case. &amp;nbsp;It seems that nscd needs two timeouts. &amp;nbsp;One
&lt;br&gt;&amp;gt; &amp;gt; at which it will try to refresh a stale entry and a second at which
&lt;br&gt;&amp;gt; &amp;gt; it will expire a stale entry. &amp;nbsp;Reasonable times for the two would be
&lt;br&gt;&amp;gt; &amp;gt; something on the order of 10 minutes and 30 days, respectively.
&lt;br&gt;&lt;br&gt;&amp;gt; It's built
&lt;br&gt;&amp;gt; to handle this kind of thing,
&lt;br&gt;&lt;br&gt;Not really, it seems. &amp;nbsp;In practise anyway. &amp;nbsp;I have tried the recommended
&lt;br&gt;&amp;quot;reload-count = unlimited&amp;quot; but as reported by another, it doesn't seem
&lt;br&gt;to entirely solve the problem. &amp;nbsp;See
&lt;br&gt;&lt;a href=&quot;http://sourceware.org/bugzilla/show_bug.cgi?id=2132&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceware.org/bugzilla/show_bug.cgi?id=2132&lt;/a&gt;&amp;nbsp;for details.
&lt;br&gt;&lt;br&gt;The digested summary is that the above option does not appear to prevent
&lt;br&gt;entries from being expired from the cache when the timeout is set
&lt;br&gt;reasonably low (like several minutes). &amp;nbsp;Setting the timeout to some
&lt;br&gt;god-awful huge value, like 30 days leads to nscd having stale data, even
&lt;br&gt;when connected to the network. &amp;nbsp;Hence the proposal for two timeouts in
&lt;br&gt;my original posting as well as in the above mentioned bug.
&lt;br&gt;&lt;br&gt;Do you actually use NSCD to solve this? &amp;nbsp;I'd be interested in your
&lt;br&gt;experience (off-line as this is pretty OT for this list) as popular
&lt;br&gt;experience with a proper configuration seems to be that it doesn't work.
&lt;br&gt;&lt;br&gt;b.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (204 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/26036331/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26036331.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26036259</id>
	<title>Re: disconnected nss_ldap</title>
	<published>2009-10-23T21:37:49Z</published>
	<updated>2009-10-23T21:37:49Z</updated>
	<author>
		<name>Brian J. Murrell</name>
	</author>
	<content type="html">On Fri, 2009-10-23 at 20:36 -0700, Howard Chu wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Use OpenLDAP's nssov overlay plus your choice of either proxycache or 
&lt;br&gt;&amp;gt; syncrepl. Both will work fine; your choice depends on whether the disconnected 
&lt;br&gt;&amp;gt; machine is a single-user machine (then just use proxycache) or a multi-user 
&lt;br&gt;&amp;gt; machine (then you might want to use syncrepl instead).
&lt;br&gt;&lt;br&gt;So, some googlin' given that this nssov is new to me... it seems that I
&lt;br&gt;run a full fledged LDAP server (slapd) on every client?
&lt;br&gt;&lt;br&gt;Wow. &amp;nbsp;That seems a might overkill also. &amp;nbsp;Workstations are already so
&lt;br&gt;overly bloated, adding an LDAP server just to deal with disconnected use
&lt;br&gt;just seems like over-engineering the problem.
&lt;br&gt;&lt;br&gt;Maybe I am just mis-understanding it all.
&lt;br&gt;&lt;br&gt;b.
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (204 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/26036259/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26036259.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26036247</id>
	<title>Re: disconnected nss_ldap</title>
	<published>2009-10-23T21:34:15Z</published>
	<updated>2009-10-23T21:34:15Z</updated>
	<author>
		<name>Ryan B. Lynch</name>
	</author>
	<content type="html">On Sat, Oct 24, 2009 at 00:09, Ryan Lynch &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26036247&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ryan.b.lynch@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Fri, Oct 23, 2009 at 22:49, Brian J. Murrell &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26036247&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;brian@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; At the risk of asking a FAQ (but in my defence, I have been googling
&lt;br&gt;&amp;gt;&amp;gt; this off and on for the last 2-3 weeks) how does one properly handle
&lt;br&gt;&amp;gt;&amp;gt; computers (i.e. laptops) that should get their NSS information from LDAP
&lt;br&gt;&amp;gt;&amp;gt; while connected to the corporate network and yet still function while
&lt;br&gt;&amp;gt;&amp;gt; away from the corporate network?
&lt;br&gt;&amp;gt; ...
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Surely others have run into this same problem.  How did you solve it?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; BTW: I am aware of nss_updatedb, but that seems a little clunky and
&lt;br&gt;&amp;gt;&amp;gt; heavy handed with it's &amp;quot;cache everything&amp;quot; and rigid (i.e. time of day
&lt;br&gt;&amp;gt;&amp;gt; driven) update schedule.  For such reasons I have read frequently that
&lt;br&gt;&amp;gt;&amp;gt; it really just doesn't scale.  An nss_updatedb that is updated as a
&lt;br&gt;&amp;gt;&amp;gt; result of usual lookups seems much more manageable.  That way only
&lt;br&gt;&amp;gt;&amp;gt; information the user is likely to use is cached and it's done with the
&lt;br&gt;&amp;gt;&amp;gt; frequency of and as a by-product of existing lookups.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Do you know about NSCD (the Name Service Caching Daemon)? It's built
&lt;br&gt;&amp;gt; to handle this kind of thing, and a lot of distros (Fedora/RH/CentOS,
&lt;br&gt;&amp;gt; at least) include it by default with the Glibc package. But it usually
&lt;br&gt;&amp;gt; isn't running by default.
&lt;/div&gt;&lt;br&gt;&lt;br&gt;My bad, I just realized that you DID mention nscd--I need to learn to read.
&lt;br&gt;&lt;br&gt;But I think nscd actually has the feature that you want--are you
&lt;br&gt;familiar with the 'reload-count' option? It lets you limit the number
&lt;br&gt;timeout-cycles that the daemon will tolerate before it throws out a
&lt;br&gt;cached entry.
&lt;br&gt;&lt;br&gt;For example, given your desired scenario of a 10-minute cache TTL, and
&lt;br&gt;a 30 day hard timeout, you could set:
&lt;br&gt;&lt;br&gt;&amp;nbsp; positive-time-to-live 600 &amp;nbsp; &amp;nbsp; &amp;nbsp;# 10 minutes
&lt;br&gt;&amp;nbsp; reload-count 4320 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # 30 days / 10 minutes
&lt;br&gt;&lt;br&gt;If the cached value is more than 10 minutes old, 'nscd' will try to
&lt;br&gt;refresh it. If it fails to connect, it will re-set the 10-minute TTL
&lt;br&gt;and increment its reload counter by 1. This cycle repeats until the
&lt;br&gt;reload counter reaches 4,320, when it just throws out the cached
&lt;br&gt;entry, entirely. &amp;nbsp;(I don't actually know whether 'nscd' will
&lt;br&gt;automatically try to refresh the cached entry every 10 minutes, or if
&lt;br&gt;it only tries when the name is requested... That probably deserves an
&lt;br&gt;experiment, because it could have big implications for the actual hard
&lt;br&gt;limit you'd see.)
&lt;br&gt;&lt;br&gt;I actually use 'reload-count unlimited' to cache LDAP (AD, actually)
&lt;br&gt;users and groups. It works fine for laptops with domain accounts. With
&lt;br&gt;pam_ccreds, it pretty much works just like a local account would.
&lt;br&gt;&lt;br&gt;-Ryan
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/disconnected-nss_ldap-tp26035873p26036247.html" />
</entry>

</feed>
