[584] in BarnOwl Developers
[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("");
}