[13480] in Athena Bugs

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

Obscure Athena finger bug

daemon@ATHENA.MIT.EDU (John Hawkinson)
Sun May 7 18:17:37 1995

Date: Sun, 7 May 1995 18:17:22 -0400
To: bugs@MIT.EDU, rel-eng@MIT.EDU
Cc: ambar@cesium.clock.org (Whose fault it really must be!)
Cc: nocturne@MIT.EDU, aellwood@MIT.EDU
From: John Hawkinson <jhawk@MIT.EDU>


Recently, I just happened to notice that if one of the first fifteen
characters of your .plan file lines up with a corresponding character in
the string ``%MENTION-MAIL%
'' (including the newline), that character gets elided from the .plan
file.

Rel-eng, a patch is attached.

Ambar, hullo! You really ought to come by and visit. Since Erik made
it here for both Arisia & IETF, surely something will bring you out
east again! :-) You should drop SIPB a line some time...

--jhawk
  John Hawkinson

This patch assumes the %MENTION-MAIL% feature doesn't work, but
still grandfathers in those people who have that in their .plan
files.

*** 1.24	1994/08/24 03:31:01
--- 1.25	1995/05/07 22:06:46
***************
*** 3,13 ****
   * For copying and distribution information, see the file
   * "mit-copyright.h".
   *
!  * $Id: finger.c,v 1.24 1994/08/24 03:31:01 cfields Exp $
   */
  
  #ifndef lint
! static char *rcsid_finger_c = "$Id: finger.c,v 1.24 1994/08/24 03:31:01 cfields Exp $";
  #endif /*lint*/
  
  /*
--- 3,13 ----
   * For copying and distribution information, see the file
   * "mit-copyright.h".
   *
!  * $Id: finger.c,v 1.25 1995/05/07 22:06:46 jhawk Exp $
   */
  
  #ifndef lint
! static char *rcsid_finger_c = "$Id: finger.c,v 1.25 1995/05/07 22:06:46 jhawk Exp $";
  #endif /*lint*/
  
  /*
***************
*** 649,669 ****
  				else {
  					printf("Plan:\n");
  					while ((c = getc(fp)) != EOF) {
! 						if (i < MMLEN) {
  							if (c != MM[i]) {
! 								if (okay) {
! 									for (j = 0; j < i; j++) {
! 										(void) putchar(MM[j]);
! 									}
! 								}
  								if (isprint(c) || isspace(c))
  									(void) putchar(c);
  								else
  									(void) putchar(c ^ 100);
  								okay = 0;
! 							}
! 						}
! 						else if (isprint(c) || isspace(c))
  							(void) putchar(c);
  						else
  							(void) putchar(c ^ 100);
--- 649,665 ----
  				else {
  					printf("Plan:\n");
  					while ((c = getc(fp)) != EOF) {
! 						if ((i < MMLEN) && okay) {
  							if (c != MM[i]) {
! 								for (j = 0; j < i; j++) 
! 									(void) putchar(MM[j]);
  								if (isprint(c) || isspace(c))
  									(void) putchar(c);
  								else
  									(void) putchar(c ^ 100);
  								okay = 0;
! 							} /* else fputs("Wow, you're an old fogey!", stderr); */
! 						} else if (isprint(c) || isspace(c))
  							(void) putchar(c);
  						else
  							(void) putchar(c ^ 100);

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