X-Git-Url: http://andersk.mit.edu/gitweb/moira.git/blobdiff_plain/babbc19713c230cae03e0c6dae73df0c92c49b7f..00bfb58106998c20f43ad136eb6047348a0ff718:/lib/fixhost.c diff --git a/lib/fixhost.c b/lib/fixhost.c index a7072b02..73639625 100644 --- a/lib/fixhost.c +++ b/lib/fixhost.c @@ -28,10 +28,11 @@ extern char *realloc(); 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. @@ -47,6 +48,13 @@ canonicalize_hostname(host) char tbuf[BUFSIZ]; register char *cp; + if (strlen(host) > 2 && host[0] == '"' && host[strlen(host)-1] == '"') { + strcpy(host+1, tbuf); + free(host); + tbuf[strlen(tbuf)-1] = 0; + return(strsave(tbuf)); + } + if (index(host, '*') || index(host, '?')) return(host);