Fixed truncated character at GIT revision

This commit is contained in:
Stefan Ritt 2014-11-25 13:14:04 +01:00
parent f5fc7e7700
commit 9640fd9985

View File

@ -38,7 +38,7 @@
#include "elogd.h"
#include "git-revision.h"
const char *git_revision = GIT_REVISION;
const char *_git_revision = GIT_REVISION;
BOOL running_as_daemon; /* Running as a daemon/service? */
int elog_tcp_port; /* Server's TCP port */
@ -7182,11 +7182,21 @@ void set_cookie(LOGBOOK * lbs, char *name, char *value, BOOL global, char *expir
/*------------------------------------------------------------------*/
const char *git_revision()
{
const char *p = _git_revision;
if (strchr(p, '-'))
p = strchr(p, '-')+2;
return p;
}
/*------------------------------------------------------------------*/
void redirect(LOGBOOK * lbs, char *rel_path)
{
/* redirect */
rsprintf("HTTP/1.1 302 Found\r\n");
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision + 33);
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision());
if (keep_alive) {
rsprintf("Connection: Keep-Alive\r\n");
rsprintf("Keep-Alive: timeout=60, max=10\r\n");
@ -7422,7 +7432,7 @@ void show_http_header(LOGBOOK * lbs, BOOL expires, char *cookie)
char str[256];
rsprintf("HTTP/1.1 200 Document follows\r\n");
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision + 33);
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision());
if (getcfg("global", "charset", str, sizeof(str)))
rsprintf("Content-Type: text/html;charset=%s\r\n", str);
@ -7449,7 +7459,7 @@ void show_plain_header(int size, char *file_name)
{
/* header */
rsprintf("HTTP/1.1 200 Document follows\r\n");
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision + 33);
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision());
rsprintf("Accept-Ranges: bytes\r\n");
if (keep_alive) {
@ -8125,7 +8135,7 @@ void show_bottom_text(LOGBOOK * lbs)
/* add little logo */
rsprintf
("<center><a class=\"bottomlink\" title=\"%s\" href=\"https://midas.psi.ch/elog/\">ELOG V%s-%s</a></center>",
loc("Goto ELOG home page"), VERSION, git_revision + 33);
loc("Goto ELOG home page"), VERSION, git_revision());
}
/*------------------------------------------------------------------*/
@ -8179,7 +8189,7 @@ void show_bottom_text_login(LOGBOOK * lbs)
/* add little logo */
rsprintf
("<center><a class=\"bottomlink\" title=\"%s\" href=\"https://midas.psi.ch/elog/\">ELOG V%s-%s</a></center>",
loc("Goto ELOG home page"), VERSION, git_revision + 33);
loc("Goto ELOG home page"), VERSION, git_revision());
}
/*------------------------------------------------------------------*/
@ -8190,7 +8200,7 @@ void show_error(char *error)
/* header */
rsprintf("HTTP/1.1 404 Not Found\r\n");
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision + 33);
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision());
if (getcfg("global", "charset", str, sizeof(str)))
rsprintf("Content-Type: text/html;charset=%s\r\n", str);
else
@ -8258,7 +8268,7 @@ void set_sid_cookie(LOGBOOK * lbs, char *sid, char *full_name)
BOOL global;
rsprintf("HTTP/1.1 302 Found\r\n");
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision + 33);
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision());
if (keep_alive) {
rsprintf("Connection: Keep-Alive\r\n");
rsprintf("Keep-Alive: timeout=60, max=10\r\n");
@ -8302,7 +8312,7 @@ void remove_all_login_cookies(LOGBOOK * lbs)
int i;
rsprintf("HTTP/1.1 302 Found\r\n");
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision + 33);
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision());
if (keep_alive) {
rsprintf("Connection: Keep-Alive\r\n");
rsprintf("Keep-Alive: timeout=60, max=10\r\n");
@ -8346,7 +8356,7 @@ void send_file_direct(char *file_name)
lseek(fh, 0, SEEK_SET);
rsprintf("HTTP/1.1 200 Document follows\r\n");
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision + 33);
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision());
rsprintf("Accept-Ranges: bytes\r\n");
/* set expiration time to one day if no thumbnail */
@ -8684,7 +8694,7 @@ int build_subst_list(LOGBOOK * lbs, char list[][NAME_LENGTH], char value[][NAME_
strcpy(value[i++], VERSION);
strcpy(list[i], "revision");
sprintf(value[i++], "%s", git_revision + 33);
sprintf(value[i++], "%s", git_revision());
return i;
}
@ -15198,7 +15208,7 @@ int show_md5_page(LOGBOOK * lbs)
/* header */
rsprintf("HTTP/1.1 200 Document follows\r\n");
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision + 33);
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision());
rsprintf("Accept-Ranges: bytes\r\n");
rsprintf("Connection: close\r\n");
rsprintf("Content-Type: text/plain;charset=%s\r\n", DEFAULT_HTTP_CHARSET);
@ -19310,7 +19320,7 @@ void show_rss_feed(LOGBOOK * lbs)
struct tm *ts;
rsprintf("HTTP/1.1 200 Document follows\r\n");
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision + 33);
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision());
if (!getcfg("global", "charset", charset, sizeof(charset)))
strcpy(charset, DEFAULT_HTTP_CHARSET);
@ -26585,7 +26595,7 @@ void show_uploader_json(LOGBOOK *lbs)
const long MAX_FILE_COUNT = 100;
rsprintf("HTTP/1.1 200 Document follows\r\n");
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision + 33);
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision());
rsprintf("Accept-Ranges: bytes\r\n");
rsprintf("Pragma: no-cache\r\n");
rsprintf("Cache-control: private, max-age=0, no-cache, no-store\r\n");
@ -29072,7 +29082,7 @@ void server_loop(void)
/* about to entering the server loop, welcome user with a brief info */
eprintf("%s ", ELOGID);
strcpy(str, git_revision + 33);
strcpy(str, git_revision());
if (strchr(str, ' '))
*strchr(str, ' ') = 0;
eprintf("revision %s\n", str);
@ -29556,7 +29566,7 @@ void server_loop(void)
} else if (strstr(net_buffer, "HEAD") != NULL) {
/* just return header */
rsprintf("HTTP/1.1 200 OK\r\n");
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision + 33);
rsprintf("Server: ELOG HTTP %s-%s\r\n", VERSION, git_revision());
rsprintf("Connection: close\r\n");
rsprintf("Content-Type: text/html\r\n\r\n");
keep_alive = FALSE;