diff --git a/src/apps/relay/http_server.c b/src/apps/relay/http_server.c
index d731abc..2d47d32 100644
--- a/src/apps/relay/http_server.c
+++ b/src/apps/relay/http_server.c
@@ -312,6 +312,13 @@ void str_buffer_append_sz(struct str_buffer* sb, size_t sz)
str_buffer_append(sb,ssz);
}
+void str_buffer_append_sid(struct str_buffer* sb, turnsession_id sid)
+{
+ char ssz[129];
+ snprintf(ssz,sizeof(ssz)-1,"%018llu",(unsigned long long)sid);
+ str_buffer_append(sb,ssz);
+}
+
const char* str_buffer_get_str(const struct str_buffer *sb)
{
if(sb) {
diff --git a/src/apps/relay/http_server.h b/src/apps/relay/http_server.h
index ef40032..8bb3f26 100644
--- a/src/apps/relay/http_server.h
+++ b/src/apps/relay/http_server.h
@@ -73,6 +73,7 @@ struct str_buffer;
struct str_buffer* str_buffer_new(void);
void str_buffer_append(struct str_buffer* sb, const char* str);
void str_buffer_append_sz(struct str_buffer* sb, size_t sz);
+void str_buffer_append_sid(struct str_buffer* sb, turnsession_id sid);
const char* str_buffer_get_str(const struct str_buffer *sb);
size_t str_buffer_get_str_len(const struct str_buffer *sb);
void str_buffer_free(struct str_buffer *sb);
diff --git a/src/apps/relay/turn_admin_server.c b/src/apps/relay/turn_admin_server.c
index 7b8122d..f2150f1 100644
--- a/src/apps/relay/turn_admin_server.c
+++ b/src/apps/relay/turn_admin_server.c
@@ -1358,6 +1358,7 @@ enum _AS_FORM {
AS_FORM_HOME,
AS_FORM_TOGGLE,
AS_FORM_UPDATE,
+ AS_FORM_PS,
AS_FORM_UNKNOWN
};
@@ -1379,6 +1380,7 @@ static struct form_name form_names[] = {
{AS_FORM_HOME,"/home"},
{AS_FORM_TOGGLE,"/toggle"},
{AS_FORM_UPDATE,"/update"},
+ {AS_FORM_PS,"/ps"},
{AS_FORM_UNKNOWN,NULL}
};
@@ -1460,22 +1462,31 @@ static void write_https_home_page(ioa_socket_handle s)
str_buffer_append(sb,"
\r\n");
str_buffer_append(sb,logout_link);
+ str_buffer_append(sb,"