1996-11-12
1996-11-12 08:06:14 by Per Hedbor <ph@opera.com>
-
5e4edec8e05027832e59a0fc06cf197a2e7486a5
(63 lines)
(+42/-21)
[
Show
| Annotate
]
Branch: 5.2
omorganisation
Rev: server/base_server/config/low_describers.pike:1.2
Rev: server/base_server/config/savers.pike:1.2
Rev: server/base_server/disk_cache.pike:1.3
Rev: server/base_server/language.pike:1.4
Rev: server/base_server/mainconfig.pike:1.2
Rev: server/base_server/module.pike:1.3
Rev: server/base_server/module_support.pike:1.2
Rev: server/base_server/roxen.pike:1.3
Rev: server/base_server/roxenlib.pike:1.2
Rev: server/base_server/roxenloader.pike:1.2
Rev: server/etc/include/roxen.pre.pike:1.2
Rev: server/etc/roxen_master.pike:1.3
Rev: server/modules/filesystems/secure_fs.pike:1.2
Rev: server/modules/filesystems/userfs.pike:1.2
Rev: server/modules/tags/tablify.pike:1.1
Rev: server/more_modules/lysator.pike:1.2
Rev: server/more_modules/tablify.pike:1.2(DEAD)
Rev: server/unfinishedmodules/whois++.pike:1.2
3:
#include <variables.h>
#include <roxen.h>
-
+
#ifdef NO_DNS
inherit "dummy_hosts";
#else
104:
}
// End of what was formely known as decode.pike, the base64 decoder
-
+
// Function pointer and the root of the to the configuration interface
// object.
private function build_root;
1520: Inside #if defined(MODULE_LEVEL_SECURITY)
object load(string s)
{
if(file_size(s+".pike")>0)
- if(__p=compile_file(s+".pike")) return __p();
+ if(__p=(program)(s+".pike")) return __p();
if(file_size(s+".lpc")>0)
- if(__p=compile_file(s+".lpc")) return __p();
+ if(__p=(program)(s+".lpc")) return __p();
if(file_size(s+".module")>0)
- if(__p=compile_file(s+".module")) return __p();
+ if(__p=(program)(s+".module")) return __p();
if(file_size(s)>0)
- if(__p=compile_file(s)) return __p();
+ if(__p=(program)(s)) return __p();
if(file_size(s+".so")>0) // Loadable C-library.. TBD
- ; /*if(__p=compile_file(s+".module")) return clone(__p);*/
+ ; /* */
return 0; // FAILED..
}
-
+ object load_from_dir(string d, string f)
+ {
+ object o;
+ string nd;
+ if(o = load(d+f)) return o;
-
+ foreach(get_dir(d), nd) if(file_size(d+nd)==-2)
+ if(o=load_from_dir(d+nd+"/",f))
+ return o;
+ }
+
+ object load_from_dirs(array dirs, string f)
+ {
+ string dir;
+ object o;
+ foreach(dirs, dir)
+ if(o=load_from_dir(dir, f))
+ return o;
+ return 0;
+ }
+
// Some logging stuff, should probably move to either the actual
// configuration object, or into a module. That would be much more
// beautiful, really.
1664: Inside #if defined(MODULE_LEVEL_SECURITY)
}
- // Don't ask about the roxenlib and http things, it is just to ugly :-/
+
void create()
{
-
+
add_efun("roxen", this_object());
add_efun("spinner", this_object());
add_efun("load", load);
- _master->programs->roxenlib = 0;
- _master->programs->http = 0;
+
}
2256:
+ (modules_to_process-({"userdb#0"})));
+ array err;
foreach( modules_to_process, tmp_string )
- if(catch( enable_module( tmp_string ) ))
- perror("Failed to enable the module "+tmp_string+". Skipping\n");
+ if(err = catch( enable_module( tmp_string ) ))
+ perror("Failed to enable the module "+tmp_string+". Skipping\n"+
+ #ifdef MODULE_DEBUG
+ describe_backtrace(err)+"\n"
+ #endif
+ );
}
// Enable all configurations
2780:
foreach( get_dir( d )||({}), file)
{
- if ( !backup_extension(file) )
+ if ( !backup_extension(file) && (file[-1]!='z'))
{
if(file_size(path+file) == -2)
-
+ {
+ if(file!="CVS")
scan_module_dir(path+file+"/");
-
+ }
else
{
#ifdef MODULE_DEBUG
2815:
allmodules[ file ] = module_info;
} else {
#ifdef MODULE_DEBUG
- perror("\n" + describe_backtrace(err));
+ perror("\n"+err[0]+_master->set_inhibit_compile_errors( 1 ));
#endif
}
#ifdef MODULE_DEBUG
2835:
foreach(QUERY(ModuleDirs), path)
{
_master->set_inhibit_compile_errors(1);
- scan_module_dir( path );
+ catch(scan_module_dir( path ));
}
if(strlen(_master->errors))
{
- string s;
- s=_master->errors;
+ nwrite("While rescanning module list:\n" + _master->errors, 1);
_master->set_inhibit_compile_errors(0);
- nwrite("While rescanning module list:\n" + s, 1);
+
}
_master->set_inhibit_compile_errors(0);