|
@@ -21,11 +21,14 @@ isValidIpv4Address (char *ipAddress)
|
21
|
21
|
if (result == 0)
|
22
|
22
|
{
|
23
|
23
|
if (isValidIpv6Address (ipAddress) == 1)
|
24
|
|
- return 11;
|
|
24
|
+ return AF_INET6;
|
25
|
25
|
else
|
26
|
26
|
return 0;
|
27
|
27
|
}
|
28
|
|
- return result;
|
|
28
|
+ if (result == 1)
|
|
29
|
+ return AF_INET;
|
|
30
|
+ else
|
|
31
|
+ return result;
|
29
|
32
|
}
|
30
|
33
|
|
31
|
34
|
/* Forwards packets to this IP through the inet
|
|
@@ -99,9 +102,9 @@ inet_mode (char *domain)
|
99
|
102
|
if (ret == NULL || ret1 != NULL)
|
100
|
103
|
{
|
101
|
104
|
rt_value = isValidIpv4Address (new_domain);
|
102
|
|
- if (rt_value == 1)
|
|
105
|
+ if (rt_value == AF_INET)
|
103
|
106
|
inetipForwarding (new_domain, AF_INET);
|
104
|
|
- if (rt_value == 11)
|
|
107
|
+ if (rt_value == AF_INET6)
|
105
|
108
|
inetipForwarding (new_domain, AF_INET6);
|
106
|
109
|
if (rt_value == 0)
|
107
|
110
|
inetDNSResolution (new_domain);
|
|
@@ -115,9 +118,9 @@ inet_mode (char *domain)
|
115
|
118
|
inet_mode_ntk_rslv:
|
116
|
119
|
new_domain[strlen (new_domain) - 5] = '\0';
|
117
|
120
|
rt_value = isValidIpv4Address (new_domain);
|
118
|
|
- if (rt_value == 1)
|
|
121
|
+ if (rt_value == AF_INET)
|
119
|
122
|
ntkipForwarding (new_domain, AF_INET);
|
120
|
|
- if (rt_value == 11)
|
|
123
|
+ if (rt_value == AF_INET6)
|
121
|
124
|
ntkipForwarding (new_domain, AF_INET6);
|
122
|
125
|
if (rt_value == 0)
|
123
|
126
|
ntkDNSResolution (new_domain);
|
|
@@ -159,9 +162,9 @@ ntk_mode (char *domain)
|
159
|
162
|
if (ret == NULL || ret1 != NULL)
|
160
|
163
|
{
|
161
|
164
|
rt_value = isValidIpv4Address (new_domain);
|
162
|
|
- if (rt_value == 1)
|
|
165
|
+ if (rt_value == AF_INET)
|
163
|
166
|
ntkipForwarding (new_domain, AF_INET);
|
164
|
|
- if (rt_value == 11)
|
|
167
|
+ if (rt_value == AF_INET6)
|
165
|
168
|
ntkipForwarding (new_domain, AF_INET6);
|
166
|
169
|
if (rt_value == 0)
|
167
|
170
|
ntkDNSResolution (new_domain);
|
|
@@ -175,9 +178,9 @@ ntk_mode (char *domain)
|
175
|
178
|
ntk_mode_inet_rslv:
|
176
|
179
|
new_domain[strlen (new_domain) - 6] = '\0';
|
177
|
180
|
rt_value = isValidIpv4Address (new_domain);
|
178
|
|
- if (rt_value == 1)
|
|
181
|
+ if (rt_value == AF_INET)
|
179
|
182
|
inetipForwarding (new_domain, AF_INET);
|
180
|
|
- if (rt_value == 11)
|
|
183
|
+ if (rt_value == AF_INET6)
|
181
|
184
|
inetipForwarding (new_domain, AF_INET6);
|
182
|
185
|
if (rt_value == 0)
|
183
|
186
|
inetDNSResolution (new_domain);
|
|
@@ -199,9 +202,9 @@ domain_ip_processing (char *domain)
|
199
|
202
|
{
|
200
|
203
|
new_domain[strlen (new_domain) - 6] = '\0';
|
201
|
204
|
rt_value = isValidIpv4Address (new_domain);
|
202
|
|
- if (rt_value == 1)
|
|
205
|
+ if (rt_value == AF_INET)
|
203
|
206
|
inetipForwarding (new_domain, AF_INET);
|
204
|
|
- if (rt_value == 11)
|
|
207
|
+ if (rt_value == AF_INET6)
|
205
|
208
|
inetipForwarding (new_domain, AF_INET6);
|
206
|
209
|
if (rt_value == 0)
|
207
|
210
|
inetDNSResolution (new_domain);
|
|
@@ -216,9 +219,9 @@ domain_ip_processing (char *domain)
|
216
|
219
|
{
|
217
|
220
|
new_domain[strlen (new_domain) - 5] = '\0';
|
218
|
221
|
rt_value = isValidIpv4Address (new_domain);
|
219
|
|
- if (rt_value == 1)
|
|
222
|
+ if (rt_value == AF_INET)
|
220
|
223
|
ntkipForwarding (new_domain, AF_INET);
|
221
|
|
- if (rt_value == 11)
|
|
224
|
+ if (rt_value == AF_INET6)
|
222
|
225
|
ntkipForwarding (new_domain, AF_INET6);
|
223
|
226
|
if (rt_value == 0)
|
224
|
227
|
ntkDNSResolution (new_domain);
|
|
@@ -242,7 +245,7 @@ main (void)
|
242
|
245
|
if (strcmp (request, "quit\n") == 0 || strcmp (request, "exit\n") == 0)
|
243
|
246
|
exit (0);
|
244
|
247
|
fflush (stdin);
|
245
|
|
- inet_mode (request);
|
|
248
|
+ domain_ip_processing (request);
|
246
|
249
|
free (request);
|
247
|
250
|
}
|
248
|
251
|
|