Disable the internal webserver at build time.

This commit is contained in:
Oliver Jowett 2016-07-10 11:56:31 +01:00
parent 9a10ef4886
commit e4ceea33da
5 changed files with 30 additions and 2 deletions

View file

@ -150,7 +150,9 @@ void modesInitConfig(void) {
Modes.net_output_sbs_ports = strdup("30003"); Modes.net_output_sbs_ports = strdup("30003");
Modes.net_input_beast_ports = strdup("30004,30104"); Modes.net_input_beast_ports = strdup("30004,30104");
Modes.net_output_beast_ports = strdup("30005"); Modes.net_output_beast_ports = strdup("30005");
#ifdef ENABLE_WEBSERVER
Modes.net_http_ports = strdup("8080"); Modes.net_http_ports = strdup("8080");
#endif
Modes.interactive_rows = getTermRows(); Modes.interactive_rows = getTermRows();
Modes.interactive_display_ttl = MODES_INTERACTIVE_DISPLAY_TTL; Modes.interactive_display_ttl = MODES_INTERACTIVE_DISPLAY_TTL;
Modes.html_dir = HTMLPATH; Modes.html_dir = HTMLPATH;
@ -680,7 +682,9 @@ void showHelp(void) {
"--modeac Enable decoding of SSR Modes 3/A & 3/C\n" "--modeac Enable decoding of SSR Modes 3/A & 3/C\n"
"--net-only Enable just networking, no RTL device or file used\n" "--net-only Enable just networking, no RTL device or file used\n"
"--net-bind-address <ip> IP address to bind to (default: Any; Use 127.0.0.1 for private)\n" "--net-bind-address <ip> IP address to bind to (default: Any; Use 127.0.0.1 for private)\n"
#ifdef ENABLE_WEBSERVER
"--net-http-port <ports> HTTP server ports (default: 8080)\n" "--net-http-port <ports> HTTP server ports (default: 8080)\n"
#endif
"--net-ri-port <ports> TCP raw input listen ports (default: 30001)\n" "--net-ri-port <ports> TCP raw input listen ports (default: 30001)\n"
"--net-ro-port <ports> TCP raw output listen ports (default: 30002)\n" "--net-ro-port <ports> TCP raw output listen ports (default: 30002)\n"
"--net-sbs-port <ports> TCP BaseStation output listen ports (default: 30003)\n" "--net-sbs-port <ports> TCP BaseStation output listen ports (default: 30003)\n"
@ -993,8 +997,14 @@ int main(int argc, char **argv) {
free(Modes.net_bind_address); free(Modes.net_bind_address);
Modes.net_bind_address = strdup(argv[++j]); Modes.net_bind_address = strdup(argv[++j]);
} else if (!strcmp(argv[j],"--net-http-port") && more) { } else if (!strcmp(argv[j],"--net-http-port") && more) {
#ifdef ENABLE_WEBSERVER
free(Modes.net_http_ports); free(Modes.net_http_ports);
Modes.net_http_ports = strdup(argv[++j]); Modes.net_http_ports = strdup(argv[++j]);
#else
if (strcmp(argv[++j], "0")) {
fprintf(stderr, "warning: --net-http-port not supported in this build, option ignored.\n");
}
#endif
} else if (!strcmp(argv[j],"--net-sbs-port") && more) { } else if (!strcmp(argv[j],"--net-sbs-port") && more) {
free(Modes.net_output_sbs_ports); free(Modes.net_output_sbs_ports);
Modes.net_output_sbs_ports = strdup(argv[++j]); Modes.net_output_sbs_ports = strdup(argv[++j]);

View file

@ -292,7 +292,9 @@ struct { // Internal state
char *net_output_sbs_ports; // List of SBS output TCP ports char *net_output_sbs_ports; // List of SBS output TCP ports
char *net_input_beast_ports; // List of Beast input TCP ports char *net_input_beast_ports; // List of Beast input TCP ports
char *net_output_beast_ports; // List of Beast output TCP ports char *net_output_beast_ports; // List of Beast output TCP ports
#ifdef ENABLE_WEBSERVER
char *net_http_ports; // List of HTTP ports char *net_http_ports; // List of HTTP ports
#endif
char *net_bind_address; // Bind address char *net_bind_address; // Bind address
int net_sndbuf_size; // TCP output buffer size (64Kb * 2^n) int net_sndbuf_size; // TCP output buffer size (64Kb * 2^n)
int net_verbatim; // if true, send the original message, not the CRC-corrected one int net_verbatim; // if true, send the original message, not the CRC-corrected one

View file

@ -69,7 +69,9 @@
static int decodeBinMessage(struct client *c, char *p); static int decodeBinMessage(struct client *c, char *p);
static int decodeHexMessage(struct client *c, char *hex); static int decodeHexMessage(struct client *c, char *hex);
#ifdef ENABLE_WEBSERVER
static int handleHTTPRequest(struct client *c, char *p); static int handleHTTPRequest(struct client *c, char *p);
#endif
static void send_raw_heartbeat(struct net_service *service); static void send_raw_heartbeat(struct net_service *service);
static void send_beast_heartbeat(struct net_service *service); static void send_beast_heartbeat(struct net_service *service);
@ -258,8 +260,10 @@ void modesInitNet(void) {
s = makeBeastInputService(); s = makeBeastInputService();
serviceListen(s, Modes.net_bind_address, Modes.net_input_beast_ports); serviceListen(s, Modes.net_bind_address, Modes.net_input_beast_ports);
#ifdef ENABLE_WEBSERVER
s = serviceInit("HTTP server", NULL, NULL, "\r\n\r\n", handleHTTPRequest); s = serviceInit("HTTP server", NULL, NULL, "\r\n\r\n", handleHTTPRequest);
serviceListen(s, Modes.net_bind_address, Modes.net_http_ports); serviceListen(s, Modes.net_bind_address, Modes.net_http_ports);
#endif
} }
// //
//========================================================================= //=========================================================================
@ -1083,9 +1087,11 @@ static char * appendStatsJson(char *p,
else p += snprintf(p, end-p, ",%u", st->remote_accepted[i]); else p += snprintf(p, end-p, ",%u", st->remote_accepted[i]);
} }
p += snprintf(p, end-p, "]"); p += snprintf(p, end-p, "]}");
p += snprintf(p, end-p, "},\"http_requests\":%u", st->http_requests); #ifdef ENABLE_WEBSERVER
p += snprintf(p, end-p, ",\"http_requests\":%u", st->http_requests);
#endif
} }
{ {
@ -1277,6 +1283,7 @@ void writeJsonToFile(const char *file, char * (*generator) (const char *,int*))
} }
#ifdef ENABLE_WEBSERVER
// //
//========================================================================= //=========================================================================
@ -1471,6 +1478,9 @@ static int handleHTTPRequest(struct client *c, char *p) {
Modes.stats_current.http_requests++; Modes.stats_current.http_requests++;
return !keepalive; return !keepalive;
} }
#endif
// //
//========================================================================= //=========================================================================
// //

View file

@ -155,8 +155,10 @@ void display_stats(struct stats *st) {
printf("%u unique aircraft tracks\n", st->unique_aircraft); printf("%u unique aircraft tracks\n", st->unique_aircraft);
printf("%u aircraft tracks where only one message was seen\n", st->single_message_aircraft); printf("%u aircraft tracks where only one message was seen\n", st->single_message_aircraft);
#ifdef ENABLE_WEBSERVER
if (Modes.net) if (Modes.net)
printf("%d HTTP requests\n", st->http_requests); printf("%d HTTP requests\n", st->http_requests);
#endif
{ {
uint64_t demod_cpu_millis = (uint64_t)st->demod_cpu.tv_sec*1000UL + st->demod_cpu.tv_nsec/1000000UL; uint64_t demod_cpu_millis = (uint64_t)st->demod_cpu.tv_sec*1000UL + st->demod_cpu.tv_nsec/1000000UL;
@ -307,8 +309,10 @@ void add_stats(const struct stats *st1, const struct stats *st2, struct stats *t
// total messages: // total messages:
target->messages_total = st1->messages_total + st2->messages_total; target->messages_total = st1->messages_total + st2->messages_total;
#ifdef ENABLE_WEBSERVER
// network: // network:
target->http_requests = st1->http_requests + st2->http_requests; target->http_requests = st1->http_requests + st2->http_requests;
#endif
// CPR decoding: // CPR decoding:
target->cpr_surface = st1->cpr_surface + st2->cpr_surface; target->cpr_surface = st1->cpr_surface + st2->cpr_surface;

View file

@ -95,8 +95,10 @@ struct stats {
// total messages: // total messages:
uint32_t messages_total; uint32_t messages_total;
#ifdef ENABLE_WEBSERVER
// network: // network:
uint32_t http_requests; uint32_t http_requests;
#endif
// CPR decoding: // CPR decoding:
unsigned int cpr_surface; unsigned int cpr_surface;