Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/secure/master/players_deny.c b/secure/master/players_deny.c
new file mode 100644
index 0000000..105704c
--- /dev/null
+++ b/secure/master/players_deny.c
@@ -0,0 +1,151 @@
+// MorgenGrauen MUDlib
+//
+// master.c -- master object
+//
+// $Id: master.c 7041 2008-10-13 18:18:27Z Zesstra $
+#pragma strict_types
+#pragma no_clone
+#pragma no_shadow
+#pragma verbose_errors
+#pragma combine_strings
+#pragma pedantic
+#pragma range_check
+#pragma warn_deprecated
+
+#define WHITELIST "/secure/ARCH/players_deny_whitelist.o"
+#define TARGETLIST "/secure/ARCH/players_deny_targets.o"
+#define WHITELISTDUMP "/secure/ARCH/players_deny_whitelist.dump"
+#define TARGETLISTDUMP "/secure/ARCH/players_deny_targets.dump"
+
+//#define PLDENY_LEARNMODE
+
+#include "/secure/wizlevels.h"
+#include "/secure/master.h"
+
+/* Diese Objekte duerfen aus /players/ includieren/erben */
+nosave private mapping whitelist;
+/* Diese Dinge werden von Objektn in whitelist aus /players/ inkludiert/geerbt. */
+nosave private mapping targets;
+
+private mapping ParseList(string list) {
+  mixed data;
+
+  if (!stringp(list)) return ([:0 ]);
+  if (!stringp(data = read_file(list))) return ([:0 ]);
+  data = explode(data, "\n") || ({});
+
+  return mkmapping(data);
+}
+
+private void ParseWhiteList() {
+  DEBUG("Parsing Whitelist\n");
+  whitelist=ParseList(WHITELISTDUMP);
+}
+private void ParseTargetList() {
+  DEBUG("Parsing Targetlist\n");
+  targets=ParseList(TARGETLISTDUMP);
+}
+
+private void DumpList(mapping list, string file) {
+  if (!stringp(file) || !mappingp(list)
+      || !sizeof(file) || !sizeof(list))
+    return;
+  
+  write_file(file, implode(m_indices(list),"\n"), 1);
+}
+
+private void DumpWhiteList() {
+  DEBUG("Dumping Whitelist\n");
+  DumpList(whitelist, WHITELISTDUMP);
+}
+private void DumpTargetList() {
+  DEBUG("Dumping Targetlist\n");
+  DumpList(targets, TARGETLISTDUMP);
+}
+
+public void DumpPLDenyLists() {
+  if ( extern_call() && call_sefun("secure_level") < ARCH_LVL )
+    return;
+  DEBUG("Dumping PLDenylists\n");
+  limited(#'DumpWhiteList);
+  limited(#'DumpTargetList);
+}
+
+public void SavePLDenyLists() {
+  if ( extern_call() && call_sefun("secure_level") < ARCH_LVL )
+    return;
+  DEBUG("Saving PLDenyLists\n");
+  write_file(WHITELIST,
+      save_value(whitelist), 1);
+  write_file(TARGETLIST,
+      save_value(targets), 1);
+}
+
+public void LoadPLDenylists() {
+  mixed tmp;
+
+  if ( extern_call() && call_sefun("secure_level") < ARCH_LVL )
+    return;
+
+  write("Loading PLDenylists\n");
+
+  if (stringp(tmp=read_file(WHITELIST))) {
+    // savefile exists
+    whitelist = restore_value(tmp);
+  }
+  else {
+      limited(#'ParseWhiteList);
+  }
+  if (stringp(tmp=read_file(TARGETLIST))) {
+    targets = restore_value(tmp);
+  }
+  else {
+      limited(#'ParseTargetList);
+  }
+}
+
+mixed include_file(string file, string compiled_file, int sys_include) {
+  
+  if (sys_include) return 0;
+  // Loggen, wenn Files ausserhalb /players/ Kram aus /players/
+  // inkludieren/erben.
+  if (strstr(file, "/players/") == 0
+      && (strstr(compiled_file,"/players/") == -1
+      && !member(whitelist, compiled_file) )) {
+#ifdef PLDENY_LEARNMODE
+    DEBUG("include_file(): Whitelisting: "+compiled_file+"\n");
+    m_add(whitelist, compiled_file);
+    m_add(targets, file);
+    call_sefun("log_file", "PLAYERSWHITELIST",
+        sprintf("%s (inkludiert %s)\n",compiled_file, file),
+        1000000);
+#else
+    // verweigern.
+    return -1;
+#endif
+  }
+  return 0;
+}
+
+mixed inherit_file(string file, string compiled_file) {
+
+  // Loggen, wenn Files ausserhalb /players/ Kram aus /players/
+  // inkludieren/erben.
+  if (strstr(file, "/players/") == 0
+      && (strstr(compiled_file,"/players/") == -1
+      && !member(whitelist, compiled_file) )) {
+#ifdef PLDENY_LEARNMODE
+    DEBUG("include_file(): Whitelisting: "+compiled_file+"\n");
+    m_add(whitelist, compiled_file);
+    m_add(targets, file);
+    call_sefun("log_file", "PLAYERSWHITELIST", 
+        sprintf("%s (erbt %s)\n",compiled_file, file),
+        1000000);
+#else
+    // verweigern.
+    return -1;
+#endif
+  }
+  return 0;
+}
+