diff options
| -rw-r--r-- | ui-atom.c | 6 | ||||
| -rw-r--r-- | ui-shared.c | 14 | ||||
| -rw-r--r-- | ui-shared.h | 1 | 
3 files changed, 18 insertions, 3 deletions
| @@ -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, | 
