* $Header$
*
* Copyright (C) 1987 by the Massachusetts Institute of Technology
- *
- * $Log$
- * Revision 1.1 1987-09-03 03:12:45 wesommer
- * Initial revision
- *
+ * For copying and distribution information, please see the file
+ * <mit-copyright.h>.
*/
#ifndef lint
static char *rcsid_fixhost_c = "$Header$";
#endif lint
+#include <mit-copyright.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/nameser.h>
+#ifdef sun
+#include <resolv.h>
+#else
#include <arpa/resolv.h>
+#endif sun
#include <netdb.h>
#include <stdio.h>
#include <strings.h>
extern char *strsave();
/*
- * Canonicalize hostname; if it is in the namespace, call the
- * nameserver to expand it; otherwise uppercase it and append the
- * default domain (using an, er, undocumented global of the
- * nameserver).
+ * Canonicalize hostname:
+ * if it is in double-quotes, then strip the quotes and return the name.
+ * if it is in the namespace, call the nameserver to expand it
+ * otherwise uppercase it and append the default domain (using an, er,
+ * undocumented global of the nameserver).
*
* Assumes that host was allocated using malloc(); it may be freed or
* realloc'ed, so the old pointer should not be considered valid.
char tbuf[BUFSIZ];
register char *cp;
+ if (strlen(host) > 2 && host[0] == '"' && host[strlen(host)-1] == '"') {
+ strcpy(tbuf, host+1);
+ free(host);
+ tbuf[strlen(tbuf)-1] = 0;
+ return(strsave(tbuf));
+ }
+
+ if (index(host, '*') || index(host, '?'))
+ return(host);
+
hp = gethostbyname(host);
if (hp) {