#include "/secure/wizlevels.h"#include "/secure/master.h"
gehe zum Quellcode dieser Datei
Makrodefinitionen | |
| #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 |
Funktionen | |
| private mapping | ParseList (string list) |
| private void | ParseWhiteList () |
| private void | ParseTargetList () |
| private void | DumpList (mapping list, string file) |
| private void | DumpWhiteList () |
| private void | DumpTargetList () |
| public void | DumpPLDenyLists () |
| public void | SavePLDenyLists () |
| public void | LoadPLDenylists () |
| mixed | include_file (string file, string compiled_file, int sys_include) |
| mixed | inherit_file (string file, string compiled_file) |
Variablen | |
| nosave private mapping | whitelist |
| nosave private mapping | targets |
| #define PLDENY_LEARNMODE |
Definiert in Zeile 20 der Datei players_deny.c.
| #define TARGETLIST "/secure/ARCH/players_deny_targets.o" |
Definiert in Zeile 16 der Datei players_deny.c.
| #define TARGETLISTDUMP "/secure/ARCH/players_deny_targets.dump" |
Definiert in Zeile 18 der Datei players_deny.c.
Wird benutzt von DumpTargetList() und ParseTargetList().
| #define WHITELIST "/secure/ARCH/players_deny_whitelist.o" |
Definiert in Zeile 15 der Datei players_deny.c.
| #define WHITELISTDUMP "/secure/ARCH/players_deny_whitelist.dump" |
Definiert in Zeile 17 der Datei players_deny.c.
Wird benutzt von DumpWhiteList() und ParseWhiteList().
| private void DumpList | ( | mapping | list, | |
| string | file | |||
| ) |
Definiert in Zeile 49 der Datei players_deny.c.
Wird benutzt von DumpTargetList() und DumpWhiteList().
00049 { 00050 if (!stringp(file) || !mappingp(list) 00051 || !strlen(file) || !sizeof(list)) 00052 return; 00053 00054 write_file(file, implode(m_indices(list),"\n"), 1); 00055 }

| public void DumpPLDenyLists | ( | ) |
Definiert in Zeile 66 der Datei players_deny.c.
Benutzt DumpWhiteList().
00066 { 00067 if ( extern_call() && funcall(symbol_function('secure_level)) < ARCH_LVL ) 00068 return; 00069 DEBUG("Dumping PLDenylists\n"); 00070 limited(#'DumpWhiteList); 00071 limited(#'DumpTargetList); 00072 }

| private void DumpTargetList | ( | ) |
Definiert in Zeile 61 der Datei players_deny.c.
Benutzt DEBUG, DumpList(), TARGETLISTDUMP und targets.
00061 { 00062 DEBUG("Dumping Targetlist\n"); 00063 DumpList(targets, TARGETLISTDUMP); 00064 }

| private void DumpWhiteList | ( | ) |
Definiert in Zeile 57 der Datei players_deny.c.
Benutzt DEBUG, DumpList(), whitelist und WHITELISTDUMP.
Wird benutzt von DumpPLDenyLists().
00057 { 00058 DEBUG("Dumping Whitelist\n"); 00059 DumpList(whitelist, WHITELISTDUMP); 00060 }


| mixed include_file | ( | string | file, | |
| string | compiled_file, | |||
| int | sys_include | |||
| ) |
Definiert in Zeile 107 der Datei players_deny.c.
00107 { 00108 00109 if (sys_include) return 0; 00110 // Loggen, wenn Files ausserhalb /players/ Kram aus /players/ 00111 // inkludieren/erben. 00112 if (strstr(file, "/players/") == 0 00113 && (strstr(compiled_file,"/players/") == -1 00114 && !member(whitelist, compiled_file) )) { 00115 #ifdef PLDENY_LEARNMODE 00116 DEBUG("include_file(): Whitelisting: "+compiled_file+"\n"); 00117 m_add(whitelist, compiled_file); 00118 m_add(targets, file); 00119 funcall( symbol_function('log_file), "PLAYERSWHITELIST", 00120 sprintf("%s (inkludiert %s)\n",compiled_file, file), 00121 1000000); 00122 #else 00123 // verweigern. 00124 return -1; 00125 #endif 00126 } 00127 return 0; 00128 }
| mixed inherit_file | ( | string | file, | |
| string | compiled_file | |||
| ) |
Definiert in Zeile 130 der Datei players_deny.c.
Benutzt DEBUG, targets und whitelist.
00130 { 00131 00132 // Loggen, wenn Files ausserhalb /players/ Kram aus /players/ 00133 // inkludieren/erben. 00134 if (strstr(file, "/players/") == 0 00135 && (strstr(compiled_file,"/players/") == -1 00136 && !member(whitelist, compiled_file) )) { 00137 #ifdef PLDENY_LEARNMODE 00138 DEBUG("include_file(): Whitelisting: "+compiled_file+"\n"); 00139 m_add(whitelist, compiled_file); 00140 m_add(targets, file); 00141 funcall( symbol_function('log_file), "PLAYERSWHITELIST", 00142 sprintf("%s (erbt %s)\n",compiled_file, file), 00143 1000000); 00144 #else 00145 // verweigern. 00146 return -1; 00147 #endif 00148 } 00149 return 0; 00150 }
| public void LoadPLDenylists | ( | ) |
Definiert in Zeile 84 der Datei players_deny.c.
Benutzt ParseWhiteList().
Wird benutzt von inaugurate_master().
00084 { 00085 mixed tmp; 00086 00087 if ( extern_call() && funcall(symbol_function('secure_level)) < ARCH_LVL ) 00088 return; 00089 00090 write("Loading PLDenylists\n"); 00091 00092 if (stringp(tmp=read_file(WHITELIST))) { 00093 // savefile exists 00094 whitelist = restore_value(tmp); 00095 } 00096 else { 00097 limited(#'ParseWhiteList); 00098 } 00099 if (stringp(tmp=read_file(TARGETLIST))) { 00100 targets = restore_value(tmp); 00101 } 00102 else { 00103 limited(#'ParseTargetList); 00104 } 00105 }


| private mapping ParseList | ( | string | list | ) |
Definiert in Zeile 30 der Datei players_deny.c.
Benutzt data.
Wird benutzt von ParseTargetList() und ParseWhiteList().
00030 { 00031 mixed data; 00032 00033 if (!stringp(list)) return ([:0 ]); 00034 if (!stringp(data = read_file(list))) return ([:0 ]); 00035 data = explode(data, "\n") || ({}); 00036 00037 return mkmapping(data); 00038 }

| private void ParseTargetList | ( | ) |
Definiert in Zeile 44 der Datei players_deny.c.
Benutzt DEBUG, ParseList(), TARGETLISTDUMP und targets.
00044 { 00045 DEBUG("Parsing Targetlist\n"); 00046 targets=ParseList(TARGETLISTDUMP); 00047 }

| private void ParseWhiteList | ( | ) |
Definiert in Zeile 40 der Datei players_deny.c.
Benutzt DEBUG, ParseList(), whitelist und WHITELISTDUMP.
Wird benutzt von LoadPLDenylists().
00040 { 00041 DEBUG("Parsing Whitelist\n"); 00042 whitelist=ParseList(WHITELISTDUMP); 00043 }


| public void SavePLDenyLists | ( | ) |
Definiert in Zeile 74 der Datei players_deny.c.
| nosave private mapping targets |
Definiert in Zeile 28 der Datei players_deny.c.
| nosave private mapping whitelist |
Definiert in Zeile 26 der Datei players_deny.c.
Wird benutzt von DumpWhiteList(), inherit_file() und ParseWhiteList().
1.6.3