Compare commits

...

734 Commits
v4.7.0 ... next

Author SHA1 Message Date
barbieri1982
54d60d8eba
Update tld_serv_list with .com.uy URL
correct URL for .com.uy extension:
https://nic.com.uy/consulta-whois
2026-07-25 19:36:51 +02:00
Marco d'Itri
28b04d45c9
Reset the time every time a line is read
This makes whois handle better very slow connections and big responses.
2026-07-25 19:26:35 +02:00
Marco d'Itri
1024386831
Debian changelog for 5.6.6 2026-02-16 02:46:59 +01:00
Marco d'Itri
5fb7fabaf9
whois.c: add the complete GPL notice 2026-02-16 02:46:44 +01:00
Marco d'Itri
59a8760c31
Update the text of the GPL 2026-02-16 02:46:44 +01:00
Marco d'Itri
db1c3e143d
mkpasswd: rename bcrypt-a and gost-yescrypt
Let's use the same names listed in libxcrypt's crypt(5).

I highly doubt that anybody uses these names, so I am not adding
compatibility aliases.
2026-02-16 02:46:44 +01:00
Marco d'Itri
9d8f93b3c2
mkpasswd: support the Chinese algorithms 2026-02-16 02:46:44 +01:00
Marco d'Itri
15883e61b2
mkpasswd: move the "national" algorithms
Keep them around the end of the list because they should never be
selected automatically or preferred.
2026-02-16 02:46:44 +01:00
Marco d'Itri
beb5f19182
Remove the .travel TLD server 2026-02-16 02:46:44 +01:00
Marco d'Itri
a30a99e232
Remove the .mobi TLD server 2026-02-16 02:46:44 +01:00
Marco d'Itri
78480971a3
Remove the .info TLD server 2026-02-16 02:46:44 +01:00
Marco d'Itri
db3ea2fc1a
Remove the .فلسطين (.xn--ygbi2ammx) TLD server
The new server for .ps does not appear to handle queries for this domain
too.
2026-02-16 02:46:44 +01:00
Marco d'Itri
3319487629
Update the .ps TLD server
For months the old server has been rejecting queries with a RST.
2026-02-16 02:46:44 +01:00
Marco d'Itri
431ed02783
Add the .mc TLD server 2026-02-16 02:46:44 +01:00
Marco d'Itri
33235c0517
make_version_h.pl: remove everything after ~ or +
Closes: #1120638
2026-02-16 02:46:31 +01:00
Marco d'Itri
d268ab6f58
Remove 3 new gTLDs which are no longer active 2026-02-16 01:39:05 +01:00
Marco d'Itri
e6bf9a53a1
Remove out of date documentation 2026-02-16 01:38:31 +01:00
Marco d'Itri
64c3426493
Debian changelog for 5.6.5 2025-10-13 03:37:26 +02:00
Marco d'Itri
8624550e4a
make_version_h.pl: ignore the salsa CI tags
These version numbers do not appear in any archive but are used
internally by the Salsa CI pipeline.
2025-10-13 03:37:03 +02:00
Marco d'Itri
9f37990fed
make_version_h.pl: refactoring 2025-10-13 03:37:03 +02:00
Marco d'Itri
a2bbd90c40
Enable the standard Salsa CI pipeline 2025-10-13 03:29:13 +02:00
Marco d'Itri
f5d4f95d76
Remove some leftovers of 6bone referral handling
The rest was removed in commit 3364fe47f2bc408c1faa2e3209448320cb928423.
2025-10-13 03:18:08 +02:00
Steven Maddox
173808dd26
Update the second level .uk TLD servers
Removed these as although they're registered directly by Nominet
they're not second level domains:
- .bl.uk
- .british-library.uk
- .nls.uk

Removed this as it has just been a normal registered domain since 2014
when direct .uk registrations opened up:
- .icnet.uk

Removed these as whilst not directly registered by Nominet and they do
pre-date the 2014 direct .uk registrations, they're also not second
level domains:
- .jet.uk
- .police.uk

Added this which was missing:
- .mil.uk
2025-10-13 03:12:08 +02:00
Marco d'Itri
5967760f56
Remove 1 new gTLD which is no longer active 2025-10-13 02:56:37 +02:00
Marco d'Itri
45dde46468
Add some large KRNIC networks
These networks have more specific records only in the KRNIC whois
database.
2025-10-13 02:46:08 +02:00
Marco d'Itri
71c87b5e30
Update the .co TLD server
The old server does not exist anymore.
2025-10-12 02:06:39 +02:00
Marco d'Itri
e0d2550f93
Remove the .pro TLD server 2025-09-22 00:55:29 +02:00
Marco d'Itri
24363dc033
Debian changelog for 5.6.4 2025-08-02 01:14:39 +02:00
Marco d'Itri
3364fe47f2
Remove referral handling for whois.6bone.net
6bone has been shut down 20 years ago and this specific referrals format
does not appear to be used anywhere else.
2025-08-02 00:52:12 +02:00
Marco d'Itri
4171b62cf9
data.h: remove the reference to the obsolete whois.ra.net 2025-08-02 00:41:15 +02:00
Marco d'Itri
6a5dc397fd
Update the .to TLD server
The old server does not work anymore.
2025-08-02 00:33:30 +02:00
Marco d'Itri
64ace856ec
Update the .cm TLD server
New alias of the same server.
2025-07-22 00:23:02 +02:00
Marco d'Itri
39900059a5
Move the repository to salsa 2025-07-22 00:12:57 +02:00
Marco d'Itri
434e384f32
Debian changelog for 5.6.3 2025-07-17 05:29:32 +02:00
Marco d'Itri
87296ebc30
Add the .мон (.xn--l1acc, Mongolia) TLD server 2025-07-05 01:18:55 +02:00
Marco d'Itri
5ec6843896
Add the .sr TLD server
Closes GitHub #190
2025-07-05 01:18:52 +02:00
Marco d'Itri
6e74da05d1
mkpasswd: use readpassphrase(3) if available 2025-06-21 01:34:43 +02:00
Marco d'Itri
b64054961d
Debian changelog for 5.6.2 2025-06-06 18:22:11 +02:00
Marco d'Itri
c16055893b
Remove 1 new gTLD which is no longer active 2025-06-06 18:17:41 +02:00
Marco d'Itri
be9c4cfa09
debian/control: Build-Depend on libcrypt-dev
Closes: #1106977
2025-06-02 00:17:24 +02:00
Marco d'Itri
cd6f08d336
debian/control: remove obsolete version constraints 2025-06-02 00:17:13 +02:00
Marco d'Itri
672575a1ae
Update the .in TLD server
And the other related IDN TLDs servers.

The old server is currently broken.
2025-06-02 00:09:16 +02:00
Marco d'Itri
e17d852900
Update the .post TLD server
Same IP, different name.
2025-06-02 00:03:17 +02:00
Marco d'Itri
e36fc3b773
Debian changelog for 5.6.1 2025-05-17 01:30:14 +02:00
Marco d'Itri
cc4b9c48e6
Correct the comment in servers_charset_list
This is about encodings, not character sets.
2025-05-17 01:28:31 +02:00
Marco d'Itri
d3b4365bd8
Add the encoding for whois.apnic.net 2025-05-17 01:28:31 +02:00
Marco d'Itri
aaf0baab25
Add the encoding for whois.afrinic.net 2025-05-17 01:20:16 +02:00
Marco d'Itri
9bb383ea03
Enable the UTF-8 encoding for whois.ripe.net 2025-05-17 01:06:47 +02:00
Marco d'Itri
f240aaf70e
Remove the charset for cwhois.cnnic.cn
Apparently this name has been retired, and is not used anymore by this
client.
2025-05-16 22:30:52 +02:00
Marco d'Itri
b0920c9748
Update the .mu TLD server
Same server, different name.
2025-05-06 01:22:23 +02:00
Marco d'Itri
980539ec23
Update the .gov TLD server
Same server, different name.
2025-05-06 01:21:15 +02:00
Marco d'Itri
d31347a39e
Update the .中國 (.xn--fiqz9s) TLD server
Same server, different name.
2025-05-06 01:21:06 +02:00
Marco d'Itri
f1d74f377f
Update the .中国 (.xn--fiqs8s) TLD server
Same server, different name.
2025-05-06 01:18:42 +02:00
Marco d'Itri
816f7adb8c
Remove the .jobs TLD server
Not accepting TCP connections, not in the IANA database anymore.
2025-05-06 01:15:16 +02:00
Marco d'Itri
f31128ed0d
Make sure to avoid trivial referral loops
In theory loops should not happen for domains, because recursion is
enabled only for the server names listed in server_referral_handlers[],
but better be safe than sorry.
2025-05-06 00:37:23 +02:00
Marco d'Itri
e30931d958
Use the last ReferralServer field found
Because we want to follow the referral for the most specific record
returned.

Closes GitHub #185.
2025-05-05 23:41:19 +02:00
Marco d'Itri
cf5fdb03e5
Add the .pg TLD server
Closes GitHub #184
2025-05-05 11:38:15 +02:00
Marco d'Itri
e7acab9014
Debian changelog for 5.6.0 2025-05-05 02:57:45 +02:00
Marco d'Itri
9b349a9c40
Add more missing SPDX license identifiers 2025-05-05 02:53:51 +02:00
Marco d'Itri
2753190967
Update the supported policy version 2025-05-05 02:53:06 +02:00
Marco d'Itri
b36474fc77
Refactoring 2025-05-05 02:38:03 +02:00
Marco d'Itri
e19e5d9f4f
Refactoring 2025-05-05 02:38:03 +02:00
Marco d'Itri
6ec5b9dd48
Implement following the APNIC pseudo-referrals
Closes GitHub #95
2025-05-05 02:38:03 +02:00
Marco d'Itri
8f5ef792d8
Refactoring 2025-05-05 02:38:03 +02:00
Marco d'Itri
b903b3679b
Refactoring 2025-05-05 02:38:02 +02:00
Marco d'Itri
5211801fe0
Refactoring 2025-05-05 02:38:02 +02:00
Marco d'Itri
c6f7ae9162
Fix some irrelevant memory leaks 2025-05-05 02:38:02 +02:00
Marco d'Itri
4a5357548d
Refactoring 2025-05-05 02:38:02 +02:00
Marco d'Itri
1a148ff7e4
Refactoring 2025-05-05 02:38:02 +02:00
Marco d'Itri
52c9e13eef
Refactoring 2025-05-05 02:38:02 +02:00
Marco d'Itri
b989176918
Accept bare hostnames for ARIN's ReferralServer field
Some networks have just a bare hostname with no protocol scheme
component.
2025-05-05 02:38:02 +02:00
Bjarni Ingi Gislason
cb1ce782a1
Clean up the man pages markup
Closes: #1036826
Closes: #1094208
2025-05-05 02:38:02 +02:00
Marco d'Itri
420fff7ee6
Do not mangle RADB queries with IDN processing 2025-05-04 00:41:16 +02:00
Marco d'Itri
4190279e0e
Add more hiding strings 2025-05-04 00:41:16 +02:00
Marco d'Itri
dc06d9972b
ip6_del_list: add 2410::/12 2025-05-04 00:41:16 +02:00
Marco d'Itri
fcc4958dc3
ip6_del_list: aggregate some entries 2025-05-04 00:41:16 +02:00
Marco d'Itri
f576fdcbff
Remove 7 new gTLDs which are no longer active 2025-05-04 00:41:16 +02:00
Marco d'Itri
8fc981f3c4
tld_serv_list: update some notes 2025-05-04 00:41:16 +02:00
Marco d'Itri
1a269128db
Add the .za TLD server 2025-05-04 00:41:16 +02:00
Marco d'Itri
49a99cbb2d
Add the .ad TLD server 2025-05-04 00:41:15 +02:00
Marco d'Itri
f11eca950f
Update the .mobi TLD server
Closes GitHub #179
2025-05-04 00:41:15 +02:00
Marco d'Itri
88d18d6c32
Update the .info TLD server 2025-05-04 00:41:15 +02:00
Marco d'Itri
1197daea75
Update the .vc TLD server 2025-05-04 00:41:15 +02:00
Marco d'Itri
efd879dd7a
Update the .md TLD server 2025-05-04 00:41:15 +02:00
Marco d'Itri
e7dcd8171b
Update the .lc TLD server 2025-05-04 00:41:15 +02:00
Marco d'Itri
f802f15b26
Update the .gi TLD server 2025-05-04 00:41:15 +02:00
Marco d'Itri
3f784bd664
Update the .ελ (.xn--qxam) TLD server 2025-05-04 00:41:15 +02:00
Marco d'Itri
8d78134293
Update the .uy TLD server 2025-05-04 00:41:15 +02:00
Marco d'Itri
efbcad34fa
Update the .pr TLD server
Closes GitHub #178
2025-05-04 00:41:15 +02:00
Marco d'Itri
4c93a190c0
Update the .pn TLD server 2025-05-04 00:41:15 +02:00
Marco d'Itri
476c701c86
Update the .gw TLD server 2025-05-04 00:41:15 +02:00
Marco d'Itri
0fa0351141
Update the .gr TLD server 2025-05-04 00:41:15 +02:00
Marco d'Itri
157ef53e06
Update the .gq TLD server
Port 43 always returns an unknown domain error after the demise of
Freenom.
2025-05-04 00:41:15 +02:00
Marco d'Itri
8280d56f16
Update the .bz TLD server
Closes GitHub #179
2025-05-04 00:41:15 +02:00
Marco d'Itri
2f1da4ff84
Update the .ao TLD server 2025-05-03 18:17:45 +02:00
Marco d'Itri
23f2636f88
Update the .გე (.xn--node, Georgia) TLD server
Port 43 does not work anymore.
2025-05-03 18:16:41 +02:00
Marco d'Itri
2c20d77516 Always check the values returned by fdopen(3) 2024-06-18 01:00:57 +02:00
Marco d'Itri
dc588f10ee Debian changelog for 5.5.23 2024-05-12 10:59:59 +02:00
Marco d'Itri
02ca11b4c7 Update the .新加坡 (.xn--yfro4i67o, Singapore) TLD server 2024-05-04 03:12:29 +02:00
Marco d'Itri
bc20dcc7e2 Update the .சிங்கப்பூர் (.xn--clchc0ea0b2g2a9gcd, Singapore) TLD server 2024-05-04 03:12:25 +02:00
Marco d'Itri
7e46b8cd50 Update the .sc TLD server 2024-05-04 03:06:27 +02:00
Marco d'Itri
481b0abe71 Debian changelog for 5.5.22 2024-04-01 20:15:42 +02:00
Marco d'Itri
918755c7c2 Prevent a segmentation fault with --no-recursion 2024-04-01 20:13:12 +02:00
Marco d'Itri
bca6e45ecb Update the .vi TLD server 2024-04-01 20:12:55 +02:00
Marco d'Itri
8fd06d0d8e Update the .bm TLD server
New registrar.
2024-04-01 20:12:31 +02:00
Marco d'Itri
00ca02f758 Remove 2 new gTLDs which are no longer active 2024-04-01 20:07:59 +02:00
Marco d'Itri
ef10478197 Debian changelog for 5.5.21 2024-02-24 19:16:34 +01:00
Marco d'Itri
0e72a60a22 Depend on pkgconf instead of pkg-config 2024-02-24 17:24:29 +01:00
Marco d'Itri
dfd5204451 Update the .sd TLD server
Same server, different domain.
2024-02-24 17:19:41 +01:00
Marco d'Itri
d0b1a41bb7 Update the .cv TLD server 2024-02-24 17:12:10 +01:00
Marco d'Itri
8a3bbc2473 Suppress the "unused parameter" warning in get_random_bytes() 2024-02-24 17:08:17 +01:00
Marco d'Itri
4754721796 Remove 8 new gTLDs which are no longer active 2024-02-24 17:04:16 +01:00
ashamedbit
254d87165e Fix memory leak in whois.c 2024-02-24 17:04:05 +01:00
Sevan Janiyan
9cbbbb9c34 Use __attribute__((malloc(free))) only with GCC >= 11 2023-12-10 12:13:25 +01:00
Marco d'Itri
8079ab6f52 Remove the copyright years from the sources files 2023-12-10 12:08:46 +01:00
Mike Frysinger
63f2a9abde Switch the documentation URLs to https 2023-11-16 22:47:16 +01:00
Marco d'Itri
042c9acf80 Debian changelog for 5.5.20 2023-11-10 15:26:16 +01:00
Marco d'Itri
3ab4353e9e Add a Github workflow to automatically make releases 2023-11-10 15:26:00 +01:00
Marco d'Itri
977d6242d2 Enable getopt_long(3) support on Solaris 2023-11-09 22:04:21 +01:00
Marco d'Itri
edbeda1085 Remove 6 new gTLDs which are no longer active 2023-11-09 22:02:35 +01:00
Marco d'Itri
fc08d2df87 Add the .gn TLD server 2023-11-09 22:01:19 +01:00
Marco d'Itri
bd1c31c597 Use __attribute__((unused)) 2023-11-08 11:38:27 +01:00
Marco d'Itri
e2b38d570b Do not use __attribute__((malloc(free))) with Clang
This extension is not implemented by Clang.
2023-11-08 11:38:27 +01:00
Marco d'Itri
18145364ab Refactoring
Merge the as and as32 data structures, since it is highly unlikely
that using short ints will save any memory.
2023-11-08 11:38:27 +01:00
Marco d'Itri
b433437563 Debian changelog for 5.5.19 2023-10-08 22:58:49 +02:00
Jakub Bogusz
e371b0c101 Update the pl translation 2023-10-08 22:58:27 +02:00
Marco d'Itri
04c8952bee Update the charset for whois.jprs.jp
whois.jprs.jp switched to UTF-8 on January 18, 2015:
https://jprs.jp/whatsnew/notice/2014/20140319-whois.html .
2023-10-08 22:58:27 +02:00
Marco d'Itri
114b9d2fd9 mkpasswd: prevent using two unitialized variables 2023-10-08 22:58:27 +02:00
Marco d'Itri
f01f8d405b Annotate do_nofail() with malloc(free) and returns_nonnull
Or else the compiler will be unable to understand that the NOFAIL()
macro never returns a NULL pointer.
2023-10-08 22:30:54 +02:00
Marco d'Itri
23302dbd1d Do not add again the /e argument to Japanese queries
The /e argument should not be added if it has already been provided by
the user.

Closes: #1050171
2023-10-08 13:07:21 +02:00
Marco d'Itri
adb4af2ddc Refactor the code which detects the ASN names 2023-10-08 13:06:32 +02:00
Marco d'Itri
c0d6e929d9 config.h: fix a missing "if defined" 2023-10-08 13:05:49 +02:00
Marco d'Itri
bedd34e3fe Refactoring 2023-10-08 13:05:49 +02:00
Marco d'Itri
96173f3630 Remove support for the as32 dot notation
It has been deprecated long ago and is not used anymore.
2023-10-08 13:05:49 +02:00
Marco d'Itri
27549ba6cb Remove 3 new gTLDs which are no longer active 2023-10-08 13:05:49 +02:00
Marco d'Itri
8c1db1d4e7 Add the .বাংলা (.xn--54b7fta0cc, Bangladesh) TLD URL 2023-10-08 13:05:49 +02:00
Marco d'Itri
5840287080 Add the .ye TLD server 2023-10-08 13:05:49 +02:00
Marco d'Itri
2b45a9e386 Update the .dk TLD server
Same server, different domain.
2023-10-08 13:05:49 +02:00
Marco d'Itri
a0351beb75 Update the .ml TLD server
The TLD is now managed by a different operator and the old whois server
does not work anymore.
2023-10-08 13:00:14 +02:00
Marco d'Itri
793cf10dfd Update the .uy TLD URL 2023-10-08 13:00:14 +02:00
Marco d'Itri
56c7cc3742 Update the .sv TLD URL 2023-10-08 13:00:14 +02:00
Marco d'Itri
1e3f015bc1 Update the .pn TLD URL 2023-10-08 13:00:14 +02:00
Marco d'Itri
80a0c68f53 Update the .pa TLD URL 2023-10-08 13:00:14 +02:00
Marco d'Itri
eaaa8c6958 Update the .澳門 (.xn--mix891f, Macao) TLD URL 2023-10-08 13:00:14 +02:00
Marco d'Itri
2918d7aae2 Update the .mo TLD URL 2023-10-08 13:00:14 +02:00
Marco d'Itri
2396a5527f Update the .الاردن (.xn--mgbayh7gpa, Jordan) TLD URL 2023-10-08 13:00:14 +02:00
Marco d'Itri
c5d9f92f23 Update the .jo TLD URL 2023-10-08 13:00:14 +02:00
Marco d'Itri
693dd3ac90 Update the .gt TLD URL 2023-10-08 13:00:14 +02:00
Marco d'Itri
a8f98ab9b8 Update the .es TLD URL 2023-10-08 13:00:14 +02:00
Marco d'Itri
992ae08c0a Update the .bb TLD URL 2023-10-08 13:00:14 +02:00
Marco d'Itri
1d0da84a53 Update the .ba TLD URL 2023-10-08 13:00:14 +02:00
Marco d'Itri
da2073bee7 tld_serv_list: upgrade the TLD URLs to HTTPS whenever possible 2023-10-08 13:00:14 +02:00
Marco d'Itri
0073f66601 tld_serv_list: update a comment 2023-10-08 13:00:14 +02:00
Marco d'Itri
13e2720740 Debian changelog for 5.5.18 2023-07-22 17:57:07 +02:00
Marco d'Itri
9a3a2ddb16 debian/control: update the policy version 2023-07-22 17:43:05 +02:00
Marco d'Itri
a0a4e9d7a6 Remove 12 new gTLDs which are no longer active 2023-07-22 17:38:06 +02:00
Bjarni Ingi Gislason
d07771c3df Improve the man page source
Closes: #1040613
2023-07-22 17:38:06 +02:00
Petr Menšík
6761f80395 Add SPDX license identifiers to code files
Change manual pages word to recognize it by licensecheck tool.
2023-07-22 17:38:06 +02:00
Marco d'Itri
881e1d41ec Update the .ga TLD server
Closes: #1037288
2023-07-22 17:36:45 +02:00
Robert Scheck
1e30e42673 Add the -su NIC handles server 2023-07-22 17:35:29 +02:00
Marco d'Itri
c7cec7b1a8 Update the documentation URL for .za 2023-07-22 17:35:29 +02:00
Marco d'Itri
550785c5b6 Add the .edu.za SLD server 2023-07-22 17:35:26 +02:00
Marco d'Itri
139a7a0c14 Update the .alt.za SLD server 2023-07-22 17:34:57 +02:00
Robert Scheck
cf1ae2a001 Add the -ru NIC handles server 2023-05-13 20:40:01 +02:00
Marco d'Itri
d39afe6e42 Update ip_del_recovered.h 2023-05-13 20:29:07 +02:00
Marco d'Itri
113b4cb068 make_ip_del_recovered.pl: skip redundant entries
Makes it ignore the entries for recovered networks which are already
covered by entries in ip_del_list.
2023-05-13 20:27:52 +02:00
Marco d'Itri
c4b9cf8c23 make_ip_del_recovered.pl: refactoring 2023-05-13 20:27:52 +02:00
Marco d'Itri
36720ed8e6 Remove the delegation of 43.0.0.0/8 to JPNIC
All networks up to 43.221.255.255 are allocated to asian cloud operators
or CDNs and regitered in the APINC database.
The two allocations left are mirrored in the APINC database anyway, so
there is no point anymore in querying the JPNIC database for 43/8.
2023-05-13 20:27:52 +02:00
Marco d'Itri
bac7108b01 Debian changelog for 5.5.17 2023-05-03 14:26:39 +02:00
Robert Scheck
08f3a9fefd Add the .cd TLD server 2023-05-03 14:25:50 +02:00
Robert Scheck
9c0d7bffb5 Update the -kg NIC handles server name 2023-05-03 14:25:47 +02:00
Marco d'Itri
61b1a9620f Remove 2 new gTLDs which are no longer active 2023-05-03 14:09:03 +02:00
Marco d'Itri
41b34352ad Debian changelog for 5.5.16 2023-02-28 00:59:54 +01:00
Marco d'Itri
1d0763aeb4 Update the .tr TLD server
.tr is now managed by a new organization.
2023-02-28 00:57:23 +01:00
Marco d'Itri
4203489400 Remove support for -metu NIC handles
Queries for NIC handles are not supported by the new .tr registry.
2023-02-28 00:57:12 +01:00
Marco d'Itri
33ec512561 Delete the generated nic_handles.h 2023-02-28 00:51:41 +01:00
Marco d'Itri
73dd92c69b Build-Depend on bash-completion
To support running "pkg-config bash-completion".
2023-02-28 00:40:38 +01:00
Ville Skyttä
045ffaaafc
Add bash completions 2023-02-28 00:33:41 +01:00
Marco d'Itri
d83bf0dcee Debian changelog for 5.5.15 2022-12-28 20:46:36 +01:00
Marco d'Itri
fe840430b5 Enable Large Files Support 2022-12-28 20:44:03 +01:00
Marco d'Itri
ab184c22ca Properly truncate some strings 2022-12-28 20:43:45 +01:00
Marco d'Itri
c58b75e0a9 Fix some signedness-related warnings 2022-12-28 20:40:13 +01:00
Marco d'Itri
96f8dd873b Add the charset for the servers of British government SLDs 2022-12-28 20:38:26 +01:00
Marco d'Itri
d905700652 Add the .ac.uk and .gov.uk TLD servers
As requested by the registrar (JISC).
2022-12-28 20:36:33 +01:00
Marco d'Itri
2ccecac906 Add the .llyw.cymru, .gov.scot and .gov.wales TLD servers 2022-12-28 20:35:31 +01:00
Marco d'Itri
fd61dfe265 Update the list of new gTLDs
Four IDN generic TLDs assigned in October 2013 were missing from the
list because of a bug of the list maintenance program.
2022-12-28 20:24:58 +01:00
Marco d'Itri
23b380813c Remove 4 new gTLDs which are no longer active 2022-12-28 20:24:43 +01:00
Marco d'Itri
a0b231029c Update the .bd TLD server
Notwithstanding the domain name, the old web site was actually the
one of a registrar.
2022-11-26 02:56:09 +01:00
Marco d'Itri
d0ce5cd9e5 Refactoring 2022-11-22 04:24:40 +01:00
Marco d'Itri
9c9a2591b8 Enable recursion for whois.nic.tv
The output is similar to the one from AFILIAS, so we can reuse the same
code.
2022-11-22 04:17:47 +01:00
Lumito
c5e837a0b1
Update the .tv TLD server 2022-11-22 00:56:00 +01:00
Marco d'Itri
c7e7336da6 Update the .nz TLD server
Same server, different domain.
2022-11-17 23:53:04 +01:00
Temuri Doghonadze
b36c398f10 Add the ka translation 2022-11-01 18:17:50 +01:00
Lauri Nurmi
e20f7df794 Update the fi translation 2022-11-01 18:14:06 +01:00
Ørjan Malde
edc625d0e1
config.h: add support for midipix
Signed-off-by: Ørjan Malde <red@foxi.me>

Signed-off-by: Ørjan Malde <red@foxi.me>
2022-11-01 17:54:18 +01:00
Marco d'Itri
ab10466cf2 Debian changelog for 5.5.14 2022-10-16 22:16:42 +02:00
Marco d'Itri
8489269175 Switch to debhelper compatibility level 13 2022-10-16 22:16:16 +02:00
Fabrice Fontaine
6f8c9f5d85 config.h: fix uclibc builds without NLS
uclibc defines __GLIBC__ but doesn't always have NLS support resulting
in the following build failure:

In file included from whois.h:1,
                 from whois.c:44:
utils.h:38:11: fatal error: libintl.h: No such file or directory
   38 | # include <libintl.h>
      |           ^~~~~~~~~~~

Fixes:
 - http://autobuild.buildroot.org/results/a9d1c9076345d94ac2f9a4008b8563c5a34f655e

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2022-10-16 22:09:36 +02:00
Marco d'Itri
d80e41cc9e Rename whois.register.si in the list of RIPE-like servers 2022-10-16 22:00:13 +02:00
Marco d'Itri
d4c27f6dae Remove whois.nic.fr from the list of RIPE-like servers
Closes: #1021110
2022-10-16 22:00:08 +02:00
Cagatay Bal
1b6964cb28 Update the charset for whois.nic.tr
Since 2022-09-14 the .tr TLD has been managed by a different registry
and changed the output encoding.
2022-10-16 22:00:08 +02:00
Marco d'Itri
6171640958 Update the list of new gTLDs 2022-10-16 22:00:08 +02:00
Marco d'Itri
a8647997b8 Update the .py TLD server 2022-09-12 00:48:26 +02:00
Marco d'Itri
dde969c3bf Remove the .gu TLD server 2022-09-12 00:40:31 +02:00
Marco d'Itri
86aa2268f1 Update the .mt TLD server
The web whois service is filtered as well nowadays.
2022-09-12 00:14:39 +02:00
Marco d'Itri
9a5c7051b9 Add the .bf TLD server 2022-09-11 23:55:45 +02:00
Marco d'Itri
2a5108fa07 Update the .pk TLD server 2022-09-11 23:43:11 +02:00
Marco d'Itri
988e752fc9 Update the .fj TLD server 2022-09-11 23:38:39 +02:00
Marco d'Itri
ed64bfb241 Update the .dm TLD server
Same server, different domain.
2022-09-11 23:37:08 +02:00
Marco d'Itri
1b89adf90b Debian changelog for 5.5.13 2022-04-08 01:09:39 +02:00
Marco d'Itri
563a26e287 Switch to debhelper compatibility level 12 2022-04-08 01:08:48 +02:00
Oğuz Ersen
7f1183c5ea Add the tr translation 2022-04-08 01:08:48 +02:00
Marco d'Itri
27732500b1 Update the list of new gTLDs 2022-04-08 00:14:57 +02:00
榆木
f3192340aa New TLD servers: sd 2022-04-07 23:50:25 +02:00
Marco d'Itri
b65389d5f7 Debian changelog for 5.5.12 2022-02-23 01:07:37 +01:00
Marco d'Itri
0905ef070b debian/rules: enable full hardening 2022-02-23 01:02:51 +01:00
Marco d'Itri
aab2749007 debian/control: update the policy version 2022-02-23 01:00:09 +01:00
Marco d'Itri
6c1e4b95f2 debian/changelog: remove trailing blank spaces 2022-02-23 01:00:09 +01:00
Helge Kreutzmann
152c865bd3 Update the de translation
Closes: #1003597
2022-02-23 01:00:05 +01:00
Yoichiro Takahashi
fe3e14e372 Fix detection of Japanese locales using $LC_MESSAGES
This has been broken since it was implemented in version 5.0.0.
2022-02-23 00:39:28 +01:00
Marco d'Itri
ce897dbc10 Remove 2 new gTLDs which are no longer active 2022-02-23 00:30:56 +01:00
egobiah
9f402e73e5 Update the .jobs TLD server
whois.nic.jobs is now managed by Nominet UK and does not support the
Verisign-style commands anymore, so all queries get "Syntax error."
in response.
2022-02-23 00:28:10 +01:00
Marco d'Itri
05c68ae9f0 mkpasswd: add some comments 2022-01-06 16:09:42 +01:00
Marco d'Itri
fb5cc7f4ef mkpasswd: allow providing a partial salt string
To support commands like:

  mkpasswd --method=yescrypt abc 'j9T$NLTnlHlt6cj0lkSizrMNN.'
  mkpasswd --method=sha-256  abc 'rounds=3000$NhJ78pg4LKwQ9cOJ$'
2022-01-06 16:04:42 +01:00
Marco d'Itri
5f5ba8312c Debian changelog for 5.5.11 2022-01-03 18:21:04 +01:00
Marco d'Itri
96b3c3f58c Support Ubuntu no-change uploads in make_version_h.pl 2022-01-03 18:15:40 +01:00
Marco d'Itri
b7ae56565b Updated translation: it.po 2022-01-03 18:13:06 +01:00
Marco d'Itri
1c38a48467 Update the .po files 2022-01-03 18:10:50 +01:00
Marco d'Itri
db2f94d5ff whois: implement --no-recursion 2022-01-03 18:08:54 +01:00
a1346054
a999d0ac6a Trim trailing whitespace 2022-01-03 15:45:46 +01:00
a1346054
03425185b0 Fix some spelling mistakes 2022-01-03 15:45:26 +01:00
Marco d'Itri
188e1f9de4 Update the .pro TLD server
Same server, different domain.
2022-01-03 15:34:02 +01:00
Marco d'Itri
b2556f0225 Update the .vu TLD server
The old server is no longer operational.
2022-01-03 15:33:17 +01:00
Marco d'Itri
0b1b8ff783 Update the .xxx TLD server
The old server is no longer operational.
2022-01-03 15:31:41 +01:00
Marco d'Itri
3184f1a99c Update the list of new gTLDs 2022-01-03 15:28:42 +01:00
Marco d'Itri
8fcb319f69 Remove 4 new gTLDs which are no longer active 2021-10-29 23:53:48 +02:00
Marco d'Itri
934a9221a7 Debian changelog for 5.5.10 2021-06-06 19:54:46 +02:00
Marco d'Itri
3c31fc028a Delete version.h in the distclean target
Or else the package may be built to report an outdated version number.
2021-06-06 19:45:19 +02:00
Marco d'Itri
2acb888549 Update the charset for whois.cira.ca 2021-06-06 03:56:07 +02:00
Marco d'Itri
046b5334c5 Update the charset for whois.ax 2021-06-06 03:55:01 +02:00
Marco d'Itri
034388dffc Update the charset for whois.dns.pt 2021-06-06 03:53:56 +02:00
Marco d'Itri
7a37032239 Update the charset for whois.lacnic.net 2021-06-06 03:47:09 +02:00
Marco d'Itri
955f82f7cd Update the .lb TLD server 2021-06-06 01:02:05 +02:00
Marco d'Itri
8ebb9c2427 Remove 5 new gTLDs which are no longer active 2021-06-06 01:01:41 +02:00
Marco d'Itri
8aabb415a7 Debian changelog for 5.5.9 2021-03-28 00:42:47 +01:00
Marco d'Itri
57a51c9fdb Update the .ga TLD server 2021-02-28 13:31:43 +01:00
Marco d'Itri
64e8342449 Remove the .cf TLD server 2021-02-28 13:31:27 +01:00
Marco d'Itri
c5ae416168 Remove the .cd TLD server
It has been dead for a long time after a registry operator change.
2021-02-28 13:31:03 +01:00
Marco d'Itri
624ad4dc17 Remove 72 new gTLDs which are no longer active 2021-02-28 13:06:49 +01:00
Marco d'Itri
d75c23915f Debian changelog for 5.5.8 2021-02-16 01:54:18 +01:00
Marco d'Itri
6520b68285 Update the copyright year 2021-02-16 01:53:41 +01:00
Marco d'Itri
0a7685e7be Update the list of new gTLDs 2021-02-16 01:47:18 +01:00
Marco d'Itri
ef3afe584e Add the .xn--4dbrk0ce TLD server 2021-02-16 01:44:59 +01:00
Marco d'Itri
2586c819f7 Update the .ie TLD URL
Same server, different domain.
2020-11-29 23:43:08 +01:00
Marco d'Itri
a58d07dd7e Update the .az TLD URL 2020-10-27 18:27:46 +01:00
Marco d'Itri
7f9fdae2a9 Debian changelog for 5.5.7 2020-10-03 17:43:15 +02:00
Marco d'Itri
e589d78797 debian/control: use an https URL in Vcs-Git 2020-10-03 14:30:58 +02:00
Marco d'Itri
751c9cc397 Support CIDR queries to whois.arin.net
This is a behaviour change: in this case the client used to use the
parameters for non-CIDR queries, so the server would return nothing.
Now an exact match for the provided ip/length query is requested.

If the query is not an exact match then this is also different from the
default behaviour of the server, which is to return a non-verbose
summary of all less specific networks.
2020-10-03 14:29:16 +02:00
Marco d'Itri
326d220078 Update the list of new gTLDs 2020-10-03 14:29:13 +02:00
Marco d'Itri
6fded178b5 Add some .ru and .su SLD servers
This has been discussed in https://github.com/rfc1036/whois/pull/87 .
2020-10-03 13:36:30 +02:00
Marco d'Itri
2c1a34af87 Make whois.flexireg.net an AFILIAS-style thick server 2020-10-03 07:15:14 +02:00
Marco d'Itri
2e154d6570 tld_serv_list: update some comments 2020-10-03 06:46:06 +02:00
Marco d'Itri
625c93e3d1 Update the .xn--qxam TLD URL 2020-10-03 06:45:23 +02:00
Marco d'Itri
19ab1023ee Update the .np TLD URL 2020-10-03 06:44:45 +02:00
Marco d'Itri
e3759e496c Update the .lb TLD URL 2020-10-03 06:44:45 +02:00
Marco d'Itri
c790424deb Update the .jo and .xn--mgbayh7gpa TLD URLs 2020-10-03 06:44:45 +02:00
Marco d'Itri
a7c2af5244 Update the .cy TLD URL 2020-10-03 05:56:56 +02:00
Marco d'Itri
96453099db Add the .bh TLD server 2020-10-03 05:44:15 +02:00
Marco d'Itri
a62e05ef20 Add the .ao TLD URL 2020-10-03 05:39:40 +02:00
Marco d'Itri
e27c0089e9 Add the .mm TLD server 2020-10-03 05:35:11 +02:00
Marco d'Itri
1ee2ab7bb7 Update the .th and .xn--o3cw4h TLD servers 2020-10-03 05:33:43 +02:00
Marco d'Itri
8747cafbba Update the charset for whois.ati.tn 2020-10-03 05:32:39 +02:00
Marco d'Itri
d677cd13d7 Add the .xn--pgbs0dh TLD server 2020-10-03 05:30:20 +02:00
Joe Hansen
42d57f1537 Update the da translation 2020-05-25 01:37:06 +02:00
Anderson Goulart
b0a43f55cb Update the pt_BR translation 2020-02-18 00:23:14 +01:00
Marco d'Itri
57caa99331 Remove the invalid translators contacts 2020-02-17 15:27:06 +01:00
Marco d'Itri
270a128d80 Remove the abandoned Norwegian translation 2020-02-16 10:46:50 +01:00
Marco d'Itri
b7cfb4ef37 Debian changelog for 5.5.6 2020-02-16 10:31:17 +01:00
Marco d'Itri
80e41a8a4c Depend on pkg-config
Or else the package will be built without libidn and libxcrypt.

Closes: #950140
2020-02-16 10:21:34 +01:00
Marco d'Itri
5fee1b1418 Update .gitignore 2020-02-16 10:21:22 +01:00
Marco d'Itri
5316c97627 Add the .xn--q7ce6a TLD server 2020-02-16 10:19:59 +01:00
Marco d'Itri
26c908a654 Add the xn--pgbs0dh TLD 2020-02-16 10:17:19 +01:00
Marco d'Itri
d88112f5d3 Update the .th TLD server 2020-02-16 10:10:10 +01:00
Marco d'Itri
5d903bd283 Debian changelog for 5.5.5 2020-01-23 10:06:34 +01:00
Petr Písař
37b70606c2 Make sx. hide string more specific
Commit caa27b0675e171fe85c043d0199bfe77fddb23b9 broke displaying
results for at. subdomains because "%" lines exists in their outputs.

This patch changes the sx. start hide string to be more specific on
the expense that sx. output will contain a single "%" line.

More thorough fix would require changing the hiding algorithm to
either require prefix for each hidden line or to bind the strings to
their respective domains or servers.

Fixes <https://github.com/rfc1036/whois/issues/84>.
2020-01-23 09:56:51 +01:00
Helmut Grohne
2a283d7994 Fix Debian cross-compilation
Closes: #947971
2020-01-23 09:56:28 +01:00
Marco d'Itri
77de53fc0b Debian changelog for 5.5.4 2019-12-31 03:05:47 +01:00
Marco d'Itri
04e24318df Add an hiding string for a .in registrar 2019-12-31 03:00:25 +01:00
Marco d'Itri
0432d902f8 Check the referrals in answers from whois.registry.in
At least some domains have referrals to a registar whois server.
2019-12-31 02:58:30 +01:00
Marco d'Itri
3a5bcdcc7e Generalize the support for Afilias-style referrals 2019-12-31 02:57:51 +01:00
Marco d'Itri
393de449d3 Remove some AW tags from tld_serv_list
The usual check to find domains is a "site:<TLD>" query on Google.
2019-12-31 02:56:32 +01:00
Marco d'Itri
99832c6c00 Add the charset for whois.ripe.net
At least in the past the server accepted any encoding, but the official
one is only Latin-1.
2019-12-31 02:54:09 +01:00
Marco d'Itri
aea6650cfc mkpasswd: support raw $salt$ prefixes
If the salt provided to the program starts with '$' then it will be
passed straight to crypt(3) without any checks.
2019-12-31 02:36:51 +01:00
Marco d'Itri
38cab73d18 mkpasswd: support setting the rounds number for *scrypt
It is not practical to support for these functions passing straight to
crypt(3) an user-provided salt string because the salt field in the
hashed password also contains the rounds number encoded as base64.
See yescrypt_encode_params_r in the libxcrypt source for details.
2019-12-31 01:56:56 +01:00
Marco d'Itri
467f8e9935 mkpasswd: replace md5 with md5crypt in the documentation 2019-12-30 06:05:58 +01:00
Marco d'Itri
4f1ddfa66e mkpasswd: ignore a 0-bytes salt parameter
This also prevents a segmentation fault when
CRYPT_GENSALT_IMPLEMENTS_DEFAULT_PREFIX is used.

Closes #81 from Github.
2019-12-30 05:59:36 +01:00
Marco d'Itri
7a5c83e8c3 Update the list of new gTLDs 2019-12-30 05:47:56 +01:00
Marco d'Itri
e52f6ceb2e Update the .vu TLD server
The old server still exists but returns stale data.
2019-12-30 05:47:20 +01:00
Marco d'Itri
32bf5432ef Clean up the text and typesetting of the man pages
With help from Bjarni Ingi Gislason.

Closes: #945622
2019-12-30 05:47:16 +01:00
Marco d'Itri
caa27b0675 Fix and update many hiding string 2019-12-30 05:47:16 +01:00
Marco d'Itri
abf1f11b61 Debian changelog for 5.5.3 2019-11-17 21:35:12 +01:00
Marco d'Itri
f0baf729f7 Switch to dh 2019-11-14 04:27:31 +01:00
Marco d'Itri
7c9e990253 Support DESTDIR in the Makefiles 2019-11-14 04:18:08 +01:00
Marco d'Itri
2d71289a04 Switch to debhelper compatibility level 10 2019-11-14 04:00:29 +01:00
Marco d'Itri
3f750227e6 Update the list of new gTLDs 2019-11-14 00:00:06 +01:00
Marco d'Itri
c834bc9f5e Update the .xxx TLD server
Same IP, different name.
2019-11-13 23:59:50 +01:00
Marco d'Itri
c6355e9697 Add a new IPv6 assignment to ARIN 2019-11-13 23:52:30 +01:00
Marco d'Itri
d7b1e0cb24 Debian changelog for 5.5.2 2019-10-03 01:13:25 +02:00
Marco d'Itri
6846d12ca8 Add the .xn--qxa6a TLD server 2019-10-03 01:11:57 +02:00
Marco d'Itri
532c144e0c Update the .td TLD server 2019-10-03 01:11:45 +02:00
Jakub Bogusz
aed88a01e7 Updated translation: pl.po 2019-08-29 04:06:25 +02:00
Marco d'Itri
f9d3786461 config.h: stop undefining RANDOM_DEVICE
HAVE_GETENTROPY or HAVE_ARC4RANDOM_BUF will be preferred anyway.
2019-08-26 04:06:54 +02:00
Marco d'Itri
aed3360473 Debian changelog for 5.5.1 2019-08-18 19:48:50 +02:00
Marco d'Itri
de6b16f040 Update the .ge TLD server
The new server returns different information, apparently this is
related to the recent transition of the domain to a registry/registrars
model.
2019-08-18 19:41:55 +02:00
Marco d'Itri
755ff3f9d2 Update the .biz TLD server
Same IP, different name.
2019-08-18 19:41:36 +02:00
Marco d'Itri
6ff2466601 Update the list of new gTLDs 2019-08-18 19:33:09 +02:00
Matías A. Bellone
8ebe37912a New translation: es.po 2019-07-22 00:37:20 +02:00
Marco d'Itri
416b3e9a19 Debian changelog for 5.5.0 2019-07-19 11:31:57 +02:00
Marco d'Itri
19eb4fa5ef mkpasswd: move a forgotten comment to the right place 2019-07-18 04:47:38 +02:00
Marco d'Itri
88f8a14a07 Remove whois.bgpmon.net from the list of RIPE-like servers
It does not support the longer version strings which are used by the
program since bfc8c6bf9ccb6c43f3ef46d218c9cf0f9a85319a and the operators
are unresponsive.
2019-07-18 02:31:59 +02:00
Marco d'Itri
eafa7d2c5a New translation: it.po 2019-07-18 02:09:00 +02:00
Steve Petruzzello
20fc1c918a New translation: fr.po 2019-07-02 14:59:09 +02:00
Chris Leick
3efa3947c9 New translation: de.po 2019-06-29 17:22:29 +02:00
Yuri Kozlov
4b2d8dbf0e Updated translation: ru.po 2019-06-29 10:29:57 +02:00
Marco d'Itri
62724e0623 Update the .zm TLD server
Same IP, different name.
2019-06-28 20:55:56 +02:00
Marco d'Itri
57d741d68a Add rr.ntt.net to the list of RIPE-like servers
In agreement with NTT.
2019-06-28 20:21:45 +02:00
Sami Kerola
223ba9683b Updated translation: fi.po 2019-06-28 11:54:19 +02:00
Matías A. Bellone
5fa8c6b07d Updated translation: es.po 2019-06-28 11:54:17 +02:00
Petr Pisar
98418907d0 Updated translation: cs.po 2019-06-28 11:54:14 +02:00
Marco d'Itri
bfc8c6bf9c Automatically generate the IDSTRING 2019-06-28 01:44:58 +02:00
Marco d'Itri
9bdb9bc7b6 Update the PO files 2019-06-28 01:38:50 +02:00
Marco d'Itri
b49ba5ecc0 Implement -I to use referrals from whois.iana.org
Closes: #774603
2019-06-28 01:38:17 +02:00
Marco d'Itri
a0c0bf7144 Split the help messages in multiple strings
To help translators.
2019-06-24 05:07:43 +02:00
Marco d'Itri
044a6bb87d Update the PO files 2019-06-23 16:07:19 +02:00
Marco d'Itri
2b78ca68df mkpasswd: support the "gost-yescrypt" hash 2019-06-23 15:40:12 +02:00
Marco d'Itri
830c3e3a7c Update the copyright year everywhere 2019-06-23 15:40:12 +02:00
Marco d'Itri
5b31f7b0e7 Remove whois.connect.com.au from ripe_servers
It is not a whois server anymore.
2019-06-23 15:40:12 +02:00
Marco d'Itri
bfb1fcc750 Add whois.tcinet.ru to ripe_servers
This is the new name of whois.ripn.net, since 2011.
2019-06-23 15:40:12 +02:00
Marco d'Itri
5431be2d5d Remove whois.restena.lu from ripe_servers
The server changed its name in 2002 and the new one does not support the
RIPE flags.
2019-06-23 15:40:12 +02:00
Marco d'Itri
662adc6454 Add new recovered IPv4 allocations 2019-06-23 15:40:12 +02:00
Marco d'Itri
556ff31a95 Debian changelog for 5.4.3 2019-06-12 15:05:00 +02:00
Marco d'Itri
ebc4630a31 Add a new IPv6 assignment to RIPE 2019-06-12 15:01:52 +02:00
Marco d'Itri
7efff0a3cc Debian changelog for 5.4.2 2019-03-28 00:51:50 +01:00
Jakub Bogusz
4631c3ba72 Update pl.po 2019-03-28 00:45:36 +01:00
Marco d'Itri
5b942eb465 Add the .xn--mgbah1a3hjkrd TLD server 2019-03-28 00:36:23 +01:00
Marco d'Itri
a5902d5a18 Add the .ss TLD server 2019-03-28 00:30:59 +01:00
Anivar Aravind
5f51008720 Update the .in TLD server (and related IDN TLDs)
The .in registry changed from Afilias to Neustar.
2019-03-28 00:30:47 +01:00
kovalkov
a84db90864 Remove duplicate "Using server" line when a config file is used 2019-03-28 00:17:39 +01:00
Romuald Brunet
6487b3640b Update the .fm server 2019-03-28 00:12:01 +01:00
Marco d'Itri
14810cc3b7 Debian changelog for 5.4.1 2019-01-27 04:49:54 +01:00
Marco d'Itri
b177477d6e debian/control: update the policy version 2019-01-27 04:49:34 +01:00
Jakub Bogusz
c7e615c350 Updated debconf translation: pl.po 2019-01-27 04:46:40 +01:00
Marco d'Itri
b3e5be673b Update the .mw server 2019-01-27 04:37:27 +01:00
Marco d'Itri
4723a2cc4c Debian changelog for 5.4.0 2018-10-26 18:35:09 +02:00
Marco d'Itri
4d24d493ff mkpasswd: implement a generic way to provide the hash type 2018-10-14 03:41:14 +02:00
Marco d'Itri
80c36bb8e5 Update the .gp server 2018-10-14 03:19:48 +02:00
Marco d'Itri
f18cfbdfea debian/control: update the policy version 2018-10-14 03:19:48 +02:00
Marco d'Itri
88a7462301 mkpasswd: support the other hash types in libxcrypt
Among them scrypt and bcrypt.
2018-10-14 03:19:48 +02:00
Marco d'Itri
388d5757c4 mkpasswd: enable bcrypt if supported by the OS 2018-10-14 03:08:46 +02:00
Marco d'Itri
4362ef1fc4 mkpasswd: reorder the hash types
From the most secure to the less, accordingly to libxcrypt's crypt(5).
2018-10-14 02:33:13 +02:00
Marco d'Itri
b91c9057da mkpasswd: correctly print the available methods as columns 2018-10-14 01:14:09 +02:00
Marco d'Itri
b2ae96cf3f mkpasswd: adopt the John the Ripper naming of hash types
And add hidden compatibility aliases for the old ones.
(Except than the bcrypt variants, since there is no proof that anybody
ever used this program for them.)

See https://github.com/besser82/libxcrypt/pull/26 for more information.
2018-10-10 01:12:27 +02:00
Marco d'Itri
ae31f61a34 mkpasswd: include crypt.h on Solaris 2018-09-20 00:18:06 +02:00
Marco d'Itri
c12ad950fa config.h: fix the usage of __GLIBC__ vs. linux
gettext is a feature of the libc, while /dev/random is a feature of Linux.
2018-09-20 00:18:06 +02:00
Marco d'Itri
d4d7cd1096 mkpasswd: fix rounds support for bcrypt 2x and 2y 2018-09-20 00:18:06 +02:00
Marco d'Itri
22002f67be mkpasswd.1: clarify that --rounds without --method makes no sense
On old systems it will be ignored because descrypt does not support
changing the number of rounds, while on newer systems the default
method may change depending on the local configuration.
2018-09-20 00:18:06 +02:00
Marco d'Itri
3197cb7db4 mkpasswd: support letting crypt_gensalt decide the prefix
If crypt_gensalt (as implemented by Solaris and modern versions of
libxcrypt) is passed a NULL prefix then it will decide by itself which
algorithm should be used by default.
2018-09-20 00:18:06 +02:00
Marco d'Itri
61f4e5d64c mkpasswd: simplify a check for errors
salt is a const char *, so we know that it cannot be modified as a side
effect.
2018-09-16 03:36:38 +02:00
Marco d'Itri
c1cb4b2ca0 mkpasswd: update the libowcrypt Makefile section
Distributions which have crypt_gensalt in libowcrypt now should define
a HAVE_LIBOWCRYPT=1 Makefile variable.
2018-09-16 03:36:38 +02:00
Marco d'Itri
44775cb342 mkpasswd: rename HAVE_XCRYPT to HAVE_XCRYPT_H 2018-09-16 03:36:38 +02:00
Marco d'Itri
7a325d277c mkpasswd: ifdef out the entropy gathering code on Solaris 2018-09-16 03:35:38 +02:00
Marco d'Itri
19e44ac2ec mkpasswd: let crypt_gensalt collect entropy by itself
Let crypt_gensalt(3) collect entropy by itself instead of having
mkpasswd provide it.
This is supported by the libxcrypt implementation of crypt_gensalt(3).
2018-09-16 03:35:38 +02:00
Marco d'Itri
8392fd349d mkpasswd: use perror with crypt and crypt_gensalt
Only some implementations of crypt(3) set errno on errors.
2018-09-12 02:26:55 +02:00
Marco d'Itri
5fc64b5eba mkpasswd: support the new libxcrypt 4.x 2018-09-12 02:26:55 +02:00
Marco d'Itri
71cf1ca7e1 Update the list of new gTLDs 2018-09-12 02:26:33 +02:00
Marco d'Itri
a884966cc8 Debian changelog for 5.3.2 2018-07-15 12:40:31 +02:00
huguei
dd49cdeeb9 Update the charset for whois.nic.cl 2018-07-15 12:37:43 +02:00
Marco d'Itri
6f1cdfb960 Update the .au server 2018-07-15 12:13:27 +02:00
Marco d'Itri
bd4bd6e584 Update the .ie server 2018-07-15 12:13:11 +02:00
Marco d'Itri
d67739f043 Add the .ge server 2018-07-15 12:12:19 +02:00
Marco d'Itri
edd9112fd5 Update the list of new gTLDs 2018-07-11 16:19:59 +02:00
Marco d'Itri
fbeb327936 mkpasswd: update the copyright year 2018-05-25 01:44:38 +02:00
Marco d'Itri
4bf662069c Debian changelog for 5.3.0 2018-05-22 15:34:07 +02:00
Marco d'Itri
fdd5a596b0 mkpasswd: support passwords of arbitrary length
Closes: #899254
2018-05-22 05:04:54 +02:00
Marco d'Itri
42f6fab4cf Fix a use after free in convert_in6arpa()
Looks like I forgot a free() call after changing the API.

Reported by Coverity Scan.
2018-05-22 04:33:34 +02:00
Marco d'Itri
51ff1b39f9 Add support for -bzh NIC handles 2018-05-22 02:22:04 +02:00
panaceya
ec211c2b33 Add support for -uanic NIC handles 2018-05-22 02:21:05 +02:00
Marco d'Itri
4613c51bcc New TLD servers: ls 2018-05-22 01:43:56 +02:00
Marco d'Itri
2d9d82afe9 Update the list of new gTLDs 2018-05-22 01:43:45 +02:00
Marco d'Itri
7735818026 include sys/time.h for select(2) on BSDs 2018-02-20 01:36:04 +01:00
Marco d'Itri
ba7218d902 Debian changelog for 5.3.0 2018-01-21 01:24:06 +01:00
Marco d'Itri
9b0c29e271 Update the .pr TLD server 2018-01-21 01:21:51 +01:00
Marco d'Itri
2a746f4390 Update the list of new gTLDs 2018-01-21 01:21:35 +01:00
Marco d'Itri
488e445f53 Add the .in hiding string 2018-01-13 01:43:12 +01:00
Marco d'Itri
a9f59fdd52 Update the copyright years 2018-01-13 01:15:48 +01:00
Marco d'Itri
1f28a6ed25 Remove references to 6bone 2018-01-13 01:15:34 +01:00
Marco d'Itri
8a6ce04adb Implement querying ip6.arpa domains
The program will query the whois server of the appropriate RIR when
provided with an *.ip6.arpa IPv6 reverse DNS domain.
2018-01-13 01:14:27 +01:00
Marco d'Itri
cb0c7062ab Fix the formatting 2018-01-08 03:00:06 +01:00
Marco d'Itri
ac1d4125de Makefile: fix the afl invocation
DEFS must be set in the environment or else will override even DEFS+=...
statements in the Makefile.
2018-01-08 02:50:53 +01:00
Marco d'Itri
5d60bbe102 Abort the build if the old HAVE_LIBIDN variable is defined
To encourage maintainers to automatically detect libidn2 and hopefully
switch to it.
2018-01-08 02:15:53 +01:00
Marco d'Itri
0af8984ad7 Debian changelog for 5.2.20 2017-12-27 03:26:25 +01:00
Marco d'Itri
2534108200 Update the .vn TLD server 2017-12-27 03:25:03 +01:00
Marco d'Itri
caf03e771c Update the .com.uy TLD server 2017-12-27 03:25:03 +01:00
Marco d'Itri
ea4a698e1a Update the .ph TLD server 2017-12-27 03:25:03 +01:00
Marco d'Itri
243b72a263 Update the .ls TLD server 2017-12-27 03:25:03 +01:00
Marco d'Itri
76be6214df Update the .kw TLD server 2017-12-27 03:25:03 +01:00
Marco d'Itri
ac41790c1f Update the .gr TLD server 2017-12-27 03:25:03 +01:00
Marco d'Itri
72d5f8bd51 Update the .gh TLD server 2017-12-27 03:25:03 +01:00
Marco d'Itri
4f32ffa479 Update the .sb TLD server 2017-12-27 03:24:46 +01:00
Marco d'Itri
1a90b5433a Update the .ai TLD server 2017-12-27 03:24:00 +01:00
Marco d'Itri
ee86b76114 Update some comments in tld_serv_list 2017-12-27 03:23:48 +01:00
Marco d'Itri
b5d4bb43a8 Remove the .bs TLD server 2017-12-27 03:13:38 +01:00
Marco d'Itri
95c2a51d51 Add the .mr TLD server 2017-12-27 03:13:38 +01:00
Marco d'Itri
4be183d651 Remove the inet_pton(3)-based parser
It has never worked and never will.
2017-12-27 03:09:58 +01:00
Timo Gurr
8a4023b315 use env var ${PKG_CONFIG} instead of hard coding pkg-config
This allows building in cross environments e.g. using host triplet
prefixed binaries (x86_64-pc-linux-gnu-pkg-config).
2017-12-27 03:09:58 +01:00
Petr Písař
50b57a6fb7 Remove unused variables in get_random_bytes()
If getentropy() is available, GCC warns about unsused variables:

mkpasswd.c: In function ‘get_random_bytes’:
mkpasswd.c:369:13: warning: unused variable ‘bytes_read’ [-Wunused-variable]
     ssize_t bytes_read;
             ^~~~~~~~~~
mkpasswd.c:368:9: warning: unused variable ‘fd’ [-Wunused-variable]
     int fd;
         ^~

This patch fixes it.
2017-12-27 03:09:58 +01:00
Marco d'Itri
888fa4654b Debian changelog for 5.2.19 2017-12-10 17:17:11 +01:00
Marco d'Itri
31250d3ba6 Switch to libidn2
See e20b8bbab3687aa26294bc3c443b4a43292b7636 for details.
2017-12-10 17:16:37 +01:00
Marco d'Itri
6557a52b3e mkpasswd: use getentropy(2) on recent Linux 2017-12-10 17:14:26 +01:00
Marco d'Itri
182fdaaaaa mkpasswd: refactoring 2017-12-10 17:13:03 +01:00
Marco d'Itri
41387e5837 debian/control: actually depend on debhelper >=9
Since the compat level was raised in
f02595fb4354027306d80df66bb847a6919fe122.
2017-11-21 18:26:16 +01:00
Marco d'Itri
8c8c53fde3 Update TLD servers: id
Same IP, different name.
2017-11-21 18:23:01 +01:00
Marco d'Itri
3771286c90 Remove TLD servers: dj 2017-11-21 18:23:01 +01:00
Marco d'Itri
59eefd076a Update TLD servers: museum 2017-11-21 18:23:01 +01:00
Marco d'Itri
f83de0b223 Use Rules-Requires-Root 2017-11-21 18:22:53 +01:00
Marco d'Itri
cb55571677 delete debian/source/options
xz has been the default for a while.
2017-11-05 11:59:39 +01:00
Marco d'Itri
5dd942bd11 Debian changelog for 5.2.18 2017-08-22 18:48:50 +02:00
Marco d'Itri
1a32a3266a debian/control: update the policy version 2017-08-22 18:48:35 +02:00
Marco d'Itri
e20b8bbab3 Autodetect libidn/libidn2 support with pkg-config
libidn2 >= 2.0.3 must be used, or else it would silently remove
characters not valid in hostnames like "/" and "_".
For details see https://github.com/rfc1036/whois/issues/50 .

For more information about IDNA2003 vs. IDNA2008 and TR46 see:
http://nmav.gnutls.org/2017/04/the-mess-with-internationalized-domain.html
http://unicode.org/faq/idn.html
https://fedoraproject.org/wiki/Changes/IDNA2008
2017-08-22 18:35:12 +02:00
Andreas Stieger
a786e83add fix FSF address in mkpasswd.c 2017-08-22 16:59:53 +02:00
Marco d'Itri
9777e2aa77 Do not request domain results for name server queries
If there is more than one dot in the query string then it can only be
a name server, so do not restrict the results to domains only.
2017-08-22 16:52:56 +02:00
Marco d'Itri
46faeee41e Disable recursion for queries like "nameserver name.example.com"
Or else the program would return an error because no registrar
whois server is returned by the registry.
2017-08-22 16:50:32 +02:00
Marco d'Itri
4f374d16b0 whois.1: document the default for Verisign queries 2017-08-16 04:13:05 +02:00
Marco d'Itri
f77fe271a4 whois.1: remove the paragraph about whois.networksolutions.com
Since it has not been the default server for gTLD queries in a very
long time.
2017-08-16 04:11:46 +02:00
Marco d'Itri
7b25ae652a whois.1: remove the commented and deprecated options -F and -V 2017-08-16 03:59:18 +02:00
Marco d'Itri
85c7b302a3 Initialize the target of strcat
Was not detected until now, but immediately crashes with a recent libc.
2017-08-15 21:18:21 +02:00
Marco d'Itri
6e23999a24 Debian changelog for 5.2.17 2017-07-27 17:09:05 +02:00
Marco d'Itri
89d2aef158 Fix referrals for .com, .net, .jobs, .bz, .cc and .tv
ICANN mandated that the referral whois server field had to be renamed,
hence breaking all whois clients:
https://www.icann.org/resources/pages/rdds-labeling-policy-2017-02-01-en

Closes #56 from Github.
2017-07-27 16:55:20 +02:00
Marco d'Itri
ba9500eb9d whois.1: fix typo
Closes: #866742
2017-07-27 15:32:03 +02:00
Marco d'Itri
00059e0fce New TLD servers: xn--2scrj9c and more (India)
Also:
xn--3hcrj9c
xn--45br5cyl
xn--h2breg3eve
xn--h2brj9c8c
xn--mgbbh1a
xn--mgbgu82a
xn--rvc1e0am3e
2017-07-27 15:19:23 +02:00
Marco d'Itri
199241749a Update the list of new gTLDs 2017-07-27 14:59:13 +02:00
Marco d'Itri
71f7787643 Debian changelog for 5.2.16 2017-06-12 12:21:19 +02:00
Marco d'Itri
357d000a70 Update the list of new gTLDs 2017-06-12 12:20:57 +02:00
Marco d'Itri
c2af83c907 Update TLD servers: do
Non-ASCII characters are mangled as "?", so no obvious encoding.
2017-06-12 12:20:25 +02:00
Petr Písař
3566a2c4ca Fix misspellings in IPv4 formatting string
Querying 6to4 address failed on malformed IPv4 address:

$ ./whois 2002:5ab2:d182::1

Querying for the IPv4 endpoint 90d.178d.209d.130d of a 6to4 IPv6 address.

This patch fixes it.
2017-03-13 01:23:17 +01:00
Marco d'Itri
d3e6fb0eaf Update TLD servers: kg
Same IP, different name.
2017-03-13 01:20:43 +01:00
Marco d'Itri
ea7ba79cd9 Debian changelog for 5.2.15 2017-02-27 01:01:31 +01:00
Marco d'Itri
9557f8bbad Update the charset for whois.nic.kz 2017-02-27 01:00:39 +01:00
Marco d'Itri
8ed6d73095 Implement support for libidn2
Contributed by Tim Rühsen.
Closes #49 from Github.
2017-02-27 00:32:43 +01:00
Marco d'Itri
cf61394ded Unconditionally use AI_IDN
AI_IDN is not provided by libidn: it is a feature of glibc.
If not available on other platforms then it will be defined to 0 in utils.h.
2017-02-27 00:27:06 +01:00
Marco d'Itri
fb823a251a Annotate more functions with NORETURN
Contributed by Sami Kerola.
Closes #48 from Github.
2017-02-26 23:33:01 +01:00
Marco d'Itri
5e33209e13 Fix minor compiler warnings
Fix a lot of minor compiler warnings with no practical effect.
Contributed by Sami Kerola.
2017-02-26 23:12:47 +01:00
Marco d'Itri
a4815eb370 BSD portability fixes 2017-02-26 14:13:27 +01:00
Marco d'Itri
4ac83a5f49 mkpasswd: fix compile time error with HAVE_ARC4RANDOM_BUF
Patch from MacPorts.
2017-02-26 04:29:11 +01:00
Marco d'Itri
b1cf371706 Do not use arc4random_buf on OS X v10.6 or erlier
Because it had not been implemented yet.

Patch from MacPorts.
2017-02-26 03:23:51 +01:00
Marco d'Itri
df1c963a3e Update the list of new gTLDs 2017-02-26 03:23:08 +01:00
Marco d'Itri
5393501b0b Update TLD servers: xn--mgbai9azgqp6j
Not yet in use.
2017-02-26 03:22:38 +01:00
Marco d'Itri
57c1a3605f Update TLD servers: gf mq
Updated from the IANA database.
2017-02-26 03:19:09 +01:00
Marco d'Itri
575c5c4f62 Debian changelog for 5.2.14 2016-12-29 23:14:24 +01:00
Marco d'Itri
6cf02484f3 Update the list of new gTLDs 2016-12-29 23:11:41 +01:00
Marco d'Itri
b4e5e46020 Update TLD servers: fm 2016-12-29 23:11:41 +01:00
Mariano Absatz (git)
50e6f8c48a Update TLD servers: ar
See https://github.com/rfc1036/whois/issues/46
2016-12-29 22:29:49 +01:00
Marco d'Itri
b7726b8839 Update TLD servers: bm 2016-12-29 22:25:31 +01:00
Marco d'Itri
76cee0f552 Change the Afilias hiding string 2016-12-29 22:25:00 +01:00
Marco d'Itri
cd2a8b1d83 Debian changelog for 5.2.13 2016-10-30 18:49:50 +01:00
Marco d'Itri
f02595fb43 Switch to debhelper compatibility version 9 2016-10-30 17:16:50 +01:00
Marco d'Itri
983b6b6feb Update the policy version 2016-10-30 17:16:02 +01:00
Marco d'Itri
094b5cd1d8 Update the list of new gTLDs 2016-10-30 16:38:30 +01:00
Marco d'Itri
5f36805589 New TLD servers: xn--90ae 2016-10-30 16:37:22 +01:00
Marco d'Itri
e40c695f8a Update TLD servers: bd 2016-10-30 16:36:57 +01:00
Marco d'Itri
654141e69a Update TLD servers: mobi
Same IP, different name.
2016-10-30 16:17:29 +01:00
Marco d'Itri
0eabe99686 Update TLD servers: jobs
.jobs is a thin registry.
Spotted by Rob Stradling.
Also see e77e965b552c1d24ef7f8c41bb52900be75aba37.
2016-10-30 16:13:30 +01:00
Marco d'Itri
23b76555f9 Add new recovered IPv4 allocations 2016-10-30 15:51:52 +01:00
Marco d'Itri
c87e6a593c Fix make_ip_del_recovered.pl
The old code was totally broken because it created first_ip-last_ip pairs
while the search code expects first_ip-netmask pairs like in ip_del.h.
Spotted by Rob Mosher.
2016-10-30 15:45:54 +01:00
Marco d'Itri
e322f5cd4d Use "domain" instead of "=" for default verisign-grs queries
To ignore the name server names spam.
2016-10-30 14:39:09 +01:00
Marco d'Itri
823917241d Add new ASN allocations 2016-10-30 14:23:43 +01:00
Marco d'Itri
b6f3c8b089 Change the crsnic.net hiding string
This change has the dual purpose of not hiding a notice which is actually
informative and fixing support for the .bi ccTLD, which uses a similar
message and was broken by the old string.
2016-04-24 03:00:38 +02:00
Marco d'Itri
2e7690660d Debian changelog for 5.2.12 2016-03-29 05:34:48 +02:00
Marco d'Itri
95621db782 Update the policy version 2016-03-29 05:34:41 +02:00
Marco d'Itri
cdc050a320 Query whois.iana.org for IDN TLDs too 2016-03-29 05:32:32 +02:00
Marco d'Itri
5287536ec7 Update TLD servers: gi, lc, sc, vc
Apparently these registries switched at some point in the past to a thick
model, so there are no referrals anymore.
Due to this the program should not use the generic Afilias queries code,
because the missing referral to the registry whois server would make it
return an error status.

Currently the old server whois.afilias-grs.info and the new server
whois2.afilias-grs.net, which is listed in the IANA DB for all the TLDs
but .lc, have the same IP address.
2016-03-29 04:52:43 +02:00
Marco d'Itri
1706143134 Update the list of new gTLDs 2016-03-29 04:40:25 +02:00
Marco d'Itri
433773b2d2 New TLD servers: xn--mix891f 2016-03-29 04:40:04 +02:00
Marco d'Itri
8c1b7959b9 New TLD servers: xn--e1a4c
Guessed.
2016-03-29 04:39:55 +02:00
Marco d'Itri
6f06c8e60a Update TLD servers: cat, mo
New official names.
2016-03-29 04:39:55 +02:00
Marco d'Itri
e77e965b55 Update TLD servers: jobs
The old server does not exist anymore!
2016-03-29 03:23:38 +02:00
Marco d'Itri
3b38b4fd1d mkpasswd: define _DEFAULT_SOURCE
Since glibc 2.20 it replaces the deprecated _BSD_SOURCE macro.
2016-03-28 18:37:43 +02:00
Marco d'Itri
9f747a880e Add new recovered IPv4 allocations 2016-03-28 18:27:32 +02:00
Simone Carletti
304cd88b43 Update TLD servers: pro
See 0446935e22

Closes #40 at github.
2016-03-28 18:18:56 +02:00
Simone Carletti
5537c91915 Update TLD servers: kn
See df0adb9780

Closes #39 at github.
2016-03-28 18:18:27 +02:00
Marco d'Itri
718ae61ae5 Support american fuzzy lop
When built with AFL_MODE set to true, whois will use the first line of
standard input as command line parameters and the rest as network input.
2015-12-08 08:38:50 +01:00
Marco d'Itri
e143980234 Debian changelog for 5.2.11 2015-12-08 07:49:11 +01:00
Marco d'Itri
688b3540b8 Update the list of new gTLDs 2015-12-08 07:43:23 +01:00
Marco d'Itri
50abab2ee5 New TLD servers: xn--mgbtx2b, xn--qxam 2015-12-08 07:43:23 +01:00
Marco d'Itri
44a564b3d5 Remove TLD servers: xn--l1acc
I verified with the registry operator that whois service is not available.
2015-12-08 07:43:10 +01:00
Marco d'Itri
a84527dbfd Add the charset for whois.registry.om 2015-12-08 07:43:10 +01:00
teadur
986745800e Add the charset for whois.tld.ee
whois.eenet.ee was replaced with whois.tld.ee in the program database in
release 5.0.16.
2015-12-08 07:43:10 +01:00
Marco d'Itri
7b5df78553 Remove the .an TLD
The Netherlands Antilles do not exist anymore as a political entity, so
the TLD has been retired.
2015-12-08 07:43:10 +01:00
Marco d'Itri
ea2eb44421 Fix the --select-types and --sources long options
This bug was found by the awesome american fuzzy lop!
2015-08-30 01:18:17 +02:00
Marco d'Itri
c990849322 Debian changelog for 5.2.10 2015-07-30 03:28:07 +02:00
Marco d'Itri
aba0e927fc Update TLD servers: ki 2015-07-30 03:05:09 +02:00
Marco d'Itri
31c38e0543 Update TLD servers: vg 2015-07-30 03:00:59 +02:00
Marco d'Itri
7743e292a2 Update the list of new gTLDs 2015-07-30 02:58:16 +02:00
Marco d'Itri
6dcbec6e6d Debian changelog for 5.2.9 2015-06-08 02:20:28 +02:00
Marco d'Itri
a8608bc168 Update IDSTRING to 5.2
It should have been updated when whois 5.2 was released, but I forgot.
2015-06-08 02:17:55 +02:00
Marco d'Itri
1500bd25da Update the list of new gTLDs 2015-06-08 02:17:40 +02:00
Marco d'Itri
fe22e40ce2 Update TLD servers: cr 2015-06-08 02:16:58 +02:00
Marco d'Itri
53457d0638 Update TLD servers: bn 2015-05-21 01:14:39 +02:00
Marco d'Itri
9b5f187188 Debian changelog for 5.2.8 2015-05-18 00:40:52 +02:00
Marco d'Itri
3ba3c6c98f New TLD servers: xn--y9a3aq 2015-05-18 00:37:29 +02:00
Marco d'Itri
8e2c15e4f7 Update the list of new gTLDs 2015-05-18 00:37:29 +02:00
Marco d'Itri
d32b704db6 Add new ASN allocations 2015-05-18 00:37:29 +02:00
Marco d'Itri
953caefccb Update TLD servers: ma
New name for the same server, no functional differences so far.
2015-04-24 15:25:01 +02:00
Marco d'Itri
d4039a5a57 Clean up debian/rules 2015-04-24 15:23:59 +02:00
Marco d'Itri
c9af7b9cb6 Debian changelog for 5.2.7 2015-03-25 23:05:03 +01:00
Marco d'Itri
ad360dd104 Update the list of new gTLDs 2015-03-25 23:04:07 +01:00
Petr Písař
c5742eb115 Remove bogus hide_strings[] entry
The empty starting string matched always and the final NULL string
enabled hiding to the end of the response.

As a result any response got hidden.

<https://github.com/rfc1036/whois/issues/27>

Signed-off-by: Petr Písař <ppisar@redhat.com>
2015-03-25 23:04:07 +01:00
Marco d'Itri
0c774a2caa Debian changelog for 5.2.6 2015-03-23 04:31:02 +01:00
Marco d'Itri
09d4a0fe88 mkpasswd: exit if crypt_gensalt on Solaris fails 2015-03-23 04:31:02 +01:00
Marco d'Itri
78d2e38a64 Update the disclaimer detection strings
When possible they have been future-proofed by hiding everything until
the end of the input.
2015-03-23 04:29:58 +01:00
Marco d'Itri
b26a58fd25 Support hiding multiple disclaimers blocks
Correctly detecting the disclaimers of some registrars required splitting the
CRSNIC/Verisign detection strings in two parts.
This code makes the program start looking again for new blocks to hide after
the end of the first one.
2015-03-23 04:28:58 +01:00
Marco d'Itri
4d3af1a2b9 Update the list of new gTLDs 2015-03-23 04:26:41 +01:00
Marco d'Itri
6778197a2e Update TLD servers: .edu.ph .gov.py 2015-03-23 04:26:40 +01:00
Marco d'Itri
a1a72cd370 Remove the .tp TLD 2015-03-23 04:26:40 +01:00
Marco d'Itri
3f5e307f4c Debian changelog for 5.2.5 2015-03-03 02:49:37 +01:00
Marco d'Itri
e530f29b3a New TLD servers: xn--90ais 2015-03-03 02:49:07 +01:00
Marco d'Itri
6d6ecd8246 Update TLD servers: ky 2015-03-03 02:48:55 +01:00
Marco d'Itri
1f4a78570b Update the list of new gTLDs 2015-03-03 02:42:26 +01:00
Marco d'Itri
a14392fa2a Add new recovered IPv4 allocations 2015-03-03 02:41:34 +01:00
Marco d'Itri
f5d7521e1a Debian changelog for 5.2.4 2015-01-25 04:14:33 +01:00
Marco d'Itri
b20539b537 Update the list of new gTLDs 2015-01-25 04:13:16 +01:00
Marco d'Itri
840b0fce7f Update TLD servers: si
New alias of the same server.
2015-01-25 04:10:16 +01:00
Marco d'Itri
b522889803 Ignore empty referral strings
Some registrars return an empty field for the referral server.
2015-01-25 03:42:37 +01:00
Marco d'Itri
dc3eeb8170 Fix referrals handling for some verisign-grs.com servers
Verisign has changed for no apparent reason the label for the whois
server field of the cc, tv and jobs TLDs whois servers.
2015-01-25 03:42:37 +01:00
Marco d'Itri
3605226cd4 Debian changelog for 5.2.3 2014-12-26 20:14:35 +01:00
Marco d'Itri
07b3e728f2 Delete the new_gtlds.h generated file on make clean 2014-12-26 20:14:35 +01:00
Marco d'Itri
4fa1cd69e4 mkpasswd: use arc4random_buf where available 2014-12-26 19:55:51 +01:00
Marco d'Itri
b207df0805 mkpasswd: support OpenBSD's new hash 2b 2014-12-26 19:55:51 +01:00
Marco d'Itri
219a1686ee Update some IPv4 allocations
Apparently JPNIC returned the last /11 to APNIC.

It is not clear which networks are actually delegated to the Brazilian
NIR, and since whois.lacnic.net always forwards the queries I decided to
just remove the more specific entries.
2014-12-26 19:49:43 +01:00
Marco d'Itri
ec0a87cc42 Remove some old gTLDs that leaked in new_gtlds_list
The IANA web site is hard to scrape reliably...
2014-12-26 18:58:21 +01:00
Marco d'Itri
337d13dbbf Update multiple TLD servers 2014-12-26 14:48:26 +01:00
Marco d'Itri
2db2021691 Update the list of new gTLDs 2014-12-26 14:48:26 +01:00
Marco d'Itri
5105bc6e60 Debian changelog for 5.2.2 2014-11-08 05:20:32 +01:00
Marco d'Itri
d4decb8bfc Update the list of new gTLDs 2014-11-08 05:20:32 +01:00
Marco d'Itri
af9e5410da Add the .xn--d1alf and .xn--node TLD servers 2014-11-06 03:47:36 +01:00
Marco d'Itri
e054c58eb2 Fix the code that removes trailing dots
And make it easier to understand as well.
2014-11-06 03:47:26 +01:00
Marco d'Itri
a34f18b7a0 Debian changelog for 5.2.1 2014-10-16 02:01:33 +02:00
Marco d'Itri
d9d1a444f0 Add the missing Language headers in some PO files 2014-10-16 02:00:56 +02:00
Marco d'Itri
a4355256d8 Update the policy version 2014-10-16 01:53:56 +02:00
Marco d'Itri
2d00c3e346 Update TLD servers: gq mz 2014-10-16 01:52:04 +02:00
Marco d'Itri
77df07581c Update the list of new gTLDs 2014-10-16 01:52:04 +02:00
Marco d'Itri
28ea3fb055 fix the validation regexp in make_new_gtlds.pl 2014-10-16 01:52:04 +02:00
Marco d'Itri
ac73668757 Add the charset for whois.domain.kg 2014-10-16 01:52:04 +02:00
Marco d'Itri
db5dc4db7a Rename domcmp() in endstrcaseeq() and rewrite it
Rewrite it to use the same code of in_domain().
2014-10-16 01:52:04 +02:00
Marco d'Itri
8ccab2cb13 Ask whois.iana.org about TLDs
Recognize as a TLD any string without dots present in tld_serv_list
and new_gtlds_list.
2014-10-16 01:52:04 +02:00
Marco d'Itri
4cc74ef22a Remove obsolete entries from ripe_servers[] 2014-10-16 01:52:04 +02:00
Marco d'Itri
d961608451 Convert tld_serv_list to in_domain() 2014-10-16 01:52:04 +02:00
Marco d'Itri
29b1a3a9c3 Split nic_handles_list off tld_serv_list
To be able to use in_domain() for tld_serv_list
2014-10-16 01:52:03 +02:00
Marco d'Itri
842e142f1a Convert queryformat() to in_domain() 2014-10-15 15:19:12 +02:00
Marco d'Itri
45bdfcc27c Convert convert_inaddr() to in_domain() 2014-10-15 15:19:12 +02:00
Marco d'Itri
3ad4f43735 Convert is_new_gtld() to in_domain() 2014-10-15 15:19:12 +02:00
Marco d'Itri
3aa160e6a1 Add in_domain() to check if the argument is a subdomain 2014-10-15 14:30:35 +02:00
Marco d'Itri
257abceab3 Fix 1 and 2 octects in-addr.arpa queries
Queries like 85.in-addr.arpa and 94.85.in-addr.arpa were directed
to the wrong server.
2014-10-15 02:15:53 +02:00
Marco d'Itri
3957648d37 Debian changelog for 5.2.0 2014-09-13 05:27:53 +02:00
Marco d'Itri
33f174e956 Default to whois.ripe.net when using long flags 2014-09-13 05:27:53 +02:00
Marco d'Itri
2dc046b070 Update make_version_h.pl to support Debian binNMUs 2014-09-13 05:27:53 +02:00
Marco d'Itri
833af3d94a Implement support for the long RIPE flags 2014-09-13 05:27:53 +02:00
Marco d'Itri
1ae06d1a5a Move longopts into main() 2014-09-13 05:27:51 +02:00
Marco d'Itri
ec1d53f1ba Update the list of new gTLDs 2014-09-13 05:13:16 +02:00
Marco d'Itri
fa011e0665 Use the first referral of Afilias GRS results
Defensive programming: this is never supposed to happen, but if more
than one attribute were returned by the registry then the memory
allocated to referral_server would be leaked.
2014-09-13 05:12:17 +02:00
Marco d'Itri
c7769cbfdf make is_new_gtld() return the TLD 2014-09-13 02:42:29 +02:00
Marco d'Itri
5120051324 mkpasswd: fix a memory leak 2014-09-13 02:42:29 +02:00
Marco d'Itri
0ba80dd8b3 mkpasswd: correctly report read(2) failures
They would always be reported as a short read.
2014-09-13 02:42:29 +02:00
Marco d'Itri
9c0fbf514b mkpasswd: the number of random bytes is unsigned 2014-09-13 02:42:29 +02:00
Marco d'Itri
f8b28e9ea5 Add new recovered IPv4 allocations 2014-09-03 01:28:54 +02:00
Marco d'Itri
ae2a5775ac Add a new ASN allocation 2014-09-03 01:28:54 +02:00
Marco d'Itri
523c545e45 Update the .my TLD server
Same server, new official name.
2014-08-07 04:38:39 +02:00
Marco d'Itri
d65bbaa790 Debian changelog for 5.1.5 2014-08-02 03:42:22 +02:00
Marco d'Itri
c1d5a7402b Update the list of new gTLDs 2014-08-02 03:39:55 +02:00
Matías A. Bellone
a63a8887cf Update es.po
Closes: #756231
2014-07-30 08:49:27 +02:00
Marco d'Itri
544c3abb5c Add more disclaimer suppression strings 2014-07-30 08:49:27 +02:00
Marco d'Itri
d83f558c72 make_version_h.pl: support Debian backports 2014-07-25 03:32:21 +02:00
Marco d'Itri
2d55a4e992 Debian changelog for 5.1.4 2014-06-30 04:22:32 +02:00
Marco d'Itri
94a1068536 Update the list of new gTLDs 2014-06-30 04:01:57 +02:00
Frederik Kriewitz
bd96fe53aa Add the charset for whois.lacnic.net
Can be tested with "whois AS262237" (check first address line).

Fixes rfc1036/whois#23
2014-06-30 03:58:51 +02:00
Sami Kerola
9f1563c88d Update fi.po
Closes rfc1036/whois#24
2014-06-30 03:58:51 +02:00
Marco d'Itri
3a5fdb0bfd Debian changelog for 5.1.3 2014-05-26 04:28:36 +02:00
Marco d'Itri
387a28f4a9 Update the list of new gTLDs 2014-05-26 04:28:36 +02:00
Marco d'Itri
b9408a2e12 Fix a disclaimer hiding string
Closes: #748363
2014-05-26 04:28:36 +02:00
Marco d'Itri
1e1cb543c2 Support hiding disclaimers until the end of the output 2014-05-26 04:28:36 +02:00
Marco d'Itri
b1299db453 Use the IANA recovered address space list 2014-05-26 04:28:36 +02:00
Marco d'Itri
6a0956c7e5 Debian changelog for 5.1.2 2014-05-02 04:26:50 +02:00
Marco d'Itri
484faf63e5 Add more ASN entries for Japan and Korea
Hint:

whois -h whois.apnic.net -K -T as-block -i mnt-lower MNT-KRNIC-AP | \
 grep ^as-block: | sort -k 2

whois -h whois.apnic.net -K -T as-block -i mnt-lower MAINT-JPNIC | \
 grep ^as-block: | sort -k 2

whois -h whois.apnic.net -r -T aut-num  -i admin-c JNIC1-AP | \
 grep 'Block of .* AS numbers' | sort -k 8 | uniq
2014-05-02 04:26:50 +02:00
Marco d'Itri
f12e652595 Fix some invalid ASN and networks entries
Some of them would never be matched.

Reported by Henry Stern.
2014-05-02 04:26:50 +02:00
Igor Pashev
4a77be3e03 Port mkpasswd to Solaris/Dyson 2014-05-02 04:26:50 +02:00
Martino Fornasa
3a408f7f1c Update some disclaimer strings 2014-05-02 04:26:50 +02:00
Marco d'Itri
e07b33c538 Update TLD servers: tc vu 2014-05-02 04:26:50 +02:00
Georgi Stanojevski
a8c6f4af2c Update the .mk TLD server 2014-05-02 04:26:50 +02:00
Marco d'Itri
24a10bc7b8 Add the .zm TLD server 2014-05-02 04:26:50 +02:00
Arjen Zonneveld
d2a476fbcb Add the .aw TLD server 2014-05-02 04:26:50 +02:00
Marco d'Itri
171705cbde Use whois.nic.$TLD for the "new" gTLDs
The "new" gTLDs are contractually required by ICANN to provide port 43
whois service on this standard domain.
2014-05-02 04:26:50 +02:00
Marco d'Itri
4411a41702 Remove the "new" gTLDs servers from tld_serv_list
The program will use whois.nic.$TLD by default.
2014-05-02 04:22:45 +02:00
Marco d'Itri
13bce6f4ce Make the small perl programs uniform in style 2014-05-02 04:22:35 +02:00
Marco d'Itri
084b02ceab Rename po/no.po to po/nb.po
SuSE and PLD already did this.
2014-02-09 11:52:18 +01:00
Marco d'Itri
47b98dcad2 Remove whois.spec 2014-02-07 06:33:14 +01:00
Marco d'Itri
9b7c00dd32 debian/rules: remove the version sanity check
It is now part of make_version_h.pl.
2014-02-07 06:33:14 +01:00
Marco d'Itri
d2ee7af1d7 Extract the version number from the changelog 2014-02-07 06:33:08 +01:00
Marco d'Itri
bc35c3c585 Add .DELETE_ON_ERROR to the Makefile 2014-02-07 06:33:05 +01:00
Marco d'Itri
366ca9bcbe mkpasswd: fix an underflow in the parser for -R
Reported by mahkoh on github:
https://github.com/rfc1036/whois/issues/12
2014-02-06 01:03:05 +01:00
Marco d'Itri
d053b2f1f6 Debian changelog for 5.1.1 2014-01-11 00:57:22 +01:00
Marco d'Itri
ea1d854322 Add the servers for 29 "new" gTLDs 2014-01-11 00:53:41 +01:00
Marco d'Itri
c4ace128ed whois.conf(5): add an example about AS numbers 2014-01-05 20:00:36 +01:00
Marco d'Itri
780e30a538 tld_serv_list: replace spaces with tabs 2013-12-30 03:38:28 +01:00
Marco d'Itri
e660a2266f Debian changelog for 5.1.0 2013-12-26 20:40:19 +01:00
Marco d'Itri
72285df375 Add some server charsets 2013-12-26 20:38:48 +01:00
Marco d'Itri
18d09e698b Add the servers for 54 "new" gTLDs
This is not going to scale well.
2013-12-26 17:56:58 +01:00
Marco d'Itri
19ff536d38 Add the .xn--l1acc and .xn--mgba3a4f16a TLD servers 2013-12-26 09:58:43 +01:00
Marco d'Itri
9eeb9c7159 make_tld_serv.pl: fix hex escape sequences
C hexadecimal escape sequences are actually defined as \x followed by
*any* number of hexadecimal digits.
2013-12-26 09:57:16 +01:00
Marco d'Itri
332de6ebc2 Update the .xn--mgberp4a5d4ar and .xn--j1amh TLD servers 2013-12-26 09:56:53 +01:00
Marco d'Itri
713c4a5779 Add the .pf TLD server 2013-12-26 09:49:11 +01:00
Marco d'Itri
edc32919c5 Remove the .ck TLD server 2013-12-26 09:49:11 +01:00
Marco d'Itri
5420421f3e Change many TLD servers to the IANA-registered names
In some cases replaced the existing whois server name with the domain
alias registered in the IANA whois database.
2013-12-26 09:49:11 +01:00
Terence Ng
af47f46670 Update zh_CH.po 2013-12-26 09:36:13 +01:00
Marco d'Itri
6a18602bc8 Direct queries for private ASN blocks to RIPE
The ARIN DB too has dummy entries for private ASN, but I like the RIPE
DB format more.
2013-12-26 09:36:13 +01:00
Marco d'Itri
4612f7f986 make_as32_del.pl: support ASPLAIN AS32 2013-12-26 09:36:13 +01:00
Marco d'Itri
363d101ac7 Add the .ga and .ml TLD servers 2013-12-26 07:48:10 +01:00
Marco d'Itri
4853379e61 Update the .bw, .hn and .sb TLD servers 2013-12-26 07:48:10 +01:00
Marco d'Itri
dc432b4d20 Hide the disclaimer of .sx 2013-12-26 07:48:10 +01:00
Petr Písař
3dc2a9c587 Fix a typo in whois(1)
Signed-off-by: Petr Písař <ppisar@redhat.com>
2013-12-26 07:48:10 +01:00
Petr Písař
a626373f45 Free memory in handle_query()
Make the server variable always hold a dynamically allocated string and
clean up the related const statements.

Signed-off-by: Petr Písař <ppisar@redhat.com>
2013-12-26 07:48:10 +01:00
Petr Písař
4c8e0be3ce Free memory on error in simple_recode()
Signed-off-by: Petr Písař <ppisar@redhat.com>
2013-12-26 07:48:10 +01:00
Petr Písař
298f2080fe strtol() returns signed long int
Assiging strol() return value to unsigned int makes subsequent
comparison to < 0 pointless.

Signed-off-by: Petr Písař <ppisar@redhat.com>
2013-12-26 07:48:10 +01:00
Marco d'Itri
4808ec3bd8 Add new RIPE and APNIC ASN allocations 2013-12-26 07:48:10 +01:00
Marco d'Itri
7b18c4e0c2 Hide the disclaimer for .be
The disclaimer for .eu matched the start line of the .be disclaimer too
but not the end line, so I made it more specific to prevent future issues
like this one.
2013-12-26 07:43:15 +01:00
Petr Písař
2d12f4da54 Do not hide legal disclaimer with whois -V
There was missing break in the 'V' option case.

Signed-off-by: Petr Písař <ppisar@redhat.com>
2013-12-26 07:43:15 +01:00
zcooler
275ac2f0ce Add support for -cunic NIC handles 2013-12-26 07:42:50 +01:00
Romuald Brunet
48fe7fa93b Add CentralNic .IN.NET TLD server 2013-08-13 19:12:20 +02:00
Marco d'Itri
352c45e327 Update the .gd TLD server 2013-08-09 15:36:28 +02:00
Marco d'Itri
5a0f08500f Debian changelog for 5.0.26 2013-07-17 01:06:44 +02:00
Marco d'Itri
3a1c279dbd Add comments about some upcoming TLD servers
These TLDs are still in the launch phase.
2013-07-17 01:06:44 +02:00
Simone Carletti
913ee41cbd Update .CF TLD definition
.CF TLD now has a WHOIS server.

See http://www.iana.org/domains/root/db/cf.html
2013-07-16 15:29:30 +02:00
Simone Carletti
80b71c5e1d Update .BI TLD definition
.BI TLD now has a WHOIS server.

See http://www.iana.org/domains/root/db/bi.html
2013-06-25 11:55:59 +03:00
Marco d'Itri
588e7c530d Update an ASN allocation
LACNIC returned part of its last allocation.
2013-06-12 01:26:12 +02:00
Marco d'Itri
5233e47ab8 Add a new ASN allocation 2013-05-31 01:36:23 +02:00
Marco d'Itri
4b92a43791 Debian changelog for 5.0.25 2013-05-10 05:20:27 +02:00
Marco d'Itri
d97533a52f Add TLD servers: ax bn iq pw rw 2013-05-02 02:58:32 +02:00
Chris Leick
7201eade28 Update de.po 2013-04-28 12:07:43 +02:00
Steve Petruzzello
1e241f1b51 Update fr.po 2013-04-22 06:26:19 +02:00
Marco d'Itri
7bcd0b7ec2 Debian changelog for 5.0.24 2013-04-18 03:37:02 +02:00
Joe Hansen
4f915548ce Update da.po 2013-04-18 03:29:36 +02:00
Jakub Bogusz
a1ef15aec2 Update pl.po 2013-04-18 03:29:36 +02:00
Petr Pisar
2bfb385aaa Update cs.po 2013-04-18 03:29:36 +02:00
Yuri Kozlov
b1b79b5185 Update ru.po 2013-04-18 03:29:36 +02:00
Marco d'Itri
81fcf54a70 Update it.po 2013-04-18 03:29:36 +02:00
Marco d'Itri
3b2f0c1042 Refresh the .po files 2013-04-18 03:29:36 +02:00
Marco d'Itri
08438d7761 Add new LACNIC AS numbers 2013-04-10 17:25:05 +02:00
Marco d'Itri
4deb57d9ba Undocument the -F RIPE option
It is deprecated, does not always work correctly and nobody should ever
use it anymore.
2013-04-10 17:25:05 +02:00
Marco d'Itri
865f6025eb Handle --help as success for mkpasswd too 2013-04-10 17:25:05 +02:00
Petr Písař
361164fea5 Handle --help as success
whois --help output should go to standard output, and exit code should
be zero.
2013-04-10 17:25:05 +02:00
Petr Písař
3f0c3d4436 Add whois.conf(5) manual page 2013-04-10 17:25:05 +02:00
Petr Písař
c5fb072b2b Remove -S option
RIPE-like `-S' option is not documented nor supported by RIPE.
2013-04-10 17:25:05 +02:00
Petr Písař
8ec60c27f0 Update documentation
whois(1) options listing has been updated in whois --help output as
well as in manual page.

Rerefence to RIPE WHOIS database query syntax has been updated.
2013-04-10 17:25:05 +02:00
Marco d'Itri
16c9a177c9 Debian changelog for 5.0.23 2013-04-08 06:30:38 +02:00
Marco d'Itri
cc8793f281 Update the servers encoding list: whois.nic.or.kr
whois.nic.or.kr switched from EUC-KR to UTF-8.

Fixes Ubuntu bug LP#1132526.
2013-04-08 06:27:05 +02:00
Marco d'Itri
d5fc1f0e42 whois.spec: the source packages nowadays use XZ 2013-04-05 00:44:31 +02:00
Marco d'Itri
a24bf42c96 Debian changelog for 5.0.22 2013-04-01 01:28:10 +02:00
Marco d'Itri
afaafb6691 Really support Debian cross-building
As it turned out, real cross compilers do not ship $triplet-cc commands.
2013-04-01 01:28:10 +02:00
Marco d'Itri
d24bcb9a4d Update the README file for the modern age 2013-04-01 01:27:56 +02:00
Marco d'Itri
6392313e63 New release 5.0.22 2013-03-31 22:18:59 +02:00
Marco d'Itri
183d1110cc Debian changelog for 5.0.21 2013-03-31 21:46:30 +02:00
Marco d'Itri
130cfbf215 Support Debian cross-building
Respect DEB_HOST_GNU_TYPE when selecting CC for cross-compiling.
Fixes Debian bug #695442 reported by Adam Conrad.
2013-03-31 21:43:19 +02:00
Marco d'Itri
e5e1efe2c3 Update the TLD servers list
Add:
.xn--j1amh (.укр, Ukraine)

Update:
.bi
.se (requested by registry staff)
.vn

Remove whois.pandi.or.id from the list of servers which support the RIPE
extensions, since it does not anymore and queries are broken.
2013-03-31 08:13:02 +02:00
Marco d'Itri
147c1f3e06 Update some disclaimer suppression strings 2013-03-31 08:10:29 +02:00
Marco d'Itri
7d4b9714c4 Remove a unused variable 2013-03-31 08:10:29 +02:00
Marco d'Itri
9b1706c1e1 Fix parsing of 6to4 addresses
The last two bytes of the IPv4 address in 6to4 addresses were not
parsed correctly since version 5.0.19. (Fixes #699928.)
2013-03-31 08:10:02 +02:00
Marco d'Itri
3dacfba4f0 Add .gitignore 2013-03-31 07:49:22 +02:00
Marco d'Itri
d5045557e8 Update to the latest policy revision 2013-03-31 07:49:21 +02:00
Marco d'Itri
754121f014 New release 5.0.21 2013-03-31 07:43:41 +02:00
Marco d'Itri
d0d2407887 Imported Debian version 5.0.20 2013-03-30 02:32:08 +01:00
Marco d'Itri
a21a1d7756 Imported Debian version 5.0.19 2013-03-30 02:31:42 +01:00
Marco d'Itri
0b19184e9a Imported Debian version 5.0.18 2013-03-30 02:31:42 +01:00
Marco d'Itri
2d381497c0 Imported Debian version 5.0.17 2013-03-30 02:31:42 +01:00
Marco d'Itri
0e2b2133dd Imported Debian version 5.0.16 2013-03-30 02:31:42 +01:00
Marco d'Itri
51d8f998dd Imported Debian version 5.0.15 2013-03-30 02:31:41 +01:00
Marco d'Itri
ac181807bf Imported Debian version 5.0.14 2013-03-30 02:31:41 +01:00
Marco d'Itri
dc3da63043 Imported Debian version 5.0.13 2013-03-30 02:31:41 +01:00
Marco d'Itri
6c3ca39f25 Imported Debian version 5.0.12 2013-03-30 02:31:41 +01:00
Marco d'Itri
1712990060 Imported Debian version 5.0.11 2013-03-30 02:31:41 +01:00
Marco d'Itri
49e5db7e4c Imported Debian version 5.0.10 2013-03-30 02:31:40 +01:00
Marco d'Itri
4e22684dde Imported Debian version 5.0.9 2013-03-30 02:31:40 +01:00
Marco d'Itri
792f67eb4b Imported Debian version 5.0.8 2013-03-30 02:31:40 +01:00
Marco d'Itri
f4a1a12b0c Imported Debian version 5.0.7 2013-03-30 02:31:40 +01:00
Marco d'Itri
49aa4a0f24 Imported Debian version 5.0.6 2013-03-30 02:31:40 +01:00
Marco d'Itri
cdfdc7d88b Imported Debian version 5.0.5 2013-03-30 02:31:39 +01:00
Marco d'Itri
c4ba9f91d1 Imported Debian version 5.0.4 2013-03-30 02:31:39 +01:00
Marco d'Itri
f37f5f4fb3 Imported Debian version 5.0.3 2013-03-30 02:31:39 +01:00
Marco d'Itri
00a8697ca9 Imported Debian version 5.0.2 2013-03-30 02:31:39 +01:00
Marco d'Itri
9627a203ce Imported Debian version 5.0.1 2013-03-30 02:31:39 +01:00
Marco d'Itri
15c8d523f7 Imported Debian version 5.0.0 2013-03-30 02:31:38 +01:00
Marco d'Itri
e8806bc509 Imported Debian version 4.7.37 2013-03-30 02:31:38 +01:00
Marco d'Itri
12aa6bb6ad Imported Debian version 4.7.36 2013-03-30 02:31:38 +01:00
Marco d'Itri
6b108b4fd4 Imported Debian version 4.7.35 2013-03-30 02:31:38 +01:00
Marco d'Itri
4ee9510383 Imported Debian version 4.7.34 2013-03-30 02:31:37 +01:00
Marco d'Itri
b3164a2b0f Imported Debian version 4.7.33 2013-03-30 02:31:37 +01:00
Marco d'Itri
ba38b34886 Imported Debian version 4.7.32 2013-03-30 02:31:37 +01:00
Marco d'Itri
95229c98ad Imported Debian version 4.7.31 2013-03-30 02:31:37 +01:00
Marco d'Itri
bd702922f8 Imported Debian version 4.7.30 2013-03-30 02:31:37 +01:00
Marco d'Itri
bd837394e6 Imported Debian version 4.7.29 2013-03-30 02:31:36 +01:00
Marco d'Itri
8032d7b7f6 Imported Debian version 4.7.28 2013-03-30 02:31:36 +01:00
Marco d'Itri
ce5e346d70 Imported Debian version 4.7.27 2013-03-30 02:31:36 +01:00
Marco d'Itri
e90424d179 Imported Debian version 4.7.26 2013-03-30 02:31:36 +01:00
Marco d'Itri
d0c35c4219 Imported Debian version 4.7.25 2013-03-30 02:31:36 +01:00
Marco d'Itri
2551e961c2 Imported Debian version 4.7.24 2013-03-30 02:31:35 +01:00
Marco d'Itri
c3c46b20b8 Imported Debian version 4.7.23 2013-03-30 02:31:35 +01:00
Marco d'Itri
b62995f670 Imported Debian version 4.7.22 2013-03-30 02:31:35 +01:00
Marco d'Itri
1e6c14f7fa Imported Debian version 4.7.21 2013-03-30 02:31:35 +01:00
Marco d'Itri
3d997426a8 Imported Debian version 4.7.20 2013-03-30 02:31:35 +01:00
Marco d'Itri
1ea7943996 Imported Debian version 4.7.18 2013-03-30 02:31:34 +01:00
Marco d'Itri
3a305f1926 Imported Debian version 4.7.17 2013-03-30 02:31:34 +01:00
Marco d'Itri
e5c1a36ec1 Imported Debian version 4.7.16 2013-03-30 02:31:34 +01:00
Marco d'Itri
7c5dbcc6c6 Imported Debian version 4.7.15 2013-03-30 02:31:34 +01:00
Marco d'Itri
6077928ad9 Imported Debian version 4.7.14 2013-03-30 02:31:34 +01:00
Marco d'Itri
27fd0b5493 Imported Debian version 4.7.13 2013-03-30 02:31:33 +01:00
Marco d'Itri
07b44b3568 Imported Debian version 4.7.12 2013-03-30 02:31:33 +01:00
Marco d'Itri
d60c06bc32 Imported Debian version 4.7.11 2013-03-30 02:31:33 +01:00
Marco d'Itri
c3f3347bc8 Imported Debian version 4.7.10 2013-03-30 02:31:33 +01:00
Marco d'Itri
f5a3fd9e48 Imported Debian version 4.7.9 2013-03-30 02:31:33 +01:00
Marco d'Itri
7a1cc2f422 Imported Debian version 4.7.8 2013-03-30 02:31:32 +01:00
Marco d'Itri
9ad7ad696c Imported Debian version 4.7.7 2013-03-30 02:31:32 +01:00
Marco d'Itri
8d33311a68 Imported Debian version 4.7.6 2013-03-30 02:31:32 +01:00
Marco d'Itri
29d43d00f5 Imported Debian version 4.7.5 2013-03-30 02:31:32 +01:00
Marco d'Itri
c163eebde7 Imported Debian version 4.7.4 2013-03-30 02:31:32 +01:00
Marco d'Itri
64ad70cad1 Imported Debian version 4.7.2 2013-03-30 02:31:31 +01:00
Marco d'Itri
ec5ce735c6 Imported Debian version 4.7.1 2013-03-30 02:31:31 +01:00
67 changed files with 11683 additions and 2762 deletions

18
.github/workflows/release.yml vendored Normal file
View File

@ -0,0 +1,18 @@
name: Publish a Github release
on:
push:
branches:
- master
tags:
- "v*.*"
jobs:
release:
runs-on: debian-latest
permissions:
contents: write
steps:
- name: Release
uses: softprops/action-gh-release@v1

20
.gitignore vendored Normal file
View File

@ -0,0 +1,20 @@
*_del.h
new_gtlds.h
nic_handles.h
tld_serv.h
servers_charset.h
version.h
Makefile.depend
*.o
mkpasswd
whois
po/whois.pot
po/*.mo
debian/debhelper-build-stamp
debian/files
debian/whois.debhelper.log
debian/whois.substvars
debian/whois/

44
COPYING
View File

@ -1,12 +1,12 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
<https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
@ -55,8 +55,8 @@ patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
@ -225,7 +225,7 @@ impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
@ -255,7 +255,7 @@ make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
@ -277,9 +277,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
@ -303,17 +303,15 @@ the "copyright" line and a pointer to where the full notice is found.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
You should have received a copy of the GNU General Public License along
with this program; if not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
@ -330,11 +328,11 @@ necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
<signature of Moe Ghoul>, 1 April 1989
Moe Ghoul, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

183
Makefile
View File

@ -1,67 +1,166 @@
prefix ?= /usr/local
# SPDX-License-Identifier: GPL-2.0-or-later
prefix = /usr
OPTS=-O2
# Solaris
#LDFLAGS=-lnsl -lsocket
# obsolete linux (libc 5)
#LDFLAGS=-lintl
# FreeBSD
#LDFLAGS=-L/usr/local/lib -lgnugetopt -lintl
#CFLAGS=-I/usr/local/include
# OS/2 EMX
#LDFLAGS=-lsocket -Zexe -Dstrncasecmp=strnicmp
ifdef HAVE_LIBIDN
LIBIDN += -lidn
CFLAGS += -DHAVE_LIBIDN
ifdef DESTDIR
BASEDIR := $(DESTDIR)
endif
PERL := perl
CFLAGS ?= -g -O2
all: whois #pos
PKG_CONFIG ?= pkg-config
PERL ?= perl
INSTALL ?= install
whois: whois.c whois.h config.h data.h as_del.h ip_del.h ip6_del.h tld_serv.h
$(CC) $(CFLAGS) $(OPTS) whois.c -o whois $(LDFLAGS) $(LIBIDN)
whois_OBJECTS := whois.o utils.o
mkpasswd_OBJECTS := mkpasswd.o utils.o
mkpasswd: mkpasswd.c
$(CC) $(CFLAGS) $(OPTS) mkpasswd.c -o mkpasswd -lcrypt
##############################################################################
# Solaris
#whois_LDADD += -lnsl -lsocket -liconv
# FreeBSD
#whois_LDADD += -liconv
#LIBS += -L/usr/local/lib -lintl
#DEFS += -I/usr/local/include
# OS/2 EMX
#whois_LDADD += -lsocket
#LDFLAGS += -Zexe -Dstrncasecmp=strnicmp
# OS X
#whois_LDADD += -liconv
ifdef CONFIG_FILE
DEFS += -DCONFIG_FILE=\"$(CONFIG_FILE)\"
endif
ifdef LOCALEDIR
DEFS += -DLOCALEDIR=\"$(BASEDIR)$(prefix)/share/locale\"
endif
# libidn support has been autodetected since 5.2.18
ifdef HAVE_LIBIDN
$(error Please fix your build system to stop defining HAVE_LIBIDN!)
endif
ifeq ($(shell $(PKG_CONFIG) --exists 'libidn2 >= 2.0.3' || echo NO),)
whois_LDADD += $(shell $(PKG_CONFIG) --libs libidn2)
DEFS += -DHAVE_LIBIDN2 $(shell $(PKG_CONFIG) --cflags libidn2)
else ifeq ($(shell $(PKG_CONFIG) --exists 'libidn' || echo NO),)
whois_LDADD += $(shell $(PKG_CONFIG) --libs libidn)
DEFS += -DHAVE_LIBIDN $(shell $(PKG_CONFIG) --cflags libidn)
endif
ifdef HAVE_ICONV
whois_OBJECTS += simple_recode.o
DEFS += -DHAVE_ICONV
endif
ifeq ($(shell $(PKG_CONFIG) --exists 'libxcrypt >= 4.1' || echo NO),)
DEFS += -DHAVE_CRYPT_H -DHAVE_LINUX_CRYPT_GENSALT $(shell $(PKG_CONFIG) --cflags libcrypt)
mkpasswd_LDADD += $(shell $(PKG_CONFIG) --libs libcrypt)
else ifdef HAVE_XCRYPT
DEFS += -DHAVE_XCRYPT_H -DHAVE_LINUX_CRYPT_GENSALT
mkpasswd_LDADD += -lxcrypt
else ifdef HAVE_LIBOWCRYPT
# owl and openSUSE have crypt_gensalt(3) in libowcrypt
DEFS += -DHAVE_CRYPT_H -DHAVE_LINUX_CRYPT_GENSALT -D_OW_SOURCE
mkpasswd_LDADD += -lcrypt -lowcrypt
else
mkpasswd_LDADD += -lcrypt
endif
CPPFLAGS += $(DEFS) $(INCLUDES)
BASHCOMPDIR ?= $(shell $(PKG_CONFIG) --variable=completionsdir bash-completion 2>/dev/null || echo /etc/bash_completion.d)
##############################################################################
all: Makefile.depend whois mkpasswd pos
##############################################################################
%.o: %.c
$(CC) $(CPPFLAGS) $(CFLAGS) -c $<
whois: $(whois_OBJECTS)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(whois_LDADD) $(LIBS)
mkpasswd: $(mkpasswd_OBJECTS)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(mkpasswd_LDADD) $(LIBS)
##############################################################################
version.h: debian/changelog make_version_h.pl
$(PERL) make_version_h.pl $< > $@
as_del.h: as_del_list make_as_del.pl
$(PERL) -w make_as_del.pl < as_del_list > as_del.h
$(PERL) make_as_del.pl < $< > $@
ip_del.h: ip_del_list make_ip_del.pl
$(PERL) -w make_ip_del.pl < ip_del_list > ip_del.h
$(PERL) make_ip_del.pl < $< > $@
ip6_del.h: ip6_del_list make_ip6_del.pl
$(PERL) -w make_ip6_del.pl < ip6_del_list > ip6_del.h
$(PERL) make_ip6_del.pl < $< > $@
new_gtlds.h: new_gtlds_list make_new_gtlds.pl
$(PERL) make_new_gtlds.pl < $< > $@
nic_handles.h: nic_handles_list make_nic_handles.pl
$(PERL) make_nic_handles.pl < $< > $@
tld_serv.h: tld_serv_list make_tld_serv.pl
$(PERL) -w make_tld_serv.pl < tld_serv_list > tld_serv.h
$(PERL) make_tld_serv.pl < $< > $@
install: whois
install -m 0755 whois $(BASEDIR)$(prefix)/bin/
strip $(BASEDIR)$(prefix)/bin/whois
install -m 0644 whois.1 $(BASEDIR)$(prefix)/share/man/man1/
cd po && $(MAKE) $@
servers_charset.h: servers_charset_list make_servers_charset.pl
$(PERL) make_servers_charset.pl < $< > $@
##############################################################################
afl:
-rm -f Makefile.depend
DEFS=-DAFL_MODE=1 AFL_HARDEN=1 $(MAKE) whois CC=afl-gcc HAVE_ICONV=1
afl-run:
nice afl-fuzz -i ../afl_in -o ../afl_out -- ./whois
##############################################################################
install: install-whois install-mkpasswd install-pos install-bashcomp
install-whois: whois
$(INSTALL) -d $(BASEDIR)$(prefix)/bin/
$(INSTALL) -d $(BASEDIR)$(prefix)/share/man/man1/
$(INSTALL) -d $(BASEDIR)$(prefix)/share/man/man5/
$(INSTALL) -m 0755 whois $(BASEDIR)$(prefix)/bin/
$(INSTALL) -m 0644 whois.1 $(BASEDIR)$(prefix)/share/man/man1/
$(INSTALL) -m 0644 whois.conf.5 $(BASEDIR)$(prefix)/share/man/man5/
install-mkpasswd: mkpasswd
$(INSTALL) -d $(BASEDIR)$(prefix)/bin/
$(INSTALL) -d $(BASEDIR)$(prefix)/share/man/man1/
$(INSTALL) -m 0755 mkpasswd $(BASEDIR)$(prefix)/bin/
$(INSTALL) -m 0644 mkpasswd.1 $(BASEDIR)$(prefix)/share/man/man1/
install-pos:
cd po && $(MAKE) install
install-bashcomp:
$(INSTALL) -d $(BASEDIR)$(BASHCOMPDIR)
$(INSTALL) -m 0644 mkpasswd.bash $(BASEDIR)$(BASHCOMPDIR)/mkpasswd
$(INSTALL) -m 0644 whois.bash $(BASEDIR)$(BASHCOMPDIR)/whois
distclean: clean
rm -f po/whois.pot
rm -f version.h po/whois.pot
clean:
rm -f as_del.h ip_del.h ip6_del.h tld_serv.h whois mkpasswd
rm -f Makefile.depend as_del.h ip_del.h ip6_del.h \
nic_handles.h new_gtlds.h tld_serv.h servers_charset.h \
*.o whois mkpasswd
rm -f po/*.mo
test:
open -- sh -c "while nc -l -p 43 127.0.0.1; do echo END; done"
gnu:
tar czvvf gnu-whois.tgz Makefile* README *list *.h whois.*
pos:
cd po && $(MAKE)
depend: Makefile.depend
Makefile.depend:
$(CC) $(CPPFLAGS) $(CFLAGS) -MM -MG *.c > $@
-include Makefile.depend
.DELETE_ON_ERROR:

44
README
View File

@ -1,33 +1,25 @@
Why another whois client? Because the RIPE client is a mess of hacks and
#ifdefs and more complex programs lack features or are bloated.
In 1999 I wrote this Whois client from scratch because the alternatives
were obsolete or bloated.
Notes about the data files:
- domain names MUST be lowercase and MUST begin with "." or "-".
- first match wins (for both domains and netblocks)
- elements in tld_serv_list are matched against the end of the query
This client is intelligent and can automatically select the appropriate
whois server for most queries.
Please send me any information you have regarding domains and netblocks
not correctly handled by the program.
The internal database is often more accurate than IANA's published one,
but please send me any information you have regarding domains and network
resources which are not correctly handled by the program.
Please also try to compile after defining HAVE_GETADDRINFO and send me
working #defines for your flavour of UNIX.
The home of the program is http://www.linux.it/~md/software/
Because of historical reasons this package also contains the mkpasswd
program, which can be used to encrypt a password with crypt(3).
Other information sources:
- RIPE-187 and RIPE-189 (from ftp://ftp.ripe.net/ripe/docs/ or
http://www.ripe.net/docs/)
- the www.geektools.org CGI proxy
- home of the 6bone client: http://www.ip.qwest.net/~david/software/
- http://www.apnic.net/db/RIRs.html and
http://www.apnic.net/maps/tld-list.html
- http://www.uninett.no/navn/domreg.html
- http://www.iahc.org/dns-refs/registry.html
- http://www.iana.org/root-whois/xx.htm
- http://www.afrinic.org
- http://www.aftld.org
The canonical distribution point for releases of the program is
https://ftp.debian.org/debian/pool/main/w/whois/ .
Marco d'Itri
<md@linux.it>
Useful information sources:
- https://www.ripe.net/ripe/docs/current-ripe-documents/ripe-database-documents
- https://www.iana.org/domains/root/db/
- https://www.icann.org/en/resources/idn/fast-track/string-evaluation-completion
- https://www.aftld.org/
Marco d'Itri <md@linux.it>

View File

@ -1,5 +1,10 @@
# https://www.iana.org/assignments/as-numbers
248 251 ripe
306 371 whois.nic.mil
379 508 whois.nic.mil
1101 1200 ripe
1267 1275 ripe
1877 1901 ripe
2043 2043 ripe
2047 2047 ripe
@ -10,7 +15,7 @@
2773 2822 ripe
2830 2879 ripe
3154 3353 ripe
4608 4863 apnic
4608 4864 apnic
5120 5376 whois.nic.mil
5377 5631 ripe
5800 6055 whois.nic.mil
@ -24,32 +29,85 @@
9840 9871 whois.nic.or.kr
9943 9982 whois.nic.or.kr
9990 10021 whois.nic.ad.jp
9261 10067 apnic
10034 10073 whois.nic.or.kr
10154 10198 whois.nic.or.kr
10074 10239 apnic
9216 10239 apnic
12288 13311 ripe
15360 16383 ripe
17503 17534 whois.nic.ad.jp
17567 17616 whois.nic.or.kr
17673 17704 whois.nic.ad.jp
17832 17880 whois.nic.or.kr
17408 18431 apnic
17832 17881 whois.nic.or.kr
17930 17961 whois.nic.ad.jp
18067 18098 whois.nic.ad.jp
18121 18152 whois.nic.ad.jp
18259 18290 whois.nic.ad.jp
18259 18290 whois.nic.ad.jp
18294 18343 whois.nic.or.kr
17408 18431 apnic
20480 21503 ripe
23552 24575 apnic
23552 23601 whois.nic.or.kr
23612 23643 whois.nic.ad.jp
23773 23836 whois.nic.ad.jp
24248 24297 whois.nic.ad.jp
23552 24575 apnic
24576 25599 ripe
26592 26623 lacnic
27648 28671 lacnic
28672 29695 ripe
30980 30999 afrinic
30720 31743 ripe
33792 34815 ripe
34515 34519 afrinic
33792 35839 ripe
36864 37887 afrinic
37888 37927 whois.nic.ad.jp
38086 38135 whois.nic.or.kr
38387 38436 whois.nic.or.kr
38627 38656 whois.nic.ad.jp
38660 38709 whois.nic.or.kr
37888 38911 apnic
38912 39935 ripe
40960 45055 ripe
45360 45409 whois.nic.or.kr
45672 45691 whois.nic.ad.jp
45963 46012 whois.nic.or.kr
45056 46079 apnic
47104 52223 ripe
52224 53247 lacnic
55372 55396 whois.nic.ad.jp
55584 55633 whois.nic.or.kr
55888 55912 whois.nic.ad.jp
55296 56319 apnic
56320 58367 ripe
58645 58654 whois.nic.ad.jp
58784 58793 whois.nic.ad.jp
59091 59130 whois.nic.ad.jp
58368 59391 apnic
59392 61439 ripe
61440 61951 lacnic
61952 62463 ripe
63488 64098 apnic
64099 64197 lacnic
# catch all: everything else comes from ARIN
1 34815 arin
1 64296 arin
64297 64395 apnic
64396 64495 ripe
# documentation and private ASN block
64496 65534 ripe
131077 131086 whois.nic.ad.jp
131092 131101 whois.nic.or.kr
131152 131161 whois.nic.ad.jp
131791 131890 whois.nic.or.kr
131893 131992 whois.nic.ad.jp
# actually I listed here also the unallocated space reserved for each RIR
2.0 2.65535 apnic
3.0 3.65535 ripe
4.0 4.65535 lacnic
5.0 5.65535 afrinic
6.0 6.65535 arin
# private ASN block
4200000000 4294967294 ripe

125
config.h
View File

@ -1,8 +1,5 @@
/* Program version */
/* not for the inetutils version */
#define VERSION "4.7.0"
/* Configurable features */
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* Always hide legal disclaimers */
#undef ALWAYS_HIDE_DISCL
@ -15,8 +12,13 @@
#define CONFIG_FILE "/etc/whois.conf"
*/
/* autoconf in cpp macros */
#ifdef linux
#if defined __NetBSD__ || defined __OpenBSD__
# include <sys/param.h>
#endif
#if defined __GLIBC__ && !defined __UCLIBC__
# define ENABLE_NLS
#endif
@ -24,14 +26,34 @@
/* which versions? */
# define HAVE_GETOPT_LONG
# define HAVE_GETADDRINFO
# define HAVE_READPASSPHRASE
# define ENABLE_NLS
# define LOCALEDIR "/usr/local/share/locale"
# ifndef LOCALEDIR
# define LOCALEDIR "/usr/local/share/locale"
# endif
#endif
#if defined OpenBSD
# define HAVE_READPASSPHRASE
#endif
/* needs unistd.h */
#ifdef _ISO_CPP_14882_1998
/* Solaris 8 and better. What else? */
#if defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L
# define HAVE_GETADDRINFO
# define HAVE_REGEXEC
#endif
#if defined __APPLE__ && defined __MACH__
# define HAVE_GETOPT_LONG
# define HAVE_GETADDRINFO
# define HAVE_READPASSPHRASE
# define HAVE_BSDICRYPT
#endif
#if defined __midipix__
# define HAVE_GETOPT_LONG
# define HAVE_GETADDRINFO
# define HAVE_SHA_CRYPT
#endif
#if defined __GLIBC__
@ -39,14 +61,73 @@
# if __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 1
# define HAVE_GETADDRINFO
# endif
# if __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 7
# define HAVE_SHA_CRYPT
# endif
#endif
#if defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 2
# define HAVE_REGEXEC
#if defined OpenBSD && OpenBSD < 201405
# define HAVE_BCRYPT_OBSOLETE
#elif defined OpenBSD || defined __FreeBSD__ || (defined __SVR4 && defined __sun) || defined _OW_SOURCE
# define HAVE_BCRYPT
#endif
#if defined OpenBSD || defined __FreeBSD__ || defined __NetBSD__
# define HAVE_BSDICRYPT
#endif
/* Unknown versions of Solaris */
#if defined __SVR4 && defined __sun
# define HAVE_GETOPT_LONG
# define HAVE_SHA_CRYPT
# define HAVE_CRYPT_H
# define HAVE_SOLARIS_CRYPT_GENSALT
# define CRYPT_GENSALT_IMPLEMENTS_DEFAULT_PREFIX
#endif
/* FIXME: which systems lack this? */
#define HAVE_GETTIMEOFDAY
/*
* Please send patches to correctly ignore old releases which lack a RNG
* and add more systems which have one.
*/
#ifdef RANDOM_DEVICE
#elif defined linux \
|| defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ \
/* AIX >= 5.2? */ \
|| defined _AIX52 \
/* HP-UX >= B.11.11.09? */ \
|| defined __hpux \
/* OS X: */ \
|| (defined __APPLE__ && defined __MACH__) \
/* Solaris >= 9 (this is >= 7): */ \
|| (defined __SVR4 && defined __sun && defined SUSv2) \
/* Tru64 UNIX >= 5.1B? */ \
|| defined __osf
# define RANDOM_DEVICE "/dev/urandom"
#endif
/* use arc4random_buf instead if it is available */
#if (defined __FreeBSD__ && __FreeBSD__ >= 9) || \
(defined __NetBSD__ && __NetBSD_Version__ >= 600000000) || \
(defined OpenBSD && OpenBSD >= 200805) || \
(defined __APPLE__ && defined __MACH__ && MAC_OS_X_VERSION_MIN_REQUIRED >= 1070)
# define HAVE_ARC4RANDOM_BUF
#endif
/* or else getentropy(2) on Linux */
#if defined __GLIBC__ && __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 25 || defined __midipix__
# define HAVE_GETENTROPY
#endif
/* some versions of crypt(3) set errno on error */
#if defined __GLIBC__ || (defined __SVR4 && defined __sun) || defined OpenBSD || AIX
# define CRYPT_SETS_ERRNO 1
#else
# define CRYPT_SETS_ERRNO 0
#endif
/* system features */
#ifdef ENABLE_NLS
# ifndef NLS_CAT_NAME
# define NLS_CAT_NAME "whois"
@ -56,25 +137,3 @@
# endif
#endif
#ifdef HAVE_GETOPT_LONG
# define GETOPT_LONGISH(c, v, o, l, i) getopt_long(c, v, o, l, i)
#else
# define GETOPT_LONGISH(c, v, o, l, i) getopt(c, v, o)
#endif
/* NLS stuff */
#ifdef ENABLE_NLS
# include <libintl.h>
# include <locale.h>
# define _(a) (gettext (a))
# ifdef gettext_noop
# define N_(a) gettext_noop (a)
# else
# define N_(a) (a)
# endif
#else
# define _(a) (a)
# define N_(a) a
#endif

158
data.h
View File

@ -1,76 +1,106 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
* RIPE-like servers.
* All of them do not understand -V2.0Md with the exception of RA and RIPN.
* 6bone-derived servers will accept the flag with a warning (the flag must
* match /^V [a-zA-Z]{1,4}\d+[\d\.]{0,5}$/).
*/
/* servers which accept the new syntax (-V XXn.n) */
const char *ripe_servers[] = {
"whois.ripe.net",
"whois.apnic.net",
"whois.denic.de",
"whois.afrinic.net",
"rr.arin.net", /* does not accept the old syntax */
"whois.6bone.net", /* 3.0.0b1 */
"whois.connect.com.au", /* 3.0.0b1 */
"whois.nic.fr",
"whois.nic.it",
"whois.telstra.net",
"whois.metu.edu.tr",
"whois.restena.lu",
"rr.level3.net", /* 3.0.0a13 */
"rr.ntt.net",
"whois.tcinet.ru",
"whois.ripn.net",
"whois.arnes.si",
"www.registry.co.ug",
"whois.register.si",
"whois.nic.ir",
"whois.nic.ck",
"whois.ra.net",
NULL
};
struct server_referral_handler {
const char *name;
void (*handler)(char **referral_server, const char *buf);
};
const struct server_referral_handler server_referral_handlers[] = {
{ "whois.apnic.net", find_referral_server_apnic },
{ "whois.arin.net", find_referral_server_arin },
{ "whois.iana.org", find_referral_server_iana },
{ "\x04", find_referral_server_verisign },
{ "\x08", find_referral_server_recursive },
{ NULL, NULL }
};
const char *hide_strings[] = {
"NOTICE AND TERMS OF USE: You", "Network Solutions reserves",/* Verisign */
"NOTICE: The expiration date", "Registrars.", /* crsnic */
"NOTICE: Access to .ORG WHOIS", "time. By submitting", /* org */
"NOTICE: Access to .INFO WHOIS", "time. By submitting", /* info */
"This Registry database contains ONLY .EDU", "type: help", /* edu */
"The data in Register", "By submitting", /* REGISTER.COM */
"The Data in the Tucows", "RECORD DOES NOT", /* OPENSRS */
" The data contained in the WHOIS", "Please limit your", /* DOTSTER */
"This whois service currently only", "top-level domains.",
"Signature Domains' Whois Service", "agree to abide by the above",
"Access to ASNIC", "by this policy.", /* as */
"The Data in Gabia", "you agree to abide",
"The data contained in Go Daddy", "is not the registrant", /* Go Daddy */
"Disclaimer: The Global Name Registry", "for any commercial",
"Access to America Online", "time. By accessing", /* AOL */
"% Access and use restricted", "% http://www.icann", /* GANDI */
"NeuStar, Inc., the Registry", "rules. For details", /* us */
#if 0
// This must be disabled because whois.bizcn.com uses a similar text
"The data in this whois", "using our Whois information", /* enom */
#endif
"By submitting a WHOIS query, you agree you will", "LACK OF A DOMAIN", /* directNIC */
"The Data in Moniker.com", "this query, you agree",
"The Data in OnlineNIC", " By starting this query", /* OnlineNIC */
"The data in Bulkregister.com", "you agree to abide", /* bulkregister */
"The Data in Alldomains.com's", "By submitting this query,",/*alldomains*/
"Interdomain's WHOIS", "DOES NOT SIGNIFY",
"The Data provided by Stargate.com", "(2) enable any",
"; This data is provided by dd24", "; By submitting this query",
"The data in Networksolutions.com's WHOIS database", NULL,
/* Some registrars like .wang copied the first paragraph of this
* disclaimer, so the detection here needs to be split in two parts. */
"TERMS OF USE: You are not authorized", NULL, /* crsnic */
"The data in Register.com's WHOIS database", NULL,
"The Data in the Tucows Registrar WHOIS database", NULL,
"TERMS OF USE: The Data in Gabia' WHOIS", NULL,
"The data contained in GoDaddy.com", NULL,
"Personal data access and use are governed by French", NULL, /* GANDI */
"The data in this whois database is provided to you", NULL, /* enom */
"Please register your domains at; http://www.", NULL, /* key-systems.net */
"%% NOTICE: Access to this information is provided", NULL, /* bookmyname.com */
"NOTICE: Access to the domain name's information", NULL, /* CORE */
"The data in MarkMonitors WHOIS", NULL, /* MarkMonitor */
"Corporation Service Company(c) (CSC) The Trusted Partner", "Register your domain name at", /* CSC */
"The data in Networksolutions.com's", NULL, /* Networksolutions */
"# Welcome to the OVH WHOIS Server", "", /* ovh */
"TERMS OF USE OF MELBOURNE IT WHOIS DATABASE", NULL,
"The data contained in this Registrar's Whois", NULL, /* wildwestdomains.com */
"The data in the FastDomain Inc. WHOIS database", NULL,
/* gTLDs */
"Access to WHOIS information is provided", NULL,
"This Registry database contains ONLY .EDU", "domain names.", /* edu */
"Access to AFILIAS WHOIS information is provided", NULL, /* .info */
"Access to Public Interest Registry WHOIS information", NULL, /* .org */
"Telnames Limited, the Registry Operator for", NULL,
"Tralliance, Inc., the Registry Operator for .travel", NULL,
"The data in this record is provided by", NULL, /* .xxx */
/* new gTLDs */
"Terms of Use: Donuts Inc. provides", NULL,
"Access to WHOIS information is provided", NULL, /* Afilias */
"TERMS OF USE: You are not authorized", NULL, /* uniregistry.net */
"The Whois and RDAP services are provided by CentralNic", "",
".Club Domains, LLC, the Registry Operator", NULL,
"% Except for agreed Internet operational purposes", NULL, /* .berlin */
"TERMS OF USE: The information in the Whois database", NULL, /* .wang */
"The WHOIS service offered by Neustar, Inc, on behalf", NULL,
"The WHOIS service offered by the Registry Operator", NULL, /* .science */
/* ccTLDs */
"Access to CCTLD WHOIS information is provided", "", /* Afilias */
"This WHOIS information is provided", NULL, /* as */
"% The WHOIS service offered by DNS Belgium", "", /* be */
".CO Internet, S.A.S., the Administrator", NULL, /* co */
"% *The information provided",
"% https://www.nic.cr/iniciar-sesion/?next=/mi-cuenta/",/* cr */
"% The WHOIS service offered by EURid", "% of the database", /* eu */
"Access to .IN WHOIS information", NULL, /* in */
"access to .in whois information", NULL, /* in registar */
"% Use of CIRA's WHOIS service is governed by the Terms of Use in its Legal", NULL, /* sx */
"Terms of Use: Access to WHOIS information", NULL, /* vc */
"The Service is provided so that you may look", "We may discontinue",/*vu*/
"NeuStar, Inc., the Registry Administrator for .US", NULL,
"; This data is provided ", NULL, /* whois.1api.net */
NULL, NULL
};
const char *nic_handles[] = {
"net-", "whois.arin.net",
"netblk-", "whois.arin.net",
"lim-", "whois.ripe.net",
#if 0
// commented until somebody will explain the query format for these
"coco-", "whois.corenic.net",
"coho-", "whois.corenic.net",
"core-", "whois.corenic.net",
#endif
"poem-", "whois.ripe.net",
"form-", "whois.ripe.net",
"pgpkey-", "whois.ripe.net",
"denic-", "whois.denic.de",
/* RPSL objects */
"as-", "whois.ripe.net",
@ -88,6 +118,7 @@ struct ip_del {
};
const struct ip_del ip_assign[] = {
#include "ip_del_recovered.h"
#include "ip_del.h"
{ 0, 0, NULL }
};
@ -104,8 +135,8 @@ const struct ip6_del ip6_assign[] = {
};
struct as_del {
const unsigned short first;
const unsigned short last;
const unsigned long first;
const unsigned long last;
const char *serv;
};
@ -114,8 +145,31 @@ const struct as_del as_assign[] = {
{ 0, 0, NULL }
};
const char *new_gtlds[] = {
#include "new_gtlds.h"
NULL
};
const char *tld_serv[] = {
#include "tld_serv.h"
NULL, NULL
};
const char *nic_handles_post[] = {
#include "nic_handles.h"
NULL, NULL
};
#ifdef HAVE_ICONV
struct server_charset {
const char *name;
const char *charset;
const char *options;
};
const struct server_charset servers_charset[] = {
#include "servers_charset.h"
{ NULL, NULL, NULL }
};
#endif

1263
debian/changelog vendored

File diff suppressed because it is too large Load Diff

1
debian/compat vendored
View File

@ -1 +0,0 @@
4

27
debian/control vendored
View File

@ -2,18 +2,23 @@ Source: whois
Section: net
Priority: standard
Maintainer: Marco d'Itri <md@linux.it>
Standards-Version: 3.6.1.1
Build-Depends: debhelper (>= 4), gettext, libidn11-dev
Standards-Version: 4.7.2.0
Rules-Requires-Root: no
Build-Depends: debhelper-compat (= 13), gettext, pkgconf,
bash-completion,
libcrypt-dev,
libidn2-dev,
Vcs-Git: https://salsa.debian.org/md/whois.git
Vcs-Browser: https://salsa.debian.org/md/whois
Package: whois
Architecture: any
Depends: ${shlibs:Depends}
Replaces: bsdmainutils (<= 4.5.1), bsdutils (<< 3.0-0)
Description: the GNU whois client
This is a new whois (RFC 3912) client rewritten from scratch.
It is inspired from and compatible with the usual BSD and RIPE whois(1)
programs.
It is intelligent and can automatically select the appropriate whois
server for most queries.
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: intelligent WHOIS client
This package provides a commandline client for the WHOIS (RFC 3912)
protocol, which queries online servers for information such as contact
details for domains and IP address assignments.
It can intelligently select the appropriate WHOIS server for most queries.
.
The package also contains mkpasswd, a simple front end to crypt(3).
The package also contains mkpasswd, a features-rich front end to the
password encryption function crypt(3).

4
debian/copyright vendored
View File

@ -1,7 +1,7 @@
This package was debianized by Marco d'Itri <md@linux.it> on
Sun Oct 3 19:46:30 CEST 1999.
It was written by Marco d'Itri.
Copyright 1999-2008 by Marco d'Itri <md@linux.it>.
Copyright: GPL (please see /usr/share/common-licenses/GPL-2).
License: GPL (please see /usr/share/common-licenses/GPL-2).

44
debian/rules vendored
View File

@ -1,44 +1,10 @@
#!/usr/bin/make -f
SHELL+= -e
#export DH_VERBOSE=1
export DEB_BUILD_MAINT_OPTIONS=hardening=+all future=+lfs
D := $(shell pwd)/debian/whois
%:
dh $@
build:
dh_testdir
make whois mkpasswd \
OPTS="-O2 -g -DCONFIG_FILE=\\\"/etc/whois.conf\\\"" \
HAVE_LIBIDN=1
touch $@
override_dh_auto_build:
dh_auto_build -- CONFIG_FILE="/etc/whois.conf" HAVE_ICONV=1
clean:
dh_testdir
-rm -f build
-make distclean
dh_clean
binary-arch: checkroot build
dh_testdir
dh_clean
dh_installdirs usr/bin
install whois mkpasswd $D/usr/bin/
cd po && make install BASEDIR=$D
dh_installman whois.1 mkpasswd.1
dh_installdocs README
dh_installchangelogs
dh_strip
dh_compress
dh_fixperms
dh_shlibdeps
dh_installdeb
dh_gencontrol
dh_builddeb
binary: binary-arch
checkroot:
test root = "`whoami`"
.PHONY: binary binary-arch binary-indep build clean checkroot

6
debian/salsa-ci.yml vendored Normal file
View File

@ -0,0 +1,6 @@
---
include:
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml
variables:
SALSA_CI_IGNORED_BRANCHES: '^next$'

1
debian/source/format vendored Normal file
View File

@ -0,0 +1 @@
3.0 (native)

1
debian/whois.docs vendored Normal file
View File

@ -0,0 +1 @@
README

2
debian/whois.manpages vendored Normal file
View File

@ -0,0 +1,2 @@
mkpasswd.1
whois.1

View File

@ -1,7 +1,8 @@
# http://www.iana.org./assignments/ipv6-tla-assignments
# https://www.iana.org/assignments/ipv6-unicast-address-assignments
# The parser is very simple-minded and wants the two first components of
# addresses. It does not deal with networks == 0 or > 24 bit.
2001:0000::/32 teredo
2001:0200::/23 apnic
2001:0400::/23 arin
2001:0600::/23 ripe
@ -16,7 +17,7 @@
# contains 2001:3C00::/22, reserved for RIPE but not allocated
2001:2000::/19 ripe
2001:4000::/23 ripe
2001:4200::/23 arin
2001:4200::/23 afrinic
2001:4400::/23 apnic
2001:4600::/23 ripe
2001:4800::/23 arin
@ -26,21 +27,20 @@
2001:5000::/20 ripe
2001:8000::/19 apnic
2001:A000::/20 apnic
2001:8000::/18 apnic
# 6to4 is special-cased
2002:0000::/16 6to4
2003:0000::/18 ripe
# not yet formally accepted
# http://www.ripe.net/ripe/draft-documents/ipv6.html
2400:0000::/6 apnic
2800:0000::/6 afrinic
2A00:0000::/6 arin
3000:0000::/6 lacnic
3400:0000::/6 ripe
3FFE:0000::/16 6bone
2400:0000::/20 whois.nic.or.kr
2400:0000::/11 apnic
2600:0000::/12 arin
2610:0000::/23 arin
2620:0000::/23 arin
2630:0000::/12 arin
2800:0000::/12 lacnic
2A00:0000::/11 ripe
2C00:0000::/12 afrinic

View File

@ -4,7 +4,30 @@
# unless they are very big and contains multiple assignments to different
# customers documented in the whois database.
#
# https://www.iana.org/assignments/ipv4-address-space
#
0.0.0.0/8 UNKNOWN
1.0.0.0/8 apnic
2.0.0.0/8 ripe
5.0.0.0/8 ripe
14.64.0.0/11 whois.nic.or.kr
14.0.0.0/8 apnic
24.132.0.0/14 ripe
27.176.0.0/13 whois.nic.or.kr
27.0.0.0/8 apnic
31.0.0.0/8 ripe
36.0.0.0/8 apnic
37.0.0.0/8 ripe
39.0.0.0/8 apnic
41.0.0.0/8 afrinic
42.32.0.0/12 whois.nic.or.kr
42.0.0.0/7 apnic
46.0.0.0/8 ripe
49.8.0.0/14 whois.nic.or.kr
49.0.0.0/8 apnic
51.0.0.0/8 ripe
# whois -r -K -h whois.apnic.net -i admin-c IM76-AP
59.0.0.0/11 whois.nic.or.kr
58.0.0.0/7 apnic
61.72.0.0/13 whois.nic.or.kr
61.80.0.0/14 whois.nic.or.kr
@ -14,21 +37,37 @@
61.208.0.0/13 whois.nic.ad.jp # => 61.215.255.255
60.0.0.0/7 apnic
62.0.0.0/8 ripe
80.0.0.0/5 ripe # => 87.255.255.254
88.0.0.0/8 ripe
124.0.0.0/8 apnic
125.0.0.0/8 apnic
77.0.0.0/8 ripe
78.0.0.0/7 ripe
80.0.0.0/4 ripe # => 95.255.255.255
101.0.0.0/8 apnic
102.0.0.0/8 afrinic
103.0.0.0/8 apnic
105.0.0.0/8 afrinic
106.0.0.0/8 apnic
109.0.0.0/8 ripe
110.0.0.0/7 apnic
112.160.0.0/11 whois.nic.or.kr
115.0.0.0/12 whois.nic.or.kr
115.16.0.0/13 whois.nic.or.kr
118.32.0.0/11 whois.nic.or.kr
119.192.0.0/11 whois.nic.or.kr
112.0.0.0/5 apnic
121.128.0.0/10 whois.nic.or.kr
125.128.0.0/11 whois.nic.or.kr
120.0.0.0/6 apnic
124.0.0.0/7 apnic
126.0.0.0/8 apnic
96.0.0.0/3 UNALLOCATED # 96 -> 127 reserved
0.0.0.0/1 arin # all other A classes are managed by ARIN
0.0.0.0/1 arin # all other A class addresses are managed by ARIN
133.0.0.0/8 whois.nic.ad.jp
139.20.0.0/14 ripe
139.24.0.0/14 ripe
139.28.0.0/15 ripe
141.0.0.0/10 ripe
141.64.0.0/12 ripe
141.80.0.0/14 ripe
141.84.0.0/15 ripe
141.86.0.0/16 arin
141.64.0.0/11 ripe
141.96.0.0/14 ripe
141.100.0.0/16 ripe
145.0.0.0/8 ripe
146.48.0.0/16 ripe
149.202.0.0/15 ripe
@ -40,32 +79,67 @@
149.248.0.0/14 ripe
150.183.0.0/16 whois.nic.or.kr
150.254.0.0/16 ripe
150.0.0.0/8 apnic
151.0.0.0/10 ripe
151.64.0.0/11 ripe
151.96.0.0/14 ripe
151.100.0.0/16 ripe
153.128.0.0/9 whois.nic.ad.jp
153.0.0.0/8 apnic
154.0.0.0/8 afrinic
155.232.0.0/13 afrinic
155.240.0.0/16 afrinic
160.216.0.0/14 ripe
160.220.0.0/16 ripe
160.44.0.0/14 ripe
160.48.0.0/12 ripe
160.115.0.0/16 afrinic
160.116.0.0/14 afrinic
160.120.0.0/14 afrinic
160.124.0.0/16 afrinic
163.156.0.0/14 ripe
163.160.0.0/12 ripe
163.195.0.0/16 afrinic
163.196.0.0/14 afrinic
163.200.0.0/14 afrinic
163.0.0.0/8 apnic
164.0.0.0/11 ripe
164.32.0.0/13 ripe
164.40.0.0/16 ripe
164.128.0.0/12 ripe
164.146.0.0/15 afrinic
164.148.0.0/14 afrinic
165.143.0.0/16 afrinic
165.144.0.0/14 afrinic
165.148.0.0/15 afrinic
169.208.0.0/12 apnic
171.16.0.0/12 ripe
171.32.0.0/15 ripe
# 173 -> 190 reserved
171.0.0.0/8 apnic
175.192.0.0/10 whois.nic.or.kr
175.0.0.0/8 apnic
176.0.0.0/8 ripe
177.0.0.0/8 lacnic
178.0.0.0/8 ripe
179.0.0.0/8 lacnic
180.0.0.0/8 apnic
181.0.0.0/8 lacnic
183.96.0.0/11 whois.nic.or.kr
182.0.0.0/7 apnic
185.0.0.0/8 ripe
186.0.0.0/7 lacnic
188.0.0.0/8 ripe # transferred from ARIN to to RIPE
189.0.0.0/8 lacnic
190.0.0.0/7 lacnic
## All other B class addresses are supposed to be allocated by ARIN
## We know that many of them are not, but they can't all be listed here
128.0.0.0/2 arin
## The C classes space is cleanly delegated and the data here should be complete
192.71.0.0/16 ripe
192.72.0.0/16 whois.seed.net.tw # NETBLK-SEED-NETS
192.72.253.0/24 arin
192.72.254.0/24 arin # how annoying...
192.72.0.0/16 apnic
192.106.0.0/16 ripe
192.114.0.0/15 ripe
192.116.0.0/15 ripe
@ -75,15 +149,9 @@
192.0.0.0/8 arin # the swamp
193.0.0.0/8 ripe
194.0.0.0/7 ripe
198.17.117.0/24 ripe
196.200.0.0/13 ripe
196.0.0.0/6 arin
196.0.0.0/7 afrinic
198.0.0.0/7 arin
200.17.0.0/16 whois.nic.br
200.18.0.0/15 whois.nic.br
200.20.0.0/16 whois.nic.br
200.96.0.0/13 whois.nic.br
200.128.0.0/9 whois.nic.br
200.0.0.0/7 lacnic
202.11.0.0/16 whois.nic.ad.jp
202.13.0.0/16 whois.nic.ad.jp
@ -109,7 +177,7 @@
203.180.0.0/14 whois.nic.ad.jp
203.224.0.0/11 whois.nic.or.kr # => 203.255.255.255
202.0.0.0/7 apnic
204.0.0.0/14 verio # rwhois too
204.0.0.0/14 rwhois.gin.ntt.net # rwhois too
204.0.0.0/6 arin
208.0.0.0/7 arin
209.94.192.0/19 lacnic
@ -117,7 +185,7 @@
210.61.0.0/16 twnic
210.62.252.0/22 twnic
210.65.0.0/16 twnic
210.71.128.0/16 twnic
210.71.128.0/17 twnic
210.90.0.0/15 whois.nic.or.kr
210.92.0.0/14 whois.nic.or.kr
210.96.0.0/11 whois.nic.or.kr # => 210.127.255.255
@ -132,7 +200,7 @@
210.224.0.0/12 whois.nic.ad.jp # => 210.239.255.255
# some more TWNIC blocks are scattered here
210.240.0.0/16 twnic
210.241.0.0/15 twnic
210.241.0.0/18 twnic
210.241.224.0/19 twnic
210.242.0.0/15 twnic
210.248.0.0/13 whois.nic.ad.jp
@ -151,6 +219,8 @@
211.176.0.0/12 whois.nic.or.kr
211.192.0.0/10 whois.nic.or.kr # => 211.255.255.255
210.0.0.0/7 apnic
213.154.32.0/19 afrinic
213.154.64.0/19 afrinic
212.0.0.0/7 ripe
214.0.0.0/7 arin # DoD
216.0.0.0/8 arin
@ -158,7 +228,11 @@
218.36.0.0/14 whois.nic.or.kr
218.40.0.0/13 whois.nic.ad.jp
218.48.0.0/13 whois.nic.or.kr
219.96.0.0/11 whois.nic.ad.jp
218.144.0.0/12 whois.nic.or.kr
218.160.0.0/12 twnic
218.216.0.0/13 whois.nic.ad.jp
218.224.0.0/13 whois.nic.ad.jp
218.232.0.0/13 whois.nic.or.kr
219.240.0.0/15 whois.nic.or.kr
219.248.0.0/13 whois.nic.or.kr
@ -168,7 +242,8 @@
220.103.0.0/16 whois.nic.or.kr
220.104.0.0/13 whois.nic.ad.jp
220.149.0.0/16 whois.nic.or.kr
221.138.0.0/13 whois.nic.or.kr
221.138.0.0/15 whois.nic.or.kr
221.140.0.0/14 whois.nic.or.kr
221.144.0.0/12 whois.nic.or.kr
221.160.0.0/13 whois.nic.or.kr
222.96.0.0/12 whois.nic.or.kr
@ -176,6 +251,5 @@
222.120.0.0/15 whois.nic.or.kr
222.122.0.0/16 whois.nic.or.kr
222.232.0.0/13 whois.nic.or.kr
223.0.0.0/8 UNALLOCATED # returned from APNIC to IANA
220.0.0.0/6 apnic
# that's all... here starts the multicast space

371
ip_del_recovered.h Normal file
View File

@ -0,0 +1,371 @@
/* 45.4.0.0 - 45.7.255.255 */
{ 755236864UL, 4294705152UL, "whois.lacnic.net" },
/* 45.8.0.0 - 45.15.255.255 */
{ 755499008UL, 4294443008UL, "whois.ripe.net" },
/* 45.64.0.0 - 45.65.15.255 */
{ 759234560UL, 4294963200UL, "whois.apnic.net" },
{ 759169024UL, 4294901760UL, "whois.apnic.net" },
/* 45.65.16.0 - 45.65.63.255 */
{ 759238656UL, 4294963200UL, "whois.apnic.net" },
{ 759242752UL, 4294959104UL, "whois.apnic.net" },
/* 45.65.64.0 - 45.65.127.255 */
{ 759250944UL, 4294950912UL, "whois.ripe.net" },
/* 45.65.128.0 - 45.65.255.255 */
{ 759267328UL, 4294934528UL, "whois.lacnic.net" },
/* 45.66.0.0 - 45.67.255.255 */
{ 759300096UL, 4294836224UL, "whois.ripe.net" },
/* 45.68.0.0 - 45.71.255.255 */
{ 759431168UL, 4294705152UL, "whois.lacnic.net" },
/* 45.80.0.0 - 45.95.255.255 */
{ 760217600UL, 4293918720UL, "whois.ripe.net" },
/* 45.96.0.0 - 45.111.255.255 */
{ 761266176UL, 4293918720UL, "whois.afrinic.net" },
/* 45.112.0.0 - 45.127.255.255 */
{ 762314752UL, 4293918720UL, "whois.apnic.net" },
/* 45.128.0.0 - 45.159.255.255 */
{ 763363328UL, 4292870144UL, "whois.ripe.net" },
/* 45.160.0.0 - 45.191.255.255 */
{ 765460480UL, 4292870144UL, "whois.lacnic.net" },
/* 45.192.0.0 - 45.222.255.255 */
{ 767557632UL, 4293918720UL, "whois.afrinic.net" },
{ 768606208UL, 4294443008UL, "whois.afrinic.net" },
{ 769130496UL, 4294705152UL, "whois.afrinic.net" },
{ 769392640UL, 4294836224UL, "whois.afrinic.net" },
{ 769523712UL, 4294901760UL, "whois.afrinic.net" },
/* 45.224.0.0 - 45.239.255.255 */
{ 769654784UL, 4293918720UL, "whois.lacnic.net" },
/* 45.240.0.0 - 45.247.255.255 */
{ 770703360UL, 4294443008UL, "whois.afrinic.net" },
/* 45.248.0.0 - 45.255.255.255 */
{ 771227648UL, 4294443008UL, "whois.apnic.net" },
/* 66.251.128.0 - 66.251.191.255 */
{ 1123778560UL, 4294950912UL, "whois.afrinic.net" },
/* 72.44.16.0 - 72.44.31.255 */
{ 1210847232UL, 4294963200UL, "whois.lacnic.net" },
/* 128.201.0.0 - 128.201.255.255 */
{ 2160656384UL, 4294901760UL, "whois.lacnic.net" },
/* 131.196.0.0 - 131.196.255.255 */
{ 2210660352UL, 4294901760UL, "whois.lacnic.net" },
/* 137.59.0.0 - 137.59.255.255 */
{ 2302345216UL, 4294901760UL, "whois.apnic.net" },
/* 139.5.0.0 - 139.5.255.255 */
{ 2332360704UL, 4294901760UL, "whois.apnic.net" },
/* 139.26.0.0 - 139.26.255.255 */
{ 2333736960UL, 4294901760UL, "whois.afrinic.net" },
/* 144.48.0.0 - 144.48.255.255 */
{ 2419064832UL, 4294901760UL, "whois.apnic.net" },
/* 146.196.32.0 - 146.196.127.255 */
{ 2462326784UL, 4294959104UL, "whois.apnic.net" },
{ 2462334976UL, 4294950912UL, "whois.apnic.net" },
/* 146.196.128.0 - 146.196.255.255 */
{ 2462351360UL, 4294934528UL, "whois.afrinic.net" },
/* 147.78.0.0 - 147.78.255.255 */
{ 2471362560UL, 4294901760UL, "whois.ripe.net" },
/* 149.248.0.0 - 149.248.255.255 */
{ 2516058112UL, 4294901760UL, "whois.arin.net" },
/* 152.89.0.0 - 152.89.255.255 */
{ 2555969536UL, 4294901760UL, "whois.ripe.net" },
/* 157.119.0.0 - 157.119.255.255 */
{ 2641821696UL, 4294901760UL, "whois.apnic.net" },
/* 160.19.20.0 - 160.19.23.255 */
{ 2685604864UL, 4294966272UL, "whois.apnic.net" },
/* 160.19.36.0 - 160.19.39.255 */
{ 2685608960UL, 4294966272UL, "whois.afrinic.net" },
/* 160.19.44.0 - 160.19.47.255 */
{ 2685611008UL, 4294966272UL, "whois.lacnic.net" },
/* 160.19.48.0 - 160.19.55.255 */
{ 2685612032UL, 4294965248UL, "whois.apnic.net" },
/* 160.19.60.0 - 160.19.63.255 */
{ 2685615104UL, 4294966272UL, "whois.afrinic.net" },
/* 160.19.64.0 - 160.19.67.255 */
{ 2685616128UL, 4294966272UL, "whois.apnic.net" },
/* 160.19.92.0 - 160.19.95.255 */
{ 2685623296UL, 4294966272UL, "whois.ripe.net" },
/* 160.19.96.0 - 160.19.103.255 */
{ 2685624320UL, 4294965248UL, "whois.afrinic.net" },
/* 160.19.112.0 - 160.19.143.255 */
{ 2685628416UL, 4294963200UL, "whois.afrinic.net" },
{ 2685632512UL, 4294963200UL, "whois.afrinic.net" },
/* 160.19.152.0 - 160.19.155.255 */
{ 2685638656UL, 4294966272UL, "whois.afrinic.net" },
/* 160.19.168.0 - 160.19.175.255 */
{ 2685642752UL, 4294965248UL, "whois.lacnic.net" },
/* 160.19.180.0 - 160.19.183.255 */
{ 2685645824UL, 4294966272UL, "whois.ripe.net" },
/* 160.19.188.0 - 160.19.191.255 */
{ 2685647872UL, 4294966272UL, "whois.afrinic.net" },
/* 160.19.192.0 - 160.19.199.255 */
{ 2685648896UL, 4294965248UL, "whois.afrinic.net" },
/* 160.19.200.0 - 160.19.203.255 */
{ 2685650944UL, 4294966272UL, "whois.lacnic.net" },
/* 160.19.208.0 - 160.19.223.255 */
{ 2685652992UL, 4294963200UL, "whois.apnic.net" },
/* 160.19.224.0 - 160.19.227.255 */
{ 2685657088UL, 4294966272UL, "whois.apnic.net" },
/* 160.19.232.0 - 160.19.239.255 */
{ 2685659136UL, 4294965248UL, "whois.afrinic.net" },
/* 160.19.240.0 - 160.19.255.255 */
{ 2685661184UL, 4294963200UL, "whois.lacnic.net" },
/* 160.20.0.0 - 160.20.15.255 */
{ 2685665280UL, 4294963200UL, "whois.apnic.net" },
/* 160.20.20.0 - 160.20.23.255 */
{ 2685670400UL, 4294966272UL, "whois.lacnic.net" },
/* 160.20.24.0 - 160.20.31.255 */
{ 2685671424UL, 4294965248UL, "whois.afrinic.net" },
/* 160.20.32.0 - 160.20.35.255 */
{ 2685673472UL, 4294966272UL, "whois.lacnic.net" },
/* 160.20.40.0 - 160.20.47.255 */
{ 2685675520UL, 4294965248UL, "whois.apnic.net" },
/* 160.20.48.0 - 160.20.63.255 */
{ 2685677568UL, 4294963200UL, "whois.apnic.net" },
/* 160.20.64.0 - 160.20.71.255 */
{ 2685681664UL, 4294965248UL, "whois.lacnic.net" },
/* 160.20.72.0 - 160.20.75.255 */
{ 2685683712UL, 4294966272UL, "whois.apnic.net" },
/* 160.20.80.0 - 160.20.95.255 */
{ 2685685760UL, 4294963200UL, "whois.lacnic.net" },
/* 160.20.96.0 - 160.20.103.255 */
{ 2685689856UL, 4294965248UL, "whois.ripe.net" },
/* 160.20.108.0 - 160.20.111.255 */
{ 2685692928UL, 4294966272UL, "whois.ripe.net" },
/* 160.20.112.0 - 160.20.115.255 */
{ 2685693952UL, 4294966272UL, "whois.afrinic.net" },
/* 160.20.144.0 - 160.20.159.255 */
{ 2685702144UL, 4294963200UL, "whois.ripe.net" },
/* 160.20.160.0 - 160.20.207.255 */
{ 2685706240UL, 4294959104UL, "whois.lacnic.net" },
{ 2685714432UL, 4294963200UL, "whois.lacnic.net" },
/* 160.20.213.0 - 160.20.213.255 */
{ 2685719808UL, 4294967040UL, "whois.afrinic.net" },
/* 160.20.214.0 - 160.20.215.255 */
{ 2685720064UL, 4294966784UL, "whois.ripe.net" },
/* 160.20.217.0 - 160.20.217.255 */
{ 2685720832UL, 4294967040UL, "whois.afrinic.net" },
/* 160.20.218.0 - 160.20.219.255 */
{ 2685721088UL, 4294966784UL, "whois.lacnic.net" },
/* 160.20.221.0 - 160.20.221.255 */
{ 2685721856UL, 4294967040UL, "whois.afrinic.net" },
/* 160.20.222.0 - 160.20.223.255 */
{ 2685722112UL, 4294966784UL, "whois.apnic.net" },
/* 160.20.225.0 - 160.20.225.255 */
{ 2685722880UL, 4294967040UL, "whois.lacnic.net" },
/* 160.20.226.0 - 160.20.227.255 */
{ 2685723136UL, 4294966784UL, "whois.afrinic.net" },
/* 160.20.229.0 - 160.20.229.255 */
{ 2685723904UL, 4294967040UL, "whois.ripe.net" },
/* 160.20.242.0 - 160.20.243.255 */
{ 2685727232UL, 4294966784UL, "whois.lacnic.net" },
/* 160.20.246.0 - 160.20.247.255 */
{ 2685728256UL, 4294966784UL, "whois.lacnic.net" },
/* 160.20.248.0 - 160.20.249.255 */
{ 2685728768UL, 4294966784UL, "whois.ripe.net" },
/* 160.20.252.0 - 160.20.255.255 */
{ 2685729792UL, 4294966272UL, "whois.afrinic.net" },
/* 160.202.8.0 - 160.202.15.255 */
{ 2697594880UL, 4294965248UL, "whois.apnic.net" },
/* 160.202.16.0 - 160.202.31.255 */
{ 2697596928UL, 4294963200UL, "whois.ripe.net" },
/* 160.202.32.0 - 160.202.63.255 */
{ 2697601024UL, 4294959104UL, "whois.apnic.net" },
/* 160.202.128.0 - 160.202.255.255 */
{ 2697625600UL, 4294934528UL, "whois.apnic.net" },
/* 160.238.0.0 - 160.238.0.255 */
{ 2699952128UL, 4294967040UL, "whois.apnic.net" },
/* 160.238.11.0 - 160.238.11.255 */
{ 2699954944UL, 4294967040UL, "whois.afrinic.net" },
/* 160.238.12.0 - 160.238.19.255 */
{ 2699955200UL, 4294966272UL, "whois.apnic.net" },
{ 2699956224UL, 4294966272UL, "whois.apnic.net" },
/* 160.238.21.0 - 160.238.21.255 */
{ 2699957504UL, 4294967040UL, "whois.ripe.net" },
/* 160.238.24.0 - 160.238.29.255 */
{ 2699958272UL, 4294966272UL, "whois.lacnic.net" },
{ 2699959296UL, 4294966784UL, "whois.lacnic.net" },
/* 160.238.33.0 - 160.238.33.255 */
{ 2699960576UL, 4294967040UL, "whois.apnic.net" },
/* 160.238.34.0 - 160.238.35.255 */
{ 2699960832UL, 4294966784UL, "whois.apnic.net" },
/* 160.238.36.0 - 160.238.39.255 */
{ 2699961344UL, 4294966272UL, "whois.ripe.net" },
/* 160.238.48.0 - 160.238.49.255 */
{ 2699964416UL, 4294966784UL, "whois.afrinic.net" },
/* 160.238.50.0 - 160.238.50.255 */
{ 2699964928UL, 4294967040UL, "whois.afrinic.net" },
/* 160.238.52.0 - 160.238.55.255 */
{ 2699965440UL, 4294966272UL, "whois.ripe.net" },
/* 160.238.57.0 - 160.238.57.255 */
{ 2699966720UL, 4294967040UL, "whois.afrinic.net" },
/* 160.238.58.0 - 160.238.59.255 */
{ 2699966976UL, 4294966784UL, "whois.apnic.net" },
/* 160.238.60.0 - 160.238.61.255 */
{ 2699967488UL, 4294966784UL, "whois.ripe.net" },
/* 160.238.63.0 - 160.238.63.255 */
{ 2699968256UL, 4294967040UL, "whois.lacnic.net" },
/* 160.238.64.0 - 160.238.95.255 */
{ 2699968512UL, 4294959104UL, "whois.apnic.net" },
/* 160.238.96.0 - 160.238.99.255 */
{ 2699976704UL, 4294966272UL, "whois.ripe.net" },
/* 160.238.101.0 - 160.238.101.255 */
{ 2699977984UL, 4294967040UL, "whois.afrinic.net" },
/* 160.238.104.0 - 160.238.111.255 */
{ 2699978752UL, 4294965248UL, "whois.lacnic.net" },
/* 160.238.112.0 - 160.238.127.255 */
{ 2699980800UL, 4294963200UL, "whois.ripe.net" },
/* 160.238.128.0 - 160.238.255.255 */
{ 2699984896UL, 4294934528UL, "whois.lacnic.net" },
/* 161.123.0.0 - 161.123.255.255 */
{ 2709192704UL, 4294901760UL, "whois.afrinic.net" },
/* 162.12.196.0 - 162.12.199.255 */
{ 2718745600UL, 4294966272UL, "whois.lacnic.net" },
/* 162.12.200.0 - 162.12.207.255 */
{ 2718746624UL, 4294965248UL, "whois.ripe.net" },
/* 162.12.208.0 - 162.12.215.255 */
{ 2718748672UL, 4294965248UL, "whois.apnic.net" },
/* 162.12.240.0 - 162.12.247.255 */
{ 2718756864UL, 4294965248UL, "whois.apnic.net" },
/* 164.160.0.0 - 164.160.255.255 */
{ 2761949184UL, 4294901760UL, "whois.afrinic.net" },
/* 164.163.0.0 - 164.163.255.255 */
{ 2762145792UL, 4294901760UL, "whois.lacnic.net" },
/* 192.12.109.0 - 192.12.109.255 */
{ 3222039808UL, 4294967040UL, "whois.apnic.net" },
/* 192.12.110.0 - 192.12.111.255 */
{ 3222040064UL, 4294966784UL, "whois.afrinic.net" },
/* 192.12.112.0 - 192.12.115.255 */
{ 3222040576UL, 4294966272UL, "whois.lacnic.net" },
/* 192.12.116.0 - 192.12.117.255 */
{ 3222041600UL, 4294966784UL, "whois.afrinic.net" },
/* 192.12.118.0 - 192.12.118.255 */
{ 3222042112UL, 4294967040UL, "whois.lacnic.net" },
/* 192.26.110.0 - 192.26.110.255 */
{ 3222957568UL, 4294967040UL, "whois.apnic.net" },
/* 192.42.65.0 - 192.42.65.255 */
{ 3223994624UL, 4294967040UL, "whois.ripe.net" },
/* 192.47.36.0 - 192.47.36.255 */
{ 3224314880UL, 4294967040UL, "whois.afrinic.net" },
/* 192.51.188.0 - 192.51.188.255 */
{ 3224615936UL, 4294967040UL, "whois.apnic.net" },
/* 192.51.240.0 - 192.51.240.255 */
{ 3224629248UL, 4294967040UL, "whois.afrinic.net" },
/* 192.54.244.0 - 192.54.244.255 */
{ 3224826880UL, 4294967040UL, "whois.ripe.net" },
/* 192.67.23.0 - 192.67.23.255 */
{ 3225622272UL, 4294967040UL, "whois.lacnic.net" },
/* 192.68.185.0 - 192.68.185.255 */
{ 3225729280UL, 4294967040UL, "whois.lacnic.net" },
/* 192.70.192.0 - 192.70.199.255 */
{ 3225862144UL, 4294965248UL, "whois.ripe.net" },
/* 192.70.200.0 - 192.70.201.255 */
{ 3225864192UL, 4294966784UL, "whois.afrinic.net" },
/* 192.75.4.0 - 192.75.4.255 */
{ 3226141696UL, 4294967040UL, "whois.lacnic.net" },
/* 192.75.137.0 - 192.75.137.255 */
{ 3226175744UL, 4294967040UL, "whois.apnic.net" },
/* 192.75.236.0 - 192.75.236.255 */
{ 3226201088UL, 4294967040UL, "whois.afrinic.net" },
/* 192.83.207.0 - 192.83.207.255 */
{ 3226717952UL, 4294967040UL, "whois.lacnic.net" },
/* 192.83.208.0 - 192.83.215.255 */
{ 3226718208UL, 4294965248UL, "whois.afrinic.net" },
/* 192.83.216.0 - 192.83.216.255 */
{ 3226720256UL, 4294967040UL, "whois.ripe.net" },
/* 192.91.200.0 - 192.91.200.255 */
{ 3227240448UL, 4294967040UL, "whois.afrinic.net" },
/* 192.91.254.0 - 192.91.254.255 */
{ 3227254272UL, 4294967040UL, "whois.lacnic.net" },
/* 192.92.154.0 - 192.92.154.255 */
{ 3227294208UL, 4294967040UL, "whois.lacnic.net" },
/* 192.94.78.0 - 192.94.78.255 */
{ 3227405824UL, 4294967040UL, "whois.ripe.net" },
/* 192.135.90.0 - 192.135.91.255 */
{ 3230095872UL, 4294966784UL, "whois.apnic.net" },
/* 192.135.95.0 - 192.135.95.255 */
{ 3230097152UL, 4294967040UL, "whois.lacnic.net" },
/* 192.135.99.0 - 192.135.99.255 */
{ 3230098176UL, 4294967040UL, "whois.apnic.net" },
/* 192.135.100.0 - 192.135.100.255 */
{ 3230098432UL, 4294967040UL, "whois.ripe.net" },
/* 192.135.185.0 - 192.135.185.255 */
{ 3230120192UL, 4294967040UL, "whois.lacnic.net" },
/* 192.140.1.0 - 192.140.1.255 */
{ 3230400768UL, 4294967040UL, "whois.lacnic.net" },
/* 192.140.2.0 - 192.140.3.255 */
{ 3230401024UL, 4294966784UL, "whois.ripe.net" },
/* 192.140.8.0 - 192.140.15.255 */
{ 3230402560UL, 4294965248UL, "whois.lacnic.net" },
/* 192.140.16.0 - 192.140.127.255 */
{ 3230404608UL, 4294963200UL, "whois.lacnic.net" },
{ 3230408704UL, 4294959104UL, "whois.lacnic.net" },
{ 3230416896UL, 4294950912UL, "whois.lacnic.net" },
/* 192.140.128.0 - 192.140.255.255 */
{ 3230433280UL, 4294934528UL, "whois.apnic.net" },
/* 192.141.0.0 - 192.141.255.255 */
{ 3230466048UL, 4294901760UL, "whois.lacnic.net" },
/* 192.142.0.0 - 192.143.255.255 */
{ 3230531584UL, 4294836224UL, "whois.afrinic.net" },
/* 192.144.0.0 - 192.144.63.255 */
{ 3230662656UL, 4294950912UL, "whois.ripe.net" },
/* 192.144.64.0 - 192.144.71.255 */
{ 3230679040UL, 4294965248UL, "whois.lacnic.net" },
/* 192.144.72.0 - 192.144.73.255 */
{ 3230681088UL, 4294966784UL, "whois.lacnic.net" },
/* 192.144.75.0 - 192.144.75.255 */
{ 3230681856UL, 4294967040UL, "whois.ripe.net" },
/* 192.144.78.0 - 192.144.79.255 */
{ 3230682624UL, 4294966784UL, "whois.apnic.net" },
/* 192.144.80.0 - 192.144.95.255 */
{ 3230683136UL, 4294963200UL, "whois.apnic.net" },
/* 192.144.96.0 - 192.144.127.255 */
{ 3230687232UL, 4294959104UL, "whois.lacnic.net" },
/* 192.145.0.0 - 192.145.127.255 */
{ 3230728192UL, 4294934528UL, "whois.ripe.net" },
/* 192.145.128.0 - 192.145.191.255 */
{ 3230760960UL, 4294950912UL, "whois.afrinic.net" },
/* 192.145.192.0 - 192.145.223.255 */
{ 3230777344UL, 4294959104UL, "whois.lacnic.net" },
/* 192.145.224.0 - 192.145.227.255 */
{ 3230785536UL, 4294966272UL, "whois.ripe.net" },
/* 192.145.228.0 - 192.145.229.255 */
{ 3230786560UL, 4294966784UL, "whois.apnic.net" },
/* 192.145.230.0 - 192.145.230.255 */
{ 3230787072UL, 4294967040UL, "whois.afrinic.net" },
/* 192.153.12.0 - 192.153.12.255 */
{ 3231255552UL, 4294967040UL, "whois.lacnic.net" },
/* 192.156.144.0 - 192.156.144.255 */
{ 3231485952UL, 4294967040UL, "whois.apnic.net" },
/* 192.156.220.0 - 192.156.220.255 */
{ 3231505408UL, 4294967040UL, "whois.apnic.net" },
/* 192.172.232.0 - 192.172.232.255 */
{ 3232557056UL, 4294967040UL, "whois.ripe.net" },
/* 192.188.82.0 - 192.188.83.255 */
{ 3233567232UL, 4294966784UL, "whois.apnic.net" },
/* 192.188.248.0 - 192.188.248.255 */
{ 3233609728UL, 4294967040UL, "whois.ripe.net" },
/* 192.197.113.0 - 192.197.113.255 */
{ 3234164992UL, 4294967040UL, "whois.apnic.net" },
/* 192.251.230.0 - 192.251.230.255 */
{ 3237733888UL, 4294967040UL, "whois.ripe.net" },
/* 198.97.38.0 - 198.97.38.255 */
{ 3328255488UL, 4294967040UL, "whois.lacnic.net" },
/* 199.21.172.0 - 199.21.175.255 */
{ 3340086272UL, 4294966272UL, "whois.apnic.net" },
/* 199.212.57.0 - 199.212.57.255 */
{ 3352574208UL, 4294967040UL, "whois.apnic.net" },
/* 204.8.204.0 - 204.8.207.255 */
{ 3423128576UL, 4294966272UL, "whois.afrinic.net" },
/* 204.11.0.0 - 204.11.3.255 */
{ 3423272960UL, 4294966272UL, "whois.ripe.net" },
/* 204.48.32.0 - 204.48.33.255 */
{ 3425705984UL, 4294966784UL, "whois.ripe.net" },
/* 204.52.191.0 - 204.52.191.255 */
{ 3426008832UL, 4294967040UL, "whois.apnic.net" },
/* 204.225.42.0 - 204.225.43.255 */
{ 3437308416UL, 4294966784UL, "whois.lacnic.net" },
/* 205.211.83.0 - 205.211.83.255 */
{ 3453178624UL, 4294967040UL, "whois.ripe.net" },
/* 208.85.156.0 - 208.85.159.255 */
{ 3495271424UL, 4294966272UL, "whois.afrinic.net" },
/* 216.98.208.0 - 216.98.223.255 */
{ 3630354432UL, 4294963200UL, "whois.lacnic.net" },
/* 216.250.96.0 - 216.250.111.255 */
{ 3640287232UL, 4294963200UL, "whois.apnic.net" },

View File

@ -1,20 +1,33 @@
#!/usr/bin/perl -w
#!/usr/bin/perl
# SPDX-License-Identifier: GPL-2.0-or-later
use warnings;
use strict;
my $last_l = 0;
while (<>) {
chomp;
s/^\s*(.*)\s*$/$1/;
s/\s*#.*$//;
s/#.*$//;
s/^\s+//; s/\s+$//;
next if /^$/;
die "format error: $_" unless (/^([\d\.]+)\s+([\d\.]+)\s+([\w\.]+)$/);
my $f=$1; my $l=$2; my $s=$3;
print "{ ${f}, ${l}, \"";
if ($s =~ /\./) {
print "$s";
my ($fh, $fl, $lh, $ll, $s, $f, $l);
my $comment = '';
if (($fh, $fl, $lh, $ll, $s) =
/^(\d+)\.(\d+)\s+(\d+)\.(\d+)\s+([\w\.-]+)$/) {
$f = ($fh << 16) + $fl;
$l = ($lh << 16) + $ll;
$comment = qq|\t/* $fh.$fl $lh.$ll */|;
} elsif (($f, $l, $s) = /^(\d+)\s+(\d+)\s+([\w\.-]+)$/) {
} else {
print "whois.$s.net";
die "format error: $_";
}
print "\" },\n";
die "constraint violated: $l < $last_l" if $l < $last_l;
$last_l = $l;
my $server = ($s =~ /\./) ? $s : "whois.$s.net";
print qq|{ ${f}u, ${l}u,\t"$server" },$comment\n|;
}

View File

@ -1,14 +1,15 @@
#!/usr/bin/perl -w
#!/usr/bin/perl
use warnings;
use strict;
while (<>) {
chomp;
s/^\s*(.*)\s*$/$1/;
s/\s*#.*$//;
s/#.*$//;
s/^\s+//; s/\s+$//;
next if /^$/;
die "invalid line:\n$_\n"
die "format error:\n$_\n"
if not m#^([\da-fA-F]{4}):([\da-fA-F]{1,4})::/(\d+)\s+([\w\.]+)$#;
my $len = $3; my $s = $4;
my $i1 = $1; my $i2 = $2;
@ -26,6 +27,8 @@ while (<>) {
print $s;
} elsif ($s eq '6to4') {
print "\\x0A";
} elsif ($s eq 'teredo') {
print "\\x0B";
} elsif ($s eq 'UNALLOCATED') {
print "\\006";
} else {

View File

@ -1,25 +1,30 @@
#!/usr/bin/perl -w
#!/usr/bin/perl
# SPDX-License-Identifier: GPL-2.0-or-later
use warnings;
use strict;
while (<>) {
chomp;
s/^\s*(.*)\s*$/$1/;
s/\s*#.*$//;
s/#.*$//;
s/^\s+//; s/\s+$//;
next if /^$/;
die "format error: $_" if not /^([\d\.]+)\/(\d+)\s+([\w\.]+)$/;
my $m = $2; my $s = $3;
my ($i1, $i2, $i3, $i4) = split(/\./, $1);
print '{ ' . (($i1 << 24) + ($i2 << 16) + ($i3 << 8) + $i4) . 'UL, '.
((~(0xffffffff >> $m)) & 0xffffffff) . 'UL, "';
if ($s =~ /\./) {
print $s;
} elsif ($s eq 'UNKNOWN') {
print "\\005";
} elsif ($s eq 'UNALLOCATED') {
print "\\006";
} else {
print "whois.$s.net";
}
print '" },' . "\n";
print qq|" },\n|;
}

69
make_ip_del_recovered.pl Executable file
View File

@ -0,0 +1,69 @@
#!/usr/bin/perl
# https://www.iana.org/assignments/ipv4-recovered-address-space/ipv4-recovered-address-space-2.csv
use warnings;
use strict;
use autodie;
use Text::CSV;
use Net::Patricia;
use Net::CIDR;
use Net::IP;
my $csv = Text::CSV->new;
my $pt = parse_ip_del('ip_del_list');
open(my $in, '<', 'ipv4-recovered-address-space-2.csv');
open(my $out, '>', 'ip_del_recovered.h');
while (my $row = $csv->getline($in)) {
next if $row->[0] eq 'Start address';
next if $row->[5] ne 'ALLOCATED';
my ($first_ip, $last_ip, undef, undef, $server) = @$row;
my @networks =
grep {
my $server_recovered = $pt->match_string($_->ip);
$server_recovered and $server_recovered ne $server;
}
map { Net::IP->new($_) }
Net::CIDR::range2cidr($first_ip . '-' . $last_ip);
next if not @networks;
print $out "/* $first_ip - $last_ip */\n";
print $out sprintf(qq|{ %sUL, %sUL, "%s" },\n|,
$_->intip,
((~(0xffffffff >> $_->prefixlen)) & 0xffffffff),
$server
) foreach @networks;
}
close($in);
close($out);
exit;
sub parse_ip_del {
my ($file) = @_;
my $pt = new Net::Patricia;
open(my $in, '<', $file);
while (<$in>) {
# this code is copied from make_ip_del.pl
chomp;
s/#.*$//;
s/^\s+//; s/\s+$//;
next if /^$/;
die "format error: $_" if not /^([\d\.]+)\/(\d+)\s+([\w\.]+)$/;
my $network = "$1/$2";
my $server = $3;
$server = "whois.$server.net" if $server !~ /\./;
$pt->add_string($network, $server) or die;
}
return $pt;
}

17
make_new_gtlds.pl Executable file
View File

@ -0,0 +1,17 @@
#!/usr/bin/perl
# SPDX-License-Identifier: GPL-2.0-or-later
use warnings;
use strict;
while (<>) {
chomp;
s/#.*$//;
s/^\s+//; s/\s+$//;
next if /^$/;
die "format error: $_" if not /^(xn--[a-z0-9-]+|[a-z]+)$/;
print qq| "$_",\n|;
}

18
make_nic_handles.pl Executable file
View File

@ -0,0 +1,18 @@
#!/usr/bin/perl
# SPDX-License-Identifier: GPL-2.0-or-later
use warnings;
use strict;
while (<>) {
chomp;
s/#.*$//;
s/^\s+//; s/\s+$//;
next if /^$/;
die "format error: $_" if not
(my ($a, $b) = /^(-\w+)\s+([\w\d\.:-]+)$/);
print qq| "$a",\t"$b",\n|;
}

22
make_servers_charset.pl Executable file
View File

@ -0,0 +1,22 @@
#!/usr/bin/perl
# SPDX-License-Identifier: GPL-2.0-or-later
use warnings;
use strict;
while (<>) {
chomp;
s/#.*$//;
s/^\s+//; s/\s+$//;
next if /^$/;
die "format error: $_" if not
(my ($a, $b, $c) = /^([a-z0-9.-]+)\s+([a-z0-9-]+)(?:\s+(.+))?$/);
if ($c) {
print qq| { "$a",\t"$b",\t"$c" },\n|;
} else {
print qq| { "$a",\t"$b",\tNULL },\n|;
}
}

View File

@ -1,20 +1,26 @@
#!/usr/bin/perl -w
#!/usr/bin/perl
# SPDX-License-Identifier: GPL-2.0-or-later
use warnings;
use strict;
while (<>) {
chomp;
s/^\s*(.*)\s*$/$1/;
s/\s*#.*$//;
s/#.*$//;
s/^\s+//; s/\s+$//;
next if /^$/;
die "format error: $_" unless
(my ($a, $b) = /^([\w\d\.-]+)\s+([\w\d\.:-]+|[A-Z]+\s+.*)$/);
die "format error: $_" if not
(my ($a, $b) = /^\.(\w[\w\d\.-]+)\s+([\w\d\.:-]+|[A-Z]+\s+.*)$/);
$b =~ s/^W(?:EB)?\s+/\\x01/;
$b =~ s/^M(?:SG)?\s+/\\x02/;
$b =~ s/^VERISIGN\s+/\\x04" "/;
$b = "\\x03" if $b eq 'NONE';
$b = "\\x04" if $b eq 'CRSNIC';
$b = "\\x07" if $b eq 'PIR';
$b = "\\x09" if $b eq 'NICCC';
print " \"$a\",\t\"$b\",\n";
$b =~ s/^RECURSIVE\s+/\\x08" "/;
$b = "\\x08$b" if $b eq 'whois.flexireg.net';
$b = "\\x08$b" if $b eq 'whois.nixiregistry.in';
$b = "\\x0C" if $b eq 'ARPA';
$b = "\\x0D" if $b eq 'IP6';
print qq| "$a",\t"$b",\n|;
}

35
make_version_h.pl Executable file
View File

@ -0,0 +1,35 @@
#!/usr/bin/perl
# SPDX-License-Identifier: GPL-2.0-or-later
use warnings;
use strict;
use autodie;
my $changelog = $ARGV[0] or die "Usage: $0 debian/changelog\n";
open(my $fh, '<', $changelog);
my $line = <$fh>;
close($fh);
my ($ver) = $line =~ /^whois \s+ \( ( [^\)]+ ) \) \s+ \S+/x;
die "Version number not found in $changelog!\n" if not $ver;
$ver =~ s/ (
build\d+
| ubuntu\d+
| ~\S+
| \+\S+
) $//x;
# The version number must not deviate from this format or the -V option
# to RIPE-like servers will break. If needed, update the previous regexp.
# This may not be true anymore in 2019.
die "Invalid version number in $changelog: '$ver'!\n"
unless $ver =~ /^ \d+\.\d+ ( \.\d+ )? $/x;
# This is the version number used in the help messages.
print qq|#define VERSION "$ver"\n|;
# This is the string sent to RIPE-like servers as the argument of -V.
print qq|#define IDSTRING "Md$ver"\n|;

View File

@ -1,45 +1,92 @@
.TH MKPASSWD 1 "11 October 2002" "Marco d'Itri" "Debian GNU/Linux"
.TH MKPASSWD 1 "2019-12-30" "Marco d'Itri" "Debian GNU/Linux"
.SH NAME
mkpasswd \- Overfeatured front end to crypt(3)
.SH SYNOPSIS
.B mkpasswd
.BR PASSWORD
.BR SALT
.PP
.I PASSWORD
.RI [ SALT ]
.SH DESCRIPTION
.B mkpasswd
encrypts the given password with the
.BR crypt(3)
libc function using the given salt.
.BR crypt (3)
libc function, using the given salt.
.SH OPTIONS
.TP
.B -S, --salt=STRING
Use the \fISTRING\fP as salt. It must not contain prefixes such as \fI$1$\fP.
.BR \-S " STRING\fR, \fP" \-\-salt= \fISTRING\fP
Use the
.I STRING
as salt.
If it begins with
.I $
then it will be passed straight to
.BR crypt (3)
without any checks.
.TP
.B -H, --hash=TYPE
Compute the password using the \fITYPE\fP algorithm.
If \fITYPE\fP is \fIhelp\fP available algorithms are printed.
.BR \-R " NUMBER\fR, \fP" \-\-rounds= \fINUMBER\fP
Use
.I NUMBER
rounds.
This argument is ignored if the method chosen
does not support variable rounds.
For the OpenBSD Blowfish method this is
the logarithm of the number of rounds.
The behavior is undefined if this option is used without
.IR \-\-method .
.TP
.B -P, --password-fd=NUM
Read the password from file descriptor \fINUM\fP instead of using
\fIgetpass(3)\fP.
If the file descriptor is not connected to a tty then no other message
.BR \-m " TYPE\fR, \fP" \-\-method= \fITYPE\fP
Compute the password using the
.I TYPE
method.
If
.I TYPE
is
.I help
then the list of available methods is printed.
If
.I TYPE
begins and end with
.I $
characters then the string is passed to
.BR crypt_gensalt (3)
as-is.
.TP
.B \-5
Like
.IR \-\-method=md5crypt .
.TP
.BI \-P " NUM\fR, \fP" \-\-password-fd= NUM
Read the password from file descriptor
.I NUM
instead of using
.BR getpass (3).
If the file descriptor is not connected to a tty then no other text
than the hashed password is printed on stdout.
.TP
.B -s, --stdin
Like \fI--password-fd=0\fP.
.BR \-s ", " \-\-stdin
Like
.IR \-\-password-fd=0 .
.SH ENVIRONMENT
.IP "MKPASSWD_OPTIONS"
A list of options which will be evaluated before the ones specified on the
command line.
.SH BUGS
If the \fI--stdin\fP option is used, passwords containing some control
If the
.I \-\-stdin
option is used then passwords containing some control
characters may not be read correctly.
.TP
This programs suffers of a bad case of featuritis.
.P
This program suffers of a bad case of featuritis.
.SH "SEE ALSO"
.IR passwd(1),
.IR passwd(5),
.IR crypt(3),
.IR getpass(3)
.BR passwd (1),
.BR passwd (5),
.BR crypt (3),
.BR crypt (5),
.BR crypt_gensalt (3),
.BR getpass (3).
.SH AUTHOR
.B mkpasswd
and this man page were written by Marco d'Itri <md@linux.it>
and are licensed under the terms of the GNU GPL.
and this man page were written by Marco d'Itri
.RI < md@linux.it >
and are licensed under the terms of the GNU General Public License,
version 2 or later.
.\" SPDX-License-Identifier: GPL-2.0-or-later

33
mkpasswd.bash Normal file
View File

@ -0,0 +1,33 @@
_mkpasswd() {
case $3 in
--help | --version | --salt | --rounds | --password-fd | -[hVSRP])
return 0
;;
--method | -m)
COMPREPLY=($(compgen -W '$(
LC_ALL=C "$1" --method=help 2>/dev/null |
while read -r method _; do
[[ $method == Available ]] ||
printf "%s\n" "$method"
done
)'))
return 0
;;
esac
if [[ $2 == -* ]]; then
COMPREPLY=($(compgen -W '
--method
-5
--salt
--rounds
--password-fd
--stdin
--help
--version
' -- "$2"))
return 0
fi
} && complete -F _mkpasswd mkpasswd

View File

@ -1,23 +1,29 @@
/*
* Copyright (C) 2001-2002 Marco d'Itri
* Copyright (C) Marco d'Itri <md@linux.it>.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
* You should have received a copy of the GNU General Public License along
* with this program; if not, see <https://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#define _XOPEN_SOURCE
#define _BSD_SOURCE
/* for crypt, snprintf and strcasecmp */
#define _XOPEN_SOURCE 500
#define _BSD_SOURCE 1
#define _DEFAULT_SOURCE 1
#define __EXTENSIONS__ 1
/* System library */
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
@ -25,53 +31,144 @@
#ifdef HAVE_GETOPT_LONG
#include <getopt.h>
#endif
#include <fcntl.h>
#include <string.h>
#include <strings.h>
#include <time.h>
#include <sys/types.h>
#ifdef HAVE_XCRYPT_H
#include <xcrypt.h>
#include <sys/stat.h>
#endif
#ifdef HAVE_CRYPT_H
#include <crypt.h>
#endif
#ifdef HAVE_GETTIMEOFDAY
#include <sys/time.h>
#endif
#ifdef HAVE_READPASSPHRASE
#include <readpassphrase.h>
#endif
/* Application-specific */
#include "version.h"
#include "utils.h"
/* Global variables */
#ifdef HAVE_GETOPT_LONG
static struct option longopts[] = {
static const struct option longopts[] = {
{"method", optional_argument, NULL, 'm'},
/* for backward compatibility with versions < 4.7.25 (< 20080321): */
{"hash", optional_argument, NULL, 'H'},
{"help", no_argument, NULL, 'h'},
{"password-fd", required_argument, NULL, 'P'},
{"stdin", no_argument, NULL, 's'},
{"salt", required_argument, NULL, 'S'},
{"rounds", required_argument, NULL, 'R'},
{"version", no_argument, NULL, 'V'},
{NULL, 0, NULL, 0 }
};
#else
extern char *optarg;
extern int optind;
#endif
static char valid_salts[] = "abcdefghijklmnopqrstuvwxyz"
static const char valid_salts[] = "abcdefghijklmnopqrstuvwxyz"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./";
struct salt_prefix {
const char *algo;
const char *prefix;
unsigned int len;
const char *desc;
struct crypt_method {
const char *method; /* short name used by the command line option */
const char *prefix; /* salt prefix */
const unsigned int minlen; /* minimum salt length */
const unsigned int maxlen; /* maximum salt length */
const unsigned int rounds; /* supports a variable number of rounds */
const char *desc; /* long description for the methods list */
};
struct salt_prefix salt_prefixes[] = {
{ "des", "", 2, N_("\tstandard 56 bit DES-based crypt(3)") },
{ "md5", "$1$", 8, "\tMD5" },
#if defined OpenBSD || defined FreeBSD
{ "blf", "$2$", 16, "\tBlowfish" },
/* XCRYPT_VERSION_NUM is defined in crypt.h from libxcrypt */
#if defined XCRYPT_VERSION_NUM
# define HAVE_SHA_CRYPT
# define HAVE_BCRYPT
# define HAVE_BSDICRYPT
#endif
{ NULL, NULL, 0, NULL }
static const struct crypt_method methods[] = {
/* method prefix minlen, maxlen rounds description */
#ifdef CRYPT_GENSALT_IMPLEMENTS_DEFAULT_PREFIX
{ "auto", NULL, 0, 0, 0, NULL },
#endif
/* compatibility aliases for mkpasswd versions < 5.4.0 */
{ "des", "", 2, 2, 0, NULL },
{ "md5", "$1$", 8, 8, 0, NULL },
#if defined XCRYPT_VERSION_NUM
{ "yescrypt", "$y$", 0, 0, 1, "Yescrypt" },
{ "scrypt", "$7$", 0, 0, 1, "scrypt" },
#endif
#ifdef HAVE_BCRYPT_OBSOLETE
/* http://marc.info/?l=openbsd-misc&m=139320023202696 */
{ "bf", "$2a$", 22, 22, 2, "bcrypt" },
#endif
#ifdef HAVE_BCRYPT
{ "bcrypt", "$2b$", 22, 22, 2, "bcrypt" },
{ "bcrypt_a", "$2a$", 22, 22, 2, "bcrypt (obsolete $2a$ version)" },
#endif
#if defined HAVE_SHA_CRYPT
/* http://people.redhat.com/drepper/SHA-crypt.txt */
{ "sha512crypt", "$6$", 8, 16, 1, "SHA-512" },
{ "sha256crypt", "$5$", 8, 16, 1, "SHA-256" },
/* compatibility aliases for mkpasswd versions < 5.4.0 */
{ "sha-256", "$5$", 8, 16, 1, NULL },
{ "sha-512", "$6$", 8, 16, 1, NULL },
#endif
#if (defined __SVR4 && defined __sun) || defined XCRYPT_VERSION_NUM
/* http://www.crypticide.com/dropsafe/article/1389 */
/*
* Actually the maximum salt length is arbitrary, but Solaris by default
* always uses 8 characters:
* http://cvs.opensolaris.org/source/xref/onnv/onnv-gate/ \
* usr/src/lib/crypt_modules/sunmd5/sunmd5.c#crypt_gensalt_impl
*/
{ "sunmd5", "$md5$", 8, 8, 1, "SunMD5" },
#endif
{ "md5crypt", "$1$", 8, 8, 0, "MD5" },
#ifdef HAVE_BSDICRYPT
{ "bsdicrypt", "_", 0, 0, 0,
N_("BSDI extended DES-based crypt(3)") },
#endif
{ "descrypt", "", 2, 2, 0,
N_("standard 56 bit DES-based crypt(3)") },
#if XCRYPT_VERSION_NUM >= ((4 << 16) | 5)
{ "sm3crypt", "$sm3$", 0, 0, 1, "ShangMi 3" },
{ "sm3_yescrypt", "$sm3y$", 0, 0, 1, "ShangMi 3 Yescrypt" },
#endif
#if XCRYPT_VERSION_NUM >= ((4 << 16) | 4)
{ "gost_yescrypt", "$gy$", 0, 0, 1, "GOST Yescrypt" },
#endif
#if defined FreeBSD || defined XCRYPT_VERSION_NUM
{ "nt", "$3$", 0, 0, 0, "NT-Hash" },
#endif
{ NULL, NULL, 0, 0, 0, NULL }
};
void generate_salt(char *buf, const unsigned int len);
void display_help(void);
void generate_salt(char *const buf, const unsigned int len);
void *get_random_bytes(const unsigned int len);
void NORETURN display_help(int error);
void display_version(void);
void display_algorithms(void);
void display_methods(void);
char *read_line(FILE *fp);
int main(int argc, char *argv[])
{
int ch;
int ch, i;
int password_fd = -1;
unsigned int i, salt_len = 0;
unsigned int salt_minlen = 0;
unsigned int salt_maxlen = 0;
unsigned int rounds_support = 0;
const char *salt_prefix = NULL;
const char *salt_arg = NULL;
unsigned int rounds = 0;
char *salt = NULL;
char rounds_str[30];
char *password = NULL;
#ifdef ENABLE_NLS
@ -80,21 +177,42 @@ int main(int argc, char *argv[])
textdomain(NLS_CAT_NAME);
#endif
while ((ch = GETOPT_LONGISH(argc, argv, "hH:P:sS:V", longopts, 0)) > 0) {
/* prepend options from environment */
argv = merge_args(getenv("MKPASSWD_OPTIONS"), argv, &argc);
while ((ch = GETOPT_LONGISH(argc, argv, "hH:m:5P:R:sS:V", longopts, NULL))
> 0) {
switch (ch) {
case '5':
optarg = (char *) "md5crypt";
/* fall through */
case 'm':
case 'H':
if (!optarg || strcasecmp("help", optarg) == 0) {
display_algorithms();
if (!optarg || strcaseeq("help", optarg)) {
display_methods();
exit(0);
}
for (i = 0; salt_prefixes[i].algo != NULL; i++)
if (strcasecmp(salt_prefixes[i].algo, optarg) == 0) {
salt_prefix = salt_prefixes[i].prefix;
salt_len = salt_prefixes[i].len;
#if defined HAVE_LINUX_CRYPT_GENSALT || defined HAVE_SOLARIS_CRYPT_GENSALT
if (optarg[0] == '$'
&& strlen(optarg) > 2
&& *(optarg + strlen(optarg) - 1) == '$') {
salt_prefix = NOFAIL(strdup(optarg));
salt_minlen = 0;
salt_maxlen = 0;
rounds_support = 0;
break;
}
#endif
for (i = 0; methods[i].method != NULL; i++)
if (strcaseeq(methods[i].method, optarg)) {
salt_prefix = methods[i].prefix;
salt_minlen = methods[i].minlen;
salt_maxlen = methods[i].maxlen;
rounds_support = methods[i].rounds;
break;
}
if (!salt_prefix) {
fprintf(stderr, _("Invalid hash type '%s'.\n"), optarg);
fprintf(stderr, _("Invalid method '%s'.\n"), optarg);
exit(1);
}
break;
@ -108,18 +226,30 @@ int main(int argc, char *argv[])
}
}
break;
case 'R':
{
char *p;
long r;
r = strtol(optarg, &p, 10);
if (p == NULL || *p != '\0' || r < 0) {
fprintf(stderr, _("Invalid number '%s'.\n"), optarg);
exit(1);
}
rounds = r;
}
break;
case 's':
password_fd = 0;
break;
case 'S':
salt = optarg;
salt_arg = optarg;
break;
case 'V':
display_version();
exit(0);
case 'h':
display_help();
exit(0);
display_help(EXIT_SUCCESS);
default:
fprintf(stderr, _("Try '%s --help' for more information.\n"),
argv[0]);
@ -129,136 +259,344 @@ int main(int argc, char *argv[])
argc -= optind;
argv += optind;
if (argc == 2 && !salt) {
if (argc == 2 && !salt_arg) {
password = argv[0];
salt = argv[1];
salt_arg = argv[1];
} else if (argc == 1) {
password = argv[0];
} else if (argc == 0) {
} else {
display_help();
exit(1);
display_help(EXIT_FAILURE);
}
/* default: DES password */
if (!salt_len) {
salt_len = salt_prefixes[0].len;
salt_prefix = salt_prefixes[0].prefix;
/* default: DES password, or else whatever crypt_gensalt chooses */
if (!salt_prefix) {
salt_minlen = methods[0].minlen;
salt_maxlen = methods[0].maxlen;
salt_prefix = methods[0].prefix;
rounds_support = methods[0].rounds;
}
if (salt) {
unsigned int c = strlen(salt);
if (c != salt_len) {
fprintf(stderr,
_("Wrong salt length: %d byte(s) when %d expected.\n"),
c, salt_len);
if (!salt_prefix) {
/* NULL means that crypt_gensalt will choose one later */
rounds_str[0] = '\0';
} else if (rounds_support == 2) {
/* bcrypt strings always contain the rounds number */
if (rounds <= 5)
rounds = 5;
/* actually it is the logarithm of the number of rounds */
snprintf(rounds_str, sizeof(rounds_str), "%02u$", rounds);
} else if (rounds_support && rounds)
snprintf(rounds_str, sizeof(rounds_str), "rounds=%u$", rounds);
else
rounds_str[0] = '\0';
if (salt_arg && salt_arg[0] == '$')
/* the salt begins with the prefix which specifies the method */
salt = NOFAIL(strdup(salt_arg));
else if (salt_prefix && salt_arg && strchr(salt_arg, '$')) {
/* looks like a salt, but with no initial method prefix */
salt = NOFAIL(malloc(strlen(salt_prefix) + strlen(rounds_str)
+ strlen(salt_arg) + 1));
*salt = '\0';
strcat(salt, salt_prefix);
strcat(salt, rounds_str);
strcat(salt, salt_arg);
} else if (salt_arg && salt_arg[0] != '\0') {
/* just the salt string with no metadata */
unsigned int c = strlen(salt_arg);
if (c < salt_minlen || c > salt_maxlen) {
if (salt_minlen == salt_maxlen)
fprintf(stderr, ngettext(
"Wrong salt length: %d byte when %d expected.\n",
"Wrong salt length: %d bytes when %d expected.\n", c),
c, salt_maxlen);
else
fprintf(stderr, ngettext(
"Wrong salt length: %d byte when %d <= n <= %d"
" expected.\n",
"Wrong salt length: %d bytes when %d <= n <= %d"
" expected.\n", c),
c, salt_minlen, salt_maxlen);
exit(1);
}
while (c-- > 0)
if (strchr(valid_salts, salt[c]) == NULL) {
fprintf(stderr, _("Illegal salt character '%c'.\n"), salt[c]);
while (c-- > 0) {
if (strchr(valid_salts, salt_arg[c]) == NULL) {
fprintf(stderr, _("Illegal salt character '%c'.\n"),
salt_arg[c]);
exit(1);
}
}
/*
* Build the actual argument to crypt(3) by concatenating the
* method prefix, the rounds metadata (if any) and the salt string.
*/
if (!salt_prefix)
salt_prefix = "";
salt = NOFAIL(malloc(strlen(salt_prefix) + strlen(rounds_str)
+ strlen(salt_arg) + 1));
*salt = '\0';
strcat(salt, salt_prefix);
strcat(salt, rounds_str);
strcat(salt, salt_arg);
} else {
salt = malloc(salt_len + 1);
generate_salt(salt, salt_len);
/* no salt was specified by the user, so generate one */
#ifdef HAVE_SOLARIS_CRYPT_GENSALT
salt = crypt_gensalt(salt_prefix, NULL);
if (!salt) {
perror("crypt_gensalt");
exit(2);
}
#elif defined HAVE_LINUX_CRYPT_GENSALT
void *entropy = get_random_bytes(64);
salt = crypt_gensalt(salt_prefix, rounds, entropy, 64);
if (!salt) {
perror("crypt_gensalt");
exit(2);
}
if (entropy)
free(entropy);
#else
unsigned int salt_len = salt_maxlen;
if (salt_minlen != salt_maxlen) { /* salt length can vary */
srand(time(NULL) + getpid());
salt_len = rand() % (salt_maxlen - salt_minlen + 1) + salt_minlen;
}
salt = NOFAIL(malloc(strlen(salt_prefix) + strlen(rounds_str)
+ salt_len + 1));
*salt = '\0';
strcat(salt, salt_prefix);
strcat(salt, rounds_str);
generate_salt(salt + strlen(salt), salt_len);
#endif
}
if (!password) {
if (password_fd != -1) {
FILE *fp;
unsigned char *p;
if (password) {
} else if (password_fd != -1) {
FILE *fp;
if (isatty(password_fd))
fprintf(stderr, _("Password: "));
password = malloc(128);
fp = fdopen(password_fd, "r");
if (!fp) {
perror("fdopen");
exit(2);
}
if (!fgets(password, 128, fp)) {
perror("fgets");
exit(2);
}
p = password;
while (*p) {
if (*p == '\n') {
*p = '\0';
break;
}
/* which characters are valid? */
if (*p > 0x7f) {
fprintf(stderr,
_("Illegal password character '0x%hhx'.\n"), *p);
exit(1);
}
p++;
}
} else {
password = getpass(_("Password: "));
if (!password) {
perror("getpass");
exit(2);
}
if (isatty(password_fd))
fprintf(stderr, _("Password: "));
fp = fdopen(password_fd, "r");
if (!fp) {
perror("fdopen");
exit(2);
}
password = read_line(fp);
if (!password) {
perror("fgetc");
exit(2);
}
} else {
#ifdef HAVE_READPASSPHRASE
const size_t size = 128;
password = NOFAIL(malloc(size));
if (!readpassphrase(_("Password: "), password, size, 0)) {
perror("readpassphrase");
exit(2);
}
#else
password = getpass(_("Password: "));
if (!password) {
perror("getpass");
exit(2);
}
#endif
}
{
unsigned char *pw;
pw = malloc(strlen(salt_prefix) + strlen(salt) + 1);
*pw = '\0';
strcat(pw, salt_prefix);
strcat(pw, salt);
printf("%s\n", crypt(password, pw));
const char *result;
result = crypt(password, salt);
/* xcrypt returns "*0" on errors */
if (!result || result[0] == '*') {
if (CRYPT_SETS_ERRNO)
perror("crypt");
else
fprintf(stderr, "crypt failed.\n");
exit(2);
}
if (!strneq(result, salt, strlen(salt))) {
fprintf(stderr, _("Method not supported by crypt(3).\n"));
exit(2);
}
printf("%s\n", result);
}
exit(0);
}
void generate_salt(char *buf, const unsigned int len)
#ifdef CRYPT_GENSALT_IMPLEMENTS_AUTO_ENTROPY
/*
* If NULL is passed to the libxcrypt version of crypt_gensalt() instead of
* the buffer of random bytes then the function will obtain by itself the
* required randomness.
*/
inline void *get_random_bytes(const unsigned int count)
{
(void)(count); /* suppress the "unused parameter" warning */
return NULL;
}
#elif defined HAVE_SOLARIS_CRYPT_GENSALT
/*
* The Solaris version of crypt_gensalt() gathers the random data by itself.
*/
#elif defined RANDOM_DEVICE || defined HAVE_ARC4RANDOM_BUF || defined HAVE_GETENTROPY
void *get_random_bytes(const unsigned int count)
{
char *buf = NOFAIL(malloc(count));
#if defined HAVE_ARC4RANDOM_BUF
arc4random_buf(buf, count);
#elif defined HAVE_GETENTROPY
if (getentropy(buf, count) < 0)
perror("getentropy");
#else
int fd;
ssize_t bytes_read;
fd = open(RANDOM_DEVICE, O_RDONLY);
if (fd < 0) {
perror("open(" RANDOM_DEVICE ")");
exit(2);
}
bytes_read = read(fd, buf, count);
if (bytes_read < 0) {
perror("read(" RANDOM_DEVICE ")");
exit(2);
}
if (bytes_read != count) {
fprintf(stderr, "Short read of %s.\n", RANDOM_DEVICE);
exit(2);
}
close(fd);
#endif
return buf;
}
void generate_salt(char *const buf, const unsigned int len)
{
unsigned int i;
unsigned char *entropy;
entropy = get_random_bytes(len);
for (i = 0; i < len; i++)
buf[i] = valid_salts[entropy[i] % (sizeof valid_salts - 1)];
buf[i] = '\0';
free(entropy);
}
#else /* RANDOM_DEVICE || HAVE_ARC4RANDOM_BUF || HAVE_GETENTROPY */
void generate_salt(char *const buf, const unsigned int len)
{
unsigned int i;
# ifdef HAVE_GETTIMEOFDAY
struct timeval tv;
gettimeofday(&tv, NULL);
srand(tv.tv_sec ^ tv.tv_usec);
# else /* HAVE_GETTIMEOFDAY */
# warning "This system lacks a strong enough random numbers generator!"
/*
* The possible values of time over one year are 31536000, which is
* two orders of magnitude less than the allowed entropy range (2^32).
*/
srand(time(NULL) + getpid());
# endif /* HAVE_GETTIMEOFDAY */
for (i = 0; i < len; i++)
buf[i] = valid_salts[rand() % (sizeof valid_salts - 1)];
buf[i] = '\0';
}
void display_help(void)
#endif /* RANDOM_DEVICE || HAVE_ARC4RANDOM_BUF || HAVE_GETENTROPY*/
void NORETURN display_help(int error)
{
fprintf(stderr, _("Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
fprintf((EXIT_SUCCESS == error) ? stdout : stderr,
_("Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n\n"));
fprintf(stderr, _(
" -H, --hash=TYPE select hash TYPE\n"
fprintf((EXIT_SUCCESS == error) ? stdout : stderr, _(
" -m, --method=TYPE select method TYPE\n"
" -5 like --method=md5crypt\n"
" -S, --salt=SALT use the specified SALT\n"
));
fprintf((EXIT_SUCCESS == error) ? stdout : stderr, _(
" -R, --rounds=NUMBER use the specified NUMBER of rounds\n"
" -P, --password-fd=NUM read the password from file descriptor NUM\n"
" instead of /dev/tty\n"
" -s, --stdin like --password-fd=0\n"
));
fprintf((EXIT_SUCCESS == error) ? stdout : stderr, _(
" -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"
"If TYPE is 'help', available algorithms are printed.\n"
"If TYPE is 'help', available methods are printed.\n"
"\n"
"Report bugs to %s.\n"), "<md+whois@linux.it>");
exit(error);
}
void display_version(void)
{
printf("GNU mkpasswd %s\n\n", VERSION);
puts("Copyright (C) 2001-2004 Marco d'Itri\n"
printf("mkpasswd %s\n\n", VERSION);
puts("Copyright (C) Marco d'Itri\n"
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.");
}
void display_algorithms(void)
void display_methods(void)
{
int i;
unsigned int i;
printf(_("Available algorithms:\n"));
for (i = 0; salt_prefixes[i].algo != NULL; i++)
printf("%s%s\n", salt_prefixes[i].algo, salt_prefixes[i].desc);
printf(_("Available methods:\n"));
for (i = 0; methods[i].method != NULL; i++)
if (methods[i].desc)
printf("%-15s %s\n", methods[i].method, methods[i].desc);
}
char *read_line(FILE *fp) {
size_t size = 128;
int ch;
size_t pos = 0;
char *password;
password = NOFAIL(malloc(size));
while ((ch = fgetc(fp)) != EOF) {
if (ch == '\n' || ch == '\r')
break;
password[pos++] = ch;
if (pos == size) {
size += 128;
password = NOFAIL(realloc(password, size));
}
}
password[pos] = '\0';
if (ferror(fp)) {
free(password);
return NULL;
}
return password;
}

1110
new_gtlds_list Normal file

File diff suppressed because it is too large Load Diff

25
nic_handles_list Normal file
View File

@ -0,0 +1,25 @@
-arin whois.arin.net
-ripe whois.ripe.net
-mnt whois.ripe.net
-lacnic whois.lacnic.net
-afrinic whois.afrinic.net
-ap whois.apnic.net
-cznic whois.nic.cz
-dk whois.punktum.dk
-il whois.isoc.org.il
-is whois.isnic.is
-kg whois.kg
-coop whois.nic.coop
-frnic whois.nic.fr
-lrms whois.afilias.info
-nicat whois.nic.at
-nicci whois.nic.ci
-irnic whois.nic.ir
-norid whois.norid.no
-tel whois.nic.tel
-adnic whois.nic.org.uy
-sixxs whois.sixxs.net
-uanic whois.ua
-bzh whois.nic.bzh
-ru whois.tcinet.ru
-su whois.tcinet.ru

View File

@ -1,9 +1,16 @@
INSTALL= /usr/bin/install -c
INSTALLNLSDIR=$(BASEDIR)/usr/share/locale
prefix = /usr
ifdef DESTDIR
BASEDIR := $(DESTDIR)
endif
INSTALL= install
INSTALLNLSDIR=$(BASEDIR)$(prefix)/share/locale
PACKAGE = whois
CATALOGS = de.mo el.mo es.mo fr.mo it.mo no.mo pl.mo
CATALOGS = cs.mo da.mo de.mo el.mo es.mo eu.mo fi.mo fr.mo it.mo ja.mo ka.mo pl.mo pt_BR.mo ru.mo tr.mo zh_CN.mo
POTFILES=../whois.c ../mkpasswd.c

363
po/cs.po Normal file
View File

@ -0,0 +1,363 @@
# Czech translation for whois
# Petr Pisar <petr.pisar@atlas.cz>, 2008, 2009, 2010, 2012, 2013, 2019.
#
msgid ""
msgstr ""
"Project-Id-Version: whois 5.4.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-01-03 17:52+0100\n"
"PO-Revision-Date: 2019-06-28 06:05+02:00\n"
"Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#: ../whois.c:240
#, c-format
msgid ""
"Version %s.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
"Verze %s.\n"
"\n"
"Chyby programu hlaste na %s (anglicky), chyby překladu na\n"
"<translation-team-cs@lists.sourceforge.net> (česky).\n"
#: ../whois.c:329
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
"Tato TLD nemá žádný whoisový server, ale k whoisové databázi se lze dostat na"
#: ../whois.c:334
msgid "This TLD has no whois server."
msgstr "Tato TLDnemá žádný whoisový server."
#: ../whois.c:337
msgid "No whois server is known for this kind of object."
msgstr "Pro tento druh objektu není znám žádný whoisový server."
#: ../whois.c:340
msgid "Unknown AS number or IP network. Please upgrade this program."
msgstr ""
"Neznámé číslo AS nebo neznámá IP síť.\n"
"Prosím, pořiďte si novou verzi tohoto programu."
#: ../whois.c:344 ../whois.c:353 ../whois.c:388 ../whois.c:405
#, c-format
msgid "Using server %s.\n"
msgstr "Používá se server %s.\n"
#: ../whois.c:362
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a 6to4 IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Dotazuji se na IPv4 konec %s příslušející 6to4 IPv6 adrese.\n"
"\n"
#: ../whois.c:369
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a Teredo IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Dotazuji se na IPv4 konec %s příslušející Teredo IPv6 adrese.\n"
"\n"
#: ../whois.c:406
#, c-format
msgid ""
"Query string: \"%s\"\n"
"\n"
msgstr ""
"Znění dotazu: „%s“\n"
"\n"
#: ../whois.c:416
#, c-format
msgid ""
"\n"
"\n"
"Found a referral to %s.\n"
"\n"
msgstr ""
"\n"
"\n"
"Nalezen odkaz na %s.\n"
"\n"
#: ../whois.c:458 ../whois.c:461
#, c-format
msgid "Cannot parse this line: %s"
msgstr "Tento řádek nemohu rozebrat:%s"
#: ../whois.c:650
msgid "Warning: RIPE flags used with a traditional server."
msgstr "Varování:RIPE příznak použit s tradičním serverem."
#: ../whois.c:823 ../whois.c:939
msgid ""
"Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n"
msgstr ""
"Katastrofální chyba:text prohlášení byl pozměněn.\n"
"Prosím, pořiďte si novou verzi tohoto programu.\n"
#: ../whois.c:1040
#, c-format
msgid "Host %s not found."
msgstr "Jméno počítače %s nenalezeno."
#: ../whois.c:1050
#, c-format
msgid "%s/tcp: unknown service"
msgstr "%s/TCP:neznámá služba"
#: ../whois.c:1125
msgid "Timeout."
msgstr "Čas vypršel."
#: ../whois.c:1131
#, c-format
msgid "Interrupted by signal %d..."
msgstr "Přerušeno signálem %d…"
#: ../whois.c:1499
#, c-format
msgid ""
"Usage: whois [OPTION]... OBJECT...\n"
"\n"
"-h HOST, --host HOST connect to server HOST\n"
"-p PORT, --port PORT connect to PORT\n"
"-I query whois.iana.org and follow its referral\n"
"-H hide legal disclaimers\n"
msgstr ""
"Použití: whois [PŘEPÍNAČ]… OBJEKT…\n"
"\n"
"-h STROJ, --host STROJ připojí se na server STROJ\n"
"-p PORT, --port PORT připojí se na PORT\n"
"-I dotáže se whois.iana.org a následuje tamní odkazy\n"
"-H skryje právní prohlášení\n"
#: ../whois.c:1506
#, fuzzy, c-format
msgid ""
" --verbose explain what is being done\n"
" --no-recursion disable recursion from registry to registrar servers\n"
" --help display this help and exit\n"
" --version output version information and exit\n"
"\n"
msgstr ""
" --verbose vysvětlí, co se právě provádí\n"
" --help zobrazí tuto nápovědu a skončí\n"
" --version vypíše informace o verzi a skončí\n"
"\n"
#: ../whois.c:1513
#, c-format
msgid ""
"These flags are supported by whois.ripe.net and some RIPE-like servers:\n"
"-l find the one level less specific match\n"
"-L find all levels less specific matches\n"
"-m find all one level more specific matches\n"
"-M find all levels of more specific matches\n"
msgstr ""
"Tyto přepínače jsou podporovány serverem whois.ripe.net a některými\n"
"podobnými jemu:\n"
"-l nalezne o jednu úroveň širší shodu\n"
"-L nalezne všechny širší shody\n"
"-m nalezne všechny nejbližší užší shody\n"
"-M nalezne všechny užší shody\n"
#: ../whois.c:1520
#, c-format
msgid ""
"-c find the smallest match containing a mnt-irt "
"attribute\n"
"-x exact match\n"
"-b return brief IP address ranges with abuse contact\n"
msgstr ""
"-c nalezne nejužší shodu obsahující atribut mnt-irt\n"
"-x přesná shoda\n"
"-b vrátí stručný rozsah IP adres s kontaktem na "
"stížnosti\n"
#: ../whois.c:1525
#, c-format
msgid ""
"-B turn off object filtering (show email addresses)\n"
"-G turn off grouping of associated objects\n"
"-d return DNS reverse delegation objects too\n"
msgstr ""
"-B vypne filtrování objektů (zobrazuje e-mailové "
"adresy)\n"
"-G vypne seskupování přidružených objektů\n"
"-d vrací též objekty delegace reverzního DNS\n"
#: ../whois.c:1530
#, c-format
msgid ""
"-i ATTR[,ATTR]... do an inverse look-up for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned\n"
"-r turn off recursive look-ups for contact information\n"
msgstr ""
"-i ATR[,ATR]… provede inverzní dotaz k zadaným ATRIBUTŮM\n"
"-T TYP[,TYP]… dotáže se jen na objekty zadaného TYPU\n"
"-K vrátí pouze primární klíče\n"
"-r vypne rekurzivní dohledávání kontaktů\n"
#: ../whois.c:1536
#, c-format
msgid ""
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a also search all the mirrored databases\n"
"-s SOURCE[,SOURCE]... search the database mirrored from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
msgstr ""
"-R vynutí zobrazení místní kopie doménového objektu,\n"
" i když obsahuje odkaz\n"
"-a prohledá rovněž všechny zrcadlené databáze\n"
"-s ZDROJ[,ZDROJ]… prohledá databázi zrcadlenou ze ZDROJE\n"
"-g ZDROJ:PRVNÍ-POSLEDNÍ nalezne aktualizace ze ZDROJE se sériovým číslem\n"
#: ../whois.c:1543
#, c-format
msgid ""
"-t TYPE request template for object of TYPE\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info\n"
msgstr ""
" PRVNÍ až POSLEDNÍ\n"
"-t TYP požaduje šablonu pro objekt druhu TYP\n"
"-v TYP požaduje podrobnou šablonu pro objekt druhu TYP\n"
"-q [version|sources|types]\n"
" dotáže se na zadané informace o serveru („version“ "
"\n"
" verze, „sources“ zdroje, „types“ typy)\n"
#: ../mkpasswd.c:135
msgid "BSDI extended DES-based crypt(3)"
msgstr "rozšířený BSDI crypt(3) založený na šifře DES"
#: ../mkpasswd.c:138
msgid "standard 56 bit DES-based crypt(3)"
msgstr "standardní crypt(3) založený na 56bitové šifře DES"
#: ../mkpasswd.c:207
#, c-format
msgid "Invalid method '%s'.\n"
msgstr "Neplatná metoda „%s“.\n"
#: ../mkpasswd.c:216 ../mkpasswd.c:228
#, c-format
msgid "Invalid number '%s'.\n"
msgstr "Neplatné číslo „%s“.\n"
#: ../mkpasswd.c:246
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "Pro podrobnosti zkuste příkaz „%s --help“.\n"
#: ../mkpasswd.c:292
#, c-format
msgid "Wrong salt length: %d byte when %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d expected.\n"
msgstr[0] "Chybná délka soli: %d bajt, zatímco očekáváno %d.\n"
msgstr[1] "Chybná délka soli: %d bajty, zatímco očekáváno %d.\n"
msgstr[2] "Chybná délka soli: %d bajtů, zatímco očekáváno %d.\n"
#: ../mkpasswd.c:297
#, c-format
msgid "Wrong salt length: %d byte when %d <= n <= %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d <= n <= %d expected.\n"
msgstr[0] "Chybná délka soli: %d bajt, zatímco očekáváno %d <= n <= %d.\n"
msgstr[1] "Chybná délka soli: %d bajty, zatímco očekáváno %d <= n <= %d.\n"
msgstr[2] "Chybná délka soli: %d bajtů, zatímco očekáváno %d <= n <= %d.\n"
#: ../mkpasswd.c:306
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr "Neplatný znak v soli „%c“.\n"
#: ../mkpasswd.c:357 ../mkpasswd.c:370
#, c-format
msgid "Password: "
msgstr "Heslo: "
#: ../mkpasswd.c:389
#, c-format
msgid "Method not supported by crypt(3).\n"
msgstr "Metoda není podporována funkcí crypt(3).\n"
#: ../mkpasswd.c:497
#, c-format
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
"\n"
msgstr ""
"Použití: mkpasswd [VOLBY]… [HESLO [SŮL]]\n"
"Zašifruje HESLOpomocí funkce crypt(3).\n"
"\n"
#: ../mkpasswd.c:500
#, c-format
msgid ""
" -m, --method=TYPE select method TYPE\n"
" -5 like --method=md5crypt\n"
" -S, --salt=SALT use the specified SALT\n"
msgstr ""
" -m, --method=DRUH vybere DRUH metody\n"
" -5 stejné jako --method=md5crypt\n"
" -S, --salt=SŮL použije zadanou SŮL\n"
#: ../mkpasswd.c:505
#, c-format
msgid ""
" -R, --rounds=NUMBER use the specified NUMBER of rounds\n"
" -P, --password-fd=NUM read the password from file descriptor NUM\n"
" instead of /dev/tty\n"
" -s, --stdin like --password-fd=0\n"
msgstr ""
" -R, --rounds=POČET použije zadaný POČET kol\n"
" -P, --password-fd=Č přečte heslo z deskriptoru souboru Č\n"
" místo z /dev/tty\n"
" -s, --stdin jako --password-fd=0\n"
#: ../mkpasswd.c:511
#, c-format
msgid ""
" -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"
"If TYPE is 'help', available methods are printed.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
" -h, --help zobrazí tuto nápovědu a skončí\n"
" -V, --version vypíše informace o verzi a skončí\n"
"\n"
"Chybí-li HESLO, bude o něj požádáno interaktivně.\n"
"Nebude-li zadána SŮL, vygeneruje se náhodná.\n"
"Bude-li DRUH „help“, vypíšou se dostupné metody.\n"
"\n"
"Chyby programu hlaste na %s (anglicky), chyby překladu na\n"
"<translation-team-cs@lists.sourceforge.net> (česky).\n"
#: ../mkpasswd.c:534
#, c-format
msgid "Available methods:\n"
msgstr "Dostupné metody:\n"

357
po/da.po Normal file
View File

@ -0,0 +1,357 @@
# Translation of whois to Danish.
# Copyright (C) 2001 Simon Richter <Simon.Richter@in.tum.de>, 2004 Adrian
# Bunk <bunk@fs.tum.de>, 2010 Chris Leick <c.leick@vollbio.de>.
# This file is distributed under the same license as the whois package.
# Joe Hansen <joedalton2@yahoo.dk>, 2011, 2013, 2020.
#
msgid ""
msgstr ""
"Project-Id-Version: whois 5.5.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-01-03 17:52+0100\n"
"PO-Revision-Date: 2020-03-08 17:30+01:00\n"
"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <debian-l10n-danish@lists.debian.org>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
#: ../whois.c:240
#, c-format
msgid ""
"Version %s.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
"Version %s.\n"
"\n"
"Rapporter fejl til %s (på engelsk).\n"
#: ../whois.c:329
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr "Denne TLD har ingen whois-server, men du kan tilgå whois-databasen på"
#: ../whois.c:334
msgid "This TLD has no whois server."
msgstr "Denne TLD har ingen whois-server."
#: ../whois.c:337
msgid "No whois server is known for this kind of object."
msgstr "Ingen whois-server er kendt for denne type af objekt."
#: ../whois.c:340
msgid "Unknown AS number or IP network. Please upgrade this program."
msgstr "Ukendt AS- eller IP-netværksnummer. Opgrader venligst dette program."
#: ../whois.c:344 ../whois.c:353 ../whois.c:388 ../whois.c:405
#, c-format
msgid "Using server %s.\n"
msgstr "Bruger server %s.\n"
#: ../whois.c:362
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a 6to4 IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Forespørger efter IPv4-slutpunktet %s for en 6to4 IPv6-adresse.\n"
"\n"
#: ../whois.c:369
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a Teredo IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Forespørger efter IPv4-slutpunktet %s for en Teredo IPv6-adresse.\n"
"\n"
#: ../whois.c:406
#, c-format
msgid ""
"Query string: \"%s\"\n"
"\n"
msgstr ""
"Forespørgelsesstreng: »%s«\n"
"\n"
#: ../whois.c:416
#, c-format
msgid ""
"\n"
"\n"
"Found a referral to %s.\n"
"\n"
msgstr ""
"\n"
"\n"
"Fandt en henvisning til %s.\n"
"\n"
#: ../whois.c:458 ../whois.c:461
#, c-format
msgid "Cannot parse this line: %s"
msgstr "Kan ikke fortolke denne linje: %s"
#: ../whois.c:650
msgid "Warning: RIPE flags used with a traditional server."
msgstr "Advarsel: RIPE-flag brugt med en traditionel server."
#: ../whois.c:823 ../whois.c:939
msgid ""
"Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n"
msgstr ""
"Katastrofal fejl: Teksten for ansvarsfraskrivelse er blevet ændret.\n"
"Opgrader venligst dette program.\n"
#: ../whois.c:1040
#, c-format
msgid "Host %s not found."
msgstr "Vært %s er ikke fundet."
#: ../whois.c:1050
#, c-format
msgid "%s/tcp: unknown service"
msgstr "%s/tcp: Ukendt tjeneste"
#: ../whois.c:1125
msgid "Timeout."
msgstr "Tidsudløb."
#: ../whois.c:1131
#, c-format
msgid "Interrupted by signal %d..."
msgstr "Afbrudt af signal %d ..."
#: ../whois.c:1499
#, c-format
msgid ""
"Usage: whois [OPTION]... OBJECT...\n"
"\n"
"-h HOST, --host HOST connect to server HOST\n"
"-p PORT, --port PORT connect to PORT\n"
"-I query whois.iana.org and follow its referral\n"
"-H hide legal disclaimers\n"
msgstr ""
"Brug: whois [TILVALG]... OBJEKT...\n"
"\n"
"-h VÆRT, --host VÆRT forbind til server-VÆRT\n"
"-p PORT, --port PORT forbind til PORT\n"
"-I forespørg whois.iana.org og følg henvisningen\n"
"-H skjul juridisk ansvarsfraskrivelse\n"
#: ../whois.c:1506
#, fuzzy, c-format
msgid ""
" --verbose explain what is being done\n"
" --no-recursion disable recursion from registry to registrar servers\n"
" --help display this help and exit\n"
" --version output version information and exit\n"
"\n"
msgstr ""
" --verbose forklar hvad der sker\n"
" --help vis denne hjælpetekst og afslut\n"
" --version vis versionsinformation og afslut\n"
"\n"
#: ../whois.c:1513
#, c-format
msgid ""
"These flags are supported by whois.ripe.net and some RIPE-like servers:\n"
"-l find the one level less specific match\n"
"-L find all levels less specific matches\n"
"-m find all one level more specific matches\n"
"-M find all levels of more specific matches\n"
msgstr ""
"Disse flag er understøttet af whois.ripe.net og nogle RIPE-lignende "
"servere:\n"
"-l et niveau mindre specifik opslag\n"
"-L find alle mindre specifikke resultater\n"
"-m find første niveau mere specifikke resultater\n"
"-M find alle mere specifikke resultater\n"
#: ../whois.c:1520
#, c-format
msgid ""
"-c find the smallest match containing a mnt-irt "
"attribute\n"
"-x exact match\n"
"-b return brief IP address ranges with abuse contact\n"
msgstr ""
"-c find det mindste resultat der indeholder attributten\n"
" mnt-irt\n"
"-x præcis match\n"
"-b returner korte IP-adresseintervaller med "
"misbrugskontakt\n"
#: ../whois.c:1525
#, c-format
msgid ""
"-B turn off object filtering (show email addresses)\n"
"-G turn off grouping of associated objects\n"
"-d return DNS reverse delegation objects too\n"
msgstr ""
"-B sluk for objektfiltrering (vis e-post-adresser)\n"
"-G sluk for gruppering af associerede objekter\n"
"-d returner også DNS-omvendte delegationsobjekter\n"
#: ../whois.c:1530
#, c-format
msgid ""
"-i ATTR[,ATTR]... do an inverse look-up for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned\n"
"-r turn off recursive look-ups for contact information\n"
msgstr ""
"-i ATTR[,ATTR]... foretag et omvendt opslag for angivne ATTRibutter\n"
"-T TYPE[,TYPE]... kig kun efter objekter i form af TYPE\n"
"-K kun primære nøgler returneres\n"
"-r deaktiver omvendte opslag for kontaktinformation\n"
#: ../whois.c:1536
#, c-format
msgid ""
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a also search all the mirrored databases\n"
"-s SOURCE[,SOURCE]... search the database mirrored from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
msgstr ""
"-R fremtving visning af lokal kopi af domæneobjektet "
"selv\n"
" hvis det indeholder henvisning\n"
"-a søg i alle databaser\n"
"-s KILDE[,KILDE]... søg databasen fra KILDE\n"
"-g KILDE:FØRST-SIDST find opdateringer fra KILDE fra seriel FØRST til "
"SIDST\n"
#: ../whois.c:1543
#, c-format
msgid ""
"-t TYPE request template for object of TYPE\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info\n"
msgstr ""
"-t TYPE anmod om skabelon for objekttypen TYPE\n"
"-v TYPE anmod om uddybende skabelon for objekttypen TYPE\n"
"-q [version|kilder|typer] forespørg angivet serverinfo\n"
#: ../mkpasswd.c:135
msgid "BSDI extended DES-based crypt(3)"
msgstr "BSDI-udvidet DES-baseret Crypt(3)"
#: ../mkpasswd.c:138
msgid "standard 56 bit DES-based crypt(3)"
msgstr "standard 56-bit DES-baseret Crypt(3)"
#: ../mkpasswd.c:207
#, c-format
msgid "Invalid method '%s'.\n"
msgstr "Ugyldig metode »%s«\n"
#: ../mkpasswd.c:216 ../mkpasswd.c:228
#, c-format
msgid "Invalid number '%s'.\n"
msgstr "Ugyldigt tal »%s«.\n"
#: ../mkpasswd.c:246
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "Prøv »%s --help« for yderligere information.\n"
#: ../mkpasswd.c:292
#, c-format
msgid "Wrong salt length: %d byte when %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d expected.\n"
msgstr[0] "Forkert salt-længde: %d byte men %d var forventet.\n"
msgstr[1] "Forkert salt-længde: %d byte men %d var forventet.\n"
#: ../mkpasswd.c:297
#, c-format
msgid "Wrong salt length: %d byte when %d <= n <= %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d <= n <= %d expected.\n"
msgstr[0] "Forkert salt-længde: %d byte men %d <= n <= %d var forventet.\n"
msgstr[1] "Forkert salt-længde: %d byte men %d <= n <= %d var forventet.\n"
#: ../mkpasswd.c:306
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr "Ugyldigt salt-tegn »%c«.\n"
#: ../mkpasswd.c:357 ../mkpasswd.c:370
#, c-format
msgid "Password: "
msgstr "Adgangskode: "
#: ../mkpasswd.c:389
#, c-format
msgid "Method not supported by crypt(3).\n"
msgstr "Metoden er ikke understøttet af crypt(3).\n"
#: ../mkpasswd.c:497
#, c-format
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
"\n"
msgstr ""
"Brug: mkpasswd [TILVALG] ... [ADGANGSKODE] [SALT]]\n"
"Krypterer ADGANGSKODEN med crypt(3).\n"
"\n"
#: ../mkpasswd.c:500
#, c-format
msgid ""
" -m, --method=TYPE select method TYPE\n"
" -5 like --method=md5crypt\n"
" -S, --salt=SALT use the specified SALT\n"
msgstr ""
" -m, --method=TYPE vælg metoden TYPE\n"
" -5 som --method=md5crypt\n"
" -S, --salt=SALT brug den angivne SALT\n"
#: ../mkpasswd.c:505
#, c-format
msgid ""
" -R, --rounds=NUMBER use the specified NUMBER of rounds\n"
" -P, --password-fd=NUM read the password from file descriptor NUM\n"
" instead of /dev/tty\n"
" -s, --stdin like --password-fd=0\n"
msgstr ""
" -R, --rounds=ANTAL brug det angivne ANTAL af runder\n"
" -P, --password-fd=NUM læs adgangskoden fra filbeskriveren NUM\n"
" i steden for /dev/tty\n"
" -s, --stdin som --password-fd=0\n"
#: ../mkpasswd.c:511
#, c-format
msgid ""
" -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"
"If TYPE is 'help', available methods are printed.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
" -h, --help vis denne hjælpetekst og afslut\n"
" -V, --version vis versionsinformation og afslut\n"
"\n"
"Hvis ADGANGSKODE mangler, så spørges der efter den interaktivt.\n"
"Hvis ingen SALT er angivet, så oprettes en vilkårlig.\n"
"Hvis TYPE er »help«, så udskrives tilgængelige metoder.\n"
"\n"
"Rapporter fejl til %s (på engelsk).\n"
#: ../mkpasswd.c:534
#, c-format
msgid "Available methods:\n"
msgstr "Tilgængelige metoder:\n"

451
po/de.po
View File

@ -1,20 +1,26 @@
# Abgeleitet von whois.pot.
# Translation of whois to German
# Copyright (C) 2001 Simon Richter <Simon.Richter@in.tum.de>
# Copyright (C) 2004 Adrian Bunk <bunk@fs.tum.de>
#
#
# Copyright (C) 2010, 2013, 2019 Chris Leick <c.leick@vollbio.de>
# Copyright (C) 2021 Helge Kreutzmann <debian@helgefjell.de>
#
# This file is distributed under the same license as the whois package.
#
msgid ""
msgstr ""
"Project-Id-Version: whois 4.6.16\n"
"POT-Creation-Date: 2003-12-01 18:31+0100\n"
"PO-Revision-Date: 2004-06-15 00:08+0100\n"
"Last-Translator: Adrian Bunk <bunk@fs.tum.de>\n"
"Language-Team: \n"
"Project-Id-Version: whois 5.5.11\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-01-03 17:52+0100\n"
"PO-Revision-Date: 2022-01-12 12:11+0100\n"
"Last-Translator: Helge Kreutzmann <debian@helgefjell.de>\n"
"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
#: ../whois.c:108
#: ../whois.c:240
#, c-format
msgid ""
"Version %s.\n"
@ -23,71 +29,34 @@ msgid ""
msgstr ""
"Version %s.\n"
"\n"
"Senden Sie Bugreports an %s.\n"
"Berichten Sie Fehler auf Englisch an %s.\n"
#: ../whois.c:151
#: ../whois.c:240
#: ../whois.c:329
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
"Diese TLD hat keinen Whois-Server, kann aber auf eine Whois-Datenbank "
"zugreifen unter"
#: ../whois.c:334
msgid "This TLD has no whois server."
msgstr "Diese TLD hat keinen Whois-Server."
#: ../whois.c:337
msgid "No whois server is known for this kind of object."
msgstr "Für diese Art von Objekten ist kein Whois-Server bekannt."
#: ../whois.c:340
msgid "Unknown AS number or IP network. Please upgrade this program."
msgstr ""
"Unbekannte AS-Nummer oder unbekanntes IP-Netzwerk. Bitte führen Sie ein "
"Upgrade dieses Programms durch."
#: ../whois.c:344 ../whois.c:353 ../whois.c:388 ../whois.c:405
#, c-format
msgid "Using server %s.\n"
msgstr "Benutze Server %s.\n"
msgstr "Server %s wird benutzt.\n"
#: ../whois.c:173
#, c-format
msgid "Using default server %s.\n"
msgstr "Benutze voreingestellten Server %s.\n"
#: ../whois.c:176
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:182
msgid "This TLD has no whois server."
msgstr "Diese TLD hat keinen whois-Server."
#: ../whois.c:186
msgid "Connecting to whois.crsnic.net."
msgstr "Verbinde mit whois.crsnic.net."
#: ../whois.c:192
#: ../whois.c:203
#, c-format
msgid ""
"\n"
"Found a referral to %s.\n"
"\n"
msgstr ""
"\n"
"Verweis auf %s gefunden.\n"
"\n"
#: ../whois.c:197
msgid "Connecting to whois.nic.cc."
msgstr "Verbinde mit whois.nic.cc."
#: ../whois.c:208
msgid "Connecting to whois.publicinterestregistry.net."
msgstr "Verbinde mit whois.publicinterestregistry.net."
#: ../whois.c:214
#, c-format
msgid ""
"\n"
"Found referral to %s.\n"
"\n"
msgstr ""
"\n"
"Verweis auf %s gefunden.\n"
"\n"
#: ../whois.c:218
msgid "No whois server is known for this kind of object."
msgstr "Hierfür ist kein Whois-Server bekannt."
#: ../whois.c:221
msgid "Unknown AS number or IP network. Please upgrade this program."
msgstr "Unbekannte AS- oder IP-Netzwerk-Nummer. Bitte upgraden Sie dieses Programm."
#: ../whois.c:228
#: ../whois.c:362
#, c-format
msgid ""
"\n"
@ -95,190 +64,312 @@ msgid ""
"\n"
msgstr ""
"\n"
"Frage nach dem IPv4 Endpunkt %s einer 6to3 IPv6-Adresse.\n"
"Abfrage des IPv4-Endpunkts %s einer 6to4-IPv6-Adresse.\n"
"\n"
#: ../whois.c:249
#: ../whois.c:369
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a Teredo IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Abfrage des IPv4-Endpunkts %s einer Teredo-IPv6-Adresse.\n"
"\n"
#: ../whois.c:406
#, c-format
msgid ""
"Query string: \"%s\"\n"
"\n"
msgstr ""
"Suche nach: \"%s\"\n"
"Abfragezeichenkette: »%s«\n"
"\n"
#: ../whois.c:302
#: ../whois.c:305
#: ../whois.c:416
#, c-format
msgid ""
"\n"
"\n"
"Found a referral to %s.\n"
"\n"
msgstr ""
"\n"
"\n"
"Verweis auf %s gefunden.\n"
"\n"
#: ../whois.c:458 ../whois.c:461
#, c-format
msgid "Cannot parse this line: %s"
msgstr "Kann diese Zeile nicht parsen: %s"
msgstr "Diese Zeile kann nicht ausgewertet werden: %s"
#: ../whois.c:446
#: ../whois.c:650
msgid "Warning: RIPE flags used with a traditional server."
msgstr "Warnung: RIPE-Flags wurden mit einem \"traditionellen\" Server verwendet."
msgstr ""
"Warnung: RIPE-Flags wurden mit einem »traditionellen« Server verwendet."
#: ../whois.c:503
#, c-format
msgid "Detected referral to %s on %s.\n"
msgstr "Verweis auf %s gefunden bei %s.\n"
#: ../whois.c:520
#: ../whois.c:823 ../whois.c:939
msgid ""
"Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n"
msgstr ""
"Schwerer Fehler: Haftungsausschlusstext wurde geaendert.\n"
"Bitte upgraden sie dieses Programm.\n"
"Katastrophaler Fehler: Haftungsausschlusstext wurde geändert.\n"
"Bitte führen Sie ein Upgrade dieses Programms durch.\n"
#: ../whois.c:639
#: ../whois.c:1040
#, c-format
msgid "Host %s not found."
msgstr "Host %s nicht gefunden."
#: ../whois.c:649
#: ../whois.c:1050
#, c-format
msgid "%s/tcp: unknown service"
msgstr "%s/tcp: unbekannter Dienst"
#: ../whois.c:661
#: ../whois.c:1125
msgid "Timeout."
msgstr "Timeout."
msgstr "Zeitüberschreitung"
#: ../whois.c:667
#: ../whois.c:1131
#, c-format
msgid "Interrupted by signal %d..."
msgstr "Erhielt Signal %d, unterbrochen..."
msgstr "Durch Signal %d unterbrochen …"
#: ../whois.c:728
#, fuzzy
#: ../whois.c:1499
#, c-format
msgid ""
"Usage: whois [OPTION]... OBJECT...\n"
"\n"
"-l one level less specific lookup [RPSL only]\n"
"-L find all Less specific matches\n"
"-m find first level more specific matches\n"
"-M find all More specific matches\n"
"-c find the smallest match containing a mnt-irt attribute\n"
"-x exact match [RPSL only]\n"
"-d return DNS reverse delegation objects too [RPSL only]\n"
"-i ATTR[,ATTR]... do an inverse lookup for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned [RPSL only]\n"
"-r turn off recursive lookups for contact information\n"
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a search all databases\n"
"-s SOURCE[,SOURCE]... search the database from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
"-t TYPE request template for object of TYPE ('all' for a list)\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info [RPSL only]\n"
"-F fast raw output (implies -r)\n"
"-h HOST connect to server HOST\n"
"-p PORT connect to PORT\n"
"-h HOST, --host HOST connect to server HOST\n"
"-p PORT, --port PORT connect to PORT\n"
"-I query whois.iana.org and follow its referral\n"
"-H hide legal disclaimers\n"
msgstr ""
"Aufruf: whois [OPTION] … OBJEKT …\n"
"\n"
"-h HOST, --host HOST verbindet sich mit Server HOST.\n"
"-p PORT, --port PORT verbindet sich mit PORT.\n"
"-I fragt whois.iana.org ab und folgt dessen Verweis.\n"
"-H versteckt Haftungsausschlussklauseln.\n"
#: ../whois.c:1506
#, c-format
msgid ""
" --verbose explain what is being done\n"
" --no-recursion disable recursion from registry to registrar servers\n"
" --help display this help and exit\n"
" --version output version information and exit\n"
msgstr ""
"Aufruf: whois [OPTION]... OBJEKT...\n"
"\n"
"-a alle Datenbanken durchsuchen\n"
"-F \"schnelle\" Rohdatenausgabe (impliziert -r)\n"
"-g QUELLE:BEGINN-ENDE zeige Aenderungen auf QUELLE von BEGINN bis ENDE\n"
"-h HOST Verbinde zum Server HOST\n"
"-H Haftungsausschluss nicht anzeigen\n"
"-i ATTR[,ATTR]... angegebene ATTRibute rückauflösen\n"
"-x exakte Suche [nur RPSL]\n"
"-l eine Ebene unspezifischere Suche [nur RPSL]\n"
"-L suche unspezifischere Treffer\n"
"-M suche spezifischere Treffer\n"
"-m eine Ebene spezifischere Suche\n"
"-r keine Rückwärtsauflösung\n"
"-p PORT verbinde zu PORT\n"
"-R zeige lokale Kopie des Domainobjekts, auch wenn es\n"
" einen Verweis enthält\n"
"-S erlaube dem Server, \"syntaktischen Zucker\" \n"
" wegzulassen\n"
"-s QUELLE[,QUELLE]... suche in der Datenbank von QUELLE\n"
"-T TYP[,TYP]... suche nur nach Objekten vom Typ TYP\n"
"-t TYP fordere Formular für Typ TYP an (\"all\" für eine \n"
" Liste)-v TYP fordere ausführliches Formular für Typ TYP an\n"
"-q [version|quellen] frage nach angegebener Server-Information [nur RPSL]\n"
"-d zeige auch DNS-Rückübertragungsobjekte [nur RPSL]\n"
"-K zeige nur Primärschlüssel [nur RPSL]\n"
"-V --verbose erkläre, was getan wird\n"
" --help zeige diese Hilfe\n"
" --version zeige Version\n"
msgstr ""
" --verbose erklärt, was getan wird.\n"
" --no-recursion deaktiviert Rekursion vom Register zu Registrar-Servern\n"
" --help zeigt diese Hilfe und beendet sich.\n"
" --version gibt Versionsinformationen aus und beendet sich.\n"
"\n"
#: ../mkpasswd.c:55
msgid "\tstandard 56 bit DES-based crypt(3)"
msgstr "\tStandard 56 Bit DES-basiertes crypt(3)"
#: ../mkpasswd.c:96
#: ../whois.c:1513
#, c-format
msgid "Invalid hash type '%s'.\n"
msgstr "Falscher Hash-Typ '%s'.\n"
msgid ""
"These flags are supported by whois.ripe.net and some RIPE-like servers:\n"
"-l find the one level less specific match\n"
"-L find all levels less specific matches\n"
"-m find all one level more specific matches\n"
"-M find all levels of more specific matches\n"
msgstr ""
"Diese Schalter werden von whois.ripe.net und einigen RIPE ähnlichen Servern\n"
"unterstützt:\n"
"-l sucht den um eine Stufe weniger spezifischen "
"Treffer.\n"
"-L sucht alle Stufen weniger spezifischer Treffer.\n"
"-m sucht alle um eine Stufe spezifischeren Treffer.\n"
"-M sucht alle Stufen der spezifischeren Treffer.\n"
#: ../mkpasswd.c:105
#: ../whois.c:1520
#, c-format
msgid ""
"-c find the smallest match containing a mnt-irt "
"attribute\n"
"-x exact match\n"
"-b return brief IP address ranges with abuse contact\n"
msgstr ""
"-c sucht die kleinste Übereinstimmung eines\n"
" »mnt-irt«-Attributs.\n"
"-x exakte Übereinstimmung\n"
"-b gibt einen kurzen IP-Adressbereich mit "
"Beschwerdekontakt\n"
" zurück.\n"
#: ../whois.c:1525
#, c-format
msgid ""
"-B turn off object filtering (show email addresses)\n"
"-G turn off grouping of associated objects\n"
"-d return DNS reverse delegation objects too\n"
msgstr ""
"-B schaltet die Objektfilterung aus (zeigt E-Mail-"
"Adressen)\n"
"-G schaltet die Gruppierung verbundener Objekte aus.\n"
"-d gibt auch DNS-Reverse-Delegation-Objekte zurück.\n"
#: ../whois.c:1530
#, c-format
msgid ""
"-i ATTR[,ATTR]... do an inverse look-up for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned\n"
"-r turn off recursive look-ups for contact information\n"
msgstr ""
"-i ATTR[,ATTR] … schlägt angegebene ATTRibute in umgekehrter Richtung\n"
" nach.\n"
"-T TYP[,TYP] … beachtet nur Objekte dieses TYPs.\n"
"-K gibt nur Primärschlüssel zurück.\n"
"-r schaltet das rekursive Nachschlagen von\n"
" Kontaktinformationen aus.\n"
#: ../whois.c:1536
#, c-format
msgid ""
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a also search all the mirrored databases\n"
"-s SOURCE[,SOURCE]... search the database mirrored from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
msgstr ""
"-R erzwingt die Anzeige einer lokalen Kopie des\n"
" Domain-Objekts, selbst wenn es einen Verweis "
"enthält.\n"
"-a durchsucht auch die gespiegelten Datenbanken.\n"
"-s QUELLE[,QUELLE] … durchsucht die von QUELLE gespiegelte Datenbank.\n"
"-g QUELLE:ANFANG-ENDE sucht Aktualisierungen der QUELLE aufeinanderfolgend "
"von\n"
" ANFANG bis ENDE\n"
#: ../whois.c:1543
#, c-format
msgid ""
"-t TYPE request template for object of TYPE\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info\n"
msgstr ""
"-t TYP fragt die Schablone des Objekts des TYPs ab.\n"
"-v TYP fragt die Schablone des Objekts des TYPs ausführlich "
"ab.\n"
"-q [version|sources|types] fragt die angegebene Server-Information ab.\n"
# https://en.wikipedia.org/wiki/Crypt_%28C%29#BSDi_extended_DES-based_scheme
#: ../mkpasswd.c:135
msgid "BSDI extended DES-based crypt(3)"
msgstr "BSDi-erweitertes DES-basiertes Crypt(3)"
#: ../mkpasswd.c:138
msgid "standard 56 bit DES-based crypt(3)"
msgstr "Standard-56-Bit-DES-basiertes Crypt(3)"
#: ../mkpasswd.c:207
#, c-format
msgid "Invalid method '%s'.\n"
msgstr "Ungültige Methode »%s«\n"
#: ../mkpasswd.c:216 ../mkpasswd.c:228
#, c-format
msgid "Invalid number '%s'.\n"
msgstr "Falsche Nummer '%s'.\n"
msgstr "Falsche Nummer »%s«.\n"
#: ../mkpasswd.c:123
#: ../mkpasswd.c:246
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "Versuchen Sie '%s --help' für mehr Informationen.\n"
msgstr "Versuchen Sie »%s --help«, um weitere Informationen zu erhalten.\n"
#: ../mkpasswd.c:152
#: ../mkpasswd.c:292
#, c-format
msgid "Wrong salt length: %d byte(s) when %d expected.\n"
msgstr "Falsche Salt-Länge: %d Byte(s), aber%d wurden erwartet.\n"
msgid "Wrong salt length: %d byte when %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d expected.\n"
msgstr[0] "Falsche Salt-Länge: %d Byte, aber %d wurden erwartet.\n"
msgstr[1] "Falsche Salt-Länge: %d Byte, aber %d wurden erwartet.\n"
#: ../mkpasswd.c:158
#: ../mkpasswd.c:297
#, c-format
msgid "Wrong salt length: %d byte when %d <= n <= %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d <= n <= %d expected.\n"
msgstr[0] "Falsche Salt-Länge: %d Byte, aber %d <= n <= %d wurden erwartet.\n"
msgstr[1] "Falsche Salt-Länge: %d Byte, aber %d <= n <= %d wurden erwartet.\n"
#: ../mkpasswd.c:306
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr "Illegaler Salt-Buchstabe '%c'.\n"
msgstr "Illegales Salt-Zeichen »%c«.\n"
#: ../mkpasswd.c:172
#: ../mkpasswd.c:199
msgid "Password: "
msgstr "Passwort:"
#: ../mkpasswd.c:193
#: ../mkpasswd.c:357 ../mkpasswd.c:370
#, c-format
msgid "Illegal password character '0x%hhx'.\n"
msgstr "Illegaler Passwort-Buchstabe '0x%hhx'.\n"
msgid "Password: "
msgstr "Passwort: "
#: ../mkpasswd.c:230
#: ../mkpasswd.c:389
#, c-format
msgid "Method not supported by crypt(3).\n"
msgstr "Methode nicht von »crypt(3)« unterstützt.\n"
#: ../mkpasswd.c:497
#, c-format
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
"\n"
msgstr ""
"Aufruf: mkpasswd [OPTIONEN] ... {PASSWORT] [SALT]]\n"
"Verschluesselt das PASWORT mit crypt(3).\n"
"Aufruf: mkpasswd [OPTIONEN]... [PASSWORT] [SALT]]\n"
"Verschlüsselt das PASSWORT mit »crypt(3)«.\n"
"\n"
#: ../mkpasswd.c:233
#: ../mkpasswd.c:500
#, c-format
msgid ""
" -H, --hash=TYPE select hash TYPE\n"
" -m, --method=TYPE select method TYPE\n"
" -5 like --method=md5crypt\n"
" -S, --salt=SALT use the specified SALT\n"
msgstr ""
" -m, --method=TYP wählt die Methode TYP aus.\n"
" -5 wie --method=md5crypt\n"
" -S, --salt=SALT benutzt angegebenes SALT.\n"
#: ../mkpasswd.c:505
#, c-format
msgid ""
" -R, --rounds=NUMBER use the specified NUMBER of rounds\n"
" -P, --password-fd=NUM read the password from file descriptor NUM\n"
" instead of /dev/tty\n"
" -s, --stdin like --password-fd=0\n"
msgstr ""
" -R, --rounds=ANZAHL benutzt angegebene ANZAHL von Runden.\n"
" -P, --password-fd=NUM liest das Passwort vom Dateideskriptor NUM "
"anstatt\n"
" von /dev/tty\n"
" -s, --stdin wie --password-fd=0\n"
#: ../mkpasswd.c:511
#, c-format
msgid ""
" -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"
"If TYPE is missing available algorithms are printed.\n"
"If TYPE is 'help', available methods are printed.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
" -h, --help zeigt diese Hilfe an und beendet sich.\n"
" -V, --version zeigt Versionsinformationen an und beendet "
"sich.\n"
"\n"
"Falls das PASSWORT fehlt, wird es interaktiv erfragt.\n"
"Falls SALT nicht angegeben wurde, wird ein zufälliges erzeugt.\n"
"Wenn der TYP »help« ist, werden die verfügbaren Methoden ausgegeben.\n"
"\n"
"Berichten Sie Fehler auf Englisch an %s.\n"
#: ../mkpasswd.c:260
msgid "Available algorithms:\n"
msgstr "Verfügbare Algorithmen:\n"
#: ../mkpasswd.c:534
#, c-format
msgid "Available methods:\n"
msgstr "Verfügbare Methoden:\n"

380
po/el.po
View File

@ -5,15 +5,18 @@
msgid ""
msgstr ""
"Project-Id-Version: whois 4.6.9\n"
"POT-Creation-Date: 2003-12-01 18:31+0100\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-01-03 17:52+0100\n"
"PO-Revision-Date: 2003-12-10 08:51+0200\n"
"Last-Translator: Velonis Petros <velonis@freemail.gr>\n"
"Language-Team: Greek <velonis@freemail.gr>\n"
"Last-Translator: Velonis Petros\n"
"Language-Team: \n"
"Language: el\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
#: ../whois.c:108
#: ../whois.c:240
#, c-format
msgid ""
"Version %s.\n"
@ -24,69 +27,33 @@ msgstr ""
"\n"
"Αναφέρατε σφάλματα στο %s.\n"
#: ../whois.c:151
#: ../whois.c:240
#: ../whois.c:329
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
"Αυτό το TLD δεν έχει εξυπηρετητή whois, ωστόσο μπορείτε να προσπελάσετε την "
"βάση whois στο"
#: ../whois.c:334
msgid "This TLD has no whois server."
msgstr "Αυτό το TLD δεν έχει εξυπηρετητή whois."
#: ../whois.c:337
msgid "No whois server is known for this kind of object."
msgstr ""
"Κανένας εξυπηρετητής whois δεν είναι γνωστός για αυτού του είδους το "
"αντικείμενο."
#: ../whois.c:340
msgid "Unknown AS number or IP network. Please upgrade this program."
msgstr ""
"Άγνωστος αριθμός AS ή IP δικτύου. Παρακαλώ αναβαθμίστε αυτό το πρόγραμμα."
#: ../whois.c:344 ../whois.c:353 ../whois.c:388 ../whois.c:405
#, c-format
msgid "Using server %s.\n"
msgstr "Γίνεται χρήση του εξυπηρετητή %s.\n"
#: ../whois.c:173
#, c-format
msgid "Using default server %s.\n"
msgstr "Χρήση εξ' ορισμού εξυπηρετητή %s.\n"
#: ../whois.c:176
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr "Αυτό το TLD δεν έχει εξυπηρετητή whois, ωστόσο μπορείτε να προσπελάσετε την βάση whois στο"
#: ../whois.c:182
msgid "This TLD has no whois server."
msgstr "Αυτό το TLD δεν έχει εξυπηρετητή whois."
#: ../whois.c:186
msgid "Connecting to whois.crsnic.net."
msgstr "Γίνεται σύνδεση στο whois.crsnic.net."
#: ../whois.c:192
#: ../whois.c:203
#, c-format
msgid ""
"\n"
"Found a referral to %s.\n"
"\n"
msgstr ""
"\n"
"Βρέθηκε αναφορά στο %s.\n"
"\n"
#: ../whois.c:197
msgid "Connecting to whois.nic.cc."
msgstr "Γίνεται σύνδεση στο whois.nic.cc."
#: ../whois.c:208
msgid "Connecting to whois.publicinterestregistry.net."
msgstr "Γίνεται σύνδεση στο whois.publicinterestregistry.net."
#: ../whois.c:214
#, c-format
msgid ""
"\n"
"Found referral to %s.\n"
"\n"
msgstr ""
"\n"
"Βρέθηκε αναφορά στο %s.\n"
"\n"
#: ../whois.c:218
msgid "No whois server is known for this kind of object."
msgstr "Κανένας εξυπηρετητής whois δεν είναι γνωστός για αυτού του είδους το αντικείμενο."
#: ../whois.c:221
msgid "Unknown AS number or IP network. Please upgrade this program."
msgstr "Άγνωστος αριθμός AS ή IP δικτύου. Παρακαλώ αναβαθμίστε αυτό το πρόγραμμα."
#: ../whois.c:228
#: ../whois.c:362
#, c-format
msgid ""
"\n"
@ -97,7 +64,18 @@ msgstr ""
"Άντληση πληροφοριών για το σημείο τέλους IPv4 %s μιας διεύθυνσης 6to4 IPv6.\n"
"\n"
#: ../whois.c:249
#: ../whois.c:369
#, fuzzy, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a Teredo IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Άντληση πληροφοριών για το σημείο τέλους IPv4 %s μιας διεύθυνσης 6to4 IPv6.\n"
"\n"
#: ../whois.c:406
#, c-format
msgid ""
"Query string: \"%s\"\n"
@ -106,22 +84,31 @@ msgstr ""
"Αλφαριθμητικό ερώτησης: \"%s\"\n"
"\n"
#: ../whois.c:302
#: ../whois.c:305
#: ../whois.c:416
#, c-format
msgid ""
"\n"
"\n"
"Found a referral to %s.\n"
"\n"
msgstr ""
"\n"
"\n"
"Βρέθηκε αναφορά στο %s.\n"
"\n"
#: ../whois.c:458 ../whois.c:461
#, c-format
msgid "Cannot parse this line: %s"
msgstr "Αδύνατη η ανάλυση αυτής της γραμμής: %s"
#: ../whois.c:446
#: ../whois.c:650
msgid "Warning: RIPE flags used with a traditional server."
msgstr "Προειδοποίηση: Η σημαίες του RIPE χρησιμοποιούνται σε έναν παραδοσιακό εξυπηρετητή."
msgstr ""
"Προειδοποίηση: Η σημαίες του RIPE χρησιμοποιούνται σε έναν παραδοσιακό "
"εξυπηρετητή."
#: ../whois.c:503
#, c-format
msgid "Detected referral to %s on %s.\n"
msgstr "Ανιχνεύθηκε αναφορά του %s στο %s.\n"
#: ../whois.c:520
#: ../whois.c:823 ../whois.c:939
msgid ""
"Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n"
@ -129,124 +116,194 @@ msgstr ""
"Καταστροφικό σφάλμα: το κείμενο της αποποίησης ευθυνών έχει τροποποιηθεί.\n"
"Παρακαλώ αναβαθμίστε το πρόγραμμα.\n"
#: ../whois.c:639
#: ../whois.c:1040
#, c-format
msgid "Host %s not found."
msgstr "Το σύστημα %s δε βρέθηκε."
#: ../whois.c:649
#: ../whois.c:1050
#, c-format
msgid "%s/tcp: unknown service"
msgstr "%s/tcp: άγνωστη υπηρεσία"
#: ../whois.c:661
#: ../whois.c:1125
msgid "Timeout."
msgstr "Διάλειμμα."
#: ../whois.c:667
#: ../whois.c:1131
#, c-format
msgid "Interrupted by signal %d..."
msgstr "Διακοπή από το σήμα %d..."
#: ../whois.c:728
#: ../whois.c:1499
#, fuzzy, c-format
msgid ""
"Usage: whois [OPTION]... OBJECT...\n"
"\n"
"-l one level less specific lookup [RPSL only]\n"
"-L find all Less specific matches\n"
"-m find first level more specific matches\n"
"-M find all More specific matches\n"
"-c find the smallest match containing a mnt-irt attribute\n"
"-x exact match [RPSL only]\n"
"-d return DNS reverse delegation objects too [RPSL only]\n"
"-i ATTR[,ATTR]... do an inverse lookup for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned [RPSL only]\n"
"-r turn off recursive lookups for contact information\n"
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a search all databases\n"
"-s SOURCE[,SOURCE]... search the database from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
"-t TYPE request template for object of TYPE ('all' for a list)\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info [RPSL only]\n"
"-F fast raw output (implies -r)\n"
"-h HOST connect to server HOST\n"
"-p PORT connect to PORT\n"
"-h HOST, --host HOST connect to server HOST\n"
"-p PORT, --port PORT connect to PORT\n"
"-I query whois.iana.org and follow its referral\n"
"-H hide legal disclaimers\n"
" --verbose explain what is being done\n"
" --help display this help and exit\n"
" --version output version information and exit\n"
msgstr ""
"Χρήση: whois [ΕΠΙΛΟΓΕΣ]... ΑΝΤΙΚΕΙΜΕΝΟ...\n"
"\n"
"-l ένα επίπεδο λιγότερο συγκεκριμένη αναζήτηση [μόνο RPSL]\n"
"-L εύρεση όλων των Λιγότερο συγκεκριμένων ταιριασμάτων\n"
"-m εύρεση όλων των πρώτου επιπέδου περισσότερο συγκεκριμένων ταιριασμάτων\n"
"-M εύρεση όλων των Περισσότερο συγκεκριμένων ταιριασμάτων\n"
"-c εύρεση του μικρότερου ταιριάσματος που να περιέχει μια ένα χαρακτηριστικό mnt-irt \n"
"-x ακριβές ταίριασμα [μόνο RPSL]\n"
"-d επιστροφή και των αντίστροφων αντικειμένων DNS [μόνο RPSL]\n"
"-i ΧΑΡΑΚ[,ΧΑΡΑΚ]... να γίνει μια αντίστροφη αναζήτηση για τα καθορισμένα ΧΑΡΑΚτηριστικά\n"
"-T ΕΙΔΟΣ[,ΕΊΔΟΣ]... αναζήτηση μόνο αντικειμένου του ΕΙΔΟΥΣ\n"
"-K επιστροφή μόνο των πρωταρχικών κλειδιών [μόνο RPSL]\n"
"-r απενεργοποίηση των αναδρομικών αναζητήσεων για πληροφορίες επικοινωνίας\n"
"-R επιβολή εμφάνισης τοπικού αντιγράφου του αντικειμένου επιθήματος ακόμα και αν περιέχει αναφορές\n"
"-a αναζήτηση σε όλες τις βάσεις δεδομένων\n"
"-s ΠΗΓΗ[,ΠΗΓΉ]... αναζήτηση της βάσης δεδομένων από την ΠΗΓΗ\n"
"-g ΠΗΓΗ:ΠΡΩΤΟ:ΤΕΛΕΥΤΑΙΟ εμφάνιση αναβαθμίσεων από την ΠΗΓΗ από το σειριακό ΠΡΏΤΟ ως ΤΕΛΕΥΤΑΙΟ\n"
"-t ΕΙΔΟΣ αναζήτηση προτύπου για το αντικείμενο του ΕΊΔΟΥΣ ('all' για εμφάνιση λίστας)\n"
"-v ΕΙΔΟΣ αναζήτηση περιφραστικού προτύπου για το αντικείμενο του ΕΙΔΟΥΣ\n"
"-q [έκδοση|πηγές|τύποι] συγκεκριμένο ερώτημα πληροφοριών εξυπηρετητή [μόνο RPSL]\n"
"-F γρήγορη ακατέργαστη έξοδος (υπονοεί -r)\n"
"-h ΣΥΣΤΗΜΑ σύνδεση στον εξυπηρετητή ΣΎΣΤΗΜΑ\n"
"-p ΘΥΡΑ σύνδεση στη ΘΥΡΑ\n"
"-H απόκρυψη του νομικού εγγράφου αποποίησης ευθύνης\n"
#: ../whois.c:1506
#, fuzzy, c-format
msgid ""
" --verbose explain what is being done\n"
" --no-recursion disable recursion from registry to registrar servers\n"
" --help display this help and exit\n"
" --version output version information and exit\n"
"\n"
msgstr ""
" --verbose εξήγηση του τί συμβαίνει\n"
" --help εμφάνιση αυτής της βοήθειας και έξοδος\n"
" --version εμφάνιση της έκδοσης και έξοδος\n"
#: ../mkpasswd.c:55
msgid "\tstandard 56 bit DES-based crypt(3)"
#: ../whois.c:1513
#, fuzzy, c-format
msgid ""
"These flags are supported by whois.ripe.net and some RIPE-like servers:\n"
"-l find the one level less specific match\n"
"-L find all levels less specific matches\n"
"-m find all one level more specific matches\n"
"-M find all levels of more specific matches\n"
msgstr ""
"-l ένα επίπεδο λιγότερο συγκεκριμένη αναζήτηση [μόνο "
"RPSL]\n"
"-L εύρεση όλων των Λιγότερο συγκεκριμένων ταιριασμάτων\n"
"-m εύρεση όλων των πρώτου επιπέδου περισσότερο "
"συγκεκριμένων ταιριασμάτων\n"
"-M εύρεση όλων των Περισσότερο συγκεκριμένων "
"ταιριασμάτων\n"
#: ../whois.c:1520
#, fuzzy, c-format
msgid ""
"-c find the smallest match containing a mnt-irt "
"attribute\n"
"-x exact match\n"
"-b return brief IP address ranges with abuse contact\n"
msgstr ""
"-c εύρεση του μικρότερου ταιριάσματος που να περιέχει "
"μια ένα χαρακτηριστικό mnt-irt \n"
"-x ακριβές ταίριασμα\n"
#: ../whois.c:1525
#, fuzzy, c-format
msgid ""
"-B turn off object filtering (show email addresses)\n"
"-G turn off grouping of associated objects\n"
"-d return DNS reverse delegation objects too\n"
msgstr ""
"-d επιστροφή και των αντίστροφων αντικειμένων DNS [μόνο "
"RPSL]\n"
#: ../whois.c:1530
#, fuzzy, c-format
msgid ""
"-i ATTR[,ATTR]... do an inverse look-up for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned\n"
"-r turn off recursive look-ups for contact information\n"
msgstr ""
"-i ΧΑΡΑΚ[,ΧΑΡΑΚ]... να γίνει μια αντίστροφη αναζήτηση για τα καθορισμένα "
"ΧΑΡΑΚτηριστικά\n"
"-T ΕΙΔΟΣ[,ΕΊΔΟΣ]... αναζήτηση μόνο αντικειμένου του ΕΙΔΟΥΣ\n"
"-K επιστροφή μόνο των πρωταρχικών κλειδιών [μόνο RPSL]\n"
"-r απενεργοποίηση των αναδρομικών αναζητήσεων για "
"πληροφορίες επικοινωνίας\n"
#: ../whois.c:1536
#, fuzzy, c-format
msgid ""
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a also search all the mirrored databases\n"
"-s SOURCE[,SOURCE]... search the database mirrored from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
msgstr ""
"-R επιβολή εμφάνισης τοπικού αντιγράφου του αντικειμένου "
"επιθήματος ακόμα και αν περιέχει αναφορές\n"
"-a αναζήτηση σε όλες τις βάσεις δεδομένων\n"
"-s ΠΗΓΗ[,ΠΗΓΉ]... αναζήτηση της βάσης δεδομένων από την ΠΗΓΗ\n"
"-g ΠΗΓΗ:ΠΡΩΤΟ:ΤΕΛΕΥΤΑΙΟ εμφάνιση αναβαθμίσεων από την ΠΗΓΗ από το σειριακό "
"ΠΡΏΤΟ ως ΤΕΛΕΥΤΑΙΟ\n"
#: ../whois.c:1543
#, fuzzy, c-format
msgid ""
"-t TYPE request template for object of TYPE\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info\n"
msgstr ""
"-t ΕΙΔΟΣ αναζήτηση προτύπου για το αντικείμενο του ΕΊΔΟΥΣ "
"('all' για εμφάνιση λίστας)\n"
"-v ΕΙΔΟΣ αναζήτηση περιφραστικού προτύπου για το αντικείμενο "
"του ΕΙΔΟΥΣ\n"
"-q [έκδοση|πηγές|τύποι] συγκεκριμένο ερώτημα πληροφοριών εξυπηρετητή [μόνο "
"RPSL]\n"
#: ../mkpasswd.c:135
#, fuzzy
msgid "BSDI extended DES-based crypt(3)"
msgstr "\tκαθεριερωμένη 56 bit με βάση το DES crypt(3)"
#: ../mkpasswd.c:96
#, c-format
msgid "Invalid hash type '%s'.\n"
msgstr "Άκυρος τύπος hash '%s'.\n"
#: ../mkpasswd.c:138
#, fuzzy
msgid "standard 56 bit DES-based crypt(3)"
msgstr "\tκαθεριερωμένη 56 bit με βάση το DES crypt(3)"
#: ../mkpasswd.c:105
#: ../mkpasswd.c:207
#, fuzzy, c-format
msgid "Invalid method '%s'.\n"
msgstr "Μη αποδεκτό νούμερο '%s'.\n"
#: ../mkpasswd.c:216 ../mkpasswd.c:228
#, c-format
msgid "Invalid number '%s'.\n"
msgstr "Μη αποδεκτό νούμερο '%s'.\n"
#: ../mkpasswd.c:123
#: ../mkpasswd.c:246
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "Προσπάθησε '%s --help' για περισσότερες πληροφορίες.\n"
#: ../mkpasswd.c:152
#, c-format
msgid "Wrong salt length: %d byte(s) when %d expected.\n"
msgstr "Εσφαλμένο μήκος salt : %d byte(s) όταν αναμένεται %d .\n"
#: ../mkpasswd.c:292
#, fuzzy, c-format
msgid "Wrong salt length: %d byte when %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d expected.\n"
msgstr[0] "Εσφαλμένο μήκος salt : %d byte(s) όταν αναμένεται %d .\n"
msgstr[1] "Εσφαλμένο μήκος salt : %d byte(s) όταν αναμένεται %d .\n"
#: ../mkpasswd.c:158
#: ../mkpasswd.c:297
#, fuzzy, c-format
msgid "Wrong salt length: %d byte when %d <= n <= %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d <= n <= %d expected.\n"
msgstr[0] "Εσφαλμένο μήκος salt : %d byte(s) όταν αναμένεται %d .\n"
msgstr[1] "Εσφαλμένο μήκος salt : %d byte(s) όταν αναμένεται %d .\n"
#: ../mkpasswd.c:306
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr "Μη αποδεκτός χαρακτήρας salt '%c'.\n"
#: ../mkpasswd.c:172
#: ../mkpasswd.c:199
#: ../mkpasswd.c:357 ../mkpasswd.c:370
#, c-format
msgid "Password: "
msgstr "Συνθηματικό: "
#: ../mkpasswd.c:193
#: ../mkpasswd.c:389
#, c-format
msgid "Illegal password character '0x%hhx'.\n"
msgstr "Μη αποδεκτός χαρακτήρας συνθηματικού '0x%hhx'.\n"
msgid "Method not supported by crypt(3).\n"
msgstr ""
#: ../mkpasswd.c:230
#: ../mkpasswd.c:497
#, c-format
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
@ -256,28 +313,39 @@ msgstr ""
"Κρυπτογραφεί το ΣΥΝΘΗΜΑΤΙΚΟ χρησιμοποιώντας το crypt(3).\n"
"\n"
#: ../mkpasswd.c:233
#, c-format
#: ../mkpasswd.c:500
#, fuzzy, c-format
msgid ""
" -H, --hash=TYPE select hash TYPE\n"
" -m, --method=TYPE select method TYPE\n"
" -5 like --method=md5crypt\n"
" -S, --salt=SALT use the specified SALT\n"
msgstr " -S, --salt=SALT χρήση του συγκεκριμένου SALT\n"
#: ../mkpasswd.c:505
#, fuzzy, c-format
msgid ""
" -R, --rounds=NUMBER use the specified NUMBER of rounds\n"
" -P, --password-fd=NUM read the password from file descriptor NUM\n"
" instead of /dev/tty\n"
" -s, --stdin like --password-fd=0\n"
msgstr ""
" -P, --password-fd=NUM ανάγνωση του συνθηματικού από αρχείο περιγραφής "
"NUM\n"
" αντί από το /dev/tty\n"
" -s, --stdin σαν το --password-fd=0\n"
#: ../mkpasswd.c:511
#, fuzzy, c-format
msgid ""
" -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"
"If TYPE is missing available algorithms are printed.\n"
"If TYPE is 'help', available methods are printed.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
" -H, --hash=ΤΥΠΟΣ επιλογή hash ΤΥΠΟΣ\n"
" -S, --salt=SALT χρήση του συγκεκριμένου SALT\n"
" -P, --password-fd=NUM ανάγνωση του συνθηματικού από αρχείο περιγραφής NUM\n"
" αντί από το /dev/tty\n"
" -s, --stdin σαν το --password-fd=0\n"
" -h, --help εμφάνιση αυτής της βοήθειας και έξοδος\n"
" -V, --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n"
"\n"
@ -287,7 +355,13 @@ msgstr ""
"\n"
"Αναφέρατε σφάλματα στο %s.\n"
#: ../mkpasswd.c:260
msgid "Available algorithms:\n"
#: ../mkpasswd.c:534
#, fuzzy, c-format
msgid "Available methods:\n"
msgstr "Διαθέσιμοι αλγόριθμοι:\n"
#~ msgid "Illegal password character '0x%hhx'.\n"
#~ msgstr "Μη αποδεκτός χαρακτήρας συνθηματικού '0x%hhx'.\n"
#~ msgid "Invalid hash type '%s'.\n"
#~ msgstr "Άκυρος τύπος hash '%s'.\n"

497
po/es.po
View File

@ -1,316 +1,387 @@
# Spanish translation for whois.pot.
# Copyright (C) 2001 Francisco Monteagudo
# Francisco Monteagudo <francisco@monteagudo.net>, 2001.
# whois po-debconf translation to Spanish
# Copyright (C) 2001, 2010 Software in the Public Interest
# This file is distributed under the same license as the whois whois.
#
# Changes:
# - Initial translation
# Francisco Monteagudo <francisco@monteagudo.net>, 2001
#
# - Updates
# Francisco Javier Cuadrado <fcocuadrado@gmail.com>, 2010
# Matías A. Bellone <matiasbellone+debian@gmail.com>, 2014, 2019
#
# Traductores, si no conocen el formato PO, merece la pena leer la
# documentación de gettext, especialmente las secciones dedicadas a este
# formato, por ejemplo ejecutando:
# info -n '(gettext)PO Files'
# info -n '(gettext)Header Entry'
#
# Equipo de traducción al español, por favor lean antes de traducir
# los siguientes documentos:
#
# - El proyecto de traducción de Debian al español
# https://www.debian.org/intl/spanish/
# especialmente las notas y normas de traducción en
# https://www.debian.org/intl/spanish/notas
#
# - La guía de traducción de po's de debconf:
# /usr/share/doc/po-debconf/README-trans
# o https://www.debian.org/intl/l10n/po-debconf/README-trans
#
msgid ""
msgstr ""
"Project-Id-Version: whois 4.5.29\n"
"Project-Id-Version: whois 5.0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2003-12-01 18:31+0100\n"
"PO-Revision-Date: 2002-08-24 16:22+0200\n"
"Last-Translator: Francisco Monteagudo <francisco@monteagudo.net>\n"
"Language-Team: Spanish <es@li.org>\n"
"POT-Creation-Date: 2022-01-03 17:52+0100\n"
"PO-Revision-Date: 2019-07-02 02:30-0300\n"
"Last-Translator: Matías A. Bellone <matiasbellone+debian@gmail.com>\n"
"Language-Team: Debian l10n Spanish <debian-l10n-spanish@lists.debian.org>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
#: ../whois.c:108
#: ../whois.c:240
#, c-format
msgid ""
"Version %s.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
"Version %s.\n"
"Versión %s.\n"
"\n"
"Informar de bugs a %s.\n"
"Informar de fallos a %s.\n"
#: ../whois.c:151 ../whois.c:240
#: ../whois.c:329
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 base de datos "
"de whois en"
#: ../whois.c:334
msgid "This TLD has no whois server."
msgstr "Este TLD no dispone de servidor whois."
#: ../whois.c:337
msgid "No whois server is known for this kind of object."
msgstr "No se conoce ningún servidor de whois para esta clase de objeto."
#: ../whois.c:340
msgid "Unknown AS number or IP network. Please upgrade this program."
msgstr "Numero AS o red IP desconocida. Por favor, actualice este programa."
#: ../whois.c:344 ../whois.c:353 ../whois.c:388 ../whois.c:405
#, c-format
msgid "Using server %s.\n"
msgstr "Usando el servidor %s.\n"
#: ../whois.c:173
#, c-format
msgid "Using default server %s.\n"
msgstr "Usando el servidor predefinido %s.\n"
#: ../whois.c:176
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:182
msgid "This TLD has no whois server."
msgstr "No existe servidor whois para este TLD."
#: ../whois.c:186
msgid "Connecting to whois.crsnic.net."
msgstr "Conectando a whois.crsnic.net."
#: ../whois.c:192 ../whois.c:203
#, fuzzy, c-format
msgid ""
"\n"
"Found a referral to %s.\n"
"\n"
msgstr ""
"\n"
"Se ha encontrado en crsnic una referencia a %s.\n"
"\n"
#: ../whois.c:197
#, fuzzy
msgid "Connecting to whois.nic.cc."
msgstr "Conectando a whois.crsnic.net."
#: ../whois.c:208
#, fuzzy
msgid "Connecting to whois.publicinterestregistry.net."
msgstr "Conectando a whois.crsnic.net."
#: ../whois.c:214
#, fuzzy, c-format
msgid ""
"\n"
"Found referral to %s.\n"
"\n"
msgstr ""
"\n"
"Se ha encontrado en crsnic una referencia a %s.\n"
"\n"
#: ../whois.c:218
msgid "No whois server is known for this kind of object."
msgstr ""
#: ../whois.c:221
#, fuzzy
msgid "Unknown AS number or IP network. Please upgrade this program."
msgstr "Numero AS desconocido. Por favor, actualice este programa."
#: ../whois.c:228
#: ../whois.c:362
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a 6to4 IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Consultando el punto final IPv4 de %s de una dirección IPv6 6a4.\n"
"\n"
#: ../whois.c:249
#: ../whois.c:369
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a Teredo IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Consultando el punto final IPv4 de %s de una dirección IPv6 Teredo.\n"
"\n"
#: ../whois.c:406
#, c-format
msgid ""
"Query string: \"%s\"\n"
"\n"
msgstr ""
"Consulta: \"%s\"\n"
"Cadena de la consulta: «%s»\n"
"\n"
#: ../whois.c:302 ../whois.c:305
#: ../whois.c:416
#, c-format
msgid ""
"\n"
"\n"
"Found a referral to %s.\n"
"\n"
msgstr ""
"\n"
"\n"
"Se ha encontrado una referencia a %s.\n"
"\n"
#: ../whois.c:458 ../whois.c:461
#, c-format
msgid "Cannot parse this line: %s"
msgstr "No puedo procesar esta linea: %s"
msgstr "No se pudo procesar esta línea: %s"
#: ../whois.c:446
#, fuzzy
#: ../whois.c:650
msgid "Warning: RIPE flags used with a traditional server."
msgstr ""
"Atencion: Los flags RIPE son ignorados por los servidores tradicionales."
msgstr "Atención: Se han usado opciones de RIPE con un servidor tradicional."
#: ../whois.c:503
#, c-format
msgid "Detected referral to %s on %s.\n"
msgstr "Detectada una referencia a %s en %s.\n"
#: ../whois.c:520
#: ../whois.c:823 ../whois.c:939
msgid ""
"Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n"
msgstr ""
"Error catastrofico: el texto de las condiciones de uso ha sido cambiado.\n"
"Actualize este programa.\n"
"Error catastrófico: el texto de las condiciones de uso ha sido cambiado.\n"
"Por favor, actualice este programa.\n"
#: ../whois.c:639
#: ../whois.c:1040
#, c-format
msgid "Host %s not found."
msgstr "Host %s no encontrado."
msgstr "No se ha encontrado el servidor %s."
#: ../whois.c:649
#: ../whois.c:1050
#, c-format
msgid "%s/tcp: unknown service"
msgstr "%s/tcp: servicio desconocido"
#: ../whois.c:661
#: ../whois.c:1125
msgid "Timeout."
msgstr ""
msgstr "Se ha agotado el tiempo de espera."
#: ../whois.c:667
#: ../whois.c:1131
#, c-format
msgid "Interrupted by signal %d..."
msgstr "Interrumpido por la señal %d..."
msgstr "Interrumpido por la señal %d..."
#: ../whois.c:728
#, fuzzy
#: ../whois.c:1499
#, c-format
msgid ""
"Usage: whois [OPTION]... OBJECT...\n"
"\n"
"-l one level less specific lookup [RPSL only]\n"
"-L find all Less specific matches\n"
"-m find first level more specific matches\n"
"-M find all More specific matches\n"
"-c find the smallest match containing a mnt-irt "
"attribute\n"
"-x exact match [RPSL only]\n"
"-d return DNS reverse delegation objects too [RPSL "
"only]\n"
"-i ATTR[,ATTR]... do an inverse lookup for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned [RPSL only]\n"
"-r turn off recursive lookups for contact information\n"
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a search all databases\n"
"-s SOURCE[,SOURCE]... search the database from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
"-t TYPE request template for object of TYPE ('all' for a "
"list)\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info [RPSL only]\n"
"-F fast raw output (implies -r)\n"
"-h HOST connect to server HOST\n"
"-p PORT connect to PORT\n"
"-h HOST, --host HOST connect to server HOST\n"
"-p PORT, --port PORT connect to PORT\n"
"-I query whois.iana.org and follow its referral\n"
"-H hide legal disclaimers\n"
msgstr ""
"Utilización: whois [OPCION]... OBJETO...\n"
"\n"
"-h EQUIPO, --host EQUIPO conectar con el servidor EQUIPO\n"
"-p PUERTO, --port PUERTO conectar al PUERTO\n"
"-I consultar whois.iana.org y seguir su redirección\n"
"-H no mostrar avisos legales\n"
#: ../whois.c:1506
#, fuzzy, c-format
msgid ""
" --verbose explain what is being done\n"
" --no-recursion disable recursion from registry to registrar servers\n"
" --help display this help and exit\n"
" --version output version information and exit\n"
msgstr ""
"Uso: whois [OPCIONES]... OBJETO...\n"
"\n"
"-a busca en todas las bases de datos\n"
"-F modo rapido (implica -r)\n"
"-g SOURCE:FIRST-LAST localiza las ocurrencias de SOURCE en la serie F a L\n"
"-h HOST se conecta al servidor HOST\n"
"-H oculta el aviso legal\n"
"-i ATTR[,ATTR]... efectua una busqueda inversa para el ATTRibuto "
"specificado\n"
"-x busqueda exacta [solo RPSL]\n"
"-l desciende en un nivel la especifidad de la busqueda "
"[RPSL]\n"
"-L busca las correspondencias menos especificas\n"
"-M busca las correspondencias mas especificas\n"
"-m busca el primer nivel mas especifico\n"
"-r desactiva la busqueda recursiva\n"
"-p PUERTO conecta al PUERTO\n"
"-R muestra la copia local del objeto especificado incluso\n"
" si contiene una referencia\n"
"-S indica al servidor que no use peculiarides sintacticas\n"
"-s SOURCE[,SOURCE]... busca la base de datos de SOURCE\n"
"-T TIPO[,TIPO]... busca unicamente objetos del tipo TIPO\n"
"-t TIPO obtiene la plantilla para un objeto de TIPO ('all' para una "
"lista)\n"
"-v TIPO obtiene la plantilla detallada de un objeto TIPO\n"
"-q [version|sources] consulta informacion sobre el servidor [solo RPSL]\n"
"-d devuelve tambien la delegacion inversa del DNS [solo "
"RPSL]\n"
"-K solo devuelve claves primarias [solo RPSL]\n"
"-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"
msgstr ""
" --verbose mostrar lo que está haciendo\n"
" --help mostrar este mensaje de ayuda y finalizar\n"
" --version mostrar información de la versión y finalizar\n"
"\n"
#: ../mkpasswd.c:55
msgid "\tstandard 56 bit DES-based crypt(3)"
msgstr "\tcrypt(3) basado en DES de 56 bits"
#: ../mkpasswd.c:96
#: ../whois.c:1513
#, c-format
msgid "Invalid hash type '%s'.\n"
msgstr "La funcion de hash '%s' no es valida.\n"
msgid ""
"These flags are supported by whois.ripe.net and some RIPE-like servers:\n"
"-l find the one level less specific match\n"
"-L find all levels less specific matches\n"
"-m find all one level more specific matches\n"
"-M find all levels of more specific matches\n"
msgstr ""
"Estas opciones son compatibles con whois.ripe.net y algunos servidores\n"
"similares a RIPE:\n"
"-l buscar la coincidencia un nivel menos específica\n"
"-L buscar coincidencias de niveles menos específicos\n"
"-m buscar coincidencias del primer nivel más específico\n"
"-M buscar coincidencias de niveles más específicos\n"
#: ../mkpasswd.c:105
#: ../whois.c:1520
#, c-format
msgid ""
"-c find the smallest match containing a mnt-irt "
"attribute\n"
"-x exact match\n"
"-b return brief IP address ranges with abuse contact\n"
msgstr ""
"-c buscar la coincidencia más pequeña que contenga\n"
" un atributo «mnt-irt»\n"
"-x coincidencia exacta\n"
"-b mostrar rangos IP breves y contacto en caso de abuso\n"
#: ../whois.c:1525
#, c-format
msgid ""
"-B turn off object filtering (show email addresses)\n"
"-G turn off grouping of associated objects\n"
"-d return DNS reverse delegation objects too\n"
msgstr ""
"-B no filtrar objetos (mostrar direcciones de correo)\n"
"-G no agrupar objetos asociados\n"
"-d mostrar objetos de delegación de DNS reverso también\n"
#: ../whois.c:1530
#, c-format
msgid ""
"-i ATTR[,ATTR]... do an inverse look-up for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned\n"
"-r turn off recursive look-ups for contact information\n"
msgstr ""
"-i ATRIB[,ATRIB]... búsqueda inversa del ATRIButo indicado\n"
"-T TIPO[,TIPO]... sólo buscar objetos del TIPO indicado\n"
"-K mostrar sólo claves primarias\n"
"-r no buscar información de contacto de forma recursiva\n"
#: ../whois.c:1536
#, c-format
msgid ""
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a also search all the mirrored databases\n"
"-s SOURCE[,SOURCE]... search the database mirrored from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
msgstr ""
"-R mostrar la copia local del objeto del dominio "
"incluso\n"
" si contiene una referencia\n"
"-a buscar también en todas las réplicas de base de "
"datos\n"
"-s ORIGEN[,ORIGEN]... buscar en la base de datos replicada desde ORIGEN\n"
"-g ORIGEN:PRIMERO-ÚLTIMO buscar actualizaciones desde ORIGEN en la serie\n"
" PRIMERO a ÚLTIMO\n"
#: ../whois.c:1543
#, c-format
msgid ""
"-t TYPE request template for object of TYPE\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info\n"
msgstr ""
"-t TIPO solicitar plantilla para el objeto del TIPO indicado\n"
"-v TIPO solicitar plantilla detallada para el objeto del "
"TIPO\n"
" indicado\n"
"-q [versión|orígenes|tipos] consultar información con el servidor indicado\n"
#: ../mkpasswd.c:135
msgid "BSDI extended DES-based crypt(3)"
msgstr "crypt(3) extendido BSDI basado en DES"
#: ../mkpasswd.c:138
msgid "standard 56 bit DES-based crypt(3)"
msgstr "crypt(3) estándar basado en DES de 56 bits"
#: ../mkpasswd.c:207
#, c-format
msgid "Invalid method '%s'.\n"
msgstr "Método «%s» inválido.\n"
#: ../mkpasswd.c:216 ../mkpasswd.c:228
#, c-format
msgid "Invalid number '%s'.\n"
msgstr "El numero '%s' no es valido.\n"
msgstr "El número «%s» no es válido.\n"
#: ../mkpasswd.c:123
#: ../mkpasswd.c:246
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "%s --help para mas informacion.\n"
msgstr "Pruebe «%s --help» para más información.\n"
#: ../mkpasswd.c:152
#: ../mkpasswd.c:292
#, c-format
msgid "Wrong salt length: %d byte(s) when %d expected.\n"
msgstr "Tamaño de semilla incorrecto: %d bytes en lugar de %d.\n"
msgid "Wrong salt length: %d byte when %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d expected.\n"
msgstr[0] "Longitud de sal («salt») incorrecta: %d byte en lugar de %d.\n"
msgstr[1] "Longitud de sal («salt») incorrecta: %d bytes en lugar de %d.\n"
#: ../mkpasswd.c:158
#: ../mkpasswd.c:297
#, c-format
msgid "Wrong salt length: %d byte when %d <= n <= %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d <= n <= %d expected.\n"
msgstr[0] ""
"Longitud del «salt» incorrecta: %d byte cuando se esperaba %d <= n <= %d.\n"
msgstr[1] ""
"Longitud del «salt» incorrecta: %d bytes cuando se esperaba %d <= n <= %d.\n"
#: ../mkpasswd.c:306
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr "El caracter '%c' ilegal en la semilla.\n"
msgstr "El carácter «%c» no es válido en el «salt».\n"
#: ../mkpasswd.c:172 ../mkpasswd.c:199
msgid "Password: "
msgstr "Clave: "
#: ../mkpasswd.c:193
#: ../mkpasswd.c:357 ../mkpasswd.c:370
#, c-format
msgid "Illegal password character '0x%hhx'.\n"
msgstr "El caracter '0x%hhx' es ilegal en la clave.\n"
msgid "Password: "
msgstr "Contraseña: "
#: ../mkpasswd.c:230
#: ../mkpasswd.c:389
#, c-format
msgid "Method not supported by crypt(3).\n"
msgstr "crypt(3) no admite este método.\n"
#: ../mkpasswd.c:497
#, c-format
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"
"Uso: mkpasswd [OPCIONES]... [CONTRASEÑA [SALT]]\n"
"Cifra la CONTRASEÑA utilizando crypt(3).\n"
"\n"
#: ../mkpasswd.c:233
#: ../mkpasswd.c:500
#, c-format
msgid ""
" -H, --hash=TYPE select hash TYPE\n"
" -m, --method=TYPE select method TYPE\n"
" -5 like --method=md5crypt\n"
" -S, --salt=SALT use the specified SALT\n"
msgstr ""
" -m, --method=TIPO selecciona el TIPO de método\n"
" -5 igual que --method=md5crypt\n"
" -S, --salt=SALT usa el SALT indicado\n"
#: ../mkpasswd.c:505
#, c-format
msgid ""
" -R, --rounds=NUMBER use the specified NUMBER of rounds\n"
" -P, --password-fd=NUM read the password from file descriptor NUM\n"
" instead of /dev/tty\n"
" -s, --stdin like --password-fd=0\n"
msgstr ""
" -R, --rounds=NÚMERO usa el NÚMERO indicado de rondas\n"
" -P, --password-fd=NUM lee la contraseña del descriptor de archivo NUM\n"
" en lugar de «/dev/tty»\n"
" -s, --stdin igual que --password-fd=0\n"
#: ../mkpasswd.c:511
#, c-format
msgid ""
" -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"
"If TYPE is missing available algorithms are printed.\n"
"If TYPE is 'help', available methods are printed.\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"
" -P, --password-fd=NUM Lee la clave del descriptor NUM en vez de /dev/"
"tty\n"
" -s, --stdin lee la clave de stdin en vez de /dev/tty\n"
" -h, --help muestra este mensaje de ayuda\n"
" -v, --version muestra la version del programa\n"
" -h, --help muestra este mensaje de ayuda y finaliza\n"
" -V, --version muestra la información de la versión y finaliza\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"
"Si no especifica TIPO, se imprimiran los algoritmos disponibles.\n"
"Si no se indica la CONTRASEÑA, se pedirá una de forma interactiva.\n"
"Si no se indica el SALT, se generará uno de forma aleatoria.\n"
"Si el TIPO es «help», se mostrarán los métodos disponibles.\n"
"\n"
"Informar de bugs a: %s.\n"
"Informar de fallos a %s.\n"
#: ../mkpasswd.c:260
msgid "Available algorithms:\n"
msgstr "Algoritmos disponibles:\n"
#~ msgid ""
#~ "I don't know where this IP has been delegated.\n"
#~ "I'll try ARIN and hope for the best..."
#~ msgstr ""
#~ "Ignoro a quien a sido delegada esta direccion IP.\n"
#~ "Voy a probar con ARIN a ver si hay suerte..."
#~ 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."
#~ 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."
#: ../mkpasswd.c:534
#, c-format
msgid "Available methods:\n"
msgstr "Métodos disponibles:\n"

384
po/eu.po Normal file
View File

@ -0,0 +1,384 @@
# translation of whois to Euskara
# Aitor Ibañez <aitiba@gmail.com>,2007
# Copyright (C) 2009 Marco d'Itri
# This file is distributed under the same license as the whois package.
# Aitor Ibañez <aitiba@gmail.com>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: whois 4.5.29\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-01-03 17:52+0100\n"
"PO-Revision-Date: 2002-08-24 16:22+0200\n"
"Last-Translator: Aitor Ibaez <aitiba@gmail.com>\n"
"Language-Team: \n"
"Language: eu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../whois.c:240
#, c-format
msgid ""
"Version %s.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
"%s bertsioa.\n"
"\n"
"Bug berri baten jakinarazpena: %s.\n"
#: ../whois.c:329
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
"TLD honek ez du whois zerbitzaririk, baina whois databasera sarbidea "
"daukazu..."
#: ../whois.c:334
msgid "This TLD has no whois server."
msgstr "TLD honek ez du whois zerbitzaririk."
#: ../whois.c:337
msgid "No whois server is known for this kind of object."
msgstr "Objetu mota horrentzako, ez da whois zerbitzaririk ezagutzen."
#: ../whois.c:340
#, fuzzy
msgid "Unknown AS number or IP network. Please upgrade this program."
msgstr "AS zenbaki edo IP sarea ezezaguna. Mesedez, programa eguneratu."
#: ../whois.c:344 ../whois.c:353 ../whois.c:388 ../whois.c:405
#, c-format
msgid "Using server %s.\n"
msgstr "%s zerbitzaria erabiltzen.\n"
#: ../whois.c:362
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a 6to4 IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Kontsula 6to4 IPv6 helbidean dagoen %s IPv4 endpoint-entzat.\n"
"\n"
#: ../whois.c:369
#, fuzzy, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a Teredo IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Kontsula 6to4 IPv6 helbidean dagoen %s IPv4 endpoint-entzat.\n"
"\n"
#: ../whois.c:406
#, c-format
msgid ""
"Query string: \"%s\"\n"
"\n"
msgstr ""
"Kontsulta: \"%s\"\n"
"\n"
#: ../whois.c:416
#, fuzzy, c-format
msgid ""
"\n"
"\n"
"Found a referral to %s.\n"
"\n"
msgstr ""
"\n"
"$s-ra erreferentzia aurkituta.\n"
"\n"
#: ../whois.c:458 ../whois.c:461
#, c-format
msgid "Cannot parse this line: %s"
msgstr "Lerro hau, %s , ezin da prozesatu."
#: ../whois.c:650
#, fuzzy
msgid "Warning: RIPE flags used with a traditional server."
msgstr "Oharra: RIPE flags-ak ohiko zerbitzariengatik ezikusiak izaten dira."
#: ../whois.c:823 ../whois.c:939
msgid ""
"Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n"
msgstr ""
"Hondamen arriskua: erabilpen balditzen textua aldatu egin da.\n"
"Programa eguneratu.\n"
#: ../whois.c:1040
#, c-format
msgid "Host %s not found."
msgstr "%s Host-a ez da aurkitu."
#: ../whois.c:1050
#, c-format
msgid "%s/tcp: unknown service"
msgstr "%s/tcp: zerbitzu ezezaguna"
#: ../whois.c:1125
msgid "Timeout."
msgstr "Denbora muga."
#: ../whois.c:1131
#, c-format
msgid "Interrupted by signal %d..."
msgstr "%d seinalearengatik etena..."
#: ../whois.c:1499
#, fuzzy, c-format
msgid ""
"Usage: whois [OPTION]... OBJECT...\n"
"\n"
"-h HOST, --host HOST connect to server HOST\n"
"-p PORT, --port PORT connect to PORT\n"
"-I query whois.iana.org and follow its referral\n"
"-H hide legal disclaimers\n"
msgstr ""
"Erabilpena: whois [AUKERAK]... OBJETUA...\n"
"\n"
"-h HOST HOST zerbitzarira konektatzen da\n"
"-p PORTUA PORTUA konektatzen du\n"
"-H abisu-legala ezkutatzen du\n"
#: ../whois.c:1506
#, fuzzy, c-format
msgid ""
" --verbose explain what is being done\n"
" --no-recursion disable recursion from registry to registrar servers\n"
" --help display this help and exit\n"
" --version output version information and exit\n"
"\n"
msgstr ""
" --verbose egiten ari dena bakarrik, eraskusten du\n"
" --help laguntza pantaila hau erakusten du eta amaitzen du\n"
" --version programaren bertsioa erakusten du eta amaitzen du\n"
#: ../whois.c:1513
#, fuzzy, c-format
msgid ""
"These flags are supported by whois.ripe.net and some RIPE-like servers:\n"
"-l find the one level less specific match\n"
"-L find all levels less specific matches\n"
"-m find all one level more specific matches\n"
"-M find all levels of more specific matches\n"
msgstr ""
"-l adierazitako [RPSL] bilaketarentzat, maila bat jeisten "
"du\n"
"-L mapeketa gutxien espezifikoenak bilatzen ditu\n"
"-M mapeketa espezifikoenak bilatzen ditu\n"
"-m lehen maila espezifikoena bilatzen du\n"
#: ../whois.c:1520
#, fuzzy, c-format
msgid ""
"-c find the smallest match containing a mnt-irt "
"attribute\n"
"-x exact match\n"
"-b return brief IP address ranges with abuse contact\n"
msgstr "-x bilaketa zehatza\n"
#: ../whois.c:1525
#, fuzzy, c-format
msgid ""
"-B turn off object filtering (show email addresses)\n"
"-G turn off grouping of associated objects\n"
"-d return DNS reverse delegation objects too\n"
msgstr "-d alderantizko DNSaren ordezkaritza itzultzen du\n"
#: ../whois.c:1530
#, fuzzy, c-format
msgid ""
"-i ATTR[,ATTR]... do an inverse look-up for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned\n"
"-r turn off recursive look-ups for contact information\n"
msgstr ""
"-i ATTR[,ATTR]... adierazitako ATTRibute-arentzat alderantzizko bilaketa "
"egin du\n"
"-T TIPO[,TIPO]... TIPO objektu motak bakarrik bilatzen ditu\n"
"-K oinarrizko-gakoak bakarrik\n"
"-r alderantzizko bilaketa ezgaitzen du\n"
#: ../whois.c:1536
#, fuzzy, c-format
msgid ""
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a also search all the mirrored databases\n"
"-s SOURCE[,SOURCE]... search the database mirrored from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
msgstr ""
"-R Objektu zehatzaren kopia lokala eraskuten du,\n"
" erreferentzia bat eduki ere\n"
"-a data base guztietan bilatzen du\n"
"-s SOURCE[,SOURCE]... SOURCE data basea bilatzen du\n"
"-g SOURCE:HASIERA-BUKAERA H eta B tarteko serietan,SOURCE-ren agerraldiak "
"bilatzen ditu\n"
#: ../whois.c:1543
#, fuzzy, c-format
msgid ""
"-t TYPE request template for object of TYPE\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info\n"
msgstr ""
"-t TIPO TIPO objektu mota batentzako, txantiloiak "
"lortzen ditu ('all' lista batentzako)\n"
"-v TIPO TIPO objektu baten txantiloi zehatza lortzen du\n"
"-q [bertsioa|sources] zerbitzariaren informazioa kontsultatzen du\n"
#: ../mkpasswd.c:135
#, fuzzy
msgid "BSDI extended DES-based crypt(3)"
msgstr "56 bits-etako DESan oinarritutako \tcrypt(3)-a"
#: ../mkpasswd.c:138
#, fuzzy
msgid "standard 56 bit DES-based crypt(3)"
msgstr "56 bits-etako DESan oinarritutako \tcrypt(3)-a"
#: ../mkpasswd.c:207
#, fuzzy, c-format
msgid "Invalid method '%s'.\n"
msgstr "'%s' zenbakia ez da baliozkoa.\n"
#: ../mkpasswd.c:216 ../mkpasswd.c:228
#, c-format
msgid "Invalid number '%s'.\n"
msgstr "'%s' zenbakia ez da baliozkoa.\n"
#: ../mkpasswd.c:246
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "%s --help informazio gehiagorako.\n"
#: ../mkpasswd.c:292
#, fuzzy, c-format
msgid "Wrong salt length: %d byte when %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d expected.\n"
msgstr[0] "Hazi tamain desegokia:%d byte %d-en ordez.\n"
msgstr[1] "Hazi tamain desegokia:%d byte %d-en ordez.\n"
#: ../mkpasswd.c:297
#, fuzzy, c-format
msgid "Wrong salt length: %d byte when %d <= n <= %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d <= n <= %d expected.\n"
msgstr[0] "Hazi tamain desegokia:%d byte %d-en ordez.\n"
msgstr[1] "Hazi tamain desegokia:%d byte %d-en ordez.\n"
#: ../mkpasswd.c:306
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr "'%c' karakterea, hazian, ilegala da.\n"
#: ../mkpasswd.c:357 ../mkpasswd.c:370
#, c-format
msgid "Password: "
msgstr "Pasahitza: "
#: ../mkpasswd.c:389
#, c-format
msgid "Method not supported by crypt(3).\n"
msgstr ""
#: ../mkpasswd.c:497
#, c-format
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
"\n"
msgstr ""
"Erabilpena: mkpasswd [AUKERAK]... [PASAHITZA [HAZIA]]\n"
"PASAHITZA crypt(3) erabiliz enkriptatu.\n"
"\n"
#: ../mkpasswd.c:500
#, fuzzy, c-format
msgid ""
" -m, --method=TYPE select method TYPE\n"
" -5 like --method=md5crypt\n"
" -S, --salt=SALT use the specified SALT\n"
msgstr ""
" -H, --hash=MOTA Hash MOTA funtzioa aukeratu\n"
" -S, --salt=HAZI HAZI egokia erabili\n"
#: ../mkpasswd.c:505
#, fuzzy, c-format
msgid ""
" -R, --rounds=NUMBER use the specified NUMBER of rounds\n"
" -P, --password-fd=NUM read the password from file descriptor NUM\n"
" instead of /dev/tty\n"
" -s, --stdin like --password-fd=0\n"
msgstr ""
" -P, --password-fd=NUM /dev/tty-ak irakurri ordez, NUM deskriptore-"
"gakoa irakurtzen du\n"
" -s, --stdin /dev/tty-ak irakurri ordez, stdin-gakoa "
"irakurtzen du\n"
#: ../mkpasswd.c:511
#, fuzzy, c-format
msgid ""
" -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"
"If TYPE is 'help', available methods are printed.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
" -h, --help laguntza pantaila erakusten du\n"
" -v, --version programaren bertsioa erakusten du\n"
"\n"
"GAKOA zehazten ez bada, modu interaktiboan eskatuko da.\n"
"HAZIa zehazten ez bada, aleatorioki bat sortuko da.\n"
"MOTA zehazten ez bada, erabilgarri dauden algoritmoak inprimituko dira.\n"
"\n"
"Bug berri baten jakinarazpena: %s.\n"
#: ../mkpasswd.c:534
#, fuzzy, c-format
msgid "Available methods:\n"
msgstr "Algoritmo erabilgarriak:\n"
#~ msgid "Illegal password character '0x%hhx'.\n"
#~ msgstr "'0x%hhx' password karakterea ilegala da.\n"
#~ msgid "Invalid hash type '%s'.\n"
#~ msgstr "'%s' hash funtzioa ez da baliozkoa.\n"
#~ msgid "Using default server %s.\n"
#~ msgstr "Aurredefinitutako %s zerbitzaria erabiltzen.\n"
#, fuzzy
#~ msgid ""
#~ "\n"
#~ "Found referral to %s.\n"
#~ "\n"
#~ msgstr ""
#~ "\n"
#~ "crsnic-en %s-ri, erreferentzi bat aurkitu zaio.\n"
#~ "\n"
#~ msgid "Detected referral to %s on %s.\n"
#~ msgstr "%s-en %s-ri erreferentzia detektatua.\n"
#~ msgid ""
#~ "I don't know where this IP has been delegated.\n"
#~ "I'll try ARIN and hope for the best..."
#~ msgstr ""
#~ "Ez dakit zeineri delegatua izan zaion IP helbidea hori.\n"
#~ "ARIN-ekin porbatuko dut, zorte gehiagoren bila..."
#~ msgid "I guess it's a netblock name but I don't know where to look it up."
#~ msgstr "netblock-en izen bat dirudi, baina ez dakit, non bilatu dezakedan."
#~ msgid "I guess it's a domain but I don't know where to look it up."
#~ msgstr "Domeinu izen bat dirudi, baina ez dakit, non bilatu dezakedan."

360
po/fi.po Normal file
View File

@ -0,0 +1,360 @@
# Finnish translation for whois.
# Copyright (C) 2008- Sami Kerola <kerolasa@iki.fi>
# Copyright (C) 2022 Lauri Nurmi <lanurmi@iki.fi>
#
#
msgid ""
msgstr ""
"Project-Id-Version: whois 5.5.14\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-29 11:48+0300\n"
"PO-Revision-Date: 2022-10-30 00:27+0300\n"
"Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"
"Language-Team: \n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Poedit 3.2\n"
#: ../whois.c:240
#, c-format
msgid ""
"Version %s.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
"Versio %s.\n"
"\n"
"Lähetä bugiraportit osoitteeseen %s.\n"
#: ../whois.c:329
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
"Tällä TLD:llä ei ole whois-palvelinta, mutta voit käyttää whois-tietokantaa "
"osoitteessa"
#: ../whois.c:334
msgid "This TLD has no whois server."
msgstr "Tällä TLD:llä ei ole whois-palvelinta."
#: ../whois.c:337
msgid "No whois server is known for this kind of object."
msgstr "Tällaiselle objektille ei ole tiedossa whois-palvelinta."
#: ../whois.c:340
msgid "Unknown AS number or IP network. Please upgrade this program."
msgstr "Tuntematon AS-numero tai IP-verkko. Päivitä tämä ohjelma."
#: ../whois.c:344 ../whois.c:353 ../whois.c:388 ../whois.c:405
#, c-format
msgid "Using server %s.\n"
msgstr "Käytetään palvelinta %s.\n"
#: ../whois.c:362
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a 6to4 IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Kysellään IPv4-päätetepistettä %s 6to4-IPv6-osoitteelle.\n"
"\n"
#: ../whois.c:369
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a Teredo IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Kysellään IPv4-päätetepistettä %s Teredo-IPv6-osoitteelle.\n"
"\n"
#: ../whois.c:406
#, c-format
msgid ""
"Query string: \"%s\"\n"
"\n"
msgstr ""
"Kysely: ”%s”\n"
"\n"
#: ../whois.c:416
#, c-format
msgid ""
"\n"
"\n"
"Found a referral to %s.\n"
"\n"
msgstr ""
"\n"
"\n"
"Löytyi viittaus %s.\n"
"\n"
#: ../whois.c:458 ../whois.c:461
#, c-format
msgid "Cannot parse this line: %s"
msgstr "Tätä riviä ei voi jäsentää: %s"
#: ../whois.c:650
msgid "Warning: RIPE flags used with a traditional server."
msgstr "Varoitus: RIPE-valitsimia käytetään perinteiseen palvelimeen."
#: ../whois.c:823 ../whois.c:939
msgid ""
"Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n"
msgstr ""
"Katastrofaalinen virhe: vastuuvapauslausekkeen teksti\n"
"on muuttunut.\n"
"Päivitä tämä ohjelma.\n"
#: ../whois.c:1040
#, c-format
msgid "Host %s not found."
msgstr "Palvelinta %s ei löydy."
#: ../whois.c:1050
#, c-format
msgid "%s/tcp: unknown service"
msgstr "%s/tcp: tuntematon palvelu"
#: ../whois.c:1125
msgid "Timeout."
msgstr "Aikakatkaisu."
#: ../whois.c:1131
#, c-format
msgid "Interrupted by signal %d..."
msgstr "Ohjelma keskeytyi signaaliin %d..."
#: ../whois.c:1499
#, c-format
msgid ""
"Usage: whois [OPTION]... OBJECT...\n"
"\n"
"-h HOST, --host HOST connect to server HOST\n"
"-p PORT, --port PORT connect to PORT\n"
"-I query whois.iana.org and follow its referral\n"
"-H hide legal disclaimers\n"
msgstr ""
"Käyttö: whois [VALITSIN]... OBJEKTI...\n"
"\n"
"-h PALV, --host PALV ota yhteys PALVelimeen\n"
"-p PORT, --port PORT käytä PORTtia\n"
"-I kysele whois.iana.org:ilta ja seuraa viittausta\n"
"-H piilota vastuuvapauslausekkeet\n"
#: ../whois.c:1506
#, c-format
msgid ""
" --verbose explain what is being done\n"
" --no-recursion disable recursion from registry to registrar "
"servers\n"
" --help display this help and exit\n"
" --version output version information and exit\n"
"\n"
msgstr ""
" --verbose kerro mitä on tekeillä\n"
" --no-recursion älä käytä rekursiota rekisteristä\n"
" verkkotunnusvälittäjän palvelimille\n"
" --help näytä tämä ohje ja poistu\n"
" --version näytä versiotiedot ja poistu\n"
#: ../whois.c:1513
#, c-format
msgid ""
"These flags are supported by whois.ripe.net and some RIPE-like servers:\n"
"-l find the one level less specific match\n"
"-L find all levels less specific matches\n"
"-m find all one level more specific matches\n"
"-M find all levels of more specific matches\n"
msgstr ""
"Seuraavat liput toimivat whois.ripe.net- ja joillakin RIPEn\n"
"kaltaisilla palvelimilla:\n"
"-l etsi yhden tason vähemmän tarkka osuma\n"
"-L etsi kaikkien tasojen vähemmän tarkat osumat\n"
"-m etsi kaikki yhden tason tarkemmat osumat\n"
"-M etsi kaikkien tasojen tarkemmat osumat\n"
#: ../whois.c:1520
#, c-format
msgid ""
"-c find the smallest match containing a mnt-irt "
"attribute\n"
"-x exact match\n"
"-b return brief IP address ranges with abuse contact\n"
msgstr ""
"-c etsi vähin osuma, jolla on mnt-irt-attribuutti\n"
"-x täysosuma\n"
"-b palauta lyhyesti IP-osoiteavaruudet ja abuse-tieto\n"
#: ../whois.c:1525
#, c-format
msgid ""
"-B turn off object filtering (show email addresses)\n"
"-G turn off grouping of associated objects\n"
"-d return DNS reverse delegation objects too\n"
msgstr ""
"-B poista objektisuodatus (näytä sähköpostiosoitteet)\n"
"-G poista objektien ryhmittely\n"
"-d palauta myös DNS-delegointiobjektit\n"
#: ../whois.c:1530
#, c-format
msgid ""
"-i ATTR[,ATTR]... do an inverse look-up for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned\n"
"-r turn off recursive look-ups for contact information\n"
msgstr ""
"-i ATTR[,ATTR]... tee käänteishaku käyttäen ATTRibuutteja\n"
"-T TYYP[,TYYP]... hae ainoastaan tietyn TYYPpisiä objekteja\n"
"-K vain pääavaimet palautetaan\n"
"-r älä käytä rekursiivisia hakuja yhteystiedoille\n"
#: ../whois.c:1536
#, c-format
msgid ""
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a also search all the mirrored databases\n"
"-s SOURCE[,SOURCE]... search the database mirrored from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
msgstr ""
"-R pakota näyttämään paikallinen objekti vaikka se\n"
" sisältäisi viitteen\n"
"-a etsi myös kaikista peilatuista tietokannoista\n"
"-s LÄHDE[,LÄHDE]... käytä LÄHTEestä peilattua tietokantaa\n"
"-g LÄHDE:ALKU-LOPPU hae päivityksiä LÄHTEestä sarjasta ALKU-LOPPU\n"
# version|sources|types ovat kirjaimellisesti sitä mitä käyttäjän kuuluu syöttää, niitä ei saa suomentaa.
#: ../whois.c:1543
#, c-format
msgid ""
"-t TYPE request template for object of TYPE\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info\n"
msgstr ""
"-t TYYPPI hae malline TYYPPIä olevalle objektille\n"
"-v TYYPPI hae laaja malline TYYPPIä olevalle objektille\n"
"-q [version|sources|types] kysele annettua palvelintietoa\n"
#: ../mkpasswd.c:135
msgid "BSDI extended DES-based crypt(3)"
msgstr "BSDI-laajennettu DES-salaus, crypt(3)"
#: ../mkpasswd.c:138
msgid "standard 56 bit DES-based crypt(3)"
msgstr "standardi 56-bittinen DES-salaus, crypt(3)"
#: ../mkpasswd.c:207
#, c-format
msgid "Invalid method '%s'.\n"
msgstr "Kelvoton menetelmä ”%s”.\n"
#: ../mkpasswd.c:216 ../mkpasswd.c:228
#, c-format
msgid "Invalid number '%s'.\n"
msgstr "Kelvoton lukuarvo ”%s”.\n"
#: ../mkpasswd.c:246
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "Komento ”%s --help” antaa lisää tietoa.\n"
#: ../mkpasswd.c:302
#, c-format
msgid "Wrong salt length: %d byte when %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d expected.\n"
msgstr[0] "Väärä suolan pituus: %d tavu, odotettiin %d.\n"
msgstr[1] "Väärä suolan pituus: %d tavua, odotettiin %d.\n"
#: ../mkpasswd.c:307
#, c-format
msgid "Wrong salt length: %d byte when %d <= n <= %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d <= n <= %d expected.\n"
msgstr[0] "Väärä suolan pituus: %d tavu, odotettiin %d <= n <= %d.\n"
msgstr[1] "Väärä suolan pituus: %d tavua, odotettiin kun %d <= n <= %d.\n"
#: ../mkpasswd.c:316
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr "Kielletty suolamerkki %c.\n"
#: ../mkpasswd.c:372 ../mkpasswd.c:385
#, c-format
msgid "Password: "
msgstr "Salasana: "
#: ../mkpasswd.c:404
#, c-format
msgid "Method not supported by crypt(3).\n"
msgstr "crypt(3)-funktio ei tue menetelmää.\n"
#: ../mkpasswd.c:512
#, c-format
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
"\n"
msgstr ""
"Käyttö: mkpasswd [VALITSIMET] ... [SALASANA] [SUOLA]]\n"
"Salaa SALASANAn crypt(3)-funktiolla.\n"
"\n"
#: ../mkpasswd.c:515
#, c-format
msgid ""
" -m, --method=TYPE select method TYPE\n"
" -5 like --method=md5crypt\n"
" -S, --salt=SALT use the specified SALT\n"
msgstr ""
" -m, --method=TYYPPI valitse menetelmä TYYPPI\n"
" -5 sama kuin --method=md5crypt\n"
" -S, --salt=SUOLA suolan valinta\n"
#: ../mkpasswd.c:520
#, c-format
msgid ""
" -R, --rounds=NUMBER use the specified NUMBER of rounds\n"
" -P, --password-fd=NUM read the password from file descriptor NUM\n"
" instead of /dev/tty\n"
" -s, --stdin like --password-fd=0\n"
msgstr ""
" -R, --rounds=MÄÄRÄ käytä annettua kierrosMÄÄRÄä\n"
" -P, --password-fd=NUM lue salasana tiedostokahvasta NUM\n"
" eikä terminaalista /dev/tty\n"
" -s, --stdin sama kuin --password-fd=0\n"
#: ../mkpasswd.c:526
#, c-format
msgid ""
" -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"
"If TYPE is 'help', available methods are printed.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
" -h, --help näytä tämä ohje ja poistu\n"
" -V, --version tulosta versiotiedot ja poistu\n"
"\n"
"Jos SALASANA puuttuu, sitä kysytään vuorovaikutteisesti.\n"
"Jos SUOLAa ei anneta, luodaan satunnainen.\n"
"Jos TYYPPI on ”help”, käytettävissä olevat menetelmät\n"
"tulostetaan.\n"
"\n"
"Lähetä bugiraportit osoitteeseen %s.\n"
#: ../mkpasswd.c:549
#, c-format
msgid "Available methods:\n"
msgstr "Käytettävissä olevat menetelmät:\n"

451
po/fr.po
View File

@ -1,20 +1,25 @@
#
# Traduction de whois.pot
# Copyright © 2003 William Steve Applegate <wsapplegate@est.un.goret.info>
#
# Translation of whois to French
# Copyright © 2003-2009 Debian French l10n team <debian-l10n-french@lists.debian.org>
# This file is distributed under the same license as the whois package.
# -2003: William Steve Applegate <wsapplegate@est.un.goret.info>
# -2008: Mohammed Adnène Trojette <adn+deb@diwi.org>
# 2013: Steve Petruzzello <dlist@bluewin.ch>
# 2019: Steve Petruzzello <dlist@bluewin.ch>
msgid ""
msgstr ""
"Project-Id-Version: whois 4.6.5\n"
"Project-Id-Version: whois 5.4.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2003-12-01 18:31+0100\n"
"PO-Revision-Date: 2003-06-13 04:16+0200\n"
"Last-Translator: William Steve Applegate <wsapplegate@est.un.goret.info>\n"
"Language-Team: French <fr@li.org>\n"
"POT-Creation-Date: 2022-01-03 17:52+0100\n"
"PO-Revision-Date: 2019-06-28 17:47+0200\n"
"Last-Translator: Steve Petruzzello <dlist@bluewin.ch>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-15\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
#: ../whois.c:108
#: ../whois.c:240
#, c-format
msgid ""
"Version %s.\n"
@ -23,286 +28,344 @@ msgid ""
msgstr ""
"Version %s.\n"
"\n"
"Rapportez les bugs à %s.\n"
"Veuillez signaler les bogues à %s.\n"
#: ../whois.c:151 ../whois.c:240
#, c-format
msgid "Using server %s.\n"
msgstr "Le serveur %s est sélectionné.\n"
#: ../whois.c:173
#, c-format
msgid "Using default server %s.\n"
msgstr "Le serveur par défaut %s est sélectionné.\n"
#: ../whois.c:176
#: ../whois.c:329
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
"Ce TLD n'a pas de serveur whois, mais vous pouvez accéder à la base de "
"données à"
"Ce TLD n'a pas de serveur whois, mais vous pouvez accéder à la base de "
"données à"
#: ../whois.c:182
#: ../whois.c:334
msgid "This TLD has no whois server."
msgstr "Ce TLD n'a pas de serveur whois."
#: ../whois.c:186
msgid "Connecting to whois.crsnic.net."
msgstr "Connexion à whois.crsnic.net."
#: ../whois.c:192 ../whois.c:203
#, c-format
msgid ""
"\n"
"Found a referral to %s.\n"
"\n"
msgstr ""
"\n"
"Renvoi trouvé vers %s.\n"
"\n"
#: ../whois.c:197
msgid "Connecting to whois.nic.cc."
msgstr "Connexion à whois.nic.cc."
#: ../whois.c:208
msgid "Connecting to whois.publicinterestregistry.net."
msgstr "Connexion à whois.publicinterestregistry.net."
#: ../whois.c:214
#, c-format
msgid ""
"\n"
"Found referral to %s.\n"
"\n"
msgstr ""
"\n"
"Renvoi trouvé vers %s.\n"
"\n"
#: ../whois.c:218
#: ../whois.c:337
msgid "No whois server is known for this kind of object."
msgstr "Aucun serveur whois n'est connu pour ce type d'objet."
#: ../whois.c:221
#: ../whois.c:340
msgid "Unknown AS number or IP network. Please upgrade this program."
msgstr "Numéro d'AS ou réseau IP inconnu. Veuillez mettre à jour ce programme."
msgstr "Numéro d'AS ou réseau IP inconnu. Veuillez mettre à jour ce programme."
#: ../whois.c:228
#: ../whois.c:344 ../whois.c:353 ../whois.c:388 ../whois.c:405
#, c-format
msgid "Using server %s.\n"
msgstr "Le serveur %s est sélectionné.\n"
#: ../whois.c:362
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a 6to4 IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Requête faite pour l'extrémité IPv4 %s d'une adresse IPv6 6to4.\n"
"\n"
#: ../whois.c:249
#: ../whois.c:369
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a Teredo IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Requête faite pour l'extrémité IPv4 %s d'une adresse IPv6 Teredo.\n"
"\n"
#: ../whois.c:406
#, c-format
msgid ""
"Query string: \"%s\"\n"
"\n"
msgstr ""
"Requête : \"%s\"\n"
"Requête : \"%s\"\n"
"\n"
#: ../whois.c:302 ../whois.c:305
#: ../whois.c:416
#, c-format
msgid ""
"\n"
"\n"
"Found a referral to %s.\n"
"\n"
msgstr ""
"\n"
"\n"
"Renvoi trouvé vers %s.\n"
"\n"
#: ../whois.c:458 ../whois.c:461
#, c-format
msgid "Cannot parse this line: %s"
msgstr "Impossible d'interpréter la ligne : %s"
msgstr "Impossible d'interpréter la ligne : %s"
#: ../whois.c:446
#: ../whois.c:650
msgid "Warning: RIPE flags used with a traditional server."
msgstr ""
"Avertissement : des options RIPE ont été utilisées avec un serveur classique."
"Avertissement : des options RIPE ont été utilisées avec un serveur classique."
#: ../whois.c:503
#, c-format
msgid "Detected referral to %s on %s.\n"
msgstr "Renvoi trouvé vers %s depuis %s.\n"
#: ../whois.c:520
#: ../whois.c:823 ../whois.c:939
msgid ""
"Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n"
msgstr ""
"Erreur catastrophique : le texte de déni de responsabilité a changé.\n"
"Veuillez mettre à jour ce programme.\n"
"Erreur catastrophique : le texte d'avertissement a changé.\n"
"Veuillez mettre à jour ce programme.\n"
#: ../whois.c:639
#: ../whois.c:1040
#, c-format
msgid "Host %s not found."
msgstr "L'hôte %s est introuvable."
msgstr "L'hôte %s est introuvable."
#: ../whois.c:649
#: ../whois.c:1050
#, c-format
msgid "%s/tcp: unknown service"
msgstr "%s/tcp : service inconnu"
msgstr "%s/tcp : service inconnu"
#: ../whois.c:661
#: ../whois.c:1125
msgid "Timeout."
msgstr "Temps limite dépassé."
msgstr "Temps limite dépassé."
#: ../whois.c:667
#: ../whois.c:1131
#, c-format
msgid "Interrupted by signal %d..."
msgstr "Interruption par le signal %d..."
#: ../whois.c:728
#: ../whois.c:1499
#, c-format
msgid ""
"Usage: whois [OPTION]... OBJECT...\n"
"\n"
"-l one level less specific lookup [RPSL only]\n"
"-L find all Less specific matches\n"
"-m find first level more specific matches\n"
"-M find all More specific matches\n"
"-c find the smallest match containing a mnt-irt "
"attribute\n"
"-x exact match [RPSL only]\n"
"-d return DNS reverse delegation objects too [RPSL "
"only]\n"
"-i ATTR[,ATTR]... do an inverse lookup for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned [RPSL only]\n"
"-r turn off recursive lookups for contact information\n"
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a search all databases\n"
"-s SOURCE[,SOURCE]... search the database from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
"-t TYPE request template for object of TYPE ('all' for a "
"list)\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info [RPSL only]\n"
"-F fast raw output (implies -r)\n"
"-h HOST connect to server HOST\n"
"-p PORT connect to PORT\n"
"-h HOST, --host HOST connect to server HOST\n"
"-p PORT, --port PORT connect to PORT\n"
"-I query whois.iana.org and follow its referral\n"
"-H hide legal disclaimers\n"
" --verbose explain what is being done\n"
" --help display this help and exit\n"
" --version output version information and exit\n"
msgstr ""
"Usage: whois [OPTION]... OBJET...\n"
"\n"
"-l réduit d'un niveau la spécificité de la recherche "
"[RPSL seulement]\n"
"-L trouver toutes les occurrences moins spécifiques\n"
"-m trouver les occurrences de premier niveau plus "
"spécifiques\n"
"-M trouver toutes les occurrences plus spécifiques\n"
"-c trouver l'occurrence la plus spécifique contenant un "
"attribut mnt-irt\n"
"-x occurrences exactes [RPSL seulement]\n"
"-d renvoyer aussi les objets de délégation DNS inverse "
"[RPSL seulement]\n"
"-i ATTR[,ATTR]... effectuer une recherche inverse pour les ATTRibuts "
"spécifiés\n"
"-T TYPE[,TYPE]... chercher seulement les objets de ce TYPE\n"
"-K seules les clés primaires sont renvoyées [RPSL "
"seulement]\n"
"-r désactiver la recherche récursive des informations de "
"contact\n"
"-R forcer l'affichage de la copie locale de l'objet de "
"domaine,\n"
" même s'il contient un renvoi\n"
"-a rechercher dans toutes les bases de données\n"
"-s SOURCE[,SOURCE]... rechercher dans la base de la SOURCE\n"
"-g SOURCE:PREM-DERN trouver les mises à jour de la SOURCE ayant des "
"numéros de série compris entre PREM et DERN\n"
"-t TYPE demander la syntaxe pour les objets de ce TYPE ('all' "
"donne une liste)\n"
"-v TYPE demander la syntaxe détaillée pour les objets de ce "
"TYPE\n"
"-q [version|sources|types] demander les informations spécifiées au serveur "
"[RPSL seulement]\n"
"-F sortie rapide au format brut (l'option -r est "
"implicite)\n"
"-h HOTE se connecter au serveur HOTE\n"
"-p PORT se connecter à ce PORT\n"
"-H cacher les textes légaux de déni de responsabilité\n"
" --verbose détailler les actions entreprises\n"
" --help afficher cette page d'aide et sortir\n"
" --version afficher les informations de version et sortir\n"
"-h HÔTE, --host HÔTE se connecter au serveur HÔTE\n"
"-p PORT, --port PORT se connecter sur le port PORT\n"
"-I interroger whois.iana.org et suivre son référent-"
"H cacher les mentions légales\n"
#: ../mkpasswd.c:55
msgid "\tstandard 56 bit DES-based crypt(3)"
msgstr "\tfonction crypt(3) standard, cryptage DES à 56 bits"
#: ../whois.c:1506
#, fuzzy, c-format
msgid ""
" --verbose explain what is being done\n"
" --no-recursion disable recursion from registry to registrar servers\n"
" --help display this help and exit\n"
" --version output version information and exit\n"
"\n"
msgstr ""
" --verbose mode verbeux\n"
" --help afficher cette aide et sortir\n"
" --version afficher la version et sortir\n"
"\n"
#: ../mkpasswd.c:96
#: ../whois.c:1513
#, c-format
msgid "Invalid hash type '%s'.\n"
msgstr "Le type de hachage '%s' est invalide.\n"
msgid ""
"These flags are supported by whois.ripe.net and some RIPE-like servers:\n"
"-l find the one level less specific match\n"
"-L find all levels less specific matches\n"
"-m find all one level more specific matches\n"
"-M find all levels of more specific matches\n"
msgstr ""
"Ces drapeaux sont gérés par le serveur whois.ripe.net et quelques serveurs "
"de type RIPE :\n"
"-l réduire d'un niveau la spécificité de la recherche\n"
"-L trouver toutes les occurrences moins spécifiques\n"
"-m trouver les occurrences de premier niveau plus "
"spécifiques\n"
"-M trouver toutes les occurrences plus spécifiques\n"
#: ../mkpasswd.c:105
#: ../whois.c:1520
#, c-format
msgid ""
"-c find the smallest match containing a mnt-irt "
"attribute\n"
"-x exact match\n"
"-b return brief IP address ranges with abuse contact\n"
msgstr ""
"-c trouver l'occurrence la plus spécifique contenant un "
"attribut mnt-irt\n"
"-x occurrence exacte\n"
"-b afficher la plage des adresses IP avec l'information "
"d'abus\n"
#: ../whois.c:1525
#, c-format
msgid ""
"-B turn off object filtering (show email addresses)\n"
"-G turn off grouping of associated objects\n"
"-d return DNS reverse delegation objects too\n"
msgstr ""
"-B désactiver le filtrage d'objet (montrer les adresses "
"électroniques)\n"
"-G désactiver le groupement des objets associés\n"
"-d afficher aussi les objets de délégation DNS inverse\n"
#: ../whois.c:1530
#, c-format
msgid ""
"-i ATTR[,ATTR]... do an inverse look-up for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned\n"
"-r turn off recursive look-ups for contact information\n"
msgstr ""
"-i ATTR[,ATTR]... effectuer une recherche inverse pour les ATTRibuts "
"spécifiés\n"
"-T TYPE[,TYPE]... chercher seulement les objets de ce TYPE\n"
"-K seules les clés primaires sont renvoyées\n"
"-r désactiver la recherche récursive des informations de "
"contact\n"
#: ../whois.c:1536
#, c-format
msgid ""
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a also search all the mirrored databases\n"
"-s SOURCE[,SOURCE]... search the database mirrored from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
msgstr ""
"-R forcer l'affichage de la copie locale de l'objet de "
"domaine même\n"
" s'il contient un renvoi\n"
"-a rechercher aussi dans toutes les bases de données "
"miroir\n"
"-s SOURCE[,SOURCE]... rechercher dans la base de données miroir de SOURCE\n"
"-g SOURCE:PREM-DERN trouver les mises à jour de la SOURCE ayant des "
"numéros\n"
" de série entre PREM et DERN\n"
#: ../whois.c:1543
#, c-format
msgid ""
"-t TYPE request template for object of TYPE\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info\n"
msgstr ""
"-t TYPE demander la syntaxe pour les objets de ce TYPE\n"
"-v TYPE demander la syntaxe détaillée pour les objets de ce "
"TYPE\n"
"-q [version|sources|types] demander les informations spécifiées au serveur\n"
#: ../mkpasswd.c:135
msgid "BSDI extended DES-based crypt(3)"
msgstr "chiffrement à base DES étendu par BSDI"
#: ../mkpasswd.c:138
msgid "standard 56 bit DES-based crypt(3)"
msgstr "fonction crypt(3) standard, chiffrement DES à 56 bits"
#: ../mkpasswd.c:207
#, c-format
msgid "Invalid method '%s'.\n"
msgstr "La méthode « %s » est invalide.\n"
#: ../mkpasswd.c:216 ../mkpasswd.c:228
#, c-format
msgid "Invalid number '%s'.\n"
msgstr "Le nombre '%s' est invalide.\n"
msgstr "Le nombre « %s » est invalide.\n"
#: ../mkpasswd.c:123
#: ../mkpasswd.c:246
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "Tapez '%s --help' pour plus d'informations.\n"
msgstr "Veuillez taper « %s --help » pour plus d'informations.\n"
# : ../mkpasswd.c:152
#: ../mkpasswd.c:152
#: ../mkpasswd.c:292
#, c-format
msgid "Wrong salt length: %d byte(s) when %d expected.\n"
msgstr "Mauvaise taille de graine : %d octet(s) au lieu de %d.\n"
msgid "Wrong salt length: %d byte when %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d expected.\n"
msgstr[0] "Mauvaise taille d'aléa : %d octet au lieu de %d.\n"
msgstr[1] "Mauvaise taille d'aléa : %d octets au lieu de %d.\n"
#: ../mkpasswd.c:158
# : ../mkpasswd.c:152
#: ../mkpasswd.c:297
#, c-format
msgid "Wrong salt length: %d byte when %d <= n <= %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d <= n <= %d expected.\n"
msgstr[0] "Mauvaise taille d'aléa : %d octet, non comprise entre %d et %d.\n"
msgstr[1] "Mauvaise taille d'aléa : %d octets, non comprise entre %d et %d.\n"
#: ../mkpasswd.c:306
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr "Le caractère '%c' est invalide dans la graine.\n"
msgstr "Le caractère « %c » est invalide dans l'aléa.\n"
#: ../mkpasswd.c:172 ../mkpasswd.c:199
msgid "Password: "
msgstr "Mot de passe : "
#: ../mkpasswd.c:193
#: ../mkpasswd.c:357 ../mkpasswd.c:370
#, c-format
msgid "Illegal password character '0x%hhx'.\n"
msgstr "Le caractère '0x%hhx' est invalide dans le mot de passe.\n"
msgid "Password: "
msgstr "Mot de passe : "
#: ../mkpasswd.c:230
#: ../mkpasswd.c:389
#, c-format
msgid "Method not supported by crypt(3).\n"
msgstr "Méthode non prise en charge par crypt(3).\n"
#: ../mkpasswd.c:497
#, c-format
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
"\n"
msgstr ""
"Usage : mkpasswd [OPTIONS]... [MOT DE PASSE [GRAINE]]\n"
"Crypte le MOT DE PASSE à l'aide de la fonction crypt(3).\n"
"Usage : mkpasswd [OPTIONS]... [MOT DE PASSE [ALÉA]]\n"
"Chiffre le MOT DE PASSE à l'aide de la fonction crypt(3).\n"
"\n"
#: ../mkpasswd.c:233
#: ../mkpasswd.c:500
#, c-format
msgid ""
" -H, --hash=TYPE select hash TYPE\n"
" -m, --method=TYPE select method TYPE\n"
" -5 like --method=md5crypt\n"
" -S, --salt=SALT use the specified SALT\n"
msgstr ""
" -m, --method=TYPE sélectionner ce TYPE de méthode\n"
" -5 équivalent à --method=md5crypt\n"
" -S, --salt=ALÉA utiliser cet ALÉA\n"
#: ../mkpasswd.c:505
#, c-format
msgid ""
" -R, --rounds=NUMBER use the specified NUMBER of rounds\n"
" -P, --password-fd=NUM read the password from file descriptor NUM\n"
" instead of /dev/tty\n"
" -s, --stdin like --password-fd=0\n"
msgstr ""
" -R, --rounds=NOMBRE utiliser le NOMBRE de passages indiqué\n"
" -P, --password-fd=NUM lire le mot de passe depuis le descripteur de\n"
" fichier NUM\n"
" au lieu de /dev/tty\n"
" -s, --stdin équivalent à --password-fd=0\n"
#: ../mkpasswd.c:511
#, c-format
msgid ""
" -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"
"If TYPE is missing available algorithms are printed.\n"
"If TYPE is 'help', available methods are printed.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
" -H, --hash=TYPE sélectionner ce TYPE de hachage\n"
" -S, --salt=GRAINE utiliser cette GRAINE\n"
" -P, --password-fd=NUM lire le mot de passe depuis le descripteur de "
"fichier NUM\n"
" au lieu de /dev/tty\n"
" -s, --stdin équivalent à --password-fd=0\n"
" -h, --help afficher cette page d'aide et sortir\n"
" -V, --version afficher les informations de version et sortir\n"
"\n"
"Si le MOT DE PASSE est manquant, il est demandé interactivement.\n"
"Si aucune GRAINE n'est spécifiée, une graine aléatoire est générée.\n"
"Si le TYPE est manquant, les algorithmes disponibles sont affichés.\n"
"Si le MOT DE PASSE est manquant, il est demandé interactivement.\n"
"Si aucun ALÉA n'est spécifié, un aléa aléatoire est généré.\n"
"Si le TYPE est « help », les méthodes disponibles sont affichées.\n"
"\n"
"Rapportez les bugs à %s.\n"
"Veuillez signaler les bogues à %s.\n"
#: ../mkpasswd.c:260
msgid "Available algorithms:\n"
msgstr "Algorithmes disponibles :\n"
#: ../mkpasswd.c:534
#, c-format
msgid "Available methods:\n"
msgstr "Méthodes disponibles :\n"

380
po/it.po
View File

@ -1,20 +1,21 @@
# Traduzione di whois.pot.
# Copyright (C) 1999-2000 Marco d'Itri
# Marco d'Itri <md@linux.it>, 2000.
# Copyright (C) 1999-2021 Marco d'Itri
#
msgid ""
msgstr ""
"Project-Id-Version: whois 4.6.21\n"
"Project-Id-Version: whois 5.0.24\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2003-12-01 18:31+0100\n"
"PO-Revision-Date: 2004-08-25 12:41+0200\n"
"POT-Creation-Date: 2022-01-03 17:52+0100\n"
"PO-Revision-Date: 2022-01-03 18:13+0200\n"
"Last-Translator: Marco d'Itri <md@linux.it>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
#: ../whois.c:108
#: ../whois.c:240
#, c-format
msgid ""
"Version %s.\n"
@ -25,69 +26,30 @@ msgstr ""
"\n"
"Segnalare i bug a %s.\n"
#: ../whois.c:151 ../whois.c:240
#, c-format
msgid "Using server %s.\n"
msgstr "Uso il server %s.\n"
#: ../whois.c:173
#, c-format
msgid "Using default server %s.\n"
msgstr "Uso il server predefinito %s.\n"
#: ../whois.c:176
#: ../whois.c:329
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"
"Questo TLD non ha un server whois, ma si può accedere al database tramite"
#: ../whois.c:182
#: ../whois.c:334
msgid "This TLD has no whois server."
msgstr "Per questo TLD non esiste un server whois."
msgstr "Non esiste un server whois per questo TLD."
#: ../whois.c:186
msgid "Connecting to whois.crsnic.net."
msgstr "Mi sto connettendo a whois.crsnic.net."
#: ../whois.c:192 ../whois.c:203
#, c-format
msgid ""
"\n"
"Found a referral to %s.\n"
"\n"
msgstr ""
"\n"
"Trovato un riferimento a %s.\n"
"\n"
#: ../whois.c:197
msgid "Connecting to whois.nic.cc."
msgstr "Mi sto connettendo a whois.nic.cc."
#: ../whois.c:208
msgid "Connecting to whois.publicinterestregistry.net."
msgstr "Mi sto connettendo a whois.publicinterestregistry.net."
#: ../whois.c:214
#, c-format
msgid ""
"\n"
"Found referral to %s.\n"
"\n"
msgstr ""
"\n"
"Trovato un riferimento a %s.\n"
"\n"
#: ../whois.c:218
#: ../whois.c:337
msgid "No whois server is known for this kind of object."
msgstr "Non è noto alcun server whois per questo tipo di oggetto."
msgstr "Non è noto alcun server whois per questo tipo di oggetto."
#: ../whois.c:221
#: ../whois.c:340
msgid "Unknown AS number or IP network. Please upgrade this program."
msgstr ""
"Numero dell'AS o della rete IP sconosciuto. Per favore aggiorna il programma."
#: ../whois.c:228
#: ../whois.c:344 ../whois.c:353 ../whois.c:388 ../whois.c:405
#, c-format
msgid "Using server %s.\n"
msgstr "Uso il server %s.\n"
#: ../whois.c:362
#, c-format
msgid ""
"\n"
@ -98,7 +60,18 @@ msgstr ""
"Cerco l'endpoint IPv4 %s di un indirizzo IPv6 6to4.\n"
"\n"
#: ../whois.c:249
#: ../whois.c:369
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a Teredo IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Cerco l'endpoint IPv4 %s di un indirizzo IPv6 Teredo.\n"
"\n"
#: ../whois.c:406
#, c-format
msgid ""
"Query string: \"%s\"\n"
@ -107,154 +80,220 @@ msgstr ""
"Richiesta: \"%s\"\n"
"\n"
#: ../whois.c:302 ../whois.c:305
#: ../whois.c:416
#, c-format
msgid ""
"\n"
"\n"
"Found a referral to %s.\n"
"\n"
msgstr ""
"\n"
"\n"
"Trovato un riferimento a %s.\n"
"\n"
#: ../whois.c:458 ../whois.c:461
#, c-format
msgid "Cannot parse this line: %s"
msgstr "Impossibile interpretare questa riga: %s"
#: ../whois.c:446
#: ../whois.c:650
msgid "Warning: RIPE flags used with a traditional server."
msgstr "Attenzione: sono stati usati dei flag RIPE con un server tradizionale."
#: ../whois.c:503
#, c-format
msgid "Detected referral to %s on %s.\n"
msgstr "Trovato un riferimento a %s su %s.\n"
#: ../whois.c:520
#: ../whois.c:823 ../whois.c:939
msgid ""
"Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n"
msgstr ""
"Errore catastrofico: il testo di avvertenze è cambiato.\n"
"Errore catastrofico: il testo di avvertenze è cambiato.\n"
"Aggiorna questo programma.\n"
#: ../whois.c:639
#: ../whois.c:1040
#, c-format
msgid "Host %s not found."
msgstr "Host %s non trovato."
#: ../whois.c:649
#: ../whois.c:1050
#, c-format
msgid "%s/tcp: unknown service"
msgstr "%s/tcp: servizio sconosciuto"
#: ../whois.c:661
#: ../whois.c:1125
msgid "Timeout."
msgstr "Tempo scaduto."
#: ../whois.c:667
#: ../whois.c:1131
#, c-format
msgid "Interrupted by signal %d..."
msgstr "Interrotto dal segnale %d..."
#: ../whois.c:728
#: ../whois.c:1499
#, c-format
msgid ""
"Usage: whois [OPTION]... OBJECT...\n"
"\n"
"-l one level less specific lookup [RPSL only]\n"
"-L find all Less specific matches\n"
"-m find first level more specific matches\n"
"-M find all More specific matches\n"
"-c find the smallest match containing a mnt-irt "
"attribute\n"
"-x exact match [RPSL only]\n"
"-d return DNS reverse delegation objects too [RPSL "
"only]\n"
"-i ATTR[,ATTR]... do an inverse lookup for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned [RPSL only]\n"
"-r turn off recursive lookups for contact information\n"
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a search all databases\n"
"-s SOURCE[,SOURCE]... search the database from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
"-t TYPE request template for object of TYPE ('all' for a "
"list)\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info [RPSL only]\n"
"-F fast raw output (implies -r)\n"
"-h HOST connect to server HOST\n"
"-p PORT connect to PORT\n"
"-h HOST, --host HOST connect to server HOST\n"
"-p PORT, --port PORT connect to PORT\n"
"-I query whois.iana.org and follow its referral\n"
"-H hide legal disclaimers\n"
" --verbose explain what is being done\n"
" --help display this help and exit\n"
" --version output version information and exit\n"
msgstr ""
"Uso: whois [OPZIONE]... OGGETTO...\n"
"\n"
"-l trova le corrispondenze un livello meno specifiche "
"[RPSL]\n"
"-L trova le corrispondenze meno specifiche\n"
"-m trova le corrispondenze di primo livello più specifiche\n"
"-M trova le corrispondenze più specifiche\n"
"-c trova le corrispondenze più specifica contenente un\n"
" attributo mnt-irt [solo RPSL]\n"
"-x trova solo la corrispondenza esatta [solo RPSL]\n"
"-d restituisce anche gli oggetti della delega del DNS "
"[RPSL]\n"
"-i ATTR[,ATTR]... fa una ricerca inversa per l'ATTRibuto specificato\n"
"-T TIPO[,TIPO]... cerca solo oggetti del TIPO\n"
"-K restituisce solo le chiavi primarie [solo RPSL]\n"
"-r disabilita le ricerche ricorsive\n"
"-R mostra la copia locale dell'oggetto domain anche se\n"
" contiene un riferimento\n"
"-a cerca in tutti i database\n"
"-s SOURCE[,SOURCE]... cerca il database da SOURCE\n"
"-g SOURCE:FIRST-LAST trova gli aggiornamenti di SOURCE dal seriale F a L\n"
"-t TIPO chiede il template per un oggetto del TIPO ('all' per una "
"lista)\n"
"-v TIPO chiede il template prolisso per un oggetto del TIPO\n"
"-q [version|sources|types] chiede al server le informazioni indicate "
"[RPSL]\n"
"-F output grezzo veloce (implica -r)\n"
"-h HOST si connette al server HOST\n"
"-p PORTA si connette alla PORTA\n"
"-h HOST, --host HOST si connette al server HOST\n"
"-p PORTA, --port PORTA si connette alla PORTA\n"
"-I chiede a whois.iana.org e segue il rinvio\n"
"-H nasconde le avvertenze legali\n"
#: ../whois.c:1506
#, c-format
msgid ""
" --verbose explain what is being done\n"
" --no-recursion disable recursion from registry to registrar servers\n"
" --help display this help and exit\n"
" --version output version information and exit\n"
"\n"
msgstr ""
" --verbose spiega cosa sta facendo\n"
" --no-recursion disattiva la ricorsione dal registry al registrar\n"
" --help mostra questo aiuto ed esce\n"
" --version stampa le informazioni sulla versione ed esce\n"
"\n"
#: ../mkpasswd.c:55
msgid "\tstandard 56 bit DES-based crypt(3)"
msgstr "\tcrypt(3) standard a 56 bit basata su DES"
#: ../mkpasswd.c:96
#: ../whois.c:1513
#, c-format
msgid "Invalid hash type '%s'.\n"
msgstr "Il tipo di hash '%s' non è valido.\n"
msgid ""
"These flags are supported by whois.ripe.net and some RIPE-like servers:\n"
"-l find the one level less specific match\n"
"-L find all levels less specific matches\n"
"-m find all one level more specific matches\n"
"-M find all levels of more specific matches\n"
msgstr ""
"Le seguenti opzioni sono gestite da whois.ripe.net e alcuni server simili:\n"
"-l trova la corrispondenza un livello meno specifica\n"
"-L trova le corrispondenze meno specifiche a tutti i "
"livelli\n"
"-m trova le corrispondenze di primo livello più specifiche\n"
"-M trova le corrispondenze più specifiche a tutti i livelli\n"
#: ../mkpasswd.c:105
#: ../whois.c:1520
#, c-format
msgid ""
"-c find the smallest match containing a mnt-irt "
"attribute\n"
"-x exact match\n"
"-b return brief IP address ranges with abuse contact\n"
msgstr ""
"-c trova la corrispondenza più specifica contenente un\n"
" attributo mnt-irt\n"
"-x trova solo la corrispondenza esatta\n"
"-b mostra solo la rete IP con il contatto per gli abusi\n"
#: ../whois.c:1525
#, c-format
msgid ""
"-B turn off object filtering (show email addresses)\n"
"-G turn off grouping of associated objects\n"
"-d return DNS reverse delegation objects too\n"
msgstr ""
"-B non filtra gli oggetti (mostra gli indirizzi di e-mail)\n"
"-G non raggruppa gli oggetti collegati\n"
"-d restituisce anche gli oggetti della delega del DNS\n"
#: ../whois.c:1530
#, c-format
msgid ""
"-i ATTR[,ATTR]... do an inverse look-up for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned\n"
"-r turn off recursive look-ups for contact information\n"
msgstr ""
"-i ATTR[,ATTR]... fa una ricerca inversa per l'ATTRibuto specificato\n"
"-T TIPO[,TIPO]... cerca solo oggetti del TIPO\n"
"-K restituisce solo le chiavi primarie\n"
"-r disabilita le ricerche ricorsive per i contatti\n"
#: ../whois.c:1536
#, c-format
msgid ""
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a also search all the mirrored databases\n"
"-s SOURCE[,SOURCE]... search the database mirrored from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
msgstr ""
"-R mostra la copia locale dell'oggetto domain anche se\n"
" contiene un riferimento\n"
"-a cerca anche in tutti i database replicati\n"
"-s SOURCE[,SOURCE]... cerca il database replicato da SOURCE\n"
"-g SOURCE:FIRST-LAST trova gli aggiornamenti di SOURCE dal seriale F a L\n"
#: ../whois.c:1543
#, c-format
msgid ""
"-t TYPE request template for object of TYPE\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info\n"
msgstr ""
"-t TIPO chiede il template per un oggetto del TIPO\n"
"-v TIPO chiede il template prolisso per un oggetto del TIPO\n"
"-q [version|sources|types] chiede al server le informazioni indicate\n"
#: ../mkpasswd.c:135
msgid "BSDI extended DES-based crypt(3)"
msgstr "crypt(3) estesa di BSDI basata su DES"
#: ../mkpasswd.c:138
msgid "standard 56 bit DES-based crypt(3)"
msgstr "crypt(3) standard a 56 bit basata su DES"
#: ../mkpasswd.c:207
#, c-format
msgid "Invalid method '%s'.\n"
msgstr "Il metodo '%s' non è valido.\n"
#: ../mkpasswd.c:216 ../mkpasswd.c:228
#, c-format
msgid "Invalid number '%s'.\n"
msgstr "Il numero '%s' non è valido.\n"
msgstr "Il numero '%s' non è valido.\n"
#: ../mkpasswd.c:123
#: ../mkpasswd.c:246
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "Per maggior informazioni prova '%s --help'.\n"
#: ../mkpasswd.c:152
#: ../mkpasswd.c:292
#, c-format
msgid "Wrong salt length: %d byte(s) when %d expected.\n"
msgstr "Lunghezza del sale sbagliata: %d byte invece di %d.\n"
msgid "Wrong salt length: %d byte when %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d expected.\n"
msgstr[0] "Lunghezza del sale sbagliata: %d byte invece di %d.\n"
msgstr[1] "Lunghezza del sale sbagliata: %d byte invece di %d.\n"
#: ../mkpasswd.c:158
#: ../mkpasswd.c:297
#, c-format
msgid "Wrong salt length: %d byte when %d <= n <= %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d <= n <= %d expected.\n"
msgstr[0] "Lunghezza del sale sbagliata: %d byte invece di %d <= n <= %d.\n"
msgstr[1] "Lunghezza del sale sbagliata: %d byte invece di %d <= n <= %d.\n"
#: ../mkpasswd.c:306
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr "Il carattere '%c' non è valido in un sale.\n"
msgstr "Il carattere '%c' non è valido in un sale.\n"
#: ../mkpasswd.c:172 ../mkpasswd.c:199
#: ../mkpasswd.c:357 ../mkpasswd.c:370
#, c-format
msgid "Password: "
msgstr "Password: "
#: ../mkpasswd.c:193
#: ../mkpasswd.c:389
#, c-format
msgid "Illegal password character '0x%hhx'.\n"
msgstr "Il carattere '0x%hhx' non è valido in una password.\n"
msgid "Method not supported by crypt(3).\n"
msgstr "Metodo non gestito da crypt(3).\n"
#: ../mkpasswd.c:230
#: ../mkpasswd.c:497
#, c-format
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
@ -264,37 +303,52 @@ msgstr ""
"Cifra la PASSWORD usando crypt(3).\n"
"\n"
#: ../mkpasswd.c:233
#: ../mkpasswd.c:500
#, c-format
msgid ""
" -H, --hash=TYPE select hash TYPE\n"
" -m, --method=TYPE select method TYPE\n"
" -5 like --method=md5crypt\n"
" -S, --salt=SALT use the specified SALT\n"
msgstr ""
" -m, --method=TIPO seleziona il TIPO di metodo\n"
" -5 come --method=md5crypt\n"
" -S, --salt=SALE usa il SALE specificato\n"
#: ../mkpasswd.c:505
#, c-format
msgid ""
" -R, --rounds=NUMBER use the specified NUMBER of rounds\n"
" -P, --password-fd=NUM read the password from file descriptor NUM\n"
" instead of /dev/tty\n"
" -s, --stdin like --password-fd=0\n"
msgstr ""
" -R, --rounds=NUMBER usa il NUMERO indicato di iterazioni\n"
" -P, --password-fd=NUM legge la password dal file descriptor NUM\n"
" invece che da /dev/tty\n"
" -s, --stdin come --password-fd=0\n"
#: ../mkpasswd.c:511
#, c-format
msgid ""
" -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"
"If TYPE is missing available algorithms are printed.\n"
"If TYPE is 'help', available methods are printed.\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"
" -P, --password-fd=NUM legge la password dal file descriptor NUM\n"
" invece che da /dev/tty\n"
" -s, --stdin come --password-fd=0\n"
" -h, --help mostra questo aiuto ed esce\n"
" -v, --version mostra le informazioni sulla versione 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"
"Se il TIPO è 'help' viene stampata la lista degli algoritmi disponibili.\n"
"Se la PASSWORD non è specificata viene chiesta interattivamente.\n"
"Se il SALE non è specificato ne viene generato uno casuale.\n"
"Se il TIPO è 'help' viene stampata la lista degli algoritmi disponibili.\n"
"\n"
"Segnalare i bug a %s.\n"
#: ../mkpasswd.c:260
msgid "Available algorithms:\n"
msgstr "Algoritmi disponibili:\n"
#: ../mkpasswd.c:534
#, c-format
msgid "Available methods:\n"
msgstr "Metodi disponibili:\n"

346
po/ja.po Normal file
View File

@ -0,0 +1,346 @@
# ja.po for whois
# Copyright (C) 2005 Marco d'Itri <md@linux.it>
# This file is distributed under the same license as the whois package.
# Satoru SATOH <ss@gnome.gr.jp>, 2005.
#
msgid ""
msgstr ""
"Project-Id-Version: whois 4.7.2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-01-03 17:52+0100\n"
"PO-Revision-Date: 2005-04-26 00:20+0900\n"
"Last-Translator: Satoru SATOH\n"
"Language-Team: Japanese\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../whois.c:240
#, c-format
msgid ""
"Version %s.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
"バージョン %s.\n"
"\n"
"バグ報告は %s へ.\n"
#: ../whois.c:329
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
"この TLD には whois サーバーがありませんが、次のサーバーで whois データベース"
"にアクセスできます"
#: ../whois.c:334
msgid "This TLD has no whois server."
msgstr "この TLD には whois サーバーがありません"
#: ../whois.c:337
msgid "No whois server is known for this kind of object."
msgstr "この種のオブジェクトに対する既知の whois サーバーはありません"
#: ../whois.c:340
msgid "Unknown AS number or IP network. Please upgrade this program."
msgstr "不明な AS 番号または IP ネットワーク. アップグレードして下さい"
#: ../whois.c:344 ../whois.c:353 ../whois.c:388 ../whois.c:405
#, c-format
msgid "Using server %s.\n"
msgstr "サーバー %s を使用\n"
#: ../whois.c:362
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a 6to4 IPv6 address.\n"
"\n"
msgstr ""
"\n"
"6to4 IPv6 アドレスの IPv4 終端 %s を問い合わせ中\n"
"\n"
#: ../whois.c:369
#, fuzzy, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a Teredo IPv6 address.\n"
"\n"
msgstr ""
"\n"
"6to4 IPv6 アドレスの IPv4 終端 %s を問い合わせ中\n"
"\n"
#: ../whois.c:406
#, c-format
msgid ""
"Query string: \"%s\"\n"
"\n"
msgstr ""
"問い合わせ文字列: \"%s\"\n"
"\n"
#: ../whois.c:416
#, c-format
msgid ""
"\n"
"\n"
"Found a referral to %s.\n"
"\n"
msgstr ""
"\n"
"\n"
"%s への照会をみつけました\n"
"\n"
#: ../whois.c:458 ../whois.c:461
#, c-format
msgid "Cannot parse this line: %s"
msgstr "この行を解析できません: %s"
#: ../whois.c:650
msgid "Warning: RIPE flags used with a traditional server."
msgstr "警告: 旧来のサーバーについて RIPE フラグが使用されています"
#: ../whois.c:823 ../whois.c:939
msgid ""
"Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n"
msgstr ""
"破滅的なエラー: 免責条項テキストが変更されました\n"
"このプログラムをアップグレードして下さい\n"
#: ../whois.c:1040
#, c-format
msgid "Host %s not found."
msgstr "ホスト %s はみつかりませんでした"
#: ../whois.c:1050
#, c-format
msgid "%s/tcp: unknown service"
msgstr "%s/tcp: 不明なサービス"
#: ../whois.c:1125
msgid "Timeout."
msgstr "時間切れ"
#: ../whois.c:1131
#, c-format
msgid "Interrupted by signal %d..."
msgstr "シグナル %d が割込み..."
#: ../whois.c:1499
#, fuzzy, c-format
msgid ""
"Usage: whois [OPTION]... OBJECT...\n"
"\n"
"-h HOST, --host HOST connect to server HOST\n"
"-p PORT, --port PORT connect to PORT\n"
"-I query whois.iana.org and follow its referral\n"
"-H hide legal disclaimers\n"
msgstr ""
"-h HOST サーバー HOST に接続\n"
"-p PORT PORT に接続\n"
"-H 法的責任棄却声明を表示しない\n"
#: ../whois.c:1506
#, fuzzy, c-format
msgid ""
" --verbose explain what is being done\n"
" --no-recursion disable recursion from registry to registrar servers\n"
" --help display this help and exit\n"
" --version output version information and exit\n"
"\n"
msgstr ""
" --verbose 進捗について詳細に説明\n"
" --help このヘルプを表示して終了\n"
" --version バージョン情報を表示して終了\n"
"\n"
#: ../whois.c:1513
#, c-format
msgid ""
"These flags are supported by whois.ripe.net and some RIPE-like servers:\n"
"-l find the one level less specific match\n"
"-L find all levels less specific matches\n"
"-m find all one level more specific matches\n"
"-M find all levels of more specific matches\n"
msgstr ""
#: ../whois.c:1520
#, fuzzy, c-format
msgid ""
"-c find the smallest match containing a mnt-irt "
"attribute\n"
"-x exact match\n"
"-b return brief IP address ranges with abuse contact\n"
msgstr "-x 厳密にマッチ\n"
#: ../whois.c:1525
#, fuzzy, c-format
msgid ""
"-B turn off object filtering (show email addresses)\n"
"-G turn off grouping of associated objects\n"
"-d return DNS reverse delegation objects too\n"
msgstr "-d DNS 逆向き移譲オブジェクトも返す\n"
#: ../whois.c:1530
#, fuzzy, c-format
msgid ""
"-i ATTR[,ATTR]... do an inverse look-up for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned\n"
"-r turn off recursive look-ups for contact information\n"
msgstr ""
"-i ATTR[,ATTR]... 指定属性 ATTR について逆引き\n"
"-T TYPE[,TYPE]... TYPE オブジェクトのみについて検索\n"
"-K 主キーのみ返す\n"
"-r コンタクト情報について再帰検索しない\n"
#: ../whois.c:1536
#, fuzzy, c-format
msgid ""
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a also search all the mirrored databases\n"
"-s SOURCE[,SOURCE]... search the database mirrored from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
msgstr ""
"-R 照会が含まれていても強制的にドメインオブジェクトの\n"
" ローカルコピーを表示\n"
"-a すべてのデータベースを検索\n"
"-s SOURCE[,SOURCE]... SOURCE からデータベースを検索\n"
"-g SOURCE:FIRST-LAST SOURCE (シリアル FIRST から LAST まで)から更新を検索\n"
#: ../whois.c:1543
#, fuzzy, c-format
msgid ""
"-t TYPE request template for object of TYPE\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info\n"
msgstr ""
"-t TYPE TYPE オブジェクトについてテンプレートを要求 (リストは "
"'all')\n"
"-v TYPE TYPE オブジェクトについて冗長なテンプレートを要求\n"
"-q [version|sources|types] 指定サーバー情報を問い合わせ\n"
#: ../mkpasswd.c:135
#, fuzzy
msgid "BSDI extended DES-based crypt(3)"
msgstr "\t標準 56 ビット DES ベース暗号(3)"
#: ../mkpasswd.c:138
#, fuzzy
msgid "standard 56 bit DES-based crypt(3)"
msgstr "\t標準 56 ビット DES ベース暗号(3)"
#: ../mkpasswd.c:207
#, fuzzy, c-format
msgid "Invalid method '%s'.\n"
msgstr "不正な数字 '%s'\n"
#: ../mkpasswd.c:216 ../mkpasswd.c:228
#, c-format
msgid "Invalid number '%s'.\n"
msgstr "不正な数字 '%s'\n"
#: ../mkpasswd.c:246
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "さらなる詳細については '%s --help' を実行\n"
#: ../mkpasswd.c:292
#, fuzzy, c-format
msgid "Wrong salt length: %d byte when %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d expected.\n"
msgstr[0] "間違ったソルト長: %d バイト(s) (%d を期待)\n"
msgstr[1] "間違ったソルト長: %d バイト(s) (%d を期待)\n"
#: ../mkpasswd.c:297
#, fuzzy, c-format
msgid "Wrong salt length: %d byte when %d <= n <= %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d <= n <= %d expected.\n"
msgstr[0] "間違ったソルト長: %d バイト(s) (%d を期待)\n"
msgstr[1] "間違ったソルト長: %d バイト(s) (%d を期待)\n"
#: ../mkpasswd.c:306
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr "不正なソルト文字 '%c'\n"
#: ../mkpasswd.c:357 ../mkpasswd.c:370
#, c-format
msgid "Password: "
msgstr "パスワード: "
#: ../mkpasswd.c:389
#, c-format
msgid "Method not supported by crypt(3).\n"
msgstr ""
#: ../mkpasswd.c:497
#, c-format
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
"\n"
msgstr ""
"使い方: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"PASSWORD を crypt(3) で暗号化\n"
"\n"
#: ../mkpasswd.c:500
#, fuzzy, c-format
msgid ""
" -m, --method=TYPE select method TYPE\n"
" -5 like --method=md5crypt\n"
" -S, --salt=SALT use the specified SALT\n"
msgstr ""
" -H, --hash=TYPE ハッシュ TYPE を選択\n"
" -S, --salt=SALT 指定の SALT を選択\n"
#: ../mkpasswd.c:505
#, fuzzy, c-format
msgid ""
" -R, --rounds=NUMBER use the specified NUMBER of rounds\n"
" -P, --password-fd=NUM read the password from file descriptor NUM\n"
" instead of /dev/tty\n"
" -s, --stdin like --password-fd=0\n"
msgstr ""
" -P, --password-fd=NUM /dev/tty の代わりにファイルディスクリプタ\n"
" NUM からパスワードを読み込む\n"
" -s, --stdin --password-fd=0 と同様\n"
#: ../mkpasswd.c:511
#, fuzzy, c-format
msgid ""
" -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"
"If TYPE is 'help', available methods are printed.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
" -h, --help このヘルプを表示して終了\n"
" -V, --version バージョン情報を出力して終了\n"
"\n"
"PASSWORD が未指定なら対話的に尋ねられます.\n"
"SALT が未指定ならランダムに生成されたものが用いられます.\n"
"TYPE が 'help' なら利用可能なアルゴリズムを表示します.\n"
"\n"
"バグ報告は %s へ.\n"
#: ../mkpasswd.c:534
#, fuzzy, c-format
msgid "Available methods:\n"
msgstr "利用可能なアルゴリズム:\n"
#~ msgid "Illegal password character '0x%hhx'.\n"
#~ msgstr "不正なパスワード文字 '0x%hhx'\n"
#~ msgid "Invalid hash type '%s'.\n"
#~ msgstr "不正なハッシュタイプ '%s'\n"

371
po/ka.po Normal file
View File

@ -0,0 +1,371 @@
# Georgian translation for whois.
# Copyright (C) 2022 whois authors
# This file is distributed under the same license as the whois package.
# Temuri Doghonadze <temuri.doghonadze@gmail.com>, 2022.
#
msgid ""
msgstr ""
"Project-Id-Version: whois\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-20 04:31+0200\n"
"PO-Revision-Date: 2022-10-20 05:41+0200\n"
"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
"Language-Team: \n"
"Language: ka\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.1.1\n"
#: ../whois.c:240
#, c-format
msgid ""
"Version %s.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
"ვერსია %s\n"
"\n"
"შეცდომები მიიწერეთ მისამართზე %s.\n"
#: ../whois.c:329
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
"ამ TLD-ს whois სერვერი არ გააჩნია. მაგრამ whois-ის ბაზასთან წვდომა გაქვთ "
"მისამართზე"
#: ../whois.c:334
msgid "This TLD has no whois server."
msgstr "ამ TLD-ს whois სერვერი არ გააჩნია."
#: ../whois.c:337
msgid "No whois server is known for this kind of object."
msgstr "ამ ტიპის ობიექტისთვის whois სერვერი ცნობილი არაა."
#: ../whois.c:340
msgid "Unknown AS number or IP network. Please upgrade this program."
msgstr "უცნობი AS რიცხვი ან IP ქსელი. განაახლეთ ეს პროგრამა."
#: ../whois.c:344 ../whois.c:353 ../whois.c:388 ../whois.c:405
#, c-format
msgid "Using server %s.\n"
msgstr "ვიყენებ სერვერს: %s.\n"
#: ../whois.c:362
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a 6to4 IPv6 address.\n"
"\n"
msgstr ""
"\n"
"6to4 IPv6 მისამართის IPv4 ბოლო წერტილის (%s) გამოთხოვა.\n"
"\n"
#: ../whois.c:369
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a Teredo IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Teredo IPv6 მისამართის IPv4 ბოლო წერტილის (%s) გამოთხოვა.\n"
"\n"
#: ../whois.c:406
#, c-format
msgid ""
"Query string: \"%s\"\n"
"\n"
msgstr ""
"მოთხოვნის სტრიქონი: \"%s\"\n"
"\n"
#: ../whois.c:416
#, c-format
msgid ""
"\n"
"\n"
"Found a referral to %s.\n"
"\n"
msgstr ""
"\n"
"\n"
"ნაპოვნია მიმართვა %s-ზე.\n"
"\n"
#: ../whois.c:458 ../whois.c:461
#, c-format
msgid "Cannot parse this line: %s"
msgstr "ამ ხაზის დამუშავება შეუძლებელია: %s"
#: ../whois.c:650
msgid "Warning: RIPE flags used with a traditional server."
msgstr "გაფრთხილება. RIPE-ის ალმები ტრადიციულ სერვერთან ერთად გამოიყენება."
#: ../whois.c:823 ../whois.c:939
msgid ""
"Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n"
msgstr ""
"კატასტროფული შეცდომა: შეიცვალა პასუხისმგებლობების ტექსტი.\n"
"საჭიროა ამ პროგრამის განახლება.\n"
#: ../whois.c:1040
#, c-format
msgid "Host %s not found."
msgstr "ჰოსტი %s ვერ ვიპოვე."
#: ../whois.c:1050
#, c-format
msgid "%s/tcp: unknown service"
msgstr "%s/tcp: უცნობი სერვისი"
#: ../whois.c:1125
msgid "Timeout."
msgstr "ლოდინის ვადა გავიდა."
#: ../whois.c:1131
#, c-format
msgid "Interrupted by signal %d..."
msgstr "შეწყდა სიგნალით %d..."
#: ../whois.c:1499
#, c-format
msgid ""
"Usage: whois [OPTION]... OBJECT...\n"
"\n"
"-h HOST, --host HOST connect to server HOST\n"
"-p PORT, --port PORT connect to PORT\n"
"-I query whois.iana.org and follow its referral\n"
"-H hide legal disclaimers\n"
msgstr ""
"გამოყენება: whois [პარამეტრები]... ობიექტი...\n"
"\n"
"-h ჰოსტი, --host ჰოსტი მითითებულ ჰოსტთან მიერთება\n"
"-p პორტი, --port პორტი მითითებულ პორტზე მიერთება\n"
"-I whois.iana.org-ის მოთხოვნა და პასუხის მიყოლა\n"
"-H იურიდიული ტექსტების დამალვა\n"
#: ../whois.c:1506
#, c-format
msgid ""
" --verbose explain what is being done\n"
" --no-recursion disable recursion from registry to registrar "
"servers\n"
" --help display this help and exit\n"
" --version output version information and exit\n"
"\n"
msgstr ""
" --verbose ქმედებების ახსნა მიმდინარე დროში\n"
" --no-recursion რეკურსიის გამორთვა რეესტრის სერვერბს შორის\n"
" --help ამ დახმარების ჩვენება და გასვლა\n"
" --version ვერსიის ინფორმაციის გამოტანა და გასვლა\n"
"\n"
#: ../whois.c:1513
#, c-format
msgid ""
"These flags are supported by whois.ripe.net and some RIPE-like servers:\n"
"-l find the one level less specific match\n"
"-L find all levels less specific matches\n"
"-m find all one level more specific matches\n"
"-M find all levels of more specific matches\n"
msgstr ""
"ეს ალმები მხარდაჭერილია whois.ripe.net-ის და ზოგიერთი RIPE-ის მსგავსი "
"სერვერების მიერ:\n"
"-l ერთდონიანი მინიმალური ძებნა\n"
"-L ყველაფრის მოძებნა მინიმალური დამთხვევებით\n"
"-m მაქსიმალური მითითებული დამთხვევების პირველი დონის "
"მოძებნა\n"
"-M ყველაფრის მოძებნა მაქსიმალური დამთხვევებით\n"
#: ../whois.c:1520
#, c-format
msgid ""
"-c find the smallest match containing a mnt-irt "
"attribute\n"
"-x exact match\n"
"-b return brief IP address ranges with abuse contact\n"
msgstr ""
"-c mnt-irt ატრიბუტის შემცველი უმცირესი დამთხვევის "
"მოძებნა\n"
"-x ზუსტი დამთხვევა\n"
"-b კანონდარღვევს კონტაქტთან ერთად IP მისამართების "
"დიაპაზონების მოკლე სიის დაბრუნება\n"
#: ../whois.c:1525
#, c-format
msgid ""
"-B turn off object filtering (show email addresses)\n"
"-G turn off grouping of associated objects\n"
"-d return DNS reverse delegation objects too\n"
msgstr ""
"-B ობიექტების ფილტრაციის გამორთვა (ელფოსტის "
"მისამართების ჩვენება)\n"
"-G ასოცირებული ობიექტების დაჯგუფების გამორთვა\n"
"-d დაბრუნდება DNS სევერსის დელეგაციის ობექტებიც\n"
#: ../whois.c:1530
#, c-format
msgid ""
"-i ATTR[,ATTR]... do an inverse look-up for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned\n"
"-r turn off recursive look-ups for contact information\n"
msgstr ""
"-i ATTR[,ATTR]... მითითებული ატრბუტების ინვერსიული ძებნა\n"
"-T TYPE[,TYPE]... მხოლოდ მითითებული ტიპის ობიექტების ძებნა\n"
"-K მხოლოდ ძირითადი გასაღებები დაბრუნდება\n"
"-r საკონტაქტო ინფორმაციის რეკურსიული ძებნის გამორთვა\n"
#: ../whois.c:1536
#, c-format
msgid ""
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a also search all the mirrored databases\n"
"-s SOURCE[,SOURCE]... search the database mirrored from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
msgstr ""
"-R დომენის ობიექტის ლოკალური ასლის ჩვენება მაშინაც კი,\n"
" როცა ის ბმებს შეიცავს\n"
"-a ძებნა სარკულ ბაზებშიაც\n"
"-s SOURCE[,SOURCE]... მითითებული წყაროდან კოპირებულ ბაზაში ძებნა\n"
"-g SOURCE:FIRST-LAST განახლებების ძებნა წყაროდან სერიულად პირველიდან "
"ჩანაწერიდან, ბოლომდე\n"
#: ../whois.c:1543
#, c-format
msgid ""
"-t TYPE request template for object of TYPE\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info\n"
msgstr ""
"-t TYPE მითითებული ტიპის ობიექტისთვის შაბლონს მოთხოვნა\n"
"-v TYPE მითითებული ტიპის ობიექტისთვის დამატებითი შაბლონის "
"მოთხოვნა\n"
"-q [version(ვერსია)|sources(წყაროები)|types(ტიპები)] სერვერის მითითებული "
"ინფორმაციის მოთხოვნა\n"
#: ../mkpasswd.c:135
msgid "BSDI extended DES-based crypt(3)"
msgstr "BSDI გაფართოებული DES-ზე ბაზირებული crypt(3)"
#: ../mkpasswd.c:138
msgid "standard 56 bit DES-based crypt(3)"
msgstr "სტანდარტული 56 ბიტიანი DES-ზე ბაზირებული crypt(3)"
#: ../mkpasswd.c:207
#, c-format
msgid "Invalid method '%s'.\n"
msgstr "არასწორი მეტოდი '%s'.\n"
#: ../mkpasswd.c:216 ../mkpasswd.c:228
#, c-format
msgid "Invalid number '%s'.\n"
msgstr "არასწორი რიცხვი '%s'.\n"
#: ../mkpasswd.c:246
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "მეტი ინფორმაციისთვის სცადეთ '%s --help'\n"
#: ../mkpasswd.c:302
#, c-format
msgid "Wrong salt length: %d byte when %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d expected.\n"
msgstr[0] ""
"მარილის არასწორი სიგრძე: %d ბაიტი მაშინ, როცა მოსალოდნელი იყო %d ბაიტი.\n"
msgstr[1] ""
"მარილის არასწორი სიგრძე: %d ბაიტი მაშინ, როცა მოსალოდნელი იყო %d ბაიტი.\n"
#: ../mkpasswd.c:307
#, c-format
msgid "Wrong salt length: %d byte when %d <= n <= %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d <= n <= %d expected.\n"
msgstr[0] ""
"მარილის არასწორი სიგრძე: %d ბაიტი მაშინ, როცა მოსალოდნელი იყო %d <= n <= %d "
"ბაიტი.\n"
msgstr[1] ""
"მარილის არასწორი სიგრძე: %d ბაიტი მაშინ, როცა მოსალოდნელი იყო %d <= n <= %d "
"ბაიტი.\n"
#: ../mkpasswd.c:316
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr "მარილიას დაუშვებელი სიმბოლო: '%c'.\n"
#: ../mkpasswd.c:372 ../mkpasswd.c:385
#, c-format
msgid "Password: "
msgstr "პაროლი: "
#: ../mkpasswd.c:404
#, c-format
msgid "Method not supported by crypt(3).\n"
msgstr "მეთოდი crypt(3)-ის მიერ მხარდაუჭერელია.\n"
#: ../mkpasswd.c:512
#, c-format
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
"\n"
msgstr ""
"გამოყენება: mkpasswd [პარამეტრები]... [პაროლი [მარილი]]\n"
"მითითებული პაროლის crypt(3)-ით დაშიფვრა.\n"
"\n"
#: ../mkpasswd.c:515
#, c-format
msgid ""
" -m, --method=TYPE select method TYPE\n"
" -5 like --method=md5crypt\n"
" -S, --salt=SALT use the specified SALT\n"
msgstr ""
" -m, --method=ტიპი მითითებული ტიპის მეთოდის გამოყენება\n"
" -5 იგივე, რაც --method=md5crypt\n"
" -S, --salt=მარილი მითითებული მარილის გამოყენება\n"
#: ../mkpasswd.c:520
#, c-format
msgid ""
" -R, --rounds=NUMBER use the specified NUMBER of rounds\n"
" -P, --password-fd=NUM read the password from file descriptor NUM\n"
" instead of /dev/tty\n"
" -s, --stdin like --password-fd=0\n"
msgstr ""
" -R, --rounds=რიცხვი მითითებული რაოდენობის რაუნდების გამოყენება\n"
" -P, --password-fd=რცხვ პაროლების /dev/tty-ის მაგიერ მითითებული "
"ფაილის\n"
" დესკრიპტორიდან წაკითხვა\n"
" -s, --stdin იგივე, რაც --password-fd=0\n"
#: ../mkpasswd.c:526
#, c-format
msgid ""
" -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"
"If TYPE is 'help', available methods are printed.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
" -h, --help ამ დახმარების გამოტანა და გასვლა\n"
" -V, --version ვერსიის ინფორმაციის გამოტანა და გასვლა\n"
"\n"
"თუ პაროლი მითითებული არაა, მას ინტერაქტიურად გკითხავთ.\n"
"თუ მარილი მითითებული არაა, ის შემთხვევითობის წესით დაგენერირდება.\n"
" თუ ტიპი 'help'-ა, ეკრანზე იქნება ნაჩვენები ხელმისაწვდომი მეთოდები.\n"
"\n"
"შეცდომების შესახებ მიწერეთ: %s.\n"
#: ../mkpasswd.c:549
#, c-format
msgid "Available methods:\n"
msgstr "ხელმისაწვდომი მეთოდები:\n"

287
po/no.po
View File

@ -1,287 +0,0 @@
# Oversatt fra whois.pot.
# Egil Kvaleberg <egil@kvaleberg.no>, 1999.
#
# BUG: xxx
#
msgid ""
msgstr ""
"Project-Id-Version: whois 4.4.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2003-12-01 18:31+0100\n"
"PO-Revision-Date: 1999-12-18 14:00:00\n"
"Last-Translator: Egil Kvaleberg <egil@kvaleberg.no>\n"
"Language-Team: Norwegian <no@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../whois.c:108
#, c-format
msgid ""
"Version %s.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
#: ../whois.c:151 ../whois.c:240
#, c-format
msgid "Using server %s.\n"
msgstr "Bruker tjener %s.\n"
#: ../whois.c:173
#, c-format
msgid "Using default server %s.\n"
msgstr "Bruker standardtjener %s.\n"
#: ../whois.c:176
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
#: ../whois.c:182
msgid "This TLD has no whois server."
msgstr ""
#: ../whois.c:186
#, fuzzy
msgid "Connecting to whois.crsnic.net."
msgstr "Kobler opp mot whois.internic.net."
#: ../whois.c:192 ../whois.c:203
#, fuzzy, c-format
msgid ""
"\n"
"Found a referral to %s.\n"
"\n"
msgstr ""
"\n"
"Fant InterNIC-referanse til %s.\n"
"\n"
#: ../whois.c:197
#, fuzzy
msgid "Connecting to whois.nic.cc."
msgstr "Kobler opp mot whois.internic.net."
#: ../whois.c:208
#, fuzzy
msgid "Connecting to whois.publicinterestregistry.net."
msgstr "Kobler opp mot whois.internic.net."
#: ../whois.c:214
#, fuzzy, c-format
msgid ""
"\n"
"Found referral to %s.\n"
"\n"
msgstr ""
"\n"
"Fant InterNIC-referanse til %s.\n"
"\n"
#: ../whois.c:218
msgid "No whois server is known for this kind of object."
msgstr ""
#: ../whois.c:221
#, fuzzy
msgid "Unknown AS number or IP network. Please upgrade this program."
msgstr "Ukjent AS-nummer. Vennligst oppdater programmet."
#: ../whois.c:228
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a 6to4 IPv6 address.\n"
"\n"
msgstr ""
#: ../whois.c:249
#, c-format
msgid ""
"Query string: \"%s\"\n"
"\n"
msgstr ""
"Forespørsel: \"%s\"\n"
"\n"
#: ../whois.c:302 ../whois.c:305
#, c-format
msgid "Cannot parse this line: %s"
msgstr ""
#: ../whois.c:446
#, fuzzy
msgid "Warning: RIPE flags used with a traditional server."
msgstr "Merk: RIPE-flaggene ignoreres for en tradisjonell tjener."
#: ../whois.c:503
#, c-format
msgid "Detected referral to %s on %s.\n"
msgstr "Referanse til %s vedrørende %s.\n"
#: ../whois.c:520
#, fuzzy
msgid ""
"Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n"
msgstr ""
"Alvorlig feil: INTERNIC har endret standardtekst.\n"
"Vennligst oppdater programmet.\n"
#: ../whois.c:639
#, c-format
msgid "Host %s not found."
msgstr "Finner ikke verten %s."
#: ../whois.c:649
#, c-format
msgid "%s/tcp: unknown service"
msgstr "%s/tcp: ukjent port"
#: ../whois.c:661
msgid "Timeout."
msgstr ""
#: ../whois.c:667
#, c-format
msgid "Interrupted by signal %d..."
msgstr "Avbrudt av signal %d..."
#: ../whois.c:728
#, fuzzy
msgid ""
"Usage: whois [OPTION]... OBJECT...\n"
"\n"
"-l one level less specific lookup [RPSL only]\n"
"-L find all Less specific matches\n"
"-m find first level more specific matches\n"
"-M find all More specific matches\n"
"-c find the smallest match containing a mnt-irt "
"attribute\n"
"-x exact match [RPSL only]\n"
"-d return DNS reverse delegation objects too [RPSL "
"only]\n"
"-i ATTR[,ATTR]... do an inverse lookup for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned [RPSL only]\n"
"-r turn off recursive lookups for contact information\n"
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a search all databases\n"
"-s SOURCE[,SOURCE]... search the database from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
"-t TYPE request template for object of TYPE ('all' for a "
"list)\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info [RPSL only]\n"
"-F fast raw output (implies -r)\n"
"-h HOST connect to server HOST\n"
"-p PORT connect to PORT\n"
"-H hide legal disclaimers\n"
" --verbose explain what is being done\n"
" --help display this help and exit\n"
" --version output version information and exit\n"
msgstr ""
"Bruk: whois [OPSJONER]... OBJEKTER...\n"
"\n"
"-a søk i alle databaser\n"
"-F full utskrift (impliserer -r)\n"
"-g KILDE:FØRSTE-SISTE finn oppdateringer fra KILDE fra serie FØRSTE til "
"SISTE\n"
"-h VERT koble til tjener VERT\n"
"-i ATTR[,ATTR]... gjør reversoppslag for attributtene ATTR\n"
"-L finn alle mindre spesifike treff\n"
"-M finn alle mer spesifike treff\n"
"-m finn første nivå av mer spesifike treff\n"
"-r ikke foreta rekursive oppslag\n"
"-p PORT koble til PORT\n"
"-R vis lokal kopi av objektet selv om det inneholder\n"
" en referanse\n"
"-S be tjeneren utelate syntaktisk \"sukker\"\n"
"-s KILDE[,KILDE]... søk i databasen fra KILDE\n"
"-T TYPE[,TYPE]... se bare på objekttype TYPE\n"
"-t TYPE be om mal for objekttype TYPE ('all' gir en liste)\n"
"-v TYPE be om utførlig mal for objekttype TYPE\n"
"-V forklarer hva som skjer\n"
"\n"
"Versjon %s. Rapporter feil til %s.\n"
#: ../mkpasswd.c:55
msgid "\tstandard 56 bit DES-based crypt(3)"
msgstr ""
#: ../mkpasswd.c:96
#, c-format
msgid "Invalid hash type '%s'.\n"
msgstr ""
#: ../mkpasswd.c:105
#, c-format
msgid "Invalid number '%s'.\n"
msgstr ""
#: ../mkpasswd.c:123
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr ""
#: ../mkpasswd.c:152
#, c-format
msgid "Wrong salt length: %d byte(s) when %d expected.\n"
msgstr ""
#: ../mkpasswd.c:158
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr ""
#: ../mkpasswd.c:172 ../mkpasswd.c:199
msgid "Password: "
msgstr ""
#: ../mkpasswd.c:193
#, c-format
msgid "Illegal password character '0x%hhx'.\n"
msgstr ""
#: ../mkpasswd.c:230
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
"\n"
msgstr ""
#: ../mkpasswd.c:233
#, c-format
msgid ""
" -H, --hash=TYPE select hash TYPE\n"
" -S, --salt=SALT use the specified SALT\n"
" -P, --password-fd=NUM read the password from file descriptor NUM\n"
" instead of /dev/tty\n"
" -s, --stdin like --password-fd=0\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"
"If TYPE is missing available algorithms are printed.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
#: ../mkpasswd.c:260
msgid "Available algorithms:\n"
msgstr ""
#~ msgid ""
#~ "I don't know where this IP has been delegated.\n"
#~ "I'll try ARIN and hope for the best..."
#~ msgstr ""
#~ "Vet ikke hvor denne IP-adressen har blitt delegert.\n"
#~ "Prøver ARIN og håper det beste..."
#~ 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."
#~ 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."

379
po/pl.po
View File

@ -1,21 +1,24 @@
# Polish translation for whois.
# Michał 'CeFeK' Nazarewicz <cefek@career.pl>, 1999
# Przemysław Knycz <djrzulf@pld.org.pl>, 2003
# Jakub Bogusz <qboosh@pld-linux.org>, 2003-2004
# Michał 'CeFeK' Nazarewicz <cefek@career.pl>, 1999
# Przemysław Knycz <djrzulf@pld.org.pl>, 2003
# Jakub Bogusz <qboosh@pld-linux.org>, 2003-2023
#
msgid ""
msgstr ""
"Project-Id-Version: whois 4.6.24\n"
"Project-Id-Version: whois 5.5.18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2004-11-28 15:03+0100\n"
"PO-Revision-Date: 2004-11-28 15:09+0100\n"
"POT-Creation-Date: 2022-01-03 17:52+0100\n"
"PO-Revision-Date: 2023-10-05 21:30+0200\n"
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-2\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
#: ../whois.c:107
#: ../whois.c:240
#, c-format
msgid ""
"Version %s.\n"
@ -24,44 +27,31 @@ msgid ""
msgstr ""
"Wersja %s.\n"
"\n"
"Błędy proszę zgłaszać na adres %s.\n"
"Błędy proszę zgłaszać na adres %s.\n"
#: ../whois.c:157 ../whois.c:250
#, c-format
msgid "Using server %s.\n"
msgstr "Użycie serwera %s.\n"
#: ../whois.c:200
#: ../whois.c:329
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
"Ta główna domena nie ma serwera whois, ale można użyć bazy danych whois pod"
"Ta główna domena nie ma serwera whois, ale można użyć bazy danych whois pod"
#: ../whois.c:208
#: ../whois.c:334
msgid "This TLD has no whois server."
msgstr "Ta główna domena nie ma serwera whois."
msgstr "Ta główna domena nie ma serwera whois."
#: ../whois.c:211
#: ../whois.c:337
msgid "No whois server is known for this kind of object."
msgstr "Dla tego rodzaju obiektu nie jest znany żaden serwer whois."
msgstr "Dla tego rodzaju obiektu nie jest znany żaden serwer whois."
#: ../whois.c:214
#: ../whois.c:340
msgid "Unknown AS number or IP network. Please upgrade this program."
msgstr "Nieznany numer AS lub sieć IP. Proszę uaktualnić ten program."
msgstr "Nieznany numer AS lub sieć IP. Proszę uaktualnić ten program."
#: ../whois.c:218
msgid "Connecting to whois.crsnic.net."
msgstr "Łączenie z whois.crsnic.net."
#: ../whois.c:344 ../whois.c:353 ../whois.c:388 ../whois.c:405
#, c-format
msgid "Using server %s.\n"
msgstr "Użycie serwera %s.\n"
#: ../whois.c:224
msgid "Connecting to whois.publicinterestregistry.net."
msgstr "Łączenie z whois.publicinterestregistry.net."
#: ../whois.c:230
msgid "Connecting to whois.nic.cc."
msgstr "Łączenie z whois.nic.cc."
#. XXX should fail if p = 0.0.0.0
#: ../whois.c:237
#: ../whois.c:362
#, c-format
msgid ""
"\n"
@ -69,10 +59,21 @@ msgid ""
"\n"
msgstr ""
"\n"
"Pytanie o zakończenie IPv4 %s adresu IPv6 typu 6to4.\n"
"Pytanie o zakończenie IPv4 %s adresu IPv6 typu 6to4.\n"
"\n"
#: ../whois.c:251
#: ../whois.c:369
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a Teredo IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Pytanie o zakończenie IPv4 %s adresu IPv6 Teredo.\n"
"\n"
#: ../whois.c:406
#, c-format
msgid ""
"Query string: \"%s\"\n"
@ -81,7 +82,7 @@ msgstr ""
"Zapytanie: \"%s\"\n"
"\n"
#: ../whois.c:261
#: ../whois.c:416
#, c-format
msgid ""
"\n"
@ -94,200 +95,276 @@ msgstr ""
"Znaleziono odniesienie do %s.\n"
"\n"
#: ../whois.c:304 ../whois.c:307
#: ../whois.c:458 ../whois.c:461
#, c-format
msgid "Cannot parse this line: %s"
msgstr "Nie można przeanalizować tej linii: %s"
msgstr "Nie można przeanalizować tej linii: %s"
#: ../whois.c:454
#: ../whois.c:650
msgid "Warning: RIPE flags used with a traditional server."
msgstr "Uwaga: użyto flag RIPE ze starszym serwerem."
msgstr "Uwaga: użyto flag RIPE ze starszym serwerem."
#: ../whois.c:578
#: ../whois.c:823 ../whois.c:939
msgid ""
"Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n"
msgstr ""
"Katastrofa! Tekst oświadczenia został zmieniony.\n"
"Proszę uaktualnić ten program.\n"
"Katastrofa! Tekst oświadczenia został zmieniony.\n"
"Proszę uaktualnić ten program.\n"
#: ../whois.c:704
#: ../whois.c:1040
#, c-format
msgid "Host %s not found."
msgstr "Serwer %s nie został znaleziony."
msgstr "Serwer %s nie został znaleziony."
#: ../whois.c:714
#: ../whois.c:1050
#, c-format
msgid "%s/tcp: unknown service"
msgstr "%s/tcp: usługa nieznana"
msgstr "%s/tcp: usługa nieznana"
#: ../whois.c:733
#: ../whois.c:1125
msgid "Timeout."
msgstr "Upłynął limit czasu."
msgstr "Upłynął limit czasu."
#: ../whois.c:739
#: ../whois.c:1131
#, c-format
msgid "Interrupted by signal %d..."
msgstr "Przerwano sygnałem %d..."
msgstr "Przerwano sygnałem %d..."
#: ../whois.c:826
#: ../whois.c:1499
#, c-format
msgid ""
"Usage: whois [OPTION]... OBJECT...\n"
"\n"
"-l one level less specific lookup [RPSL only]\n"
"-L find all Less specific matches\n"
"-m find first level more specific matches\n"
"-M find all More specific matches\n"
"-c find the smallest match containing a mnt-irt "
"attribute\n"
"-x exact match [RPSL only]\n"
"-d return DNS reverse delegation objects too [RPSL "
"only]\n"
"-i ATTR[,ATTR]... do an inverse lookup for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned [RPSL only]\n"
"-r turn off recursive lookups for contact information\n"
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a search all databases\n"
"-s SOURCE[,SOURCE]... search the database from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
"-t TYPE request template for object of TYPE ('all' for a "
"list)\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info [RPSL only]\n"
"-F fast raw output (implies -r)\n"
"-h HOST connect to server HOST\n"
"-p PORT connect to PORT\n"
"-h HOST, --host HOST connect to server HOST\n"
"-p PORT, --port PORT connect to PORT\n"
"-I query whois.iana.org and follow its referral\n"
"-H hide legal disclaimers\n"
msgstr ""
"Składnia: whois [OPCJA]... OBIEKT...\n"
"\n"
"-h HOST, --host HOST łączenie z serwerem HOST\n"
"-p PORT, --port PORT łączenie z portem PORT\n"
"-I odpytanie whois.iana.org i podążanie za odwołaniami\n"
"-H ukrycie oświadczeń prawnych\n"
#: ../whois.c:1506
#, c-format
msgid ""
" --verbose explain what is being done\n"
" --no-recursion disable recursion from registry to registrar servers\n"
" --help display this help and exit\n"
" --version output version information and exit\n"
msgstr ""
"Składnia: whois [OPCJA]... OBIEKT...\n"
"\n"
"-l zapytanie o jeden poziom mniej szczegółowe [tylko "
"RPSL]\n"
"-L wyszukanie wszystkich mniej szczegółowych dopasowań\n"
"-m wyszukanie pierwszego bardziej szczegółowego "
msgstr ""
" --verbose wyjaśnianie, co się dzieje\n"
" --no-recursion wyłączenie rekurencji z serwerów rejestru do rejestratorów\n"
" --help wyświetlenie tego opisu i zakończenie działania\n"
" --version wyświetlenie informacji o wersji i zakończenie "
"działania\n"
"\n"
#: ../whois.c:1513
#, c-format
msgid ""
"These flags are supported by whois.ripe.net and some RIPE-like servers:\n"
"-l find the one level less specific match\n"
"-L find all levels less specific matches\n"
"-m find all one level more specific matches\n"
"-M find all levels of more specific matches\n"
msgstr ""
"Następujące flagi są obsługiwane przez serwery whois.ripe.net i podobne:\n"
"-l zapytanie o jeden poziom mniej szczegółowe\n"
"-L wyszukanie wszystkich mniej szczegółowych dopasowań\n"
"-m wyszukanie pierwszego bardziej szczegółowego "
"dopasowania\n"
"-M wyszukanie wszystkich bardziej szczegółowych "
"dopasowań\n"
"-M wyszukanie wszystkich bardziej szczegółowych "
"dopasowań\n"
#: ../whois.c:1520
#, c-format
msgid ""
"-c find the smallest match containing a mnt-irt "
"attribute\n"
"-x exact match\n"
"-b return brief IP address ranges with abuse contact\n"
msgstr ""
"-c wyszukanie najmniejszego dopasowania z atrybutem mnt-"
"irt\n"
"-x dokładne dopasowanie [tylko RPSL]\n"
"-d także obiekty odwrotnej delegacji DNS [tylko RPSL]\n"
"-i ATR[,ATR]... wykonanie odwrotnego wyszukiwania ATRybutów\n"
"-T TYP[,TYP]... szukanie tylko obiektów TYP\n"
"-K zwrócenie tylko podstawowych kluczy [tylko RPSL]\n"
"-x dokładne dopasowanie\n"
"-b wypisanie zwięźle przedziałów adresów IP i kontaktu "
"abuse\n"
#: ../whois.c:1525
#, c-format
msgid ""
"-B turn off object filtering (show email addresses)\n"
"-G turn off grouping of associated objects\n"
"-d return DNS reverse delegation objects too\n"
msgstr ""
"-B bez filtrowania abiektów (wyświetlanie adresów e-"
"mail)\n"
"-G bez grupowania powiązanych obiektów\n"
"-d także obiekty odwrotnej delegacji DNS\n"
#: ../whois.c:1530
#, c-format
msgid ""
"-i ATTR[,ATTR]... do an inverse look-up for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned\n"
"-r turn off recursive look-ups for contact information\n"
msgstr ""
"-T TYP[,TYP]... szukanie tylko obiektów podanego TYPU\n"
"-K zwrócenie tylko podstawowych kluczy\n"
"-r bez rekursywnego poszukiwania informacji "
"kontaktowych\n"
#: ../whois.c:1536
#, c-format
msgid ""
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a also search all the mirrored databases\n"
"-s SOURCE[,SOURCE]... search the database mirrored from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
msgstr ""
"-R wymuszenie pokazania lokalnej kopii obiektu domeny "
"nawet\n"
" jeśli zawiera odwołanie\n"
"-a przeszukanie wszystkich baz danych\n"
"-s ŹRÓDŁO[,ŹRÓDŁO]... przeszukanie bazy danych ze ŹRÓDŁA\n"
"-g ŹRÓDŁO:PIERW.-OST. szukanie uaktualnień ze ŹRÓDŁA od numeru PIERW. do "
" jeśli zawiera odwołanie\n"
"-a przeszukanie wszystkich baz danych z kopii "
"lustrzanej\n"
"-s ŹRÓDŁO[,ŹRÓDŁO]... przeszukanie odbicia lustrzanego bazy danych ze "
"ŹRÓDŁA\n"
"-g ŹRÓDŁO:PIERW.-OST. szukanie uaktualnień ze ŹRÓDŁA od numeru PIERW. do "
"OST.\n"
"-t TYP żądanie szablonu dla obiektu TYP ('all' podaje "
"listę)\n"
"-v TYP żądanie szczegółowego szablonu dla obiektu TYP\n"
"-q [version|sources|types] zapytanie serwera o podane informacje [tylko "
"RPSL]\n"
"-F szybki, surowy wydruk (włącza -r)\n"
"-h HOST łączenie z serwerem HOST\n"
"-p PORT łączenie z portem PORT\n"
"-H ukrycie oświadczenia prawnego\n"
" --verbose wyjaśnianie co się dzieje\n"
" --help wyświetlenie tego opisu i zakończenie działania\n"
" --version wyświetlenie informacji o wersji i zakończenie "
"działania\n"
#: ../mkpasswd.c:55
msgid "\tstandard 56 bit DES-based crypt(3)"
msgstr "\tstandardowa 56-bitowa, oparta o DES funkcja crypt(3)"
#: ../mkpasswd.c:97
#: ../whois.c:1543
#, c-format
msgid "Invalid hash type '%s'.\n"
msgstr "Nieprawidłowy rodzaj skrótu '%s'.\n"
msgid ""
"-t TYPE request template for object of TYPE\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info\n"
msgstr ""
"-t TYP żądanie szablonu dla obiektu podanego TYPU\n"
"-v TYP żądanie szczegółowego szablonu dla obiektu podanego "
"TYPU\n"
"-q [version|sources|types] zapytanie serwera o podane informacje\n"
#: ../mkpasswd.c:106
#: ../mkpasswd.c:135
msgid "BSDI extended DES-based crypt(3)"
msgstr "oparta o DES rozszerzona funkcja crypt(3) BSDI"
#: ../mkpasswd.c:138
msgid "standard 56 bit DES-based crypt(3)"
msgstr "standardowa 56-bitowa, oparta o DES funkcja crypt(3)"
#: ../mkpasswd.c:207
#, c-format
msgid "Invalid method '%s'.\n"
msgstr "Nieprawidłowa metoda '%s'.\n"
#: ../mkpasswd.c:216 ../mkpasswd.c:228
#, c-format
msgid "Invalid number '%s'.\n"
msgstr "Nieprawidłowa liczba '%s'.\n"
msgstr "Nieprawidłowa liczba '%s'.\n"
#: ../mkpasswd.c:124
#: ../mkpasswd.c:246
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "'%s --help' poda więcej informacji.\n"
msgstr "'%s --help' poda więcej informacji.\n"
# : ../mkpasswd.c:152
#: ../mkpasswd.c:153
#: ../mkpasswd.c:292
#, c-format
msgid "Wrong salt length: %d byte(s) when %d expected.\n"
msgstr "Błędna długość zarodka: %d bajtów kiedy oczekiwano %d.\n"
msgid "Wrong salt length: %d byte when %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d expected.\n"
msgstr[0] "Błędna długość zarodka: %d bajt kiedy oczekiwano %d.\n"
msgstr[1] "Błędna długość zarodka: %d bajty kiedy oczekiwano %d.\n"
msgstr[2] "Błędna długość zarodka: %d bajtów kiedy oczekiwano %d.\n"
#: ../mkpasswd.c:159
# : ../mkpasswd.c:152
#: ../mkpasswd.c:297
#, c-format
msgid "Wrong salt length: %d byte when %d <= n <= %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d <= n <= %d expected.\n"
msgstr[0] "Błędna długość zarodka: %d bajt kiedy oczekiwano %d <= n <= %d.\n"
msgstr[1] "Błędna długość zarodka: %d bajty kiedy oczekiwano %d <= n <= %d.\n"
msgstr[2] "Błędna długość zarodka: %d bajtów kiedy oczekiwano %d <= n <= %d.\n"
#: ../mkpasswd.c:306
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr "Błędny znak zarodka '%c'.\n"
msgstr "Błędny znak zarodka '%c'.\n"
#: ../mkpasswd.c:173 ../mkpasswd.c:200
#: ../mkpasswd.c:357 ../mkpasswd.c:370
#, c-format
msgid "Password: "
msgstr "Hasło: "
msgstr "Hasło: "
#: ../mkpasswd.c:194
#: ../mkpasswd.c:389
#, c-format
msgid "Illegal password character '0x%hhx'.\n"
msgstr "Błędny znak w haśle '0x%hhx'.\n"
msgid "Method not supported by crypt(3).\n"
msgstr "Metoda nie obsługiwana przez crypt(3).\n"
#: ../mkpasswd.c:231
#: ../mkpasswd.c:497
#, c-format
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
"\n"
msgstr ""
"Składnia: mkpasswd [OPCJE]... [HASŁO [ZARODEK]]\n"
"Koduje HASŁO przy użyciu funkcji crypt(3).\n"
"Składnia: mkpasswd [OPCJE]... [HASŁO [ZARODEK]]\n"
"Koduje HASŁO przy użyciu funkcji crypt(3).\n"
"\n"
#: ../mkpasswd.c:234
#: ../mkpasswd.c:500
#, c-format
msgid ""
" -H, --hash=TYPE select hash TYPE\n"
" -m, --method=TYPE select method TYPE\n"
" -5 like --method=md5crypt\n"
" -S, --salt=SALT use the specified SALT\n"
msgstr ""
" -m, --method=TYP wybór metody TYP\n"
" -5 to samo, co --method=md5crypt\n"
" -S, --salt=ZARODEK użycie podanego ZARODKA\n"
#: ../mkpasswd.c:505
#, c-format
msgid ""
" -R, --rounds=NUMBER use the specified NUMBER of rounds\n"
" -P, --password-fd=NUM read the password from file descriptor NUM\n"
" instead of /dev/tty\n"
" -s, --stdin like --password-fd=0\n"
msgstr ""
" -R, --rounds=LICZBA użycie podanej LICZBY cykli\n"
" -P, --password-fd=NUM odczyt hasła z deskryptora pliku NUM zamiast\n"
" z /dev/tty\n"
" -s, --stdin to samo co --password-fd=0\n"
#: ../mkpasswd.c:511
#, c-format
msgid ""
" -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"
"If TYPE is 'help', available algorithms are printed.\n"
"If TYPE is 'help', available methods are printed.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
" -H, --hash=TYP wybór skrótu TYP\n"
" -S, --salt=ZARODEK użycie podanego ZARODKA\n"
" -P, --password-fd=NUM odczyt hasła z deskryptora pliku NUM zamiast\n"
" z /dev/tty\n"
" -s, --stdin to samo co --password-fd=0\n"
" -h, --help wyświetlenie tego opisu i zakończenie działania\n"
" -V, --version wyświetlenie informacji o wersji i zakończenie "
"działania\n"
" -h, --help wyświetlenie tego opisu i zakończenie działania\n"
" -V, --version wyświetlenie informacji o wersji i zakończenie "
"działania\n"
"\n"
"Jeśli nie podano HASŁA, pobierane jest interaktywnie.\n"
"Jeśli nie podano ZARODKA, generowany jest losowy.\n"
"Jeśli podano TYP 'help', wypisywane są dostępne algorytmy.\n"
"Jeśli nie podano HASŁA, pobierane jest interaktywnie.\n"
"Jeśli nie podano ZARODKA, generowany jest losowy.\n"
"Jeśli podano TYP 'help', wypisywane są dostępne metody.\n"
"\n"
"Błędy proszę zgłaszać na adres %s.\n"
"Błędy proszę zgłaszać na adres %s.\n"
#: ../mkpasswd.c:261
#: ../mkpasswd.c:534
#, c-format
msgid "Available algorithms:\n"
msgstr "Dostępne algorytmy:\n"
msgid "Available methods:\n"
msgstr "Dostępne metody:\n"

376
po/pt_BR.po Normal file
View File

@ -0,0 +1,376 @@
# Portuguese/Brazil translation of whois.
# Copyright (C) 2006 Marco d'Itri
# This file is distributed under the same license as the whois package.
# Anderson Goulart <globalx@gmail.com>, 2006.
#
msgid ""
msgstr ""
"Project-Id-Version: whois 5.5.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-01-03 17:52+0100\n"
"PO-Revision-Date: 2020-02-17 10:30+0000\n"
"Last-Translator: Anderson Goulart <globalx@gmail.com>\n"
"Language-Team: Portuguese/Brazil\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
#: ../whois.c:240
#, c-format
msgid ""
"Version %s.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
"Versão %s.\n"
"\n"
"Reporte falhas(bugs) para %s \n"
#: ../whois.c:329
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
"Este TLD não possui servidor whois, mas você pode acessar a base de dados do "
"whois em"
#: ../whois.c:334
msgid "This TLD has no whois server."
msgstr "Não existe servidor whois para este TLD."
#: ../whois.c:337
msgid "No whois server is known for this kind of object."
msgstr "Nenhum servidor whois é conhecido para este tipo de objeto."
#: ../whois.c:340
msgid "Unknown AS number or IP network. Please upgrade this program."
msgstr "Número AS ou rede IP desconhecidos. Por favor, atualize este programa."
#: ../whois.c:344 ../whois.c:353 ../whois.c:388 ../whois.c:405
#, c-format
msgid "Using server %s.\n"
msgstr "Utilizando servidor %s.\n"
#: ../whois.c:362
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a 6to4 IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Procurando pelo endereço IPv4 %s a partir de um endereço 6to4 IPv6.\n"
"\n"
#: ../whois.c:369
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a Teredo IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Procurando pelo endereço IPv4 %s a partir de um endereço Teredo IPv6.\n"
"\n"
#: ../whois.c:406
#, c-format
msgid ""
"Query string: \"%s\"\n"
"\n"
msgstr ""
"Texto de consulta: \"%s\"\n"
"\n"
#: ../whois.c:416
#, c-format
msgid ""
"\n"
"\n"
"Found a referral to %s.\n"
"\n"
msgstr ""
"\n"
"\n"
"Referência encontrada para %s.\n"
"\n"
#: ../whois.c:458 ../whois.c:461
#, c-format
msgid "Cannot parse this line: %s"
msgstr "Não conseguiu processar esta linha: %s"
#: ../whois.c:650
msgid "Warning: RIPE flags used with a traditional server."
msgstr "Aviso: RIPE flags utilizados com um servidor tradicional."
#: ../whois.c:823 ../whois.c:939
msgid ""
"Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n"
msgstr ""
"Erro catastrófico: o texto das condições de uso foi alterado.\n"
"Por favor, atualize este programa.\n"
#: ../whois.c:1040
#, c-format
msgid "Host %s not found."
msgstr "Hospedeiro %s não encontrado."
#: ../whois.c:1050
#, c-format
msgid "%s/tcp: unknown service"
msgstr "%s/tcp: serviço desconhecido"
#: ../whois.c:1125
msgid "Timeout."
msgstr "Tempo esgotado."
#: ../whois.c:1131
#, c-format
msgid "Interrupted by signal %d..."
msgstr "Interrompido pelo sinal %d..."
#: ../whois.c:1499
#, c-format
msgid ""
"Usage: whois [OPTION]... OBJECT...\n"
"\n"
"-h HOST, --host HOST connect to server HOST\n"
"-p PORT, --port PORT connect to PORT\n"
"-I query whois.iana.org and follow its referral\n"
"-H hide legal disclaimers\n"
msgstr ""
"Uso: whois [OPTION]... OBJECT...\n"
"\n"
"-h HOST conecta no servidor(HOST)\n"
"-p PORT conecta na porta(PORT)\n"
"-H esconde o aviso legal\n"
#: ../whois.c:1506
#, fuzzy, c-format
msgid ""
" --verbose explain what is being done\n"
" --no-recursion disable recursion from registry to registrar servers\n"
" --help display this help and exit\n"
" --version output version information and exit\n"
"\n"
msgstr ""
" --verbose exibe detalhes de execução\n"
" --help exibe esta ajuda e termina\n"
" --version exibe informações sobre a versão e termina\n"
"\n"
#: ../whois.c:1513
#, c-format
msgid ""
"These flags are supported by whois.ripe.net and some RIPE-like servers:\n"
"-l find the one level less specific match\n"
"-L find all levels less specific matches\n"
"-m find all one level more specific matches\n"
"-M find all levels of more specific matches\n"
msgstr ""
"Estas opções(flags) são suportadas pelo servider whois.ripe.net e alguns "
"servidores RIPE compatíveis:\n"
"-l encontre a correspondência menos específica de nível "
"um\n"
"-L encontra todos os níveis de correspondências menos "
"específicas\n"
"-m encontra todas as correspondências mais específicas "
"do nível um\n"
"-M encontra todos os níveis de correspondências mais "
"específicas\n"
#: ../whois.c:1520
#, c-format
msgid ""
"-c find the smallest match containing a mnt-irt "
"attribute\n"
"-x exact match\n"
"-b return brief IP address ranges with abuse contact\n"
msgstr ""
"-c busca a correspondência menos específica que contém o "
"atributo mnt-irt\n"
"-x busca exata\n"
"-b retorna o resumo de faixas de endereços IP com o "
"contato de abuso\n"
#: ../whois.c:1525
#, c-format
msgid ""
"-B turn off object filtering (show email addresses)\n"
"-G turn off grouping of associated objects\n"
"-d return DNS reverse delegation objects too\n"
msgstr ""
"-B desliga o filtro de objetos (exibe o endereço de "
"email)\n"
"-G desliga o agrupamento de objectos associados\n"
"-d retorna também os objetos de delegação de DNS "
"reverso\n"
#: ../whois.c:1530
#, c-format
msgid ""
"-i ATTR[,ATTR]... do an inverse look-up for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned\n"
"-r turn off recursive look-ups for contact information\n"
msgstr ""
"-i ATTR[,ATTR]... efetua uma busca inversa para os atributtos(ATTR) "
"especificados\n"
"-T TYPE[,TYPE]... busca somente por objetos do tipo(TYPE) "
"especificados\n"
"-K somente chaves primárias são retornadas\n"
"-r desabilita buscas recursivas para informações de "
"contatos\n"
#: ../whois.c:1536
#, c-format
msgid ""
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a also search all the mirrored databases\n"
"-s SOURCE[,SOURCE]... search the database mirrored from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
msgstr ""
"-R força a exibição da cópia local do objeto de domínio "
"mesmo que\n"
" ele contenha referência\n"
"-a busca em todas as bases de dados espelhadas\n"
"-s SOURCE[,SOURCE]... busca na base de dados espelhada a partir das "
"fontes(SOURCE) especificadas\n"
"-g SOURCE:FIRST-LAST encontra atualizações a partir da fonte(SOURCE) entre "
"o serial primeiro(FIRST) e último(LAST)\n"
#: ../whois.c:1543
#, c-format
msgid ""
"-t TYPE request template for object of TYPE\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info\n"
msgstr ""
"-t TYPE obtém o modelo para objeto do tipo(TYPE) "
"especificado\n"
"-v TYPE obtém o modelo detalhado para objeto do tipo(TYPE) "
"especificado\n"
"-q [version|sources|types] consulta informações especificadas do servidor\n"
#: ../mkpasswd.c:135
msgid "BSDI extended DES-based crypt(3)"
msgstr "BSDI extendido baseado em DES crypt(3)"
#: ../mkpasswd.c:138
msgid "standard 56 bit DES-based crypt(3)"
msgstr "padrão 56 bit baseado em DES crypt(3)"
#: ../mkpasswd.c:207
#, c-format
msgid "Invalid method '%s'.\n"
msgstr "Método inválido '%s'.\n"
#: ../mkpasswd.c:216 ../mkpasswd.c:228
#, c-format
msgid "Invalid number '%s'.\n"
msgstr "Número inválido '%s'.\n"
#: ../mkpasswd.c:246
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "Tente '%s --help para maiores informações.\n"
#: ../mkpasswd.c:292
#, c-format
msgid "Wrong salt length: %d byte when %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d expected.\n"
msgstr[0] "Tamanho do sal(salt) incorreto: %d byte enquanto %d era esperado.\n"
msgstr[1] ""
"Tamanho do sal(salt) incorreto: %d bytes enquanto %d era esperado.\n"
#: ../mkpasswd.c:297
#, c-format
msgid "Wrong salt length: %d byte when %d <= n <= %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d <= n <= %d expected.\n"
msgstr[0] ""
"Tamanho do sal(salt) incorreto: %d byte enquanto %d <= n <= %d era "
"esperado.\n"
msgstr[1] ""
"Tamanho do sal(salt) incorreto: %d bytes enquanto %d <= n <= %d era "
"esperado.\n"
#: ../mkpasswd.c:306
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr "Caractere sal(salt) ilegal '%c'.\n"
#: ../mkpasswd.c:357 ../mkpasswd.c:370
#, c-format
msgid "Password: "
msgstr "Senha: "
#: ../mkpasswd.c:389
#, c-format
msgid "Method not supported by crypt(3).\n"
msgstr "Método não suportado por crypt(3).\n"
#: ../mkpasswd.c:497
#, c-format
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
"\n"
msgstr ""
"Uso: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Encripta a senha(PASSWORD) utilizando crypt(3).\n"
"\n"
#: ../mkpasswd.c:500
#, c-format
msgid ""
" -m, --method=TYPE select method TYPE\n"
" -5 like --method=md5crypt\n"
" -S, --salt=SALT use the specified SALT\n"
msgstr ""
" -m, --method=TYPE seleciona o método do tipo(TYPE) especificado\n"
" -5 igual a --method=md5crypt\n"
" -S, --salt=SALT usa o sal(SALT) especificado\n"
#: ../mkpasswd.c:505
#, c-format
msgid ""
" -R, --rounds=NUMBER use the specified NUMBER of rounds\n"
" -P, --password-fd=NUM read the password from file descriptor NUM\n"
" instead of /dev/tty\n"
" -s, --stdin like --password-fd=0\n"
msgstr ""
" -R, --rounds=NUMBER utiliza o número(NUMBER) de rodadas "
"especificado\n"
" -P, --password-fd=NUM lê a senha do descritor de arquivo NUM\n"
" ao invés do /dev/tty\n"
" -s, --stdin igual a --password-fd=0\n"
#: ../mkpasswd.c:511
#, c-format
msgid ""
" -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"
"If TYPE is 'help', available methods are printed.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
" -h, --help exibe essa ajuda(help) e sai\n"
" -V, --version exibe informações sobre a versão(version) e sai\n"
"\n"
"Se a senha(PASSWORD) estiver faltando, esta será requisitada "
"interativamente.\n"
"Se nenhum sal(SALT) for especificado, um sal randômico é gerado.\n"
"Se o tipo(TYPE) é igual a 'help', os métodos disponíveis são exibidos.\n"
"\n"
"Reporte falhas(bugs) para %s.\n"
#: ../mkpasswd.c:534
#, c-format
msgid "Available methods:\n"
msgstr "Métodos disponíveis:\n"

366
po/ru.po Normal file
View File

@ -0,0 +1,366 @@
# translation of ru.po to Russian
# Copyright (C) Marco d'Itri
# This file is distributed under the same license as the whois package.
#
# Andy Shevchenko <andy@smile.org.ua>, 2005.
# Yuri Kozlov <yuray@komyakino.ru>, 2009, 2010, 2012, 2013, 2019.
msgid ""
msgstr ""
"Project-Id-Version: whois 5.4.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-01-03 17:52+0100\n"
"PO-Revision-Date: 2019-06-29 09:55+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 2.0\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: ../whois.c:240
#, c-format
msgid ""
"Version %s.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
"Версия %s.\n"
"\n"
"Сообщения об ошибках отправляйте на %s.\n"
#: ../whois.c:329
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
"Данный TLD не имеет whois-сервера, но можно получить доступ к базе whois на"
#: ../whois.c:334
msgid "This TLD has no whois server."
msgstr "Данный TLD не имеет whois-сервера."
#: ../whois.c:337
msgid "No whois server is known for this kind of object."
msgstr "Нет whois-сервера для объектов данного вида."
#: ../whois.c:340
msgid "Unknown AS number or IP network. Please upgrade this program."
msgstr "Неизвестный номер AS или IP-сеть. Пожалуйста, обновите программу."
#: ../whois.c:344 ../whois.c:353 ../whois.c:388 ../whois.c:405
#, c-format
msgid "Using server %s.\n"
msgstr "Используется сервер %s.\n"
#: ../whois.c:362
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a 6to4 IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Запрашивается конечная IPv4-точка %s для IPv6-адреса 6-в-4.\n"
"\n"
#: ../whois.c:369
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a Teredo IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Запрашивается конечная IPv4-точка %s для IPv6-адреса Teredo.\n"
"\n"
#: ../whois.c:406
#, c-format
msgid ""
"Query string: \"%s\"\n"
"\n"
msgstr ""
"Строка запроса: \"%s\"\n"
"\n"
#: ../whois.c:416
#, c-format
msgid ""
"\n"
"\n"
"Found a referral to %s.\n"
"\n"
msgstr ""
"\n"
"\n"
"Найдено перенаправление на %s.\n"
"\n"
#: ../whois.c:458 ../whois.c:461
#, c-format
msgid "Cannot parse this line: %s"
msgstr "Невозможно разобрать строку: %s"
#: ../whois.c:650
msgid "Warning: RIPE flags used with a traditional server."
msgstr "Предупреждение: флаги RIPE используются с традиционным сервером."
#: ../whois.c:823 ../whois.c:939
msgid ""
"Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n"
msgstr ""
"Катастрофическая ошибка: текст правовой оговорки был изменён.\n"
"Пожалуйста, обновите программу.\n"
#: ../whois.c:1040
#, c-format
msgid "Host %s not found."
msgstr "Узел %s не найден."
#: ../whois.c:1050
#, c-format
msgid "%s/tcp: unknown service"
msgstr "%s/tcp: неизвестный сервис"
#: ../whois.c:1125
msgid "Timeout."
msgstr "Задержка."
#: ../whois.c:1131
#, c-format
msgid "Interrupted by signal %d..."
msgstr "Прервано по сигналу %d..."
#: ../whois.c:1499
#, c-format
msgid ""
"Usage: whois [OPTION]... OBJECT...\n"
"\n"
"-h HOST, --host HOST connect to server HOST\n"
"-p PORT, --port PORT connect to PORT\n"
"-I query whois.iana.org and follow its referral\n"
"-H hide legal disclaimers\n"
msgstr ""
"Использование: whois [ПАРАМЕТР]… ОБЪЕКТ…\n"
"\n"
"-h УЗЕЛ, --host УЗЕЛ подключиться к серверному УЗЛУ\n"
"-p ПОРТ, --port ПОРТ подключаться по ПОРТУ\n"
"-I запросить whois.iana.org и следовать результатам\n"
"-H скрыть уведомление о правах\n"
#: ../whois.c:1506
#, fuzzy, c-format
msgid ""
" --verbose explain what is being done\n"
" --no-recursion disable recursion from registry to registrar servers\n"
" --help display this help and exit\n"
" --version output version information and exit\n"
"\n"
msgstr ""
" --verbose разъяснять, что происходит\n"
" --help показать эту справку и закончить работу\n"
" --version показать информацию о версии и закончить работу\n"
"\n"
#: ../whois.c:1513
#, c-format
msgid ""
"These flags are supported by whois.ripe.net and some RIPE-like servers:\n"
"-l find the one level less specific match\n"
"-L find all levels less specific matches\n"
"-m find all one level more specific matches\n"
"-M find all levels of more specific matches\n"
msgstr ""
"Эти флаги поддерживаются whois.ripe.net и некоторыми RIPE-подобными "
"серверами:\n"
"-l одноуровневый минимальный поиск\n"
"-L найти всё при минимуме указанных совпадений\n"
"-m найти первый уровень при максимуме указанных "
"совпадений\n"
"-M найти всё при максимуме указанных совпадений\n"
#: ../whois.c:1520
#, c-format
msgid ""
"-c find the smallest match containing a mnt-irt "
"attribute\n"
"-x exact match\n"
"-b return brief IP address ranges with abuse contact\n"
msgstr ""
"-c найти наименьшее совпадение, содержащее атрибут mnt-"
"irt\n"
"-x точное совпадение\n"
"-b вернуть краткий диапазон IP-адресов\n"
" с контактом для жалоб\n"
#: ../whois.c:1525
#, c-format
msgid ""
"-B turn off object filtering (show email addresses)\n"
"-G turn off grouping of associated objects\n"
"-d return DNS reverse delegation objects too\n"
msgstr ""
"-B выключить объектную фильтрацию (показ адресов эл. "
"почты)\n"
"-G выключить группировку связанных объектов\n"
"-d возвращать также реверсные делегированные объекты "
"DNS\n"
#: ../whois.c:1530
#, c-format
msgid ""
"-i ATTR[,ATTR]... do an inverse look-up for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned\n"
"-r turn off recursive look-ups for contact information\n"
msgstr ""
"-i АТР[,АТР]… выполнить инверсный поиск для указанных АТРибутов\n"
"-T ТИП[,ТИП]… поиск только объектов с типом ТИП\n"
"-K возвращать только основные ключи\n"
"-r выключить рекурсивный поиск контактной информации\n"
#: ../whois.c:1536
#, c-format
msgid ""
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a also search all the mirrored databases\n"
"-s SOURCE[,SOURCE]... search the database mirrored from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
msgstr ""
"-R всегда показывать локальную копию объекта домена "
"даже\n"
" если она содержит перенаправление\n"
"-a искать на всех зеркалах базы\n"
"-s ИСТОЧНИК[,ИСТ]… искать в базе-зеркале ИСТОЧНИКА\n"
"-g ИСТОЧНИК:ПЕРВЫЙ-ПОСЛЕДНИЙ\n"
" найти обновления ИСТОЧНИКА от ПЕРВОГО до ПОСЛЕДНЕГО\n"
#: ../whois.c:1543
#, c-format
msgid ""
"-t TYPE request template for object of TYPE\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info\n"
msgstr ""
"-t ТИП запросить шаблон для объекта с типом ТИП\n"
"-v ТИП запросить расширенный шаблон для объекта с типом ТИП\n"
"-q [version|sources|types]\n"
" запросить указанную информацию о сервере\n"
#: ../mkpasswd.c:135
msgid "BSDI extended DES-based crypt(3)"
msgstr "основанный на DES crypt(3), расширенный BSDI"
#: ../mkpasswd.c:138
msgid "standard 56 bit DES-based crypt(3)"
msgstr "основанный на стандартном 56-битном DES crypt(3)"
#: ../mkpasswd.c:207
#, c-format
msgid "Invalid method '%s'.\n"
msgstr "Неверный метод '%s'.\n"
#: ../mkpasswd.c:216 ../mkpasswd.c:228
#, c-format
msgid "Invalid number '%s'.\n"
msgstr "Неверный номер '%s'.\n"
#: ../mkpasswd.c:246
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "Доп. информацию можно получить, запустив '%s --help'.\n"
#: ../mkpasswd.c:292
#, c-format
msgid "Wrong salt length: %d byte when %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d expected.\n"
msgstr[0] "Неверная длина соли: %d байт при ожидаемой %d.\n"
msgstr[1] "Неверная длина соли: %d байта при ожидаемой %d.\n"
msgstr[2] "Неверная длина соли: %d байт при ожидаемой %d.\n"
#: ../mkpasswd.c:297
#, c-format
msgid "Wrong salt length: %d byte when %d <= n <= %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d <= n <= %d expected.\n"
msgstr[0] "Неверная длина соли: %d байт при ожидаемой %d <= n <= %d.\n"
msgstr[1] "Неверная длина соли: %d байта при ожидаемой %d <= n <= %d.\n"
msgstr[2] "Неверная длина соли: %d байт при ожидаемой %d <= n <= %d.\n"
#: ../mkpasswd.c:306
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr "Недопустимый для соли символ '%c'.\n"
#: ../mkpasswd.c:357 ../mkpasswd.c:370
#, c-format
msgid "Password: "
msgstr "Пароль: "
#: ../mkpasswd.c:389
#, c-format
msgid "Method not supported by crypt(3).\n"
msgstr "Данный метод не поддерживается crypt(3).\n"
#: ../mkpasswd.c:497
#, c-format
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
"\n"
msgstr ""
"Использование: mkpasswd [ПАРАМЕТРЫ]... [ПАРОЛЬ [СОЛЬ]]\n"
"Шифрует ПАРОЛЬ, используя crypt(3).\n"
"\n"
#: ../mkpasswd.c:500
#, c-format
msgid ""
" -m, --method=TYPE select method TYPE\n"
" -5 like --method=md5crypt\n"
" -S, --salt=SALT use the specified SALT\n"
msgstr ""
" -m, --method=ТИП использовать метод ТИП\n"
" -5 аналогично --method=md5crypt\n"
" -S, --salt=СОЛЬ использовать указанную СОЛЬ\n"
#: ../mkpasswd.c:505
#, c-format
msgid ""
" -R, --rounds=NUMBER use the specified NUMBER of rounds\n"
" -P, --password-fd=NUM read the password from file descriptor NUM\n"
" instead of /dev/tty\n"
" -s, --stdin like --password-fd=0\n"
msgstr ""
" -R, --rounds=ЧИСЛО использовать указанное ЧИСЛО округлений\n"
" -P, --password-fd=НОМЕР прочитать пароль из дескриптора файла\n"
" с НОМЕРом вместо /dev/tty\n"
" -s, --stdin аналогично --password-fd=0\n"
#: ../mkpasswd.c:511
#, c-format
msgid ""
" -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"
"If TYPE is 'help', available methods are printed.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
" -h, --help показать эту справку и закончить работу\n"
" -V, --version показать версию и закончить работу\n"
"\n"
"Если ПАРОЛЬ не задан, то он будет затребован интерактивно.\n"
"Если не указана СОЛЬ, то будет сгенерировано произвольное значение.\n"
"Если значение ТИП равно 'help', то будет показан список доступных методов.\n"
"\n"
"Сообщения об ошибках отправляйте на %s.\n"
#: ../mkpasswd.c:534
#, c-format
msgid "Available methods:\n"
msgstr "Доступные методы:\n"

357
po/tr.po Normal file
View File

@ -0,0 +1,357 @@
# translation of whois to Turkish
# Copyright (C) 2022
# This file is distributed under the same license as the whois package.
# Oğuz Ersen <oguz@ersen.moe>, 2022.
#
msgid ""
msgstr ""
"Project-Id-Version: whois\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-04-01 22:10+0300\n"
"PO-Revision-Date: 2022-04-01 23:06+0300\n"
"Last-Translator: Oğuz Ersen <oguz@ersen.moe>\n"
"Language-Team: \n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0\n"
#: ../whois.c:240
#, c-format
msgid ""
"Version %s.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
"Sürüm %s.\n"
"\n"
"Hataları %s adresine bildirin.\n"
#: ../whois.c:329
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr ""
"Bu TLD'nin whois sunucusu yok, ancak whois veri tabanına şu adresten "
"erişebilirsiniz"
#: ../whois.c:334
msgid "This TLD has no whois server."
msgstr "Bu TLD'nin whois sunucusu yok."
#: ../whois.c:337
msgid "No whois server is known for this kind of object."
msgstr "Bu tür nesneler için bilinen bir whois sunucusu yok."
#: ../whois.c:340
msgid "Unknown AS number or IP network. Please upgrade this program."
msgstr "Bilinmeyen AS numarası veya IP ağı. Lütfen bu programı güncelleyin."
#: ../whois.c:344 ../whois.c:353 ../whois.c:388 ../whois.c:405
#, c-format
msgid "Using server %s.\n"
msgstr "%s sunucusu kullanılıyor.\n"
#: ../whois.c:362
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a 6to4 IPv6 address.\n"
"\n"
msgstr ""
"\n"
"6to4 IPv6 adresinin IPv4 uç noktası %s sorgulanıyor.\n"
"\n"
#: ../whois.c:369
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a Teredo IPv6 address.\n"
"\n"
msgstr ""
"\n"
"Teredo IPv6 adresinin IPv4 uç noktası %s sorgulanıyor.\n"
"\n"
#: ../whois.c:406
#, c-format
msgid ""
"Query string: \"%s\"\n"
"\n"
msgstr ""
"Sorgu dizgesi: \"%s\"\n"
"\n"
#: ../whois.c:416
#, c-format
msgid ""
"\n"
"\n"
"Found a referral to %s.\n"
"\n"
msgstr ""
"\n"
"\n"
"%s için bir yönlendirme bulundu.\n"
"\n"
#: ../whois.c:458 ../whois.c:461
#, c-format
msgid "Cannot parse this line: %s"
msgstr "Bu satır ayrıştırılamıyor: %s"
#: ../whois.c:650
msgid "Warning: RIPE flags used with a traditional server."
msgstr "Uyarı: Geleneksel bir sunucuyla RIPE bayrakları kullanıldı."
#: ../whois.c:823 ../whois.c:939
msgid ""
"Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n"
msgstr ""
"Önemli hata: sorumluluk reddi metni değiştirildi.\n"
"Lütfen bu programı güncelleyin.\n"
#: ../whois.c:1040
#, c-format
msgid "Host %s not found."
msgstr "%s sunucusu bulunamadı."
#: ../whois.c:1050
#, c-format
msgid "%s/tcp: unknown service"
msgstr "%s/tcp: bilinmeyen hizmet"
#: ../whois.c:1125
msgid "Timeout."
msgstr "Zaman aşımı."
#: ../whois.c:1131
#, c-format
msgid "Interrupted by signal %d..."
msgstr "%d sinyali tarafından kesildi..."
#: ../whois.c:1499
#, c-format
msgid ""
"Usage: whois [OPTION]... OBJECT...\n"
"\n"
"-h HOST, --host HOST connect to server HOST\n"
"-p PORT, --port PORT connect to PORT\n"
"-I query whois.iana.org and follow its referral\n"
"-H hide legal disclaimers\n"
msgstr ""
"Kullanım: whois [SEÇENEK]... NESNE...\n"
"\n"
"-h HOST, --host HOST HOST sunucusuna bağlan\n"
"-p PORT, --port PORT PORT bağlantı noktasına bağlan\n"
"-I whois.iana.org'u sorgula ve yönlendirmesini takip et\n"
"-H yasal uyarıları gizle\n"
#: ../whois.c:1506
#, c-format
msgid ""
" --verbose explain what is being done\n"
" --no-recursion disable recursion from registry to registrar servers\n"
" --help display this help and exit\n"
" --version output version information and exit\n"
"\n"
msgstr ""
" --verbose ne yapıldığınııkla\n"
" --no-recursion kayıt defterinden kayıt sunucularına özyinelemeyi "
"devre dışı bırak\n"
" --help bu yardımı görüntüle ve çık\n"
" --version sürüm bilgisini yazdır ve çık\n"
"\n"
#: ../whois.c:1513
#, c-format
msgid ""
"These flags are supported by whois.ripe.net and some RIPE-like servers:\n"
"-l find the one level less specific match\n"
"-L find all levels less specific matches\n"
"-m find all one level more specific matches\n"
"-M find all levels of more specific matches\n"
msgstr ""
"Bu bayraklar whois.ripe.net ve bazı RIPE benzeri sunucular tarafından "
"desteklenmektedir:\n"
"-l bir seviye daha az özel eşleşmeyi bul\n"
"-L tüm seviyelerde daha az özel eşleşmeleri bul\n"
"-m tüm bir seviye daha özel eşleşmeleri bul\n"
"-M tüm seviyelerde daha özel eşleşmeleri bul\n"
#: ../whois.c:1520
#, c-format
msgid ""
"-c find the smallest match containing a mnt-irt "
"attribute\n"
"-x exact match\n"
"-b return brief IP address ranges with abuse contact\n"
msgstr ""
"-c mnt-irt özniteliği içeren en küçük eşleşmeyi bul\n"
"-x tam olarak eşleş\n"
"-b kötüye kullanım irtibatıyla kısa IP adresi "
"aralıklarını döndür\n"
#: ../whois.c:1525
#, c-format
msgid ""
"-B turn off object filtering (show email addresses)\n"
"-G turn off grouping of associated objects\n"
"-d return DNS reverse delegation objects too\n"
msgstr ""
"-B nesne filtrelemeyi kapat (e-posta adreslerini "
"göster)\n"
"-G ilişkili nesnelerin gruplandırılmasını kapat\n"
"-d DNS ters yetki nesnelerini de döndür\n"
#: ../whois.c:1530
#, c-format
msgid ""
"-i ATTR[,ATTR]... do an inverse look-up for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned\n"
"-r turn off recursive look-ups for contact information\n"
msgstr ""
"-i ÖZNİ[,ÖZNİ]... belirtilen ÖZNİtelikler için ters arama yap\n"
"-T TÜR[,TÜR]... yalnızca TÜR nesnelerini ara\n"
"-K yalnızca birincil anahtarları döndür\n"
"-r iletişim bilgileri için özyinelemeli aramaları kapat\n"
#: ../whois.c:1536
#, c-format
msgid ""
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a also search all the mirrored databases\n"
"-s SOURCE[,SOURCE]... search the database mirrored from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
msgstr ""
"-R yönlendirme içerse bile etki alanı nesnesinin yerel\n"
" kopyasını göstermeye zorla\n"
"-a ayrıca tüm yansıtılmış veri tabanlarında arama yap\n"
"-s KAYNAK[,KAYNAK]... KAYNAK'tan yansıtılan veri tabanında arama yap\n"
"-g KAYNAK:İLK-SON KAYNAK'tan İLK'ten SON'a kadar olan güncellemeleri "
"bul\n"
#: ../whois.c:1543
#, c-format
msgid ""
"-t TYPE request template for object of TYPE\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info\n"
msgstr ""
"-t TÜR TÜR nesnesi için şablon iste\n"
"-v TÜR TÜR nesnesi için ayrıntılı şablon iste\n"
"-q [version|sources|types] belirtilen sunucu bilgilerini sorgula\n"
#: ../mkpasswd.c:135
msgid "BSDI extended DES-based crypt(3)"
msgstr "BSDI genişletilmiş DES tabanlı crypt(3)"
#: ../mkpasswd.c:138
msgid "standard 56 bit DES-based crypt(3)"
msgstr "standart 56 bit DES tabanlı crypt(3)"
#: ../mkpasswd.c:207
#, c-format
msgid "Invalid method '%s'.\n"
msgstr "Geçersiz yöntem '%s'.\n"
#: ../mkpasswd.c:216 ../mkpasswd.c:228
#, c-format
msgid "Invalid number '%s'.\n"
msgstr "Geçersiz sayı '%s'.\n"
#: ../mkpasswd.c:246
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "Daha fazla bilgi için '%s --help' komutunu deneyin.\n"
#: ../mkpasswd.c:302
#, c-format
msgid "Wrong salt length: %d byte when %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d expected.\n"
msgstr[0] "Yanlış salt uzunluğu: %d bayt, beklenen: %d.\n"
#: ../mkpasswd.c:307
#, c-format
msgid "Wrong salt length: %d byte when %d <= n <= %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d <= n <= %d expected.\n"
msgstr[0] "Yanlış salt uzunluğu: %d bayt, beklenen: %d <= n <= %d.\n"
#: ../mkpasswd.c:316
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr "Geçersiz salt karakteri '%c'.\n"
#: ../mkpasswd.c:372 ../mkpasswd.c:385
#, c-format
msgid "Password: "
msgstr "Parola: "
#: ../mkpasswd.c:404
#, c-format
msgid "Method not supported by crypt(3).\n"
msgstr "Yöntem crypt(3) tarafından desteklenmiyor.\n"
#: ../mkpasswd.c:512
#, c-format
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
"\n"
msgstr ""
"Kullanım: mkpasswd [SEÇENEKLER]... [PAROLA [SALT]]\n"
"PAROLA değerini crypt(3) kullanarak şifreler.\n"
"\n"
#: ../mkpasswd.c:515
#, c-format
msgid ""
" -m, --method=TYPE select method TYPE\n"
" -5 like --method=md5crypt\n"
" -S, --salt=SALT use the specified SALT\n"
msgstr ""
" -m, --method=TÜR TÜR yöntemini seç\n"
" -5 --method=md5crypt ile aynı\n"
" -S, --salt=SALT belirtilen SALT değerini kullan\n"
#: ../mkpasswd.c:520
#, c-format
msgid ""
" -R, --rounds=NUMBER use the specified NUMBER of rounds\n"
" -P, --password-fd=NUM read the password from file descriptor NUM\n"
" instead of /dev/tty\n"
" -s, --stdin like --password-fd=0\n"
msgstr ""
" -R, --rounds=SAYI belirtilen SAYI kadar tur kullan\n"
" -P, --password-fd=NUM parolayı /dev/tty yerine NUM dosya\n"
" tanıtıcısından oku\n"
" -s, --stdin --password-fd=0 ile aynı\n"
#: ../mkpasswd.c:526
#, c-format
msgid ""
" -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"
"If TYPE is 'help', available methods are printed.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
" -h, --help bu yardımı görüntüle ve çık\n"
" -V, --version sürüm bilgisini yazdır ve çık\n"
"\n"
"PAROLA eksikse etkileşimli olarak sorulur.\n"
"SALT belirtilmezse, rastgele bir tane oluşturulur.\n"
"TÜR 'help' ise kullanılabilir yöntemler yazdırılır.\n"
"\n"
"Hataları %s adresine bildirin.\n"
#: ../mkpasswd.c:549
#, c-format
msgid "Available methods:\n"
msgstr "Kullanılabilir yöntemler:\n"

353
po/zh_CN.po Normal file
View File

@ -0,0 +1,353 @@
# Chinese (China) translation for whois
# Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006
# This file is distributed under the same license as the whois package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2006.
#
msgid ""
msgstr ""
"Project-Id-Version: whois\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-01-03 17:52+0100\n"
"PO-Revision-Date: 2013-12-25 17:40+0800\n"
"Last-Translator: Terence Ng <pheotiman@gmail.com>\n"
"Language-Team: \n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2009-11-10 02:44+0000\n"
"X-Generator: Poedit 1.5.7\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../whois.c:240
#, c-format
msgid ""
"Version %s.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
"版本 %s。\n"
"\n"
"向 %s 报告漏洞。\n"
#: ../whois.c:329
msgid "This TLD has no whois server, but you can access the whois database at"
msgstr "此顶级域名没有 whois 服务器,但您可在这里访问 whois 数据库:"
#: ../whois.c:334
msgid "This TLD has no whois server."
msgstr "此顶级域名没有对应的 whois 服务器。"
#: ../whois.c:337
msgid "No whois server is known for this kind of object."
msgstr "无针对此类对象的 whois 服务器。"
#: ../whois.c:340
msgid "Unknown AS number or IP network. Please upgrade this program."
msgstr "未知的 AS 号码或 IP 地址。请升级此程序。"
#: ../whois.c:344 ../whois.c:353 ../whois.c:388 ../whois.c:405
#, c-format
msgid "Using server %s.\n"
msgstr "使用服务器 %s。\n"
#: ../whois.c:362
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a 6to4 IPv6 address.\n"
"\n"
msgstr ""
"\n"
"查询和一个6to4 IPv6 地址相对应的 IPv4 终端 %s。\n"
"\n"
#: ../whois.c:369
#, c-format
msgid ""
"\n"
"Querying for the IPv4 endpoint %s of a Teredo IPv6 address.\n"
"\n"
msgstr ""
"\n"
"查询一个Teredo IPv6 地址相对应的 IPv4 终端 %s。\n"
"\n"
#: ../whois.c:406
#, c-format
msgid ""
"Query string: \"%s\"\n"
"\n"
msgstr ""
"查询字符串: \"%s\"\n"
"\n"
#: ../whois.c:416
#, c-format
msgid ""
"\n"
"\n"
"Found a referral to %s.\n"
"\n"
msgstr ""
"\n"
"\n"
"发现一个到 %s 的引用。\n"
"\n"
#: ../whois.c:458 ../whois.c:461
#, c-format
msgid "Cannot parse this line: %s"
msgstr "不能分析该行:%s"
#: ../whois.c:650
msgid "Warning: RIPE flags used with a traditional server."
msgstr "警告: 对传统服务器使用了 RIPE 标志。"
#: ../whois.c:823 ../whois.c:939
msgid ""
"Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n"
msgstr ""
"严重错误: 声明(disclaimer)文本已经被改变。\n"
"请升级此程序。\n"
#: ../whois.c:1040
#, c-format
msgid "Host %s not found."
msgstr "没有找到主机 %s。"
#: ../whois.c:1050
#, c-format
msgid "%s/tcp: unknown service"
msgstr "%s/tcp: 未知服务"
#: ../whois.c:1125
msgid "Timeout."
msgstr "超时。"
#: ../whois.c:1131
#, c-format
msgid "Interrupted by signal %d..."
msgstr "被信号 %d 中断..."
#: ../whois.c:1499
#, fuzzy, c-format
msgid ""
"Usage: whois [OPTION]... OBJECT...\n"
"\n"
"-h HOST, --host HOST connect to server HOST\n"
"-p PORT, --port PORT connect to PORT\n"
"-I query whois.iana.org and follow its referral\n"
"-H hide legal disclaimers\n"
msgstr ""
"用法: whois 【选项】 …… 对象 ……\n"
"\n"
"-h HOST, --host HOST 连接到服务器 HOST\n"
"-p PORT, --port PORT 连接到端口 PORT\n"
"-H 隐藏法律声明\n"
#: ../whois.c:1506
#, fuzzy, c-format
msgid ""
" --verbose explain what is being done\n"
" --no-recursion disable recursion from registry to registrar servers\n"
" --help display this help and exit\n"
" --version output version information and exit\n"
"\n"
msgstr ""
" --verbose 解释正在做什么\n"
" --help 显示帮助并退出\n"
" --version 输出版本信息并退出\n"
"\n"
#: ../whois.c:1513
#, c-format
msgid ""
"These flags are supported by whois.ripe.net and some RIPE-like servers:\n"
"-l find the one level less specific match\n"
"-L find all levels less specific matches\n"
"-m find all one level more specific matches\n"
"-M find all levels of more specific matches\n"
msgstr ""
"这些标志是由 whois.ripe.net 和 RIPE-like 服务器支持的:\n"
" -l 寻找有更少具体匹配的一个级别\n"
"-L 寻找所有更少具体匹配的级别\n"
"-m 寻找有更加具体匹配的一个级别\n"
"-M 寻找有更加具体的匹配的所有级别\n"
#: ../whois.c:1520
#, c-format
msgid ""
"-c find the smallest match containing a mnt-irt "
"attribute\n"
"-x exact match\n"
"-b return brief IP address ranges with abuse contact\n"
msgstr ""
"-c 寻找包含 mnt-irt 属性的最小匹配\n"
"-x 精确匹配\n"
"-b return brief IP address ranges with abuse contact\n"
#: ../whois.c:1525
#, c-format
msgid ""
"-B turn off object filtering (show email addresses)\n"
"-G turn off grouping of associated objects\n"
"-d return DNS reverse delegation objects too\n"
msgstr ""
"-B 关闭对象过滤(显示 email 地址)\n"
"-G 关闭相关联对象的分组\n"
"-d 返回 DNS 反解授权对象\n"
#: ../whois.c:1530
#, c-format
msgid ""
"-i ATTR[,ATTR]... do an inverse look-up for specified ATTRibutes\n"
"-T TYPE[,TYPE]... only look for objects of TYPE\n"
"-K only primary keys are returned\n"
"-r turn off recursive look-ups for contact information\n"
msgstr ""
"-i ATTR[,ATTR]... 对特定的属性( ATTR )进行逆向查询\n"
"-T TYPE[,TYPE]... 只寻找 TYPE 的对象\n"
"-K 只返回主键\n"
"-r 关闭联系信息的递归查询\n"
#: ../whois.c:1536
#, c-format
msgid ""
"-R force to show local copy of the domain object even\n"
" if it contains referral\n"
"-a also search all the mirrored databases\n"
"-s SOURCE[,SOURCE]... search the database mirrored from SOURCE\n"
"-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST\n"
msgstr ""
"-R 强制显示域对象的本地副本,即使\n"
" 它包含引用\n"
"-a 一并搜索所有的数据库镜像\n"
"-s SOURCE[,SOURCE]... 从 SOURCE 中搜索数据库镜像\n"
"-g SOURCE:FIRST-LAST 从串行的 FIRST 到 LAST 的 SOURCE 中查找更新\n"
#: ../whois.c:1543
#, c-format
msgid ""
"-t TYPE request template for object of TYPE\n"
"-v TYPE request verbose template for object of TYPE\n"
"-q [version|sources|types] query specified server info\n"
msgstr ""
"-t TYPE 请求 TYPE 对象的模板\n"
"-v TYPE 请求 TYPE 对象的详细模板\n"
"-q [version|sources|types] 询问制定服务器信息\n"
#: ../mkpasswd.c:135
#, fuzzy
msgid "BSDI extended DES-based crypt(3)"
msgstr "以标准56位DES为基础的 crypt(3)"
#: ../mkpasswd.c:138
msgid "standard 56 bit DES-based crypt(3)"
msgstr "以标准56位DES为基础的 crypt(3)"
#: ../mkpasswd.c:207
#, c-format
msgid "Invalid method '%s'.\n"
msgstr "无效方式 '%s'。\n"
#: ../mkpasswd.c:216 ../mkpasswd.c:228
#, c-format
msgid "Invalid number '%s'.\n"
msgstr "无效的数字 '%s'。\n"
#: ../mkpasswd.c:246
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "尝试用 '%s --help' 获取更多的信息。\n"
#: ../mkpasswd.c:292
#, c-format
msgid "Wrong salt length: %d byte when %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d expected.\n"
msgstr[0] ""
"错误的随即字符 ( salt ) 长度:当前为 %d 字节,预期长度为 %d 字节。\n"
#: ../mkpasswd.c:297
#, c-format
msgid "Wrong salt length: %d byte when %d <= n <= %d expected.\n"
msgid_plural "Wrong salt length: %d bytes when %d <= n <= %d expected.\n"
msgstr[0] ""
"错误的随机字符salt 长度: 当前为 %d 字节,预期长度范围为 %d <= n <= %d 字"
"节。\n"
#: ../mkpasswd.c:306
#, c-format
msgid "Illegal salt character '%c'.\n"
msgstr "非法的随机数字符 '%c'。\n"
#: ../mkpasswd.c:357 ../mkpasswd.c:370
#, c-format
msgid "Password: "
msgstr "密码:"
#: ../mkpasswd.c:389
#, c-format
msgid "Method not supported by crypt(3).\n"
msgstr "不被 crypt(3) 支持的方法。\n"
#: ../mkpasswd.c:497
#, c-format
msgid ""
"Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"Crypts the PASSWORD using crypt(3).\n"
"\n"
msgstr ""
"用法: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
"用 crypt(3) 加密 PASSWORD。\n"
"\n"
#: ../mkpasswd.c:500
#, fuzzy, c-format
msgid ""
" -m, --method=TYPE select method TYPE\n"
" -5 like --method=md5crypt\n"
" -S, --salt=SALT use the specified SALT\n"
msgstr ""
" -m, --method=TYPE \t选择使用 TYPE 的方法\n"
" -S, --salt=SALT \t\t使用指定随机字符\n"
#: ../mkpasswd.c:505
#, c-format
msgid ""
" -R, --rounds=NUMBER use the specified NUMBER of rounds\n"
" -P, --password-fd=NUM read the password from file descriptor NUM\n"
" instead of /dev/tty\n"
" -s, --stdin like --password-fd=0\n"
msgstr ""
" -R, --rounds=NUMBER \t使用指定的循环次数 NUMBER\n"
" -P, --password-fd=NUM \t从文件描述符 NUM 中读取密码来\n"
"\t\t\t\t替代从 /dev/tty 中获取密码\n"
" -s, --stdin \t\t同 --password-fd=0\n"
#: ../mkpasswd.c:511
#, c-format
msgid ""
" -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"
"If TYPE is 'help', available methods are printed.\n"
"\n"
"Report bugs to %s.\n"
msgstr ""
" -h, --help \t\t显示帮助信息并退出\n"
" -V, --version \t\t输出版本信息并退出\n"
"\n"
"如果密码不存在,将会要求输入密码。\n"
"如果未指定将会随机生成一个SALT。\n"
"如果类型是 'help',显示所有可用的方式。\n"
"\n"
"请将BUGS提交给 %s。\n"
#: ../mkpasswd.c:534
#, c-format
msgid "Available methods:\n"
msgstr "可用方式:\n"

View File

@ -1,90 +0,0 @@
From ripe-dbm@ripe.net Mon Jan 27 10:09:59 2003
Return-Path: <ripe-dbm@ripe.net>
Delivered-To: md@wonderland.linux.it
Received: from attila.bofh.it (localhost [127.0.0.1])
by wonderland.linux.it (Postfix/Md) with ESMTP id 582BA33CD5
for <md@wonderland.linux.it>; Mon, 27 Jan 2003 10:09:59 +0100 (CET)
Received: from picard.linux.it (picard.linux.it [::ffff:62.177.1.107])
by attila.bofh.it (Postfix) with ESMTP id 46AE15F966
for <md@wonderland.linux.it>; Mon, 27 Jan 2003 09:03:25 +0100 (CET)
Received: from birch.ripe.net (birch.ripe.net [::ffff:193.0.1.96])
by picard.linux.it (Postfix) with ESMTP id 4A76942B2
for <md@Linux.IT>; Mon, 27 Jan 2003 09:05:01 +0100 (CET)
Received: from x24.ripe.net (x24.ripe.net [193.0.1.24])
by birch.ripe.net (8.12.5/8.11.6) with ESMTP id h0R83NAq030231;
Mon, 27 Jan 2003 09:03:23 +0100
Received: (from ripe-dbm@localhost)
by x24.ripe.net (8.12.4/8.12.6) id h0R83M5k002263;
Mon, 27 Jan 2003 09:03:22 +0100
Message-Id: <200301270803.h0R83M5k002263@x24.ripe.net>
From: RIPE Database Administration <ripe-dbm@ripe.net>
Cc: Can Bican <can@ripe.net>
To: md@Linux.IT
FCC: cur
Subject: Re: NCC#2003013332 Re: [db-wg] IPv6 Whois update
Reply-To: ripe-dbm@ripe.net
X-Organization: RIPE Network Coordination Centre
X-Phone: +31 20 535 4444
X-Fax: +31 20 535 4341
X-Mailer: BaT/0.67
Sender: RIPE Database Manager <ripe-dbm@ripe.net>
Date: Mon, 27 Jan 2003 09:03:21 +0100
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, hits=0.6 required=5.0
tests=DEAR_SOMEBODY,QUOTED_EMAIL_TEXT,SIGNATURE_SHORT_DENSE,
SPAM_PHRASE_05_08
version=2.43
X-Spam-Level:
Status: RO
Content-Length: 1239
Lines: 46
Dear Marco d'Itri,
For the month October, 2002:
We had 55 milion queries, 4.3 milion done with your client.
This number is probably not the best indicator as some IPs do a lot of
queries so here are also the statistics for different IP addresses using
your client:
31364 (of 853385) different IP addresses used your client.
If you have any more questions, please contact <ripe-dbm@ripe.net>.
Regards,
Tiago Antao
____________________________
RIPE Database Administration.
Original message follows:
------------------------
On Thursday 23 January 2003 18:52, Marco d'Itri wrote:
> On Jan 23, Can Bican <can@ripe.net> wrote:
> >This is a feature we supported, and we'll keep supporting it. It's a
> > mistake on our side that we'll change promptly, so please don't change
> > the behaviour. We'll make the proxy accept -V switches of these types.
>
> Thank you for your prompt reply.
> BTW, is any statistics about -V arguments available? I wonder how many
> queries are made with my client (i.e. the -V argument matches /^Md/).
I have forwarded your request to ripe-dbm@ripe.net. You can contact that
address if you'd like more/less specific requirements about the counts.
Regards,
--
Can Bican
DB Group
RIPE NCC

78
servers_charset_list Normal file
View File

@ -0,0 +1,78 @@
# server name encoding optional parameters
whois.afrinic.net utf-8
whois.apnic.net iso-8859-1
whois.cat utf-8 -C UTF-8
whois.conac.cn utf-8
whois.corenic.net utf-8 -C UTF-8
whois.online.rs.corenic.net utf-8 -C UTF-8
whois.site.rs.corenic.net utf-8 -C UTF-8
whois.lacnic.net utf-8
whois.museum utf-8 -C UTF-8
whois.ripe.net utf-8 --charset UTF-8
whois.nic.llyw.cymru utf-8
whois.nic.gov.scot utf-8
whois.nic.gov.wales utf-8
whois.aeda.net.ae utf-8
whois.nic.ar utf-8
whois.ax utf-8
whois.registro.br iso-8859-1
whois.cira.ca utf-8
whois.nic.ch utf-8
whois.nic.cl utf-8
whois.cnnic.cn utf-8
whois.nic.cz utf-8
whois.denic.de utf-8
whois.enum.denic.de utf-8
whois.dk-hostmaster.dk utf-8 --charset=utf-8
whois.punktum.dk utf-8 --charset=utf-8
whois.tld.ee utf-8
whois.eu utf-8
whois.fi iso-8859-1
whois.nic.fo utf-8
whois.nic.fr utf-8
whois.hkirc.hk utf-8
whois.nic.hr utf-8
whois.nic.hu iso-8859-1
whois.nic.ir utf-8
whois.isnic.is iso-8859-1
whois.nic.it utf-8
whois.jprs.jp utf-8
whois.nic.ad.jp iso-2022-jp
whois.kg cp1251
whois.nic.or.kr utf-8
whois.kr utf-8
whois.nic.kz utf-8
whois.nic.li utf-8
whois.domreg.lt utf-8
whois.dns.lu iso-8859-1
whois.marnet.mk utf-8
whois.nic.mu utf-8
whois.norid.no iso-8859-1
whois.iis.nu utf-8
whois.registry.om utf-8
whois.registry.pf utf-8
whois.dns.pt utf-8
whois.registry.qa utf-8
whois.nic.re utf-8
whois.rnids.rs utf-8
whois.nic.net.sa utf-8
whois.iis.se utf-8
whois.sgnic.sg utf-8
whois.tld.sy utf-8
whois.thains.co.th utf-8
whois.ati.tn utf-8
whois.trabis.gov.tr utf-8
whois.twnic.net.tw utf-8
whois.nic.ac.uk utf-8
whois.gov.uk utf-8
whois.biz.ua utf-8
whois.co.ua utf-8
whois.pp.ua utf-8
whois.ua utf-8
whois.nic.org.uy utf-8
whois.nic.wf utf-8
whois.nic.yt utf-8
whois.nic.xn--otu796d utf-8

183
simple_recode.c Normal file
View File

@ -0,0 +1,183 @@
/*
* Copyright (C) by Marco d'Itri <md@linux.it>.
*
* simple_recode was inspired by a similar function found in Simon
* Josefsson's libidn.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, see <https://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#include <stdlib.h>
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <iconv.h>
#include <langinfo.h>
#include "utils.h"
#include "simple_recode.h"
/* Global variables */
iconv_t simple_recode_iconv_handle;
const char *simple_recode_input_charset;
/*
* These value should be tuned to an acceptable compromise between memory
* usage and calling iconv(3) as few times as possible.
*/
#define SIMPLE_RECODE_BUFFER_SIZE_1 256
#define SIMPLE_RECODE_BUFFER_SIZE_2 1024
#define SIMPLE_RECODE_BUFFER_INCREMENT 1
/*
* Convert a NULL-terminated string accordingly to the provided iconv(3)
* handle. The returned string is allocated using malloc(3) and needs to be
* deallocated by the caller.
* Incomplete, invalid and impossible to recode sequences are copied as-is.
* On failure, NULL is returned and errno is set.
*/
char *simple_recode(const iconv_t handle, const char *str)
{
char *inp = (char *) str;
char *outp, *result;
size_t inbytes_remaining, outbytes_remaining, outbuf_size;
inbytes_remaining = strlen(inp);
if (inbytes_remaining + 1 <= SIMPLE_RECODE_BUFFER_SIZE_1
- (SIMPLE_RECODE_BUFFER_SIZE_1 >> SIMPLE_RECODE_BUFFER_INCREMENT))
outbuf_size = SIMPLE_RECODE_BUFFER_SIZE_1;
else
outbuf_size = inbytes_remaining + 1
+ (inbytes_remaining >> SIMPLE_RECODE_BUFFER_INCREMENT);
outp = result = malloc(outbuf_size);
if (!result)
return NULL;
outbytes_remaining = outbuf_size - 1;
do {
size_t err = iconv(handle, &inp, &inbytes_remaining, &outp,
&outbytes_remaining);
if (err != (size_t) -1)
break; /* success */
switch (errno) {
case EINVAL: /* incomplete multibyte sequence */
case EILSEQ: /* invalid multibyte sequence */
#ifdef SIMPLE_RECODE_SKIP_INVALID_SEQUENCES
/* recover from invalid input by replacing it with a '?' */
inp++;
*outp++ = '?'; /* use U+FFFD for unicode output? how? */
#else
/* garbage in, garbage out */
*outp++ = *inp++;
#endif
inbytes_remaining--;
outbytes_remaining--;
continue;
case E2BIG:
{
size_t used = outp - result;
size_t newsize;
char *new_result;
if (outbuf_size < SIMPLE_RECODE_BUFFER_SIZE_2)
newsize = SIMPLE_RECODE_BUFFER_SIZE_2;
else
newsize = outbuf_size
+ (outbuf_size >> SIMPLE_RECODE_BUFFER_INCREMENT);
/* check if the newsize variable has overflowed */
if (newsize <= outbuf_size) {
free(result);
errno = ENOMEM;
return NULL;
}
outbuf_size = newsize;
new_result = realloc(result, outbuf_size);
if (!new_result) {
free(result);
return NULL;
}
result = new_result;
/* update the position in the new output stream */
outp = result + used;
outbytes_remaining = outbuf_size - used - 1;
continue;
}
default:
free(result);
return NULL;
}
} while (inbytes_remaining > 0);
*outp = '\0';
return result;
}
/*
* Like fputs(3), but transparently recodes s using the global variable
* simple_recode_input_charset as the input charset and the current locale
* as the output charset.
* If simple_recode_input_charset is NULL it just calls fputs(3).
* Exits with an error if iconv(3) or iconv_open(3) fail.
*
* Assumes that setlocale(3) has already been called.
*
* If appropriate, the iconv object referenced by the global variable
* simple_recode_iconv_handle should be deallocated with iconv_close(3).
*/
int recode_fputs(const char *s, FILE *stream)
{
char *out;
int result;
if (simple_recode_input_charset == NULL) /* no conversion is needed */
return fputs(s, stream);
if (simple_recode_iconv_handle == NULL) {
simple_recode_iconv_handle = iconv_open(nl_langinfo(CODESET),
simple_recode_input_charset);
if (simple_recode_iconv_handle == (iconv_t) - 1)
err_sys("iconv_open");
}
out = simple_recode(simple_recode_iconv_handle, s);
if (!out)
err_sys("iconv");
result = fputs(out, stream);
free(out);
return result;
}
void simple_recode_iconv_close(void)
{
if (simple_recode_iconv_handle == NULL)
return;
iconv_close(simple_recode_iconv_handle);
simple_recode_iconv_handle = NULL;
simple_recode_input_charset = NULL;
}

15
simple_recode.h Normal file
View File

@ -0,0 +1,15 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#ifndef SIMPLE_RECODE_H
#define SIMPLE_RECODE_H
#include <iconv.h>
#include <stdio.h>
extern iconv_t simple_recode_iconv_handle;
extern const char *simple_recode_input_charset;
char *simple_recode(const iconv_t handle, const char *str);
int recode_fputs(const char *s, FILE* stream);
void simple_recode_iconv_close(void);
#endif

View File

@ -1,14 +1,19 @@
# NIC? means I have not been able to find the registry
# 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
# https://www.iana.org/domains/root/db/
#
# Domain names MUST be lowercase and MUST begin with "." or "-".
# First match wins.
# Elements in this list are matched against the end of the query.
# "NIC?" means that I have not been able to find the registry.
.br.com whois.centralnic.net
.cn.com whois.centralnic.net
.de.com whois.centralnic.net
.eu.com whois.centralnic.net
.gb.com whois.centralnic.net
.gb.net whois.centralnic.net
.gr.com whois.centralnic.net
.hu.com whois.centralnic.net
.in.net whois.centralnic.net
.no.com whois.centralnic.net
.qc.com whois.centralnic.net
.ru.com whois.centralnic.net
@ -20,310 +25,406 @@
.us.com whois.centralnic.net
.uy.com whois.centralnic.net
.za.com whois.centralnic.net
.jpn.com whois.centralnic.net
.web.com whois.centralnic.net
.com VERISIGN whois.verisign-grs.com
.za.net whois.za.net
.net VERISIGN whois.verisign-grs.com
.eu.org whois.eu.org
.com CRSNIC
.net CRSNIC
.org PIR
.edu whois.educause.net
.za.org whois.za.org
.org whois.pir.org
# Technically these are SLDs of new gTLDs (hence listed in new_gtlds_list),
# but the registrar (JISC) asked to add the servers for these
# government-related domains.
.llyw.cymru whois.nic.llyw.cymru
.gov.scot whois.nic.gov.scot
.gov.wales whois.nic.gov.wales
.edu whois.educause.edu
.gov whois.nic.gov
.int whois.iana.org
.mil whois.nic.mil
.aero whois.information.aero
.mil NONE
.e164.arpa whois.ripe.net
.in-addr.arpa ARPA
.ip6.arpa IP6
.arpa whois.iana.org
.aero whois.aero
.asia whois.nic.asia
.biz whois.nic.biz
.cat whois.nic.cat
.coop whois.nic.coop
.info whois.afilias.info
.museum whois.museum
.info NONE
.jobs NONE
.mobi NONE
.museum whois.nic.museum
.name whois.nic.name
.pro whois.registrypro.pro
.post whois.nic.post
.pro NONE
.tel whois.nic.tel
.travel NONE
.xxx whois.nic.xxx
.ac whois.nic.ac
.ad NONE # www.nic.ad
.ae whois.uaenic.ae
.af whois.nic.af # whois.nic.cx
.ad whois.nic.ad
.ae whois.aeda.net.ae
.af whois.nic.af
.ag whois.nic.ag
.ai WEB http://whois.offshore.ai/
.al NONE # http://www.inima.al/Domains.html
.ai whois.nic.ai
.al NONE # www.akep.al
.am whois.amnic.net
.am WEB https://www.amnic.net/whois/
.an NONE # http://www.una.net/an_domreg/
.ao NONE # www.dns.ao
.ao WEB https://www.dns.ao/ao/whois/ # www.dns.ao
.aq NONE # 2day.com
.ar WEB http://www.nic.ar/
.ar whois.nic.ar
.as whois.nic.as
.priv.at whois.nic.priv.at # "unofficial" SLD
.at whois.nic.at
.au whois.ausregistry.net.au
#.aw # NIC? www.setarnet.aw
.az WEB http://www.nic.az/AzCheck.htm
.ba WEB http://www.nic.ba/stream/whois/
.bb WEB http://domains.org.bb/regsearch/
.bd NONE # http://www.bttb.net/
.au whois.auda.org.au
.aw whois.nic.aw
.ax whois.ax # www.ax
.gov.az WEB https://www.gov.az/
.az WEB https://whois.az/
.ba WEB https://nic.ba/
.bb WEB https://whois.telecoms.gov.bb/
.bd WEB https://bdia.btcl.com.bd/
.be whois.dns.be
.bf NONE # NIC? http://www.onatel.bf/
.bg whois.ripe.net
#.bh NONE # NIC? www.inet.com.bh
.bi WEB http://www.nic.bi/Nic_search.asp
#.bj # NIC? www.opt.bj
.bm WEB http://207.228.133.14/cgi-bin/lansaweb?procfun+BMWHO+BMWHO2+WHO
#.bn NONE # NIC? www.brunet.bn
.bo WEB http://www.nic.bo/
.br whois.nic.br
.bs WEB http://www.nic.bs/cgi-bin/search.pl
.bf whois.registre.bf # http://www.arcep.bf/noms-de-domaine/
.bg whois.register.bg
.bh whois.nic.bh
.bi whois1.nic.bi
.bj whois.nic.bj
#.bl
.bm whois.nic.bm
.bn whois.bnnic.bn
.bo whois.nic.bo
#.bq
.br whois.registro.br
.bs NONE # http://www.register.bs/
.bt WEB http://www.nic.bt/
.bv NONE # http://www.norid.no/domenenavnbaser/bv-sj.html
#.bw # NIC? www.botsnet.bw btc.bw
.by WEB http://www.tld.by/indexeng.html
.bz whois.belizenic.bz
.by whois.cctld.by
.bw whois.nic.net.bw
.bz RECURSIVE whois.identitydigital.services
.co.ca whois.co.ca
.ca whois.cira.ca
.cc NICCC
.cc VERISIGN ccwhois.verisign-grs.com
.cd whois.nic.cd
.cf NONE # was: WEB http://www.nic.cf/whois.php3
.cg WEB http://www.nic.cg/cgi-bin/whois.pl
.cf NONE
.cg NONE # www.nic.cg
.ch whois.nic.ch
.ci www.nic.ci
.ck whois.nic.ck
.ci whois.nic.ci
.ck NONE
.cl whois.nic.cl
.cm NONE # http://info.intelcam.cm http://www.camnet.cm/
.cm whois.nic.cm
.edu.cn whois.edu.cn
.cn whois.cnnic.net.cn
.cn whois.cnnic.cn
.uk.co whois.uk.co
.co WEB https://www.nic.co/
.cr WEB http://www.nic.cr/servlet/niccr?tid=TWhois&Lng=5&Act=NEW
.cu WEB http://www.nic.cu/consult.html
.cv NONE # www.dns.cv?
.co whois.registry.co
.cr whois.nic.cr
.cu WEB https://www.nic.cu/
.cv whois.nic.cv
.cw NONE # https://www.uoc.cw/cw-registry
.cx whois.nic.cx
.cy WEB http://www.nic.cy/nslookup/online_database.php
.cy WEB https://www.nic.cy/cy-ui/home
.cz whois.nic.cz
.de whois.denic.de
.dj whois.domain.dj
.dk whois.dk-hostmaster.dk
.dm WEB https://secure.domains.dm/tools/whois.jsp
.do WEB http://www.nic.do/whois-h.php3
.dz WEB http://www.nic.dz/anglais/dom-attr-eng.htm
.ec WEB http://www.nic.ec/eng/nicec.htm
.ee whois.eenet.ee
.eg NONE # http://www.ise.org.eg/domain.htm http://www.frcu.eun.eg/docs/e/dns.php
.dj NONE # http://www.dj/
.dk whois.punktum.dk
.dm whois.dmdomains.dm
.do whois.nic.do
.dz whois.nic.dz
.ec whois.nic.ec
.ee whois.tld.ee
.eg NONE # https://domain.eg/
#.eh
.er NONE # http://www.afridns.org/er/tld_er.txt
.es WEB https://www.nic.es/ingles/
#.et NONE # NIC? www.telecom.net.et
.fi whois.ficora.fi
.fj whois.usp.ac.fj
.fk NONE # http://www.fidc.org.fk/domain-registration/home.htm
.fm WEB http://www.dot.fm/whois.html
.fo whois.ripe.net # www.nic.fo
.es WEB https://www.dominios.es/en
.et NONE # http://www.ethionet.et/
.eu whois.eu
.fi whois.fi
.fj www.whois.fj
.fk NONE # http://www.fidc.co.fk/
.fm whois.nic.fm
.fo whois.nic.fo
.fr whois.nic.fr
#.fx
.ga NONE # www.nic.ga
.ga whois.nic.ga
.gb NONE
#.gd # NO NIC (UPR)
.ge WEB http://whois.sanet.ge/
.gf whois.nplus.gf
.gg whois.channelisles.net
.gh NONE # http://www.ghana.com.gh/domain.htm
.gi WEB http://whois.gibnet.gi/
.gl NONE # www.nic.gl
.gm whois.ripe.net # www.nic.gm
.gn NONE # http://www.psg.com/dns/gn/
#.gp # www.nic.gp - broken like mq
#.gq # NO NIC http://www.intnet.gq/ http://www.getesa.gq/
.gr WEB https://grweb.ics.forth.gr/Whois?lang=en
.gs whois.adamsnames.tc
.gt WEB http://www.gt/whois.htm
.gu WEB http://gadao.gov.gu/domainsearch.htm
#.gw # no NIC?
#.gy # NIC? (UPR)
.hk whois.hkdnr.net.hk
.gd whois.nic.gd
.ge whois.nic.ge
.gf whois.mediaserv.net
.gg whois.gg
.gh whois.nic.gh
.gi whois.identitydigital.services
.gl whois.nic.gl
.gm WEB http://www.nic.gm/htmlpages/whois.htm
.gn whois.ande.gov.gn
.gp whois.nic.gp
.gq WEB http://www.dominio.gq/en/whois.html
.gr WEB https://grweb.ics.forth.gr/public/whois?lang=en
.gs whois.nic.gs
.gt WEB https://www.gt/sitio/?lang=en
.gu NONE
.gw WEB https://registar.nic.gw/en/whois/
.gy whois.registry.gy
.hk whois.hkirc.hk
.hm whois.registry.hm
.hn NONE # http://www.nic.hn/busquedas/
.hr WEB http://www.dns.hr/pretrazivanje.html
.ht NONE # http://www.nic.ht/
.hn whois.nic.hn
.hr whois.dns.hr
.ht whois.nic.ht
.hu whois.nic.hu
.id whois.idnic.net.id
.ie whois.domainregistry.ie
.id whois.id
.ie whois.weare.ie
.il whois.isoc.org.il
.im WEB http://www.nic.im/exist.html
.in whois.ncst.ernet.in
.im whois.nic.im
.in whois.nixiregistry.in
.io whois.nic.io
#.iq # see http://nic-iq.nic-naa.net/
.iq whois.cmc.iq # http://www.cmc.iq/en/iq.html
.ir whois.nic.ir
.is whois.isnet.is
.is whois.isnic.is
.it whois.nic.it
.je whois.channelisles.net
#.jm # NIC? uwimona.edu.jm http://nic.jm
.jo WEB http://www.nis.jo/dns/ # old: http://amon.nic.gov.jo/dns/
.jp whois.nic.ad.jp
.je whois.je
.jm NONE # http://myspot.mona.uwi.edu/mits/
.jo WEB https://www.domain.jo/FirstPageen.aspx
.jp whois.jprs.jp
.ke whois.kenic.or.ke
.kg whois.domain.kg
.kh NONE # http://www.mptc.gov.kh/ http://www.nic.net.kh/
.ki WEB http://www.ki/dns/
.km NONE # NO NIC
#.kn # NO NIC (UPR)
#.kp
.kr whois.nic.or.kr
.kw WEB http://www.domainname.net.kw
.ky NONE # http://www.icta.ky/dev/da_ky_reg_dom.php www.nic.ky
.kz whois.domain.kz
.kg whois.kg
.kh NONE # https://www.trc.gov.kh/en/offline-services/dns-registration/
.ki whois.nic.ki
.km NONE # www.domaine.km
.kn whois.nic.kn
.kp NONE # NIC? http://www.star.co.kp/
.kr whois.kr
.kw whois.nic.kw
.ky whois.kyregistry.ky
.kz whois.nic.kz
.la whois.nic.la
.lb WEB http://www.aub.edu.lb/lbdr/search.html
.lc NONE # http://www.isisworld.lc/domains/
.lb whois.lbdr.org.lb
.lc RECURSIVE whois.identitydigital.services
.li whois.nic.li
.lk whois.nic.lk
.lr NONE # http://www.psg.com/dns/lr/
.ls NONE # http://www.co.ls/
.ls whois.nic.ls
.lt whois.domreg.lt
.lu whois.dns.lu
.lv whois.nic.lv
.ly WEB http://www.lydomains.com/
#.ma # NIC? http://www.anrt.net.ma/nic/
.mc whois.ripe.net
.md WEB http://www.dns.md/whois.html
.mg NONE # www.nic.mg
.ly whois.nic.ly
.ma whois.registre.ma
.mc whois.nic.mc
.md whois.nic.md
.me RECURSIVE whois.nic.me # whois.identitydigital.services
#.mf
.mg whois.nic.mg
.mh NONE # www.nic.net.mh
#.mk # NIC? http://www.mpt.com.mk
#.ml # NIC? www.sotelma.ml
.mm whois.nic.mm
.mk whois.marnet.mk
.ml whois.nic.ml
.mm whois.registry.gov.mm
.mn whois.nic.mn
.mo NONE # http://www.monic.net.mo/
.mp NONE # www.nic.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.nic.org.mt/dir/home.html
.mu WEB http://www.nic.mu/mauritius/domain.whois.php
#.mv # NIC? www.dhiraagu.com.mv
.mw WEB http://www.registrar.mw/
.mx whois.nic.mx
.my whois.mynic.net.my
#.mz # NIC? www.uem.mz
.mo WEB https://www.monic.mo/monic/faces/whois # whois.monic.mo is restricted
.mp NONE # get.mp
.mq whois.mediaserv.net
.mr whois.nic.mr
.ms whois.nic.ms
.mt whois.nic.org.mt
.mu whois.tld.mu
.mv NONE # NIC? www.dhiraagu.com.mv
.mw whois.nic.mw
.mx whois.mx
.my whois.mynic.my
.mz whois.nic.mz
.na whois.na-nic.com.na
.nc whois.cctld.nc
#.ne # NIC? http://www.intnet.ne
.nf WEB http://whois.nic.nf/whois.jsp
.ng NONE # http://psg.com/dns/ng/
.ni NONE # www.nic.ni
.nc whois.nc
.ne NONE # NIC? http://www.intnet.ne
.nf whois.nic.nf
.ng whois.nic.net.ng
.ni WEB https://www.nic.ni/
.nl whois.domain-registry.nl
.no whois.norid.no
.np WEB http://www.mos.com.np/domsearch.html
.nr WEB http://www.cenpac.net.nr/dns/whois.html
.nu whois.nic.nu
.nz whois.srs.net.nz
#.om NONE # NIC? http://www.gto.net.om http://www.omantel.net.om/
.pa WEB http://www.nic.pa/
.pe whois.nic.pe
#.pf # NIC? mana.pf
.pg NONE # http://www.npi.gov.pg/DNS/DNS-Application-form.htm
.ph WEB http://www.domains.ph/DomainSearch.asp
.pk WEB http://www.pknic.net.pk/
.np WEB https://register.com.np/whois-lookup
.nr WEB https://www.cenpac.net.nr/dns/whois.html
.nu whois.iis.nu
.nz whois.irs.net.nz
.om whois.registry.om
.pa WEB http://www.nic.pa/en
.pe kero.yachay.pe
.pf whois.registry.pf
.pg whois.nic.pg # https://www.unitech.ac.pg/icts-dns/
.edu.ph WEB https://services.ph.net/dnshosting/dnshostingquery.pl
.gov.ph NONE # http://dns.gov.ph/
.ph WEB https://whois.dot.ph/
.pk whois.pknic.net.pk
.co.pl whois.co.pl # "unofficial" SLD
.pl whois.dns.pl
.pm whois.nic.fr
.pn WEB http://www.pitcairn.pn/PnRegistry/CheckAvailability.html
.pr WEB http://www.nic.pr/domain/whois.asp
.ps WEB http://www.nic.ps/whois/whois.html
.pm whois.nic.pm
.pn WEB https://www.nic.pn/
.pr RECURSIVE whois.nic.pr # whois.identitydigital.services
.ps WEB https://www.pnina.ps/
.pt whois.dns.pt
.pw whois.nic.pw
.py WEB http://www.nic.py/consultas/
.qa NONE # http://www.qatar.net.qa/services/virtual.htm
.re whois.nic.fr
.py WEB https://www.nic.py/consultdompy.php
.qa whois.registry.qa
.re whois.nic.re
.ro whois.rotld.ro
.rs whois.rnids.rs
.ac.ru whois.free.net
.edu.ru whois.informika.ru
.ru whois.ripn.net
.rw WEB http://www.nic.rw/cgi-bin/whoisrw.pl
.sa saudinic.net.sa
.sb WEB http://whois.nic.net.sb/
.sc NONE # www.nic.sc
.sd NONE # http://www.isoc.sd/sd.php
.se whois.nic-se.se
.sg whois.nic.net.sg
.com.ru whois.flexireg.net
.msk.ru whois.flexireg.net
.net.ru whois.nic.net.ru
.nov.ru whois.flexireg.net
.org.ru whois.nic.net.ru
.pp.ru whois.nic.net.ru
.spb.ru whois.flexireg.net
.ru whois.tcinet.ru
.rw whois.ricta.org.rw # http://www.ricta.org.rw/
.sa whois.nic.net.sa
.sb whois.nic.net.sb
.sc whois.nic.sc
.sd whois.nic.sd
.se whois.iis.se
.sg whois.sgnic.sg
.sh whois.nic.sh
.si whois.arnes.si
.si whois.register.si
.sj NONE # http://www.norid.no/domenenavnbaser/bv-sj.html
.sk whois.ripe.net
#.sl # NIC? http://www.sierratel.sl/
.sm whois.ripe.net
.sn NONE # www.nic.sn
.so NONE # www.nic.so - no country, no NIC
.sr whois.register.sr
.sk whois.sk-nic.sk
.sl whois.nic.sl
.sm whois.nic.sm
.sn whois.nic.sn
.so whois.nic.so
.sr whois.sr # https://isp.datasur.sr/
.ss whois.nic.ss
.st whois.nic.st
.su whois.ripn.net
.sv WEB http://www.uca.edu.sv/dns/ # http://www.svnet.org.sv/
#.sy # NIC? www.ste.gov.sy
.msk.su whois.flexireg.net
.nov.su whois.flexireg.net
.spb.su whois.flexireg.net
.su whois.tcinet.ru
.sv WEB https://svnet.sv/
.sx whois.sx
.sy whois.tld.sy
.sz NONE # http://www.sispa.org.sz/
.tc whois.adamsnames.tc
.td WEB http://www.nic.td/
.tc whois.nic.tc
.td whois.nic.td
.tf whois.nic.tf
.tg WEB http://www.nic.tg/
.th whois.thnic.net
.tj whois.nic.tj
.tg whois.nic.tg
.th whois.thnic.co.th
.tj WEB http://www.nic.tj/whois.html
.tk whois.dot.tk
.tl whois.nic.tl
.tm whois.nic.tm
.tn NONE # http://www.ati.tn/Nic/
.to whois.tonic.to
#.tp WEB http://cgi.connect.ie/cgi-bin/tplookup.cgi
# also see whois.cocca.cx ALSO RELEVANT FOR .tl
.tp WEB http://www.nic.tp/whois.jsp
.tr whois.metu.edu.tr
.tt WEB http://www.nic.tt/cgi-bin/search.pl
.tv whois.tv
.tw whois.twnic.net
.tz NONE # http://www.psg.com/dns/tz/
.ua whois.net.ua
.ug WEB http://www.registry.co.ug/whois/
.gov.uk whois.ja.net
.ac.uk whois.ja.net
.tn whois.ati.tn
.to whois.tonicregistry.to
.tr whois.trabis.gov.tr
.tt WEB https://www.nic.tt/cgi-bin/search.pl
.tv RECURSIVE whois.nic.tv
.tw whois.twnic.net.tw
.tz whois.tznic.or.tz
.biz.ua whois.biz.ua
.co.ua whois.co.ua
.pp.ua whois.pp.ua
.ua whois.ua
.ug whois.co.ug
.ac.uk whois.nic.ac.uk
.gov.uk whois.gov.uk
.mil.uk NONE
.mod.uk NONE
.nhs.uk NONE
.parliament.uk NONE
.uk whois.nic.uk
.um NONE # see .us
#.um
.fed.us whois.nic.gov
.us whois.nic.us
.com.uy WEB http://dns.antel.net.uy/clientes/consultar.htm
.uy WEB http://www.rau.edu.uy/rau/dom/
.uz WEB http://www.noc.uz/dom_01.htm
.va whois.ripe.net
.vc whois.opensrs.net
.ve WEB http://www.nic.ve/ # rwhois.reacciun.ve:4321
.vg whois.adamsnames.tc
.vi WEB http://www.nic.vi/whoisform.htm
.vn WEB http://www.vnnic.net.vn/english/reg_domain/
.vu WEB http://www.vunic.vu/whois.htm
.com.uy WEB https://nic.com.uy/consulta-whois
.gub.uy WEB https://www.dominios.gub.uy/
.mil.uy WEB https://www.dominios.gub.uy/
.uy WEB https://www.nic.uy/
.uz whois.cctld.uz
.va NONE
.vc RECURSIVE whois.identitydigital.services
.ve whois.nic.ve
.vg whois.nic.vg
.vi whois.nic.vi
.vn WEB http://www.vnnic.vn/en
.vu whois.dnrs.vu
.wf whois.nic.wf
.ws whois.samoanic.ws
#.ye # NIC? www.y.net.ye
.ws whois.website.ws
.ye whois.y.net.ye
.yt whois.nic.yt
.yu NONE # www.nic.yu
.ac.za whois.ac.za
.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 whois.frd.ac.za
.zm NONE # NIC? http://www.zamnet.zm/domain.shtml
#.zw # NIC? zptc.co.zw http://www.zispa.co.zw/
-dom whois.networksolutions.com
-org whois.networksolutions.com
-hst whois.networksolutions.com
-arin whois.arin.net
-ripe whois.ripe.net
-mnt whois.ripe.net
-lacnic whois.lacnic.net
-gandi whois.gandi.net
-ap whois.apnic.net
-ar whois.aunic.net
-cn whois.cnnic.net.cn
-dk whois.dk-hostmaster.dk
-ti whois.telstra.net
-is whois.isnet.is
-6bone whois.6bone.net
-norid whois.norid.no
-ripn whois.ripn.net
-sgnic whois.nic.net.sg
-metu whois.metu.edu.tr
-cknic whois.nic.ck
-cz whois.nic.cz
-kg whois.domain.kg
-rotld whois.rotld.ro
-itnic whois.nic.it
-frnic whois.nic.fr
-nicat whois.nic.at
-il whois.isoc.org.il
-lrms whois.afilias.net
-tw whois.twnic.net
-nicir whois.nic.ir
-uanic whois.com.ua
.alt.za WEB https://whois.alt.za/
.co.za whois.registry.net.za
.edu.za WEB https://whois.edu.za/
.gov.za whois.gov.za
.net.za net-whois.registry.net.za
.org.za org-whois.registry.net.za
.web.za web-whois.registry.net.za
.za whois.nic.za
.zm whois.zicta.zm
.zw NONE # http://www.zispa.co.zw/
# AW means that I had to guess the whois server name, but I was not able
# to find any registered subdomains to verify it.
.xn--2scrj9c whois.nixiregistry.in # India
.xn--3e0b707e whois.kr # Korea, Republic of
.xn--3hcrj9c whois.nixiregistry.in # India
.xn--45br5cyl whois.nixiregistry.in # India
.xn--45brj9c whois.nixiregistry.in # India, Bengali
.xn--4dbrk0ce whois.isoc.org.il # Israel
.xn--54b7fta0cc WEB https://bdia.btcl.com.bd/ # Bangladesh
.xn--80ao21a whois.nic.kz # Kazakhstan
.xn--90a3ac whois.rnids.rs # Serbia
.xn--90ae whois.imena.bg # Bulgaria
.xn--90ais whois.cctld.by # Belarus
.xn--clchc0ea0b2g2a9gcd whois.ta.sgnic.sg # Singapore, Tamil
.xn--d1alf whois.marnet.mk # Macedonia
.xn--e1a4c whois.eu # European Union, Cyrillic
.xn--fiqs8s whois.cnnic.cn # China, Simplified Chinese
.xn--fiqz9s whois.cnnic.cn # China, Traditional Chinese
.xn--fpcrj9c3d whois.nixiregistry.in # India, Telugu
.xn--fzc2c9e2c whois.nic.lk # Sri Lanka, Sinhala
.xn--gecrj9c whois.nixiregistry.in # India, Gujarati
.xn--h2breg3eve whois.nixiregistry.in # India
.xn--h2brj9c8c whois.nixiregistry.in # India
.xn--h2brj9c whois.nixiregistry.in # India, Hindi
.xn--j1amh whois.dotukr.com # Ukraine
.xn--j6w193g whois.hkirc.hk # Hong Kong
.xn--kprw13d whois.twnic.net.tw # Taiwan, Simplified Chinese
.xn--kpry57d whois.twnic.net.tw # Taiwan, Traditional Chinese
.xn--l1acc whois.mn # Mongolia
.xn--lgbbat1ad8j whois.nic.dz # Algeria
.xn--mgb9awbf whois.registry.om # Oman
.xn--mgba3a4f16a whois.nic.ir # Iran
.xn--mgbaam7a8h whois.aeda.net.ae # United Arab Emirates
.xn--mgbah1a3hjkrd whois.nic.mr # Mauritania
.xn--mgbai9azgqp6j NONE # Pakistan
.xn--mgbayh7gpa WEB https://www.domain.jo/FirstPageen.aspx # Jordan
.xn--mgbbh1a71e whois.nixiregistry.in # India, Urdu
.xn--mgbbh1a whois.nixiregistry.in # India
.xn--mgbc0a9azcg NONE # Morocco
.xn--mgbcpq6gpa1a NONE # Bahrain
.xn--mgberp4a5d4ar whois.nic.net.sa # Saudi Arabia
.xn--mgbgu82a whois.nixiregistry.in # India
.xn--mgbpl2fh NONE # Sudan
.xn--mgbtx2b whois.cmc.iq # Iraq
.xn--mgbx4cd0ab whois.mynic.my # Malaysia AW
.xn--mix891f WEB https://www.monic.mo/monic/faces/whois # Macao
.xn--node WEB http://რეგისტრაცია.გე/ # Georgia
.xn--o3cw4h whois.thnic.co.th # Thailand
.xn--ogbpf8fl whois.tld.sy # Syria
.xn--p1ai whois.tcinet.ru # Russian Federation
.xn--pgbs0dh whois.ati.tn # Tunisia
.xn--q7ce6a whois.nic.la # Lao
.xn--qxa6a whois.eu # European Union, Greek
.xn--qxam WEB https://grweb.ics.forth.gr/public/whois?lang=en # Greece
.xn--rvc1e0am3e whois.nixiregistry.in # India
.xn--s9brj9c whois.nixiregistry.in # India, Punjabi
.xn--wgbh1c whois.dotmasr.eg # Egypt
.xn--wgbl6a whois.registry.qa # Qatar
.xn--xkc2al3hye2a whois.nic.lk # Sri Lanka, Tamil
.xn--xkc2dl3a5ee0h whois.nixiregistry.in # India, Tamil
.xn--y9a3aq whois.amnic.net # Armenia
.xn--yfro4i67o whois.zh.sgnic.sg # Singapore, Chinese
.xn--ygbi2ammx NONE # Palestinian Territory

98
utils.c Normal file
View File

@ -0,0 +1,98 @@
/*
* Copyright by Marco d'Itri <md@linux.it>.
*
* do_nofail and merge_args come from the module-init-tools package.
* Copyright by Rusty Russell.
* Copyright by Rusty Russell, IBM Corporation.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, see <https://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
/* for strdup */
#define _XOPEN_SOURCE 500
/* System library */
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <errno.h>
/* Application-specific */
#include "utils.h"
void *do_nofail(void *ptr, const char *file, const int line)
{
if (ptr)
return ptr;
err_quit("Memory allocation failure at %s:%d.", file, line);
}
/* Prepend options from a string. */
char **merge_args(char *args, char *argv[], int *argc)
{
char *arg, *argstring;
char **newargs = NULL;
int i;
unsigned int num_env = 0;
if (!args)
return argv;
argstring = NOFAIL(strdup(args));
for (arg = strtok(argstring, " "); arg; arg = strtok(NULL, " ")) {
num_env++;
newargs = NOFAIL(realloc(newargs,
sizeof(newargs[0]) * (num_env + *argc + 1)));
newargs[num_env] = arg;
}
if (!newargs)
return argv;
/* Append commandline args */
newargs[0] = argv[0];
for (i = 1; i <= *argc; i++)
newargs[num_env + i] = argv[i];
*argc += num_env;
return newargs;
}
/* Error routines */
void NORETURN err_sys(const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
vfprintf(stderr, fmt, ap);
fprintf(stderr, ": %s\n", strerror(errno));
va_end(ap);
exit(2);
}
void NORETURN err_quit(const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
vfprintf(stderr, fmt, ap);
fputs("\n", stderr);
va_end(ap);
exit(2);
}

74
utils.h Normal file
View File

@ -0,0 +1,74 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#ifndef WHOIS_UTILS_H
#define WHOIS_UTILS_H
/* Convenience macros */
#define streq(a, b) (strcmp(a, b) == 0)
#define strcaseeq(a, b) (strcasecmp(a, b) == 0)
#define strneq(a, b, n) (strncmp(a, b, n) == 0)
#define strncaseeq(a, b, n) (strncasecmp(a, b, n) == 0)
#define NOFAIL(ptr) do_nofail((ptr), __FILE__, __LINE__)
#ifndef AFL_MODE
# define AFL_MODE 0
#endif
/* Portability macros */
#ifdef __GNUC__
# define NORETURN __attribute__((noreturn))
# define NONNULL __attribute__((returns_nonnull))
# define UNUSED __attribute__((unused))
#else
# define NORETURN
# define NONNULL
# define UNUSED
#endif
#if (defined __GNUC__ && __GNUC__ >= 11) && !defined __clang__
# define MALLOC_FREE __attribute__((malloc(free)))
#else
# define MALLOC_FREE
#endif
#ifndef AI_IDN
# define AI_IDN 0
#endif
#ifndef AI_ADDRCONFIG
# define AI_ADDRCONFIG 0
#endif
#ifdef HAVE_GETOPT_LONG
# define GETOPT_LONGISH(c, v, o, l, i) getopt_long(c, v, o, l, i)
#else
# define GETOPT_LONGISH(c, v, o, l, i) getopt(c, v, o)
#endif
#ifdef ENABLE_NLS
# include <libintl.h>
# include <locale.h>
# define _(a) (gettext(a))
# ifdef gettext_noop
# define N_(a) gettext_noop(a)
# else
# define N_(a) (a)
# endif
#else
# define _(a) (a)
# define N_(a) (a)
# define ngettext(a, b, c) ((c==1) ? (a) : (b))
#endif
#if defined IDN2_VERSION_NUMBER && IDN2_VERSION_NUMBER < 0x00140000
# define IDN2_NONTRANSITIONAL IDN2_NFC_INPUT
#endif
/* Prototypes */
void *MALLOC_FREE NONNULL do_nofail(void *ptr, const char *file, const int line)
;
char **merge_args(char *args, char *argv[], int *argc);
void NORETURN err_quit(const char *fmt, ...);
void NORETURN err_sys(const char *fmt, ...);
#endif

View File

@ -1,90 +0,0 @@
The gentoo people submitted this patch. I'm not applying it as it makes
the code harder to understand with no major gain and without being a
fully correct fix.
diff -Nru whois-4.6.6.orig/whois.c whois-4.6.6/whois.c
--- whois-4.6.6.orig/whois.c 2003-06-15 12:36:52.000000000 -0400
+++ whois-4.6.6/whois.c 2003-08-11 02:15:30.000000000 -0400
@@ -73,12 +73,12 @@
/* RIPE flags */
if (strchr(ripeflags, ch)) {
for (p = fstring; *p; p++);
- sprintf(p--, "-%c ", ch);
+ snprintf(p--, sizeof(fstring), "-%c ", ch);
continue;
}
if (strchr(ripeflagsp, ch)) {
for (p = fstring; *p; p++);
- sprintf(p--, "-%c %s ", ch, optarg);
+ snprintf(p--, sizeof(fstring), "-%c %s ", ch, optarg);
if (ch == 't' || ch == 'v' || ch == 'q')
nopar = 1;
continue;
@@ -132,10 +132,10 @@
while (1) {
qslen += strlen(*argv) + 1 + 1;
qstring = realloc(qstring, qslen);
- strcat(qstring, *argv++);
+ strncat(qstring, *argv++, qslen-1);
if (argc == 1)
break;
- strcat(qstring, " ");
+ strncat(qstring, " ", qslen);
argc--;
}
}
@@ -401,10 +401,13 @@
{
char *buf;
int i, isripe = 0;
+ int buflen = 0;
/* +10 for CORE; +2 for \r\n; +1 for NULL */
- buf = malloc(strlen(flags) + strlen(query) + strlen(client_tag) + 4
- + 10 + 2 + 1);
+ buflen = (strlen(flags) + strlen(query) + strlen(client_tag) + 4 + 10 + 2 + 1);
+
+ buf = malloc(buflen);
+
*buf = '\0';
for (i = 0; ripe_servers[i]; i++)
if (strcmp(server, ripe_servers[i]) == 0) {
@@ -426,23 +429,23 @@
if (*flags) {
if (!isripe && strcmp(server, "whois.corenic.net") != 0)
puts(_("Warning: RIPE flags used with a traditional server."));
- strcat(buf, flags);
+ strncat(buf, flags, buflen);
}
/* FIXME: /e is not applied to .JP ASN */
if (!isripe && (strcmp(server, "whois.nic.mil") == 0 ||
strcmp(server, "whois.nic.ad.jp") == 0) &&
strncasecmp(query, "AS", 2) == 0 && isasciidigit(query[2]))
- sprintf(buf, "AS %s", query + 2); /* fix query for DDN */
+ snprintf(buf, buflen, "AS %s", query + 2); /* fix query for DDN */
else if (!isripe && strcmp(server, "whois.corenic.net") == 0)
- sprintf(buf, "--machine %s", query); /* machine readable output */
+ snprintf(buf, buflen, "--machine %s", query); /* machine readable output */
else if (!isripe && strcmp(server, "whois.nic.ad.jp") == 0) {
char *lang = getenv("LANG"); /* not a perfect check, but... */
if (!lang || (strncmp(lang, "ja", 2) != 0))
- sprintf(buf, "%s/e", query); /* ask for english text */
+ snprintf(buf, buflen, "%s/e", query); /* ask for english text */
else
- strcat(buf, query);
+ strncat(buf, query, buflen);
} else
- strcat(buf, query);
+ strncat(buf, query, buflen);
return buf;
}
@@ -485,7 +488,7 @@
if (verb)
printf(_("Detected referral to %s on %s.\n"), nq, nh);
- strcat(nq, "\r\n");
+ strncat(nq, "\r\n", sizeof(nq));
fd = openconn(nh, np);
do_query(fd, nq);
continue;

352
whois.1
View File

@ -1,43 +1,87 @@
.TH "WHOIS" "1" "27 November 2004" "Marco d'Itri" "Debian GNU/Linux"
.SH "NAME"
.TH "WHOIS" "1" "2019-12-30" "Marco d'Itri" "Debian GNU/Linux"
.SH NAME
whois \- client for the whois directory service
.SH "SYNOPSIS"
.SH SYNOPSIS
.B whois
[\~\fB\-h\fP\~\fIHOST\fP\~]
[\~\fB\-p\fP\~ \fIPORT\fP\~]
[\~\fB\-aCFHlLMmrRSVx\fP\~]
[\~\fB\-g\fP\~\fISOURCE:FIRST\-LAST\fP\~]
[\~\fB\-i\fP\~\fIATTR\fP\~]
[\~\fB\-S\fP\~\fISOURCE\fP\~]
[\~\fB\-T\fP\~\fITYPE\fP\~]
.I object
[
.RB {\~ \-h \~|\~ \-\-host \~}
.I HOST
] [
.RB {\~ \-p \~|\~ \-\-port \~}
.I PORT
]
.RB [\~ \-abBcdGHIKlLmMrRx
]
.RB [\~ \-g \fI\~SOURCE:FIRST\-LAST\fR
]
.RB [\~ \-i
.IR ATTR [, ATTR ]...\~]
.RB [\~ \-s
.IR SOURCE [, SOURCE ]...\~]
.RB [\~ \-T
.IR TYPE [, TYPE ]...\~]
.RB [\~ \-\-verbose \~]
.RB [\~ \-\-no\-recursion \~]
.I OBJECT
.B whois
[\~\fI\-t\fP\~]
[\~\fI\-v\fP\~]
.I template
.B whois
[\~\fI\-q\fP\~]
.I keyword
.PP
.SH "DESCRIPTION"
\fBwhois\fP searches for an object in a \fIRFC\ 3912\fP database.
.B \-q
.I KEYWORD
.B whois
.B \-t
.I TYPE
.B whois
.B \-v
.I TYPE
.B whois \-\-help
.B whois \-\-version
.SH DESCRIPTION
.B whois
searches for an object in a
.I RFC 3912
database.
.P
This version of the whois client tries to guess the right server to
ask for the specified object. If no guess can be made it will connect
to whois.networksolutions.com for nic handles or whois.arin.net for
IPv4 addresses and network names.
.PP
.SH "OPTIONS"
ask for the specified object.
If no guess can be made it will connect to
.I whois.networksolutions.com
for NIC handles or
.I whois.arin.net
for IPv4 addresses and network names.
.SH OPTIONS
.TP 8
.B \-h HOST
Connect to HOST.
.B \-h
.IR HOST ,
.BI \-\-host= HOST
Connect to
.IR HOST .
.TP 8
.B \-H
Do not display the legal disclaimers some registries like to show you.
Do not display the legal disclaimers that some registries like to show you.
.TP 8
.B \-p PORT
Connect to PORT.
.B \-p
.IR PORT ,
.BI \-\-port= PORT
Connect to
.IR PORT .
.TP 8
.B \-I
First query
.I whois.iana.org
and then follow its referral to the
whois server authoritative for that request.
This works for IP addresses,
AS numbers and domains.
.BR BEWARE :
this implies that the IANA server will receive your complete query.
.TP 8
.B \-\-no\-recursion
Disable recursion from registry to registrar servers.
.TP 8
.B \-\-verbose
Be verbose.
@ -45,61 +89,227 @@ Be verbose.
.B \-\-help
Display online help.
.TP 8
Other options are flags understood by RIPE\-like servers.
.SH "NOTES"
Please remember that \fIwhois.networksolutions.com\fP by default will
only search in the domains database. If you want to search for NIC handles
you have to prepend a \fI!\fP character. When you do this, the default
server becomes \fIwhois.networksolutions.com\fP.
.B \-\-version
Display the program version.
.P
When querying \fIwhois.nic.mil\fP for AS numbers, the program will
automatically convert the request in the appropriate format, inserting
a space after the string \fIAS\fP.
Other options are flags understood by
.I whois.ripe.net
and some other
RIPE-like servers:
.TP 8
.B \-a
Also search all the mirrored databases.
.TP 8
.B \-b
Return brief IP address ranges with abuse contact.
.TP 8
.B \-B
Disable objects filtering.
(Show the e-mail addresses.)
.TP 8
.B \-c
Return the smallest IP address range with a reference to an irt object.
.TP 8
.B \-d
Return the reverse DNS delegation object too.
.TP 8
.B \-g
.I SOURCE:FIRST\-LAST
Search updates from
.I SOURCE
database between
.I FIRST
and
.I LAST
update serial number.
It is useful to obtain Near Real Time Mirroring stream.
.TP 8
.B \-G
Disable grouping of associated objects.
.TP 8
.B \-i
.IR ATTR [, ATTR ]...
Inverse-search objects having associated attributes.
.I ATTR
is the attribute name, while the positional
.I OBJECT
argument is the attribute value.
.TP 8
.B \-K
Return primary key attributes only.
An exception is the
.I members
attribute of
.I set
objects, which is always returned.
Another exception are all
attributes of the objects
.IR organisation ,
.I person
and
.IR role ,
that are never returned.
.TP 8
.B \-l
Return the one level less specific object.
.TP 8
.B \-L
Return all levels of less specific objects.
.TP 8
.B \-m
Return all one level more specific objects.
.TP 8
.B \-M
Return all levels of more specific objects.
.TP 8
.B \-q
.I KEYWORD
Return information about the server.
.I KEYWORD
can be
.I version
for the server version,
.I sources
for the list of database sources or
.I types
for the list of supported object types.
.TP 8
.B \-r
Disable recursive lookups for contact information.
.TP 8
.B \-R
Disable following referrals and force showing the object from the local copy
in the server.
.TP 8
.B \-s
.IR SOURCE [, SOURCE ]...
Request the server to search for objects mirrored from
.IR SOURCE .
Sources are delimited by comma, and the order is significant.
Use the
.I \-q sources
parameter to obtain a list of valid sources.
.TP 8
.B \-t
.I TYPE
Return the template for a object of
.IR TYPE .
.TP 8
.B \-T
.IR TYPE [, TYPE ]...
Restrict the search to objects of
.IR TYPE .
Multiple types are separated by a comma.
.TP 8
.B \-v
.I TYPE
Return the verbose template for a object of
.IR TYPE .
.TP 8
.B \-x
Search for only exact match on network address prefix.
.SH NOTES
When querying the Verisign gTLDs
(e.g.\& \&.com, \&.net...\&)
thin registry servers
for a domain, the program will automatically prepend the
.I domain
keyword to only show domain records. The
.I nameserver
or
.I registrar
keywords must be used to show other kinds of records.
.P
When querying \fIwhois.denic.de\fP for domain names, the program will
automatically add the flags \fI-T dn,ace -C US-ASCII\fP.
When querying
.I whois.arin.net
for IPv4 or IPv6 networks, the CIDR
netmask length will be automatically removed from the query string.
.P
When querying \fIwhois.corenic.net\fP, machine readable output is requested.
When querying
.I whois.nic.ad.jp
for AS numbers, the program will automatically convert the request
in the appropriate format, inserting a space after the string
.IR AS .
.P
RIPE\-specific options are ignored when querying non\-RIPE servers.
When querying
.I whois.denic.de
for domain names and no other
flags have been specified, the program will automatically add the flag
.IR "\-T dn" .
.P
If the \fI/etc/whois.conf\fR config file exists, it will be consulted
to find a server before applying the normal rules. Each line of the
When querying
.I whois.dk\-hostmaster.dk
for domain names and no other
flags have been specified, the program will automatically add the flag
.IR "\-\-show\-handles" .
.P
RIPE-specific command line options are ignored when querying non-RIPE
servers.
This may or may not be the behaviour intended by the user.
When using non-standard query parameters then the command line options
which are not to be interpreted by the client must follow the
.I \-\-
separator (which marks the beginning of the query string).
.P
If the
.I /etc/whois.conf
configuration file exists, it will be consulted
to find a server before applying the normal rules.
Each line of the
file should contain a regular expression to be matched against the query
text and the whois server to use, separated by white space.
.SH "Files"
IDN domains must use the ACE format.
.P
The whois protocol does not specify an encoding for characters which
cannot be represented by ASCII and implementations vary wildly.
If the program knows that a specific server uses a certain encoding,
if needed it will transcode the server output to the encoding specified
by the current system locale.
.P
Command line arguments will always be interpreted accordingly to the
current system locale and converted to the IDN ASCII Compatible Encoding.
.SH "FILES"
/etc/whois.conf
.SH "ENVIRONMENT"
.IP LANG
When querying \fIwhois.nic.ad.jp\fP english text is requested unless the
\fILANG\fP environment variable specifies a Japanese locale.
When querying
.I whois.nic.ad.jp
and
.I whois.jprs.jp
English text is requested unless the
.I LANG
or
.I LC_MESSAGES
environment variables specify a Japanese locale.
.IP "WHOIS_OPTIONS"
A list of options which will be evaluated before the ones specified on the
command line.
.IP "WHOIS_SERVER"
This server will be queried if the program cannot guess where some kind
of objects are located. If the variable does not exist then
\fIwhois.arin.net\fP will be queried.
.IP "WHOIS_HIDE"
If this variable is defined, legal disclaimers will be hidden even if
the \fI\-H\fP flag is not used.
of objects are located.
If the variable does not exist then
.I whois.arin.net
will be queried.
.SH "SEE ALSO"
\fIRFC 3912\fP: WHOIS Protocol Specification
.PP
\fIRIPE\-223\fP: RIPE NCC Database Documentation
.PP
Detailed help on available flags can be found in \fIRIPE\-223\fP or in
the help file which can be obtained with the command:
.IP
.B whois \-h whois.ripe.net HELP
.SH "BUGS"
The program has many buffer overflows when parsing the command line
parameters: be sure to not pass untrusted data to it.
It will be rewritten to use a dynamic strings library.
.SH "HISTORY"
.IR whois.conf (5).
.P
.IR "RFC 3912" :
WHOIS Protocol Specification.
.P
.IR "RIPE Database Query Reference Manual" :
.RI < https://www.ripe.net/\:data\-tools/\:support/\:documentation/\:ripe\-database\-query\-reference\-manual >
.SH BUGS
The program may have buffer overflows in the command line parser:
be sure to not pass untrusted data to it.
It should be rewritten to use a dynamic strings library.
.SH HISTORY
This program closely tracks the user interface of the whois client
developed at RIPE by Ambrose Magee and others on the base of the
original BSD client.
I also added support for the protocol extensions developed by David
Kessens of QWest for the 6bone server.
.SH "AUTHOR"
.SH AUTHOR
.B Whois
and this man page were written by Marco d'Itri <\fImd@linux.it\fP>
and are licensed under the GPL.
and this man page were written by Marco d'Itri
.RI < md@linux.it >
and are licensed under the terms of the GNU General Public License,
version 2 or later.
.\" SPDX-License-Identifier: GPL-2.0-or-later

86
whois.bash Normal file
View File

@ -0,0 +1,86 @@
_whois_query() {
"$1" -q "$2" 2>/dev/null | while read -r item _; do
[[ $item == %* ]] && continue
printf "%s\n" "${item%%:*}"
done
}
_whois_hosts() {
# _known_hosts_real from github.com/scop/bash-completion if available
if declare -f _known_hosts_real &>/dev/null; then
_known_hosts_real -- "$1"
return 0
fi
COMPREPLY=($(compgen -A hostname -- "$1"))
}
_whois() {
case $3 in
--help | --version | -p | --port | -i)
return 0
;;
-h | --host)
_whois_hosts "$2"
return 0
;;
-T | -t | -v)
[[ ${_whois_types-} ]] ||
_whois_types=" $(_whois_query "$1" types)"
COMPREPLY=($(compgen -W '$_whois_types' -- "$2"))
return 0
;;
-s | -g)
[[ ${_whois_sources-} ]] ||
_whois_sources=" $(_whois_query "$1" sources)"
COMPREPLY=($(compgen -W '$_whois_sources' -- "$2"))
if [[ $3 == -g ]]; then
[[ ${#COMPREPLY[*]} -eq 1 ]] && COMPREPLY[0]+=:
compopt -o nospace
fi
return 0
;;
-q)
COMPREPLY=($(compgen -W 'version sources types' -- "$2"))
return 0
;;
esac
if [[ $2 == -* ]]; then
COMPREPLY=($(compgen -W '
-h --host
-p --port
-I
-H
--verbose
--no-recursion
--help
--version
-l
-L
-m
-M
-c
-x
-b
-B
-G
-d
-i
-T
-K
-r
-R
-a
-s
-g
-t
-v
-q
' -- "$2"))
return 0
fi
_whois_hosts "$2"
} && complete -F _whois whois

1535
whois.c

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,11 @@
# GNU whois configuration file
# whois configuration file
#
# This file can contain details of alternative whois servers to use if
# the compiled in servers are not suitable. Each entry is a single
# text line and consists of a regular expression pattern to match and
# the whois server to be used for it, separated by blank space.
# the whois server to be used for it, separated by blank space.
# IDN domains must use the ACE format.
#
# Eg:
# .nz nz.whois-servers.net
# Eg:
# \.nz$ nz.whois-servers.net
#

50
whois.conf.5 Normal file
View File

@ -0,0 +1,50 @@
.TH "WHOIS.CONF" "5" "2019-12-30" "Petr Písař" "Debian GNU/Linux"
.SH NAME
whois.conf \- alternative WHOIS servers list for whois client
.SH SYNOPSIS
.B /etc/whois.conf
.SH DESCRIPTION
This file contains a list of WHOIS servers which can augment or override
the built-in list of the client.
It's a plain text file in ASCII encoding. Each line consists of two fields:
a pattern to match WHOIS object identifier and a corresponding WHOIS server
domain name.
Fields are separated by non-empty sequence of space or a tabular characters.
A line starting with a hash character is a free comment and it's not
considered.
The pattern is case-insensitive extended regular expression if whois client
has been compiled with POSIX regular expressions support. Otherwise, simple
case-insensitive suffix comparison against WHOIS object identifier is used.
Internationalized domain names (IDN) must be specified in ascii-compatible
encoding (ACE) format.
.SH EXAMPLE
\\.nz$ nz.whois-servers.net
.br
# Hangul Korean TLD
.br
\\.xn--3e0b707e$ whois.kr
.br
# Private ASNs
.br
^as645(1[2-9]|2[0-9]|3[0-4])$ whois.example.net
.SH FILES
/etc/whois.conf
.SH "SEE ALSO"
.IR whois (1)
.SH AUTHOR
This manual page was written by Petr Písař
.RI < ppisar@redhat.com >
and is licensed under the terms of the GNU General Public License,
version 2 or higher.
\" SPDX-License-Identifier: GPL-2.0-or-later

48
whois.h
View File

@ -1,42 +1,42 @@
/* 6bone referto: extension */
#define REFERTO_FORMAT "%% referto: whois -h %255s -p %15s %1021[^\n\r]"
/* SPDX-License-Identifier: GPL-2.0-or-later */
#include "utils.h"
/* String sent to RIPE servers - MUST NOT BE LONGER THAN FIVE CHARACTERS! */
/* Do *NOT* change it if you don't know what you are doing! */
#define IDSTRING "Md4.7"
#define HIDE_DISABLED -2
#define HIDE_UNSTARTED -1
#define HIDE_TO_THE_END -3
#define HIDE_DISABLED -2
#define HIDE_NOT_STARTED -1
/* prototypes */
const char *whichwhois(const char *);
int is_asn(const char *, int, const char *);
char *guess_server(const char *);
const char *match_config_file(const char *);
const char *whereas(const unsigned short);
const char *whereas(const unsigned long);
char *queryformat(const char *, const char *, const char *);
int hide_line(int *hiding, const char *const line);
const char *do_query(const int, const char *);
const char *query_crsnic(const int, const char *);
const char *query_pir(const int, const char *);
char *query_server(const char *, const char *, const char *);
char *query_verisign(const char *, const char *, const char *);
int openconn(const char *, const char *);
void usage(void);
void alarm_handler(int);
void sighandler(int);
int connect_with_timeout(int, const struct sockaddr *, socklen_t, int);
void NORETURN usage(int error);
void NORETURN alarm_handler(int);
void NORETURN sighandler(int);
int japanese_locale(void);
unsigned long myinet_aton(const char *);
int isasciidigit(const char);
int domcmp(const char *, const char *);
int endstrcaseeq(const char *, const char *);
int in_domain(const char *, const char *);
const char *is_new_gtld(const char *);
int domfind(const char *, const char *[]);
char *normalize_domain(const char *);
char *convert_6to4(const char *);
const char *handle_query(const char *server, const char *port,
char *convert_teredo(const char *);
char *convert_inaddr(const char *);
char *convert_in6arpa(const char *);
int handle_query(const char *server, const char *port,
const char *qstring, const char *fstring);
void split_server_port(const char *const input, const char **server,
const char **port);
void err_quit(const char *,...);
void err_sys(const char *,...);
void split_server_port(const char *const input, char **server, char **port);
/* flags for RIPE-like servers */
const char *ripeflags="acdFKlLmMrRSx";
const char *ripeflags="abBcdFGKlLmMrRx";
const char *ripeflagsp="gisTtvq";

View File

@ -1,52 +0,0 @@
Summary: Enhanced WHOIS client
Name: whois
Version: 4.7.0
Release: 1
License: GPL
Vendor: Marco d'Itri <md@linux.it>
Group: Applications/Internet
Source: http://ftp.debian.org/debian/pool/main/w/whois/whois_%{version}.tar.gz
BuildRoot: /var/tmp/%{name}-root
Prefix: /usr
%description
This is a new whois (RFC 954) client rewritten from scratch.
It is derived from and compatible with the usual BSD and RIPE whois(1)
programs.
It is intelligent and can automatically select the appropriate whois
server for most queries.
%prep
%setup
%build
make OPTS="$RPM_OPT_FLAGS"
%install
rm -rf ${RPM_BUILD_ROOT}
mkdir -p ${RPM_BUILD_ROOT}/usr/bin
mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man1
make install BASEDIR=${RPM_BUILD_ROOT} prefix=%{prefix}/
gzip ${RPM_BUILD_ROOT}%{_mandir}/man?/*
%clean
rm -rf ${RPM_BUILD_ROOT}
%files
%defattr(-,root,root)
%{prefix}/bin/whois
%doc %{prefix}/share/man/man1/whois.1.gz
%lang(de) %{prefix}/share/locale/de/LC_MESSAGES/whois.mo
%lang(el) %{prefix}/share/locale/el/LC_MESSAGES/whois.mo
%lang(es) %{prefix}/share/locale/es/LC_MESSAGES/whois.mo
%lang(fr) %{prefix}/share/locale/fr/LC_MESSAGES/whois.mo
%lang(it) %{prefix}/share/locale/it/LC_MESSAGES/whois.mo
%lang(no) %{prefix}/share/locale/no/LC_MESSAGES/whois.mo
%lang(pl) %{prefix}/share/locale/pl/LC_MESSAGES/whois.mo
%changelog
* Sun Jul 13 2003 Paul Mundt <lethal@linux-sh.org>
- Updated spec for 4.6.6, fixed up doc/lang references.
* Fri Feb 23 2001 Oren Tirosh <oren@hishome.net>
- Initial spec based on skelgnu.spec