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:   #include <stat.h>   #include <config.h> - constant cvs_version="$Id: prototypes.pike,v 1.4 2001/01/16 14:44:38 nilsson Exp $"; + #include <module_constants.h> + constant cvs_version="$Id: prototypes.pike,v 1.5 2001/01/19 12:41:34 per Exp $";      class Variable   {
623:    void nwrite(string a, int|void b, int|void c, void|mixed ... d);    int main(int a, array(string) b);   } +  + class AuthModule + //! The interface an authentication module must implement + { +  inherit RoxenModule; +  constant module_type = MODULE_AUTH; +  constant thread_safe=1; +  +  constant name = "method name"; +  +  int authenticate( RequestID id, UserDB db ); +  //! Try to authenticate the request with users from the specified user +  //! database. If no @[db] is specified, all datbases in the current +  //! configuration are searched in order, then the configuration user +  //! database. +  +  mapping authenticate_throw( RequestID id , UserDB db ); +  //! Returns a reply mapping, similar to @[Roxen.http_rxml_reply] with +  //! friends. If no @[db] is specified, all datbases in the current +  //! configuration are searched in order, then the configuration user +  //! database. + } +  + class User + { +  string name(); +  string real_name(); +  +  void set( RoxenModule m, string index, string value ); +  void get( RoxenModule m, string index ); + } +  + class UserDB + //! The interface a UserDB module must implement. + { +  inherit RoxenModule; +  constant module_type = MODULE_USERDB; +  +  User find_user( string s ); +  //! Find a user +  +  array(string) list_users( ); +  //! Return a list of all users handled by this database module. +  +  User create_user( string s ); +  //! Not nessesarily implemented, as an example, it's not possible to +  //! create users in the system user database from Roxen WebServer. +  //! +  //! Returns 0 on failure + } +