From b0d9fd5a5c7bb93d69bb693dd630f097ab396322 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Tue, 27 May 2014 02:01:04 +0200 Subject: Port configurable --- ldadp.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'ldadp.c') diff --git a/ldadp.c b/ldadp.c index 00a3f05..c044a88 100644 --- a/ldadp.c +++ b/ldadp.c @@ -16,6 +16,8 @@ static void listen_callback(void *data, int haveIn, int haveOut, int doCleanup); static void loadConfig(char *file); +static int localPort = 1234; + int main(int argc, char **argv) { BOOL isdaemon = TRUE; @@ -30,6 +32,7 @@ int main(int argc, char **argv) argc--; } loadConfig(argv[1]); + if (localPort < 1 || localPort > 65535) bail("Invalid port given in config"); proxy_init(); char listen_addr[4] = {0, 0, 0, 0}; // Setup socket @@ -37,7 +40,7 @@ int main(int argc, char **argv) lsn.callback = &listen_callback; lsn.fd = socket_tcp4(); if (lsn.fd == -1) bail("Could not create listen socket"); - if (socket_bind4_reuse(lsn.fd, listen_addr, 1234) == -1) bail("Could not bind to listening port"); + if (socket_bind4_reuse(lsn.fd, listen_addr, localPort) == -1) bail("Could not bind to listening port"); if (socket_listen(lsn.fd, 10) == -1) bail("Could not listen"); // Setup epoll if (ePoll_init() == -1) bail("epoll_create failed"); @@ -87,6 +90,9 @@ static int loadConfig_handler(void *stuff, const char *section, const char *key, if (strcmp(key, "home") == 0 && *value != '\0') { server_setHomeTemplate(section, value); } + if (strcmp(key, "port") == 0) { + localPort = atoi(value); + } return 1; } -- cgit v1.2.3-55-g7522