]> gitweb.ps.run Git - ps-cgit/commitdiff
Merge branch 'stable'
authorLars Hjemli <hjemli@gmail.com>
Mon, 23 May 2011 21:26:10 +0000 (23:26 +0200)
committerLars Hjemli <hjemli@gmail.com>
Mon, 23 May 2011 21:26:10 +0000 (23:26 +0200)
1  2 
cgit.c

diff --combined cgit.c
index 349d6e035cd05130579ba4feb763b805f095116d,e498030b4dd7d83043cadb1a57ce12000b949755..eb964ac082f3be22305915040269c57715e0a88d
--- 1/cgit.c
--- 2/cgit.c
+++ b/cgit.c
@@@ -147,8 -147,6 +147,8 @@@ void config_cb(const char *name, const 
                ctx.cfg.enable_filter_overrides = atoi(value);
        else if (!strcmp(name, "enable-gitweb-owner"))
                ctx.cfg.enable_gitweb_owner = atoi(value);
 +      else if (!strcmp(name, "enable-http-clone"))
 +              ctx.cfg.enable_http_clone = atoi(value);
        else if (!strcmp(name, "enable-index-links"))
                ctx.cfg.enable_index_links = atoi(value);
        else if (!strcmp(name, "enable-commit-graph"))
@@@ -314,7 -312,6 +314,7 @@@ static void prepare_context(struct cgit
        ctx->cfg.logo = "/cgit.png";
        ctx->cfg.local_time = 0;
        ctx->cfg.enable_gitweb_owner = 1;
 +      ctx->cfg.enable_http_clone = 1;
        ctx->cfg.enable_tree_linenumbers = 1;
        ctx->cfg.max_repo_count = 50;
        ctx->cfg.max_commit_count = 50;
@@@ -442,7 -439,7 +442,7 @@@ static int prepare_repo_cmd(struct cgit
                tmp = xstrdup(ctx->qry.head);
                ctx->qry.head = ctx->repo->defbranch;
                ctx->page.status = 404;
 -              ctx->page.statusmsg = "not found";
 +              ctx->page.statusmsg = "Not found";
                cgit_print_http_headers(ctx);
                cgit_print_docstart(ctx);
                cgit_print_pageheader(ctx);
@@@ -461,8 -458,6 +461,8 @@@ static void process_request(void *cbdat
        cmd = cgit_get_cmd(ctx);
        if (!cmd) {
                ctx->page.title = "cgit error";
 +              ctx->page.status = 404;
 +              ctx->page.statusmsg = "Not found";
                cgit_print_http_headers(ctx);
                cgit_print_docstart(ctx);
                cgit_print_pageheader(ctx);
                return;
        }
  
 +      if (!ctx->cfg.enable_http_clone && cmd->is_clone) {
 +              html_status(404, "Not found", 0);
 +              return;
 +      }
 +
        /* If cmd->want_vpath is set, assume ctx->qry.path contains a "virtual"
         * in-project path limit to be made available at ctx->qry.vpath.
         * Otherwise, no path limit is in effect (ctx->qry.vpath = NULL).
@@@ -767,8 -757,11 +767,11 @@@ int main(int argc, const char **argv
         * that virtual-root equals SCRIPT_NAME, minus any possibly
         * trailing slashes.
         */
-       if (!ctx.cfg.virtual_root)
+       if (!ctx.cfg.virtual_root && ctx.cfg.script_name) {
                ctx.cfg.virtual_root = trim_end(ctx.cfg.script_name, '/');
+               if (!ctx.cfg.virtual_root)
+                       ctx.cfg.virtual_root = "";
+         }
  
        /* If no url parameter is specified on the querystring, lets
         * use PATH_INFO as url. This allows cgit to work with virtual