sow@cad.luth.se (Sven-Ove Westberg) (10/06/87)
Description:
Sendmail can't write a ~/dead.letters if the path
to the users home directory contains upper case letters.
Fix:
If the address is ~/dead.letter don't convert the
address to lower case.
Sven-Ove Westberg, CAD, University of Lulea, S-951 87 Lulea, Sweden.
Tel: +46-920-91677 (work) +46-920-48390 (home)
Internet: sow@cad.luth.se
*** /tmp/geta7344 Sun Oct 4 20:09:14 1987
--- /tmp/savemail.c Sun Oct 4 20:09:15 1987
***************
*** 45,50 ****
--- 45,51 ----
# define ESM_PANIC 6 /* leave the locked queue/transcript files */
# define ESM_DONE 7 /* the message is successfully delivered */
+ bool WriteDeadLetter;
savemail(e)
register ENVELOPE *e;
***************
*** 280,290 ****
--- 281,293 ----
Verbose = oldverb;
e->e_to = buf;
q = NULL;
+ WriteDeadLetter = TRUE;
sendtolist(buf, (ADDRESS *) NULL, &q);
if (deliver(e, q) == 0)
state = ESM_DONE;
else
state = ESM_MAIL;
+ WriteDeadLetter = FALSE;
}
else
{
*** /tmp/geta7357 Sun Oct 4 20:10:18 1987
--- /tmp/recipient.c Sun Oct 4 20:10:19 1987
***************
*** 178,185 ****
/* set the queue timeout */
a->q_timeout = TimeOut;
! /* map user & host to lower case if requested on non-aliases */
! if (a->q_alias == NULL)
loweraddr(a);
/* get unquoted user for file, program or user.name check */
--- 178,189 ----
/* set the queue timeout */
a->q_timeout = TimeOut;
! /*
! ** map user & host to lower case if requested on non-aliases
! ** don't map if this is ~/dead.letter
! */
!
! if (a->q_alias == NULL && !WriteDeadLetter)
loweraddr(a);
/* get unquoted user for file, program or user.name check */
*** /tmp/geta7369 Sun Oct 4 20:10:53 1987
--- /tmp/sendmail.h Sun Oct 4 20:10:53 1987
***************
*** 590,595 ****
--- 590,596 ----
#ifdef NDBM
EXTERN struct dbm_table DbmTab[128]; /* keyed database table */
#endif NDBM
+ EXTERN bool WriteDeadLetter; /* Writing a dead letter */
/*
** Trace information
*/