whois 4.0.6 → 6.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +12 -0
  3. data/.github/dependabot.yml +17 -0
  4. data/.github/workflows/release.yml +19 -0
  5. data/.github/workflows/tests.yml +29 -0
  6. data/.gitignore +11 -0
  7. data/.rspec +1 -0
  8. data/.rubocop.yml +27 -0
  9. data/.rubocop_opinionated.yml +115 -0
  10. data/.rubocop_todo.yml +89 -0
  11. data/.simplecov +6 -0
  12. data/.tool-versions +1 -0
  13. data/CHANGELOG.md +147 -44
  14. data/CONTRIBUTING.md +18 -6
  15. data/Gemfile +8 -0
  16. data/LICENSE.txt +1 -1
  17. data/README.md +4 -4
  18. data/Rakefile +28 -0
  19. data/SECURITY.md +24 -0
  20. data/bin/console +1 -0
  21. data/bin/whoisrb +6 -5
  22. data/data/ipv4.json +1 -3
  23. data/data/tld.json +125 -1049
  24. data/lib/whois/client.rb +5 -7
  25. data/lib/whois/errors.rb +4 -6
  26. data/lib/whois/record/part.rb +5 -6
  27. data/lib/whois/record.rb +5 -8
  28. data/lib/whois/server/adapters/afilias.rb +4 -5
  29. data/lib/whois/server/adapters/arin.rb +7 -8
  30. data/lib/whois/server/adapters/arpa.rb +19 -24
  31. data/lib/whois/server/adapters/base.rb +29 -46
  32. data/lib/whois/server/adapters/formatted.rb +4 -6
  33. data/lib/whois/server/adapters/none.rb +4 -6
  34. data/lib/whois/server/adapters/not_implemented.rb +4 -6
  35. data/lib/whois/server/adapters/standard.rb +4 -6
  36. data/lib/whois/server/adapters/verisign.rb +4 -5
  37. data/lib/whois/server/adapters/web.rb +4 -6
  38. data/lib/whois/server/socket_handler.rb +11 -12
  39. data/lib/whois/server.rb +73 -64
  40. data/lib/whois/version.rb +4 -2
  41. data/lib/whois.rb +32 -33
  42. data/spec/fixtures/referrals/afilias.bz.txt +23 -0
  43. data/spec/fixtures/referrals/arin_referral_apnic.txt +78 -0
  44. data/spec/fixtures/referrals/arin_referral_missing.txt +52 -0
  45. data/spec/fixtures/referrals/arin_referral_ripe.txt +50 -0
  46. data/spec/fixtures/referrals/arin_referral_rwhois.txt +63 -0
  47. data/spec/fixtures/referrals/arin_referral_servernap.txt +63 -0
  48. data/spec/fixtures/referrals/arin_referral_whois.txt +56 -0
  49. data/spec/fixtures/referrals/crsnic.com.txt +60 -0
  50. data/spec/fixtures/referrals/crsnic.com_referral.txt +56 -0
  51. data/spec/fixtures/referrals/crsnic.com_referral_missing.txt +50 -0
  52. data/spec/integration/whois_spec.rb +73 -0
  53. data/spec/spec_helper.rb +19 -0
  54. data/spec/support/helpers/connectivity_helper.rb +15 -0
  55. data/spec/support/helpers/spec_helper.rb +31 -0
  56. data/spec/whois/client_spec.rb +143 -0
  57. data/spec/whois/record/part_spec.rb +38 -0
  58. data/spec/whois/record_spec.rb +168 -0
  59. data/spec/whois/server/adapters/afilias_spec.rb +49 -0
  60. data/spec/whois/server/adapters/arin_spec.rb +83 -0
  61. data/spec/whois/server/adapters/arpa_spec.rb +29 -0
  62. data/spec/whois/server/adapters/base_spec.rb +155 -0
  63. data/spec/whois/server/adapters/formatted_spec.rb +53 -0
  64. data/spec/whois/server/adapters/none_spec.rb +23 -0
  65. data/spec/whois/server/adapters/not_implemented_spec.rb +24 -0
  66. data/spec/whois/server/adapters/standard_spec.rb +42 -0
  67. data/spec/whois/server/adapters/verisign_spec.rb +60 -0
  68. data/spec/whois/server/adapters/web_spec.rb +24 -0
  69. data/spec/whois/server/socket_handler_spec.rb +33 -0
  70. data/spec/whois/server_spec.rb +302 -0
  71. data/spec/whois/web_interface_error_spec.rb +23 -0
  72. data/spec/whois/whois_spec.rb +15 -0
  73. data/utils/compare-whois.rb +30 -0
  74. data/utils/deftld.rb +230 -0
  75. data/utils/defutils.rb +26 -0
  76. data/utils/fixupd.rb +60 -0
  77. data/utils/matrix.rb +68 -0
  78. data/utils/mkwhois.rb +31 -0
  79. data/whois.gemspec +19 -32
  80. metadata +58 -11
  81. data/4.0-Upgrade.md +0 -143
  82. data/bin/setup +0 -8
data/CHANGELOG.md CHANGED
@@ -3,44 +3,147 @@
3
3
  This project uses [Semantic Versioning 2.0.0](http://semver.org/).
4
4
 
5
5
 
6
- #### Release 4.0.6
6
+ ## Release 6.0.3
7
+
8
+ ### Changed
9
+
10
+ - SERVER: Updated .CO (GH-669).
11
+ - SERVER: Updated .TR (GH-667).
12
+
13
+
14
+ ## Release 6.0.2
15
+
16
+ ### Changed
17
+
18
+ - SERVER: Updated .IN and other registry.in TLDs (GH-663).
19
+
20
+
21
+ ## Release 6.0.1
22
+
23
+ ### Changed
24
+
25
+ - SERVER: Updated .TV (GH-662).
26
+
27
+
28
+ ## Release 6.0.0
29
+
30
+ ### Fixed
31
+
32
+ - Fixed badly anchored regular expression (GH-661)
33
+
34
+ ### Changed
35
+
36
+ - Minimum Ruby version 3.0
37
+ - SERVER: Updated .GOV.UK and .AC.UK (GH-554). The official whois servers are not responding correctly, I am reverting them to the .UK TLD.
38
+
39
+
40
+ ## Release 5.1.1
41
+
42
+ ### Changed
43
+
44
+ - SERVER: Updated .UNO (GH-648)
45
+ - SERVER: Updated .OVH (GH-647)
46
+ - SERVER: Updated .TV (GH-657)
47
+
48
+
49
+ ## Release 5.1.0
50
+
51
+ ### Changed
52
+
53
+ - SERVER: Deleted .VISTAPRINT, .XN--ESTV75G
54
+ - CHANGED: Eager load all adapters (GH-644). Thanks @casperisfine @byroot
55
+
56
+
57
+ ## Release 5.0.2
58
+
59
+ ### Changed
60
+
61
+ - SERVER: Update 43.0.0.0/8 allocation (GH-615). Thanks @taketo1113
62
+ - SERVER: Deleted .LIAISON, .MOVISTAR, .TELEFONICA, .BNL, .CARTIER, .EVERBANK, .LADBROKES, .PIAGET, .STARHUB, .MOPAR, .MOBILY, .ISELECT, .XN--MGBB9FBPOB, .DODGE, .WARMAN, .DUNS, .LANCOME, .CHRYSLER, .SRT, .UCONNECT
63
+ - SERVER: Update .STREAM
64
+
65
+
66
+ ## Release 5.0.1
67
+
68
+ ### Changed
69
+
70
+ - Use `String#match?` rather than `#=~` to improve performance (GH-589). Thanks @casperisfine @byroot
71
+ - Empty Hash allocation optimization (GH-588). Thanks @casperisfine @byroot
72
+
73
+
74
+ ## Release 5.0.0
75
+
76
+ ## Changed
77
+
78
+ - Update Amazon Registry whois hosts
79
+ - Minimum Ruby version 2.4
80
+
81
+ ## Fixed
82
+
83
+ - Fixed issue that prevented to query .CAT domains (GH-583).
84
+
85
+
86
+ ## Release 4.1.0
87
+
88
+ - SERVER: Added .SS
89
+ - SERVER: Update .ALLFINANZ, .CAM, .DVAG, .FRESENIUS, .POHL, .TUI, .XN--VERMGENSBERATER-CTB, .XN--VERMGENSBERATUNG-PWB, .ZUERICH, .BMW, .MINI, .BABY, .DESI, .SAARLAND, .ECO
90
+ - SERVER: Deleted .DOHA
91
+
92
+ - CHANGED: Reduce string allocations and retentions (GH-437). Thanks @casperisfine @byroot
93
+
94
+
95
+ ## Release 4.0.8
96
+
97
+ - SERVER: Deleted .XPERIA, .TELECITY, .VISTA, .JLC, .PANERAI, .GOODHANDS, .STATOIL, .ACTIVE, .BLANCO, .EPOST, .SPIEGEL, .ZIPPO
98
+ - SERVER: Updated .SHOP, .NAGOYA, .OKINAWA, .RYUKYU, .TOKYO, .YOKOHAMA, .ORGANIC, .XN--MGBAB2BD, .MW, .IN, .XN--2SCRJ9C, .XN--3HCRJ9C, .XN--45BR5CYL, .XN--45BRJ9C, .XN--FPCRJ9C3D, .XN--GECRJ9C, .XN--H2BREG3EVE, .XN--H2BRJ9C, .XN--H2BRJ9C8C, .XN--MGBBH1A, .XN--MGBBH1A71E, .XN--MGBGU82A, .XN--RVC1E0AM3E, .XN--S9BRJ9C, .XN--XKC2DL3A5EE0H, .COUNTRY
99
+ - SERVER: Added .XN--MGBAH1A3HJKRD
100
+
101
+
102
+ ## Release 4.0.7
103
+
104
+ - SERVER: Added .CHARITY, .INC
105
+ - SERVER: Updated .COLOGNE, .KOELN, .IE, .AU
106
+ - SERVER: Deleted .IWC
107
+
108
+
109
+ ## Release 4.0.6
7
110
 
8
111
  - SERVER: Added .SPORT, .LLC, .FM (GH-568)
9
112
  - SERVER: Updated .MUSEUM, .MR, .PR, .AI, .SMART, .BAIDU, .GE, several newGTLDs
10
113
  - SERVER: Deleted .HTC
11
114
 
12
115
 
13
- #### Release 4.0.5
116
+ ## Release 4.0.5
14
117
 
15
118
  - SERVER: Updated .ALIBABA, .ALIPAY, .HDFC, .SINA, .WEIBO, .XN--9KRT00A, .XN--JLQ61U9W7B
16
119
  - SERVER: Deleted .MCD, .MCDONALDS, .PAMPEREDCHEF, .MONTBLANK, .CHLOE
17
120
 
18
121
 
19
- #### Release 4.0.4
122
+ ## Release 4.0.4
20
123
 
21
124
  - SERVER: Added .MERCKMSD
22
125
  - SERVER: Updated .KOSHER, .LDS, .BESTBUY, .DUNLOP, .GOODYEAR, .TVS, .BNL, .HOMEDEPOT, .HUGHES, .IVECO, .LAMER, .LATINO, .LOCKER, .METLIFE, .MOBILE, .NEWHOLLAND, .OLLO, .ORIGINS, .OTT, .PHONE, .PNC, .SBI, .SCHOLARSHIPS, .SLING, .STATEBANK, .THD, .UPS, .WOLTERSKLUWER, .XN--NQV7FS00EMA, .DELTA, .STAR, .ALLY, .BCG, .BLOCKBUSTER, .CASE, .CASEIH, .CLINIQUE, .CRUISE, .CYOU, .DATA, .DISH, .DOT, .DTV, .FEDEX, .FERRARI, .GALLUP, .HELSINKI, .ICBC, .MASERATI, .MCKINSEY, .MONSTER, .MORMON, .XN, .XN
23
126
 
24
127
 
25
- #### Release 4.0.3
128
+ ## Release 4.0.3
26
129
 
27
130
  - FIXED: Updated Verisign adapter to properly detect the new label for referral servers (GH-559)
28
131
 
29
132
 
30
- #### Release 4.0.2
133
+ ## Release 4.0.2
31
134
 
32
135
  - SERVER: Added .AFRICA, .XN--MGBAI9AZGQP6J, .FUN, .RMIT, .HOSPITAL, .BOSTON, .DATA, .MOBILE, .PHONE, .HAIR, .LADBROKES, .CATHOLIC, .XN--80AQECDR1A, .XN--MGBI4ECEXP, .XN--TIQ49XQYJ, .RUGBY, .HOTELS, .GROCERY, .XN--MGBAAKC7DVF, .MAP, .PHD, .SEARCH, .XN--2SCRJ9C, .XN--45BR5CYL, .XN--H2BREG3EVE, .XN--H2BRJ9C8C, .XN--MGBBH1A, .XN--MGBGU82A, .XN--RVC1E0AM3E, .ETISALAT
33
136
  - SERVER: Updated .LINK (GH-543), .AR, .MQ, .ARCHI, .BIO, .SKY, .GF, .KG, .STORAGE, .BIBLE
34
137
  - SERVER: Deleted .IINET, .MUTUELLE, .FLSMIDTH, .MTPC
35
138
 
36
139
 
37
- #### Release 4.0.1
140
+ ## Release 4.0.1
38
141
 
39
142
  - SERVER: Added .FREE, .HK.COM, .HK.ORG, .LTD.HK, .INC.HK, .BOX, .CRUISE, .FOOD, .JIO, .MOTO, .RELIANCE, .RIL
40
143
  - SERVER: Updated .ONLINE, .SITE, .STC, .STCGROUP
41
144
 
42
145
 
43
- #### Release 4.0.0
146
+ ## Release 4.0.0
44
147
 
45
148
  The WHOIS parsers are no longer part of this repository, and they have been extracted into a separate repository at https://github.com/weppos/whois-parser.
46
149
 
@@ -52,7 +155,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
52
155
  - SERVER: Updated .CASA, .MEET, .WORK, .SURF, .XN--54B7FTA0CC, .CO.ZA [thanks @ranaldobowker], .MOBI
53
156
 
54
157
  - CHANGED: Definitions are now private and you cannot access/modify the internal representation directly. Instead, use the accessor methods.
55
- - CHANGED: Definitions internal representation changed to be indexed. This change drastically improved the lookup performances for domains, as well fixing the bug GH-536 where the order of the definitions were relevant.
158
+ - CHANGED: Definitions internal representation changed to be indexed. This change drastically improved the lookup performances for domains, as well fixing the bug GH-536 where the order of the definitions were relevant.
56
159
 
57
160
  **beta-2**
58
161
 
@@ -69,7 +172,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
69
172
  - REMOVED: Deleted deprecated Whois.query method.
70
173
 
71
174
 
72
- #### Release 3.6.5
175
+ ## Release 3.6.5
73
176
 
74
177
  - SERVER: Added .PARS, .XN--MGBT3DHD, .REDUMBRELLA, .TRV, .TUSHU, .WATCHES, .XN--ECKVDTC9D, .KFH, .KPN, .SHELL, .TRAVELERSINSURANCE, .WANGGOU, .XN--KPU716F, .XN--NGBE9E0A, .XN--PBT977C, .FORD, .JMP, .LINCOLN, .SAS, .STORAGE, .XN--JLQ61U9W7B, .ANALYTICS, .MOBILITY, .XN--MGBB9FBPOB, .CONTACT, .PID, .STAR, .WEBER, .BOSCH, .DEALER, .FOX, .LAMER, .ORIGINS, .REXROTH, .SAFETY, .SCHAEFFLER, .STATEFARM
75
178
 
@@ -80,7 +183,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
80
183
  - CHANGED: Updated whois.tld.ee to the new response format (GH-489, GH-490). [thanks @tanelj]
81
184
 
82
185
 
83
- #### Release 3.6.4
186
+ ## Release 3.6.4
84
187
 
85
188
  - SERVER: Added .ROCHER, .XN--VUQ861B, .CITYEATS, .CREDITUNION, .LIFESTYLE, .VANA, .COMSEC, .FAIRWINDS, .GRAINGER, .TAB, .BROADWAY, .AUDI, .BOEHRINGER, .BOSTIK, .BUGATTI, .LAMBORGHINI, .VERISIGN, .VIP., .SFR, .INSURANCE, .MED, .NORTON, .SYMANTEC, .AUTHOR, .BOOK, .BOT, .BUY, .CALL, .CIRCLE, .FAST, .FIRESTONE, .GOT, .JOT, .JOY, .LIKE, .NOWRUZ, .PIN, .READ, .ROOM, .SAFE, .SALON, .SHARP, .SHIA, .SMILE, .TCI, .TRAVELERS, .ZERO
86
189
 
@@ -103,7 +206,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
103
206
  - CHANGED: whois.aero now recognizes reserved domains (GH-464, GH-418). [thanks @linrock]
104
207
 
105
208
 
106
- #### Release 3.6.3
209
+ ## Release 3.6.3
107
210
 
108
211
  - SERVER: Added .ACO, .AAA, .GEA, .STCGROUP, .VIVA, .GROUP, .CEB, .FAGE, .MOM, .AMICA, .STC, .CIPRIANI, .KINDER, .XN--11B4C3D, .XN--3PXU8K, .XN--42C2D9A, .XN--9DBQ2A, .XN--C2BR7G, .XN--FHBEI, .XN--J1AEF, .XN--MK1BU44C, .XN--PSSY2U, .XN--T60B56A, .XN--TCKWE, .XN--EFVY88H, .CSC, .CAR, .PROTECTION, .STADA, .THEATRE, .LINDE, .SECURITY, .BMS, .LTD, .OBI, .BOM, .FINAL, .HYUNDAI, .KIA, .SEVEN, .STOCKHOLM, .CLUBMED, .DELL, .ARAMCO, .XN--MGBA3A3EJT, .MOI, .MTR, .VIRGIN, .YAMAXUN, .GUCCI, .JAGUAR, .LANDROVER, .RWE, .ZARA, .MEO, .PING, .SAPO, .SBS, .AARP, .APPLE, .BEATS, .XN--MGBTX2B, .XN--QXAM
109
212
 
@@ -112,7 +215,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
112
215
  - SERVER: Disabled whois.edu.cn as it has not been working for the last 6 years (GH-59).
113
216
 
114
217
 
115
- #### Release 3.6.2
218
+ ## Release 3.6.2
116
219
 
117
220
  - SERVER: Updated .LOVE
118
221
 
@@ -123,7 +226,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
123
226
  - CHANGED: Added expires_on at "co.jp" domain (GH-437). [thanks @kubihie]
124
227
 
125
228
 
126
- #### Release 3.6.1
229
+ ## Release 3.6.1
127
230
 
128
231
  - SERVER: Added .co.com (GH-428) [thanks @turigabor], .STATOIL, .CROWN, .ACCOUNTANT, .DATE, .DOHA, .DOWNLOAD, .FAITH, .LOAN, .MOVIE, .MTN, .PANERAI, .REVIEW, .TICKETS, .WIN, .ACCENTURE, .NEC, .PHILIPS, .XN--FJQ720A, .COUPONS, .ICBC, .SOCCER, .FYI, .JLL, .MBA, .THD, .BBVA, .SANDVIK, .SANDVIKCOROMANT, .WALTER, .AIRTEL, .BARCELONA, .BCN, .GAME, .JPRS, .LIVE, .STUDIO, .BING, .HOTMAIL, .JLC, .MICROSOFT, .WINDOWS, .PLAY, .AEG, .DRIVE, .GENTING, .CBA, .COMMBANK, .NETBANK, .RICOH, .STARHUB, .VISTA, .VISTAPRINT, .OFFICE, .SCOR, .SKYPE, .LAW, .BNL, .BRADESCO, .HOTELES, .OMEGA, .SWATCH, .TELEFONICA, .LANCASTER, .NOKIA, .ICE, .ITAU, .LEXUS, .MAN, .BET, .SANOFI, .SRL, .TATAMOTORS, .IPIRANGA, .LEXUS, .PET, .TOYOTA, .LIXIL, .BOOTS, .CHANEL, .VIN, .WINE, .XPERIA, .GIVING, .FAMILY, .SEEK
129
232
 
@@ -134,7 +237,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
134
237
  - CHANGED: Updated whois.nic.as to the new response format (GH-334). [thanks @case]
135
238
 
136
239
 
137
- #### Release 3.6.0
240
+ ## Release 3.6.0
138
241
 
139
242
  - SERVER: Added .MMA, .XN--30RR7Y, .LOVE, .SCHOLARSHIPS, .XN--NYQY26A, .CYOU, .RACING, .XN--KCRX77D1X4A, .DOOSAN, .GARDEN, .IWC, .LIDL, .OSAKA, .SCHWARZ, .SEW, .SALE, .VIDEO, .ZUERICH, .SHRIRAM, .BANK, .FIT, .KDDI, .LAT, .LOTTE, .MARRIOTT, .BARCLAYCARD, .BARCLAYS, .DABUR, .DCLK, .DESIGN, .GOOG, .HANGOUT, .HERMES, .IFM, .JCB, .TEMASEK, .XN--B4W605FERD, .BINGO, .CANON, .CHAT, .STYLE, .TENNIS, .TOSHIBA, .CASINO, .FANS, .FOOTBALL, .GOLDPOINT, .SCHOOL, .YODOBASHI, .EPSON, .GOO, .JAVA, .LECLERC, .ORACLE, .MAIF, .XN--MXTQ1M, .DATSUN, .INFINITI, .MTPC, .NISSAN, .BROTHER, .CHLOE, .ERNI, .FOREX, .MARKETS, .CFD, .SPREADBETTING, .TRADING, .FAN, .ONLINE, .PAGE, .PIAGET, .SITE, .BBC, .NEWS, .TECH, .KOMATSU, .SAP, .BOND, .XN--9ET52U, .AFL, .REDSTONE, .SEAT, .SEX, .BROKER, .DOG, .RENT, .SWISS, .HONDA, .WEIR, .BRIDGESTONE, .HITACHI, .SENER, .TORAY, .SKY, .XN--IMR513N, .BIBLE, .HOMEDEPOT, .XBOX, .AZURE, .ICU, .THEATER, .EARTH, .EXPRESS, .CAFE, .BAUHAUS, .ADS, .FILM, .GOLD, .GOLF, .GUGE, .PLUS, .TOURS, .XN--VUQ861B, .JEWELRY, .SHOW, .SONY, .TEAM, .XEROX, .AIG, .AUTO, .CARS, .CFA, .LIAISON, .LOL, .NADEX, .HOCKEY, .RUN, .TAXI, .XN--ESTV75G, .XN--MGBPL2FH, .XN--Y9A3AQ, .CORSICA, .LUPIN, .APP, .SAKURA, .BENTLEY, .HSBC, .IINET, .ORANGE, .FORUM, .REALTY, .AUTOS, .LASALLE, .MONTBLANC, .BHARTI, .SNCF, .MEN
140
243
 
@@ -149,7 +252,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
149
252
  - CHANGED: Updated .MA parser and definition from whois.iam.net.ma to whois.registre.ma
150
253
 
151
254
 
152
- #### Release 3.5.9
255
+ ## Release 3.5.9
153
256
 
154
257
  - SERVER: Added .KYOTO, .ONE, .CRICKET, .PARTY, .XN--45Q11C, XN--CZRS0T, .SAMSUNG, .CARTIER, .ADULT, .EUROVISION, .FASHION, .PORN, .TRUST, .KOELN, .XN--C1AVG, .NYC, .SAMSUNG, .COACH, .EVERBANK, .LEGAL, .MEMORIAL, .MONEY, .AQUARELLE, .IRISH, .LATROBE, .XN--HXT814E, .SKY, .DEV, .DOCS, .TYRES, .DOOSAN, .NTT, .AMSTERDAM, .FLOWERS, .GGEE, .CBN, .GDN, .APARTMENTS, .NICO, .SAXO, .BOATS, .COURSES, .STUDY, .SUCKS, .XN--90AIS, .ABBOTT, .PICTET, .XIN, .FANS
155
258
 
@@ -158,7 +261,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
158
261
  - FIXED: whois.schlund.info crashes with empty update date (GH-398). [thanks @alexaitken]
159
262
 
160
263
 
161
- #### Release 3.5.8
264
+ ## Release 3.5.8
162
265
 
163
266
  - SERVER: Created .FIRMDALE, .MADRID, .XN--FLW351E, .XN--QCKA1PMC, .LDS, .MORMON
164
267
 
@@ -171,14 +274,14 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
171
274
  - FIXED: Fixed the ARIN referral regex to correctly consider ports optional (GH-350). [thanks @jrideout]
172
275
 
173
276
 
174
- #### Release 3.5.7
277
+ ## Release 3.5.7
175
278
 
176
279
  - SERVER: Updated .AW, .BW, .GQ, .MK, .ML, .MZ, .PF, .VU, .ZM, .KIWI, .CAREER, .REISE, .VERSICHERUNG, .HOST, .PRESS, .HAMBURG, .BRUSSELS, .VLAANDEREN
177
280
 
178
281
  - SERVER: Created .BLOOMBERG, .ENERGY, .YANDEX, .PRAXI, .WHOSWHO, .WILLIAMHILL, .SUZUKI, .SCIENCE, .REALTOR, .SYDNEY, .TAIPEI, .DELIVERY, .DIRECT, .PLACE, .CITY, .DEALS, .AUCTION, .HEALTHCARE, .CANCERRESEARCH, .CUISINELLA, .SCHMIDT, .MELBOURNE, .KRD, .NRW, .SCB, .LACAIXA, .LGBT, .NGO, .ONG, .SPIEGEL, .NRA, .GENT, .REIT, .ANDROID, .TOP, .WALES, .SCA, .BNPPARIBAS, .EMERCK, .TATAR, .CYMRU, .RESTAURANT, .SARL, .XN--1QQW23A, .XN--XHQ521B, .NETWORK, .BUSINESS, .XN--VHQUV, .GIFTS, .HOSTING, .HELP, .DIET, .OOO, .UOL, .PROPERTY, .LTDA, .HOW, .CARAVAN, .CLICK, .CERN, .HERE, .ESQ, .GMAIL, .YOUTUBE, .PROD, .GBIZ, .IMMO, .OTSUKA, .DAD, .BOO, .DAY, .EAT, .FRL, .MOV, .NEW, .RSVP, .MEME, .ZIP, .PROF, .NEXUS, .GOOGLE, .GLE, .FLY, .CHROME, .CHANNEL, .CAL, .ING, .WORLD, .PIZZA, .PHARMACY, .WME, .GMX, .HOMES, .HORSE, .XN--P1ACF, .TUI, .POHL, .ALLFINANZ, .DVAG, .XN--VERMGENSBERATUNG-PWB, .XN--VERMGENSBERATER-CTB, .FORSALE, .IBM, .ALSACE, .ABOGADO, .BAND, .CRS, .FLSMIDTH, .POKER, .RIP, .WEDDING, .YOGA, .BUDAPEST, .CASA, .WORK
179
282
 
180
283
 
181
- #### Release 3.5.6
284
+ ## Release 3.5.6
182
285
 
183
286
  - SERVER: Created .AUDIO, .BEER, .CHURCH, .GUIDE, .HIPHOP, .JUEGOS, .LIFE, .LOANS, .LUXE, .BEST, .AUTOS, .HOMES, .MOTORCYCLES, .REISE, .RIO, .VERSICHERUNG, .YACHTS, .XN, .DEGREE, .SPACE, .WEBSITE, .ATTORNEY, .DENTIST, .HIV, .HOST, .LAWYER, .MARKET, .MORTGAGE, .PRESS, .SOFTWARE, .VET, .BIO, .ARMY, .ENGINEER, .GIVES, .HAMBURG, .NAVY, .NHK, .REHAB, .REPUBLICAN, .TIROL, .GLOBAL, .ORGANIC, .SCOT, .BZH, .XN, .BRUSSELS, .SURF, .VLAANDEREN, .CAPETOWN, .DURBAN, .GREEN, .JOBURG, .LOTTO, .OVH, .PHYSIO, .BMW, .CEO, .MINI, .ACTIVE
184
287
 
@@ -189,7 +292,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
189
292
  - FIXED: whois.register.com parser crashes when the update date is empty (GH-353). [thanks @alexaitken]
190
293
 
191
294
 
192
- #### Release 3.5.5
295
+ ## Release 3.5.5
193
296
 
194
297
  - NEW: Added registrar and contact support for whois.dns.lu (GH-329). [thanks @huyphan]
195
298
 
@@ -204,7 +307,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
204
307
  - FIXED: whois.nic.gd parser crashes when the domain is reserved (GH-335). [thanks @case]
205
308
 
206
309
 
207
- #### Release 3.5.4
310
+ ## Release 3.5.4
208
311
 
209
312
  - SERVER: Created .QUEBEC, .COLLEGE, .DESI, .FEEDBACK, .ROCKS, .XN, .ASSOCIATES, .CAPITAL, .CAREER, .ENGINEERING, .EUS, .GAL, .GRIPE, .LEASE, .MEDIA, .PICTURES, .REISEN, .SERVICES, .TOWN, .TOYS, .UNIVERSITY, .XN, .FOO, .FROGANS, .PARIS, .SOY, .BLACKFRIDAY, .CLINIC, .FITNESS, .SCHULE, .CARE, .CASH, .DENTAL, .DISCOUNT, .EXCHANGE, .FAIL, .FINANCIAL, .FUND, .FURNITURE, .GRATIS, .INVESTMENTS, .LIMITED, .SURGERY, .TAX, .WTF, .MOSCOW, .XN, .CREDITCARD, .FINANCE, .INSURE, .WTC, .AIRFORCE, .BAYERN, .GLOBO, .ACCOUNTANTS, .CLAIMS, .CREDIT, .DIGITAL
210
313
 
@@ -225,17 +328,17 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
225
328
  - CHANGED: whois.cctld.uz now supports updated_on (GH-315). [thanks @huyphan]
226
329
 
227
330
 
228
- #### Release 3.5.3
331
+ ## Release 3.5.3
229
332
 
230
333
  - CHANGED: Updated whois.pir.org to the new response format.
231
334
 
232
335
 
233
- #### Release 3.5.2
336
+ ## Release 3.5.2
234
337
 
235
338
  - SERVER: Added new gTLDs
236
339
 
237
340
 
238
- #### Release 3.5.1
341
+ ## Release 3.5.1
239
342
 
240
343
  - NEW: Added whois.corporatedomains.com parser (GH-311). [thanks @huyphan]
241
344
 
@@ -250,7 +353,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
250
353
  - FIXED: whois.ua parser crashes when the status is clientTransferProhibited.
251
354
 
252
355
 
253
- #### Release 3.5.0
356
+ ## Release 3.5.0
254
357
 
255
358
  - SERVER: Updated list of latest ASN allocations of 16-bit & 32-bit ASN's from IANA (GH-293). [thanks @itsbalamurali]
256
359
 
@@ -267,7 +370,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
267
370
  - FIXED: whois.registry.net.za parser crashes with some registrant contact formats.
268
371
 
269
372
 
270
- #### Release 3.4.5
373
+ ## Release 3.4.5
271
374
 
272
375
  - SERVER: Added new IDN TLDs: .XN--3BST00M, .XN--3DS443G, .XN--55QX5D, .XN--6FRZ82G, .XN--6QQ986B3XL, .XN--FIQ228C5HS, .XN--FIQ64B, .XN--IO0A7I, .XN--CG4BKI, .XN--MGBAB2BD, .XN--55QW42G, .XN--ZFR164B
273
376
 
@@ -292,7 +395,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
292
395
  - CHANGED: Afilias is using a slightly different whois response for some TLDs, including .INFO and .XXX (GH-304)
293
396
 
294
397
 
295
- #### Release 3.4.4
398
+ ## Release 3.4.4
296
399
 
297
400
  - CHANGED: Updated IBC parser and fixtures (.IO, .AC, .SH and .TM).
298
401
 
@@ -301,7 +404,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
301
404
  - CHANGED: Updated whois.pir.org parser to the new response format (GH-300). [thanks @muffinista]
302
405
 
303
406
 
304
- #### Release 3.4.3
407
+ ## Release 3.4.3
305
408
 
306
409
  - SERVER: Updated .COM, .NET, .CC, .WS TLD definitions.
307
410
 
@@ -324,14 +427,14 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
324
427
  - CHANGED: Updated whois.nic.gl parser to the new response format.
325
428
 
326
429
 
327
- #### Release 3.4.2
430
+ ## Release 3.4.2
328
431
 
329
432
  - CHANGED: Updated whois.registry.net.za parser to the new response format.
330
433
 
331
434
  - CHANGED: Updated whois.ascio.com parser to the new response format (GH-285). [thanks @takama]
332
435
 
333
436
 
334
- #### Release 3.4.1
437
+ ## Release 3.4.1
335
438
 
336
439
  - SERVER: Updated .XN--NGBC5AZD IDN TLD definition.
337
440
 
@@ -354,7 +457,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
354
457
  - CHANGED: Updated whois.gandi.net parser to the new response format.
355
458
 
356
459
 
357
- #### Release 3.4.0
460
+ ## Release 3.4.0
358
461
 
359
462
  - SERVER: Added .XN--MGBX4CD0AB (.ایران, Iran) IDN TLD definition.
360
463
 
@@ -391,7 +494,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
391
494
  - CHANGED: Updated whois.register.com parser to the new response format (GH-273). [thanks @gromnsk]
392
495
 
393
496
 
394
- #### Release 3.3.1
497
+ ## Release 3.3.1
395
498
 
396
499
  - SERVER: Updated .KR, .ES (GH-267) TLD definitions.
397
500
 
@@ -402,7 +505,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
402
505
  - CHANGED: Updated whois.enom.com parser to the new response format (GH-269). [thanks @takama]
403
506
 
404
507
 
405
- #### Release 3.3.0
508
+ ## Release 3.3.0
406
509
 
407
510
  - SERVER: Added .CF TLD definition.
408
511
 
@@ -425,7 +528,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
425
528
  - FIXED: whois.jprs.jp should support `Registered` status (GH-253). [thanks @Pietr]
426
529
 
427
530
 
428
- #### Release 3.2.1
531
+ ## Release 3.2.1
429
532
 
430
533
  - NEW: Added full whois.nic.tr parser.
431
534
 
@@ -446,7 +549,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
446
549
  - CHANGED: Deprecate Whois::Record::Contact::TYPE_ADMIN in favor of Whois::Record::Contact::TYPE_ADMINISTRATIVE
447
550
 
448
551
 
449
- #### Release 3.2.0
552
+ ## Release 3.2.0
450
553
 
451
554
  - SERVER: Added .JP.NET (GH-240), XN--J1AMH TLD definitions.
452
555
 
@@ -469,7 +572,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
469
572
  - FIXED: Arin adapter is incorrectly passing an Arin flag to referral queries.
470
573
 
471
574
 
472
- #### Release 3.1.3
575
+ ## Release 3.1.3
473
576
 
474
577
  - SERVER: Updated .GD (GH-227), .TC (GH-228) TLD definitions.
475
578
 
@@ -486,7 +589,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
486
589
  - FIXED: whois.ua is mixing two kinds of responses (GH-235).
487
590
 
488
591
 
489
- #### Release 3.1.2
592
+ ## Release 3.1.2
490
593
 
491
594
  - NEW: Added full whois.comlaude.com parser (GH-222). [thanks @delwyn]
492
595
 
@@ -505,12 +608,12 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
505
608
  - FIXED: whois.nic.fr parser crashes when the contact has no changed attribute (GH-226).
506
609
 
507
610
 
508
- #### Release 3.1.1
611
+ ## Release 3.1.1
509
612
 
510
613
  - FIXED: Fixed CLI crash (GH-219). [thanks @linrock]
511
614
 
512
615
 
513
- #### Release 3.1.0
616
+ ## Release 3.1.0
514
617
 
515
618
  - SERVER: Added .POST (GH-192) TLD definition.
516
619
 
@@ -541,7 +644,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
541
644
  - FIXED: Record#technical_contact raised a NoMethodError (GH-217). [thanks @yspro]
542
645
 
543
646
 
544
- #### Release 3.0.0
647
+ ## Release 3.0.0
545
648
 
546
649
  - SERVER: Added .AX TLD definition.
547
650
 
@@ -683,7 +786,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
683
786
  - Whois::PropertyNotAvailable -> Whois::AttributeNotImplemented
684
787
 
685
788
 
686
- #### Release 2.7.0
789
+ ## Release 2.7.0
687
790
 
688
791
  - SERVER: Added .IQ TLD server (GH-171).
689
792
 
@@ -722,7 +825,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
722
825
  - CHANGED: whois.dns.pl now supports expires_on (GH-185). [thanks @y3ti]
723
826
 
724
827
 
725
- #### Release 2.6.4
828
+ ## Release 2.6.4
726
829
 
727
830
  - SERVER: Added .CW TLD server.
728
831
 
@@ -757,7 +860,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
757
860
  - CHANGED: Removed support for .gemtest and removed /spec folder from the packaged gem.
758
861
 
759
862
 
760
- #### Release 2.6.3
863
+ ## Release 2.6.3
761
864
 
762
865
  - NEW: whois.registrypro.pro is now a full parser.
763
866
 
@@ -770,7 +873,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
770
873
  - CHANGED: Updated whois.registrypro.pro parser to the new response format.
771
874
 
772
875
 
773
- #### Release 2.6.2
876
+ ## Release 2.6.2
774
877
 
775
878
  - SERVER: Added .SX TLD server (GH-170).
776
879
 
@@ -781,7 +884,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
781
884
  - NEW: whois.ua parser is now a full parser (GH-169). [thanks @Uko]
782
885
 
783
886
 
784
- #### Release 2.6.1
887
+ ## Release 2.6.1
785
888
 
786
889
  - Reverted partial commit about .SX definitions included in v2.6.0 by mistake.
787
890
 
data/CONTRIBUTING.md CHANGED
@@ -4,27 +4,39 @@
4
4
 
5
5
  Fork, then clone the repo:
6
6
 
7
- $ git clone git@github.com:your-username/whois.git
7
+ ```shell
8
+ git clone git@github.com:your-username/whois.git
9
+ ```
8
10
 
9
11
  Set up your machine:
10
12
 
11
- $ bundle
13
+ ```shell
14
+ bundle
15
+ ```
12
16
 
13
17
  Make sure the tests pass:
14
18
 
15
- $ bundle exec rake
19
+ ```shell
20
+ bundle exec rake
21
+ ```
16
22
 
17
23
  To propose a change/feature/patch, create your feature branch:
18
24
 
19
- $ git checkout -b my-new-feature
25
+ ```shell
26
+ git checkout -b my-new-feature
27
+ ```
20
28
 
21
29
  Make your change. Add tests for your change. Make the tests pass:
22
30
 
23
- $ bundle exec rake
31
+ ```shell
32
+ bundle exec rake
33
+ ```
24
34
 
25
35
  Commit your changes:
26
36
 
27
- $ git commit -am 'Add some feature'
37
+ ```shell
38
+ git commit -am 'Add some feature'
39
+ ```
28
40
 
29
41
  Push to your fork and [submit a pull request](https://github.com/weppos/whois/compare/).
30
42
 
data/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gemspec
6
+
7
+ gem "rubocop", "~> 1.81.1", require: false
8
+ gem "rubocop-rspec", "~> 3.7.0", require: false
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2009-2018 Simone Carletti
3
+ Copyright (c) 2009-2024 Simone Carletti
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  This library was extracted from [RoboWhois](https://robowhois.com/) and [RoboDomain](https://robodomain.com/), and it's now in use at [DNSimple](https://dnsimple.com/). It has been performing queries in production since July 2009.
6
6
 
7
- [![Build Status](https://travis-ci.org/weppos/whois.svg?branch=master)](https://travis-ci.org/weppos/whois)
7
+ [![Build Status](https://github.com/weppos/whois/actions/workflows/tests.yml/badge.svg)](https://github.com/weppos/whois/actions/workflows/tests.yml)
8
8
 
9
9
 
10
10
  ## Donate a coffee
@@ -33,7 +33,7 @@ This repository contains the core whois library, that includes the WHOIS client,
33
33
 
34
34
  ## Requirements
35
35
 
36
- * Ruby >= 2.0.0
36
+ - Ruby >= 3.0
37
37
 
38
38
  For older versions of Ruby, see the [CHANGELOG](CHANGELOG.md).
39
39
 
@@ -69,7 +69,7 @@ If you are upgrading to 4.0, see [4.0-Upgrade.md](4.0-Upgrade.md).
69
69
 
70
70
  ## Getting Started
71
71
 
72
- Note. This section covers only the essentials for getting started with the Whois library. The [documentation](https://whoisrb.org/docs/) provides a more accurate explanation including tutorials, more examples and technical details about the client/server/record/parser architecture.
72
+ This section covers only the essentials for getting started with the Whois library. The [documentation](https://whoisrb.org/docs/) provides a more accurate explanation including tutorials, more examples and technical details about the client/server/record/parser architecture.
73
73
 
74
74
  ### Querying a WHOIS
75
75
 
@@ -213,4 +213,4 @@ Report issues or feature requests to [GitHub Issues](https://github.com/weppos/w
213
213
 
214
214
  ## License
215
215
 
216
- Copyright (c) 2009-2018 [Simone Carletti](https://simonecarletti.com/). This is Free Software distributed under the MIT license.
216
+ Copyright (c) 2009-2024 [Simone Carletti](https://simonecarletti.com/). This is Free Software distributed under the MIT license.
data/Rakefile ADDED
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "bundler/gem_tasks"
4
+
5
+ task default: [:test, :rubocop]
6
+
7
+
8
+ require "rspec/core/rake_task"
9
+
10
+ RSpec::Core::RakeTask.new do |t|
11
+ t.verbose = !ENV["VERBOSE"].nil?
12
+ end
13
+
14
+ task test: :spec
15
+
16
+
17
+ require "rubocop/rake_task"
18
+
19
+ RuboCop::RakeTask.new
20
+
21
+
22
+ require "yard/rake/yardoc_task"
23
+
24
+ YARD::Rake::YardocTask.new(:yardoc) do |y|
25
+ y.options = ["--output-dir", "yardoc"]
26
+ end
27
+
28
+ CLOBBER.include "yardoc"
data/SECURITY.md ADDED
@@ -0,0 +1,24 @@
1
+ # Security Policy
2
+
3
+ ## Supported Versions
4
+
5
+ Security updates are provided only for the current minor version.
6
+
7
+ If you are using a previous minor version, we recommend to upgrade to the current minor version. This project uses [semantic versioning](https://semver.org/), therefore you can upgrade to a more recent minor version without incurring into breaking changes.
8
+
9
+ Exceptionally, we may support previous minor versions upon request if there are significant reasons preventing to immediately switch the latest minor version.
10
+
11
+ Older major versions are no longer supported.
12
+
13
+
14
+ ## Reporting a Vulnerability
15
+
16
+ To make a report, please email weppos@weppos.net.
17
+
18
+ > [!IMPORTANT]
19
+ > Please consider encrypting your report with GPG using the key [0x420da82a989398df](https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x420da82a989398df).
20
+
21
+
22
+ ## Tracking Security Updates
23
+
24
+ Information about security vulnerabilities are published in the [Security Advisories](https://github.com/weppos/whois/security/advisories) page.
data/bin/console CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require "bundler/setup"
4
5
  require "whois"
data/bin/whoisrb CHANGED
@@ -1,14 +1,15 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
- $:.unshift(File.expand_path("../../lib", __FILE__))
4
+ $LOAD_PATH.unshift(File.expand_path("../lib", __dir__))
4
5
 
5
- require 'optparse'
6
- require 'whois'
6
+ require "optparse"
7
+ require "whois"
7
8
 
8
9
 
9
10
  options = {}
10
11
  OptionParser.new do |opts|
11
- opts.banner = "Whois: an intelligent pure Ruby WHOIS client"
12
+ opts.banner = "Whois: an intelligent pure Ruby WHOIS client"
12
13
  opts.define_head "Usage: whoisrb [options] object"
13
14
  opts.separator ""
14
15
  opts.separator "Examples:"
@@ -46,7 +47,7 @@ OptionParser.new do |opts|
46
47
  exit 1
47
48
  end
48
49
 
49
- if ARGV.size.zero?
50
+ if ARGV.empty?
50
51
  puts opts
51
52
  exit 1
52
53
  end
data/data/ipv4.json CHANGED
@@ -39,9 +39,7 @@
39
39
  "host": "whois.apnic.net"
40
40
  },
41
41
  "43.0.0.0/8": {
42
- "host": "whois.nic.ad.jp",
43
- "adapter": "formatted",
44
- "format": "%s/e"
42
+ "host": "whois.apnic.net"
45
43
  },
46
44
  "46.0.0.0/8": {
47
45
  "host": "whois.ripe.net"