Branch: Tag:

2001-01-19

2001-01-19 12:41:40 by Per Hedbor <ph@opera.com>

Various changes, object -> typed object, the start of a new user database system, and a few other minor fixes

Rev: server/base_server/basic_defvar.pike:1.23
Rev: server/base_server/config_userdb.pike:1.19
Rev: server/base_server/configuration.pike:1.409
Rev: server/base_server/disk_cache.pike:1.58
Rev: server/base_server/fonts.pike:1.68
Rev: server/base_server/global_variables.pike:1.60
Rev: server/base_server/hosts.pike:1.29
Rev: server/base_server/javamodule.pike:1.4
Rev: server/base_server/language.pike:1.35
Rev: server/base_server/module_support.pike:1.85
Rev: server/base_server/newdecode.pike:1.29
Rev: server/base_server/prototypes.pike:1.5
Rev: server/base_server/read_config.pike:1.54
Rev: server/base_server/roxen.pike:1.610
Rev: server/base_server/roxenloader.pike:1.230
Rev: server/bin/buildenv.pike:1.6
Rev: server/bin/distclean.pike:1.2
Rev: server/bin/garbagecollector.pike:1.20
Rev: server/bin/lsquota.pike:1.2
Rev: server/bin/unpack_cif.pike:1.4
Rev: server/config_interface/standard/boxes/slashdot.pike:1.3
Rev: server/config_interface/standard/inheritinfo.pike:1.17
Rev: server/config_interface/standard/logutil.pike:1.14
Rev: server/config_interface/standard/sites/create_site_with_template.pike:1.13
Rev: server/config_interface/standard/sites/drop_module.pike:1.11
Rev: server/config_interface/standard/sites/module_info.pike:1.5
Rev: server/config_interface/standard/sites/site_content.pike:1.103
Rev: server/config_interface/standard/sites/site_header.pike:1.17
Rev: server/config_interface/standard/sites/verify_site_name.pike:1.6
Rev: server/etc/include/module_constants.h:1.5
Rev: server/etc/modules/Dims.pmod:1.10
Rev: server/etc/modules/ExtScript.pmod:1.12
Rev: server/etc/modules/GText.pmod:1.12
Rev: server/etc/modules/Roxen.pmod:1.66
Rev: server/modules/security/INFO:1.1
Rev: server/modules/security/httpbasic.pike:1.1
Rev: server/ntroxenloader.pike:1.7

1:   // A vitual server's main configuration   // Copyright © 1996 - 2000, Roxen IS. - constant cvs_version = "$Id: configuration.pike,v 1.408 2001/01/13 17:43:28 nilsson Exp $"; + constant cvs_version = "$Id: configuration.pike,v 1.409 2001/01/19 12:41:32 per Exp $";   #include <module.h>   #include <module_constants.h>   #include <roxen.h>
639: Inside #if defined(MODULE_LEVEL_SECURITY)
  #ifdef MODULE_LEVEL_SECURITY   private mapping misc_cache=([]);    - int|mapping check_security(function|object a, RequestID id, void|int slevel) + int|mapping check_security(function|RoxenModule a, RequestID id, +  void|int slevel)   {    array level;    array seclevels;
653: Inside #if defined(MODULE_LEVEL_SECURITY)
   // ~0 OK -- Test passed.       if(!(seclevels = misc_cache[ a ])) { -  object mod = Roxen.get_owning_module (a); +  RoxenModule mod = Roxen.get_owning_module (a);    if(mod && mod->query_seclevels)    misc_cache[ a ] = seclevels = ({    mod->query_seclevels(),
863: Inside #if defined(THREADS)
     mixed _lock(object|function f)   { -  object key; +  Thread.MutexKey key;    function|int l;       if (functionp(f)) {
987:   #endif      #ifdef THREADS -  object key; +  Thread.MutexKey key;   #endif    TRACE_ENTER(sprintf("Request for %s", id->not_query), 0);   
1390: Inside #if defined(URL_MODULES)
     #ifdef URL_MODULES   #ifdef THREADS -  object key; +  Thread.MutexKey key;   #endif    // Map URL-modules    foreach(url_modules(), function funp)
1399: Inside #if defined(URL_MODULES)
   id->not_query = file;    LOCK(funp);    TRACE_ENTER("URL module", funp); -  void|mapping|object remap=funp( id, file ); +  mixed remap=funp( id, file );    UNLOCK();       if(mappingp( remap ))
1433:    }   #endif /* URL_MODULES */    -  array(string) | mapping d; +  array | mapping d;    array(string) locks=({}); -  object mod; +  RoxenModule mod;    string loc;    foreach(location_modules(), array tmp)    {
1505:    string loc;    mixed s, tmp;   #ifdef THREADS -  object key; +  Thread.MutexKey key;   #endif    TRACE_ENTER(sprintf("Stat file %O.", file), 0);   
1606:    if( id->conf && (id->conf != this_object()) )    return id->conf->open_file( fname, mode, id, internal_get );    -  object oc = id->conf; +  Configuration oc = id->conf;    string oq = id->not_query;    function funp;    mapping|int(0..1) file;
1694: Inside #if defined(URL_MODULES)
     #ifdef URL_MODULES   #ifdef THREADS -  object key; +  Thread.MutexKey key;   #endif    // Map URL-modules    foreach(url_modules(), function funp)
2765:       if (!modules_already_enabled) {    enabled_modules = retrieve("EnabledModules", this_object()); -  object ec = roxenloader.LowErrorContainer(); +  roxenloader.LowErrorContainer ec = roxenloader.LowErrorContainer();    roxenloader.push_compile_error_handler( ec );       array modules_to_process = indices( enabled_modules );
2795:    report_warning( "While enabling modules in "+name+":\n"+ec->get_warnings());    }    -  foreach( ({this_object()})+indices( otomod ), object mod ) +  foreach( ({this_object()})+indices( otomod ), RoxenModule mod )    if( mod->ready_to_receive_requests )    if( mixed q = catch( mod->ready_to_receive_requests( this_object() ) ) ) {    report_error( "While calling ready_to_receive_requests in "+