snac2

Fork of https://codeberg.org/grunfink/snac2
git clone https://git.inz.fi/snac2
Log | Files | Refs | README | LICENSE

commit 1fe34ffb4a5b844bd32fd9146173366f09a32351
parent 7c00a9918a961b46c555d67b4c6d729f34e36cac
Author: default <nobody@localhost>
Date:   Wed,  5 Apr 2023 23:46:51 +0200

New function lastlog_write().

Diffstat:
Mdata.c | 13+++++++++++++
Mhtml.c | 7+++++--
Msnac.h | 2++
3 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/data.c b/data.c @@ -1366,6 +1366,19 @@ d_char *history_list(snac *snac) } +void lastlog_write(snac *snac) +/* writes the last time and date the user logged in */ +{ + xs *fn = xs_fmt("%s/lastlog.txt", snac->basedir); + FILE *f; + + if ((f = fopen(fn, "w")) != NULL) { + fprintf(f, "%lf\n", ftime()); + fclose(f); + } +} + + /** inbox collection **/ void inbox_add(const char *inbox) diff --git a/html.c b/html.c @@ -13,11 +13,11 @@ #include "snac.h" -int login(snac *snac, char *headers) +int login(snac *snac, const xs_dict *headers) /* tries a login */ { int logged_in = 0; - char *auth = xs_dict_get(headers, "authorization"); + const char *auth = xs_dict_get(headers, "authorization"); if (auth && xs_startswith(auth, "Basic ")) { int sz; @@ -33,6 +33,9 @@ int login(snac *snac, char *headers) } } + if (logged_in) + lastlog_write(snac); + return logged_in; } diff --git a/snac.h b/snac.h @@ -132,6 +132,8 @@ d_char *history_get(snac *snac, char *id); int history_del(snac *snac, char *id); d_char *history_list(snac *snac); +void lastlog_write(snac *snac); + void inbox_add(const char *inbox); void inbox_add_by_actor(const xs_dict *actor); xs_list *inbox_list(void);