Added public files
Roughly added all public files. Probably missed some, though.
diff --git a/secure/udp/mail.c b/secure/udp/mail.c
new file mode 100644
index 0000000..04f8651
--- /dev/null
+++ b/secure/udp/mail.c
@@ -0,0 +1,64 @@
+// MorgenGrauen MUDlib
+//
+// mail.c
+//
+// $Id: mail.c 6081 2006-10-23 14:12:34Z Zesstra $
+
+/*
+ * VERSION 1.0
+ * udp module for the UDP MAIL system (Author: Alvin@Sushi)
+ * Requires INETD V0.60 or higher (INETD Author: Nostradamus@Zebedee)
+ */
+
+#include <udp.h>
+#include <udp_mail.h>
+
+/*
+#define DEBUG(msg) if (find_player("hate")) tell_object(find_player("hate"),msg)
+*/
+#undef DEBUG
+#define DEBUG(x)
+
+void udp_mail(mapping data)
+{
+ DEBUG(sprintf("UDPMAIL %O\n",data));
+ if(!member(data,RECIPIENT) || !data[RECIPIENT])
+ {
+ log_file("INETD","Invalid udp_mail packet. No Recipient.\n");
+ return;
+ }
+
+ if(!LOCAL_MAILER->query_recipient_ok(data[RECIPIENT]))
+ {
+ INETD->_send_udp(data[NAME], ([
+ REQUEST: REPLY,
+ RECIPIENT: data[SENDER],
+ UDPM_STATUS: UDPM_STATUS_UNKNOWN_PLAYER,
+ UDPM_WRITER: data[UDPM_WRITER],
+ UDPM_SPOOL_NAME: data[UDPM_SPOOL_NAME],
+ ID: data[ID],
+ DATA: "Reason: Unknown player \""+capitalize(data[RECIPIENT])+
+ "\"\n\nINCLUDED MESSAGE FOLLOWS :-\n\n"+
+ "Subject: "+data[UDPM_SUBJECT]+"\n"+data[DATA]
+ ]) );
+
+ return;
+ }
+
+ LOCAL_MAILER->deliver_mail(
+ data[RECIPIENT], /* To */
+ data[UDPM_WRITER]+"@"+data[NAME], /* From */
+ data[UDPM_SUBJECT], /* Subj */
+ data[DATA] /* Mail Body */
+ );
+
+ INETD->_send_udp(data[NAME], ([
+ REQUEST: REPLY,
+ RECIPIENT: data[SENDER],
+ UDPM_STATUS: UDPM_STATUS_DELIVERED_OK,
+ UDPM_WRITER: data[UDPM_WRITER],
+ UDPM_SPOOL_NAME: data[UDPM_SPOOL_NAME],
+ ID: data[ID],
+ DATA: data[RECIPIENT]
+ ]) );
+}