aboutsummaryrefslogtreecommitdiff
path: root/src/cadet/gnunet-service-cadet.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2017-03-11 12:53:18 +0100
committerChristian Grothoff <christian@grothoff.org>2017-03-11 12:53:18 +0100
commitbcf3298c5eb79dd98bfc8ccf58793703aac70f49 (patch)
tree2bc59b82d74596c65b3caab68f6102da516dfc46 /src/cadet/gnunet-service-cadet.c
parentcd3d159df3150d46a6de7d39bcefb16f03ed5d3b (diff)
downloadgnunet-bcf3298c5eb79dd98bfc8ccf58793703aac70f49.tar.gz
gnunet-bcf3298c5eb79dd98bfc8ccf58793703aac70f49.zip
remove old CADET service code
Diffstat (limited to 'src/cadet/gnunet-service-cadet.c')
-rw-r--r--src/cadet/gnunet-service-cadet.c184
1 files changed, 0 insertions, 184 deletions
diff --git a/src/cadet/gnunet-service-cadet.c b/src/cadet/gnunet-service-cadet.c
deleted file mode 100644
index 3a07f0ee5..000000000
--- a/src/cadet/gnunet-service-cadet.c
+++ /dev/null
@@ -1,184 +0,0 @@
1/*
2 This file is part of GNUnet.
3 Copyright (C) 2001-2013 GNUnet e.V.
4
5 GNUnet is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published
7 by the Free Software Foundation; either version 3, or (at your
8 option) any later version.
9
10 GNUnet is distributed in the hope that it will be useful, but
11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with GNUnet; see the file COPYING. If not, write to the
17 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 Boston, MA 02110-1301, USA.
19*/
20
21/**
22 * @file cadet/gnunet-service-cadet.c
23 * @brief GNUnet CADET service with encryption
24 * @author Bartlomiej Polot
25 *
26 * FIXME in progress:
27 * - rekey - reliability interaction
28 * - channel retransmit timing
29 *
30 * TODO:
31 * - relay corking down to core
32 * - set ttl relative to path length
33 * TODO END
34 *
35 * Dictionary:
36 * - peer: other cadet instance. If there is direct connection it's a neighbor.
37 * - tunnel: encrypted connection to a peer, neighbor or not.
38 * - channel: connection between two clients, on the same or different peers.
39 * have properties like reliability.
40 * - path: series of directly connected peer from one peer to another.
41 * - connection: path which is being used in a tunnel.
42 */
43
44#include "platform.h"
45#include "gnunet_util_lib.h"
46#include "cadet.h"
47#include "gnunet_statistics_service.h"
48
49#include "gnunet-service-cadet_local.h"
50#include "gnunet-service-cadet_channel.h"
51#include "gnunet-service-cadet_connection.h"
52#include "gnunet-service-cadet_tunnel.h"
53#include "gnunet-service-cadet_dht.h"
54#include "gnunet-service-cadet_peer.h"
55#include "gnunet-service-cadet_hello.h"
56
57
58/******************************************************************************/
59/*********************** GLOBAL VARIABLES ****************************/
60/******************************************************************************/
61
62/****************************** Global variables ******************************/
63
64/**
65 * Handle to the statistics service.
66 */
67struct GNUNET_STATISTICS_Handle *stats;
68
69/**
70 * Local peer own ID (memory efficient handle).
71 */
72GNUNET_PEER_Id myid;
73
74/**
75 * Local peer own ID (full value).
76 */
77struct GNUNET_PeerIdentity my_full_id;
78
79
80/**
81 * Signal that shutdown is happening: prevent recover measures.
82 */
83int shutting_down;
84
85/*************************** Static global variables **************************/
86
87/**
88 * Own private key.
89 */
90static struct GNUNET_CRYPTO_EddsaPrivateKey *my_private_key;
91
92
93/******************************************************************************/
94/************************ MAIN FUNCTIONS ****************************/
95/******************************************************************************/
96
97/**
98 * Task run during shutdown.
99 *
100 * @param cls unused
101 */
102static void
103shutdown_task (void *cls)
104{
105 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "shutting down\n");
106
107 shutting_down = GNUNET_YES;
108
109 GML_shutdown ();
110 GCH_shutdown ();
111 GCC_shutdown ();
112 GCT_shutdown ();
113 GCD_shutdown ();
114 GCP_shutdown ();
115
116 GNUNET_STATISTICS_destroy (stats, GNUNET_NO);
117 stats = NULL;
118 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "shut down\n");
119}
120
121
122/**
123 * Process cadet requests.
124 *
125 * @param cls closure
126 * @param server the initialized server
127 * @param c configuration to use
128 */
129static void
130run (void *cls, struct GNUNET_SERVER_Handle *server,
131 const struct GNUNET_CONFIGURATION_Handle *c)
132{
133 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "starting to run\n");
134
135 stats = GNUNET_STATISTICS_create ("cadet", c);
136
137 /* Scheduled the task to clean up when shutdown is called */
138 GNUNET_SCHEDULER_add_shutdown (&shutdown_task,
139 NULL);
140 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "reading key\n");
141 my_private_key = GNUNET_CRYPTO_eddsa_key_create_from_configuration (c);
142 GNUNET_assert (NULL != my_private_key);
143 GNUNET_CRYPTO_eddsa_key_get_public (my_private_key, &my_full_id.public_key);
144 myid = GNUNET_PEER_intern (&my_full_id);
145 GNUNET_log (GNUNET_ERROR_TYPE_INFO,
146 "STARTING SERVICE (cadet) for peer [%s]\n",
147 GNUNET_i2s (&my_full_id));
148
149 GML_init (server); /* Local clients */
150 GCH_init (c); /* Hellos */
151 GCC_init (c); /* Connections */
152 GCP_init (c); /* Peers */
153 GCD_init (c); /* DHT */
154 GCT_init (c, my_private_key); /* Tunnels */
155
156 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Cadet service running\n");
157}
158
159
160/**
161 * The main function for the cadet service.
162 *
163 * @param argc number of arguments from the command line
164 * @param argv command line arguments
165 * @return 0 ok, 1 on error
166 */
167int
168main (int argc, char *const *argv)
169{
170 int r;
171
172 shutting_down = GNUNET_NO;
173 r = GNUNET_SERVICE_run (argc, argv, "cadet", GNUNET_SERVICE_OPTION_NONE, &run,
174 NULL);
175 GNUNET_free (my_private_key);
176
177 if (GNUNET_OK != r)
178 {
179 FPRINTF (stderr, "GNUNET_SERVICE_run for CADET has failed!\n");
180 return 1;
181 }
182
183 return 0;
184}