aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2024-10-03 21:18:12 -0500
committerIan Moffett <ian@osmora.org>2024-10-03 21:18:12 -0500
commitfe5120087d24cdd07ef65d85f60eb11f4ae12cf2 (patch)
treec203c7dedfbaf7e4845a16ad865ac08dfbf4bd35
parent57e3f7558ea9aea8b1fbf13a1fa2690e6719ca7e (diff)
lib: auth: Keep track of username
Signed-off-by: Ian Moffett <ian@osmora.org>
-rw-r--r--lib/include/session.h2
-rw-r--r--lib/libostp/auth.c5
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/include/session.h b/lib/include/session.h
index 397fa68..39eb1bc 100644
--- a/lib/include/session.h
+++ b/lib/include/session.h
@@ -30,9 +30,11 @@
#ifndef LIBOSTP_SESSION_H_
#define LIBOSTP_SESSION_H_
+#include <ostp/net/stpsession.h>
#include <stdint.h>
struct ostp_session {
+ char username[MAX_USERNAME_LEN];
unsigned char *session_key;
int sockfd;
};
diff --git a/lib/libostp/auth.c b/lib/libostp/auth.c
index 5d69009..559e3b3 100644
--- a/lib/libostp/auth.c
+++ b/lib/libostp/auth.c
@@ -37,6 +37,7 @@
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
+#include <string.h>
struct session_td_args {
struct ostp_client *c;
@@ -79,6 +80,7 @@ passwd_auth(struct ostp_client *c, const unsigned char *session_key)
{
int error;
struct session_auth auth;
+ struct ostp_session *session;
const size_t LEN = sizeof(auth);
if (!REQUIRE_USER_AUTH) {
@@ -106,6 +108,9 @@ passwd_auth(struct ostp_client *c, const unsigned char *session_key)
printf("Failed to ACK user authentication with frame\n");
return error;
}
+
+ session = &c->session;
+ memcpy(session->username, auth.username, sizeof(auth.username));
return 0;
}