annotate src/resolvtest.c @ 434:f2a7271746d1 default tip

Removes Freshmeat.net from the docs The site, which was later renamed to freecode.com, is no longer maintained (contains only a static copy).
author markus schnalke <meillo@marmaro.de>
date Sat, 07 Feb 2015 11:45:07 +0100
parents b27f66555ba8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
367
b27f66555ba8 Reformated multiline comments to have leading asterisks on each line
markus schnalke <meillo@marmaro.de>
parents: 200
diff changeset
1 /*
b27f66555ba8 Reformated multiline comments to have leading asterisks on each line
markus schnalke <meillo@marmaro.de>
parents: 200
diff changeset
2 ** MasqMail
b27f66555ba8 Reformated multiline comments to have leading asterisks on each line
markus schnalke <meillo@marmaro.de>
parents: 200
diff changeset
3 ** Copyright (C) Oliver Kurth,
b27f66555ba8 Reformated multiline comments to have leading asterisks on each line
markus schnalke <meillo@marmaro.de>
parents: 200
diff changeset
4 ** Copyright (C) 2010 markus schnalke <meillo@marmaro.de>
b27f66555ba8 Reformated multiline comments to have leading asterisks on each line
markus schnalke <meillo@marmaro.de>
parents: 200
diff changeset
5 **
b27f66555ba8 Reformated multiline comments to have leading asterisks on each line
markus schnalke <meillo@marmaro.de>
parents: 200
diff changeset
6 ** This program is free software; you can redistribute it and/or modify
b27f66555ba8 Reformated multiline comments to have leading asterisks on each line
markus schnalke <meillo@marmaro.de>
parents: 200
diff changeset
7 ** it under the terms of the GNU General Public License as published by
b27f66555ba8 Reformated multiline comments to have leading asterisks on each line
markus schnalke <meillo@marmaro.de>
parents: 200
diff changeset
8 ** the Free Software Foundation; either version 2 of the License, or
b27f66555ba8 Reformated multiline comments to have leading asterisks on each line
markus schnalke <meillo@marmaro.de>
parents: 200
diff changeset
9 ** (at your option) any later version.
b27f66555ba8 Reformated multiline comments to have leading asterisks on each line
markus schnalke <meillo@marmaro.de>
parents: 200
diff changeset
10 **
b27f66555ba8 Reformated multiline comments to have leading asterisks on each line
markus schnalke <meillo@marmaro.de>
parents: 200
diff changeset
11 ** This program is distributed in the hope that it will be useful,
b27f66555ba8 Reformated multiline comments to have leading asterisks on each line
markus schnalke <meillo@marmaro.de>
parents: 200
diff changeset
12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
b27f66555ba8 Reformated multiline comments to have leading asterisks on each line
markus schnalke <meillo@marmaro.de>
parents: 200
diff changeset
13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
b27f66555ba8 Reformated multiline comments to have leading asterisks on each line
markus schnalke <meillo@marmaro.de>
parents: 200
diff changeset
14 ** GNU General Public License for more details.
b27f66555ba8 Reformated multiline comments to have leading asterisks on each line
markus schnalke <meillo@marmaro.de>
parents: 200
diff changeset
15 **
b27f66555ba8 Reformated multiline comments to have leading asterisks on each line
markus schnalke <meillo@marmaro.de>
parents: 200
diff changeset
16 ** You should have received a copy of the GNU General Public License
b27f66555ba8 Reformated multiline comments to have leading asterisks on each line
markus schnalke <meillo@marmaro.de>
parents: 200
diff changeset
17 ** along with this program; if not, write to the Free Software
b27f66555ba8 Reformated multiline comments to have leading asterisks on each line
markus schnalke <meillo@marmaro.de>
parents: 200
diff changeset
18 ** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
b27f66555ba8 Reformated multiline comments to have leading asterisks on each line
markus schnalke <meillo@marmaro.de>
parents: 200
diff changeset
19 */
200
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
20
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
21
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
22 #include <sys/types.h>
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
23 #include <netinet/in.h>
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
24 #include <arpa/nameser.h>
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
25 #include <resolv.h>
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
26
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
27 #include "masqmail.h"
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
28
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
29
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
30 masqmail_conf conf;
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
31
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
32
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
33 void
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
34 debugf(const char *fmt, ...)
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
35 {
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
36 va_list args;
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
37 va_start(args, fmt);
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
38
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
39 vfprintf(stdout, fmt, args);
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
40
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
41 va_end(args);
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
42
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
43 }
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
44
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
45
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
46 int
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
47 main(int argc, char *argv[])
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
48 {
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
49 GList *addr_list = NULL, *node;
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
50
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
51 conf.debug_level = -1; /* no debug messages */
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
52
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
53 if (argc != 2) {
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
54 fprintf(stderr, "usage: resolvtest HOSTNAME\n");
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
55 return 1;
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
56 }
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
57
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
58 if (res_init() != 0) {
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
59 printf("res_init() failed.\n");
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
60 return 1;
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
61 }
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
62
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
63 printf("A:\n");
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
64 addr_list = resolve_dns_a(NULL, argv[1]);
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
65 foreach(addr_list, node) {
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
66 mxip_addr *p_mxip = (mxip_addr *) (node->data);
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
67 printf("%s \t%s\n", p_mxip->name, inet_ntoa(*(struct in_addr *) &(p_mxip->ip)));
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
68 }
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
69
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
70 printf("\nMX:\n");
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
71 addr_list = resolve_dns_mx(NULL, argv[1]);
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
72 foreach(addr_list, node) {
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
73 mxip_addr *p_mxip = (mxip_addr *) (node->data);
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
74 printf("%s \t%s %d\n", p_mxip->name,
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
75 inet_ntoa(*(struct in_addr *) &(p_mxip->ip)), p_mxip->pref);
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
76 }
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
77
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
78 printf("\nIP resolved directly (assumed FQDN, no default domain added):\n");
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
79 {
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
80 guint32 ip;
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
81 if (dns_look_ip(argv[1], &ip) >= 0) {
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
82 printf("%s\n", inet_ntoa(*((struct in_addr *) (&ip))));
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
83 }
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
84 }
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
85
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
86 return 0;
116b0269c934 reworked resolvtest; let it build; refactored in lookup.c
meillo@marmaro.de
parents:
diff changeset
87 }