SUMMARY: NIS map not propogating. ideas?

Christopher L. Barnard (cbar44@tsg.cbot.com)
Tue, 20 May 1997 09:58:38 -0500

I asked:

> Apparently my mail aliases NIS map stopped being propogated by my NIS
> master server a month or so ago, and no one noticed until now. I
> broke apart the makefile commands and executed them one at a time, and
> I've discovered that this is the command that is not working. I'm not
> sure how to fix this, though. Can anyone suggest what may be the
> problem here?
>
> The NIS master server is "srvaga". The makefile pushes the map to itself
> followed by the other three slave servers, so what I am trying to do here
> is to do that first push to itself. The NIS domain name is "cbt.prod.dom".
>
>
> 48 srvaga!/usr/lib/netsvc/yp >> ./yppush -v -h srvaga -d cbt.prod.dom mail.aliases
> Verifying YP server: srvaga
> srvaga has been called.
> Status received from ypxfr on srvaga:
> Failed - ypxfr couldn't get the map master's address.
>
>
>
> I am also unable to use ypxfr on the three slave servers to pull over the
> map. If I try a plain ypxfr, I get this:
>
>
> 305 netsrv1!/usr/lib/netsvc/yp >> ./ypxfr mail.aliases
> Can't get master of mail.aliases. Reason: yp map data base is bad.
>
>
> So I tried forcing the map to be pulled. That works fine, but now I can
> only transfer the map using the -f flag. I get the same error message
> whether I'm trying to pull the map with ypxfr on the slave server or
> pushing it with yppush from the master server:
>
>
> 307 netsrv1!/usr/lib/netsvc/yp >> ./ypxfr -f -d cbt.prod.dom -h srvaga mail.aliases
> 308 netsrv1!/usr/lib/netsvc/yp >> ./ypxfr mail.aliases
> Can't get order number for map mail.aliases from server at srvaga: use the -f flag.
>
>
> Any suggestions will be greatly appreciated.

Thanks to:

Robert.Lopez@abq.sc.philips.com (Robert Lopez)
Glenn Satchell <Glenn.Satchell@uniq.com.au>
vvuppa@unix.cis.state.mi.us (Vasu Vuppala (DCCI))
blymn@awadi.com.au (Brett Lymn)

All four had suggestions, but unfortunately none worked. I do thank
you all for your ideas, though. I opened a Service Order with Sun
simultaneously with sending this email to the sun-managers mailing
list, and for the first time in almost three years I got my solution
from a Sun Engineer rather than the sun-managers mailing list.
(Never mind the fact that it took the Sun Engineer seven *weeks* to
get me the answer. grumble).

The solution is to add a two-line hack to the Makefile, as outlined
in the Sun Bug ID, below. The code example actually has a typo;
you need semicolons at the end of the two added lines. I particularly
like (and agree with) the comment at the end that the customer found
this workaround unacceptable. Sun needs to get their sendmail binary
fixed, not put obscure hacks into the makefile to work around the bug.
oh well.

--------------------------------------------------------------------

Bug Id: 1262695
Product: sunos
Category: utility
Subcategory: sendmail
Bug/Rfe/Eou: bug
State: closed
Development Status: CLO
Synopsis: sendmail v8 creates mail.aliases map with the result that yppush fails
Keywords: creates, mail.alias, map, sendmail, v8, yp_master_, yppush
Severity: 3
Severity Impact: 1
Severity Functionality: 1
Priority: 2
Description:

Nis master server : platon

platon->/var/yp # uname -a
SunOS platon 5.5 Generic sun4m sparc SUNW,SPARCstation-20
platon->/var/yp #

Running nskit 1.2 .

platon->/var/yp # pkginfo -l SUNWnsktr
PKGINST: SUNWnsktr
NAME: NIS Server for Solaris (root)
CATEGORY: system
ARCH: sparc
VERSION: 95.08.07.15.02
BASEDIR: /
VENDOR: Sun Microsystems, Inc.
DESC: NIS Server for Solaris 2.3 and up
PSTAMP: sofa950807150251
INSTDATE: Dec 27 1995 18:21
VSTOCK: 258-5304-10
HOTLINE: Please contact your local service provider
STATUS: completely installed
FILES: 11 installed pathnames
8 shared pathnames
1 linked files
6 directories
2 executables
36 blocks used (approx)

With the following patches :
platon->/var/yp # showrev -p
Patch: 103053-01 Obsoletes: Packages: SUNWnsktu.2 95.08.07.15.02,PATCH=1
Patch: 103667-01 Obsoletes: Packages: SUNWcsu, SUNWhea
Patch: 102980-07 Obsoletes: , Requires:, 103667-01 Packages: SUNWcsu, SUNWcsr
Patch: 103279-02 Obsoletes: , Requires:, 103667-01 Packages: SUNWcsu, SUNWcsr
Patch: 103703-01 Obsoletes: , Requires:, 103667-01 Packages: SUNWcsu
Patch: 103708-01 Obsoletes: , Requires:, 103667-01 Packages: SUNWnisu
platon->/var/yp #

Yppsush of mail.aliases map fails with the underlying error.

platon->/var/yp # touch /var/yp/files/aliases
platon->/var/yp # make aliases
/var/yp/be.cool/mail.aliases: 3 aliases, longest 10 bytes, 52 bytes total
/usr/lib/netsvc/yp/mkalias /var/yp/`domainname`/mail.aliases /var/yp/`domainname`/mail.byaddr;
updated aliases

Status received from ypxfr on platon:
Failed - ypxfr couldn't get the map master's address.

pushed aliases
platon->/var/yp #

Ypwhich -m also fails for the mail.aliases map.

platon->/var/yp # ypwhich -m
mail.byaddr platon
netmasks.byaddr platon
netid.byname platon
mail.aliases ????????
ypwhich: Can't find the master of mail.aliases. Reason: yp map data base is bad..
services.byservicename platon
services.byname platon
rpc.bynumber platon
hosts.byaddr platon
hosts.byname platon
group.bygid platon
group.byname platon
passwd.byuid platon
ypservers platon
passwd.byname platon
platon->/var/yp #

After make aliases only mail.byaddr map is pusched.

Sendmail -bi creates mail.aliases map and corrupts yp_master_name entry that yp
commands cannot access/read.

Yppush succeds if we makedbm -u the mail.aliases map et run an explicit makedbm
command on the dumped aliases file.
This is shown by the following Makefile modification in aliases.time block.

aliases.time: $(ALIASES)
@cp $(ALIASES) $(YPDBDIR)/$(DOM)/mail.aliases;
@/usr/lib/sendmail -bi -oA$(YPDBDIR)/$(DOM)/mail.aliases;
$(MAKEDBM) -u $(YPDBDIR)/$(DOM)/mail.aliases > $(YPDBDIR)/$(DOM)/mail.aliases.text
$(MAKEDBM) $(YPDBDIR)/$(DOM)/mail.aliases.text $(YPDBDIR)/$(DOM)/mail.aliases
$(MKALIAS) $(YPDBDIR)/$(DOM)/mail.aliases $(YPDBDIR)/$(DOM)/mail.byaddr;
@rm $(YPDBDIR)/$(DOM)/mail.aliases;
@rm $(YPDBDIR)/$(DOM)/mail.aliases.text;
@touch aliases.time;
@echo "updated aliases";
@if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) mail.aliases; fi
@if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) mail.byaddr; fi
@if [ ! $(NOPUSH) ]; then echo "pushed aliases"; fi

platon->/var/yp # touch /var/yp/files/aliases
platon->/var/yp # make aliases
/var/yp/be.cool/mail.aliases: 3 aliases, longest 10 bytes, 52 bytes total
/usr/sbin/makedbm -u /var/yp/`domainname`/mail.aliases > /var/yp/`domainname`/mail.aliases.text
/usr/sbin/makedbm /var/yp/`domainname`/mail.aliases.text /var/yp/`domainname`/mail.aliases
/usr/lib/netsvc/yp/mkalias /var/yp/`domainname`/mail.aliases /var/yp/`domainname`/mail.byaddr;
updated aliases

pushed aliases

platon->/var/yp # ypwhich -m
mail.byaddr platon
netmasks.byaddr platon
netid.byname platon
mail.aliases platon.
services.byservicename platon
services.byname platon
rpc.bynumber platon
hosts.byaddr platon
hosts.byname platon
group.bygid platon
group.byname platon
passwd.byuid platon
ypservers platon
passwd.byname platon

-----------------------------------------------------------------------

+-----------------------------------------------------------------------+
| Christopher L. Barnard O When I was a boy I was told that |
| cbarnard@tsg.cbot.com / \ anybody could become president. |
| (312) 347-4901 O---O Now I'm beginning to believe it. |
| http://www.cs.uchicago.edu/~cbarnard --Clarence Darrow |
+----------PGP public key available via finger or PGP keyserver---------+

Justification:
Justification by: stchantc Date: 8/8/96 Create with Priority 2:

Yppush of the mail.aliases map fails ,slave servers are not updated ,involving inconsistencies in
the wide nis database.

Work around:
None ,the client doesn't accept the WA I proposed in the Description field.

Suggested fix:

State triggers:
Accepted: yes
Evaluated: yes
Evaluation:
[8/22/96 shauping]

This problem sounds like the same problem for bug 1252530, I've
sent new sendmail with fix for 1252530 in it for Serge to test and
Serge has verified that it indeed fixed their problem (see below):

>From Serge.Tchantchinoff@France Tue Aug 20 08:17:50 1996
Date: Tue, 20 Aug 1996 17:21:50 +0200
From: Serge.Tchantchinoff@France (Serge Tchantchinoff - SSI - Southern Europe Solution Center)
To: shauping@universe.eng.sun.com
Subject: Re: 1262695: Please evaluate
Cc: Serge.Tchantchinoff@France

Hi Shau-Ping,

Great !! with your sendmail there is no more error message during the yppush of
the mail.aliases map.
.........

Thanks.

Serge.

Commit to fix in releases:
Verified in releases:
Integrated in releases:
Verified in releases:
duplicate
Incomplete because:
Duplicate of: 1252530
Introduced in Release: 1.0.kh
Root cause:
Program management:
Fix affects documentation: no
Exempt from dev rel: no
Fix affects L10N: no
Interest list:
Patch id:
Comments:

See also:
Hooks:
Hook 1:
Hook 2:
Hook 3:
Hook 4:
Hook 5:
Hook 6:
History:
Submitter: stchantc Date: Aug 8 1996 12:00AM
Dispatch operator: bugtraq Date: Aug 8 1996 12:00AM
Acceptor: bugfixer Date: Aug 22 1996 12:00AM
Evaluator: shauping Date: Aug 22 1996 12:00AM
Commit operator: Date:
Fix operator: Date:
Integrating operator: Date:
Verify operator: Date:
Closeout operator: shauping Date: Sep 3 1996 12:00AM
Called in by:
Customer:
Company: other
Employee: MR CHENNEVIERE
User Role: U, Unknown or none of the above
User Type: N, novalue
Release: sol2.5_ed1_fcs
Hardware Version: sun4m_ss20
O/S version (unbundled products): sol2.5_ed1_fcs
SO Number: 5461582
Sun Contact: stchantc
Contact Name:
Contact Mailaddr:

Escalation(s):

Summary:
sendmail v8 creates mail.aliases map with the result that yppush fails