[584] in BarnOwl Developers

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

[D-O-H] r697 - trunk/owl

daemon@ATHENA.MIT.EDU (asedeno@MIT.EDU)
Thu Oct 29 18:07:40 2009

Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
To: dirty-owl-hackers@mit.edu
From: asedeno@MIT.EDU
Reply-to: dirty-owl-hackers@MIT.EDU
Date: Mon, 16 Apr 2007 21:54:28 -0400 (EDT)

Author: asedeno
Date: 2007-04-16 21:54:27 -0400 (Mon, 16 Apr 2007)
New Revision: 697

Modified:
   trunk/owl/message.c
   trunk/owl/zephyr.c
Log:
Change special casing rules to refer to default format strings instead
of senders.



Modified: trunk/owl/message.c
===================================================================
--- trunk/owl/message.c	2007-04-17 01:50:51 UTC (rev 696)
+++ trunk/owl/message.c	2007-04-17 01:54:27 UTC (rev 697)
@@ -850,8 +850,17 @@
 
   m->zwriteline=strdup("");
 
+  /* save the hostname */
+  owl_function_debugmsg("About to do gethostbyaddr");
+  hent=gethostbyaddr((char *) &(n->z_uid.zuid_addr), sizeof(n->z_uid.zuid_addr), AF_INET);
+  if (hent && hent->h_name) {
+    owl_message_set_hostname(m, hent->h_name);
+  } else {
+    owl_message_set_hostname(m, inet_ntoa(n->z_sender_addr));
+  }
+
   /* set the body */
-  tmp=owl_zephyr_get_message(n);
+  tmp=owl_zephyr_get_message(n, m);
   if (owl_global_is_newlinestrip(&g)) {
     tmp2=owl_util_stripnewlines(tmp);
     owl_message_set_body(m, tmp2);
@@ -876,15 +885,6 @@
     }
   }
 #endif  
-
-  /* save the hostname */
-  owl_function_debugmsg("About to do gethostbyaddr");
-  hent=gethostbyaddr((char *) &(n->z_uid.zuid_addr), sizeof(n->z_uid.zuid_addr), AF_INET);
-  if (hent && hent->h_name) {
-    owl_message_set_hostname(m, hent->h_name);
-  } else {
-    owl_message_set_hostname(m, inet_ntoa(n->z_sender_addr));
-  }
 }
 #else
 void owl_message_create_from_znotice(owl_message *m, void *n)

Modified: trunk/owl/zephyr.c
===================================================================
--- trunk/owl/zephyr.c	2007-04-17 01:50:51 UTC (rev 696)
+++ trunk/owl/zephyr.c	2007-04-17 01:54:27 UTC (rev 697)
@@ -380,28 +380,21 @@
 /* return a pointer to the message, place the message length in k
  * caller must free the return
  */
-char *owl_zephyr_get_message(ZNotice_t *n)
+char *owl_zephyr_get_message(ZNotice_t *n, owl_message *m)
 {
   /* don't let ping messages have a body */
   if (!strcasecmp(n->z_opcode, "ping")) {
     return(owl_strdup(""));
   }
 
-  /* deal with MIT Athena OLC messages */
-  if (!strcasecmp(n->z_sender, "olc.matisse@ATHENA.MIT.EDU")) {
-    return(owl_zephyr_get_field(n, 1));
-  }
   /* deal with MIT NOC messages */
-  else if (!strcasecmp(n->z_sender, "rcmd.achilles@ATHENA.MIT.EDU")) {
-    /* $opcode service on $instance $3.\n$4 */
-    char *msg, *opcode, *instance, *field3, *field4;
+  if (!strcasecmp(n->z_default_format, "@center(@bold(NOC Message))\n\n@bold(Sender:) $1 <$sender>\n@bold(Time:  ) $time\n\n@italic($opcode service on $instance $3.) $4\n")) {
+    char *msg, *field3, *field4;
 
-    opcode = n->z_opcode;
-    instance = n->z_class_inst;
     field3 = owl_zephyr_get_field(n, 3);
     field4 = owl_zephyr_get_field(n, 4);
 
-    msg = owl_sprintf("%s service on %s %s\n%s", opcode, instance, field3, field4);
+    msg = owl_sprintf("%s service on %s %s\n%s", n->z_opcode, n->z_class_inst, field3, field4);
     owl_free(field3);
     owl_free(field4);
     if (msg) {
@@ -409,12 +402,7 @@
     }
   }
   /* deal with MIT Discuss messages */
-  else if (!strcasecmp(n->z_sender, "daemon@ATHENA.MIT.EDU") &&
-	   !strcasecmp(n->z_class, "DISCUSS")) {
-    /*New transaction [$1] entered in $2
-      From: $3 ($5)
-      Subject: $4 */
-    
+  else if (!strcasecmp(n->z_default_format, "New transaction [$1] entered in $2\nFrom: $3 ($5)\nSubject: $4")) {
     char *msg, *field1, *field2, *field3, *field4, *field5;
     
     field1 = owl_zephyr_get_field(n, 1);
@@ -433,8 +421,25 @@
       return msg;
     }
   }
+  /* deal with MIT Moira messages */
+  else if (!strcasecmp(n->z_default_format, "MOIRA $instance on $fromhost:\n $message\n")) {
+    char *msg, *field1;
+    
+    field1 = owl_zephyr_get_field(n, 1);
+    
+    msg = owl_sprintf("MOIRA %s on %s: %s", n->z_class_inst, owl_message_get_hostname(m), field1);
+    owl_free(field1);
+    if (msg) {
+      return msg;
+    }
+  }
 
-  return(owl_zephyr_get_field(n, 2));
+  if (owl_zephyr_get_num_fields(n) == 1) {
+    return(owl_zephyr_get_field(n, 1));
+  }
+  else {
+    return(owl_zephyr_get_field(n, 2));
+  }
 }
 #endif
 
@@ -449,8 +454,9 @@
     return("");
   }
 
-  /* No zsig for OLC messages */
-  if (!strcasecmp(n->z_sender, "olc.matisse@ATHENA.MIT.EDU")) {
+  /* If there's only one field, no zsig */
+  if (owl_zephyr_get_num_fields(n) == 1) {
+    *k=0;
     return("");
   }
 


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