diff -ru gaim-1.5.0/plugins/gaim-remote/remote.c gaim-1.5.0-patched/plugins/gaim-remote/remote.c
--- gaim-1.5.0/plugins/gaim-remote/remote.c 2005-06-22 22:34:17.000000000 -0400
+++ gaim-1.5.0-patched/plugins/gaim-remote/remote.c 2005-11-19 02:29:00.000000000 -0500
@@ -191,6 +191,28 @@
 
        serv_join_chat(gc, components);
        g_hash_table_destroy(components);
+   } else if (!g_ascii_strncasecmp(uri, "aim:goaway?", strlen("aim:goaway?"))) {
+       struct away_message msg;
+       char* what;
+
+       uri = uri + strlen("aim:goaway?");
+       what = strstr(uri, "message=");
+       if (what) {
+           what = what + strlen("message=");
+           str = g_string_new(NULL);
+           while (*what && (*what != '&' || !g_ascii_strncasecmp(what, "&amp;", 5))) {
+               g_string_append_c(str, *what == '+' ? ' ' : *what);
+               what++;
+           }
+           what = g_strdup(str->str);
+           g_string_free(str, TRUE);
+       }
+       strncpy(msg.message, what, 2047);
+       msg.message[2048] = 0;
+       msg.name[0] = 0;
+       do_away_message(NULL, &msg);
+
+       free(what);
    } else {
        return _("Invalid AIM URI");
    }


