about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2009-07-25 11:40:25 +0200
committerLars Hjemli <hjemli@gmail.com>2009-07-25 11:41:06 +0200
commitfbe091a716447be496519ce439451d36d5b9fc24 (patch)
treec6560c6f2ab6b4760ac6eaecda1759321da2746e
parentReturn http statuscode 404 on unknown branch (diff)
parentuse cgit_httpscheme() for atom feed (diff)
downloadcgit-pink-fbe091a716447be496519ce439451d36d5b9fc24.tar.gz
cgit-pink-fbe091a716447be496519ce439451d36d5b9fc24.zip
Merge branch 'do/https'
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r--ui-atom.c6
-rw-r--r--ui-shared.c14
-rw-r--r--ui-shared.h1
3 files changed, 18 insertions, 3 deletions
diff --git a/ui-atom.c b/ui-atom.c
index a6ea3ee..e5c31d9 100644
--- a/ui-atom.c
+++ b/ui-atom.c
@@ -52,7 +52,8 @@ void add_entry(struct commit *commit, char *host)
 	cgit_print_date(info->author_date, FMT_ATOMDATE, ctx.cfg.local_time);
 	html("</published>\n");
 	if (host) {
-		html("<link rel='alternate' type='text/html' href='http://");
+		html("<link rel='alternate' type='text/html' href='");
+		html(cgit_httpscheme());
 		html_attr(host);
 		html_attr(cgit_pageurl(ctx.repo->url, "commit", NULL));
 		if (ctx.cfg.virtual_root)
@@ -113,7 +114,8 @@ void cgit_print_atom(char *tip, char *path, int max_count)
 	html_txt(ctx.repo->desc);
 	html("</subtitle>\n");
 	if (host) {
-		html("<link rel='alternate' type='text/html' href='http://");
+		html("<link rel='alternate' type='text/html' href='");
+		html(cgit_httpscheme());
 		html_attr(host);
 		html_attr(cgit_repourl(ctx.repo->url));
 		html("'/>\n");
diff --git a/ui-shared.c b/ui-shared.c
index 2630f23..29036d0 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -34,6 +34,17 @@ void cgit_print_error(char *msg)
 	html("</div>\n");
 }
 
+char *cgit_httpscheme()
+{
+	char *https;
+
+	https = getenv("HTTPS");
+	if (https != NULL && strcmp(https, "on") == 0)
+		return "https://";
+	else
+		return "http://";
+}
+
 char *cgit_hosturl()
 {
 	char *host, *port;
@@ -494,7 +505,8 @@ void cgit_print_docstart(struct cgit_context *ctx)
 		html("'/>\n");
 	}
 	if (host && ctx->repo) {
-		html("<link rel='alternate' title='Atom feed' href='http://");
+		html("<link rel='alternate' title='Atom feed' href='");
+		html(cgit_httpscheme());
 		html_attr(cgit_hosturl());
 		html_attr(cgit_fileurl(ctx->repo->url, "atom", ctx->qry.path,
 				       fmt("h=%s", ctx->qry.head)));
diff --git a/ui-shared.h b/ui-shared.h
index 5a3821f..bff4826 100644
--- a/ui-shared.h
+++ b/ui-shared.h
@@ -1,6 +1,7 @@
 #ifndef UI_SHARED_H
 #define UI_SHARED_H
 
+extern char *cgit_httpscheme();
 extern char *cgit_hosturl();
 extern char *cgit_repourl(const char *reponame);
 extern char *cgit_fileurl(const char *reponame, const char *pagename,