Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/p/daemon/namefake.c b/p/daemon/namefake.c
new file mode 100644
index 0000000..f4146b2
--- /dev/null
+++ b/p/daemon/namefake.c
@@ -0,0 +1,54 @@
+/* Dieses Objekt dient zum Faken von Namen fuer den Channeld.
+ * Hintergrund: der Channeld braucht beim send() ein Objekt (bzw. die in der
+ * Verarbeitung dann folgenden Programme). Der Mudlibmaster sendet Meldung in
+ * anderer Leute Namen (der darf das auch). Dafuer clont und konfiguriert er
+ * dieses Objekt und uebergibt es an den channeld. Nach 3s raeumen sich Clone
+ * dieses Objektes wieder auf.
+ * Falls der Spieler/NPC existiert, wenn die meldung gesendet wird, wird vom
+ * Master das richtige Objekt uebergeben, nicht dieses hier.
+ */
+
+#include <config.h>
+#include <wizlevels.h>
+
+inherit "/std/secure_thing";
+
+// Envcheck-Mechanismus missbrauchen. ;-)
+protected void check_for_environment(string cloner)
+{
+  if (clonep(this_object()))
+    remove(1);
+}
+
+// Zur Sicherheit auch im Reset
+void reset()
+{
+  if (clonep(this_object()))
+    remove(1);
+}
+
+// Kopie aus /std/thing/properties.c. Man braucht davon wohl kein
+// zugaengliches in jedem thing...
+// Welche externen Objekte duerfen zugreifen?
+nomask private int allowed()
+{
+    if ( (previous_object() && IS_ARCH(getuid(previous_object())) &&
+          this_interactive() && IS_ARCH(this_interactive())) ||
+         (previous_object() && getuid(previous_object()) == ROOTID &&
+          geteuid(previous_object()) == ROOTID) )
+        return 1;
+    return 0;
+}
+
+// Sollte nur von ROOT oder EM+ manipuliert werden.
+// Sprich, das tut so, als seien alle Props SECURED
+public varargs mixed Set( string name, mixed value, int type, int extern )
+{
+  if ((extern || extern_call())
+      && previous_object() != this_object()
+      && !allowed()) // aus thing/properties.c
+    return -1;
+
+  return ::Set(name, value, type, extern);
+}
+