source: trunk/third/sendmail/contrib/oldbind.compat.c @ 12554

Revision 12554, 1.5 KB checked in by danw, 26 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r12553, which included commits to RCS files with non-trunk default branches.
RevLine 
[12553]1/*
2**  OLDBIND.COMPAT.C
3**
4**      Very old systems do not have res_query(), res_querydomain() or
5**      res_search(), so emulate them here.
6**
7**      You really ought to be upgrading to a newer version of BIND
8**      (4.8.2 or later) rather than be using this.
9**
10**      J.R. Oldroyd <jr@inset.com>
11*/
12
13#include <sys/types.h>
14#include <netinet/in.h>
15#include <arpa/nameser.h>
16#include <resolv.h>
17
18typedef union
19{
20        HEADER  qb1;
21        char    qb2[PACKETSZ];
22} querybuf;
23
24res_query(dname, class, type, data, datalen)
25        char *          dname;
26        int             class;
27        int             type;
28        char *          data;
29        int             datalen;
30{
31        int             n;
32        querybuf        buf;
33
34        n = res_mkquery(QUERY, dname, class, type, (char *) NULL, 0,
35                NULL, (char *) &buf, sizeof buf);
36        n = res_send((char *)&buf, n, data, datalen);
37
38        return n;
39}
40
41res_querydomain(host, dname, class, type, data, datalen)
42        char *          host;
43        char *          dname;
44        int             class;
45        int             type;
46        char *          data;
47        int             datalen;
48{
49        int             n;
50        querybuf        buf;
51        char            dbuf[256];
52
53        strcpy(dbuf, host);
54        if (dbuf[strlen(dbuf)-1] != '.')
55                strcat(dbuf, ".");
56        strcat(dbuf, dname);
57        n = res_mkquery(QUERY, dbuf, class, type, (char *) NULL, 0,
58                NULL, (char *)&buf, sizeof buf);
59        n = res_send((char *) &buf, n, data, datalen);
60
61        return n;
62}
63
64res_search(dname, class, type, data, datalen)
65        char *          dname;
66        int             class;
67        int             type;
68        char *          data;
69        int             datalen;
70{
71        int             n;
72        querybuf        buf;
73
74        n = res_mkquery(QUERY, dname, class, type, (char *)NULL, 0,
75                NULL, (char *) &buf, sizeof buf);
76        n = res_send((char *) &buf, n, data, datalen);
77
78        return n;
79}
Note: See TracBrowser for help on using the repository browser.