diff options
author | Christian Grothoff <christian@grothoff.org> | 2013-10-09 20:03:31 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2013-10-09 20:03:31 +0000 |
commit | bc28ff95e287a6794890c75348075fa9bd7af2f7 (patch) | |
tree | 8311c91cfa435c7f0ecef9f27a277edc7ad99b96 /src/util/server.c | |
parent | 7e332f5e005af87032decb86ac0a4bfbcc915cdc (diff) | |
download | gnunet-bc28ff95e287a6794890c75348075fa9bd7af2f7.tar.gz gnunet-bc28ff95e287a6794890c75348075fa9bd7af2f7.zip |
changing UNIX domain socket access control to file permissions checks, instead of UDS credentials (#2887)
Diffstat (limited to 'src/util/server.c')
-rw-r--r-- | src/util/server.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/util/server.c b/src/util/server.c index 40e7c9f48..8a36877dd 100644 --- a/src/util/server.c +++ b/src/util/server.c | |||
@@ -392,7 +392,8 @@ GNUNET_SERVER_client_set_user_context_ (struct GNUNET_SERVER_Client *client, | |||
392 | * @param tc reason why we are running right now | 392 | * @param tc reason why we are running right now |
393 | */ | 393 | */ |
394 | static void | 394 | static void |
395 | process_listen_socket (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 395 | process_listen_socket (void *cls, |
396 | const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
396 | { | 397 | { |
397 | struct GNUNET_SERVER_Handle *server = cls; | 398 | struct GNUNET_SERVER_Handle *server = cls; |
398 | struct GNUNET_CONNECTION_Handle *sock; | 399 | struct GNUNET_CONNECTION_Handle *sock; |
@@ -417,7 +418,8 @@ process_listen_socket (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
417 | server->listen_sockets[i]); | 418 | server->listen_sockets[i]); |
418 | if (NULL != sock) | 419 | if (NULL != sock) |
419 | { | 420 | { |
420 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Server accepted incoming connection.\n"); | 421 | LOG (GNUNET_ERROR_TYPE_DEBUG, |
422 | "Server accepted incoming connection.\n"); | ||
421 | client = GNUNET_SERVER_connect_socket (server, sock); | 423 | client = GNUNET_SERVER_connect_socket (server, sock); |
422 | /* decrement reference count, we don't keep "client" alive */ | 424 | /* decrement reference count, we don't keep "client" alive */ |
423 | GNUNET_SERVER_client_drop (client); | 425 | GNUNET_SERVER_client_drop (client); |
@@ -434,7 +436,7 @@ process_listen_socket (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
434 | * Create and initialize a listen socket for the server. | 436 | * Create and initialize a listen socket for the server. |
435 | * | 437 | * |
436 | * @param server_addr address to listen on | 438 | * @param server_addr address to listen on |
437 | * @param socklen length of address | 439 | * @param socklen length of @a server_addr |
438 | * @return NULL on error, otherwise the listen socket | 440 | * @return NULL on error, otherwise the listen socket |
439 | */ | 441 | */ |
440 | static struct GNUNET_NETWORK_Handle * | 442 | static struct GNUNET_NETWORK_Handle * |
@@ -543,7 +545,7 @@ GNUNET_SERVER_create_with_sockets (GNUNET_CONNECTION_AccessCheck access, | |||
543 | { | 545 | { |
544 | struct GNUNET_SERVER_Handle *server; | 546 | struct GNUNET_SERVER_Handle *server; |
545 | 547 | ||
546 | server = GNUNET_malloc (sizeof (struct GNUNET_SERVER_Handle)); | 548 | server = GNUNET_new (struct GNUNET_SERVER_Handle); |
547 | server->idle_timeout = idle_timeout; | 549 | server->idle_timeout = idle_timeout; |
548 | server->listen_sockets = lsocks; | 550 | server->listen_sockets = lsocks; |
549 | server->access = access; | 551 | server->access = access; |
@@ -843,7 +845,7 @@ GNUNET_SERVER_add_handlers (struct GNUNET_SERVER_Handle *server, | |||
843 | { | 845 | { |
844 | struct HandlerList *p; | 846 | struct HandlerList *p; |
845 | 847 | ||
846 | p = GNUNET_malloc (sizeof (struct HandlerList)); | 848 | p = GNUNET_new (struct HandlerList); |
847 | p->handlers = handlers; | 849 | p->handlers = handlers; |
848 | p->next = server->handlers; | 850 | p->next = server->handlers; |
849 | server->handlers = p; | 851 | server->handlers = p; |
@@ -977,7 +979,7 @@ GNUNET_SERVER_inject (struct GNUNET_SERVER_Handle *server, | |||
977 | (GNUNET_SCHEDULER_NO_TASK == sender->warn_task) ) | 979 | (GNUNET_SCHEDULER_NO_TASK == sender->warn_task) ) |
978 | { | 980 | { |
979 | GNUNET_break (0 != type); /* type should never be 0 here, as we don't use 0 */ | 981 | GNUNET_break (0 != type); /* type should never be 0 here, as we don't use 0 */ |
980 | sender->warn_start = GNUNET_TIME_absolute_get (); | 982 | sender->warn_start = GNUNET_TIME_absolute_get (); |
981 | sender->warn_task = | 983 | sender->warn_task = |
982 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_MINUTES, | 984 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_MINUTES, |
983 | &warn_no_receive_done, sender); | 985 | &warn_no_receive_done, sender); |
@@ -1235,7 +1237,7 @@ GNUNET_SERVER_connect_socket (struct GNUNET_SERVER_Handle *server, | |||
1235 | struct GNUNET_SERVER_Client *client; | 1237 | struct GNUNET_SERVER_Client *client; |
1236 | struct NotifyList *n; | 1238 | struct NotifyList *n; |
1237 | 1239 | ||
1238 | client = GNUNET_malloc (sizeof (struct GNUNET_SERVER_Client)); | 1240 | client = GNUNET_new (struct GNUNET_SERVER_Client); |
1239 | client->connection = connection; | 1241 | client->connection = connection; |
1240 | client->reference_count = 1; | 1242 | client->reference_count = 1; |
1241 | client->server = server; | 1243 | client->server = server; |