update from main archive 960827
authordrepper <drepper>
Wed, 28 Aug 1996 01:00:30 +0000 (01:00 +0000)
committerdrepper <drepper>
Wed, 28 Aug 1996 01:00:30 +0000 (01:00 +0000)
posix/sys/types.h
resolv/arpa/nameser.h
resolv/res_debug.c
resolv/res_init.c
resolv/res_mkquery.c
resolv/resolv.h

index 05d63d6..e8d382d 100644 (file)
@@ -45,6 +45,7 @@ __BEGIN_DECLS
 #define mode_t __mode_t
 #define nlink_t __nlink_t
 #define off_t __off_t
+#define loff_t __loff_t
 #define pid_t __pid_t
 #define uid_t __uid_t
 #ifndef        ssize_t
index f2b251b..7da0aef 100644 (file)
 #define STATUS         0x2             /* nameserver status query */
 /*#define xxx          0x3*/           /* 0x3 reserved */
 #define NS_NOTIFY_OP   0x4             /* notify secondary of SOA change */
-#ifdef ALLOW_UPDATES
-       /* non standard - supports ALLOW_UPDATES stuff from Mike Schwartz */
-# define UPDATEA       0x9             /* add resource record */
-# define UPDATED       0xa             /* delete a specific resource record */
-# define UPDATEDA      0xb             /* delete all named resource record */
-# define UPDATEM       0xc             /* modify a specific resource record */
-# define UPDATEMA      0xd             /* modify all named resource record */
-# define ZONEINIT      0xe             /* initial zone transfer */
-# define ZONEREF       0xf             /* incremental zone referesh */
-#endif
-
 /*
  * Currently defined response codes
  */
 #define NXDOMAIN       3               /* non existent domain */
 #define NOTIMP         4               /* not implemented */
 #define REFUSED                5               /* query refused */
-#ifdef ALLOW_UPDATES
-       /* non standard */
-# define NOCHANGE      0xf             /* update failed to change db */
-#endif
 
 /*
  * Type values for resources and queries
 #define T_AAAA         28              /* IP6 Address */
 #define T_LOC          29              /* Location Information */
 #define T_NXT          30              /* Next Valid Name in Zone */
+#define T_EID          31              /* Endpoint identifier */
+#define T_NIMLOC       32              /* Nimrod locator */
+#define T_SRV          33              /* Server selection */
+#define T_ATMA         34              /* ATM Address */
        /* non standard */
 #define T_UINFO                100             /* user (finger) information */
 #define T_UID          101             /* user ID */
 #define T_GID          102             /* group ID */
 #define T_UNSPEC       103             /* Unspecified format (binary data) */
        /* Query type values which do not appear in resource records */
+#define        T_IXFR          251             /* incremental zone transfer */
 #define T_AXFR         252             /* transfer zone of authority */
 #define T_MAILB                253             /* transfer mailbox records */
 #define T_MAILA                254             /* transfer mail agent records */
@@ -355,18 +345,6 @@ typedef struct {
  */
 #define INDIR_MASK     0xc0
 
-/*
- * Structure for passing resource records around.
- */
-struct rrec {
-       int16_t         r_zone;                 /* zone number */
-       int16_t         r_class;                /* class number */
-       int16_t         r_type;                 /* type number */
-       u_int32_t       r_ttl;                  /* time to live */
-       int             r_size;                 /* size of data area */
-       char            *r_data;                /* pointer to data */
-};
-
 extern u_int16_t       _getshort __P((const u_char *));
 extern u_int32_t       _getlong __P((const u_char *));
 
index bb314bc..b476676 100644 (file)
@@ -667,7 +667,7 @@ __p_rr(cp, msg, file)
        case T_AAAA: {
                char t[sizeof "ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255"];
 
-               fprintf(file, "\t%s\n", inet_ntop(AF_INET6, cp, t, sizeof t));
+               fprintf(file, "\t%s", inet_ntop(AF_INET6, cp, t, sizeof t));
                cp += dlen;
                break;
        }
@@ -675,11 +675,23 @@ __p_rr(cp, msg, file)
        case T_LOC: {
                char t[255];
 
-               (void) fprintf(file, "\t%s\n", loc_ntoa(cp, t));
+               (void) fprintf(file, "\t%s", loc_ntoa(cp, t));
                cp += dlen;
                break;
        }
 
+       case T_SRV: {
+               u_int priority, weight, port;
+
+               priority = _getshort(cp);  cp += INT16SZ;
+               weight   = _getshort(cp);  cp += INT16SZ;
+               port     = _getshort(cp);  cp += INT16SZ;
+               fprintf(file, "\t%u %u %u ", priority, weight, port);
+               if ((cp = p_fqname(cp, msg, file)) == NULL)
+                       return (NULL);
+               break;
+       }
+
        case T_MINFO:
        case T_RP:
                putc('\t', file);
@@ -856,13 +868,15 @@ const struct res_sym __p_class_syms[] = {
 const struct res_sym __p_type_syms[] = {
        {T_A,           "A",            "address"},
        {T_NS,          "NS",           "name server"},
+       {T_MD,          "MD",           "mail destination (deprecated)"},
+       {T_MF,          "MF",           "mail forwarder (deprecated)"},
        {T_CNAME,       "CNAME",        "canonical name"},
        {T_SOA,         "SOA",          "start of authority"},
        {T_MB,          "MB",           "mailbox"},
        {T_MG,          "MG",           "mail group member"},
        {T_MR,          "MR",           "mail rename"},
        {T_NULL,        "NULL",         "null"},
-       {T_WKS,         "WKS",          "well-known service"},
+       {T_WKS,         "WKS",          "well-known service (deprecated)"},
        {T_PTR,         "PTR",          "domain name pointer"},
        {T_HINFO,       "HINFO",        "host information"},
        {T_MINFO,       "MINFO",        "mailbox information"},
@@ -877,22 +891,27 @@ const struct res_sym __p_type_syms[] = {
        {T_NSAP_PTR,    "NSAP_PTR",     "domain name pointer"},
        {T_SIG,         "SIG",          "signature"},
        {T_KEY,         "KEY",          "key"},
-       {T_NXT,         "NXT",          "next valid name"},
        {T_PX,          "PX",           "mapping information"},
-       {T_GPOS,        "GPOS",         "geographical position"},
+       {T_GPOS,        "GPOS",         "geographical position (withdrawn)"},
        {T_AAAA,        "AAAA",         "IPv6 address"},
        {T_LOC,         "LOC",          "location"},
+       {T_NXT,         "NXT",          "next valid name (unimplemented)"},
+       {T_EID,         "EID",          "endpoint identifier (unimplemented)"},
+       {T_NIMLOC,      "NIMLOC",       "NIMROD locator (unimplemented)"},
+       {T_SRV,         "SRV",          "server selection"},
+       {T_ATMA,        "ATMA",         "ATM address (unimplemented)"},
+       {T_IXFR,        "IXFR",         "incremental zone transfer"},
        {T_AXFR,        "AXFR",         "zone transfer"},
-       {T_MAILB,       "MAILB",        "mailbox-related data"},
-       {T_MAILA,       "MAILA",        "mail agent"},
-       {T_UINFO,       "UINFO",        "user information"},
-       {T_UID,         "UID",          "user ID"},
-       {T_GID,         "GID",          "group ID"},
+       {T_MAILB,       "MAILB",        "mailbox-related data (deprecated)"},
+       {T_MAILA,       "MAILA",        "mail agent (deprecated)"},
+       {T_UINFO,       "UINFO",        "user information (nonstandard)"},
+       {T_UID,         "UID",          "user ID (nonstandard)"},
+       {T_GID,         "GID",          "group ID (nonstandard)"},
 #ifdef ALLOW_T_UNSPEC
-       {T_UNSPEC,      "UNSPEC",       "unspecified data"},
+       {T_UNSPEC,      "UNSPEC",       "unspecified data (nonstandard)"},
 #endif /* ALLOW_T_UNSPEC */
        {T_ANY,         "ANY",          "\"any\""},
-       {0,             (char *)0,      (char *)0}
+       {0,             NULL,           NULL}
 };
 
 int
index 8d87b8c..caeb337 100644 (file)
@@ -126,7 +126,11 @@ static u_int32_t net_mask __P((struct in_addr));
  * Resolver state default settings.
  */
 
-struct __res_state _res;
+struct __res_state _res
+# if defined(__BIND_RES_TEXT)
+       = { RES_TIMEOUT, }      /* Motorola, et al. */
+# endif
+       ;
 
 /*
  * Set up default settings.  If the configuration file exist, the values
index feaf0ef..505c391 100644 (file)
@@ -94,9 +94,6 @@ res_mkquery(op, dname, class, type, data, datalen, newrr_in, buf, buflen)
        register HEADER *hp;
        register u_char *cp;
        register int n;
-#ifdef ALLOW_UPDATES
-       struct rrec *newrr = (struct rrec *) newrr_in;
-#endif
        u_char *dnptrs[20], **dpp, **lastdnptr;
 
        if ((_res.options & RES_INIT) == 0 && res_init() == -1) {
@@ -186,63 +183,6 @@ res_mkquery(op, dname, class, type, data, datalen, newrr_in, buf, buflen)
                hp->ancount = htons(1);
                break;
 
-#ifdef ALLOW_UPDATES
-       /*
-        * For UPDATEM/UPDATEMA, do UPDATED/UPDATEDA followed by UPDATEA
-        * (Record to be modified is followed by its replacement in msg.)
-        */
-       case UPDATEM:
-       case UPDATEMA:
-
-       case UPDATED:
-               /*
-                * The res code for UPDATED and UPDATEDA is the same; user
-                * calls them differently: specifies data for UPDATED; server
-                * ignores data if specified for UPDATEDA.
-                */
-       case UPDATEDA:
-               buflen -= RRFIXEDSZ + datalen;
-               if ((n = dn_comp(dname, cp, buflen, dnptrs, lastdnptr)) < 0)
-                       return (-1);
-               cp += n;
-               __putshort(type, cp);
-               cp += INT16SZ;
-               __putshort(class, cp);
-               cp += INT16SZ;
-               __putlong(0, cp);
-               cp += INT32SZ;
-               __putshort(datalen, cp);
-               cp += INT16SZ;
-               if (datalen) {
-                       bcopy(data, cp, datalen);
-                       cp += datalen;
-               }
-               if ( (op == UPDATED) || (op == UPDATEDA) ) {
-                       hp->ancount = htons(0);
-                       break;
-               }
-               /* Else UPDATEM/UPDATEMA, so drop into code for UPDATEA */
-
-       case UPDATEA:   /* Add new resource record */
-               buflen -= RRFIXEDSZ + datalen;
-               if ((n = dn_comp(dname, cp, buflen, dnptrs, lastdnptr)) < 0)
-                       return (-1);
-               cp += n;
-               __putshort(newrr->r_type, cp);
-               cp += INT16SZ;
-               __putshort(newrr->r_class, cp);
-               cp += INT16SZ;
-               __putlong(0, cp);
-               cp += INT32SZ;
-               __putshort(newrr->r_size, cp);
-               cp += INT16SZ;
-               if (newrr->r_size) {
-                       bcopy(newrr->r_data, cp, newrr->r_size);
-                       cp += newrr->r_size;
-               }
-               hp->ancount = htons(0);
-               break;
-#endif /* ALLOW_UPDATES */
        default:
                return (-1);
        }
index fd38fca..23460c5 100644 (file)
@@ -71,9 +71,9 @@
 #include <stdio.h>
 
 /*
- * revision information.  this is the release date in YYYYMMDD format.
- * it can change every day so the right thing to do with it is use it
- * in preprocessor commands such as "#if (__RES > 19931104)".  do not
+ * Revision information.  This is the release date in YYYYMMDD format.
+ * It can change every day so the right thing to do with it is use it
+ * in preprocessor commands such as "#if (__RES > 19931104)".  Do not
  * compare for equality; rather, use it to determine whether your resolver
  * is new enough to contain a certain feature.
  */
@@ -121,7 +121,7 @@ struct __res_state {
                struct in_addr  addr;
                u_int32_t       mask;
        } sort_list[MAXRESOLVSORT];
-       char    pad[72];                /* On an i38this means 512b total. */
+       char    pad[72];                /* on an i386 this means 512b total */
 };
 
 /*