From 6b8201cea01437c41e642ddd063ccb5c8a703d70 Mon Sep 17 00:00:00 2001 From: Nishi Date: Wed, 21 Aug 2024 00:44:17 +0000 Subject: [PATCH] adding login message git-svn-id: file:///raid/svn-personal/repoview/trunk@6 7e8b2a19-8934-dd40-8cb3-db22cdd5a80f --- CGI/auth/cookie.c | 8 ++++++-- CGI/main.c | 1 - CGI/page.c | 3 +++ CGI/paper.png | Bin 0 -> 8126 bytes CGI/theme/modern.c | 22 +++++++++++++++++++++- CGI/theme/optimized.c | 6 ------ config.h.tmpl | 7 ++++++- objs.c | 2 -- 8 files changed, 36 insertions(+), 13 deletions(-) create mode 100644 CGI/paper.png delete mode 100644 CGI/theme/optimized.c diff --git a/CGI/auth/cookie.c b/CGI/auth/cookie.c index c8240a6..45b9548 100644 --- a/CGI/auth/cookie.c +++ b/CGI/auth/cookie.c @@ -73,7 +73,11 @@ char* rv_logged_in(void) { int i; for(i = 0; cookie_entries[i] != NULL; i++) { if(strcmp(cookie_entries[i]->key, "token") == 0) { - return rv_who_has_token(cookie_entries[i]->value); + char* who = rv_who_has_token(cookie_entries[i]->value); + if(who == NULL) { + printf("Set-Cookie: token=; HttpOnly; Expires=0; SameSite=Strict\r\n"); + } + return who; break; } } @@ -82,7 +86,7 @@ char* rv_logged_in(void) { void rv_save_login(const char* username) { char* token = rv_new_token(username); - printf("Set-Cookie: token=%s; HttpOnly\r\n", token); + printf("Set-Cookie: token=%s; HttpOnly; SameSite=Strict\r\n", token); free(token); } diff --git a/CGI/main.c b/CGI/main.c index 39da12f..8cf9f8e 100644 --- a/CGI/main.c +++ b/CGI/main.c @@ -40,7 +40,6 @@ int main() { printf("Content-Type: text/html\r\n"); printf("\r\n"); rv_print_page(); - rv_logged_in(); rv_load_query('Q'); rv_free_query(); rv_load_query('P'); diff --git a/CGI/page.c b/CGI/page.c index c938e75..5e18532 100644 --- a/CGI/page.c +++ b/CGI/page.c @@ -4,6 +4,7 @@ #include "rv_query.h" #include "rv_util.h" +#include "rv_auth.h" #include "../config.h" @@ -11,6 +12,7 @@ #include char* buffer; +char* user; void render_page(void); @@ -23,6 +25,7 @@ void add_data(char** data, const char* txt) { void rv_process_page(void) { buffer = malloc(1); buffer[0] = 0; + user = rv_logged_in(); render_page(); } diff --git a/CGI/paper.png b/CGI/paper.png new file mode 100644 index 0000000000000000000000000000000000000000..06dbaa1e80135b4a09cc3c6eb80f35fa63dc6429 GIT binary patch literal 8126 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 to log in?\n"); + } } if(title == NULL) title = rv_strdup(""); @@ -109,7 +120,6 @@ char* escape(const char* str) { } void render_stuff(void) { - char* user = rv_logged_in(); char* escaped; add_data(&buffer, "\n"); add_data(&buffer, "\n"); @@ -147,6 +157,9 @@ void render_stuff(void) { add_data(&buffer, "}\n"); add_data(&buffer, "#nav {\n"); add_data(&buffer, " background-color: white;\n"); + add_data(&buffer, " background-image: url('"); + add_data(&buffer, INSTANCE_NAVBAR); + add_data(&buffer, "');\n"); add_data(&buffer, " height: 44px;\n"); add_data(&buffer, " padding: 8px;\n"); add_data(&buffer, " padding-left: 32px;\n"); @@ -232,6 +245,13 @@ void render_stuff(void) { add_data(&buffer, "/?page=login\">Login\n"); add_data(&buffer, " \n"); } + if(user != NULL) { + add_data(&buffer, ""); + } add_data(&buffer, " \n"); add_data(&buffer, "
\n"); add_data(&buffer, "
\n"); diff --git a/CGI/theme/optimized.c b/CGI/theme/optimized.c deleted file mode 100644 index 51622dc..0000000 --- a/CGI/theme/optimized.c +++ /dev/null @@ -1,6 +0,0 @@ -/* $Id$ */ - -extern char* buffer; -void add_data(char** data, const char* txt); - -void render_page(void) {} diff --git a/config.h.tmpl b/config.h.tmpl index 7e1cf05..2b89ecd 100644 --- a/config.h.tmpl +++ b/config.h.tmpl @@ -19,8 +19,13 @@ /* Instance Logo. */ #define INSTANCE_LOGO "/logo.png" +/* Image to be put in the navbar, for the modern theme. 940x60 should be good. */ +#define INSTANCE_NAVBAR "/paper.png" + +/* Navbar repeat, for the modern theme. */ +#define INSTANCE_REPEAT "resize-x" + /* Theme. */ -#undef USE_OPTIMIZED #define USE_MODERN /* Database type. */ diff --git a/objs.c b/objs.c index afeb2f3..ec4aee4 100644 --- a/objs.c +++ b/objs.c @@ -11,8 +11,6 @@ int main() { printf(" "); #if defined(USE_MODERN) printf("theme/modern.o"); -#elif defined(USE_OPTIMIZED) - printf("theme/optimized.o"); #endif printf(" "); #if defined(USE_COOKIE) -- 2.45.2