[4073] in Athena Bugs

home help back first fref pref prev next nref lref last post

[John Romine: FIX: Bug in addresses with "at"]

daemon@ATHENA.MIT.EDU (Ken Raeburn)
Mon Jan 29 13:25:52 1990

Date: Mon, 29 Jan 90 13:25:26 -0500
From: Ken Raeburn <Raeburn@ATHENA.MIT.EDU>
To: bugs@ATHENA.MIT.EDU

------- Forwarded Message

Xref: uci-ics comp.mail.mh:502 fa.mh-workers:710
From: John Romine <jromine@glacier.ICS.UCI.EDU>
Subject: FIX: Bug in addresses with "at"
Newsgroups: comp.mail.mh,fa.mh-workers
Lines: 52
Date: 24 Jan 90 21:10:26 GMT
To: mh-workers@GLACIER.ICS.UCI.EDU

Several people have mentioned that MH can't handle some addresses with
"at" as part of the domain name (e.g., "foo <foo@bar.at>").  Here's
the fix; apply this to zotnet/mf/mf.c.

/JLR

*** /tmp/,RCSt1a26863	Wed Jan 24 13:03:39 1990
--- mf.c	Wed Jan 24 11:46:31 1990
***************
*** 783,789 ****
  static int  my_lex (buffer)
  register char   *buffer;
  {
!     int     i;
      register char    c,
  		    *bp;
  
--- 783,789 ----
  static int  my_lex (buffer)
  register char   *buffer;
  {
!     int     i, gotat = 0;
      register char    c,
  		    *bp;
  
***************
*** 792,797 ****
--- 792,798 ----
      if (!cp)
  	return (last_lex = LX_END);
  
+     gotat = isat (cp);
      c = *cp++;
      while (isspace (c))
  	c = *cp++;
***************
*** 900,906 ****
      else
  	cp--;
      *bp = NULL;
!     last_lex = !lequal (buffer, "at") || cp == NULL || index (cp, '<') != NULL
  	? LX_ATOM : LX_AT;
      return last_lex;
  }
--- 901,907 ----
      else
  	cp--;
      *bp = NULL;
!     last_lex = !gotat || cp == NULL || index (cp, '<') != NULL
  	? LX_ATOM : LX_AT;
      return last_lex;
  }

------- End Forwarded Message

home help back first fref pref prev next nref lref last post