🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by David P. Zimmerman Fri, 10 Jul 1987 16:30
UCB sendmail coexisting with Sun YP
#4297
Author: David P. Zimmerman
Date: Fri, 10 Jul 1987 16:30
70 lines
2893 bytes
I have been trying to get sendmail to coexist peacefully with Sun's YP
service, and ran across something that I thought exceedingly weird.  I
am hoping someone can explain the meaning of it.

Some background: We use UCB sendmail in place of the Sun sendmail, and
have symbolic links from /usr/lib/aliases.{dir,pag} to their
counterparts down in /usr/etc/yp/domainname.  For the clients, slave
servers, and clients of the slave servers, we have MX records pointing
to the master server.

After modifying /usr/lib/aliases and doing a "make aliases" in
/etc/yp, the ypxfr would die with a "no local order number" message.
Likewise, the ypxfr_2perday mail.aliases call on the slave servers
would die, complaining that it couldn't find out who the master server
of the map was.  I understand why, but don't like any of it.

Following this is a diff of my changes to sendmail that seems to work
for both sendmail and YP, but I am not confident about it, seeing how
this scheme of mallocing an extra byte is used in many other places in
sendmail.  My problem is that /etc/yp/makedbm "corrects" the key
length (I call "makedbm -u | makedbm -" in /etc/yp/Makefile to get the
YP info in there).  Could someone explain that extra byte?  If it is
necessary, I think I can hack around it.  Thanks...

						dpz

***
alias.c.BEFOREDPZ   Wed Mar 25 21:54:24 1987
--- alias.c     Tue Jul  7 20:44:09 1987
***************
*** 137,143

        /* create a key for fetch */
        lhs.dptr = name;
!       lhs.dsize = strlen(name) + 1;
        rhs = fetch(lhs);
        return (rhs.dptr);
  # else DBM

--- 137,143 -----

        /* create a key for fetch */
        lhs.dptr = name;
!       lhs.dsize = strlen(name);
        rhs = fetch(lhs);
        return (rhs.dptr);
  # else DBM
***************
*** 488,495
                **  Insert alias into symbol table or DBM file
                */

!               lhssize = strlen(al.q_user) + 1;
!               rhssize = strlen(rhs) + 1;

  # ifdef DBM
                if (init)

--- 488,495 -----
                **  Insert alias into symbol table or DBM file
                */

!               lhssize = strlen(al.q_user);
!               rhssize = strlen(rhs);

  # ifdef DBM
                if (init)
-- 
David P. Zimmerman           rutgers!dpz           dpz@rutgers.edu
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads