ypldap and ypserv -- frenemies?

From: Norman Gray <gray_at_nxg.name>
Date: Tue, 20 Aug 2024 17:39:06 UTC
Greetings.

I'm trying to use ypldap, to ease one stage in a move away from NIS.  I have a test/transitional configuration which works when I invoke ypldap with the -d flag (which avoids daemonisation), but which _doesn't_ work when I invoke it the expected way, daemonised.

'Doesn't work' here, means that a client querying the daemonised ypldap server gets a 'do_ypcall: clnt_call: RPC: Unable to receive; errno = Connection refused' response.  It gets a normal working response when it queries the undaemonised one.

I'm perplexed at why this should be so.  It's _presumably_ something to do with the permissions of the _ypldap user, but I haven't done anything clever there.

I've confirmed that the _ypldap user can do the relevant LDAP lookup.

An odd thing is that the /etc/rc.d/ypldap script includes

    ypldap_precmd()
    {
            force_depend ypserv nis_server || return 1
    }

That seems to include a dependency on ypserv, but as the ypldap(8) manpage very intelligibly notes, 'ypldap has the same role as ypserv(8) and the two daemons are exclusive.'  And when I try to start ypldap that way, I get a warning

    /etc/rc.d/ypserv: WARNING: NIS domainname(1) is not set.

but ypserv does start.  If I do the basic configuration to let ypserv start without error, I still don't get a working response from ypldap (and I don't really expect to in that case).

The only online commentary I can find is at [1], from 2016, which seems to be reporting similar behaviour.

I feel I'm substantially misunderstanding something.  Any ideas?

Best wishes,

Norman

[1] https://groups.google.com/g/muc.lists.freebsd.stable/c/nO0NMaSbD7o


-- 
Norman Gray  :  https://nxg.me.uk