Changeset 2059

Show
Ignore:
Timestamp:
01/18/2008 12:53:45 PM (4 months ago)
Author:
glen
Message:

- support letterhomes in mod_userdir (#1473)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/NEWS

    r2046 r2059  
    1414  * ssl.cipher-list and ssl.use-sslv2 ported from 1.4.x (#1422) 
    1515  * add IdleServers and Scoreboard directives in ?auto mode for mod_status (#1507) 
     16  * support letterhomes in mod_userdir (#1473) 
    1617 
    1718- 1.5.0-r19.. - 
  • trunk/src/mod_userdir.c

    r1466 r2059  
    2323        buffer *path; 
    2424        buffer *basepath; 
     25        unsigned short letterhomes; 
    2526} plugin_config; 
    2627 
     
    9192                { "userdir.include-user",       NULL, T_CONFIG_ARRAY,  T_CONFIG_SCOPE_CONNECTION },       /* 2 */ 
    9293                { "userdir.basepath",           NULL, T_CONFIG_STRING, T_CONFIG_SCOPE_CONNECTION },       /* 3 */ 
     94                { "userdir.letterhomes",        NULL, T_CONFIG_BOOLEAN,T_CONFIG_SCOPE_CONNECTION },       /* 4 */ 
    9395                { NULL,                         NULL, T_CONFIG_UNSET,  T_CONFIG_SCOPE_UNSET } 
    9496        }; 
     
    106108                s->path = buffer_init(); 
    107109                s->basepath = buffer_init(); 
     110                s->letterhomes = 0; 
    108111 
    109112                cv[0].destination = s->path; 
     
    111114                cv[2].destination = s->include_user; 
    112115                cv[3].destination = s->basepath; 
     116                cv[4].destination = &(s->letterhomes); 
    113117 
    114118                p->config_storage[i] = s; 
     
    130134        PATCH_OPTION(include_user); 
    131135        PATCH_OPTION(basepath); 
     136        PATCH_OPTION(letterhomes); 
    132137 
    133138        /* skip the first, the global context */ 
     
    151156                        } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("userdir.basepath"))) { 
    152157                                PATCH_OPTION(basepath); 
     158                        } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("userdir.letterhomes"))) { 
     159                                PATCH_OPTION(letterhomes); 
    153160                        } 
    154161                } 
     
    254261                buffer_copy_string_buffer(p->temp_path, p->conf.basepath); 
    255262                PATHNAME_APPEND_SLASH(p->temp_path); 
     263                if (p->conf.letterhomes) { 
     264                        buffer_append_string_len(p->temp_path, p->username->ptr, 1); 
     265                        PATHNAME_APPEND_SLASH(p->temp_path); 
     266                } 
    256267                buffer_append_string_buffer(p->temp_path, p->username); 
    257268        }