/* darkstat 3
- * copyright (c) 2001-2011 Emil Mikulic.
+ * copyright (c) 2001-2014 Emil Mikulic.
*
* hosts_db.c: database of hosts, ports, protocols.
*
#include "opt.h"
#include "str.h"
-#include <netdb.h> /* struct addrinfo */
+#include <netdb.h> /* struct addrinfo */
#include <assert.h>
#include <errno.h>
#include <stdio.h>
" <td class=\"num\">%'qu</td>\n"
" <td class=\"num\">%'qu</td>\n"
" <td class=\"num\">%'qu</td>\n",
- b->in, b->out, b->total);
+ (qu)b->in,
+ (qu)b->out,
+ (qu)b->total);
if (opt_want_lastseen) {
- long last = b->u.host.last_seen_mono;
+ time_t last = b->u.host.last_seen_mono;
struct str *last_str = NULL;
if ((now_mono() >= last) && (last > 0))
if (last == 0)
str_append(buf, "(never)");
else
- str_append(buf, "(clock error)");
+ str_appendf(buf, "(clock error: now = %qu, last = %qu)",
+ (qu)now_mono(),
+ (qu)last);
} else {
str_appendstr(buf, last_str);
str_free(last_str);
" <td class=\"num\">%'qu</td>\n"
"</tr>\n",
css_class,
- p->port, getservtcp(p->port), b->in, b->out, b->total, p->syn
+ p->port,
+ getservtcp(p->port),
+ (qu)b->in,
+ (qu)b->out,
+ (qu)b->total,
+ (qu)p->syn
);
}
" <td class=\"num\">%'qu</td>\n"
"</tr>\n",
css_class,
- p->port, getservudp(p->port), b->in, b->out, b->total
+ p->port,
+ getservudp(p->port),
+ (qu)b->in,
+ (qu)b->out,
+ (qu)b->total
);
}
" <td class=\"num\">%'qu</td>\n"
"</tr>\n",
css_class,
- p->proto, getproto(p->proto),
- b->in, b->out, b->total
+ p->proto,
+ getproto(p->proto),
+ (qu)b->in,
+ (qu)b->out,
+ (qu)b->total
);
}
struct str *buf, *ls_len;
char ls_when[100];
const char *canonical;
- time_t last_real;
+ time_t last_seen_real;
h = host_search(ip);
if (h == NULL)
"<p>\n"
"<b>Last seen:</b> ");
- last_real = mono_to_real(h->u.host.last_seen_mono);
+ last_seen_real = mono_to_real(h->u.host.last_seen_mono);
if (strftime(ls_when, sizeof(ls_when),
- "%Y-%m-%d %H:%M:%S %Z%z", localtime(&last_real)) != 0)
+ "%Y-%m-%d %H:%M:%S %Z%z", localtime(&last_seen_real)) != 0)
str_append(buf, ls_when);
if (h->u.host.last_seen_mono <= now_mono()) {
" <b>Out:</b> %'qu<br>\n"
" <b>Total:</b> %'qu<br>\n"
"</p>\n",
- h->in, h->out, h->total);
+ (qu)h->in,
+ (qu)h->out,
+ (qu)h->total);
str_append(buf, "<h3>TCP ports</h3>\n");
format_table(buf, h->u.host.ports_tcp, 0,TOTAL,0);