source: trunk/src/ocatsetup.c @ 394

Last change on this file since 394 was 394, checked in by eagle, 8 years ago

add route for macosx
bugfix in ether_ntoa_r

File size: 4.3 KB
Line 
1/* Copyright 2008 Bernhard R. Fischer, Daniel Haslinger.
2 *
3 * This file is part of OnionCat.
4 *
5 * OnionCat is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, version 3 of the License.
8 *
9 * OnionCat is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with OnionCat. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18/*! ocatsetup_.c
19 *  This file contains the global settings structure.
20 *
21 *  @author Bernhard Fischer <rahra _at_ cypherpunk at>
22 *  @version 2008/02/03-01
23 */
24
25
26#include "ocat.h"
27
28struct OcatSetup setup_ =
29{
30   // fhd_keys
31   {0, 0},
32   // fhd_key_len
33   sizeof(uint32_t),
34   TOR_SOCKS_PORT, OCAT_LISTEN_PORT, OCAT_DEST_PORT, OCAT_CTRL_PORT, 
35   //! default tunfd is stdin/stdout
36   {0, 1},
37   //! default debug level
38   LOG_DEBUG,
39   OCAT_UNAME, {0}, {{{0}}}, 0, 0, 1, OCAT_DIR, TUN_DEV,
40   0, TOR_PREFIX4, TOR_PREFIX4_MASK,
41   NULL, 1,
42   0,                                      // use_tap
43   {0x00, 0x00, 0x6c, 0x00, 0x00, 0x00},   // ocat_hwaddr (OnionCat MAC address)
44   PID_FILE,
45   NULL, NULL,                             // logfile
46   0,                                      // daemon
47   {
48      {{{0xfd, 0x87, 0xd8, 0x7e, 0xeb, 0x43,
49           0xed, 0xb1, 0x8, 0xe4, 0x35, 0x88, 0xe5, 0x46, 0x35, 0xca}}} // initial permanent peer "5wyqrzbvrdsumnok"
50   },
51   0
52};
53
54
55void init_setup(void)
56{
57   setup_.logf = stderr;
58   setup_.uptime = time(NULL);
59}
60
61
62#define SBUF 100
63
64void print_setup_struct(FILE *f)
65{
66   char ip[SBUF], nm[SBUF], ip6[SBUF], logf[SBUF], hw[SBUF], rp[ROOT_PEERS][SBUF];
67   int i, t;
68
69   inet_ntop(AF_INET, &setup_.ocat_addr4, ip, SBUF);
70   inet_ntop(AF_INET, &setup_.ocat_addr4_mask, nm, SBUF);
71   inet_ntop(AF_INET6, &setup_.ocat_addr, ip6, SBUF);
72   for (i = 0; i < ROOT_PEERS; i++)
73      inet_ntop(AF_INET6, &setup_.root_peer[i], rp[i], SBUF);
74
75   ether_ntoa_r((struct ether_addr*) setup_.ocat_hwaddr, hw);
76
77   if (setup_.logf == stderr)
78      strlcpy(logf, "stderr", sizeof(logf));
79   else
80      snprintf(logf, sizeof(logf), "%p", setup_.logf);
81
82   t = time(NULL) - setup_.uptime;
83
84   fprintf(f,
85         "fhd_key[IPV4(%d)]  = 0x%04x\n"
86         "fhd_key[IPV6(%d)]  = 0x%04x\n"
87         "fhd_key_len       = %d\n"
88         "tor_socks_port    = %d\n"
89         "ocat_listen_port  = %d\n"
90         "ocat_dest_port    = %d\n"
91         "ocat_ctrl_port    = %d\n"
92         "tunfd[0]          = %d\n"
93         "tunfd[1]          = %d\n"
94         "debug_level       = %d\n"
95         "usrname           = \"%s\"\n"
96         "onion_url         = \"%s\"\n"
97         "ocat_addr         = %s\n"
98         "create_clog       = %d\n"
99         "runasroot         = %d\n"
100         "controller        = %d\n"
101         "ocat_dir          = \"%s\"\n"
102         "tun_dev           = \"%s\"\n"
103         "ipv4_enable       = %d\n"
104         "ocat_addr4        = %s\n"
105         "ocat_addr4_mask   = %s\n"
106         "config_file       = \"%s\"\n"
107         "config_read       = %d\n"
108         "use_tap           = %d\n"
109         "ocat_hwaddr       = %s\n"
110         "pid_file          = \"%s\"\n"
111         "logfn             = \"%s\"\n"
112         "logf              = %s\n"
113         "daemon            = %d\n"
114         "root_peer[0]      = %s\n"
115         "uptime            = %d days, %d:%02d\n",
116 
117         IPV4_KEY, ntohl(setup_.fhd_key[IPV4_KEY]), IPV6_KEY, ntohl(setup_.fhd_key[IPV6_KEY]),
118         setup_.fhd_key_len,
119         setup_.tor_socks_port,
120         setup_.ocat_listen_port,
121         setup_.ocat_dest_port,
122         setup_.ocat_ctrl_port,
123         setup_.tunfd[0], setup_.tunfd[1],
124         setup_.debug_level,
125         setup_.usrname,
126         setup_.onion_url,
127         ip6,
128         setup_.create_clog,
129         setup_.runasroot,
130         setup_.controller,
131         setup_.ocat_dir,
132         setup_.tun_dev,
133         setup_.ipv4_enable,
134         ip,
135         nm,
136         setup_.config_file,
137         setup_.config_read,
138         setup_.use_tap,
139         hw,
140         setup_.pid_file,
141         setup_.logfn,
142         logf,
143         setup_.daemon,
144         rp[0],
145         t / (3600 * 24), t / 3600 % 24, t / 60 % 60
146         );
147}
148
Note: See TracBrowser for help on using the repository browser.