Weitgehender Neubau auf intermud-2.5.
Benutzt moderne LDMud-3.5-Sprachmittel wie structs.
diff --git a/secure/inetd/finger.c b/secure/inetd/finger.c
new file mode 100644
index 0000000..2acd7b2
--- /dev/null
+++ b/secure/inetd/finger.c
@@ -0,0 +1,49 @@
+#pragma strict_types, save_types, rtt_checks, pedantic
+#pragma no_clone, no_shadow, no_inherit
+
+inherit __DIR__"i_service";
+
+#include <intermud.h>
+#include <regexp.h>
+
+string last_finger;
+
+public string service_name()
+{
+ return "finger";
+}
+
+string QueryLastFinger()
+{
+ return last_finger;
+}
+
+// we received an intermud channel message
+protected void recv_request(mapping data)
+{
+ last_finger=capitalize(to_string(data[SENDER]))+"@"+data[NAME];
+ INETD->send(data[NAME], ([
+ REQUEST: REPLY,
+ RECIPIENT: data[SENDER],
+ ID: data[ID],
+ DATA: "/p/daemon/finger"->finger_single(data[DATA])
+ ]) );
+}
+
+public int finger_remote(string name, string mud)
+{
+ int ret = request(mud, name);
+ if (ret > 0)
+ write("Anfrage abgeschickt.\n");
+ else
+ {
+ switch(ret)
+ {
+ default:
+ write("Es trat ein Fehler beim Versenden der Anfrage auf.\n");
+ break;
+ }
+ }
+ return 1;
+}
+