Changeset 1776

Show
Ignore:
Timestamp:
08/11/08 18:49:45 (3 months ago)
Author:
taher
Message:

--

Files:

Legend:

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

    r1773 r1776  
     12008-08-11  Taher Shihadeh <taher@unixwars.com> 
     2 
     3        * doc/config_virtual_servers.txt, doc/modules_balancers.txt, 
     4        doc/modules_handlers_admin.txt, doc/modules_handlers_cgi.txt, 
     5        doc/modules_handlers_fcgi.txt, doc/modules_handlers_mirror.txt, 
     6        doc/modules_handlers_scgi.txt, 
     7        doc/modules_handlers_server_info.txt, 
     8        doc/modules_loggers_combined.txt, doc/modules_loggers_ncsa.txt, 
     9        doc/modules_loggers.txt, doc/modules_loggers_w3c.txt, 
     10        doc/modules_validators_pam.txt, doc/modules_validators.txt, 
     11        doc/other_goodies.txt: several modifications and six new files 
     12        added. 
     13 
    1142008-08-08  Taher Shihadeh <taher@unixwars.com> 
    215 
  • cherokee/trunk/cherokee/handler.c

    r1131 r1776  
    5252 
    5353 
    54 /* Virtual method hidding layer 
     54/* Virtual method hiding layer 
    5555 */ 
    5656 
  • cherokee/trunk/cherokee/handler_server_info.c

    r1654 r1776  
    9797"</td></tr>"                                                                                        CRLF\ 
    9898"</table><br />"                                                                                    CRLF\ 
    99 "</div></body></html>"                                                                              
     99"</div></body></html>" 
    100100 
    101101 
     
    126126 
    127127                cherokee_module_props_init_base (MODULE_PROPS(n),  
    128                                                  MODULE_PROPS_FREE(props_free));                
     128                                                 MODULE_PROPS_FREE(props_free)); 
    129129                n->just_about         = false; 
    130130                n->connection_details = false; 
     
    196196        hours = elapse / (60*60); 
    197197        elapse %= (60*60); 
    198          
     198 
    199199        mins = elapse / 60; 
    200200        elapse %= 60; 
     
    212212                cherokee_buffer_add_va (tmp, "%d Seconds", elapse); 
    213213        } 
    214          
     214 
    215215        table_add_row_str (buf, "Uptime", tmp->buf); 
    216216        cherokee_buffer_free (tmp); 
     
    222222        size_t            rx, tx; 
    223223        cherokee_buffer_t tmp = CHEROKEE_BUF_INIT; 
    224          
     224 
    225225        cherokee_server_get_total_traffic (srv, &rx, &tx); 
    226         
     226 
    227227        cherokee_buffer_add_fsize (&tmp, tx); 
    228228        table_add_row_buf (buf, "Data sent", &tmp); 
     
    276276        cuint_t active    = 0; 
    277277        cuint_t reusable  = 0; 
    278          
     278 
    279279        cherokee_server_get_conns_num (srv, &conns_num); 
    280280        cherokee_server_get_active_conns (srv, &active); 
  • cherokee/trunk/cherokee/logger.c

    r1693 r1776  
    6666 
    6767 
    68 /* Virtual method hidding layer 
     68/* Virtual method hiding layer 
    6969 */ 
    7070ret_t 
     
    118118                return init_func (logger); 
    119119        } 
    120          
     120 
    121121        return ret_error; 
    122122} 
     
    133133                CHEROKEE_MUTEX_UNLOCK (&PRIV(logger)->mutex); 
    134134        } 
    135          
    136         return ret; 
    137 } 
    138  
    139  
    140 ret_t  
     135 
     136        return ret; 
     137} 
     138 
     139 
     140ret_t 
    141141cherokee_logger_write_error (cherokee_logger_t *logger, void *conn) 
    142142{ 
  • cherokee/trunk/cherokee/logger_ncsa.c

    r1131 r1776  
    7575        ret_t ret; 
    7676        CHEROKEE_NEW_STRUCT (n, logger_ncsa); 
    77          
     77 
    7878        /* Init the base class object 
    7979         */ 
     
    8282        MODULE(n)->init         = (logger_func_init_t) cherokee_logger_ncsa_init; 
    8383        MODULE(n)->free         = (logger_func_free_t) cherokee_logger_ncsa_free; 
    84          
     84 
    8585        LOGGER(n)->flush        = (logger_func_flush_t) cherokee_logger_ncsa_flush; 
    8686        LOGGER(n)->reopen       = (logger_func_reopen_t) cherokee_logger_ncsa_reopen; 
  • cherokee/trunk/doc/Makefile.am

    r1773 r1776  
    5757modules_handlers_redir.html \ 
    5858modules_handlers_cgi.html \ 
    59 modules_handlers_cgi.html \ 
     59modules_handlers_fcgi.html \ 
    6060modules_handlers_scgi.html \ 
     61modules_handlers_server_info.html \ 
     62modules_handlers_mirror.html \ 
     63modules_handlers_admin.html \ 
    6164modules_loggers.html \ 
    6265modules_loggers_combined.html \ 
  • cherokee/trunk/doc/TOC.txt

    r1773 r1776  
    7272    - link:modules_handlers_redir.html[Redirection] 
    7373    - link:modules_handlers_cgi.html[CGI] 
    74 //// 
    75     - FastCGI            [20]   link:modules_handlers_fcgi.html[] 
    76     - SCGI               [23]   link:modules_handlers_scgi.html[] 
    77     - Server Info               link:modules_handlers_server_info.html[] 
    78     - Generic balancer          link:modules_handlers_mirror.html[] 
    79     - Remote Administration     link:modules_handlers_admin.html[] 
     74    - link:modules_handlers_fcgi.html[FastCGI] 
     75    - link:modules_handlers_scgi.html[SCGI] 
     76    - link:modules_handlers_server_info.html[Server Info] 
     77    - link:modules_handlers_mirror.html[Generic balancer] 
     78    - link:modules_handlers_admin.html[Remote Administration] 
    8079  . link:modules_loggers.html[Loggers] 
    81     - combined           [16.1]        link:modules_loggers_combined.html[
    82     - ncsa               [16.2]        link:modules_loggers_ncsa.html[
    83     - w3c                [16.3]        link:modules_loggers_w3c.html[
     80    - link:modules_loggers_combined.html[Combined
     81    - link:modules_loggers_ncsa.html[Common (NCSA)
     82    - link:modules_loggers_w3c.html[w3c
    8483  . link:modules_validators.html[Validators] 
     84////// 
    8585    - htdigest           [7.2]  link:modules_validators_htdigest.html[htdigest] 
    8686    - htpasswd           [7.1]  link:modules_validators_htpasswd.html[htpasswd] 
    8787    - ldap               [7.1]  link:modules_validators_ldap.html[LDAP] 
    8888    - mysql              [7.3]  link:modules_validators_mysql.html[MySQL] 
    89     - pam                [7.4] link:modules_validators_pam.html[PAM] 
     89    - link:modules_validators_pam.html[PAM] 
    9090    - plain              [7.5]  link:modules_validators_plain.html[Plain] 
    91 //// 
     91////// 
    9292 
    9393********************************* 
  • cherokee/trunk/doc/config_virtual_servers.txt

    r1765 r1776  
    184184      rule, and more selections can be added in further steps. 
    185185 
    186 It is very important to know that these rules are prioritized, the 
     186It is very important to know that these rules are prioritized. The 
    187187higher its priority is, the sooner they are checked. You could 
    188188think of a network routing table, it is quite similar. You can set the 
    189189relative priorities among the rules by simply dragging and dropping 
    190 them in the desired position. 
     190them in the desired position (if you click on the rule name, you will be 
     191redirected to the rule's configuration options; if you click anywhere 
     192else, you will be able to drag and drop it into the desired position). 
    191193 
    192194image::media/images/admin_behaviour.png[Virtual server] 
  • cherokee/trunk/doc/modules_balancers.txt

    r1773 r1776  
    22------------------ 
    33 
    4 This type of Cherokee modules allow to balance the load among several 
    5 servers. Cherokee is completely modular, which means that the same 
    6 balancing strategies can be implemented both directly as first level 
     4These Cherokee modules allow to balance the load among several 
     5servers. Cherokee is completely modular, and thus a distinction must 
     6be made clear. 
     7 
     8Balancer modules only implement the balancing strategy. To actually 
     9use one of these strategies you will need to select a 
     10link:modules_handlers.html[handler] that makes use of balancers in the 
     11link:bundle_cherokee-admin.html[cherokee-admin] interface. Besides 
     12this, balancing strategies can be utilized both directly within first level 
    713Cherokee handlers and as second level subsystems used by other first 
    8 level handlers. 
    9  
    10 This is the case of the link:modules_handlers_fcgi.html[FastCGI] or 
     14level handlers. The link:modules_handlers_mirror.html[Generic 
     15balancer] handler is an example of the former, while the latter would 
     16be the case for the link:modules_handlers_fcgi.html[FastCGI] or 
    1117link:modules_handlers_scgi.html[SCGI] handlers that can offer load 
    1218balancing as well. 
    1319 
    14 The balancer modules are selected in 
    15 link:bundle_cherokee-admin.html[cherokee-admin] as `Generic balancing` 
    16 handlers, that can be chosen within the 
     20These handlers can be chosen within the 
    1721`Handler` tab of the link:config_virtual_servers_rule.html[Rule 
    1822Options] section. 
     
    4549 
    4650* link:modules_balancers_round_robin.html[Round Robin] 
     51 
     52And these are the handlers that use balancing: 
     53 
     54* link:modules_handlers_fcgi.html[FastCGI] 
     55* link:modules_handlers_scgi.html[SCGI] 
     56* link:modules_handlers_mirror.html[Generic balancer] 
  • cherokee/trunk/doc/modules_handlers_cgi.txt

    r1773 r1776  
    1818Change to UID         , String  , Executes each CGI under its owner's user ID. 
    1919Error handler         , Boolean , Use CGI output as error message. 
    20 Check file            , Boolean , Check if the file exists
     20Check file            , Boolean , Check whether the file exists to build PATH_INFO
    2121Pass request          , Boolean , Pass request headers. 
    2222Allow X-Sendfile      , Boolean , Use the non-standard X-Sendfile header. 
  • cherokee/trunk/doc/modules_handlers_fcgi.txt

    r1773 r1776  
    22---------------- 
    33 
    4 The fcgi handler queries to [FastCGI] servers, such as PHP, Ruby on 
    5 Rails or Django in order to get the request response. It is basically 
    6 the same thing as CGI but *much faster*. 
     4The fcgi handler makes queries to *FastCGI* servers, such as PHP, Ruby 
     5on Rails or Django in order to get the request response. FastCGI is 
     6scalable and language independent enhancement to CGI that provides 
     7high performance without limitations of server specific APIs and 
     8reduced overhead. It is basically the same thing as CGI but *much 
     9faster*. 
    710 
    8 This module accepts all the general link:modules_handlers_cgi.html[CGI] parameters. Aside,  
    9 it needs a balancer to be configured. It is the piece of configuration that 
     11This module accepts all the general 
     12link:modules_handlers_cgi.html[CGI] parameters. Aside, it needs a 
     13balancer to be configured. It is the piece of configuration that 
    1014points the handler where to find the FastCGI servers. 
    1115 
    1216For most of the cases there will be only one FastCGI server though. In 
    13 that scenario the way is to configure the handler to use a  
    14 link:../balancers/round_robin.html[Round Robin] balancer and configure  
     17that scenario the way to go would be to configure the handler to use a 
     18link:modules_balancers_round_robin.html[Round Robin] balancer and configure 
    1519a single host or interpreter (it has no performance penalty). 
    16  
    1720 
    1821 
    1922Parameters 
    2023~~~~~~~~~~ 
     24 
     25The options common to link:modules_handlers_cgi.html[CGI] are: 
     26 
    2127[grid="rows"] 
    22 ```~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    23 Parameters              , Type         , Description 
    24 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    25 Script Alias            , String       , It defines a kind of execution interpreter 
    26 Change to UID           , String       , It interprets each CGI as it owner user  
    27 Error handler           , Boolean      , Use CGI output as error message  
    28 Check file              , Boolean      , Checks whether the target exists for    \ 
    29                                          building the PATH_INFO 
    30 Pass request            , Boolean      , Pass the all the special headers of the \ 
    31                                          client request 
    32 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     28`~~~~~~~~~~~~~~~~`~~~~~~~~~~`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     29Parameters            , Type           , Description 
     30~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     31Script Alias          , String  , It defines a kind of execution interpreter. \ 
     32                                  The CGI will be run as a parameter of this \ 
     33                                  script. 
     34Change to UID         , String  , Executes each CGI under its owner's user ID. 
     35Error handler         , Boolean , Use CGI output as error message. 
     36Check file            , Boolean , Check whether the file exists to build PATH_INFO. 
     37Pass request          , Boolean , Pass request headers. 
     38Allow X-Sendfile      , Boolean , Use the non-standard X-Sendfile header. 
     39~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3340 
     41To setup the balancing options read the 
     42link:modules_balancers.html[Balancers] section for general information 
     43and the link:modules_balancers_round_robin.html[Round robin] section 
     44for specifics. 
    3445 
    3546Examples 
    3647~~~~~~~~ 
    37 This example shows a typical usage of FastCGI. It connects to a FastCGI server located  
    38 in localhost in port 8002. If no server is running, the webserver will run the FastCGI  
    39 server by issuing command defined in Interpreter sub-parameter: 
     48This example shows a typical usage of FastCGI. It connects to a 
     49FastCGI server located in localhost in port 8002. If no server is 
     50running, the webserver will run the FastCGI server by issuing the command 
     51defined as the *Interpreter* sub-parameter: 
    4052 
    4153image::media/images/admin_handler_fastcgi1.png[Fastcgi] 
    4254 
    43 This example shows a typical usage of multiple FastCGI servers. It connects to a  
    44 FastCGI servers located in several locations. If no server is running in the local  
    45 computer, the webserver will run the FastCGI server by issuing command defined in  
    46 Interpreter sub-parameter. Note that for remote FastCGI servers, you are responsible 
    47 to run the FastCGI servers there manually: 
     55This example shows a typical usage of multiple FastCGI servers. It 
     56connects to FastCGI servers located in several locations. If no 
     57server is running in the local computer, the webserver will run the 
     58FastCGI server by issuing the specified command. Note that for remote 
     59FastCGI servers, you are responsible to run the FastCGI servers there 
     60manually: 
    4861 
    4962image::media/images/admin_handler_fastcgi2.png[Fastcgi] 
     
    5871 
    5972If you define **PHP_FCGI_MAX_REQUESTS**, the value should be negative 
    60 so that PHP would take the request as much as possible. If you left it 
     73so that PHP would take as many requests as possible. If you leave it 
    6174unset, PHP will take the default value (500) and your 500th request 
    62 will be rejected and FCGI handler will spew Error 500 (Internal server 
    63 error) for it. 
     75will be rejected and the FCGI handler will return an Error 500 
     76(Internal server error) for it. 
    6477 
    6578 
     
    6780~~~~~~~~~~~~~~~~~~~ 
    6881 
    69  
    70 There a are two handler implementing the FastCGI protocol: "fcgi" and 
    71 "fastcgi". 
     82There a are two handlers currently  implementing the FastCGI protocol: 
     83"fcgi" and "fastcgi". 
    7284 
    7385The "fastcgi" module also implements the FastCGI protocol. It is a 
    7486more complete implementation than "fcgi" although it is also more 
    75 complex. Actually, fcgi become the standard choice because the PHP 
    76 interpreter was kind of buggy when it had to demultiplex multiple 
     87complex. Actually, fcgi became the standard choice because the PHP 
     88interpreter kind of buggy when it has to demultiplex multiple 
    7789requests from the same socket. 
    7890 
    79 The "fastcgi" handler will eventually become the default option. 
    80 However, at the moment "fcgi" is a better option. 
    81  
     91The "fastcgi" handler will eventually become the default option 
     92because it is faster and more standard-compliant. However, at the 
     93moment "fcgi" is a better option. 
  • cherokee/trunk/doc/modules_handlers_scgi.txt

    r1647 r1776  
    22------------- 
    33 
    4 The scgi handler allow Cherokee to communicate with SCGI programs. 
     4The `scgi handler` allows Cherokee to communicate with SCGI programs. 
     5The configuration parameters are exactly the same from the 
     6link:modules_handlers_fcgi.html[FastCGI], so check that section of the 
     7documentation if you want to set up this handler. 
     8 
     9The Simple Common Gateway Interface 
     10(link:http://python.ca/scgi/protocol.txt[SCGI]) protocol is a project 
     11to replace CGI and FastCGI with a simpler protocol to both implement 
     12and manage. 
     13 
     14In the end SCGI offers the same performance as FastCGI (and better 
     15than other methods), offers cross platform simultaneous support and is 
     16simple to install, run, and configure. 
     17 
     18It also supports simplified clustering on most POSIX systems for that 
     19extra boost in concurrency, but whether you use it or not will be 
     20mostly determined by your personal taste and experience. 
  • cherokee/trunk/doc/modules_loggers.txt

    r1773 r1776  
    1616* Execute program: send the log entry to the specified program. 
    1717 
    18 Cherokee currently supports the following loggers: 
     18The format of the output and fields that actually are logged are 
     19solely determined by the logger chosen. Cherokee currently supports 
     20the following loggers: 
    1921 
    2022* link:modules_loggers_combined.html[Combined]: Apache compatible. *Recommended*. 
  • cherokee/trunk/doc/modules_loggers_combined.txt

    r1647 r1776  
    1 Combined 
    2 ~~~~~~~~ 
     1Logger: Combined 
     2~~~~~~~~~~~~~~~~ 
    33 
    4 To be written 
     4This logger produces logfiles that conform to the _Combined Log 
     5Format_. It is commonly used by many programs, being the standard 
     6format used by Apache. This is a *de facto standard* and is the most 
     7widely used. As such, you are encouraged to use it. 
    58 
     9 
     10This format is exactly the same as the 
     11link:modules_loggers_ncsa.html[Common Log Format], with two extra 
     12fields. 
     13 
     14---- 
     15host rfc931 username date:time request statuscode bytes referrer user_agent 
     16---- 
     17 
     18Here is an example: 
     19 
     20**** 
     21::ffff:127.0.0.1 - - [11/Aug/2008:16:17:58 +0000] "GET /index.html HTTP/1.1" 200 2633 "-" "Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1" 
     22**** 
     23 
     24The description of the aditional fields follows. 
     25Refer to the link:modules_loggers_ncsa.html[Common Log 
     26Format]documentation for information about the rest of the fields. 
     27 
     28 
     29*referrer* ("-") :: 
     30This is the "Referer" HTTP request header. This indicates the URL 
     31which linked the user to your site (as reported by the client). In 
     32this case it is empty because no referer exists (i.e. it is a direct 
     33hit). 
     34 
     35 
     36*user_agent* ("Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1") :: 
     37The User-Agent HTTP request header. This is the information reported 
     38by the client about itself. 
  • cherokee/trunk/doc/modules_loggers_ncsa.txt

    r1647 r1776  
    11NCSA 
    22~~~~ 
     3Also known as the _Common log format_ (*CLF*). This is a standard 
     4format produced by many web servers and read by many log analysis 
     5tools. Some of the fields specified by the format might actually be 
     6missing if the information that should be logged is not present. These 
     7fields will simply be replaced by "hyphens" ("-"), which is the 
     8standard behavior. 
    39 
    4 To be written 
    510 
     11This log format contains only basic HTTP access information: the 
     12requested resource and a few other pieces of information, but does not 
     13contain referral, user agent, or cookie information. 
     14 
     15The fields in the Common log file format are: 
     16---- 
     17 host rfc1413 username date:time request statuscode bytes 
     18---- 
     19 
     20A log file produced by this logger will look more or less like this: 
     21 
     22**** 
     23::ffff:127.0.0.1 - - [11/Aug/2008:16:17:58 +0000] "GET /index.html HTTP/1.1" 200 2633 
     24**** 
     25 
     26Each field of this log entry is described below. 
     27 
     28 
     29*host* (::ffff:127.0.0.1)  :: 
     30This is the remote host's IP (the client IP) or host/subdomain. It 
     31corresponds to the address of the device requesting the 
     32information. If a proxy sever exists between the user and the server, 
     33this address will correspond to the proxy instead of the machine 
     34actually requesting data. 
     35 
     36 
     37*rfc1413* (-) :: 
     38Missing piece of information. In this case it is the RFC 1413 identity 
     39of the client determined by identd on the clients machine, which is 
     40highly unreliable and should not be trusted anyway. 
     41 
     42 
     43*user* (-) :: 
     44This is the username or UID of the person requesting the document as 
     45determined by HTTP authentication. Since the document is not password 
     46protected, it is not present in this case. If it is present, the value 
     47should not be trusted until the user is actually authenticated. 
     48 
     49 
     50*date:time timezone* ([11/Aug/2008:14:18:14 +0000]) :: 
     51The time when the server processed  the request. The format is: 
     52++++ 
     53[day/month/year:hour:minute:second zone] 
     54++++ 
     55+ 
     56- day = 2*digit 
     57- month = 3*letter 
     58- year = 4*digit 
     59- hour = 2*digit 
     60- minute = 2*digit 
     61- second = 2*digit 
     62- zone = (`+' | `-') 4*digit 
     63 
     64 
     65*request*"GET /index.html HTTP/1.1" :: 
     66The request from the client is given in double quotes, and contains 
     67the method used by the client (GET), the requested resource 
     68(/index.html) and the protocol (HTTP/1.1). 
     69 
     70 
     71200 :: 
     72Status code sent back to the client. In this case it indicates a 
     73successful response. The full list of possible status codes can be 
     74found in the HTTP specification 
     75(link:http://www.ietf.org/rfc/rfc2616.txt[RFC2616], section 10). 
     76 
     77 
     782633 :: 
     79The last entry is the size returned to the client excluding the 
     80response headers. This will be "-" if no content is returned. To log "0" for no content, use %B instead. 
  • cherokee/trunk/doc/modules_loggers_w3c.txt

    r1647 r1776  
    1 W3C 
    2 ~~~ 
     1Logger: W3C 
     2~~~~~~~~~~~ 
    33 
    4 To be written 
     4This logger produces logfiles conformant to the World Wide Web 
     5Consortium standard. This standard defines lines that may contain 
     6either a directive or an entry. 
    57 
     8. Entries contain fields relating to a single HTTP transaction, 
     9separated by white spaces. Unused  fields in any particular entry will 
     10simply be replace by hyphens ("-"). 
     11. Directives register information about the logging process. If a line 
     12starts with the '#' character, it contains a directive. The ones of 
     13interest for Cherokee are: 
     14+ 
     15---- 
     16Version: <integer>.<integer>:: 
     17 The version of the extended log file format used (1.0 in our case). 
     18Date:<date> <time>:: 
     19 The date and time at which the entry was added. 
     20Fields: [<specifier>...]:: 
     21 lists a sequence of field identifiers specifying the information recorded in each entry. 
     22---- 
     23 
     24An example of log file in this format is this: 
     25 
     26**** 
     27#Version: 1.0 
     28#Date: 11-Aug-2008 17:17:58 
     29#Fields: time cs-method cs-uri 
     3017:17:58 GET /index.html 
     31**** 
  • cherokee/trunk/doc/modules_validators.txt

    r1773 r1776  
    1212 
    1313Depending on the complexity of the mechanism you will have to provide 
    14 more or less information. Here is an example of a simple validator 
    15 interface: 
     14more or less information. 
     15 
     16You will always have to provide a *Relam*, which is a name to 
     17associate with the authenticated resource. 
     18You will also have permanently the option to provide a list of *allowed 
     19users*, regardless of the validator chosen. 
     20 
     21It is important to take into consideration that there are two different 
     22authentication mechanisms: 
     23 
     24    * Basic 
     25    * Digest 
     26 
     27Some can only handle one of those mechanisms because of techical 
     28limitations. In case the module supports both of them, the interface 
     29allows to choose whether one or both are to be used. 
     30 
     31Here is an interface example from a simple validator: 
    1632 
    1733image::media/images/admin_validators_pam.png[Validator PAM] 
     
    2945* link:modules_validators_plain.html[Plain] 
    3046 
     47When you set up an authentication mechanism you must remember this: 
     48define a rule, configure its *security* section, adjust the priority 
     49of this rule, and last, do not flag the rule as `Final` unless you are 
     50sure you don't want your request to match other rules. 
     51 
     52A frequent mistake is to define a rule for authenticated resources 
     53with no configured handler, mark it as `Final` and set it on top of 
     54the priority list. This might prompt for authentication, but being a 
     55`Final` rule will always deliver a failure because no handler copes 
     56with the request. 
  • cherokee/trunk/doc/modules_validators_pam.txt

    r1647 r1776  
    2020image::media/images/admin_validators_pam.png[Validator PAM] 
    2121 
    22 Requires a valid user and password system pair to access the protected  
    23 directory. It will be available for all local users. 
     22Requires a valid user and password system pair to access the protected 
     23directory. It will be available for all local users, unless a 
     24restriction list is provided. 
    2425 
    2526---- 
    26     vserver!default!directory!/secret! 
     27vserver!10!rule!500!auth = pam 
     28vserver!10!rule!500!auth!methods = basic 
     29vserver!10!rule!500!auth!realm = secret 
    2730---- 
  • cherokee/trunk/doc/other_goodies.txt

    r1774 r1776  
    33 
    44There are several important but mostly unknown features of Cherokee 
    5 that really do make a difference out in the wild, in a real production 
    6 environment. 
     5that really do make a difference in real-world production environments. 
    76 
    8  
     7[x-sendifle] 
    98X-Sendfile 
    109~~~~~~~~~~ 
     
    3332 
    3433 
     34[zero-downtime] 
    3535Zero Downtime Update 
    3636~~~~~~~~~~~~~~~~~~~~