aboutsummaryrefslogtreecommitdiff
path: root/src/util/server.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2013-10-09 20:03:31 +0000
committerChristian Grothoff <christian@grothoff.org>2013-10-09 20:03:31 +0000
commitbc28ff95e287a6794890c75348075fa9bd7af2f7 (patch)
tree8311c91cfa435c7f0ecef9f27a277edc7ad99b96 /src/util/server.c
parent7e332f5e005af87032decb86ac0a4bfbcc915cdc (diff)
downloadgnunet-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.c16
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 */
394static void 394static void
395process_listen_socket (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) 395process_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 */
440static struct GNUNET_NETWORK_Handle * 442static 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;