X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/a45030f8ee10bc97ffcf1bf0061a2e6f22c7252a..a431326e8fab8153905fbde036dd3c9fb4cc8eaa:/ui-shared.c?ds=inline diff --git a/ui-shared.c b/ui-shared.c index abe15cd..0838e18 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -73,6 +73,14 @@ const char *cgit_rooturl() return ctx.cfg.script_name; } +const char *cgit_loginurl() +{ + static const char *login_url = 0; + if (!login_url) + login_url = fmtalloc("%s?p=login", cgit_rooturl()); + return login_url; +} + char *cgit_repourl(const char *reponame) { if (ctx.cfg.virtual_root) @@ -641,6 +649,8 @@ void cgit_print_http_headers(struct cgit_context *ctx) if (ctx->page.filename) htmlf("Content-Disposition: inline; filename=\"%s\"\n", ctx->page.filename); + if (!ctx->env.authenticated) + html("Cache-Control: no-cache, no-store\n"); htmlf("Last-Modified: %s\n", http_date(ctx->page.modified)); htmlf("Expires: %s\n", http_date(ctx->page.expires)); if (ctx->page.etag) @@ -814,14 +824,16 @@ static void print_header(struct cgit_context *ctx) cgit_index_link("index", NULL, NULL, NULL, NULL, 0); html(" : "); cgit_summary_link(ctx->repo->name, ctx->repo->name, NULL, NULL); - html("
| \n"); - if (ctx->repo) { + if (ctx->env.authenticated && ctx->repo) { cgit_summary_link("summary", NULL, hc(ctx, "summary"), ctx->qry.head); cgit_refs_link("refs", NULL, hc(ctx, "refs"), ctx->qry.head, @@ -886,7 +898,7 @@ void cgit_print_pageheader(struct cgit_context *ctx) html("'/>\n"); html("\n"); html("\n"); - } else { + } else if (ctx->env.authenticated) { site_link(NULL, "index", NULL, hc(ctx, "repolist"), NULL, NULL, 0); if (ctx->cfg.root_readme) site_link("about", "about", NULL, hc(ctx, "about"), @@ -902,7 +914,7 @@ void cgit_print_pageheader(struct cgit_context *ctx) html(""); } html(" |