summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data.c13
-rw-r--r--html.c7
-rw-r--r--snac.h2
3 files changed, 20 insertions, 2 deletions
diff --git a/data.c b/data.c
index f9acfa0..de2f25b 100644
--- 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
index 48672dd..9850dfd 100644
--- 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
index 3096904..6477040 100644
--- 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);