diff --git a/as_del_list b/as_del_list index 2d81bb3..c2593c3 100644 --- a/as_del_list +++ b/as_del_list @@ -26,3 +26,7 @@ 19456 20479 arin 20480 21503 ripe +### +### DO NOT FORGET TO UPDATE whereas() +### + diff --git a/config.h b/config.h index db0f1f9..24ec650 100644 --- a/config.h +++ b/config.h @@ -1,6 +1,6 @@ /* Program version */ /* not for the inetutils version */ -#define VERSION "4.5.8" +#define VERSION "4.5.11" /* Configurable features */ @@ -13,13 +13,14 @@ /* Default server */ #define DEFAULTSERVER "whois.internic.net" +/* Configuration file */ +/* +#define CONFIG_FILE "/etc/whois.conf" +*/ + /* autoconf in cpp macros */ #ifdef linux # define ENABLE_NLS -# define HAVE_GETOPT_LONG -# if __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 1 -# define HAVE_GETADDRINFO -# endif #endif /* needs unistd.h */ @@ -28,6 +29,18 @@ # define HAVE_GETADDRINFO #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 */ #ifdef ENABLE_NLS # ifndef NLS_CAT_NAME diff --git a/data.h b/data.h index c4f6d86..336394c 100644 --- a/data.h +++ b/data.h @@ -22,7 +22,7 @@ const char *ripe_servers[] = { "whois.restena.lu", "rr.level3.net", /* 3.0.0a13 */ "whois.arnes.si", - "rpsl.ripe.net", + "www.registry.co.ug", NULL }; @@ -57,6 +57,8 @@ const char *hide_strings[] = { "Access to ASNIC", "by this policy.", "* Copyright (C) 1998 by SGNIC", "* modification.", "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 }; diff --git a/debian/changelog b/debian/changelog index 62f094e..96961c0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 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 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 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 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 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 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). * Added german translation (Closes: #103480). diff --git a/debian/rules b/debian/rules index 3dd1cb4..aec300d 100755 --- a/debian/rules +++ b/debian/rules @@ -7,7 +7,7 @@ SHELL+= -e build: $(checkdir) - make whois mkpasswd OPTS="-O2 -g" + make whois mkpasswd OPTS="-O2 -g -DCONFIG_FILE=\\\"/etc/whois.conf\\\"" touch build clean: diff --git a/ip_del_list b/ip_del_list index 49915c6..dfba548 100644 --- a/ip_del_list +++ b/ip_del_list @@ -150,3 +150,4 @@ 214.0.0.0/7 arin # DoD 216.0.0.0/8 arin 217.0.0.0/8 ripe +219.0.0.0/8 apnic diff --git a/mkpasswd.c b/mkpasswd.c index a31b0bf..f8c3af2 100644 --- a/mkpasswd.c +++ b/mkpasswd.c @@ -20,14 +20,14 @@ #define _BSD_SOURCE #include #include -#include #include -#include -#include #include "config.h" #ifdef HAVE_GETOPT_LONG #include #endif +#include +#include +#include #ifdef HAVE_GETOPT_LONG static struct option longopts[] = { @@ -69,6 +69,12 @@ int main(int argc, char *argv[]) char *password = NULL; 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) { switch (ch) { case 's': @@ -78,7 +84,7 @@ int main(int argc, char *argv[]) salt = optarg; break; case 'H': - if (*optarg == '\0') { + if (!*optarg) { display_algorithms(); exit(0); } @@ -89,7 +95,7 @@ int main(int argc, char *argv[]) break; } if (!salt_prefix) { - fprintf(stderr, "Invalid hash type `%s'.\n", optarg); + fprintf(stderr, _("Invalid hash type '%s'.\n"), optarg); exit(1); } break; @@ -100,7 +106,8 @@ int main(int argc, char *argv[]) display_help(); exit(0); 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); } } @@ -127,13 +134,13 @@ int main(int argc, char *argv[]) if (salt) { i = strlen(salt); 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); exit(1); } while (i-- > 0) 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); } } else { @@ -143,29 +150,29 @@ int main(int argc, char *argv[]) if (!password) { if (use_stdin) { - if (!isatty(STDIN_FILENO)) - fprintf(stderr, "Password: "); + if (isatty(STDIN_FILENO)) + fprintf(stderr, _("Password: ")); password = malloc(128); if (!fgets(password, sizeof password, stdin)) { perror("fgets:"); exit(2); } p = password; - while (*p != '\0') { + while (*p) { if (*p == '\n') { *p = '\0'; break; } /* which characters are valid? */ if (*p > 0x7f) { - fprintf(stderr, "Illegal password character `0x%hhx'.\n", + fprintf(stderr, _("Illegal password character '0x%hhx'.\n"), *p); exit(1); } p++; } } else { - password = getpass("Password: "); + password = getpass(_("Password: ")); if (!password) { perror("getpass:"); exit(2); @@ -193,9 +200,9 @@ void generate_salt(char *buf, const unsigned int len) void display_help(void) { - fprintf(stderr, "Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n" - "Crypts the PASSWORD using crypt(3).\n\n"); - fprintf(stderr, + fprintf(stderr, _("Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n" + "Crypts the PASSWORD using crypt(3).\n\n")); + fprintf(stderr, _( " -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" @@ -205,7 +212,7 @@ void display_help(void) "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", ""); +"Report bugs to %s.\n"), ""); } void display_version(void) @@ -218,5 +225,5 @@ void display_version(void) void display_algorithms(void) { - printf("Available algorithms:\n"); + printf(_("Available algorithms:\n")); } diff --git a/po/Makefile b/po/Makefile index 2d186b1..7e8639d 100644 --- a/po/Makefile +++ b/po/Makefile @@ -5,7 +5,7 @@ PACKAGE = whois 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) diff --git a/po/de.po b/po/de.po index faef4d7..86564b2 100644 --- a/po/de.po +++ b/po/de.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "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" "Last-Translator: Simon Richter \n" "Language-Team: German \n" @@ -13,7 +13,7 @@ msgstr "" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -#: ../whois.c:100 +#: ../whois.c:106 #, c-format msgid "" "Version %s.\n" @@ -24,11 +24,29 @@ msgstr "" "\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." msgstr "Verbinde zu whois.internic.net." -#: ../whois.c:143 +#: ../whois.c:179 #, c-format msgid "" "\n" @@ -39,25 +57,7 @@ msgstr "" "InterNIC verweist auf %s.\n" "\n" -#: ../whois.c:153 -#, 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 +#: ../whois.c:192 #, c-format msgid "" "Query string: \"%s\"\n" @@ -66,7 +66,12 @@ msgstr "" "Suche nach: \"%s\"\n" "\n" -#: ../whois.c:235 +#: ../whois.c:242 ../whois.c:245 +#, c-format +msgid "Cannot parse this line: %s" +msgstr "" + +#: ../whois.c:318 msgid "" "I don't know where this IP has been delegated.\n" "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" "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." msgstr "" "Vermutlich ist dies ein Netblock-Name, aber es gibt keinen\n" "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." msgstr "" "Vermutlich ist dies ein Domainname, aber es gibt keinen\n" "voreingestellten Server." -#: ../whois.c:269 +#: ../whois.c:352 msgid "Unknown AS number. Please upgrade this program." msgstr "Unbekannte AS-Nummer. Bitte upgraden Sie dieses Programm." -#: ../whois.c:299 +#: ../whois.c:382 msgid "Warning: RIPE flags ignored for a traditional server." msgstr "Warnung: RIPE-Flags wurden ignoriert (\"traditioneller\" Server)." -#: ../whois.c:363 +#: ../whois.c:446 #, c-format msgid "Detected referral to %s on %s.\n" msgstr "Verweis auf %s gefunden bei %s.\n" -#: ../whois.c:380 +#: ../whois.c:463 msgid "" "Catastrophic error: disclaimer text has been changed.\n" "Please upgrade this program.\n" @@ -107,22 +112,22 @@ msgstr "" "Schwerer Fehler: Haftungsausschlusstext wurde geaendert.\n" "Bitte upgraden sie dieses Programm.\n" -#: ../whois.c:450 +#: ../whois.c:533 #, c-format msgid "Host %s not found." msgstr "Host %s nicht gefunden." -#: ../whois.c:460 +#: ../whois.c:543 #, c-format msgid "%s/tcp: unknown service" msgstr "%s/tcp: unbekannter Dienst" -#: ../whois.c:477 +#: ../whois.c:560 #, c-format msgid "Interrupted by signal %d..." msgstr "Erhielt Signal %d, unterbrochen..." -#: ../whois.c:520 +#: ../whois.c:592 msgid "" "Usage: whois [OPTION]... OBJECT...\n" "\n" @@ -185,3 +190,59 @@ msgstr "" "-V --verbose erklδre, was getan wird\n" " --help zeige diese Hilfe\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 "" diff --git a/po/el.po b/po/el.po index bf08ae6..7315178 100644 --- a/po/el.po +++ b/po/el.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "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" "Last-Translator: Simos Xenitellis \n" "Language-Team: Greek \n" @@ -13,7 +13,7 @@ msgstr "" "Content-Type: text/plain; charset=iso-8859-7\n" "Content-Transfer-Encoding: 8bit\n" -#: ../whois.c:100 +#: ../whois.c:106 #, c-format msgid "" "Version %s.\n" @@ -24,11 +24,31 @@ msgstr "" "\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." msgstr "Γίνεται σύνδεση στο whois.internic.net." -#: ../whois.c:143 +#: ../whois.c:179 #, c-format msgid "" "\n" @@ -39,27 +59,7 @@ msgstr "" "Βρέθηκε αναφορά από το InterNIC στο %s.\n" "\n" -#: ../whois.c:153 -#, 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 +#: ../whois.c:192 #, c-format msgid "" "Query string: \"%s\"\n" @@ -68,7 +68,12 @@ msgstr "" "Αλφαριθμητικό ερώτησης: \"%s\"\n" "\n" -#: ../whois.c:235 +#: ../whois.c:242 ../whois.c:245 +#, c-format +msgid "Cannot parse this line: %s" +msgstr "" + +#: ../whois.c:318 msgid "" "I don't know where this IP has been delegated.\n" "I'll try ARIN and hope for the best..." @@ -76,30 +81,30 @@ msgstr "" "Δε γνωρίζε σε ποιον έχει αποδοθεί ευθύνη για αυτήν την διεύθυνση IP.\n" "Θα δοκιμάσω το 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." msgstr "" "Πιστεύω ότι είναι όνομα μπλοκ δικτύου αλλά δε γνωρίζω που να το αναζητήσω." -#: ../whois.c:259 +#: ../whois.c:342 msgid "I guess it's a domain but I don't know where to look it up." msgstr "Πιστεύω ότι είναι ένα επίθημα αλλά δε γνωρίζω που να το αναζητήσω." -#: ../whois.c:269 +#: ../whois.c:352 msgid "Unknown AS number. Please upgrade this program." msgstr "¶γνωστος αριθμός AS. Παρακαλώ ενημερώστε αυτό το πρόγραμμα." -#: ../whois.c:299 +#: ../whois.c:382 msgid "Warning: RIPE flags ignored for a traditional server." msgstr "" "Προειδοποίηση: Η σημαίες του RIPE αγνοούνται σε έναν παραδοσιακό εξυπηρετητή." -#: ../whois.c:363 +#: ../whois.c:446 #, c-format msgid "Detected referral to %s on %s.\n" msgstr "Ανιχνεύθηκε αναφορά του %s στο %s.\n" -#: ../whois.c:380 +#: ../whois.c:463 msgid "" "Catastrophic error: disclaimer text has been changed.\n" "Please upgrade this program.\n" @@ -107,22 +112,22 @@ msgstr "" "Καταστροφικό σφάλμα: το κείμενο της αποποίησης ευθυνών έχει τροποποιηθεί.\n" "Παρακαλώ αναβαθμίστε το πρόγραμμα.\n" -#: ../whois.c:450 +#: ../whois.c:533 #, c-format msgid "Host %s not found." msgstr "Το σύστημα %s δε βρέθηκε." -#: ../whois.c:460 +#: ../whois.c:543 #, c-format msgid "%s/tcp: unknown service" msgstr "%s/tcp: άγνωστη υπηρεσία" -#: ../whois.c:477 +#: ../whois.c:560 #, c-format msgid "Interrupted by signal %d..." msgstr "Διακοπή από το σήμα %d..." -#: ../whois.c:520 +#: ../whois.c:592 msgid "" "Usage: whois [OPTION]... OBJECT...\n" "\n" @@ -192,3 +197,59 @@ msgstr "" "-V --verbose εξήγηση του τί συμβαίνει\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\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 "" diff --git a/po/es.po b/po/es.po index 663ecbc..79f5cd7 100644 --- a/po/es.po +++ b/po/es.po @@ -4,8 +4,8 @@ # msgid "" msgstr "" -"Project-Id-Version: whois 4.5.7\n" -"POT-Creation-Date: 2001-08-26 20:47+0200\n" +"Project-Id-Version: whois 4.5.12\n" +"POT-Creation-Date: 2001-09-30 16:07+0200\n" "PO-Revision-Date: 2001-06-07 17:21+02:00\n" "Last-Translator: Francisco Monteagudo \n" "Language-Team: Spanish \n" @@ -13,7 +13,7 @@ msgstr "" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -#: ../whois.c:100 +#: ../whois.c:106 #, c-format msgid "" "Version %s.\n" @@ -24,11 +24,31 @@ msgstr "" "\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." msgstr "Conectando a whois.internic.net." -#: ../whois.c:143 +#: ../whois.c:179 #, c-format msgid "" "\n" @@ -39,27 +59,7 @@ msgstr "" "Se ha encontrado en InterNIC una referencia a %s.\n" "\n" -#: ../whois.c:153 -#, 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 +#: ../whois.c:192 #, c-format msgid "" "Query string: \"%s\"\n" @@ -68,7 +68,12 @@ msgstr "" "Consulta: \"%s\"\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 "" "I don't know where this IP has been delegated.\n" "I'll try ARIN and hope for the best..." @@ -76,30 +81,30 @@ msgstr "" "Ignoro a quien a sido delegada esta direccion IP.\n" "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." msgstr "" "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." 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." msgstr "Numero AS desconocido. Por favor, actualice este programa." -#: ../whois.c:299 +#: ../whois.c:382 msgid "Warning: RIPE flags ignored for a traditional server." msgstr "" "Atencion: Los flags RIPE son ignorados por los servidores tradicionales." -#: ../whois.c:363 +#: ../whois.c:446 #, c-format msgid "Detected referral to %s on %s.\n" msgstr "Detectada una referencia a %s en %s.\n" -#: ../whois.c:380 +#: ../whois.c:463 msgid "" "Catastrophic error: disclaimer text has been changed.\n" "Please upgrade this program.\n" @@ -107,22 +112,22 @@ msgstr "" "Error catastrofico: el texto de las condiciones de uso ha sido cambiado.\n" "Actualize este programa.\n" -#: ../whois.c:450 +#: ../whois.c:533 #, c-format msgid "Host %s not found." msgstr "Host %s no encontrado." -#: ../whois.c:460 +#: ../whois.c:543 #, c-format msgid "%s/tcp: unknown service" msgstr "%s/tcp: servicio desconocido" -#: ../whois.c:477 +#: ../whois.c:560 #, c-format msgid "Interrupted by signal %d..." msgstr "Interrumpido por la seρal %d..." -#: ../whois.c:520 +#: ../whois.c:592 msgid "" "Usage: whois [OPTION]... OBJECT...\n" "\n" @@ -187,3 +192,73 @@ msgstr "" "-V --verbose muestra lo que se esta haciendo\n" " --help muestra esta pantalla de ayuda 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" diff --git a/po/it.po b/po/it.po index fa69391..6a44fd9 100644 --- a/po/it.po +++ b/po/it.po @@ -5,15 +5,15 @@ msgid "" msgstr "" "Project-Id-Version: whois 4.4.13\n" -"POT-Creation-Date: 2001-08-26 20:47+0200\n" -"PO-Revision-Date: 2001-02-24 11:43+01:00\n" +"POT-Creation-Date: 2001-09-30 16:07+0200\n" +"PO-Revision-Date: 2001-09-23 18:32+0200\n" "Last-Translator: Marco d'Itri \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -#: ../whois.c:100 +#: ../whois.c:106 #, c-format msgid "" "Version %s.\n" @@ -24,11 +24,30 @@ msgstr "" "\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." msgstr "Mi sto connettendo a whois.internic.net." -#: ../whois.c:143 +#: ../whois.c:179 #, c-format msgid "" "\n" @@ -39,26 +58,7 @@ msgstr "" "Trovato un riferimento di InterNIC a %s.\n" "\n" -#: ../whois.c:153 -#, 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 +#: ../whois.c:192 #, c-format msgid "" "Query string: \"%s\"\n" @@ -67,7 +67,12 @@ msgstr "" "Richiesta: \"%s\"\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 "" "I don't know where this IP has been delegated.\n" "I'll try ARIN and hope for the best..." @@ -75,28 +80,28 @@ msgstr "" "Non so a chi θ stato delegato questo IP.\n" "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." 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." 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." 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." msgstr "Attenzione: i flag RIPE sono ignorati dai server tradizionali." -#: ../whois.c:363 +#: ../whois.c:446 #, c-format msgid "Detected referral to %s on %s.\n" msgstr "Trovato un riferimento a %s su %s.\n" -#: ../whois.c:380 +#: ../whois.c:463 msgid "" "Catastrophic error: disclaimer text has been changed.\n" "Please upgrade this program.\n" @@ -104,22 +109,22 @@ msgstr "" "Errore catastrofico: il testo di avvertenze θ cambiato.\n" "Aggiorna questo programma.\n" -#: ../whois.c:450 +#: ../whois.c:533 #, c-format msgid "Host %s not found." msgstr "Host %s non trovato." -#: ../whois.c:460 +#: ../whois.c:543 #, c-format msgid "%s/tcp: unknown service" msgstr "%s/tcp: servizio sconosciuto" -#: ../whois.c:477 +#: ../whois.c:560 #, c-format msgid "Interrupted by signal %d..." msgstr "Interrotto dal segnale %d..." -#: ../whois.c:520 +#: ../whois.c:592 msgid "" "Usage: whois [OPTION]... OBJECT...\n" "\n" @@ -183,3 +188,72 @@ msgstr "" "-V --verbose spiega cosa sta facendo\n" " --help mostra questo aiuto 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" diff --git a/po/no.po b/po/no.po index 8fa61db..0c96875 100644 --- a/po/no.po +++ b/po/no.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "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" "Last-Translator: Egil Kvaleberg \n" "Language-Team: Norwegian \n" @@ -14,7 +14,7 @@ msgstr "" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -#: ../whois.c:100 +#: ../whois.c:106 #, c-format msgid "" "Version %s.\n" @@ -22,11 +22,29 @@ msgid "" "Report bugs to %s.\n" 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." msgstr "Kobler opp mot whois.internic.net." -#: ../whois.c:143 +#: ../whois.c:179 #, c-format msgid "" "\n" @@ -37,25 +55,7 @@ msgstr "" "Fant InterNIC-referanse til %s.\n" "\n" -#: ../whois.c:153 -#, 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 +#: ../whois.c:192 #, c-format msgid "" "Query string: \"%s\"\n" @@ -64,7 +64,12 @@ msgstr "" "Forespψrsel: \"%s\"\n" "\n" -#: ../whois.c:235 +#: ../whois.c:242 ../whois.c:245 +#, c-format +msgid "Cannot parse this line: %s" +msgstr "" + +#: ../whois.c:318 msgid "" "I don't know where this IP has been delegated.\n" "I'll try ARIN and hope for the best..." @@ -72,28 +77,28 @@ msgstr "" "Vet ikke hvor denne IP-adressen har blitt delegert.\n" "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." 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." 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." msgstr "Ukjent AS-nummer. Vennligst oppdater programmet." -#: ../whois.c:299 +#: ../whois.c:382 msgid "Warning: RIPE flags ignored for a traditional server." msgstr "Merk: RIPE-flaggene ignoreres for en tradisjonell tjener." -#: ../whois.c:363 +#: ../whois.c:446 #, c-format msgid "Detected referral to %s on %s.\n" msgstr "Referanse til %s vedrψrende %s.\n" -#: ../whois.c:380 +#: ../whois.c:463 #, fuzzy msgid "" "Catastrophic error: disclaimer text has been changed.\n" @@ -102,22 +107,22 @@ msgstr "" "Alvorlig feil: INTERNIC har endret standardtekst.\n" "Vennligst oppdater programmet.\n" -#: ../whois.c:450 +#: ../whois.c:533 #, c-format msgid "Host %s not found." msgstr "Finner ikke verten %s." -#: ../whois.c:460 +#: ../whois.c:543 #, c-format msgid "%s/tcp: unknown service" msgstr "%s/tcp: ukjent port" -#: ../whois.c:477 +#: ../whois.c:560 #, c-format msgid "Interrupted by signal %d..." msgstr "Avbrudt av signal %d..." -#: ../whois.c:520 +#: ../whois.c:592 #, fuzzy msgid "" "Usage: whois [OPTION]... OBJECT...\n" @@ -174,3 +179,59 @@ msgstr "" "-V forklarer hva som skjer\n" "\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 "" diff --git a/po/pl.po b/po/pl.po index 638c4bd..5795ff3 100644 --- a/po/pl.po +++ b/po/pl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "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" "Last-Translator: Micha³ 'CeFeK' Nazarewicz \n" "Language-Team: Polish \n" @@ -14,7 +14,7 @@ msgstr "" "Content-Type: text/plain; charset=iso-8859-2\n" "Content-Transfer-Encoding: 8bit\n" -#: ../whois.c:100 +#: ../whois.c:106 #, c-format msgid "" "Version %s.\n" @@ -22,11 +22,30 @@ msgid "" "Report bugs to %s.\n" 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." msgstr "£±czenie z hostem whois.internic.net." -#: ../whois.c:143 +#: ../whois.c:179 #, c-format msgid "" "\n" @@ -37,26 +56,7 @@ msgstr "" "Znaleziono odniesienie z InterNIC do %s.\n" "\n" -#: ../whois.c:153 -#, 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 +#: ../whois.c:192 #, c-format msgid "" "Query string: \"%s\"\n" @@ -65,7 +65,12 @@ msgstr "" "Zapytanie: \"%s\"\n" "\n" -#: ../whois.c:235 +#: ../whois.c:242 ../whois.c:245 +#, c-format +msgid "Cannot parse this line: %s" +msgstr "" + +#: ../whois.c:318 msgid "" "I don't know where this IP has been delegated.\n" "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" "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." 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." msgstr "To nazwa domeny, ale nie wiem, gdzie jej szukaζ." -#: ../whois.c:269 +#: ../whois.c:352 msgid "Unknown AS number. Please upgrade this program." msgstr "Nieznany numer AS. Zainstaluj nowsz± wersjκ programu." -#: ../whois.c:299 +#: ../whois.c:382 msgid "Warning: RIPE flags ignored for a traditional server." msgstr "Uwaga: flagi RIPE s± ignorowane dla starszych serwerσw." -#: ../whois.c:363 +#: ../whois.c:446 #, c-format msgid "Detected referral to %s on %s.\n" msgstr "Wykryto odniesienie do %s na %s.\n" -#: ../whois.c:380 +#: ../whois.c:463 msgid "" "Catastrophic error: disclaimer text has been changed.\n" "Please upgrade this program.\n" @@ -102,22 +107,22 @@ msgstr "" "Katastrofa! Tekst disclaimera zosta³ zmieniony.\n" "¦ci±gnij nowsz± wersjκ programu.\n" -#: ../whois.c:450 +#: ../whois.c:533 #, c-format msgid "Host %s not found." msgstr "Serwer %s nie zosta³ znaleziony." -#: ../whois.c:460 +#: ../whois.c:543 #, c-format msgid "%s/tcp: unknown service" msgstr "%s/tcp: us³uga nieznana" -#: ../whois.c:477 +#: ../whois.c:560 #, c-format msgid "Interrupted by signal %d..." msgstr "Przerwanie na sygna³ %d..." -#: ../whois.c:520 +#: ../whois.c:592 #, fuzzy msgid "" "Usage: whois [OPTION]... OBJECT...\n" @@ -171,3 +176,59 @@ msgstr "" "-V wyja¶nia, co siκ dzieje\n" "\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 "" diff --git a/tld_serv_list b/tld_serv_list index 9c72066..39baf17 100644 --- a/tld_serv_list +++ b/tld_serv_list @@ -2,7 +2,6 @@ # 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 # -# centralnic domains are currently not supported .br.com whois.centralnic.net .cn.com whois.centralnic.net .eu.com whois.centralnic.net @@ -25,20 +24,20 @@ .org CRSNIC .edu CRSNIC .gov whois.nic.gov -.int whois.isi.edu +.int whois.icann.org .mil whois.nic.mil -.info whois.nic.info -.biz whois.biz.info +.info whois.afilias.info +.biz whois.nic.biz .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/ -.af whois.nic.af +.af NONE # was whois.nic.af .ag WEB http://www.nic.ag/domain_search.htm .ai NONE # http://www.offshore.com.ai/domain_names/ .al NONE # http://www.inima.al/Domains.html .am whois.amnic.net # down? -.am WEB http://www.amnic.net/cgi/engine/db/whois.html -.an NONE # http://www.una.net/an_domreg +.am WEB https://www.amnic.net/whois/ +.an NONE # http://www.una.net/an_domreg/ .ao NONE # www.dns.ao .aq NONE # 2day.com .ar WEB http://www.nic.ar/consultas/consdom.htm @@ -48,30 +47,30 @@ .au whois.aunic.net #.aw # NIC? www.setarnet.aw .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/ -.bd NONE # NIC? dns.org.bd +.bd NONE # NIC? .be whois.dns.be .bf NONE # http://www.onatel.bf/domaine.htm .bg whois.ripe.net -#.bh NONE # NIC? http://www.inet.com.bh -.bi WEB http://www.nic.cd/database/bi/ +#.bh NONE # NIC? www.inet.com.bh +.bi WEB http://www.nic.bi/cgi-bin/whoisbi.pl #.bj # NIC? www.opt.bj -.bm NONE # http://www.bermudanic.bm rwhois.ibl.bm:4321 -#.bn NONE # NIC? http://www.brunet.bn -.bo WEB http://www.nic.bo/listadom.phtml +.bm WEB http://www.bermudanic.bm/cgi-bin/BermudaNIC/rwhois_query.pl # rwhois.bermudanic.bm:4321 +#.bn NONE # NIC? www.brunet.bn +.bo NONE # www.nic.bo .br whois.nic.br -.bs NONE # www.nic.bs +.bs WEB http://www.nic.bs/cgi-bin/search.pl .bt whois.nic.tm .bv NONE # http://www.uninett.no/navn/bv-sj.html #.bw # NIC? www.botsnet.bw btc.bw .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 .cc whois.nic.cc -.cd WEB http://www.nic.cd/database/cd/ +.cd whois.nic.cd .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 .ci NONE # www.nic.ci .ck whois.nic.ck @@ -86,12 +85,12 @@ .cu WEB http://www.nic.cu/consultas/consult.html #.cv # NIC? dns.cv? .cx whois.nic.cx -.cy NONE +.cy NONE # www.nic.cy .cz whois.nic.cz .de whois.denic.de .dj NONE # www.nic.dj (NOT YET) .dk whois.dk-hostmaster.dk -#.dm # NIC? (UPR) +.dm NONE # www.domains.dm ? .do WEB http://www.nic.do .dz NONE .ec WEB http://www.nic.ec @@ -101,14 +100,14 @@ #.er NONE # NIC? www.noc.net.er (recently connected!) .es WEB http://www.nic.es/whois/ #.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 .fk NONE # http://www.fidc.org.fk/domain-registration/home.htm .fm WEB http://www.nic.fm/register.html .fo whois.ripe.net # www.nic.fo .fr whois.nic.fr #.fx -#.ga # (not responding) NIC? www.inet.ga +#.ga # NIC? www.inet.ga .gb NONE #.gd # NO NIC (UPR) .ge WEB http://www.nic.net.ge @@ -119,7 +118,7 @@ .gl whois.ripe.net .gm whois.ripe.net .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 .gr WEB http://www.hostmaster.gr/cgi-bin/webwhois .gs whois.adamsnames.tc @@ -127,8 +126,8 @@ .gu WEB http://gadao.gov.gu/Scripts/wwsquery/wwsquery.dll?hois=guamquery #.gw # no NIC? #.gy # NIC? (UPR) -.hk whois.hknic.net.hk -.hm whois.nic.hm +.hk whois.hkdnr.net.hk +.hm whois.registry.hm .hn NONE # www.nic.hn .hr WEB http://noc.srce.hr/web-eng/searchdomain.htm #.ht # NIC? http://www.haitiworld.com/ @@ -145,9 +144,8 @@ .it whois.nic.it .je NONE # http://www.isles.net #.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 -# there is a server run by Randy bush, but I forgot the address! .ke NONE # http://www.nbnet.co.ke/domain.htm .kg whois.domain.kg .kh NONE # http://www.mptc.gov.kh/Reculation/DNS.htm @@ -157,7 +155,7 @@ #.kp .kr whois.krnic.net .kw WEB http://www.domainname.net.kw -.ky NONE # http://www.nic.ky +.ky NONE # www.nic.ky .kz whois.domain.kz .la whois.nic.la .lb WEB http://www.aub.edu.lb/lbdr/search.html @@ -170,18 +168,18 @@ .lu whois.restena.lu .lv whois.ripe.net .ly WEB http://www.lydomains.com/whois.asp -#.ma # (not reponding) NIC? www.nic.ma +#.ma # NIC? .mc whois.ripe.net .md WEB http://www.nic.md/search.html .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 -#.ml # NIC? sotelma.ml +#.ml # NIC? www.sotelma.ml .mm whois.nic.mm -.mn WEB http://www.nic.mn -.mo NONE # http://www.umac.mo/other/ -.mp NONE # http://www.marketplace.mp -#.mq # http://www.nic.mq broken like gp +.mn WEB http://whois.nic.mn +.mo WEB http://www.monic.net.mo # whois.umac.mo +.mp NONE # www.marketplace.mp +#.mq # www.nic.mq broken like gp .mr NONE # http://www.univ-nkc.mr/nic_mr.html .ms whois.adamsnames.tc .mt WEB http://www.um.edu.mt/nic/dir/ @@ -192,15 +190,15 @@ .my NONE # http://www.mynic.net #.mz # NIC? www.uem.mz .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 .nf NONE # http://www.names.nf .ng whois.rg.net -.ni WEB http://ns.ni/whois.htm +.ni NONE # www.nic.ni .nl whois.domain-registry.nl .no whois.norid.no -.np WEB http://202.52.255.47/search.htm # www.mos.com.np -#.nr # NIC? www.nauru01.nr wwc.nauru01.nr +.np WEB http://www.mos.com.np/domsearch.html +#.nr # NIC? www.cenpan.net.nr .nu whois.nic.nu .nz whois.domainz.net.nz #.om NONE # NIC? http://www.gto.net.om @@ -209,23 +207,23 @@ #.pf # NIC? mana.pf .pg NONE # http://www.unitech.ac.pg/Unitech_General/ITS/ITS_Dns.htm .ph WEB http://www.names.ph/search.html -.pk whois.pknic.net.pk -.pl NONE # http://www.dns.pl +#.pk whois.pknic.net.pk # the host does not exist anymore +.pl whois.dns.pl #.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 -.ps NONE # no NIC yet... www.gov.ps -.pt WEB http://www.dns.pt/dnsinfo.htm +.ps WEB http://www.nic.ps/whois/ +.pt NONE # www.dns.pt .pw whois.nic.pw .py WEB http://www.nic.py/consultas/ .qa NONE # http://www.qatar.net.qa/services/virtual.htm #.re # NIC-FR! .ro whois.rotld.ro .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 .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 .se whois.nic-se.se .sg whois.nic.net.sg @@ -236,57 +234,59 @@ #.sl # NIC? http://www.sierratel.sl/ .sm whois.ripe.net .sn NONE # www.nic.sn -.so NONE # www.nic.so -.sr NONE # http://www.sr.net/srnew/domein.html +.so NONE # www.nic.so - no country, no NIC +.sr NONE # www.nic.sr - opens september 2001 .st whois.nic.st .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?) .sz NONE # http://www.iafrica.sz/domreg/ .tc whois.adamsnames.tc #.td # NIC? http://www.tit.td .tf whois.adamsnames.tc -.tg WEB www.nic.tg +.tg WEB http://www.nic.tg .th whois.thnic.net .tj whois.nic.tj .tk NONE # 2day.com .tm whois.nic.tm .tn NONE # http://www.ati.tn/Nic/ .to whois.tonic.to -.tp NONE # http://www.nic.tp +.tp NONE # www.nic.tp .tr whois.metu.edu.tr .tt WEB http://www.nic.tt/cgi-bin/whois.cgi .tv NONE # http://internet.tv .tw whois.twnic.net .tz NONE # http://www.psg.com/dns/tz/ .ua whois.com.ua -.ug NONE # http://www.nic.ug +.ug www.registry.co.ug .gov.uk whois.ja.net .ac.uk whois.ja.net .uk whois.nic.uk -.um whois.isi.edu # not checked +.um NONE # see .us .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 .uy WEB http://www.rau.edu.uy/rau/dom/reg.htm #.uz # www.noc.uz (broken) .va whois.ripe.net -#.vc # NIC? (UPR) +.vc whois.opensrs.net .ve WEB http://www.nic.ve/nicwho01.html # rwhois.reacciun.ve:4321 .vg whois.adamsnames.tc .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 #.wf # NIC-FR! .ws whois.samoanic.ws #.ye # NIC? www.y.net.ye #.yt # NIC-FR! .yu NONE # www.nic.yu -.ac.za whois.frd.ac.za -.co.za WEB whois.co.za -.edu.za WEB edu.za -.za NONE -.zm NONE # http://www.zamnet.zm/siteindex/Links/JoinZamnet.htm +.ac.za whois.ac.za +#.bourse.za whois.bourse.za # broken +.co.za WEB http://whois.co.za/ +.net.za whois.net.za +.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 #.zw # NIC? zptc.co.zw http://www.zispa.co.zw/ -au-dom whois.aunic.net @@ -316,3 +316,4 @@ -frnic whois.nic.fr -nicat whois.nic.at -il whois.isoc.org.il +-lrms whois.afilias.net diff --git a/whois.1 b/whois.1 index 7424da8..7dabff7 100644 --- a/whois.1 +++ b/whois.1 @@ -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. .P RIPE-specific options are ignored when querying non-RIPE servers. +.SH Files +/etc/whois.conf .SH ENVIRONMENT .IP LANG When querying \fIwhois.nic.ad.jp\fP english text is requested unless the diff --git a/whois.c b/whois.c index ab7d159..70cbc23 100644 --- a/whois.c +++ b/whois.c @@ -14,6 +14,9 @@ #ifdef HAVE_GETOPT_LONG #include #endif +#ifdef HAVE_REGEXEC +#include +#endif #include #include #include @@ -23,6 +26,8 @@ #include #include +#undef ENABLE_NLS + /* Application-specific */ #include "data.h" #include "whois.h" @@ -67,12 +72,12 @@ int main(int argc, char *argv[]) longopts, 0)) > 0) { /* RIPE flags */ if (strchr(ripeflags, ch)) { - for (p = fstring; *p != '\0'; p++); + for (p = fstring; *p; p++); sprintf(p--, "-%c ", ch); continue; } if (strchr(ripeflagsp, ch)) { - for (p = fstring; *p != '\0'; p++); + for (p = fstring; *p; p++); sprintf(p--, "-%c %s ", ch, optarg); if (ch == 't' || ch == 'v' || ch == 'q') nopar = 1; @@ -82,7 +87,7 @@ int main(int argc, char *argv[]) switch (ch) { case 'h': 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 == ':') port = p + 1; *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) { - 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]) { case 0: if (!(server = getenv("WHOIS_SERVER"))) @@ -180,20 +200,86 @@ int main(int argc, char *argv[]) sockfd = openconn(server, port); do_query(sockfd, p); - closeconn(sockfd); 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) { unsigned long ip; unsigned int i; - /* -v or -t has been used */ - if (*s == '\0') - return "whois.ripe.net"; - /* IPv6 address */ if (strchr(s, ':')) { if (strncasecmp(s, "2001:2", 6) == 0) /* XXX ugly hack! */ @@ -214,7 +300,7 @@ const char *whichwhois(const char *s) if (!strpbrk(s, ".-")) { 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 */ ((s[2] >= '0' && s[2] <= '9') || s[2] == ' ')) return whereas(atoi(s + 2), as_assign); @@ -265,7 +351,7 @@ const char *whereas(int asn, struct as_del aslist[]) { int i; - if (asn > 16383) + if (asn > 23551) puts(_("Unknown AS number. Please upgrade this program.")); for (i = 0; aslist[i].serv; i++) 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; break; } - if (*flags != '\0') { + if (*flags) { if (!isripe && strcmp(server, "whois.corenic.net") != 0) puts(_("Warning: RIPE flags ignored for a traditional server.")); else @@ -364,7 +450,6 @@ void do_query(const int sock, const char *query) strcat(nq, "\r\n"); fd = openconn(nh, np); do_query(fd, nq); - closeconn(fd); continue; } } @@ -375,6 +460,7 @@ void do_query(const int sock, const char *query) } if (ferror(fi)) err_sys("fgets"); + fclose(fi); if (hide == 1) 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; FILE *fi; + int state = 0; temp = malloc(strlen(query) + 1 + 2 + 1); *temp = '='; @@ -397,7 +484,9 @@ const char *query_crsnic(const int sock, const char *query) while (fgets(buf, sizeof(buf), fi)) { /* If there are multiple matches only the server of the first record 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; 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); for (q = ret; *p != '\n' && *p != '\r'; *q++ = *p++); /*copy data*/ *q = '\0'; + state = 2; } fputs(buf, stdout); } @@ -463,7 +553,7 @@ int openconn(const char *server, const char *port) if (connect(fd, (struct sockaddr *)&saddr, sizeof(saddr)) < 0) err_sys("connect"); #endif - return (fd); + return fd; } void closeconn(const int fd) @@ -482,16 +572,27 @@ int domcmp(const char *dom, const char *tld) { const char *p, *q; - for (p = dom; *p != '\0'; p++); p--; /* move to the last char */ - for (q = tld; *q != '\0'; q++); q--; + for (p = dom; *p; p++); p--; /* move to the last char */ + for (q = tld; *q; q++); q--; 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; p--; q--; } 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) { int a, b, c, d; diff --git a/whois.h b/whois.h index fc68820..8baf0b1 100644 --- a/whois.h +++ b/whois.h @@ -7,6 +7,7 @@ /* prototypes */ const char *whichwhois(const char *); +const char *match_config_file(const char *); const char *whereas(int, struct as_del []); char *queryformat(const char *, const char *, const char *); void do_query(const int, const char *); @@ -18,6 +19,7 @@ void sighandler(int); unsigned long myinet_aton(const char *); int domcmp(const char *, const char *); int domfind(const char *, const char *[]); +char *normalize_domain(const char *); void err_quit(const char *,...); void err_sys(const char *,...);