mirror of
https://github.com/servalproject/serval-dna.git
synced 2024-12-20 05:37:57 +00:00
Configurable MOTD (Message of the Day) on HTTPD root page
Also improve root page HTML: change <br> to <br />
This commit is contained in:
parent
008dd6ab21
commit
e80cce72a0
@ -333,6 +333,7 @@ STRING(256, interface_path, "", str_nonempty,, "Path of director
|
|||||||
ATOM(bool_t, respawn_on_crash, 0, boolean,, "If true, server will exec(2) itself on fatal signals, eg SEGV")
|
ATOM(bool_t, respawn_on_crash, 0, boolean,, "If true, server will exec(2) itself on fatal signals, eg SEGV")
|
||||||
ATOM(uint32_t, config_reload_interval_ms, 1000, uint32_nonzero,, "Time interval between configuration reload polls, in milliseconds")
|
ATOM(uint32_t, config_reload_interval_ms, 1000, uint32_nonzero,, "Time interval between configuration reload polls, in milliseconds")
|
||||||
SUB_STRUCT(watchdog, watchdog,)
|
SUB_STRUCT(watchdog, watchdog,)
|
||||||
|
STRING(120, motd, "", str_nonempty,, "Message Of The Day displayed on HTTPD root page")
|
||||||
END_STRUCT
|
END_STRUCT
|
||||||
|
|
||||||
STRUCT(monitor)
|
STRUCT(monitor)
|
||||||
|
15
httpd.c
15
httpd.c
@ -437,19 +437,24 @@ static int root_page(httpd_request *r, const char *remainder)
|
|||||||
char temp[8192];
|
char temp[8192];
|
||||||
strbuf b = strbuf_local(temp, sizeof temp);
|
strbuf b = strbuf_local(temp, sizeof temp);
|
||||||
strbuf_sprintf(b, "<html><head><meta http-equiv=\"refresh\" content=\"5\" ></head><body>"
|
strbuf_sprintf(b, "<html><head><meta http-equiv=\"refresh\" content=\"5\" ></head><body>"
|
||||||
"<h1>Hello, I'm %s*</h1><br>"
|
"<h1>Hello, I'm %s*</h1>",
|
||||||
"Interfaces;<br>",
|
|
||||||
alloca_tohex_sid_t_trunc(my_subscriber->sid, 16));
|
alloca_tohex_sid_t_trunc(my_subscriber->sid, 16));
|
||||||
|
if (config.server.motd[0]) {
|
||||||
|
strbuf_puts(b, "<p>");
|
||||||
|
strbuf_html_escape(b, config.server.motd, strlen(config.server.motd));
|
||||||
|
strbuf_puts(b, "</p>");
|
||||||
|
}
|
||||||
|
strbuf_puts(b, "Interfaces;<br />");
|
||||||
int i;
|
int i;
|
||||||
for (i=0;i<OVERLAY_MAX_INTERFACES;i++){
|
for (i=0;i<OVERLAY_MAX_INTERFACES;i++){
|
||||||
if (overlay_interfaces[i].state==INTERFACE_STATE_UP)
|
if (overlay_interfaces[i].state==INTERFACE_STATE_UP)
|
||||||
strbuf_sprintf(b, "<a href=\"/interface/%d\">%d: %s, TX: %d, RX: %d</a><br>",
|
strbuf_sprintf(b, "<a href=\"/interface/%d\">%d: %s, TX: %d, RX: %d</a><br />",
|
||||||
i, i, overlay_interfaces[i].name, overlay_interfaces[i].tx_count, overlay_interfaces[i].recv_count);
|
i, i, overlay_interfaces[i].name, overlay_interfaces[i].tx_count, overlay_interfaces[i].recv_count);
|
||||||
}
|
}
|
||||||
strbuf_puts(b, "Neighbours;<br>");
|
strbuf_puts(b, "Neighbours;<br />");
|
||||||
link_neighbour_short_status_html(b, "/neighbour");
|
link_neighbour_short_status_html(b, "/neighbour");
|
||||||
if (is_rhizome_http_enabled()){
|
if (is_rhizome_http_enabled()){
|
||||||
strbuf_puts(b, "<a href=\"/rhizome/status\">Rhizome Status</a><br>");
|
strbuf_puts(b, "<a href=\"/rhizome/status\">Rhizome Status</a><br />");
|
||||||
}
|
}
|
||||||
strbuf_puts(b, "</body></html>");
|
strbuf_puts(b, "</body></html>");
|
||||||
if (strbuf_overrun(b)) {
|
if (strbuf_overrun(b)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user