Changeset 476

Show
Ignore:
Timestamp:
11/30/06 11:40:51 (2 years ago)
Author:
alo
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • cherokee/trunk/ChangeLog

    r475 r476  
     12006-11-30  Alvaro Lopez Ortega  <alvaro@alobbs.com> 
     2 
     3        * cherokee/handler_redir.c, cherokee/handler_redir.h, 
     4        cherokee/handler_error_redir.c, cherokee/module_loader.c, 
     5        cherokee/handler_server_info.c, cherokee/module_loader.h, 
     6        cherokee/handler_error_redir.h, cherokee/handler_server_info.h, 
     7        cherokee/plugin_loader.c, cherokee/handler_admin.c, 
     8        cherokee/handler_cgi_base.c, cherokee/plugin_loader.h, 
     9        cherokee/handler_admin.h, cherokee/handler_cgi_base.h, 
     10        cherokee/handler_dirlist.c, cherokee/handler_nn.c, 
     11        cherokee/handler_dirlist.h, cherokee/virtual_server.c, 
     12        cherokee/handler_nn.h, cherokee/handler_common.c, 
     13        cherokee/module.c, cherokee/validator_ldap.c, 
     14        cherokee/config_entry.c, cherokee/handler_common.h, 
     15        cherokee/module.h, cherokee/validator_ldap.h, 
     16        cherokee/config_entry.h, cherokee/validator_plain.c, 
     17        cherokee/validator_plain.h, cherokee/validator.c, 
     18        cherokee/encoder_table.c, cherokee/validator.h, 
     19        cherokee/encoder_table.h, cherokee/validator_htpasswd.c, 
     20        cherokee/plugin.h, cherokee/validator_htpasswd.h, 
     21        cherokee/handler_file., cherokee/handler., cherokee/encoder.c, 
     22        cherokee/handler_file.h, cherokee/handler.h, cherokee/encoder.h, 
     23        cherokee/Makefile.am, cherokee/handler_fcgi.c, 
     24        cherokee/balancer_round_robin.c, cherokee/encoder_gzip.c, 
     25        cherokee/handler_fcgi.h, cherokee/handler_fastcgi.c, 
     26        cherokee/encoder_gzip.h, cherokee/handler_fastcgi.h, 
     27        cherokee/balancer.c, cherokee/balancer.h, 
     28        cherokee/handler_proxy.c, cherokee/handler_scgi.c, 
     29        cherokee/logger_ncsa.c, cherokee/handler_proxy.h, 
     30        cherokee/handler_error.c, cherokee/handler_scgi.h, 
     31        cherokee/logger_ncsa.h, cherokee/handler_error.h, 
     32        cherokee/handler_cgi.c, cherokee/server-protected.h, 
     33        cherokee/handler_cgi.h, cherokee/validator_mysql.c, 
     34        cherokee/logger.c, cherokee/validator_mysql.h, 
     35        cherokee/validator_htdigest.c, cherokee/logger.h, 
     36        cherokee/validator_htdigest.h, cherokee/cherokee.h, 
     37        cherokee/server.c, cherokee/handler_phpcgi.c, 
     38        cherokee/handler_phpcgi.h, cherokee/logger_combined.c, 
     39        cherokee/validator_pam.c, cherokee/validator_pam.h, 
     40        cherokee/socket.c, cherokee/logger_w3c.c: "module" has been 
     41        splitted into module and plug-in. 
     42 
     43        * cherokee/handler_fcgi.c (do_send): Do not move the connection to 
     44        polling if it receives a ret_eagain when it tries to write the 
     45        post content. 
     46 
     47        * cherokee/socket.c (cherokee_socket_write): Better 
     48        initialization.  Fixes a potential memory corruption problem. 
     49         
    1502006-11-22  Alvaro Lopez Ortega  <alvaro@alobbs.com> 
    251 
    352        * cherokee/handler_fcgi.c (do_send): Post handling was 
    453        broken. Actually, I broke it with another commit a couple of days 
    5         ago. It's working again. 
     54        ago. It's working again. This problem showed up using Gallery 2, 
     55        there were people who couldn't upload pictures. 
    656 
    757        * cherokee/config_node.c (cherokee_config_node_add): Fixes bug 
  • cherokee/trunk/cherokee/Makefile.am

    r441 r476  
    838838thread.h \ 
    839839thread.c \ 
     840plugin.h \ 
    840841module.h \ 
    841842module.c \ 
    842843validator.h \ 
    843844validator.c \ 
    844 module_loader.h \ 
    845 module_loader.c \ 
     845plugin_loader.h \ 
     846plugin_loader.c \ 
    846847icons.h \ 
    847848icons.c \ 
  • cherokee/trunk/cherokee/balancer.c

    r387 r476  
    2525#include "common-internal.h" 
    2626#include "balancer.h" 
    27 #include "module_loader.h" 
     27#include "plugin_loader.h" 
    2828#include "server-protected.h" 
    2929#include "source_interpreter.h" 
     
    3333 
    3434ret_t  
    35 cherokee_balancer_init_base (cherokee_balancer_t *balancer
     35cherokee_balancer_init_base (cherokee_balancer_t *balancer, cherokee_plugin_info_t *info
    3636{ 
    3737        /* Init the base class 
    3838         */ 
    39         cherokee_module_init_base (MODULE(balancer)); 
     39        cherokee_module_init_base (MODULE(balancer), NULL, info); 
    4040 
    4141        /* Virtual methods 
     
    199199        ret_t                   ret; 
    200200        balancer_new_func_t     new_func; 
    201         cherokee_module_info_t *info      = NULL; 
    202          
    203         ret = cherokee_module_loader_get (&srv->loader, name->buf, &info); 
     201        cherokee_plugin_info_t *info      = NULL; 
     202         
     203        ret = cherokee_plugin_loader_get (&srv->loader, name->buf, &info); 
    204204        if (ret != ret_ok) return ret; 
    205205         
    206         new_func = (balancer_new_func_t) info->new_func
     206        new_func = (balancer_new_func_t) info->instance
    207207        ret = new_func (balancer); 
    208208        if (ret != ret_ok) return ret; 
  • cherokee/trunk/cherokee/balancer.h

    r387 r476  
    5555 
    5656 
    57 typedef ret_t (* balancer_new_func_t)      (cherokee_balancer_t **balancer); 
    58 typedef ret_t (* balancer_free_func_t)     (cherokee_balancer_t  *balancer); 
     57typedef ret_t (* balancer_new_func_t)  (cherokee_balancer_t **balancer); 
     58typedef ret_t (* balancer_free_func_t) (cherokee_balancer_t  *balancer); 
    5959 
    6060 
    61 ret_t cherokee_balancer_init_base  (cherokee_balancer_t *balancer); 
     61/* Easy initialization 
     62 */ 
     63#define BALANCER_CONF_PROTOTYPE(name)                              \ 
     64        ret_t cherokee_balancer_ ## name ## _configure (           \ 
     65                cherokee_balancer_t    *,                          \ 
     66                cherokee_config_node_t *) 
     67 
     68#define PLUGIN_INFO_BALANCER_EASY_INIT(name)                       \ 
     69        BALANCER_CONF_PROTOTYPE(name);                             \ 
     70                                                                   \ 
     71        PLUGIN_INFO_INIT(name, cherokee_balancer,                  \ 
     72                (void *)cherokee_balancer_ ## name ## _new,        \ 
     73                (void *)cherokee_balancer_ ## name ## _configure) 
     74 
     75#define PLUGIN_INFO_BALANCER_EASIEST_INIT(name)                    \ 
     76        PLUGIN_EMPTY_INIT_FUNCTION(name)                           \ 
     77        PLUGIN_INFO_BALANCER_EASY_INIT(name) 
     78 
     79 
     80/* Balancer methods 
     81 */ 
     82ret_t cherokee_balancer_init_base  (cherokee_balancer_t *balancer, cherokee_plugin_info_t *info); 
    6283ret_t cherokee_balancer_mrproper   (cherokee_balancer_t *balancer); 
    6384ret_t cherokee_balancer_configure  (cherokee_balancer_t *balancer, cherokee_config_node_t *conf); 
  • cherokee/trunk/cherokee/balancer_round_robin.c

    r387 r476  
    2626 
    2727#include "balancer_round_robin.h" 
    28 #include "module_loader.h" 
     28#include "plugin_loader.h" 
     29 
     30 
     31/* Plug-in initialization 
     32 */ 
     33PLUGIN_INFO_BALANCER_EASIEST_INIT (round_robin); 
     34 
    2935 
    3036static ret_t 
     
    3541 
    3642ret_t  
    37 cherokee_balancer_round_robin_configure (cherokee_balancer_t *balancer, cherokee_config_node_t *conf) 
     43cherokee_balancer_round_robin_configure (cherokee_balancer_t *balancer, cherokee_config_node_t *conf) 
    3844{ 
    3945        ret_t ret; 
     
    5359        /* Init          
    5460         */ 
    55         cherokee_balancer_init_base (BAL(n)); 
     61        cherokee_balancer_init_base (BAL(n), PLUGIN_INFO_PTR(round_robin)); 
    5662 
    5763        MODULE(n)->free  = (module_func_free_t) cherokee_balancer_round_robin_free; 
     
    102108 
    103109 
    104  
    105 /* Module stuff 
    106  */ 
    107  
    108 MODULE_INFO_INIT_EASY (balancer, round_robin); 
    109  
    110 void 
    111 MODULE_INIT(round_robin) (cherokee_module_loader_t *loader) 
    112 { 
    113 } 
  • cherokee/trunk/cherokee/cherokee.h

    r384 r476  
    5353#include <cherokee/encoder.h> 
    5454#include <cherokee/connection.h> 
    55 #include <cherokee/module_loader.h> 
     55#include <cherokee/plugin.h> 
     56#include <cherokee/plugin_loader.h> 
    5657#include <cherokee/nonce.h> 
    5758 
  • cherokee/trunk/cherokee/config_entry.c

    r446 r476  
    8181 
    8282        if (entry->validator_properties != NULL) { 
    83                 cherokee_validator_props_free (entry->validator_properties); 
     83                cherokee_module_props_free (entry->validator_properties); 
    8484                entry->validator_properties = NULL; 
    8585        } 
     
    120120 
    121121ret_t  
    122 cherokee_config_entry_set_handler (cherokee_config_entry_t *entry, cherokee_module_info_t *modinfo) 
    123 { 
    124         return_if_fail (modinfo != NULL, ret_error); 
    125  
    126         if (modinfo->type != cherokee_handler) { 
     122cherokee_config_entry_set_handler (cherokee_config_entry_t *entry, cherokee_plugin_info_handler_t *plugin_info) 
     123{ 
     124        return_if_fail (plugin_info != NULL, ret_error); 
     125 
     126        if (PLUGIN_INFO(plugin_info)->type != cherokee_handler) { 
    127127                PRINT_ERROR ("Directory '%s' has not a handler module!\n", entry->document_root->buf); 
    128128                return ret_error; 
    129129        } 
    130130 
    131         entry->handler_new_func = (handler_func_new_t) modinfo->new_func
    132         entry->handler_methods  = MODULE_INFO_HANDLER(modinfo)->valid_methods; 
     131        entry->handler_new_func = PLUGIN_INFO(plugin_info)->instance
     132        entry->handler_methods  = plugin_info->valid_methods; 
    133133 
    134134        return ret_ok; 
  • cherokee/trunk/cherokee/config_entry.h

    r387 r476  
    5858         */ 
    5959        validator_func_new_t        validator_new_func; 
    60         cherokee_validator_props_t *validator_properties;  
     60        cherokee_module_props_t    *validator_properties;  
    6161 
    6262        cherokee_buffer_t          *auth_realm; 
     
    7373ret_t cherokee_config_entry_mrproper (cherokee_config_entry_t  *entry); 
    7474 
    75 ret_t cherokee_config_entry_set_handler (cherokee_config_entry_t *entry, cherokee_module_info_t *modinfo);  
     75ret_t cherokee_config_entry_set_handler (cherokee_config_entry_t *entry, cherokee_plugin_info_handler_t *modinfo);  
    7676ret_t cherokee_config_entry_complete    (cherokee_config_entry_t *entry, cherokee_config_entry_t *parent, cherokee_boolean_t same_type); 
    7777ret_t cherokee_config_entry_inherit     (cherokee_config_entry_t *entry); 
  • cherokee/trunk/cherokee/encoder.c

    r283 r476  
    2828 
    2929ret_t  
    30 cherokee_encoder_init_base (cherokee_encoder_t *enc
     30cherokee_encoder_init_base (cherokee_encoder_t *enc, cherokee_plugin_info_t *info
    3131{ 
    32         cherokee_module_init_base (MODULE(enc)); 
     32        cherokee_module_init_base (MODULE(enc), NULL, info); 
    3333 
    3434        enc->encode      = NULL; 
  • cherokee/trunk/cherokee/encoder.h

    r283 r476  
    6666 
    6767 
     68/* Easy initialization 
     69 */ 
     70#define ENCODER_CONF_PROTOTYPE(name)                                \ 
     71        ret_t cherokee_encoder_ ## name ## _configure (             \ 
     72                cherokee_config_node_t   *,                         \ 
     73                cherokee_server_t        *,                         \ 
     74                cherokee_module_props_t **) 
     75 
     76#define PLUGIN_INFO_ENCODER_EASY_INIT(name)                         \ 
     77        ENCODER_CONF_PROTOTYPE(name);                               \ 
     78                                                                    \ 
     79        PLUGIN_INFO_INIT(name, cherokee_encoder,                    \ 
     80                (void *)cherokee_encoder_ ## name ## _new,          \ 
     81                (void *)NULL) 
     82 
     83#define PLUGIN_INFO_ENCODER_EASIEST_INIT(name)                      \ 
     84        PLUGIN_EMPTY_INIT_FUNCTION(name)                            \ 
     85        PLUGIN_INFO_ENCODER_EASY_INIT(name) 
     86 
     87 
    6888/* Methods 
    6989 */ 
    70 ret_t cherokee_encoder_init_base   (cherokee_encoder_t *enc); 
     90ret_t cherokee_encoder_init_base   (cherokee_encoder_t *enc, cherokee_plugin_info_t *info); 
    7191 
     92/* Encoder virtual methods 
     93 */ 
    7294ret_t cherokee_encoder_free        (cherokee_encoder_t *enc); 
    7395ret_t cherokee_encoder_add_headers (cherokee_encoder_t *enc, cherokee_buffer_t *buf); 
  • cherokee/trunk/cherokee/encoder_gzip.c

    r377 r476  
    2727#include "crc32.h" 
    2828#include "encoder_gzip.h" 
    29 #include "module_loader.h" 
     29#include "plugin_loader.h" 
     30 
     31/* Plug-in initialization 
     32 */ 
     33PLUGIN_INFO_ENCODER_EASIEST_INIT (gzip); 
    3034 
    3135/* Specs: 
     
    6468 
    6569ret_t  
    66 cherokee_encoder_gzip_configure (cherokee_config_node_t *conf, cherokee_server_t *srv, void **props) 
    67 { 
    68         return ret_ok; 
    69 } 
    70  
    71 ret_t  
    7270cherokee_encoder_gzip_new (cherokee_encoder_gzip_t **encoder) 
    7371{ 
     
    7775        /* Init          
    7876         */ 
    79         cherokee_encoder_init_base (ENCODER(n)); 
     77        cherokee_encoder_init_base (ENCODER(n), PLUGIN_INFO_PTR(gzip)); 
    8078 
    8179        MODULE(n)->init         = (encoder_func_init_t) cherokee_encoder_gzip_init; 
     
    9290 
    9391        workspacesize = zlib_deflate_workspacesize(); 
     92 
    9493        n->workspace = malloc (workspacesize); 
    95         if (unlikely (n->workspace == NULL)) return ret_nomem; 
     94        if (unlikely (n->workspace == NULL))  
     95                return ret_nomem; 
    9696 
    9797        memset (n->workspace, 0, workspacesize); 
     
    312312} 
    313313 
    314  
    315  
    316 /*   Library init function 
    317  */ 
    318  
    319 MODULE_INFO_INIT_EASY (encoder, gzip); 
    320  
    321  
    322 static cherokee_boolean_t _gzip_is_init = false; 
    323  
    324 void 
    325 MODULE_INIT(gzip) (cherokee_module_loader_t *loader) 
    326 { 
    327         /* Init flag 
    328          */ 
    329         if (_gzip_is_init) return; 
    330         _gzip_is_init = true; 
    331 } 
  • cherokee/trunk/cherokee/encoder_gzip.h

    r347 r476  
    4949/* Methods 
    5050 */ 
    51 ret_t cherokee_encoder_gzip_configure   (cherokee_config_node_t *conf, cherokee_server_t *srv, void **props); 
     51ret_t cherokee_encoder_gzip_configure   (cherokee_config_node_t *conf, cherokee_server_t *srv, cherokee_module_props_t **props); 
    5252 
    5353ret_t cherokee_encoder_gzip_new         (cherokee_encoder_gzip_t **encoder); 
  • cherokee/trunk/cherokee/encoder_table.c

    r441 r476  
    118118 
    119119ret_t  
    120 cherokee_encoder_table_entry_get_info  (cherokee_encoder_table_entry_t *eentry, cherokee_module_info_t *info) 
     120cherokee_encoder_table_entry_get_info  (cherokee_encoder_table_entry_t *eentry, cherokee_plugin_info_t *info) 
    121121{ 
    122122        if (info->type != cherokee_encoder) { 
     
    125125        } 
    126126 
    127         eentry->func_new = info->new_func
     127        eentry->func_new = info->instance
    128128        return ret_ok; 
    129129} 
  • cherokee/trunk/cherokee/encoder_table.h

    r283 r476  
    4545/* Encoder table methods 
    4646 */ 
    47 ret_t cherokee_encoder_table_init        (cherokee_encoder_table_t *et); 
    48 ret_t cherokee_encoder_table_mrproper    (cherokee_encoder_table_t *et); 
     47ret_t cherokee_encoder_table_init              (cherokee_encoder_table_t *et); 
     48ret_t cherokee_encoder_table_mrproper          (cherokee_encoder_table_t *et); 
    4949 
    50 ret_t cherokee_encoder_table_get         (cherokee_encoder_table_t *et, char *encoder, cherokee_encoder_table_entry_t **entry); 
    51 ret_t cherokee_encoder_table_set         (cherokee_encoder_table_t *et, char *encoder, cherokee_encoder_table_entry_t  *entry); 
    52 ret_t cherokee_encoder_table_new_encoder (cherokee_encoder_table_t *et, char *encoder, char *ext, cherokee_encoder_t **new_encoder); 
     50ret_t cherokee_encoder_table_get               (cherokee_encoder_table_t *et, char *encoder, cherokee_encoder_table_entry_t **entry); 
     51ret_t cherokee_encoder_table_set               (cherokee_encoder_table_t *et, char *encoder, cherokee_encoder_table_entry_t  *entry); 
     52ret_t cherokee_encoder_table_new_encoder       (cherokee_encoder_table_t *et, char *encoder, char *ext, cherokee_encoder_t **new_encoder); 
    5353 
    5454/* Encoder entry methods 
     
    5656ret_t cherokee_encoder_table_entry_new         (cherokee_encoder_table_entry_t **eentry); 
    5757ret_t cherokee_encoder_table_entry_free        (cherokee_encoder_table_entry_t  *eentry); 
    58 ret_t cherokee_encoder_table_entry_get_info    (cherokee_encoder_table_entry_t  *eentry, cherokee_module_info_t *info); 
     58ret_t cherokee_encoder_table_entry_get_info    (cherokee_encoder_table_entry_t  *eentry, cherokee_plugin_info_t *info); 
    5959 
    6060int   cherokee_encoder_entry_has_matching_list (cherokee_encoder_table_entry_t *eentry); 
  • cherokee/trunk/cherokee/handler.c

    r387 r476  
    3333 
    3434ret_t 
    35 cherokee_handler_init_base (cherokee_handler_t *hdl, void *conn, cherokee_module_props_t *props
     35cherokee_handler_init_base (cherokee_handler_t *hdl, void *conn, cherokee_handler_props_t *props, cherokee_plugin_info_handler_t *info
    3636{ 
    3737        /* Init the base class 
    3838         */ 
    39         cherokee_module_init_base (MODULE(hdl)); 
     39        cherokee_module_init_base (MODULE(hdl), MODULE_PROPS(props), PLUGIN_INFO(info)); 
    4040 
    4141        /* Pure virtual methods 
     
    4646        /* Parent reference 
    4747         */ 
    48         hdl->connection = conn; 
    49         hdl->props      = props; 
     48        hdl->connection    = conn; 
    5049 
    5150        return ret_ok; 
     
    130129 
    131130 
     131 
     132/* Handler properties methods 
     133 */ 
     134 
     135ret_t  
     136cherokee_handler_props_init_base (cherokee_handler_props_t *props, module_func_props_free_t free_func) 
     137{ 
     138        props->valid_methods = http_unknown; 
     139 
     140        return cherokee_module_props_init_base (MODULE_PROPS(props), free_func); 
     141} 
     142 
     143 
     144ret_t  
     145cherokee_handler_props_free_base (cherokee_handler_props_t *props) 
     146{ 
     147        return cherokee_module_props_free_base (MODULE_PROPS(props)); 
     148} 
  • cherokee/trunk/cherokee/handler.h

    r446 r476  
    6262typedef ret_t (* handler_func_step_t)        (void  *handler, cherokee_buffer_t *buffer); 
    6363typedef ret_t (* handler_func_add_headers_t) (void  *handler, cherokee_buffer_t *buffer); 
     64typedef ret_t (* handler_func_configure_t)   (cherokee_config_node_t *, cherokee_server_t *, cherokee_module_props_t **); 
     65 
    6466 
    6567/* Data types 
     
    6769typedef struct { 
    6870        cherokee_module_t           module; 
    69         cherokee_module_props_t    *props; 
    7071 
    7172        /* Pure virtual methods 
     
    9192#define HANDLER_SUPPORT_ERROR(h)           (HANDLER(h)->support & hsupport_error) 
    9293 
     94 
     95/* Module information 
     96 */ 
     97typedef struct { 
     98        cherokee_module_props_t  base; 
     99        cherokee_http_method_t   valid_methods; 
     100} cherokee_handler_props_t; 
     101 
     102#define HANDLER_PROPS(x)                   ((cherokee_handler_props_t *)(x)) 
     103 
     104 
     105/* Easy initialization 
     106 */ 
     107#define HANDLER_CONF_PROTOTYPE(name)                                \ 
     108        ret_t cherokee_handler_ ## name ## _configure (             \ 
     109                cherokee_config_node_t   *,                         \ 
     110                cherokee_server_t        *,                         \ 
     111                cherokee_module_props_t **) 
     112 
     113#define PLUGIN_INFO_HANDLER_EASY_INIT(name, methods)                \ 
     114        HANDLER_CONF_PROTOTYPE(name);                               \ 
     115                                                                    \ 
     116        PLUGIN_INFO_HANDLER_INIT(name, cherokee_handler,            \ 
     117                (void *)cherokee_handler_ ## name ## _new,          \ 
     118                (void *)cherokee_handler_ ## name ## _configure,    \ 
     119                methods)      
     120 
     121#define PLUGIN_INFO_HANDLER_EASIEST_INIT(name, methods)             \ 
     122        PLUGIN_EMPTY_INIT_FUNCTION(name)                            \ 
     123        PLUGIN_INFO_HANDLER_EASY_INIT(name, methods) 
     124 
     125 
    93126/* Handler methods 
    94127 */ 
    95 ret_t cherokee_handler_init_base   (cherokee_handler_t  *hdl, void *conn, cherokee_module_props_t *props); 
     128ret_t cherokee_handler_init_base   (cherokee_handler_t  *hdl, void *conn, cherokee_handler_props_t *props, cherokee_plugin_info_handler_t *info); 
    96129ret_t cherokee_handler_free_base   (cherokee_handler_t  *hdl); 
    97130 
     
    103136ret_t cherokee_handler_add_headers (cherokee_handler_t  *hdl, cherokee_buffer_t *buffer); 
    104137 
     138/* Handler properties methods 
     139 */ 
     140ret_t cherokee_handler_props_init_base  (cherokee_handler_props_t *props, module_func_props_free_t free_func); 
     141ret_t cherokee_handler_props_free_base  (cherokee_handler_props_t *props); 
    105142 
    106143CHEROKEE_END_DECLS 
  • cherokee/trunk/cherokee/handler_admin.c

    r387 r476  
    3434#define ERR_STR(x)  
    3535 
     36/* Plug-in initialization 
     37 */ 
     38PLUGIN_INFO_HANDLER_EASIEST_INIT (admin, http_get | http_post); 
    3639 
    37 static ret_t 
    38 cherokee_handler_admin_configure () 
     40 
     41/* Methods implementation 
     42 */ 
     43ret_t 
     44cherokee_handler_admin_configure (cherokee_config_node_t *conf, cherokee_server_t *srv, cherokee_module_props_t **_props) 
    3945{ 
    4046        return ret_ok; 
     
    4955        /* Init the base class object 
    5056         */ 
    51         cherokee_handler_init_base (HANDLER(n), cnt, props); 
     57        cherokee_handler_init_base (HANDLER(n), cnt, HANDLER_PROPS(props), PLUGIN_INFO_HANDLER_PTR(admin)); 
    5258 
    5359        MODULE(n)->init         = (handler_func_init_t) cherokee_handler_admin_init; 
    5460        MODULE(n)->free         = (module_func_free_t) cherokee_handler_admin_free; 
    55         MODULE(n)->get_name     = (module_func_get_name_t) cherokee_handler_admin_get_name; 
    5661        HANDLER(n)->step        = (handler_func_step_t) cherokee_handler_admin_step; 
    5762        HANDLER(n)->add_headers = (handler_func_add_headers_t) cherokee_handler_admin_add_headers;  
     
    186191        return ret_ok; 
    187192} 
    188  
    189 void   
    190 cherokee_handler_admin_get_name (cherokee_handler_admin_t *ahdl, const char **name) 
    191 { 
    192         *name = "admin"; 
    193 } 
    194  
    195  
    196 /* Library init function 
    197  */ 
    198 void 
    199 MODULE_INIT(admin) (cherokee_module_loader_t *loader) 
    200 { 
    201 } 
    202  
    203 HANDLER_MODULE_INFO_INIT_EASY (admin, http_get | http_post); 
  • cherokee/trunk/cherokee/handler_admin.h

    r387 r476  
    2727 
    2828#include "handler.h" 
    29 #include "module_loader.h" 
     29#include "plugin_loader.h" 
    3030 
    3131 
     
    4747/* Library init function 
    4848 */ 
    49 void MODULE_INIT(admi) (cherokee_module_loader_t *loader); 
     49void PLUGIN_INIT_NAME(admi) (cherokee_plugin_loader_t *loader); 
    5050ret_t cherokee_handler_admin_new (cherokee_handler_t **hdl, void *cnt, cherokee_module_props_t *props); 
    5151 
  • cherokee/trunk/cherokee/handler_cgi.c

    r446 r476  
    7171 
    7272 
     73/* Plugin initialization 
     74 */ 
     75PLUGIN_INFO_HANDLER_EASY_INIT (cgi, http_get | http_post | http_head); 
     76 
     77 
     78 
    7379static ret_t 
    7480read_from_cgi (cherokee_handler_cgi_base_t *cgi_base, cherokee_buffer_t *buffer) 
     
    108114 
    109115ret_t 
    110 cherokee_handler_cgi_new (cherokee_handler_t **hdl, void *cnt, cherokee_module_props_t *props) 
     116cherokee_handler_cgi_new (cherokee_handler_t **hdl, void *cnt, cherokee_module_props_t *props) 
    111117{ 
    112118        int i; 
     
    115121        /* Init the base class 
    116122         */ 
    117         cherokee_handler_cgi_base_init (HDL_CGI_BASE(n), cnt, props, cherokee_handler_cgi_add_env_pair, read_from_cgi); 
     123        cherokee_handler_cgi_base_init (HDL_CGI_BASE(n), cnt, PLUGIN_INFO_HANDLER_PTR(cgi),  
     124                                        HANDLER_PROPS(props), cherokee_handler_cgi_add_env_pair, read_from_cgi); 
    118125 
    119126        /* Virtual methods 
     
    268275                CHEROKEE_NEW_STRUCT (n, handler_cgi_props); 
    269276 
    270                 cherokee_module_props_init_base (MODULE_PROPS(n),  
    271                                                 MODULE_PROPS_FREE(cherokee_handler_cgi_props_free)); 
     277                cherokee_handler_cgi_base_props_init_base (PROP_CGI_BASE(n),  
     278                                                          MODULE_PROPS_FREE(cherokee_handler_cgi_props_free)); 
    272279                *_props = MODULE_PROPS(n); 
    273280        } 
     
    525532        /* Change the execution user? 
    526533         */ 
    527         if (HDL_CGI_BASE_PROPS(cgi_base)->change_user) { 
     534        if (HANDLER_CGI_PROPS(cgi_base)->change_user) { 
    528535                struct stat info; 
    529536                         
     
    764771/* Library init function 
    765772 */ 
    766  
    767773static cherokee_boolean_t _cgi_is_init = false; 
    768774 
     
    778784#endif 
    779785 
    780 void 
    781 MODULE_INIT(cgi) (cherokee_module_loader_t *loader) 
     786void   
     787PLUGIN_INIT_NAME(cgi) (cherokee_plugin_loader_t *loader) 
    782788{ 
    783789        if (_cgi_is_init) return; 
     
    789795} 
    790796 
    791  
    792 HANDLER_MODULE_INFO_INIT_EASY (cgi, http_get | http_post | http_head); 
  • cherokee/trunk/cherokee/handler_cgi.h

    r387 r476  
    3737#include "list.h" 
    3838#include "handler_cgi_base.h" 
    39 #include "module_loader.h" 
     39#include "plugin_loader.h" 
    4040 
    4141 
     
    6363} cherokee_handler_cgi_t; 
    6464 
    65 #define HDL_CGI(x)       ((cherokee_handler_cgi_t *)(x)) 
    66 #define PROP_CGI(x)      ((cherokee_handler_cgi_props_t *)(x)) 
    67 #define HDL_CGI_PROPS(x) (PROP_CGI(HANDLER(x)->props)) 
     65#define HDL_CGI(x)           ((cherokee_handler_cgi_t *)(x)) 
     66#define PROP_CGI(x)          ((cherokee_handler_cgi_props_t *)(x)) 
     67#define HANDLER_CGI_PROPS(x) (PROP_CGI (MODULE(x)->props)) 
    6868 
    6969 
    7070/* Library init function 
    7171 */ 
    72 void MODULE_INIT(cgi) (cherokee_module_loader_t *loader); 
     72void PLUGIN_INIT_NAME(cgi)            (cherokee_plugin_loader_t *loader); 
    7373 
    7474/* Methods 
  • cherokee/trunk/cherokee/handler_cgi_base.c

    r466 r476  
    4343cherokee_handler_cgi_base_init (cherokee_handler_cgi_base_t              *cgi,  
    4444                                cherokee_connection_t                    *conn, 
    45                                 cherokee_module_props_t                  *props, 
     45                                cherokee_plugin_info_handler_t           *info, 
     46                                cherokee_handler_props_t                 *props, 
    4647                                cherokee_handler_cgi_base_add_env_pair_t  add_env_pair, 
    4748                                cherokee_handler_cgi_base_read_from_cgi_t read_from_cgi) 
     
    5152        /* Init the base class object 
    5253         */ 
    53         cherokee_handler_init_base (HANDLER(cgi), conn, props); 
     54        cherokee_handler_init_base (HANDLER(cgi), conn, props, info); 
    5455 
    5556        /* Supported features 
     
    8384        /* Read the properties 
    8485         */ 
    85         if (HDL_CGI_BASE_PROPS(cgi)->is_error_handler) { 
     86        if (HANDLER_CGI_BASE_PROPS(cgi)->is_error_handler) { 
    8687                HANDLER(cgi)->support |= hsupport_error;                 
    8788        } 
     
    124125 
    125126ret_t  
     127cherokee_handler_cgi_base_props_init_base (cherokee_handler_cgi_base_props_t *props, module_func_props_free_t free_func) 
     128{ 
     129        return cherokee_handler_props_init_base (HANDLER_PROPS(props), free_func); 
     130} 
     131 
     132ret_t  
    126133cherokee_handler_cgi_base_props_free (cherokee_handler_cgi_base_props_t *props) 
    127134{ 
     
    134141        } 
    135142         
    136         return cherokee_module_props_free_base (MODULE_PROPS(props)); 
     143        return cherokee_handler_props_free_base (HANDLER_PROPS(props)); 
    137144} 
    138145 
     
    4144