Hello all!

Today I tried to install mod_auth_digest (Apache 1.3.12).
Installed without any problems, but when I request scripts with parameters
in protected directory -
------------------------
Bad Request
requested URI /manager/script.asp not equals /manager/script.asp?param_1=23
------------------------
Or something like this.

I now that mod_auth_digest is experemental module, it is just bug report.

And another question.
I need to place homepages of one user's group on one site, and another group
on another.
mod_userdir does not allow to do this.
I found mod_userpath.c and change it slightly.
Script doesn't work, and I don't know where I can read documentation about
writing modules.
I know that there is www.modperl.com and O'Reilly book (I'm not too reach to
buy this book here - Russia), but may be you can tell me about another
resources ?

#include "httpd.h"
#include "http_config.h"

module userpath_module;

#define DEFAULT_USER_PATH "/usr/local/etc/httpd/htdocs/"


void *create_userpath_config (pool *dummy, server_rec *s)

    return (void*)DEFAULT_USER_PATH;
}

char *set_user_path (cmd_parms *cmd, void *dummy, char *arg)
{
    void *server_conf = cmd->server->module_config;

    ap_set_module_config (server_conf, &userpath_module,
                       ap_pstrdup (cmd->pool, arg));
    return NULL;
}

command_rec userpath_cmds[] = {
{ "UserPath", set_user_path, NULL, RSRC_CONF, TAKE1,
    "the directory which contains all user html directories or
'disabled'" },
{ NULL }
};

int translate_userpath (request_rec *r)
{
    void *server_conf = r->server->module_config;
    char *userpath = (char *)ap_get_module_config(server_conf,
&userpath_module)
;
    char *name = r->uri;

    if (userpath != NULL && strcasecmp(userpath, "disabled") != 0 &&
        name[0] == '/' && name[1] == '~')
    {
        char *w, *dname;

        dname = name + 2;
        w = ap_getword(r->pool, &dname, '/');

        r->filename = ap_pstrcat (r->pool, userpath, "/", w, "/public_html",
dna
me, NULL);

        return OK;
    }

    return DECLINED;
}

module userpath_module = {
   STANDARD_MODULE_STUFF,
   NULL,                        /* initializer */
   NULL,                        /* dir config creater */
   NULL,                        /* dir merger --- default is to override */
   create_userpath_config,      /* server config */
   NULL,                        /* merge server config */
   userpath_cmds,               /* command table */
   NULL,                        /* handlers */
   translate_userpath,          /* filename translation */
   NULL,                        /* check_user_id */
   NULL,                        /* check auth */
   NULL,                        /* check access */
   NULL,                        /* type_checker */
   NULL,                        /* fixups */
   NULL                         /* logger */
};

------------------------------------
Sergey Polyakov - Chief of WebZavod.
http://www.webzavod.ru

Reply via email to