Imported Debian version 4.5.14

This commit is contained in:
Marco d'Itri 2001-10-17 20:57:26 +02:00
parent a8b3b04bf4
commit 1b665ec34c
18 changed files with 892 additions and 319 deletions

View File

@ -26,3 +26,7 @@
19456 20479 arin 19456 20479 arin
20480 21503 ripe 20480 21503 ripe
###
### DO NOT FORGET TO UPDATE whereas()
###

View File

@ -1,6 +1,6 @@
/* Program version */ /* Program version */
/* not for the inetutils version */ /* not for the inetutils version */
#define VERSION "4.5.8" #define VERSION "4.5.11"
/* Configurable features */ /* Configurable features */
@ -13,13 +13,14 @@
/* Default server */ /* Default server */
#define DEFAULTSERVER "whois.internic.net" #define DEFAULTSERVER "whois.internic.net"
/* Configuration file */
/*
#define CONFIG_FILE "/etc/whois.conf"
*/
/* autoconf in cpp macros */ /* autoconf in cpp macros */
#ifdef linux #ifdef linux
# define ENABLE_NLS # define ENABLE_NLS
# define HAVE_GETOPT_LONG
# if __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 1
# define HAVE_GETADDRINFO
# endif
#endif #endif
/* needs unistd.h */ /* needs unistd.h */
@ -28,6 +29,18 @@
# define HAVE_GETADDRINFO # define HAVE_GETADDRINFO
#endif #endif
#if defined __GLIBC__
# define HAVE_GETOPT_LONG
# if defined __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 1
# define HAVE_GETADDRINFO
# endif
#endif
#if defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 2
# define HAVE_REGEXEC
#endif
/* system features */ /* system features */
#ifdef ENABLE_NLS #ifdef ENABLE_NLS
# ifndef NLS_CAT_NAME # ifndef NLS_CAT_NAME

4
data.h
View File

@ -22,7 +22,7 @@ const char *ripe_servers[] = {
"whois.restena.lu", "whois.restena.lu",
"rr.level3.net", /* 3.0.0a13 */ "rr.level3.net", /* 3.0.0a13 */
"whois.arnes.si", "whois.arnes.si",
"rpsl.ripe.net", "www.registry.co.ug",
NULL NULL
}; };
@ -57,6 +57,8 @@ const char *hide_strings[] = {
"Access to ASNIC", "by this policy.", "Access to ASNIC", "by this policy.",
"* Copyright (C) 1998 by SGNIC", "* modification.", "* Copyright (C) 1998 by SGNIC", "* modification.",
"The Data in Gabia", "you agree to abide", "The Data in Gabia", "you agree to abide",
"NeuLevel, Inc., the Registry Operator", "whatsoever, you agree",
"NOTICE: Access to .INFO WHOIS", "time. By submitting",
NULL, NULL NULL, NULL
}; };

49
debian/changelog vendored
View File

@ -1,4 +1,51 @@
whois (4.5.8) unstable; urgency=low whois (4.5.14) unstable; urgency=medium
* Added 219.0.0.0/8.
* Updated spanish translation.
* Updated .hk TLD server.
-- Marco d'Itri <md@linux.it> Fri, 17 Oct 2001 20:57:26 +0200
whois (4.5.13) unstable; urgency=medium
* Fixed "Password: " prompt printing when using mkpasswd --stdin.
* Update .hm TLD server (Closes: #115719).
-- Marco d'Itri <md@linux.it> Fri, 5 Oct 2001 00:57:26 +0200
whois (4.5.12) unstable; urgency=medium
* Updated .af, .biz and .info TLD servers.
* Fixed NLS support in mkpasswd.
* Fixed spurious warning message about RIPE flags.
* Make server selection code ignore trailing dots (Closes: #65325).
* Follow crsnic referrals only for domains (Closes: #78568).
-- Marco d'Itri <md@linux.it> Sun, 30 Sep 2001 16:06:37 +0200
whois (4.5.11) unstable; urgency=medium
* Updated .vc TLD server.
* Fixed ugly stupid segfault (Closes: #113409).
-- Marco d'Itri <md@linux.it> Tue, 25 Sep 2001 01:55:06 +0200
whois (4.5.10) unstable; urgency=medium
* The configuration file is optional (Closes: #113340).
* Updated .fi TLD server.
-- Marco d'Itri <md@linux.it> Mon, 24 Sep 2001 17:58:18 +0200
whois (4.5.9) unstable; urgency=medium
* Updated last known ASN (Closes: #112775).
* Updated .am, .bi, .bm, .bo, .bs, .cg, .jo, .mn, .mo, .ni, .np, .pt,
.rw, .pk, .pl, .ps, .sv, .ug, .vn, .net.za, .org.za TLD servers.
-- Marco d'Itri <md@linux.it> Wed, 19 Sep 2001 21:45:22 +0200
whois (4.5.8) unstable; urgency=medium
* Use a bigger internal buffer to parse server output (Closes: #109919). * Use a bigger internal buffer to parse server output (Closes: #109919).
* Added german translation (Closes: #103480). * Added german translation (Closes: #103480).

2
debian/rules vendored
View File

@ -7,7 +7,7 @@ SHELL+= -e
build: build:
$(checkdir) $(checkdir)
make whois mkpasswd OPTS="-O2 -g" make whois mkpasswd OPTS="-O2 -g -DCONFIG_FILE=\\\"/etc/whois.conf\\\""
touch build touch build
clean: clean:

View File

@ -150,3 +150,4 @@
214.0.0.0/7 arin # DoD 214.0.0.0/7 arin # DoD
216.0.0.0/8 arin 216.0.0.0/8 arin
217.0.0.0/8 ripe 217.0.0.0/8 ripe
219.0.0.0/8 apnic

View File

@ -20,14 +20,14 @@
#define _BSD_SOURCE #define _BSD_SOURCE
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <sys/types.h>
#include <unistd.h> #include <unistd.h>
#include <string.h>
#include <time.h>
#include "config.h" #include "config.h"
#ifdef HAVE_GETOPT_LONG #ifdef HAVE_GETOPT_LONG
#include <getopt.h> #include <getopt.h>
#endif #endif
#include <string.h>
#include <time.h>
#include <sys/types.h>
#ifdef HAVE_GETOPT_LONG #ifdef HAVE_GETOPT_LONG
static struct option longopts[] = { static struct option longopts[] = {
@ -69,6 +69,12 @@ int main(int argc, char *argv[])
char *password = NULL; char *password = NULL;
unsigned char *p; unsigned char *p;
#ifdef ENABLE_NLS
setlocale(LC_ALL, "");
bindtextdomain(NLS_CAT_NAME, LOCALEDIR);
textdomain(NLS_CAT_NAME);
#endif
while ((ch = GETOPT_LONGISH(argc, argv, "hH:sS:V", longopts, 0)) > 0) { while ((ch = GETOPT_LONGISH(argc, argv, "hH:sS:V", longopts, 0)) > 0) {
switch (ch) { switch (ch) {
case 's': case 's':
@ -78,7 +84,7 @@ int main(int argc, char *argv[])
salt = optarg; salt = optarg;
break; break;
case 'H': case 'H':
if (*optarg == '\0') { if (!*optarg) {
display_algorithms(); display_algorithms();
exit(0); exit(0);
} }
@ -89,7 +95,7 @@ int main(int argc, char *argv[])
break; break;
} }
if (!salt_prefix) { if (!salt_prefix) {
fprintf(stderr, "Invalid hash type `%s'.\n", optarg); fprintf(stderr, _("Invalid hash type '%s'.\n"), optarg);
exit(1); exit(1);
} }
break; break;
@ -100,7 +106,8 @@ int main(int argc, char *argv[])
display_help(); display_help();
exit(0); exit(0);
default: default:
fprintf(stderr, "Try `%s --help' for more information.\n", argv[0]); fprintf(stderr, _("Try '%s --help' for more information.\n"),
argv[0]);
exit(1); exit(1);
} }
} }
@ -127,13 +134,13 @@ int main(int argc, char *argv[])
if (salt) { if (salt) {
i = strlen(salt); i = strlen(salt);
if (i != salt_len) { if (i != salt_len) {
fprintf(stderr, "Wrong salt length: %d byte(s) instead of %d.\n", fprintf(stderr, _("Wrong salt length: %d byte(s) instead of %d.\n"),
i, salt_len); i, salt_len);
exit(1); exit(1);
} }
while (i-- > 0) while (i-- > 0)
if (strchr(valid_salts, salt[i]) == NULL) { if (strchr(valid_salts, salt[i]) == NULL) {
fprintf(stderr, "Illegal salt character `%c'.\n", salt[i]); fprintf(stderr, _("Illegal salt character '%c'.\n"), salt[i]);
exit(1); exit(1);
} }
} else { } else {
@ -143,29 +150,29 @@ int main(int argc, char *argv[])
if (!password) { if (!password) {
if (use_stdin) { if (use_stdin) {
if (!isatty(STDIN_FILENO)) if (isatty(STDIN_FILENO))
fprintf(stderr, "Password: "); fprintf(stderr, _("Password: "));
password = malloc(128); password = malloc(128);
if (!fgets(password, sizeof password, stdin)) { if (!fgets(password, sizeof password, stdin)) {
perror("fgets:"); perror("fgets:");
exit(2); exit(2);
} }
p = password; p = password;
while (*p != '\0') { while (*p) {
if (*p == '\n') { if (*p == '\n') {
*p = '\0'; *p = '\0';
break; break;
} }
/* which characters are valid? */ /* which characters are valid? */
if (*p > 0x7f) { if (*p > 0x7f) {
fprintf(stderr, "Illegal password character `0x%hhx'.\n", fprintf(stderr, _("Illegal password character '0x%hhx'.\n"),
*p); *p);
exit(1); exit(1);
} }
p++; p++;
} }
} else { } else {
password = getpass("Password: "); password = getpass(_("Password: "));
if (!password) { if (!password) {
perror("getpass:"); perror("getpass:");
exit(2); exit(2);
@ -193,9 +200,9 @@ void generate_salt(char *buf, const unsigned int len)
void display_help(void) void display_help(void)
{ {
fprintf(stderr, "Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n" fprintf(stderr, _("Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n\n"); "Crypts the PASSWORD using crypt(3).\n\n"));
fprintf(stderr, fprintf(stderr, _(
" -H, --hash=TYPE select hash TYPE\n" " -H, --hash=TYPE select hash TYPE\n"
" -S, --salt=SALT use the specified SALT\n" " -S, --salt=SALT use the specified SALT\n"
" -s, --stdin read the password from stdin instead of /dev/tty\n" " -s, --stdin read the password from stdin instead of /dev/tty\n"
@ -205,7 +212,7 @@ void display_help(void)
"If PASSWORD is missing then it is asked interactively.\n" "If PASSWORD is missing then it is asked interactively.\n"
"If no SALT is specified, a random one is generated.\n" "If no SALT is specified, a random one is generated.\n"
"\n" "\n"
"Report bugs to %s.\n", "<md+whois@linux.it>"); "Report bugs to %s.\n"), "<md+whois@linux.it>");
} }
void display_version(void) void display_version(void)
@ -218,5 +225,5 @@ void display_version(void)
void display_algorithms(void) void display_algorithms(void)
{ {
printf("Available algorithms:\n"); printf(_("Available algorithms:\n"));
} }

View File

@ -5,7 +5,7 @@ PACKAGE = whois
CATALOGS = de.mo el.mo es.mo it.mo no.mo pl.mo CATALOGS = de.mo el.mo es.mo it.mo no.mo pl.mo
POTFILES=../whois.c POTFILES=../whois.c ../mkpasswd.c
all: $(PACKAGE).pot $(CATALOGS) all: $(PACKAGE).pot $(CATALOGS)

129
po/de.po
View File

@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: whois 4.4.13\n" "Project-Id-Version: whois 4.4.13\n"
"POT-Creation-Date: 2001-08-26 20:47+0200\n" "POT-Creation-Date: 2001-09-30 16:07+0200\n"
"PO-Revision-Date: 2001-07-04 15:15+01:00\n" "PO-Revision-Date: 2001-07-04 15:15+01:00\n"
"Last-Translator: Simon Richter <Simon.Richter@in.tum.de>\n" "Last-Translator: Simon Richter <Simon.Richter@in.tum.de>\n"
"Language-Team: German <de@li.org>\n" "Language-Team: German <de@li.org>\n"
@ -13,7 +13,7 @@ msgstr ""
"Content-Type: text/plain; charset=iso-8859-1\n" "Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: ../whois.c:100 #: ../whois.c:106
#, c-format #, c-format
msgid "" msgid ""
"Version %s.\n" "Version %s.\n"
@ -24,11 +24,29 @@ msgstr ""
"\n" "\n"
"Senden sie Bugreports an %s.\n" "Senden sie Bugreports an %s.\n"
#: ../whois.c:137 #: ../whois.c:149 ../whois.c:183
#, c-format
msgid "Using server %s.\n"
msgstr "Benutze Server %s.\n"
#: ../whois.c:160
#, c-format
msgid "Using default server %s.\n"
msgstr "Benutze voreingestellten Server %s.\n"
#: ../whois.c:163
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr "Diese TLD hat keinen whois-Server, aber eine whois-Datenbank unter"
#: ../whois.c:169
msgid "This TLD has no whois server."
msgstr "Diese TLD hat keinen whois-Server."
#: ../whois.c:173
msgid "Connecting to whois.internic.net." msgid "Connecting to whois.internic.net."
msgstr "Verbinde zu whois.internic.net." msgstr "Verbinde zu whois.internic.net."
#: ../whois.c:143 #: ../whois.c:179
#, c-format #, c-format
msgid "" msgid ""
"\n" "\n"
@ -39,25 +57,7 @@ msgstr ""
"InterNIC verweist auf %s.\n" "InterNIC verweist auf %s.\n"
"\n" "\n"
#: ../whois.c:153 #: ../whois.c:192
#, c-format
msgid "Using default server %s.\n"
msgstr "Benutze voreingestellten Server %s.\n"
#: ../whois.c:156
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr "Diese TLD hat keinen whois-Server, aber eine whois-Datenbank unter"
#: ../whois.c:162
msgid "This TLD has no whois server."
msgstr "Diese TLD hat keinen whois-Server."
#: ../whois.c:166
#, c-format
msgid "Using server %s.\n"
msgstr "Benutze Server %s.\n"
#: ../whois.c:175
#, c-format #, c-format
msgid "" msgid ""
"Query string: \"%s\"\n" "Query string: \"%s\"\n"
@ -66,7 +66,12 @@ msgstr ""
"Suche nach: \"%s\"\n" "Suche nach: \"%s\"\n"
"\n" "\n"
#: ../whois.c:235 #: ../whois.c:242 ../whois.c:245
#, c-format
msgid "Cannot parse this line: %s"
msgstr ""
#: ../whois.c:318
msgid "" msgid ""
"I don't know where this IP has been delegated.\n" "I don't know where this IP has been delegated.\n"
"I'll try ARIN and hope for the best..." "I'll try ARIN and hope for the best..."
@ -74,32 +79,32 @@ msgstr ""
"Es ließ sich nicht feststellen, wer diese IP vergeben hat.\n" "Es ließ sich nicht feststellen, wer diese IP vergeben hat.\n"
"Versuche ARIN..." "Versuche ARIN..."
#: ../whois.c:252 #: ../whois.c:335
msgid "I guess it's a netblock name but I don't know where to look it up." msgid "I guess it's a netblock name but I don't know where to look it up."
msgstr "" msgstr ""
"Vermutlich ist dies ein Netblock-Name, aber es gibt keinen\n" "Vermutlich ist dies ein Netblock-Name, aber es gibt keinen\n"
"voreingestellten Server." "voreingestellten Server."
#: ../whois.c:259 #: ../whois.c:342
msgid "I guess it's a domain but I don't know where to look it up." msgid "I guess it's a domain but I don't know where to look it up."
msgstr "" msgstr ""
"Vermutlich ist dies ein Domainname, aber es gibt keinen\n" "Vermutlich ist dies ein Domainname, aber es gibt keinen\n"
"voreingestellten Server." "voreingestellten Server."
#: ../whois.c:269 #: ../whois.c:352
msgid "Unknown AS number. Please upgrade this program." msgid "Unknown AS number. Please upgrade this program."
msgstr "Unbekannte AS-Nummer. Bitte upgraden Sie dieses Programm." msgstr "Unbekannte AS-Nummer. Bitte upgraden Sie dieses Programm."
#: ../whois.c:299 #: ../whois.c:382
msgid "Warning: RIPE flags ignored for a traditional server." msgid "Warning: RIPE flags ignored for a traditional server."
msgstr "Warnung: RIPE-Flags wurden ignoriert (\"traditioneller\" Server)." msgstr "Warnung: RIPE-Flags wurden ignoriert (\"traditioneller\" Server)."
#: ../whois.c:363 #: ../whois.c:446
#, c-format #, c-format
msgid "Detected referral to %s on %s.\n" msgid "Detected referral to %s on %s.\n"
msgstr "Verweis auf %s gefunden bei %s.\n" msgstr "Verweis auf %s gefunden bei %s.\n"
#: ../whois.c:380 #: ../whois.c:463
msgid "" msgid ""
"Catastrophic error: disclaimer text has been changed.\n" "Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n" "Please upgrade this program.\n"
@ -107,22 +112,22 @@ msgstr ""
"Schwerer Fehler: Haftungsausschlusstext wurde geaendert.\n" "Schwerer Fehler: Haftungsausschlusstext wurde geaendert.\n"
"Bitte upgraden sie dieses Programm.\n" "Bitte upgraden sie dieses Programm.\n"
#: ../whois.c:450 #: ../whois.c:533
#, c-format #, c-format
msgid "Host %s not found." msgid "Host %s not found."
msgstr "Host %s nicht gefunden." msgstr "Host %s nicht gefunden."
#: ../whois.c:460 #: ../whois.c:543
#, c-format #, c-format
msgid "%s/tcp: unknown service" msgid "%s/tcp: unknown service"
msgstr "%s/tcp: unbekannter Dienst" msgstr "%s/tcp: unbekannter Dienst"
#: ../whois.c:477 #: ../whois.c:560
#, c-format #, c-format
msgid "Interrupted by signal %d..." msgid "Interrupted by signal %d..."
msgstr "Erhielt Signal %d, unterbrochen..." msgstr "Erhielt Signal %d, unterbrochen..."
#: ../whois.c:520 #: ../whois.c:592
msgid "" msgid ""
"Usage: whois [OPTION]... OBJECT...\n" "Usage: whois [OPTION]... OBJECT...\n"
"\n" "\n"
@ -185,3 +190,59 @@ msgstr ""
"-V --verbose erkläre, was getan wird\n" "-V --verbose erkläre, was getan wird\n"
" --help zeige diese Hilfe\n" " --help zeige diese Hilfe\n"
" --version zeige Version\n" " --version zeige Version\n"
#: ../mkpasswd.c:101
#, c-format
msgid "Invalid hash type '%s'.\n"
msgstr ""
#: ../mkpasswd.c:112
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr ""
#: ../mkpasswd.c:140
#, c-format
msgid "Wrong salt length: %d byte(s) instead of %d.\n"
msgstr ""
#: ../mkpasswd.c:146
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr ""
#: ../mkpasswd.c:157 ../mkpasswd.c:178
msgid "Password: "
msgstr ""
#: ../mkpasswd.c:171
#, c-format
msgid "Illegal password character '0x%hhx'.\n"
msgstr ""
#: ../mkpasswd.c:206
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
"\n"
msgstr ""
#: ../mkpasswd.c:209
#, c-format
msgid ""
" -H, --hash=TYPE select hash TYPE\n"
" -S, --salt=SALT use the specified SALT\n"
" -s, --stdin read the password from stdin instead of /dev/"
"tty\n"
" -h, --help display this help and exit\n"
" -v, --version output version information and exit\n"
"\n"
"If PASSWORD is missing then it is asked interactively.\n"
"If no SALT is specified, a random one is generated.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
#: ../mkpasswd.c:231
msgid "Available algorithms:\n"
msgstr ""

133
po/el.po
View File

@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: whois 4.5.3\n" "Project-Id-Version: whois 4.5.3\n"
"POT-Creation-Date: 2001-08-26 20:47+0200\n" "POT-Creation-Date: 2001-09-30 16:07+0200\n"
"PO-Revision-Date: 2001-02-23 16:07:57+0900\n" "PO-Revision-Date: 2001-02-23 16:07:57+0900\n"
"Last-Translator: Simos Xenitellis <simos@hellug.gr>\n" "Last-Translator: Simos Xenitellis <simos@hellug.gr>\n"
"Language-Team: Greek <nls@tux.hellug.gr>\n" "Language-Team: Greek <nls@tux.hellug.gr>\n"
@ -13,7 +13,7 @@ msgstr ""
"Content-Type: text/plain; charset=iso-8859-7\n" "Content-Type: text/plain; charset=iso-8859-7\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: ../whois.c:100 #: ../whois.c:106
#, c-format #, c-format
msgid "" msgid ""
"Version %s.\n" "Version %s.\n"
@ -24,11 +24,31 @@ msgstr ""
"\n" "\n"
"ÁíáöÝñáôå óöÜëìáôá óôï %s.\n" "ÁíáöÝñáôå óöÜëìáôá óôï %s.\n"
#: ../whois.c:137 #: ../whois.c:149 ../whois.c:183
#, c-format
msgid "Using server %s.\n"
msgstr "Ãßíåôáé ÷ñÞóç ôïõ åîõðçñåôçôÞ %s.\n"
#: ../whois.c:160
#, c-format
msgid "Using default server %s.\n"
msgstr "×ñÞóç åî' ïñéóìïý åîõðçñåôçôÞ %s.\n"
#: ../whois.c:163
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
"Áõôü ôï TLD äåí Ý÷åé åîõðçñåôçôÞ whois, ùóôüóï ìðïñåßôå íá ðñïóðåëÜóåôå ôçí "
"âÜóç whois óôï"
#: ../whois.c:169
msgid "This TLD has no whois server."
msgstr "Áõôü ôï TLD äåí Ý÷åé åîõðçñåôçôÞ whois."
#: ../whois.c:173
msgid "Connecting to whois.internic.net." msgid "Connecting to whois.internic.net."
msgstr "Ãßíåôáé óýíäåóç óôï whois.internic.net." msgstr "Ãßíåôáé óýíäåóç óôï whois.internic.net."
#: ../whois.c:143 #: ../whois.c:179
#, c-format #, c-format
msgid "" msgid ""
"\n" "\n"
@ -39,27 +59,7 @@ msgstr ""
"ÂñÝèçêå áíáöïñÜ áðü ôï InterNIC óôï %s.\n" "ÂñÝèçêå áíáöïñÜ áðü ôï InterNIC óôï %s.\n"
"\n" "\n"
#: ../whois.c:153 #: ../whois.c:192
#, c-format
msgid "Using default server %s.\n"
msgstr "×ñÞóç åî' ïñéóìïý åîõðçñåôçôÞ %s.\n"
#: ../whois.c:156
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
"Áõôü ôï TLD äåí Ý÷åé åîõðçñåôçôÞ whois, ùóôüóï ìðïñåßôå íá ðñïóðåëÜóåôå ôçí "
"âÜóç whois óôï"
#: ../whois.c:162
msgid "This TLD has no whois server."
msgstr "Áõôü ôï TLD äåí Ý÷åé åîõðçñåôçôÞ whois."
#: ../whois.c:166
#, c-format
msgid "Using server %s.\n"
msgstr "Ãßíåôáé ÷ñÞóç ôïõ åîõðçñåôçôÞ %s.\n"
#: ../whois.c:175
#, c-format #, c-format
msgid "" msgid ""
"Query string: \"%s\"\n" "Query string: \"%s\"\n"
@ -68,7 +68,12 @@ msgstr ""
"Áëöáñéèìçôéêü åñþôçóçò: \"%s\"\n" "Áëöáñéèìçôéêü åñþôçóçò: \"%s\"\n"
"\n" "\n"
#: ../whois.c:235 #: ../whois.c:242 ../whois.c:245
#, c-format
msgid "Cannot parse this line: %s"
msgstr ""
#: ../whois.c:318
msgid "" msgid ""
"I don't know where this IP has been delegated.\n" "I don't know where this IP has been delegated.\n"
"I'll try ARIN and hope for the best..." "I'll try ARIN and hope for the best..."
@ -76,30 +81,30 @@ msgstr ""
"Äå ãíùñßæå óå ðïéïí Ý÷åé áðïäïèåß åõèýíç ãéá áõôÞí ôçí äéåýèõíóç IP.\n" "Äå ãíùñßæå óå ðïéïí Ý÷åé áðïäïèåß åõèýíç ãéá áõôÞí ôçí äéåýèõíóç IP.\n"
"Èá äïêéìÜóù ôï ARIN êáé åý÷ïìå ãéá ôï êáëýôåñï..." "Èá äïêéìÜóù ôï ARIN êáé åý÷ïìå ãéá ôï êáëýôåñï..."
#: ../whois.c:252 #: ../whois.c:335
msgid "I guess it's a netblock name but I don't know where to look it up." msgid "I guess it's a netblock name but I don't know where to look it up."
msgstr "" msgstr ""
"Ðéóôåýù üôé åßíáé üíïìá ìðëïê äéêôýïõ áëëÜ äå ãíùñßæù ðïõ íá ôï áíáæçôÞóù." "Ðéóôåýù üôé åßíáé üíïìá ìðëïê äéêôýïõ áëëÜ äå ãíùñßæù ðïõ íá ôï áíáæçôÞóù."
#: ../whois.c:259 #: ../whois.c:342
msgid "I guess it's a domain but I don't know where to look it up." msgid "I guess it's a domain but I don't know where to look it up."
msgstr "Ðéóôåýù üôé åßíáé Ýíá åðßèçìá áëëÜ äå ãíùñßæù ðïõ íá ôï áíáæçôÞóù." msgstr "Ðéóôåýù üôé åßíáé Ýíá åðßèçìá áëëÜ äå ãíùñßæù ðïõ íá ôï áíáæçôÞóù."
#: ../whois.c:269 #: ../whois.c:352
msgid "Unknown AS number. Please upgrade this program." msgid "Unknown AS number. Please upgrade this program."
msgstr "¶ãíùóôïò áñéèìüò AS. Ðáñáêáëþ åíçìåñþóôå áõôü ôï ðñüãñáììá." msgstr "¶ãíùóôïò áñéèìüò AS. Ðáñáêáëþ åíçìåñþóôå áõôü ôï ðñüãñáììá."
#: ../whois.c:299 #: ../whois.c:382
msgid "Warning: RIPE flags ignored for a traditional server." msgid "Warning: RIPE flags ignored for a traditional server."
msgstr "" msgstr ""
"Ðñïåéäïðïßçóç: Ç óçìáßåò ôïõ RIPE áãíïïýíôáé óå Ýíáí ðáñáäïóéáêü åîõðçñåôçôÞ." "Ðñïåéäïðïßçóç: Ç óçìáßåò ôïõ RIPE áãíïïýíôáé óå Ýíáí ðáñáäïóéáêü åîõðçñåôçôÞ."
#: ../whois.c:363 #: ../whois.c:446
#, c-format #, c-format
msgid "Detected referral to %s on %s.\n" msgid "Detected referral to %s on %s.\n"
msgstr "Áíé÷íåýèçêå áíáöïñÜ ôïõ %s óôï %s.\n" msgstr "Áíé÷íåýèçêå áíáöïñÜ ôïõ %s óôï %s.\n"
#: ../whois.c:380 #: ../whois.c:463
msgid "" msgid ""
"Catastrophic error: disclaimer text has been changed.\n" "Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n" "Please upgrade this program.\n"
@ -107,22 +112,22 @@ msgstr ""
"Êáôáóôñïöéêü óöÜëìá: ôï êåßìåíï ôçò áðïðïßçóçò åõèõíþí Ý÷åé ôñïðïðïéçèåß.\n" "Êáôáóôñïöéêü óöÜëìá: ôï êåßìåíï ôçò áðïðïßçóçò åõèõíþí Ý÷åé ôñïðïðïéçèåß.\n"
"Ðáñáêáëþ áíáâáèìßóôå ôï ðñüãñáììá.\n" "Ðáñáêáëþ áíáâáèìßóôå ôï ðñüãñáììá.\n"
#: ../whois.c:450 #: ../whois.c:533
#, c-format #, c-format
msgid "Host %s not found." msgid "Host %s not found."
msgstr "Ôï óýóôçìá %s äå âñÝèçêå." msgstr "Ôï óýóôçìá %s äå âñÝèçêå."
#: ../whois.c:460 #: ../whois.c:543
#, c-format #, c-format
msgid "%s/tcp: unknown service" msgid "%s/tcp: unknown service"
msgstr "%s/tcp: Üãíùóôç õðçñåóßá" msgstr "%s/tcp: Üãíùóôç õðçñåóßá"
#: ../whois.c:477 #: ../whois.c:560
#, c-format #, c-format
msgid "Interrupted by signal %d..." msgid "Interrupted by signal %d..."
msgstr "ÄéáêïðÞ áðü ôï óÞìá %d..." msgstr "ÄéáêïðÞ áðü ôï óÞìá %d..."
#: ../whois.c:520 #: ../whois.c:592
msgid "" msgid ""
"Usage: whois [OPTION]... OBJECT...\n" "Usage: whois [OPTION]... OBJECT...\n"
"\n" "\n"
@ -192,3 +197,59 @@ msgstr ""
"-V --verbose åîÞãçóç ôïõ ôß óõìâáßíåé\n" "-V --verbose åîÞãçóç ôïõ ôß óõìâáßíåé\n"
" --help åìöÜíéóç áõôÞò ôçò âïÞèåéáò êáé Ýîïäïò\n" " --help åìöÜíéóç áõôÞò ôçò âïÞèåéáò êáé Ýîïäïò\n"
" --version åìöÜíéóç ôçò Ýêäïóçò êáé Ýîïäïò\n" " --version åìöÜíéóç ôçò Ýêäïóçò êáé Ýîïäïò\n"
#: ../mkpasswd.c:101
#, c-format
msgid "Invalid hash type '%s'.\n"
msgstr ""
#: ../mkpasswd.c:112
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr ""
#: ../mkpasswd.c:140
#, c-format
msgid "Wrong salt length: %d byte(s) instead of %d.\n"
msgstr ""
#: ../mkpasswd.c:146
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr ""
#: ../mkpasswd.c:157 ../mkpasswd.c:178
msgid "Password: "
msgstr ""
#: ../mkpasswd.c:171
#, c-format
msgid "Illegal password character '0x%hhx'.\n"
msgstr ""
#: ../mkpasswd.c:206
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
"\n"
msgstr ""
#: ../mkpasswd.c:209
#, c-format
msgid ""
" -H, --hash=TYPE select hash TYPE\n"
" -S, --salt=SALT use the specified SALT\n"
" -s, --stdin read the password from stdin instead of /dev/"
"tty\n"
" -h, --help display this help and exit\n"
" -v, --version output version information and exit\n"
"\n"
"If PASSWORD is missing then it is asked interactively.\n"
"If no SALT is specified, a random one is generated.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
#: ../mkpasswd.c:231
msgid "Available algorithms:\n"
msgstr ""

149
po/es.po
View File

@ -4,8 +4,8 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: whois 4.5.7\n" "Project-Id-Version: whois 4.5.12\n"
"POT-Creation-Date: 2001-08-26 20:47+0200\n" "POT-Creation-Date: 2001-09-30 16:07+0200\n"
"PO-Revision-Date: 2001-06-07 17:21+02:00\n" "PO-Revision-Date: 2001-06-07 17:21+02:00\n"
"Last-Translator: Francisco Monteagudo <francisco@monteagudo.net>\n" "Last-Translator: Francisco Monteagudo <francisco@monteagudo.net>\n"
"Language-Team: Spanish <es@li.org>\n" "Language-Team: Spanish <es@li.org>\n"
@ -13,7 +13,7 @@ msgstr ""
"Content-Type: text/plain; charset=iso-8859-1\n" "Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: ../whois.c:100 #: ../whois.c:106
#, c-format #, c-format
msgid "" msgid ""
"Version %s.\n" "Version %s.\n"
@ -24,11 +24,31 @@ msgstr ""
"\n" "\n"
"Informar de bugs a %s.\n" "Informar de bugs a %s.\n"
#: ../whois.c:137 #: ../whois.c:149 ../whois.c:183
#, c-format
msgid "Using server %s.\n"
msgstr "Usando el servidor %s.\n"
#: ../whois.c:160
#, c-format
msgid "Using default server %s.\n"
msgstr "Usando el servidor predefinido %s.\n"
#: ../whois.c:163
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
"Este TLD no dispone de servidor whois, pero puede acceder a la informacion "
"de whois en"
#: ../whois.c:169
msgid "This TLD has no whois server."
msgstr "No existe servidor whois para este TLD."
#: ../whois.c:173
msgid "Connecting to whois.internic.net." msgid "Connecting to whois.internic.net."
msgstr "Conectando a whois.internic.net." msgstr "Conectando a whois.internic.net."
#: ../whois.c:143 #: ../whois.c:179
#, c-format #, c-format
msgid "" msgid ""
"\n" "\n"
@ -39,27 +59,7 @@ msgstr ""
"Se ha encontrado en InterNIC una referencia a %s.\n" "Se ha encontrado en InterNIC una referencia a %s.\n"
"\n" "\n"
#: ../whois.c:153 #: ../whois.c:192
#, c-format
msgid "Using default server %s.\n"
msgstr "Usando el servidor predefinido %s.\n"
#: ../whois.c:156
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
"Este TLD no dispone de servidor whois, pero puede acceder a la informacion "
"de whois en"
#: ../whois.c:162
msgid "This TLD has no whois server."
msgstr "No existe servidor whois para este TLD."
#: ../whois.c:166
#, c-format
msgid "Using server %s.\n"
msgstr "Usando el servidor %s.\n"
#: ../whois.c:175
#, c-format #, c-format
msgid "" msgid ""
"Query string: \"%s\"\n" "Query string: \"%s\"\n"
@ -68,7 +68,12 @@ msgstr ""
"Consulta: \"%s\"\n" "Consulta: \"%s\"\n"
"\n" "\n"
#: ../whois.c:235 #: ../whois.c:242 ../whois.c:245
#, c-format
msgid "Cannot parse this line: %s"
msgstr "No puedo procesar esta linea: %s"
#: ../whois.c:318
msgid "" msgid ""
"I don't know where this IP has been delegated.\n" "I don't know where this IP has been delegated.\n"
"I'll try ARIN and hope for the best..." "I'll try ARIN and hope for the best..."
@ -76,30 +81,30 @@ msgstr ""
"Ignoro a quien a sido delegada esta direccion IP.\n" "Ignoro a quien a sido delegada esta direccion IP.\n"
"Voy a probar con ARIN a ver si hay suerte..." "Voy a probar con ARIN a ver si hay suerte..."
#: ../whois.c:252 #: ../whois.c:335
msgid "I guess it's a netblock name but I don't know where to look it up." msgid "I guess it's a netblock name but I don't know where to look it up."
msgstr "" msgstr ""
"Aparentemente, es el nombre de un netblock, pero ignoro donde buscarlo." "Aparentemente, es el nombre de un netblock, pero ignoro donde buscarlo."
#: ../whois.c:259 #: ../whois.c:342
msgid "I guess it's a domain but I don't know where to look it up." msgid "I guess it's a domain but I don't know where to look it up."
msgstr "Aparentemente, es un nombre de dominio, pero ignoro donde buscarlo." msgstr "Aparentemente, es un nombre de dominio, pero ignoro donde buscarlo."
#: ../whois.c:269 #: ../whois.c:352
msgid "Unknown AS number. Please upgrade this program." msgid "Unknown AS number. Please upgrade this program."
msgstr "Numero AS desconocido. Por favor, actualice este programa." msgstr "Numero AS desconocido. Por favor, actualice este programa."
#: ../whois.c:299 #: ../whois.c:382
msgid "Warning: RIPE flags ignored for a traditional server." msgid "Warning: RIPE flags ignored for a traditional server."
msgstr "" msgstr ""
"Atencion: Los flags RIPE son ignorados por los servidores tradicionales." "Atencion: Los flags RIPE son ignorados por los servidores tradicionales."
#: ../whois.c:363 #: ../whois.c:446
#, c-format #, c-format
msgid "Detected referral to %s on %s.\n" msgid "Detected referral to %s on %s.\n"
msgstr "Detectada una referencia a %s en %s.\n" msgstr "Detectada una referencia a %s en %s.\n"
#: ../whois.c:380 #: ../whois.c:463
msgid "" msgid ""
"Catastrophic error: disclaimer text has been changed.\n" "Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n" "Please upgrade this program.\n"
@ -107,22 +112,22 @@ msgstr ""
"Error catastrofico: el texto de las condiciones de uso ha sido cambiado.\n" "Error catastrofico: el texto de las condiciones de uso ha sido cambiado.\n"
"Actualize este programa.\n" "Actualize este programa.\n"
#: ../whois.c:450 #: ../whois.c:533
#, c-format #, c-format
msgid "Host %s not found." msgid "Host %s not found."
msgstr "Host %s no encontrado." msgstr "Host %s no encontrado."
#: ../whois.c:460 #: ../whois.c:543
#, c-format #, c-format
msgid "%s/tcp: unknown service" msgid "%s/tcp: unknown service"
msgstr "%s/tcp: servicio desconocido" msgstr "%s/tcp: servicio desconocido"
#: ../whois.c:477 #: ../whois.c:560
#, c-format #, c-format
msgid "Interrupted by signal %d..." msgid "Interrupted by signal %d..."
msgstr "Interrumpido por la señal %d..." msgstr "Interrumpido por la señal %d..."
#: ../whois.c:520 #: ../whois.c:592
msgid "" msgid ""
"Usage: whois [OPTION]... OBJECT...\n" "Usage: whois [OPTION]... OBJECT...\n"
"\n" "\n"
@ -187,3 +192,73 @@ msgstr ""
"-V --verbose muestra lo que se esta haciendo\n" "-V --verbose muestra lo que se esta haciendo\n"
" --help muestra esta pantalla de ayuda y finaliza\n" " --help muestra esta pantalla de ayuda y finaliza\n"
" --version muestra la version del programa y finaliza\n" " --version muestra la version del programa y finaliza\n"
#: ../mkpasswd.c:101
#, c-format
msgid "Invalid hash type '%s'.\n"
msgstr "La funcion de hash '%s' no es valida.\n"
#: ../mkpasswd.c:112
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "%s --help para mas informacion.\n"
#: ../mkpasswd.c:140
#, c-format
msgid "Wrong salt length: %d byte(s) instead of %d.\n"
msgstr "Tamaño de semilla incorrecto: %d bytes en lugar de %d.\n"
#: ../mkpasswd.c:146
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr "El caracter '%c' ilegal en la semilla.\n"
#: ../mkpasswd.c:157 ../mkpasswd.c:178
msgid "Password: "
msgstr "Clave: "
#: ../mkpasswd.c:171
#, c-format
msgid "Illegal password character '0x%hhx'.\n"
msgstr "El caracter '0x%hhx' es ilegal en la clave.\n"
#: ../mkpasswd.c:206
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
"\n"
msgstr ""
"Utilizacion: mkpasswd [OPCIONES]... [CLAVE [SEMILLA]]\n"
"Encripta CLAVE utilizando crypt(3).\n"
"\n"
#: ../mkpasswd.c:209
#, c-format
msgid ""
" -H, --hash=TYPE select hash TYPE\n"
" -S, --salt=SALT use the specified SALT\n"
" -s, --stdin read the password from stdin instead of /dev/"
"tty\n"
" -h, --help display this help and exit\n"
" -v, --version output version information and exit\n"
"\n"
"If PASSWORD is missing then it is asked interactively.\n"
"If no SALT is specified, a random one is generated.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
" -H, --hash=TIPO selecciona la funcion hash TIPO\n"
" -S, --salt=SEMILLA utiliza la SEMILLA indicada\n"
" -s, --stdin lee la clave de stdin en lugar de /dev/"
"tty\n"
" -h, --help muestra este mensaje de ayuda\n"
" -v, --version muestra la version del programa\n"
"\n"
"Si la CLAVE no es especificada, se pedira una de forma interactiva.\n"
"Si no se especifica la SEMILLA, se generara una aleatoriamente.\n"
"\n"
"Informar de bugs a: %s.\n"
#: ../mkpasswd.c:231
msgid "Available algorithms:\n"
msgstr "Algoritmos disponibles:\n"

146
po/it.po
View File

@ -5,15 +5,15 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: whois 4.4.13\n" "Project-Id-Version: whois 4.4.13\n"
"POT-Creation-Date: 2001-08-26 20:47+0200\n" "POT-Creation-Date: 2001-09-30 16:07+0200\n"
"PO-Revision-Date: 2001-02-24 11:43+01:00\n" "PO-Revision-Date: 2001-09-23 18:32+0200\n"
"Last-Translator: Marco d'Itri <md@linux.it>\n" "Last-Translator: Marco d'Itri <md@linux.it>\n"
"Language-Team: Italian <it@li.org>\n" "Language-Team: Italian <it@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n" "Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: ../whois.c:100 #: ../whois.c:106
#, c-format #, c-format
msgid "" msgid ""
"Version %s.\n" "Version %s.\n"
@ -24,11 +24,30 @@ msgstr ""
"\n" "\n"
"Segnalare i bug a %s.\n" "Segnalare i bug a %s.\n"
#: ../whois.c:137 #: ../whois.c:149 ../whois.c:183
#, c-format
msgid "Using server %s.\n"
msgstr "Uso il server %s.\n"
#: ../whois.c:160
#, c-format
msgid "Using default server %s.\n"
msgstr "Uso il server predefinito %s.\n"
#: ../whois.c:163
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
"Questo TLD non ha un server whois, ma si può accedere al database tramite"
#: ../whois.c:169
msgid "This TLD has no whois server."
msgstr "Per questo TLD non esiste un server whois."
#: ../whois.c:173
msgid "Connecting to whois.internic.net." msgid "Connecting to whois.internic.net."
msgstr "Mi sto connettendo a whois.internic.net." msgstr "Mi sto connettendo a whois.internic.net."
#: ../whois.c:143 #: ../whois.c:179
#, c-format #, c-format
msgid "" msgid ""
"\n" "\n"
@ -39,26 +58,7 @@ msgstr ""
"Trovato un riferimento di InterNIC a %s.\n" "Trovato un riferimento di InterNIC a %s.\n"
"\n" "\n"
#: ../whois.c:153 #: ../whois.c:192
#, c-format
msgid "Using default server %s.\n"
msgstr "Uso il server predefinito %s.\n"
#: ../whois.c:156
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
"Questo TLD non ha un server whois, ma si può accedere al database tramite"
#: ../whois.c:162
msgid "This TLD has no whois server."
msgstr "Per questo TLD non esiste un server whois."
#: ../whois.c:166
#, c-format
msgid "Using server %s.\n"
msgstr "Uso il server %s.\n"
#: ../whois.c:175
#, c-format #, c-format
msgid "" msgid ""
"Query string: \"%s\"\n" "Query string: \"%s\"\n"
@ -67,7 +67,12 @@ msgstr ""
"Richiesta: \"%s\"\n" "Richiesta: \"%s\"\n"
"\n" "\n"
#: ../whois.c:235 #: ../whois.c:242 ../whois.c:245
#, c-format
msgid "Cannot parse this line: %s"
msgstr "Impossibile interpretare questa riga: %s"
#: ../whois.c:318
msgid "" msgid ""
"I don't know where this IP has been delegated.\n" "I don't know where this IP has been delegated.\n"
"I'll try ARIN and hope for the best..." "I'll try ARIN and hope for the best..."
@ -75,28 +80,28 @@ msgstr ""
"Non so a chi è stato delegato questo IP.\n" "Non so a chi è stato delegato questo IP.\n"
"Proverò con ARIN sperando per il meglio..." "Proverò con ARIN sperando per il meglio..."
#: ../whois.c:252 #: ../whois.c:335
msgid "I guess it's a netblock name but I don't know where to look it up." msgid "I guess it's a netblock name but I don't know where to look it up."
msgstr "Credo che sia il nome di un netblock ma non so dove cercarlo." msgstr "Credo che sia il nome di un netblock ma non so dove cercarlo."
#: ../whois.c:259 #: ../whois.c:342
msgid "I guess it's a domain but I don't know where to look it up." msgid "I guess it's a domain but I don't know where to look it up."
msgstr "Credo che sia un dominio ma non so dove cercarlo." msgstr "Credo che sia un dominio ma non so dove cercarlo."
#: ../whois.c:269 #: ../whois.c:352
msgid "Unknown AS number. Please upgrade this program." msgid "Unknown AS number. Please upgrade this program."
msgstr "Numero dell'AS sconosciuto. Per favore aggiorna il programma." msgstr "Numero dell'AS sconosciuto. Per favore aggiorna il programma."
#: ../whois.c:299 #: ../whois.c:382
msgid "Warning: RIPE flags ignored for a traditional server." msgid "Warning: RIPE flags ignored for a traditional server."
msgstr "Attenzione: i flag RIPE sono ignorati dai server tradizionali." msgstr "Attenzione: i flag RIPE sono ignorati dai server tradizionali."
#: ../whois.c:363 #: ../whois.c:446
#, c-format #, c-format
msgid "Detected referral to %s on %s.\n" msgid "Detected referral to %s on %s.\n"
msgstr "Trovato un riferimento a %s su %s.\n" msgstr "Trovato un riferimento a %s su %s.\n"
#: ../whois.c:380 #: ../whois.c:463
msgid "" msgid ""
"Catastrophic error: disclaimer text has been changed.\n" "Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n" "Please upgrade this program.\n"
@ -104,22 +109,22 @@ msgstr ""
"Errore catastrofico: il testo di avvertenze è cambiato.\n" "Errore catastrofico: il testo di avvertenze è cambiato.\n"
"Aggiorna questo programma.\n" "Aggiorna questo programma.\n"
#: ../whois.c:450 #: ../whois.c:533
#, c-format #, c-format
msgid "Host %s not found." msgid "Host %s not found."
msgstr "Host %s non trovato." msgstr "Host %s non trovato."
#: ../whois.c:460 #: ../whois.c:543
#, c-format #, c-format
msgid "%s/tcp: unknown service" msgid "%s/tcp: unknown service"
msgstr "%s/tcp: servizio sconosciuto" msgstr "%s/tcp: servizio sconosciuto"
#: ../whois.c:477 #: ../whois.c:560
#, c-format #, c-format
msgid "Interrupted by signal %d..." msgid "Interrupted by signal %d..."
msgstr "Interrotto dal segnale %d..." msgstr "Interrotto dal segnale %d..."
#: ../whois.c:520 #: ../whois.c:592
msgid "" msgid ""
"Usage: whois [OPTION]... OBJECT...\n" "Usage: whois [OPTION]... OBJECT...\n"
"\n" "\n"
@ -183,3 +188,72 @@ msgstr ""
"-V --verbose spiega cosa sta facendo\n" "-V --verbose spiega cosa sta facendo\n"
" --help mostra questo aiuto ed esce\n" " --help mostra questo aiuto ed esce\n"
" --version stampa le informazioni sulla versione ed esce\n" " --version stampa le informazioni sulla versione ed esce\n"
#: ../mkpasswd.c:101
#, c-format
msgid "Invalid hash type '%s'.\n"
msgstr "Il tipo di hash '%s' non è valido.\n"
#: ../mkpasswd.c:112
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "Per maggior informazioni prova '%s --help'.\n"
#: ../mkpasswd.c:140
#, c-format
msgid "Wrong salt length: %d byte(s) instead of %d.\n"
msgstr "Lunghezza del sale sbagliata: %d byte invece di %d.\n"
#: ../mkpasswd.c:146
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr "Il carattere '%c' non è valido in un sale.\n"
#: ../mkpasswd.c:157 ../mkpasswd.c:178
msgid "Password: "
msgstr "Password: "
#: ../mkpasswd.c:171
#, c-format
msgid "Illegal password character '0x%hhx'.\n"
msgstr "Il carattere '0x%hhx' non è valido in una password.\n"
#: ../mkpasswd.c:206
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
"\n"
msgstr ""
"Uso: mkpasswd [OPZIONI]... [PASSWORD [SALE]]\n"
"Cifra la PASSWORD usando crypt(3).\n"
"\n"
#: ../mkpasswd.c:209
#, c-format
msgid ""
" -H, --hash=TYPE select hash TYPE\n"
" -S, --salt=SALT use the specified SALT\n"
" -s, --stdin read the password from stdin instead of /dev/"
"tty\n"
" -h, --help display this help and exit\n"
" -v, --version output version information and exit\n"
"\n"
"If PASSWORD is missing then it is asked interactively.\n"
"If no SALT is specified, a random one is generated.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
" -H, --hash=TIPO seleziona il TIPO di hash\n"
" -S, --salt=SALE usa il SALE specificato\n"
" -s, --stdin legge la password da stdin invece che da /dev/"
"tty\n"
" -h, --help mostra questo aiuto ed esce\n"
"\n"
"Se la PASSWORD non è specificata allora viene chiesta interattivamente.\n"
"Se il SALE non è specificato ne viene generato uno casuale.\n"
"\n"
"Segnalare i bug a %s.\n"
#: ../mkpasswd.c:231
msgid "Available algorithms:\n"
msgstr "Algoritmi disponibili:\n"

129
po/no.po
View File

@ -6,7 +6,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: whois 4.4.5\n" "Project-Id-Version: whois 4.4.5\n"
"POT-Creation-Date: 2001-08-26 20:47+0200\n" "POT-Creation-Date: 2001-09-30 16:07+0200\n"
"PO-Revision-Date: 1999-12-18 14:00:00\n" "PO-Revision-Date: 1999-12-18 14:00:00\n"
"Last-Translator: Egil Kvaleberg <egil@kvaleberg.no>\n" "Last-Translator: Egil Kvaleberg <egil@kvaleberg.no>\n"
"Language-Team: Norwegian <no@li.org>\n" "Language-Team: Norwegian <no@li.org>\n"
@ -14,7 +14,7 @@ msgstr ""
"Content-Type: text/plain; charset=iso-8859-1\n" "Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: ../whois.c:100 #: ../whois.c:106
#, c-format #, c-format
msgid "" msgid ""
"Version %s.\n" "Version %s.\n"
@ -22,11 +22,29 @@ msgid ""
"Report bugs to %s.\n" "Report bugs to %s.\n"
msgstr "" msgstr ""
#: ../whois.c:137 #: ../whois.c:149 ../whois.c:183
#, c-format
msgid "Using server %s.\n"
msgstr "Bruker tjener %s.\n"
#: ../whois.c:160
#, c-format
msgid "Using default server %s.\n"
msgstr "Bruker standardtjener %s.\n"
#: ../whois.c:163
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
#: ../whois.c:169
msgid "This TLD has no whois server."
msgstr ""
#: ../whois.c:173
msgid "Connecting to whois.internic.net." msgid "Connecting to whois.internic.net."
msgstr "Kobler opp mot whois.internic.net." msgstr "Kobler opp mot whois.internic.net."
#: ../whois.c:143 #: ../whois.c:179
#, c-format #, c-format
msgid "" msgid ""
"\n" "\n"
@ -37,25 +55,7 @@ msgstr ""
"Fant InterNIC-referanse til %s.\n" "Fant InterNIC-referanse til %s.\n"
"\n" "\n"
#: ../whois.c:153 #: ../whois.c:192
#, c-format
msgid "Using default server %s.\n"
msgstr "Bruker standardtjener %s.\n"
#: ../whois.c:156
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
#: ../whois.c:162
msgid "This TLD has no whois server."
msgstr ""
#: ../whois.c:166
#, c-format
msgid "Using server %s.\n"
msgstr "Bruker tjener %s.\n"
#: ../whois.c:175
#, c-format #, c-format
msgid "" msgid ""
"Query string: \"%s\"\n" "Query string: \"%s\"\n"
@ -64,7 +64,12 @@ msgstr ""
"Forespørsel: \"%s\"\n" "Forespørsel: \"%s\"\n"
"\n" "\n"
#: ../whois.c:235 #: ../whois.c:242 ../whois.c:245
#, c-format
msgid "Cannot parse this line: %s"
msgstr ""
#: ../whois.c:318
msgid "" msgid ""
"I don't know where this IP has been delegated.\n" "I don't know where this IP has been delegated.\n"
"I'll try ARIN and hope for the best..." "I'll try ARIN and hope for the best..."
@ -72,28 +77,28 @@ msgstr ""
"Vet ikke hvor denne IP-adressen har blitt delegert.\n" "Vet ikke hvor denne IP-adressen har blitt delegert.\n"
"Prøver ARIN og håper det beste..." "Prøver ARIN og håper det beste..."
#: ../whois.c:252 #: ../whois.c:335
msgid "I guess it's a netblock name but I don't know where to look it up." msgid "I guess it's a netblock name but I don't know where to look it up."
msgstr "Gjetter at det er et netblock-navn, men vet ikke hvor det finnes." msgstr "Gjetter at det er et netblock-navn, men vet ikke hvor det finnes."
#: ../whois.c:259 #: ../whois.c:342
msgid "I guess it's a domain but I don't know where to look it up." msgid "I guess it's a domain but I don't know where to look it up."
msgstr "Gjetter at det er er domene, men vet ikke hvor det finnes." msgstr "Gjetter at det er er domene, men vet ikke hvor det finnes."
#: ../whois.c:269 #: ../whois.c:352
msgid "Unknown AS number. Please upgrade this program." msgid "Unknown AS number. Please upgrade this program."
msgstr "Ukjent AS-nummer. Vennligst oppdater programmet." msgstr "Ukjent AS-nummer. Vennligst oppdater programmet."
#: ../whois.c:299 #: ../whois.c:382
msgid "Warning: RIPE flags ignored for a traditional server." msgid "Warning: RIPE flags ignored for a traditional server."
msgstr "Merk: RIPE-flaggene ignoreres for en tradisjonell tjener." msgstr "Merk: RIPE-flaggene ignoreres for en tradisjonell tjener."
#: ../whois.c:363 #: ../whois.c:446
#, c-format #, c-format
msgid "Detected referral to %s on %s.\n" msgid "Detected referral to %s on %s.\n"
msgstr "Referanse til %s vedrørende %s.\n" msgstr "Referanse til %s vedrørende %s.\n"
#: ../whois.c:380 #: ../whois.c:463
#, fuzzy #, fuzzy
msgid "" msgid ""
"Catastrophic error: disclaimer text has been changed.\n" "Catastrophic error: disclaimer text has been changed.\n"
@ -102,22 +107,22 @@ msgstr ""
"Alvorlig feil: INTERNIC har endret standardtekst.\n" "Alvorlig feil: INTERNIC har endret standardtekst.\n"
"Vennligst oppdater programmet.\n" "Vennligst oppdater programmet.\n"
#: ../whois.c:450 #: ../whois.c:533
#, c-format #, c-format
msgid "Host %s not found." msgid "Host %s not found."
msgstr "Finner ikke verten %s." msgstr "Finner ikke verten %s."
#: ../whois.c:460 #: ../whois.c:543
#, c-format #, c-format
msgid "%s/tcp: unknown service" msgid "%s/tcp: unknown service"
msgstr "%s/tcp: ukjent port" msgstr "%s/tcp: ukjent port"
#: ../whois.c:477 #: ../whois.c:560
#, c-format #, c-format
msgid "Interrupted by signal %d..." msgid "Interrupted by signal %d..."
msgstr "Avbrudt av signal %d..." msgstr "Avbrudt av signal %d..."
#: ../whois.c:520 #: ../whois.c:592
#, fuzzy #, fuzzy
msgid "" msgid ""
"Usage: whois [OPTION]... OBJECT...\n" "Usage: whois [OPTION]... OBJECT...\n"
@ -174,3 +179,59 @@ msgstr ""
"-V forklarer hva som skjer\n" "-V forklarer hva som skjer\n"
"\n" "\n"
"Versjon %s. Rapporter feil til %s.\n" "Versjon %s. Rapporter feil til %s.\n"
#: ../mkpasswd.c:101
#, c-format
msgid "Invalid hash type '%s'.\n"
msgstr ""
#: ../mkpasswd.c:112
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr ""
#: ../mkpasswd.c:140
#, c-format
msgid "Wrong salt length: %d byte(s) instead of %d.\n"
msgstr ""
#: ../mkpasswd.c:146
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr ""
#: ../mkpasswd.c:157 ../mkpasswd.c:178
msgid "Password: "
msgstr ""
#: ../mkpasswd.c:171
#, c-format
msgid "Illegal password character '0x%hhx'.\n"
msgstr ""
#: ../mkpasswd.c:206
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
"\n"
msgstr ""
#: ../mkpasswd.c:209
#, c-format
msgid ""
" -H, --hash=TYPE select hash TYPE\n"
" -S, --salt=SALT use the specified SALT\n"
" -s, --stdin read the password from stdin instead of /dev/"
"tty\n"
" -h, --help display this help and exit\n"
" -v, --version output version information and exit\n"
"\n"
"If PASSWORD is missing then it is asked interactively.\n"
"If no SALT is specified, a random one is generated.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
#: ../mkpasswd.c:231
msgid "Available algorithms:\n"
msgstr ""

131
po/pl.po
View File

@ -6,7 +6,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: whois 4.4.5\n" "Project-Id-Version: whois 4.4.5\n"
"POT-Creation-Date: 2001-08-26 20:47+0200\n" "POT-Creation-Date: 2001-09-30 16:07+0200\n"
"PO-Revision-Date: 1999-12-18 14:00:00\n" "PO-Revision-Date: 1999-12-18 14:00:00\n"
"Last-Translator: Micha³ 'CeFeK' Nazarewicz <cefek@career.pl>\n" "Last-Translator: Micha³ 'CeFeK' Nazarewicz <cefek@career.pl>\n"
"Language-Team: Polish <pl@li.org>\n" "Language-Team: Polish <pl@li.org>\n"
@ -14,7 +14,7 @@ msgstr ""
"Content-Type: text/plain; charset=iso-8859-2\n" "Content-Type: text/plain; charset=iso-8859-2\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: ../whois.c:100 #: ../whois.c:106
#, c-format #, c-format
msgid "" msgid ""
"Version %s.\n" "Version %s.\n"
@ -22,11 +22,30 @@ msgid ""
"Report bugs to %s.\n" "Report bugs to %s.\n"
msgstr "" msgstr ""
#: ../whois.c:137 #: ../whois.c:149 ../whois.c:183
#, c-format
msgid "Using server %s.\n"
msgstr "U¿ywam serwera %s.\n"
#: ../whois.c:160
#, c-format
msgid "Using default server %s.\n"
msgstr "Uzywam domy¶lnego serwera %s.\n"
#: ../whois.c:163
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
#: ../whois.c:169
#, fuzzy
msgid "This TLD has no whois server."
msgstr "Nie ma serwera whois dla tej domeny."
#: ../whois.c:173
msgid "Connecting to whois.internic.net." msgid "Connecting to whois.internic.net."
msgstr "£±czenie z hostem whois.internic.net." msgstr "£±czenie z hostem whois.internic.net."
#: ../whois.c:143 #: ../whois.c:179
#, c-format #, c-format
msgid "" msgid ""
"\n" "\n"
@ -37,26 +56,7 @@ msgstr ""
"Znaleziono odniesienie z InterNIC do %s.\n" "Znaleziono odniesienie z InterNIC do %s.\n"
"\n" "\n"
#: ../whois.c:153 #: ../whois.c:192
#, c-format
msgid "Using default server %s.\n"
msgstr "Uzywam domy¶lnego serwera %s.\n"
#: ../whois.c:156
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
#: ../whois.c:162
#, fuzzy
msgid "This TLD has no whois server."
msgstr "Nie ma serwera whois dla tej domeny."
#: ../whois.c:166
#, c-format
msgid "Using server %s.\n"
msgstr "U¿ywam serwera %s.\n"
#: ../whois.c:175
#, c-format #, c-format
msgid "" msgid ""
"Query string: \"%s\"\n" "Query string: \"%s\"\n"
@ -65,7 +65,12 @@ msgstr ""
"Zapytanie: \"%s\"\n" "Zapytanie: \"%s\"\n"
"\n" "\n"
#: ../whois.c:235 #: ../whois.c:242 ../whois.c:245
#, c-format
msgid "Cannot parse this line: %s"
msgstr ""
#: ../whois.c:318
msgid "" msgid ""
"I don't know where this IP has been delegated.\n" "I don't know where this IP has been delegated.\n"
"I'll try ARIN and hope for the best..." "I'll try ARIN and hope for the best..."
@ -73,28 +78,28 @@ msgstr ""
"Nie mo¿na ustaliæ, do kogo ten adres IP zosta³ oddelegowany.\n" "Nie mo¿na ustaliæ, do kogo ten adres IP zosta³ oddelegowany.\n"
"Spróbujê ARIN i mam nadziejê, ¿e siê uda..." "Spróbujê ARIN i mam nadziejê, ¿e siê uda..."
#: ../whois.c:252 #: ../whois.c:335
msgid "I guess it's a netblock name but I don't know where to look it up." msgid "I guess it's a netblock name but I don't know where to look it up."
msgstr "To nazwa bloku sieciowego, ale nie wiem, pod jak± nazw± szukaæ." msgstr "To nazwa bloku sieciowego, ale nie wiem, pod jak± nazw± szukaæ."
#: ../whois.c:259 #: ../whois.c:342
msgid "I guess it's a domain but I don't know where to look it up." msgid "I guess it's a domain but I don't know where to look it up."
msgstr "To nazwa domeny, ale nie wiem, gdzie jej szukaæ." msgstr "To nazwa domeny, ale nie wiem, gdzie jej szukaæ."
#: ../whois.c:269 #: ../whois.c:352
msgid "Unknown AS number. Please upgrade this program." msgid "Unknown AS number. Please upgrade this program."
msgstr "Nieznany numer AS. Zainstaluj nowsz± wersjê programu." msgstr "Nieznany numer AS. Zainstaluj nowsz± wersjê programu."
#: ../whois.c:299 #: ../whois.c:382
msgid "Warning: RIPE flags ignored for a traditional server." msgid "Warning: RIPE flags ignored for a traditional server."
msgstr "Uwaga: flagi RIPE s± ignorowane dla starszych serwerów." msgstr "Uwaga: flagi RIPE s± ignorowane dla starszych serwerów."
#: ../whois.c:363 #: ../whois.c:446
#, c-format #, c-format
msgid "Detected referral to %s on %s.\n" msgid "Detected referral to %s on %s.\n"
msgstr "Wykryto odniesienie do %s na %s.\n" msgstr "Wykryto odniesienie do %s na %s.\n"
#: ../whois.c:380 #: ../whois.c:463
msgid "" msgid ""
"Catastrophic error: disclaimer text has been changed.\n" "Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n" "Please upgrade this program.\n"
@ -102,22 +107,22 @@ msgstr ""
"Katastrofa! Tekst disclaimera zosta³ zmieniony.\n" "Katastrofa! Tekst disclaimera zosta³ zmieniony.\n"
"¦ci±gnij nowsz± wersjê programu.\n" "¦ci±gnij nowsz± wersjê programu.\n"
#: ../whois.c:450 #: ../whois.c:533
#, c-format #, c-format
msgid "Host %s not found." msgid "Host %s not found."
msgstr "Serwer %s nie zosta³ znaleziony." msgstr "Serwer %s nie zosta³ znaleziony."
#: ../whois.c:460 #: ../whois.c:543
#, c-format #, c-format
msgid "%s/tcp: unknown service" msgid "%s/tcp: unknown service"
msgstr "%s/tcp: us³uga nieznana" msgstr "%s/tcp: us³uga nieznana"
#: ../whois.c:477 #: ../whois.c:560
#, c-format #, c-format
msgid "Interrupted by signal %d..." msgid "Interrupted by signal %d..."
msgstr "Przerwanie na sygna³ %d..." msgstr "Przerwanie na sygna³ %d..."
#: ../whois.c:520 #: ../whois.c:592
#, fuzzy #, fuzzy
msgid "" msgid ""
"Usage: whois [OPTION]... OBJECT...\n" "Usage: whois [OPTION]... OBJECT...\n"
@ -171,3 +176,59 @@ msgstr ""
"-V wyja¶nia, co siê dzieje\n" "-V wyja¶nia, co siê dzieje\n"
"\n" "\n"
"Wersja %s. Informacje o b³êdach kieruj do %s. T³umaczenie: cefek.\n" "Wersja %s. Informacje o b³êdach kieruj do %s. T³umaczenie: cefek.\n"
#: ../mkpasswd.c:101
#, c-format
msgid "Invalid hash type '%s'.\n"
msgstr ""
#: ../mkpasswd.c:112
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr ""
#: ../mkpasswd.c:140
#, c-format
msgid "Wrong salt length: %d byte(s) instead of %d.\n"
msgstr ""
#: ../mkpasswd.c:146
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr ""
#: ../mkpasswd.c:157 ../mkpasswd.c:178
msgid "Password: "
msgstr ""
#: ../mkpasswd.c:171
#, c-format
msgid "Illegal password character '0x%hhx'.\n"
msgstr ""
#: ../mkpasswd.c:206
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
"\n"
msgstr ""
#: ../mkpasswd.c:209
#, c-format
msgid ""
" -H, --hash=TYPE select hash TYPE\n"
" -S, --salt=SALT use the specified SALT\n"
" -s, --stdin read the password from stdin instead of /dev/"
"tty\n"
" -h, --help display this help and exit\n"
" -v, --version output version information and exit\n"
"\n"
"If PASSWORD is missing then it is asked interactively.\n"
"If no SALT is specified, a random one is generated.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
#: ../mkpasswd.c:231
msgid "Available algorithms:\n"
msgstr ""

View File

@ -2,7 +2,6 @@
# NIC-FR means the TLD is managed by AFNIC, but I could not find any info # NIC-FR means the TLD is managed by AFNIC, but I could not find any info
# UPR means the TLD is managed by UPR, but I could not find any info # UPR means the TLD is managed by UPR, but I could not find any info
# #
# centralnic domains are currently not supported
.br.com whois.centralnic.net .br.com whois.centralnic.net
.cn.com whois.centralnic.net .cn.com whois.centralnic.net
.eu.com whois.centralnic.net .eu.com whois.centralnic.net
@ -25,20 +24,20 @@
.org CRSNIC .org CRSNIC
.edu CRSNIC .edu CRSNIC
.gov whois.nic.gov .gov whois.nic.gov
.int whois.isi.edu .int whois.icann.org
.mil whois.nic.mil .mil whois.nic.mil
.info whois.nic.info .info whois.afilias.info
.biz whois.biz.info .biz whois.nic.biz
.ac whois.nic.ac .ac whois.nic.ac
.ad NONE # http://www.nic.ad .ad NONE # www.nic.ad
.ae WEB http://cc.emirates.net.ae/Customer_care/cc_card/check_domains.choose_domains/ .ae WEB http://cc.emirates.net.ae/Customer_care/cc_card/check_domains.choose_domains/
.af whois.nic.af .af NONE # was whois.nic.af
.ag WEB http://www.nic.ag/domain_search.htm .ag WEB http://www.nic.ag/domain_search.htm
.ai NONE # http://www.offshore.com.ai/domain_names/ .ai NONE # http://www.offshore.com.ai/domain_names/
.al NONE # http://www.inima.al/Domains.html .al NONE # http://www.inima.al/Domains.html
.am whois.amnic.net # down? .am whois.amnic.net # down?
.am WEB http://www.amnic.net/cgi/engine/db/whois.html .am WEB https://www.amnic.net/whois/
.an NONE # http://www.una.net/an_domreg .an NONE # http://www.una.net/an_domreg/
.ao NONE # www.dns.ao .ao NONE # www.dns.ao
.aq NONE # 2day.com .aq NONE # 2day.com
.ar WEB http://www.nic.ar/consultas/consdom.htm .ar WEB http://www.nic.ar/consultas/consdom.htm
@ -48,30 +47,30 @@
.au whois.aunic.net .au whois.aunic.net
#.aw # NIC? www.setarnet.aw #.aw # NIC? www.setarnet.aw
.az NONE # www.nic.az .az NONE # www.nic.az
.ba NONE # http://www.utic.net.ba .ba NONE # http://www.utic.net.ba/domen/
.bb WEB http://domains.org.bb/regsearch/ .bb WEB http://domains.org.bb/regsearch/
.bd NONE # NIC? dns.org.bd .bd NONE # NIC?
.be whois.dns.be .be whois.dns.be
.bf NONE # http://www.onatel.bf/domaine.htm .bf NONE # http://www.onatel.bf/domaine.htm
.bg whois.ripe.net .bg whois.ripe.net
#.bh NONE # NIC? http://www.inet.com.bh #.bh NONE # NIC? www.inet.com.bh
.bi WEB http://www.nic.cd/database/bi/ .bi WEB http://www.nic.bi/cgi-bin/whoisbi.pl
#.bj # NIC? www.opt.bj #.bj # NIC? www.opt.bj
.bm NONE # http://www.bermudanic.bm rwhois.ibl.bm:4321 .bm WEB http://www.bermudanic.bm/cgi-bin/BermudaNIC/rwhois_query.pl # rwhois.bermudanic.bm:4321
#.bn NONE # NIC? http://www.brunet.bn #.bn NONE # NIC? www.brunet.bn
.bo WEB http://www.nic.bo/listadom.phtml .bo NONE # www.nic.bo
.br whois.nic.br .br whois.nic.br
.bs NONE # www.nic.bs .bs WEB http://www.nic.bs/cgi-bin/search.pl
.bt whois.nic.tm .bt whois.nic.tm
.bv NONE # http://www.uninett.no/navn/bv-sj.html .bv NONE # http://www.uninett.no/navn/bv-sj.html
#.bw # NIC? www.botsnet.bw btc.bw #.bw # NIC? www.botsnet.bw btc.bw
.by WEB http://www.tld.by/indexeng.html .by WEB http://www.tld.by/indexeng.html
.bz NONE # http://www.psg.com/dns/bz/ .bz NONE # www.nic.nz
.ca whois.cira.ca .ca whois.cira.ca
.cc whois.nic.cc .cc whois.nic.cc
.cd WEB http://www.nic.cd/database/cd/ .cd whois.nic.cd
.cf WEB http://www.nic.cf/whois.php3 .cf WEB http://www.nic.cf/whois.php3
.cg WEB http://www.nic.cd/database/cg/ .cg WEB http://www.nic.cg/cgi-bin/whoiscg.pl
.ch whois.nic.ch .ch whois.nic.ch
.ci NONE # www.nic.ci .ci NONE # www.nic.ci
.ck whois.nic.ck .ck whois.nic.ck
@ -86,12 +85,12 @@
.cu WEB http://www.nic.cu/consultas/consult.html .cu WEB http://www.nic.cu/consultas/consult.html
#.cv # NIC? dns.cv? #.cv # NIC? dns.cv?
.cx whois.nic.cx .cx whois.nic.cx
.cy NONE .cy NONE # www.nic.cy
.cz whois.nic.cz .cz whois.nic.cz
.de whois.denic.de .de whois.denic.de
.dj NONE # www.nic.dj (NOT YET) .dj NONE # www.nic.dj (NOT YET)
.dk whois.dk-hostmaster.dk .dk whois.dk-hostmaster.dk
#.dm # NIC? (UPR) .dm NONE # www.domains.dm ?
.do WEB http://www.nic.do .do WEB http://www.nic.do
.dz NONE .dz NONE
.ec WEB http://www.nic.ec .ec WEB http://www.nic.ec
@ -101,14 +100,14 @@
#.er NONE # NIC? www.noc.net.er (recently connected!) #.er NONE # NIC? www.noc.net.er (recently connected!)
.es WEB http://www.nic.es/whois/ .es WEB http://www.nic.es/whois/
#.et NONE # NIC? www.telecom.net.et #.et NONE # NIC? www.telecom.net.et
.fi WEB http://cgi.thk.fi/cgi-bin/domains.pl?language=eng .fi WEB http://cgi.ficora.fi/wwwbin/domains.pl?language=eng
.fj whois.usp.ac.fj .fj whois.usp.ac.fj
.fk NONE # http://www.fidc.org.fk/domain-registration/home.htm .fk NONE # http://www.fidc.org.fk/domain-registration/home.htm
.fm WEB http://www.nic.fm/register.html .fm WEB http://www.nic.fm/register.html
.fo whois.ripe.net # www.nic.fo .fo whois.ripe.net # www.nic.fo
.fr whois.nic.fr .fr whois.nic.fr
#.fx #.fx
#.ga # (not responding) NIC? www.inet.ga #.ga # NIC? www.inet.ga
.gb NONE .gb NONE
#.gd # NO NIC (UPR) #.gd # NO NIC (UPR)
.ge WEB http://www.nic.net.ge .ge WEB http://www.nic.net.ge
@ -119,7 +118,7 @@
.gl whois.ripe.net .gl whois.ripe.net
.gm whois.ripe.net .gm whois.ripe.net
.gn NONE # http://www.psg.com/dns/gn/ .gn NONE # http://www.psg.com/dns/gn/
#.gp # http://www.nic.gp broken like mq #.gp # www.nic.gp - broken like mq
#.gq # NO NIC http://www.intnet.gq #.gq # NO NIC http://www.intnet.gq
.gr WEB http://www.hostmaster.gr/cgi-bin/webwhois .gr WEB http://www.hostmaster.gr/cgi-bin/webwhois
.gs whois.adamsnames.tc .gs whois.adamsnames.tc
@ -127,8 +126,8 @@
.gu WEB http://gadao.gov.gu/Scripts/wwsquery/wwsquery.dll?hois=guamquery .gu WEB http://gadao.gov.gu/Scripts/wwsquery/wwsquery.dll?hois=guamquery
#.gw # no NIC? #.gw # no NIC?
#.gy # NIC? (UPR) #.gy # NIC? (UPR)
.hk whois.hknic.net.hk .hk whois.hkdnr.net.hk
.hm whois.nic.hm .hm whois.registry.hm
.hn NONE # www.nic.hn .hn NONE # www.nic.hn
.hr WEB http://noc.srce.hr/web-eng/searchdomain.htm .hr WEB http://noc.srce.hr/web-eng/searchdomain.htm
#.ht # NIC? http://www.haitiworld.com/ #.ht # NIC? http://www.haitiworld.com/
@ -145,9 +144,8 @@
.it whois.nic.it .it whois.nic.it
.je NONE # http://www.isles.net .je NONE # http://www.isles.net
#.jm # NIC? uwimona.edu.jm http://nic.jm #.jm # NIC? uwimona.edu.jm http://nic.jm
.jo NONE # www.nic.gov.jo .jo WEB http://amon.nic.gov.jo/dns/
.jp whois.nic.ad.jp .jp whois.nic.ad.jp
# there is a server run by Randy bush, but I forgot the address!
.ke NONE # http://www.nbnet.co.ke/domain.htm .ke NONE # http://www.nbnet.co.ke/domain.htm
.kg whois.domain.kg .kg whois.domain.kg
.kh NONE # http://www.mptc.gov.kh/Reculation/DNS.htm .kh NONE # http://www.mptc.gov.kh/Reculation/DNS.htm
@ -157,7 +155,7 @@
#.kp #.kp
.kr whois.krnic.net .kr whois.krnic.net
.kw WEB http://www.domainname.net.kw .kw WEB http://www.domainname.net.kw
.ky NONE # http://www.nic.ky .ky NONE # www.nic.ky
.kz whois.domain.kz .kz whois.domain.kz
.la whois.nic.la .la whois.nic.la
.lb WEB http://www.aub.edu.lb/lbdr/search.html .lb WEB http://www.aub.edu.lb/lbdr/search.html
@ -170,18 +168,18 @@
.lu whois.restena.lu .lu whois.restena.lu
.lv whois.ripe.net .lv whois.ripe.net
.ly WEB http://www.lydomains.com/whois.asp .ly WEB http://www.lydomains.com/whois.asp
#.ma # (not reponding) NIC? www.nic.ma #.ma # NIC?
.mc whois.ripe.net .mc whois.ripe.net
.md WEB http://www.nic.md/search.html .md WEB http://www.nic.md/search.html
.mg NONE # www.nic.mg .mg NONE # www.nic.mg
.mh NONE # http://www.nic.net.mh .mh NONE # www.nic.net.mh
#.mk # NIC? http://www.mpt.com.mk #.mk # NIC? http://www.mpt.com.mk
#.ml # NIC? sotelma.ml #.ml # NIC? www.sotelma.ml
.mm whois.nic.mm .mm whois.nic.mm
.mn WEB http://www.nic.mn .mn WEB http://whois.nic.mn
.mo NONE # http://www.umac.mo/other/ .mo WEB http://www.monic.net.mo # whois.umac.mo
.mp NONE # http://www.marketplace.mp .mp NONE # www.marketplace.mp
#.mq # http://www.nic.mq broken like gp #.mq # www.nic.mq broken like gp
.mr NONE # http://www.univ-nkc.mr/nic_mr.html .mr NONE # http://www.univ-nkc.mr/nic_mr.html
.ms whois.adamsnames.tc .ms whois.adamsnames.tc
.mt WEB http://www.um.edu.mt/nic/dir/ .mt WEB http://www.um.edu.mt/nic/dir/
@ -192,15 +190,15 @@
.my NONE # http://www.mynic.net .my NONE # http://www.mynic.net
#.mz # NIC? www.uem.mz #.mz # NIC? www.uem.mz
.na WEB http://www.lisse.na/cgi-bin/whois.cgi .na WEB http://www.lisse.na/cgi-bin/whois.cgi
.nc NONE # http://www.orstom.nc/BASE/IRD_NOUMEA/TLD_NC/ .nc whois.cctld.nc
#.ne # NIC? http://www.intnet.ne #.ne # NIC? http://www.intnet.ne
.nf NONE # http://www.names.nf .nf NONE # http://www.names.nf
.ng whois.rg.net .ng whois.rg.net
.ni WEB http://ns.ni/whois.htm .ni NONE # www.nic.ni
.nl whois.domain-registry.nl .nl whois.domain-registry.nl
.no whois.norid.no .no whois.norid.no
.np WEB http://202.52.255.47/search.htm # www.mos.com.np .np WEB http://www.mos.com.np/domsearch.html
#.nr # NIC? www.nauru01.nr wwc.nauru01.nr #.nr # NIC? www.cenpan.net.nr
.nu whois.nic.nu .nu whois.nic.nu
.nz whois.domainz.net.nz .nz whois.domainz.net.nz
#.om NONE # NIC? http://www.gto.net.om #.om NONE # NIC? http://www.gto.net.om
@ -209,23 +207,23 @@
#.pf # NIC? mana.pf #.pf # NIC? mana.pf
.pg NONE # http://www.unitech.ac.pg/Unitech_General/ITS/ITS_Dns.htm .pg NONE # http://www.unitech.ac.pg/Unitech_General/ITS/ITS_Dns.htm
.ph WEB http://www.names.ph/search.html .ph WEB http://www.names.ph/search.html
.pk whois.pknic.net.pk #.pk whois.pknic.net.pk # the host does not exist anymore
.pl NONE # http://www.dns.pl .pl whois.dns.pl
#.pm # NIC-FR! http://www.nic.pm #.pm # NIC-FR! http://www.nic.pm
.pn NONE # http://www.nic.pn .pn NONE # www.nic.pn
.pr NONE # http://www.uprr.pr/main.html .pr NONE # http://www.uprr.pr/main.html
.ps NONE # no NIC yet... www.gov.ps .ps WEB http://www.nic.ps/whois/
.pt WEB http://www.dns.pt/dnsinfo.htm .pt NONE # www.dns.pt
.pw whois.nic.pw .pw whois.nic.pw
.py WEB http://www.nic.py/consultas/ .py WEB http://www.nic.py/consultas/
.qa NONE # http://www.qatar.net.qa/services/virtual.htm .qa NONE # http://www.qatar.net.qa/services/virtual.htm
#.re # NIC-FR! #.re # NIC-FR!
.ro whois.rotld.ro .ro whois.rotld.ro
.ru whois.ripn.net .ru whois.ripn.net
.rw WEB http://www.nic.cd/database/rw/ .rw WEB http://www.nic.rw/cgi-bin/whoisrw.pl
.sa WEB http://www.saudinic.net.sa/domain/whois.htm .sa WEB http://www.saudinic.net.sa/domain/whois.htm
.sb WEB http://www.sbnic.net.sb/search.html .sb WEB http://www.sbnic.net.sb/search.html
.sc NONE # http://www.seychelles.net/services/services-pay.htm .sc NONE # www.nic.sc
#.sd # NIC? http://www.sudatel.sd #.sd # NIC? http://www.sudatel.sd
.se whois.nic-se.se .se whois.nic-se.se
.sg whois.nic.net.sg .sg whois.nic.net.sg
@ -236,57 +234,59 @@
#.sl # NIC? http://www.sierratel.sl/ #.sl # NIC? http://www.sierratel.sl/
.sm whois.ripe.net .sm whois.ripe.net
.sn NONE # www.nic.sn .sn NONE # www.nic.sn
.so NONE # www.nic.so .so NONE # www.nic.so - no country, no NIC
.sr NONE # http://www.sr.net/srnew/domein.html .sr NONE # www.nic.sr - opens september 2001
.st whois.nic.st .st whois.nic.st
.su whois.ripn.net .su whois.ripn.net
.sv WEB http://www.conacyt.gob.sv/dns/ .sv WEB http://www.uca.edu.sv/dns/ # http://www.svnet.org.sv/
#.sy # NIC? (usually offline?) #.sy # NIC? (usually offline?)
.sz NONE # http://www.iafrica.sz/domreg/ .sz NONE # http://www.iafrica.sz/domreg/
.tc whois.adamsnames.tc .tc whois.adamsnames.tc
#.td # NIC? http://www.tit.td #.td # NIC? http://www.tit.td
.tf whois.adamsnames.tc .tf whois.adamsnames.tc
.tg WEB www.nic.tg .tg WEB http://www.nic.tg
.th whois.thnic.net .th whois.thnic.net
.tj whois.nic.tj .tj whois.nic.tj
.tk NONE # 2day.com .tk NONE # 2day.com
.tm whois.nic.tm .tm whois.nic.tm
.tn NONE # http://www.ati.tn/Nic/ .tn NONE # http://www.ati.tn/Nic/
.to whois.tonic.to .to whois.tonic.to
.tp NONE # http://www.nic.tp .tp NONE # www.nic.tp
.tr whois.metu.edu.tr .tr whois.metu.edu.tr
.tt WEB http://www.nic.tt/cgi-bin/whois.cgi .tt WEB http://www.nic.tt/cgi-bin/whois.cgi
.tv NONE # http://internet.tv .tv NONE # http://internet.tv
.tw whois.twnic.net .tw whois.twnic.net
.tz NONE # http://www.psg.com/dns/tz/ .tz NONE # http://www.psg.com/dns/tz/
.ua whois.com.ua .ua whois.com.ua
.ug NONE # http://www.nic.ug .ug www.registry.co.ug
.gov.uk whois.ja.net .gov.uk whois.ja.net
.ac.uk whois.ja.net .ac.uk whois.ja.net
.uk whois.nic.uk .uk whois.nic.uk
.um whois.isi.edu # not checked .um NONE # see .us
.fed.us whois.nic.gov .fed.us whois.nic.gov
.us nii.isi.edu .us NONE # for info: usdomreg@nic.us
.com.uy WEB http://dns.antel.net.uy/clientes/consultar.htm .com.uy WEB http://dns.antel.net.uy/clientes/consultar.htm
.uy WEB http://www.rau.edu.uy/rau/dom/reg.htm .uy WEB http://www.rau.edu.uy/rau/dom/reg.htm
#.uz # www.noc.uz (broken) #.uz # www.noc.uz (broken)
.va whois.ripe.net .va whois.ripe.net
#.vc # NIC? (UPR) .vc whois.opensrs.net
.ve WEB http://www.nic.ve/nicwho01.html # rwhois.reacciun.ve:4321 .ve WEB http://www.nic.ve/nicwho01.html # rwhois.reacciun.ve:4321
.vg whois.adamsnames.tc .vg whois.adamsnames.tc
.vi WEB http://208.30.96.227/whoisform.htm .vi WEB http://208.30.96.227/whoisform.htm
#.vn http://www.batin.com.vn/ # NIC? .vn WEB http://www.vnnic.net.vn/english/reg_domain/
.vu WEB http://www.vunic.vu/whois .vu WEB http://www.vunic.vu/whois
#.wf # NIC-FR! #.wf # NIC-FR!
.ws whois.samoanic.ws .ws whois.samoanic.ws
#.ye # NIC? www.y.net.ye #.ye # NIC? www.y.net.ye
#.yt # NIC-FR! #.yt # NIC-FR!
.yu NONE # www.nic.yu .yu NONE # www.nic.yu
.ac.za whois.frd.ac.za .ac.za whois.ac.za
.co.za WEB whois.co.za #.bourse.za whois.bourse.za # broken
.edu.za WEB edu.za .co.za WEB http://whois.co.za/
.za NONE .net.za whois.net.za
.zm NONE # http://www.zamnet.zm/siteindex/Links/JoinZamnet.htm .org.za WEB http://www.org.za/ # rwhois.org.za:4321
.za NONE # http://www2.frd.ac.za/uninet/zadomains.html
.zm NONE # http://www.zamnet.zm/domain.shtml
.zr NONE # obsoleted by cd .zr NONE # obsoleted by cd
#.zw # NIC? zptc.co.zw http://www.zispa.co.zw/ #.zw # NIC? zptc.co.zw http://www.zispa.co.zw/
-au-dom whois.aunic.net -au-dom whois.aunic.net
@ -316,3 +316,4 @@
-frnic whois.nic.fr -frnic whois.nic.fr
-nicat whois.nic.at -nicat whois.nic.at
-il whois.isoc.org.il -il whois.isoc.org.il
-lrms whois.afilias.net

View File

@ -64,6 +64,8 @@ When querying \fIwhois.ncst.ernet.in\fP for a string without spaces, the
When querying \fIwhois.corenic.net\fP, machine readable output is requested. When querying \fIwhois.corenic.net\fP, machine readable output is requested.
.P .P
RIPE-specific options are ignored when querying non-RIPE servers. RIPE-specific options are ignored when querying non-RIPE servers.
.SH Files
/etc/whois.conf
.SH ENVIRONMENT .SH ENVIRONMENT
.IP LANG .IP LANG
When querying \fIwhois.nic.ad.jp\fP english text is requested unless the When querying \fIwhois.nic.ad.jp\fP english text is requested unless the

137
whois.c
View File

@ -14,6 +14,9 @@
#ifdef HAVE_GETOPT_LONG #ifdef HAVE_GETOPT_LONG
#include <getopt.h> #include <getopt.h>
#endif #endif
#ifdef HAVE_REGEXEC
#include <regex.h>
#endif
#include <string.h> #include <string.h>
#include <ctype.h> #include <ctype.h>
#include <sys/types.h> #include <sys/types.h>
@ -23,6 +26,8 @@
#include <errno.h> #include <errno.h>
#include <signal.h> #include <signal.h>
#undef ENABLE_NLS
/* Application-specific */ /* Application-specific */
#include "data.h" #include "data.h"
#include "whois.h" #include "whois.h"
@ -67,12 +72,12 @@ int main(int argc, char *argv[])
longopts, 0)) > 0) { longopts, 0)) > 0) {
/* RIPE flags */ /* RIPE flags */
if (strchr(ripeflags, ch)) { if (strchr(ripeflags, ch)) {
for (p = fstring; *p != '\0'; p++); for (p = fstring; *p; p++);
sprintf(p--, "-%c ", ch); sprintf(p--, "-%c ", ch);
continue; continue;
} }
if (strchr(ripeflagsp, ch)) { if (strchr(ripeflagsp, ch)) {
for (p = fstring; *p != '\0'; p++); for (p = fstring; *p; p++);
sprintf(p--, "-%c %s ", ch, optarg); sprintf(p--, "-%c %s ", ch, optarg);
if (ch == 't' || ch == 'v' || ch == 'q') if (ch == 't' || ch == 'v' || ch == 'q')
nopar = 1; nopar = 1;
@ -82,7 +87,7 @@ int main(int argc, char *argv[])
switch (ch) { switch (ch) {
case 'h': case 'h':
server = q = malloc(strlen(optarg) + 1); server = q = malloc(strlen(optarg) + 1);
for (p = optarg; *p != '\0' && *p != ':'; *q++ = tolower(*p++)); for (p = optarg; *p && *p != ':'; *q++ = tolower(*p++));
if (*p == ':') if (*p == ':')
port = p + 1; port = p + 1;
*q = '\0'; *q = '\0';
@ -133,8 +138,23 @@ int main(int argc, char *argv[])
} }
} }
/* -v or -t has been used */
if (!server && !*qstring)
server = "whois.ripe.net";
#ifdef CONFIG_FILE
if (!server) { if (!server) {
server = whichwhois(qstring); server = match_config_file(qstring);
if (verb && server)
printf(_("Using server %s.\n"), server);
}
#endif
if (!server) {
char *p;
p = normalize_domain(qstring);
server = whichwhois(p);
free(p);
switch (server[0]) { switch (server[0]) {
case 0: case 0:
if (!(server = getenv("WHOIS_SERVER"))) if (!(server = getenv("WHOIS_SERVER")))
@ -180,20 +200,86 @@ int main(int argc, char *argv[])
sockfd = openconn(server, port); sockfd = openconn(server, port);
do_query(sockfd, p); do_query(sockfd, p);
closeconn(sockfd);
exit(0); exit(0);
} }
#ifdef CONFIG_FILE
const char *match_config_file(const char *s)
{
FILE *fp;
char buf[512];
static const char delim[] = " \t";
#ifdef HAVE_REGEXEC
regex_t re;
#endif
if ((fp = fopen(CONFIG_FILE, "r")) == NULL) {
if (errno != ENOENT)
err_sys("Cannot open " CONFIG_FILE);
return NULL;
}
while (fgets(buf, sizeof(buf), fp) != NULL) {
char *p;
const char *pattern, *server;
#ifdef HAVE_REGEXEC
int i;
#endif
for (p = buf; *p; p++)
if (*p == '\n')
*p = '\0';
p = buf;
while (*p == ' ' || *p == '\t') /* eat leading blanks */
p++;
if (!*p)
continue; /* skip empty lines */
if (*p == '#')
continue; /* skip comments */
pattern = strtok(p, delim);
server = strtok(NULL, delim);
if (!pattern || !server)
err_quit(_("Cannot parse this line: %s"), p);
p = strtok(NULL, delim);
if (p)
err_quit(_("Cannot parse this line: %s"), p);
#ifdef HAVE_REGEXEC
i = regcomp(&re, pattern, REG_EXTENDED|REG_ICASE|REG_NOSUB);
if (i != 0) {
char m[1024];
regerror(i, &re, m, sizeof(m));
err_quit("Invalid regular expression '%s': %s", pattern, m);
}
i = regexec(&re, s, 0, NULL, 0);
if (i == 0) {
regfree(&re);
return strdup(server);
}
if (i != REG_NOMATCH) {
char m[1024];
regerror(i, &re, m, sizeof(m));
err_quit("regexec: %s", m);
}
regfree(&re);
#else
if (domcmp(s, pattern))
return strdup(server);
#endif
}
return NULL;
}
#endif
const char *whichwhois(const char *s) const char *whichwhois(const char *s)
{ {
unsigned long ip; unsigned long ip;
unsigned int i; unsigned int i;
/* -v or -t has been used */
if (*s == '\0')
return "whois.ripe.net";
/* IPv6 address */ /* IPv6 address */
if (strchr(s, ':')) { if (strchr(s, ':')) {
if (strncasecmp(s, "2001:2", 6) == 0) /* XXX ugly hack! */ if (strncasecmp(s, "2001:2", 6) == 0) /* XXX ugly hack! */
@ -214,7 +300,7 @@ const char *whichwhois(const char *s)
if (!strpbrk(s, ".-")) { if (!strpbrk(s, ".-")) {
const char *p; const char *p;
for (p = s; *p != '\0'; p++); /* go to the end of s */ for (p = s; *p; p++); /* go to the end of s */
if (strncasecmp(s, "as", 2) == 0 && /* it's an AS */ if (strncasecmp(s, "as", 2) == 0 && /* it's an AS */
((s[2] >= '0' && s[2] <= '9') || s[2] == ' ')) ((s[2] >= '0' && s[2] <= '9') || s[2] == ' '))
return whereas(atoi(s + 2), as_assign); return whereas(atoi(s + 2), as_assign);
@ -265,7 +351,7 @@ const char *whereas(int asn, struct as_del aslist[])
{ {
int i; int i;
if (asn > 16383) if (asn > 23551)
puts(_("Unknown AS number. Please upgrade this program.")); puts(_("Unknown AS number. Please upgrade this program."));
for (i = 0; aslist[i].serv; i++) for (i = 0; aslist[i].serv; i++)
if (asn >= aslist[i].first && asn <= aslist[i].last) if (asn >= aslist[i].first && asn <= aslist[i].last)
@ -294,7 +380,7 @@ char *queryformat(const char *server, const char *flags, const char *query)
isripe = 1; isripe = 1;
break; break;
} }
if (*flags != '\0') { if (*flags) {
if (!isripe && strcmp(server, "whois.corenic.net") != 0) if (!isripe && strcmp(server, "whois.corenic.net") != 0)
puts(_("Warning: RIPE flags ignored for a traditional server.")); puts(_("Warning: RIPE flags ignored for a traditional server."));
else else
@ -364,7 +450,6 @@ void do_query(const int sock, const char *query)
strcat(nq, "\r\n"); strcat(nq, "\r\n");
fd = openconn(nh, np); fd = openconn(nh, np);
do_query(fd, nq); do_query(fd, nq);
closeconn(fd);
continue; continue;
} }
} }
@ -375,6 +460,7 @@ void do_query(const int sock, const char *query)
} }
if (ferror(fi)) if (ferror(fi))
err_sys("fgets"); err_sys("fgets");
fclose(fi);
if (hide == 1) if (hide == 1)
err_quit(_("Catastrophic error: disclaimer text has been changed.\n" err_quit(_("Catastrophic error: disclaimer text has been changed.\n"
@ -385,6 +471,7 @@ const char *query_crsnic(const int sock, const char *query)
{ {
char *temp, buf[2000], *ret = NULL; char *temp, buf[2000], *ret = NULL;
FILE *fi; FILE *fi;
int state = 0;
temp = malloc(strlen(query) + 1 + 2 + 1); temp = malloc(strlen(query) + 1 + 2 + 1);
*temp = '='; *temp = '=';
@ -397,7 +484,9 @@ const char *query_crsnic(const int sock, const char *query)
while (fgets(buf, sizeof(buf), fi)) { while (fgets(buf, sizeof(buf), fi)) {
/* If there are multiple matches only the server of the first record /* If there are multiple matches only the server of the first record
is queried */ is queried */
if (strncmp(buf, " Whois Server:", 16) == 0 && !ret) { if (state == 0 && strncmp(buf, " Domain Name:", 15) == 0)
state = 1;
if (state == 1 && strncmp(buf, " Whois Server:", 16) == 0) {
char *p, *q; char *p, *q;
for (p = buf; *p != ':'; p++); /* skip until colon */ for (p = buf; *p != ':'; p++); /* skip until colon */
@ -405,6 +494,7 @@ const char *query_crsnic(const int sock, const char *query)
ret = malloc(strlen(p) + 1); ret = malloc(strlen(p) + 1);
for (q = ret; *p != '\n' && *p != '\r'; *q++ = *p++); /*copy data*/ for (q = ret; *p != '\n' && *p != '\r'; *q++ = *p++); /*copy data*/
*q = '\0'; *q = '\0';
state = 2;
} }
fputs(buf, stdout); fputs(buf, stdout);
} }
@ -463,7 +553,7 @@ int openconn(const char *server, const char *port)
if (connect(fd, (struct sockaddr *)&saddr, sizeof(saddr)) < 0) if (connect(fd, (struct sockaddr *)&saddr, sizeof(saddr)) < 0)
err_sys("connect"); err_sys("connect");
#endif #endif
return (fd); return fd;
} }
void closeconn(const int fd) void closeconn(const int fd)
@ -482,16 +572,27 @@ int domcmp(const char *dom, const char *tld)
{ {
const char *p, *q; const char *p, *q;
for (p = dom; *p != '\0'; p++); p--; /* move to the last char */ for (p = dom; *p; p++); p--; /* move to the last char */
for (q = tld; *q != '\0'; q++); q--; for (q = tld; *q; q++); q--;
while (p >= dom && q >= tld && tolower(*p) == *q) { /* compare backwards */ while (p >= dom && q >= tld && tolower(*p) == *q) { /* compare backwards */
if (q == tld) /* start of the second word? */ if (q == tld) /* start of the second word? */
return 1; return 1;
p--; q--; p--; q--;
} }
return 0; return 0;
} }
char *normalize_domain(const char *dom)
{
char *p, *ret;
ret = strdup(dom);
for (p = ret; *p; p++); p--; /* move to the last char */
for (; *p == '.' || p == ret; p--) /* eat trailing dots */
*p = '\0';
return ret;
}
unsigned long myinet_aton(const char *s) unsigned long myinet_aton(const char *s)
{ {
int a, b, c, d; int a, b, c, d;

View File

@ -7,6 +7,7 @@
/* prototypes */ /* prototypes */
const char *whichwhois(const char *); const char *whichwhois(const char *);
const char *match_config_file(const char *);
const char *whereas(int, struct as_del []); const char *whereas(int, struct as_del []);
char *queryformat(const char *, const char *, const char *); char *queryformat(const char *, const char *, const char *);
void do_query(const int, const char *); void do_query(const int, const char *);
@ -18,6 +19,7 @@ void sighandler(int);
unsigned long myinet_aton(const char *); unsigned long myinet_aton(const char *);
int domcmp(const char *, const char *); int domcmp(const char *, const char *);
int domfind(const char *, const char *[]); int domfind(const char *, const char *[]);
char *normalize_domain(const char *);
void err_quit(const char *,...); void err_quit(const char *,...);
void err_sys(const char *,...); void err_sys(const char *,...);