Skip to content

Commit 7408f24

Browse files
committed
Fix missing files from last commit.
1 parent 10d003a commit 7408f24

3 files changed

Lines changed: 31 additions & 48 deletions

File tree

src/config.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,6 @@ void http_user_var_insert(struct http_user_vars_s *vars, const char *var,
249249

250250
vars->vars[vars->size].var = strdup(var);
251251
vars->vars[vars->size].val = strdup(val);
252-
fprintf(stderr, "added %s = %s\n", var, val);
253252
if (vars->vars[vars->size].var == NULL ||
254253
vars->vars[vars->size].val == NULL)
255254
{

src/config.h

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,16 @@
2424

2525
#include "cfg.h"
2626
#include "http_server.h"
27-
#include "log.h"
2827
#include "packet_protocol.h"
2928

29+
#ifdef CLIENT
30+
#include "log.h"
3031
#define CONFIG_FILENAME PROGRAM_NAME ".config"
32+
#endif
33+
34+
#ifdef SERVER
35+
#define CONFIG_FILENAME "/etc/reqryptd/reqrypt.conf"
36+
#endif
3137

3238
typedef uint8_t config_enum_t;
3339

@@ -92,6 +98,7 @@ typedef config_enum_t config_frag_t;
9298
*/
9399
struct config_s
94100
{
101+
#ifdef CLIENT
95102
bool enabled; // Is circumvention enabled?
96103
bool hide_tcp; // Hide TCP packets?
97104
bool hide_tcp_data; // Hide TCP data packets?
@@ -116,6 +123,12 @@ struct config_s
116123
proto_t udp_proto; // UDP protocol handler.
117124
uint16_t mtu; // MTU for tunnelled packets.
118125
bool launch_ui; // Auto-launch the UI on startup.
126+
#endif
127+
128+
#ifdef SERVER
129+
uint8_t threads; // Number of threads.
130+
uint32_t kb_per_sec; // Rate limit.
131+
#endif
119132
};
120133

121134
/*

src/server.c

Lines changed: 17 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#include <unistd.h>
3838

3939
#include "cfg.h"
40+
#include "config.h"
4041
#include "cktp.h"
4142
#include "cktp_server.h"
4243
#include "cktp_url.h"
@@ -48,29 +49,25 @@
4849
#define OPTION_INIT_START 3
4950
#define OPTION_INIT_STOP 4
5051
#define OPTION_LIST 5
51-
#define OPTION_RATE_LIMIT 6
52-
#define OPTION_REMOVE 7
53-
#define OPTION_THREADS 8
52+
#define OPTION_REMOVE 6
5453

5554
#define COLOR_RED 31
5655
#define COLOR_GREEN 32
5756
#define COLOR_YELLOW 33
5857

59-
#define THREADS_DEFAULT 3
60-
6158
#define MAX_ADDRS 8
6259

6360
/*
6461
* Prototypes.
6562
*/
6663
static int add_servers(int argc, char **argv, int optind,
67-
const uint32_t *addrs, unsigned threads, size_t bps);
64+
const uint32_t *addrs);
6865
static int remove_servers(int argc, char **argv, int optind,
6966
const uint32_t *addrs);
7067
static int list_servers(const uint32_t *addrs);
7168
static int init_start_servers(const uint32_t *addrs);
7269
static int init_stop_servers(const uint32_t *addrs);
73-
static int start_server(const char *url, unsigned threads, size_t bps);
70+
static int start_server(const char *url);
7471
static void help(const char *progname);
7572
static void usage(const char *progname);
7673
void error(const char *message, ...);
@@ -106,14 +103,10 @@ int main(int argc, char **argv)
106103
{"init-start", 0, NULL, OPTION_INIT_START},
107104
{"init-stop", 0, NULL, OPTION_INIT_STOP},
108105
{"list", 0, NULL, OPTION_LIST},
109-
{"rate-limit", 1, NULL, OPTION_RATE_LIMIT},
110106
{"remove", 0, NULL, OPTION_REMOVE},
111-
{"threads", 1, NULL, OPTION_THREADS},
112107
{NULL, 0, NULL, 0}
113108
};
114109
int command = OPTION_NONE;
115-
unsigned threads = THREADS_DEFAULT;
116-
size_t bps = SIZE_MAX;
117110

118111
while (true)
119112
{
@@ -142,31 +135,6 @@ int main(int argc, char **argv)
142135
}
143136
command = option;
144137
break;
145-
case OPTION_THREADS:
146-
{
147-
char *end;
148-
threads = strtoul(optarg, &end, 10);
149-
if (threads == 0 || end == NULL || end[0] != '\0')
150-
{
151-
error("unable to parse value for `--threads' option; "
152-
"try `%s --help' for more information", argv[0]);
153-
return EXIT_FAILURE;
154-
}
155-
break;
156-
}
157-
case OPTION_RATE_LIMIT:
158-
{
159-
char *end;
160-
bps = strtoul(optarg, &end, 10);
161-
if (bps == 0 || end == NULL || end[0] != '\0')
162-
{
163-
error("unable to parse value for `--rate-limit' option; "
164-
"try `%s --help' for more information", argv[0]);
165-
return EXIT_FAILURE;
166-
}
167-
bps *= 1000;
168-
break;
169-
}
170138
default:
171139
error("unable to parse options; try `%s --help' for more "
172140
"information", argv[0]);
@@ -207,7 +175,7 @@ int main(int argc, char **argv)
207175
switch (command)
208176
{
209177
case OPTION_ADD: default:
210-
return add_servers(argc, argv, optind, addrs, threads, bps);
178+
return add_servers(argc, argv, optind, addrs);
211179
case OPTION_REMOVE:
212180
return remove_servers(argc, argv, optind, addrs);
213181
case OPTION_LIST:
@@ -223,7 +191,7 @@ int main(int argc, char **argv)
223191
* Add servers.
224192
*/
225193
static int add_servers(int argc, char **argv, int optind,
226-
const uint32_t *addrs, unsigned threads, size_t bps)
194+
const uint32_t *addrs)
227195
{
228196
server_entry_t table = server_table_read();
229197

@@ -265,7 +233,7 @@ static int add_servers(int argc, char **argv, int optind,
265233
{
266234
// Child:
267235
server_table_free(table);
268-
return start_server(url, threads, bps);
236+
return start_server(url);
269237
}
270238

271239
// Parent:
@@ -279,8 +247,16 @@ static int add_servers(int argc, char **argv, int optind,
279247
/*
280248
* Start a server instance.
281249
*/
282-
static int start_server(const char *url, unsigned threads, size_t bps)
250+
static int start_server(const char *url)
283251
{
252+
// Read the configuration file:
253+
config_init();
254+
struct config_s config;
255+
config_get(&config);
256+
unsigned threads = config.threads;
257+
size_t bps = (config.kb_per_sec == 0? SIZE_MAX:
258+
(size_t)config.kb_per_sec * 1000);
259+
284260
// Open the tunnel
285261
cktp_tunnel_t tunnel = cktp_open_tunnel(url, bps);
286262
if (tunnel == NULL)
@@ -430,7 +406,7 @@ static int init_start_servers(const uint32_t *addrs)
430406
char url[strlen(entry->url)+1];
431407
strcpy(url, entry->url);
432408
server_table_free(table);
433-
return start_server(url, THREADS_DEFAULT, SIZE_MAX);
409+
return start_server(url);
434410
}
435411

436412
// Parent:
@@ -523,11 +499,6 @@ static void help(const char *progname)
523499
puts("OPTIONS are:");
524500
puts("\t--help");
525501
puts("\t\tPrint this helpful message.");
526-
puts("\t--rate-limit <number>");
527-
puts("\t\tPer connection bandwidth limit in KBps (default is unlimited).");
528-
puts("\t--threads <number>");
529-
printf("\t\tNumber of threads per server (default is %d).\n",
530-
THREADS_DEFAULT);
531502
putchar('\n');
532503
}
533504

0 commit comments

Comments
 (0)