[comp.mail.misc] Problem with smail 3.x and directors file.

jessea@homecare.COM (Jesse W. Asher) (05/03/91)

I've got a directors file that I'm trying to use and smail bombs out if
I have the following two entries in it:

# aliasinclude - expand ":include:filename" addresses produced by alias files
aliasinclude:
	driver = aliasinclude,		# use this special-case driver
	nobody;				# associate nobody user with addresses
					#  when mild permission violations
					#  are encountered

	copysecure,			# get permissions from alias director
	copyowners			# get owners from alias director

# forwardinclude - expand ":include:filename" addrs produced by forward files
forwardinclude:
	driver = forwardinclude,	# use this special-case driver
	nobody;

	copysecure,			# get perms from forwarding director
	copyowners			# get owners from forwarding director


All other entries work fine, but when I run "/usr/lib/sendmail -bd -q30m"
and I have the above two entries in the directors file, it just
terminates.  It says "/usr/lib/smail/directors:" and that's all when it
terminates.  I don't know what the problem is and I don't know how to
get a more descriptive error message.  Does anyone have any ideas as to
what could be causing this?


-- 
      Jesse W. Asher        NIC Handle:  JA268         Phone: (901)386-5061
                       Health Sphere of America Inc.
	       5125 Elmore Rd., Suite 1, Memphis, TN 38134
 Internet: jessea@homecare.COM                 UUCP: ...!banana!homecare!jessea

tron@Veritas.COM (Ronald S. Karr) (05/04/91)

In article <1991May2.181414.9183@homecare.COM> jessea@homecare.COM (Jesse W. Asher) writes:
>All other entries work fine, but when I run "/usr/lib/sendmail -bd -q30m"
>and I have the above two entries in the directors file, it just
>terminates.  It says "/usr/lib/smail/directors:" and that's all when it
>terminates.  I don't know what the problem is and I don't know how to
>get a more descriptive error message.  Does anyone have any ideas as to
>what could be causing this?

A fix for this bug was reported recently by Bob Weissman <bob@omni.com>.
Here is the message that he sent me:

Date: Mon, 29 Apr 91 17:42 PDT
From: bob@omni.com (Bob Weissman)
To: veritas!tron
Subject: Smail3 bug found and fixed

For many months, I've been having big pains figuring out why I
would intermittently get paniclog entries which read:

  04/29/91 17:14:01: /var/lib/smail/directors: 
  04/29/91 17:20:19: [m0jXiS2-0004o4C] /var/lib/smail/directors: 
  04/29/91 17:20:20: [m0jXiS4-0004o7C] /var/lib/smail/directors: 
  04/29/91 17:20:21: [m0jXiS5-0004o8C] /var/lib/smail/directors: 
  04/29/91 17:20:22: [m0jXiS6-0004o9a] /var/lib/smail/directors: 
  04/29/91 17:20:24: [m0jXiS7-0004oAC] /var/lib/smail/directors: 
  04/29/91 17:20:25: [m0jXiS8-0004oFC] /var/lib/smail/directors: 
  04/29/91 17:20:26: [m0jXiS9-0004oGC] /var/lib/smail/directors: 
  04/29/91 17:27:03: /var/lib/smail/directors: 
  04/29/91 17:27:04: [m0jXiYZ-0004oIC] /var/lib/smail/directors: 
  04/29/91 17:30:23: /var/lib/smail/directors: 

ad nauseam.

I think I finally found the problem today after rebuilding smail with
debugging enabled.  There are several routines in directors/include.c
which return char* but have no return statements in their bodies.  I
was falling victim to random return values.

My include.c carried an SCCS id of "@(#)include.c 3.19 3/17/89 17:18:25".
Diffs follow.

-- Bob

------------------------------------------------------------------
SCCS/s.include.c: 1.1 vs. 1.2
*** /tmp/geta25348	Mon Apr 29 17:40:20 1991
--- /tmp/getb25348	Mon Apr 29 17:40:20 1991
***************
*** 536,548 ****
  
  char *
  dtb_forwardinclude(dp, attrs)
      struct director *dp;		/* director entry being defined */
      struct attribute *attrs;		/* list of per-driver attributes */
  {
!     dtb_internal_include(dp, attrs);
  }
  
  static void
  forwardfile_call_include(dp, in, fwdaddr, new, defer, fail)
      struct director *dp;		/* director entry */
      struct addr *in;			/* addr to process */
--- 536,548 ----
  
  char *
  dtb_forwardinclude(dp, attrs)
      struct director *dp;		/* director entry being defined */
      struct attribute *attrs;		/* list of per-driver attributes */
  {
!     return dtb_internal_include(dp, attrs);
  }
  
  static void
  forwardfile_call_include(dp, in, fwdaddr, new, defer, fail)
      struct director *dp;		/* director entry */
      struct addr *in;			/* addr to process */
***************
*** 642,654 ****
  
  char *
  dtb_aliasinclude(dp, attrs)
      struct director *dp;		/* director entry being defined */
      struct attribute *attrs;		/* list of per-driver attributes */
  {
!     dtb_internal_include(dp, attrs);
  }
  
  static void
  aliasfile_call_include(dp, in, fwdaddr, new, defer, fail)
      struct director *dp;		/* director entry */
      struct addr *in;			/* addr to process */
--- 642,654 ----
  
  char *
  dtb_aliasinclude(dp, attrs)
      struct director *dp;		/* director entry being defined */
      struct attribute *attrs;		/* list of per-driver attributes */
  {
!     return dtb_internal_include(dp, attrs);
  }
  
  static void
  aliasfile_call_include(dp, in, fwdaddr, new, defer, fail)
      struct director *dp;		/* director entry */
      struct addr *in;			/* addr to process */
***************
*** 732,739 ****
  
  char *
  dtb_genericinclude(dp, attrs)
      struct director *dp;		/* director entry being defined */
      struct attribute *attrs;		/* list of per-driver attributes */
  {
!     dtb_internal_include(dp, attrs);
  }
--- 732,739 ----
  
  char *
  dtb_genericinclude(dp, attrs)
      struct director *dp;		/* director entry being defined */
      struct attribute *attrs;		/* list of per-driver attributes */
  {
!     return dtb_internal_include(dp, attrs);
  }

-- 
	tron |-<=>-|		ARPAnet:  veritas!tron@apple.com
      tron@veritas.com		UUCPnet:  {amdahl,apple,pyramid}!veritas!tron