* bug#47431: Process Whois connection broken by remote peer. @ 2021-03-27 1:39 Hongyi Zhao 2021-03-27 6:30 ` Eli Zaretskii 0 siblings, 1 reply; 40+ messages in thread From: Hongyi Zhao @ 2021-03-27 1:39 UTC (permalink / raw) To: 47431 Hi, On Ubuntu 20.04, I'm using the self compiled git master version of Emacs. It seems that the whois client in Emacs only works for some specific domain names, for example gnu.org and emacs.org, but for others like facebook.com it just hangs and returns nothing. The following command will trigger the error: "M-x RET whois RET facebook.com" Regards -- Assoc. Prof. Hongyi Zhao <hongyi.zhao@gmail.com> Theory and Simulation of Materials Hebei Polytechnic University of Science and Technology engineering NO. 552 North Gangtie Road, Xingtai, China ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-27 1:39 bug#47431: Process Whois connection broken by remote peer Hongyi Zhao @ 2021-03-27 6:30 ` Eli Zaretskii 2021-03-27 7:23 ` Gregory Heytings ` (2 more replies) 0 siblings, 3 replies; 40+ messages in thread From: Eli Zaretskii @ 2021-03-27 6:30 UTC (permalink / raw) To: Hongyi Zhao; +Cc: 47431 > From: Hongyi Zhao <hongyi.zhao@gmail.com> > Date: Sat, 27 Mar 2021 09:39:20 +0800 > > On Ubuntu 20.04, I'm using the self compiled git master version of Emacs. > It seems that the whois client in Emacs only works for some specific domain > names, for example gnu.org and emacs.org, but for others like > facebook.com it just hangs and returns nothing. The following command > will trigger the error: > > "M-x RET whois RET facebook.com" It doesn't hang here (I'm not on Ubuntu, though). It times out: open-network-stream: make client process failed: Connection timed out, :name, Whois, :buffer, *Whois*, :host, rs.internic.net, :service, 43, :nowait, nil, :tls-parameters, nil, :coding, nil If I try a different server, it does work: C-u M-x whois RET facebook.com RET whois.crsnic.net RET This returns immediately with a large *Whois* buffer. Perhaps some network expert could tell why we use by default a server that is less useful. ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-27 6:30 ` Eli Zaretskii @ 2021-03-27 7:23 ` Gregory Heytings 2021-03-27 8:08 ` Eli Zaretskii 2021-03-27 9:50 ` Hongyi Zhao 2021-03-27 9:57 ` Hongyi Zhao 2 siblings, 1 reply; 40+ messages in thread From: Gregory Heytings @ 2021-03-27 7:23 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 47431, Hongyi Zhao >> On Ubuntu 20.04, I'm using the self compiled git master version of >> Emacs. It seems that the whois client in Emacs only works for some >> specific domain names, for example gnu.org and emacs.org, but for >> others like facebook.com it just hangs and returns nothing. The >> following command will trigger the error: >> >> "M-x RET whois RET facebook.com" > > It doesn't hang here (I'm not on Ubuntu, though). It times out: > > open-network-stream: make client process failed: Connection timed out, > :name, Whois, :buffer, *Whois*, :host, rs.internic.net, :service, 43, > :nowait, nil, :tls-parameters, nil, :coding, nil > > If I try a different server, it does work: > > C-u M-x whois RET facebook.com RET whois.crsnic.net RET > > This returns immediately with a large *Whois* buffer. > > Perhaps some network expert could tell why we use by default a server > that is less useful. > (I'm not a network expert, but...) It is probably better to let the whois client select the appropriate server itself. The current default whois-server-name (rs.internic.net) doesn't work at all, and although whois-guess-server is t, it doesn't work well. The manpage of whois says: "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." ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-27 7:23 ` Gregory Heytings @ 2021-03-27 8:08 ` Eli Zaretskii 2021-03-27 11:01 ` Gregory Heytings 0 siblings, 1 reply; 40+ messages in thread From: Eli Zaretskii @ 2021-03-27 8:08 UTC (permalink / raw) To: Gregory Heytings; +Cc: 47431, hongyi.zhao > Date: Sat, 27 Mar 2021 07:23:20 +0000 > From: Gregory Heytings <gregory@heytings.org> > cc: Hongyi Zhao <hongyi.zhao@gmail.com>, 47431@debbugs.gnu.org > > The manpage of whois says: "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." We don't use the external 'whois' command, so its man page is not relevant, I think. ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-27 8:08 ` Eli Zaretskii @ 2021-03-27 11:01 ` Gregory Heytings 2021-03-27 11:04 ` Gregory Heytings 2021-03-28 15:39 ` Lars Ingebrigtsen 0 siblings, 2 replies; 40+ messages in thread From: Gregory Heytings @ 2021-03-27 11:01 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 47431, hongyi.zhao >> The manpage of whois says: "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." > > We don't use the external 'whois' command, so its man page is not > relevant, I think. > Indeed. Would it not make sense to use the external whois command if it is available, and to fall back to the Lisp code when it is not? In any case, the whois-server-tld alist needs to be updated, it has only 15 entries [1], the whois client for GNU/Linux has more than 400 (see [2]). And these 400 are only for the domain name lookups, there are two others for IP addresses, another for NIC handles, and another one for AS numbers... [1] Its first entry is not a valid server name, all other ones except the "org" and "mil" are valid server names but are not the appropriate server for the corresponding TLD. [2] https://raw.githubusercontent.com/rfc1036/whois/next/tld_serv_list ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-27 11:01 ` Gregory Heytings @ 2021-03-27 11:04 ` Gregory Heytings 2021-03-28 15:39 ` Lars Ingebrigtsen 1 sibling, 0 replies; 40+ messages in thread From: Gregory Heytings @ 2021-03-27 11:04 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 47431, hongyi.zhao >>> The manpage of whois says: "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." >> >> We don't use the external 'whois' command, so its man page is not >> relevant, I think. > > Indeed. Would it not make sense to use the external whois command if it > is available, and to fall back to the Lisp code when it is not? > > In any case, the whois-server-tld alist needs to be updated, it has only > 15 entries [1], the whois client for GNU/Linux has more than 400 (see > [2]). And these 400 are only for the domain name lookups, there are two > others for IP addresses, another for NIC handles, and another one for AS > numbers... > Two other _lists_, I mean. > > [1] Its first entry is not a valid server name, all other ones except > the "org" and "mil" are valid server names but are not the appropriate > server for the corresponding TLD. > > [2] https://raw.githubusercontent.com/rfc1036/whois/next/tld_serv_list > ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-27 11:01 ` Gregory Heytings 2021-03-27 11:04 ` Gregory Heytings @ 2021-03-28 15:39 ` Lars Ingebrigtsen 2021-03-28 20:23 ` Gregory Heytings 1 sibling, 1 reply; 40+ messages in thread From: Lars Ingebrigtsen @ 2021-03-28 15:39 UTC (permalink / raw) To: Gregory Heytings; +Cc: 47431, hongyi.zhao Gregory Heytings <gregory@heytings.org> writes: > [2] https://raw.githubusercontent.com/rfc1036/whois/next/tld_serv_list The list originates at whois.iana.org... which is a server that seems to respond to whois queries nicely. So we could just update whois-server-name to that? And remove whois-server-tld. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-28 15:39 ` Lars Ingebrigtsen @ 2021-03-28 20:23 ` Gregory Heytings 2021-03-29 0:19 ` Hongyi Zhao ` (2 more replies) 0 siblings, 3 replies; 40+ messages in thread From: Gregory Heytings @ 2021-03-28 20:23 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: 47431, hongyi.zhao >> [2] https://raw.githubusercontent.com/rfc1036/whois/next/tld_serv_list > > The list originates at whois.iana.org... which is a server that seems > to respond to whois queries nicely. So we could just update > whois-server-name to that? And remove whois-server-tld. > That would be ideal/simpler, but whois.iana.org only contains information about the whois server to use for each TLD. For instance whois -h whois.iana.org gnu.org tells you that the whois server to contact is whois.pir.org. IOW, without a built-in list, each whois query would create two requests, one to whois.iana.org, and one to the actual whois server. IOW again, a whois request would become: whois -h $(whois -h whois.iana.org DOMAIN | grep '^whois:' | cut -d: -f2) DOMAIN Would that be acceptable? ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-28 20:23 ` Gregory Heytings @ 2021-03-29 0:19 ` Hongyi Zhao 2021-03-29 4:50 ` Eli Zaretskii 2021-03-29 10:58 ` Lars Ingebrigtsen 2 siblings, 0 replies; 40+ messages in thread From: Hongyi Zhao @ 2021-03-29 0:19 UTC (permalink / raw) To: Gregory Heytings; +Cc: Lars Ingebrigtsen, 47431 On Mon, Mar 29, 2021 at 4:23 AM Gregory Heytings <gregory@heytings.org> wrote: > > > >> [2] https://raw.githubusercontent.com/rfc1036/whois/next/tld_serv_list > > > > The list originates at whois.iana.org... which is a server that seems > > to respond to whois queries nicely. So we could just update > > whois-server-name to that? And remove whois-server-tld. > > > > That would be ideal/simpler, but whois.iana.org only contains information > about the whois server to use for each TLD. For instance whois -h > whois.iana.org gnu.org tells you that the whois server to contact is > whois.pir.org. IOW, without a built-in list, each whois query would > create two requests, one to whois.iana.org, and one to the actual whois > server. IOW again, a whois request would become: > > whois -h $(whois -h whois.iana.org DOMAIN | grep '^whois:' | cut -d: -f2) DOMAIN > > Would that be acceptable? The suggested method really can do the trick: ;;; begin quote $ whois -h $(whois -h whois.iana.org facebook.com | grep '^whois:' | cut -d: -f2) facebook.com Domain Name: FACEBOOK.COM Registry Domain ID: 2320948_DOMAIN_COM-VRSN Registrar WHOIS Server: whois.registrarsafe.com Registrar URL: http://www.registrarsafe.com Updated Date: 2020-03-10T18:53:59Z Creation Date: 1997-03-29T05:00:00Z Registry Expiry Date: 2028-03-30T04:00:00Z Registrar: RegistrarSafe, LLC Registrar IANA ID: 3237 Registrar Abuse Contact Email: abusecomplaints@registrarsafe.com Registrar Abuse Contact Phone: +1-650-308-7004 Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited Domain Status: serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited Domain Status: serverTransferProhibited https://icann.org/epp#serverTransferProhibited Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited Name Server: A.NS.FACEBOOK.COM Name Server: B.NS.FACEBOOK.COM Name Server: C.NS.FACEBOOK.COM Name Server: D.NS.FACEBOOK.COM DNSSEC: unsigned URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/ >>> Last update of whois database: 2021-03-29T00:14:06Z <<< For more information on Whois status codes, please visit https://icann.org/epp NOTICE: The expiration date displayed in this record is the date the registrar's sponsorship of the domain name registration in the registry is currently set to expire. This date does not necessarily reflect the expiration date of the domain name registrant's agreement with the sponsoring registrar. Users may consult the sponsoring registrar's Whois database to view the registrar's reported date of expiration for this registration. TERMS OF USE: You are not authorized to access or query our Whois database through the use of electronic processes that are high-volume and automated except as reasonably necessary to register domain names or modify existing registrations; the Data in VeriSign Global Registry Services' ("VeriSign") Whois database is provided by VeriSign for information purposes only, and to assist persons in obtaining information about or related to a domain name registration record. VeriSign does not guarantee its accuracy. By submitting a Whois query, you agree to abide by the following terms of use: You agree that you may use this Data only for lawful purposes and that under no circumstances will you use this Data to: (1) allow, enable, or otherwise support the transmission of mass unsolicited, commercial advertising or solicitations via e-mail, telephone, or facsimile; or (2) enable high volume, automated, electronic processes that apply to VeriSign (or its computer systems). The compilation, repackaging, dissemination or other use of this Data is expressly prohibited without the prior written consent of VeriSign. You agree not to use electronic processes that are automated and high-volume to access or query the Whois database except as reasonably necessary to register domain names or modify existing registrations. VeriSign reserves the right to restrict your access to the Whois database in its sole discretion to ensure operational stability. VeriSign may restrict or terminate your access to the Whois database for failure to abide by these terms of use. VeriSign reserves the right to modify these terms at any time. The Registry database contains ONLY .COM, .NET, .EDU domains and Registrars. ;;; end quote But I'm not sure if this is the standard query procedures suggested/defined by the whois protocol itself. Regards -- Assoc. Prof. Hongyi Zhao <hongyi.zhao@gmail.com> Theory and Simulation of Materials Hebei Polytechnic University of Science and Technology engineering NO. 552 North Gangtie Road, Xingtai, China ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-28 20:23 ` Gregory Heytings 2021-03-29 0:19 ` Hongyi Zhao @ 2021-03-29 4:50 ` Eli Zaretskii 2021-03-29 7:35 ` Gregory Heytings 2021-03-29 10:58 ` Lars Ingebrigtsen 2 siblings, 1 reply; 40+ messages in thread From: Eli Zaretskii @ 2021-03-29 4:50 UTC (permalink / raw) To: Gregory Heytings; +Cc: larsi, 47431, hongyi.zhao > Date: Sun, 28 Mar 2021 20:23:17 +0000 > From: Gregory Heytings <gregory@heytings.org> > Cc: 47431@debbugs.gnu.org, hongyi.zhao@gmail.com > > IOW, without a built-in list, each whois query would create two > requests, one to whois.iana.org, and one to the actual whois server. I don't see any problems with that, do you? ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-29 4:50 ` Eli Zaretskii @ 2021-03-29 7:35 ` Gregory Heytings 2021-03-29 8:38 ` Eli Zaretskii 0 siblings, 1 reply; 40+ messages in thread From: Gregory Heytings @ 2021-03-29 7:35 UTC (permalink / raw) To: Eli Zaretskii; +Cc: larsi, 47431, hongyi.zhao >> IOW, without a built-in list, each whois query would create two >> requests, one to whois.iana.org, and one to the actual whois server. > > I don't see any problems with that, do you? > In principle, I don't see any problems. But I seem to recall that RMS dislikes solutions that make unnecessary network connections, or IOW that avoidable network connections should be avoided. If you agree on the general design, I'd be happy to implement it. Possibly with a cache to mitigate the above problem. ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-29 7:35 ` Gregory Heytings @ 2021-03-29 8:38 ` Eli Zaretskii 2021-03-29 11:31 ` Gregory Heytings 0 siblings, 1 reply; 40+ messages in thread From: Eli Zaretskii @ 2021-03-29 8:38 UTC (permalink / raw) To: Gregory Heytings; +Cc: larsi, 47431, hongyi.zhao > Date: Mon, 29 Mar 2021 07:35:37 +0000 > From: Gregory Heytings <gregory@heytings.org> > cc: larsi@gnus.org, 47431@debbugs.gnu.org, hongyi.zhao@gmail.com > > > >> IOW, without a built-in list, each whois query would create two > >> requests, one to whois.iana.org, and one to the actual whois server. > > > > I don't see any problems with that, do you? > > > > In principle, I don't see any problems. But I seem to recall that RMS > dislikes solutions that make unnecessary network connections, or IOW that > avoidable network connections should be avoided. > > If you agree on the general design, I'd be happy to implement it. I don't see a problem, no. We frequently make network connections when necessary. > Possibly with a cache to mitigate the above problem. I'd wait with caching until we see a performance problem. It isn't like people are expected to invoke this command many times in a row. ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-29 8:38 ` Eli Zaretskii @ 2021-03-29 11:31 ` Gregory Heytings 2021-03-29 12:02 ` Eli Zaretskii 0 siblings, 1 reply; 40+ messages in thread From: Gregory Heytings @ 2021-03-29 11:31 UTC (permalink / raw) To: Eli Zaretskii; +Cc: larsi, 47431, hongyi.zhao >>>> IOW, without a built-in list, each whois query would create two >>>> requests, one to whois.iana.org, and one to the actual whois server. >>> >>> I don't see any problems with that, do you? >> >> In principle, I don't see any problems. But I seem to recall that RMS >> dislikes solutions that make unnecessary network connections, or IOW >> that avoidable network connections should be avoided. >> >> If you agree on the general design, I'd be happy to implement it. > > I don't see a problem, no. We frequently make network connections when > necessary. > >> Possibly with a cache to mitigate the above problem. > > I'd wait with caching until we see a performance problem. It isn't like > people are expected to invoke this command many times in a row. > I think you misunderstood what I meant. The idea would be to cache the replies from the whois.iana.org server, not those of the final whois server. IOW, the idea would be to dynamically build a local database instead of relying on a hard-coded list. ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-29 11:31 ` Gregory Heytings @ 2021-03-29 12:02 ` Eli Zaretskii 2021-03-29 12:12 ` Gregory Heytings 0 siblings, 1 reply; 40+ messages in thread From: Eli Zaretskii @ 2021-03-29 12:02 UTC (permalink / raw) To: Gregory Heytings; +Cc: larsi, 47431, hongyi.zhao > Date: Mon, 29 Mar 2021 11:31:59 +0000 > From: Gregory Heytings <gregory@heytings.org> > cc: larsi@gnus.org, 47431@debbugs.gnu.org, hongyi.zhao@gmail.com > > >> Possibly with a cache to mitigate the above problem. > > > > I'd wait with caching until we see a performance problem. It isn't like > > people are expected to invoke this command many times in a row. > > > > I think you misunderstood what I meant. The idea would be to cache the > replies from the whois.iana.org server, not those of the final whois > server. IOW, the idea would be to dynamically build a local database > instead of relying on a hard-coded list. I understand that, and I'm still questioning the need for such a cache. If you have a cache, you need to manage it: add items that aren't there, delete items no longer pertinent, etc. Emacs sessions can run for many moons, so the cache will have to be dynamically adjusted. By contrast, requesting the list each time a query is invoked is much easier, so if performance is reasonable, why bother with a cache and risk subtle issues? ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-29 12:02 ` Eli Zaretskii @ 2021-03-29 12:12 ` Gregory Heytings 2021-03-29 14:16 ` Hongyi Zhao 0 siblings, 1 reply; 40+ messages in thread From: Gregory Heytings @ 2021-03-29 12:12 UTC (permalink / raw) To: Eli Zaretskii; +Cc: larsi, 47431, hongyi.zhao >>>> Possibly with a cache to mitigate the above problem. >>> >>> I'd wait with caching until we see a performance problem. It isn't >>> like people are expected to invoke this command many times in a row. >> >> I think you misunderstood what I meant. The idea would be to cache the >> replies from the whois.iana.org server, not those of the final whois >> server. IOW, the idea would be to dynamically build a local database >> instead of relying on a hard-coded list. > > I understand that, and I'm still questioning the need for such a cache. > > If you have a cache, you need to manage it: add items that aren't there, > delete items no longer pertinent, etc. Emacs sessions can run for many > moons, so the cache will have to be dynamically adjusted. > Yes, I know this. > > By contrast, requesting the list each time a query is invoked is much > easier, so if performance is reasonable, why bother with a cache and > risk subtle issues? > It's not a performance issue, it's a privacy issue. Emacs users might not want to communicate all their queries to two servers when communicating them to a single server is possible. It might also (but that's not yet clear) be an abuse issue, as Lars pointed out. It's not clear whether the whois.iana.org server is intended to be repeatedly queried by whois clients. ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-29 12:12 ` Gregory Heytings @ 2021-03-29 14:16 ` Hongyi Zhao 0 siblings, 0 replies; 40+ messages in thread From: Hongyi Zhao @ 2021-03-29 14:16 UTC (permalink / raw) To: Gregory Heytings; +Cc: Lars Ingebrigtsen, 47431 On Mon, Mar 29, 2021 at 8:12 PM Gregory Heytings <gregory@heytings.org> wrote: > > > >>>> Possibly with a cache to mitigate the above problem. > >>> > >>> I'd wait with caching until we see a performance problem. It isn't > >>> like people are expected to invoke this command many times in a row. > >> > >> I think you misunderstood what I meant. The idea would be to cache the > >> replies from the whois.iana.org server, not those of the final whois > >> server. IOW, the idea would be to dynamically build a local database > >> instead of relying on a hard-coded list. > > > > I understand that, and I'm still questioning the need for such a cache. > > > > If you have a cache, you need to manage it: add items that aren't there, > > delete items no longer pertinent, etc. Emacs sessions can run for many > > moons, so the cache will have to be dynamically adjusted. > > > > Yes, I know this. > > > > > By contrast, requesting the list each time a query is invoked is much > > easier, so if performance is reasonable, why bother with a cache and > > risk subtle issues? > > > > It's not a performance issue, it's a privacy issue. Emacs users might not > want to communicate all their queries to two servers when communicating > them to a single server is possible. > > It might also (but that's not yet clear) be an abuse issue, as Lars > pointed out. It's not clear whether the whois.iana.org server is intended > to be repeatedly queried by whois clients. AFAICS, there should be the following considerations: 1. The whois.iana.org should not be queried by each of the clients on the world repeated for each query which may overload the server. 2. Every whois query should be sent directly to a server near the client's geographic location. Regards -- Assoc. Prof. Hongyi Zhao <hongyi.zhao@gmail.com> Theory and Simulation of Materials Hebei Polytechnic University of Science and Technology engineering NO. 552 North Gangtie Road, Xingtai, China ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-28 20:23 ` Gregory Heytings 2021-03-29 0:19 ` Hongyi Zhao 2021-03-29 4:50 ` Eli Zaretskii @ 2021-03-29 10:58 ` Lars Ingebrigtsen 2021-03-29 11:20 ` Gregory Heytings 2 siblings, 1 reply; 40+ messages in thread From: Lars Ingebrigtsen @ 2021-03-29 10:58 UTC (permalink / raw) To: Gregory Heytings; +Cc: 47431, hongyi.zhao Gregory Heytings <gregory@heytings.org> writes: > IOW, without a built-in list, each whois query would create two > requests, one to whois.iana.org, and one to the actual whois server. That's fine. The only issue here is whether whois.iana.org is designed for this kind of use -- if not, it might be abusive of Emacs to do this, and we should indeed keep the server list updated in Emacs. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-29 10:58 ` Lars Ingebrigtsen @ 2021-03-29 11:20 ` Gregory Heytings 2021-03-29 12:19 ` Gregory Heytings 0 siblings, 1 reply; 40+ messages in thread From: Gregory Heytings @ 2021-03-29 11:20 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: 47431, hongyi.zhao >> IOW, without a built-in list, each whois query would create two >> requests, one to whois.iana.org, and one to the actual whois server. > > That's fine. The only issue here is whether whois.iana.org is designed > for this kind of use -- if not, it might be abusive of Emacs to do this, > and we should indeed keep the server list updated in Emacs. > As far as I can see, whois.iana.org is indeed designed for this kind of use, and the GNU/Linux whois command even has an option to do this (-I). But I'm not 100% sure. Do you think it's better if I first check this with IANA? ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-29 11:20 ` Gregory Heytings @ 2021-03-29 12:19 ` Gregory Heytings 2021-03-30 13:22 ` Lars Ingebrigtsen 0 siblings, 1 reply; 40+ messages in thread From: Gregory Heytings @ 2021-03-29 12:19 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: 47431, hongyi.zhao >>> IOW, without a built-in list, each whois query would create two >>> requests, one to whois.iana.org, and one to the actual whois server. >> >> That's fine. The only issue here is whether whois.iana.org is designed >> for this kind of use -- if not, it might be abusive of Emacs to do >> this, and we should indeed keep the server list updated in Emacs. > > As far as I can see, whois.iana.org is indeed designed for this kind of > use, and the GNU/Linux whois command even has an option to do this (-I). > But I'm not 100% sure. Do you think it's better if I first check this > with IANA? > I've just sent a mail to IANA to clarify that point. ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-29 12:19 ` Gregory Heytings @ 2021-03-30 13:22 ` Lars Ingebrigtsen 2021-03-31 7:53 ` Gregory Heytings 0 siblings, 1 reply; 40+ messages in thread From: Lars Ingebrigtsen @ 2021-03-30 13:22 UTC (permalink / raw) To: Gregory Heytings; +Cc: 47431, hongyi.zhao Gregory Heytings <gregory@heytings.org> writes: > I've just sent a mail to IANA to clarify that point. Great; thanks. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-30 13:22 ` Lars Ingebrigtsen @ 2021-03-31 7:53 ` Gregory Heytings 2021-03-31 13:39 ` Lars Ingebrigtsen 0 siblings, 1 reply; 40+ messages in thread From: Gregory Heytings @ 2021-03-31 7:53 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: 47431, hongyi.zhao >> I've just sent a mail to IANA to clarify that point. > > Great; thanks. > I got the answer, from which I quote the relevant parts: > > We accept that users will query whois.iana.org port 43 for ad-hoc, > infrequent, and low volume queries (e.g. queries resulting from a > user-driven web form, upon receipt of an email, and given a small list > of domains). > > It reads like your client will be primarily user-driven and so we're > fine with your approach. Note, the Mac OSX whois client first queries > whois.iana.org and follows the referral, so there is precedent. > So from a technical point of view, the solution is okay. What remains is the potential privacy problem, but I think it's possible to avoid it without using a cache. ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-31 7:53 ` Gregory Heytings @ 2021-03-31 13:39 ` Lars Ingebrigtsen 2021-03-31 14:27 ` Gregory Heytings 0 siblings, 1 reply; 40+ messages in thread From: Lars Ingebrigtsen @ 2021-03-31 13:39 UTC (permalink / raw) To: Gregory Heytings; +Cc: 47431, hongyi.zhao Gregory Heytings <gregory@heytings.org> writes: >> We accept that users will query whois.iana.org port 43 for ad-hoc, >> infrequent, and low volume queries (e.g. queries resulting from a >> user-driven web form, upon receipt of an email, and given a small >> list of domains). >> >> It reads like your client will be primarily user-driven and so we're >> fine with your approach. Note, the Mac OSX whois client first >> queries whois.iana.org and follows the referral, so there is >> precedent. > > So from a technical point of view, the solution is okay. What remains > is the potential privacy problem, but I think it's possible to avoid > it without using a cache. I don't think there's an expectation of privacy here -- the user knows that doing a whois query will result in server(s) being queried. So I think whois.el should be rewritten to do the two step query (and be asynchronous, which should be pretty trivial). -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-31 13:39 ` Lars Ingebrigtsen @ 2021-03-31 14:27 ` Gregory Heytings 2021-04-14 14:55 ` Stefan Kangas 2022-06-28 13:40 ` Lars Ingebrigtsen 0 siblings, 2 replies; 40+ messages in thread From: Gregory Heytings @ 2021-03-31 14:27 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: 47431, hongyi.zhao > > I don't think there's an expectation of privacy here -- the user knows > that doing a whois query will result in server(s) being queried. > Okay. > > So I think whois.el should be rewritten to do the two step query (and be > asynchronous, which should be pretty trivial). > Okay, I'll do that. ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-31 14:27 ` Gregory Heytings @ 2021-04-14 14:55 ` Stefan Kangas 2022-06-28 13:40 ` Lars Ingebrigtsen 1 sibling, 0 replies; 40+ messages in thread From: Stefan Kangas @ 2021-04-14 14:55 UTC (permalink / raw) To: Gregory Heytings; +Cc: Lars Ingebrigtsen, 47431, hongyi.zhao Gregory Heytings <gregory@heytings.org> writes: >> >> I don't think there's an expectation of privacy here -- the user knows that >> doing a whois query will result in server(s) being queried. >> > > Okay. > >> >> So I think whois.el should be rewritten to do the two step query (and be >> asynchronous, which should be pretty trivial). >> > > Okay, I'll do that. I was completely unaware of this bug report, but I did some related work here: commit 5d456136169468e78c877ead2a3e279d9ebc7e4c Author: Stefan Kangas <stefan@marxist.se> Date: Wed Apr 7 13:35:59 2021 +0200 Update whois-server-tld * lisp/net/net-utils.el (whois-server-tld): Update and add some missing entries. FWIW, I added a comment that argues in favour of the solution chosen here. Even better that you have here checked it with IANA. Thanks for working on this! ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-31 14:27 ` Gregory Heytings 2021-04-14 14:55 ` Stefan Kangas @ 2022-06-28 13:40 ` Lars Ingebrigtsen 2022-07-28 10:35 ` Lars Ingebrigtsen 1 sibling, 1 reply; 40+ messages in thread From: Lars Ingebrigtsen @ 2022-06-28 13:40 UTC (permalink / raw) To: Gregory Heytings; +Cc: 47431, hongyi.zhao Gregory Heytings <gregory@heytings.org> writes: >> I don't think there's an expectation of privacy here -- the user >> knows that doing a whois query will result in server(s) being >> queried. > > Okay. > >> So I think whois.el should be rewritten to do the two step query >> (and be asynchronous, which should be pretty trivial). > > Okay, I'll do that. Gregory, did you get any further here? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2022-06-28 13:40 ` Lars Ingebrigtsen @ 2022-07-28 10:35 ` Lars Ingebrigtsen 2022-07-28 21:56 ` Gregory Heytings 0 siblings, 1 reply; 40+ messages in thread From: Lars Ingebrigtsen @ 2022-07-28 10:35 UTC (permalink / raw) To: Gregory Heytings; +Cc: 47431, hongyi.zhao Lars Ingebrigtsen <larsi@gnus.org> writes: >>> I don't think there's an expectation of privacy here -- the user >>> knows that doing a whois query will result in server(s) being >>> queried. >> >> Okay. >> >>> So I think whois.el should be rewritten to do the two step query >>> (and be asynchronous, which should be pretty trivial). >> >> Okay, I'll do that. > > Gregory, did you get any further here? If you didn't get any further here, I can take a whack at implementing this. ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2022-07-28 10:35 ` Lars Ingebrigtsen @ 2022-07-28 21:56 ` Gregory Heytings 2022-07-29 11:34 ` Lars Ingebrigtsen 0 siblings, 1 reply; 40+ messages in thread From: Gregory Heytings @ 2022-07-28 21:56 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: 47431, hongyi.zhao [-- Attachment #1: Type: text/plain, Size: 491 bytes --] >>>> So I think whois.el should be rewritten to do the two step query (and >>>> be asynchronous, which should be pretty trivial). >>> >>> Okay, I'll do that. >> >> Gregory, did you get any further here? > > If you didn't get any further here, I can take a whack at implementing > this. > Actually, I did, but I took some side roads in the meantime, and it's unlikely that I will have enough time to finish this before you, you're too fast for me 😉 So please go ahead. ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2022-07-28 21:56 ` Gregory Heytings @ 2022-07-29 11:34 ` Lars Ingebrigtsen 0 siblings, 0 replies; 40+ messages in thread From: Lars Ingebrigtsen @ 2022-07-29 11:34 UTC (permalink / raw) To: Gregory Heytings; +Cc: 47431, hongyi.zhao Gregory Heytings <gregory@heytings.org> writes: > Actually, I did, but I took some side roads in the meantime, and it's > unlikely that I will have enough time to finish this before you, > you're too fast for me 😉 So please go ahead. OK, I'll probably have a go at this (but it may not happen soonish for me either). I'll send a mail before starting so that we don't happen to both implement this at the same time. ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-27 6:30 ` Eli Zaretskii 2021-03-27 7:23 ` Gregory Heytings @ 2021-03-27 9:50 ` Hongyi Zhao 2021-03-27 9:57 ` Hongyi Zhao 2 siblings, 0 replies; 40+ messages in thread From: Hongyi Zhao @ 2021-03-27 9:50 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 47431 On Sat, Mar 27, 2021 at 2:30 PM Eli Zaretskii <eliz@gnu.org> wrote: > > > From: Hongyi Zhao <hongyi.zhao@gmail.com> > > Date: Sat, 27 Mar 2021 09:39:20 +0800 > > > > On Ubuntu 20.04, I'm using the self compiled git master version of Emacs. > > It seems that the whois client in Emacs only works for some specific domain > > names, for example gnu.org and emacs.org, but for others like > > facebook.com it just hangs and returns nothing. The following command > > will trigger the error: > > > > "M-x RET whois RET facebook.com" > > It doesn't hang here (I'm not on Ubuntu, though). It times out: > > open-network-stream: make client process failed: Connection timed out, :name, Whois, :buffer, *Whois*, :host, rs.internic.net, :service, 43, :nowait, nil, :tls-parameters, nil, :coding, nil > > If I try a different server, it does work: > > C-u M-x whois RET facebook.com RET whois.crsnic.net RET Yep. I confirmed that you're absolutely right. But how can we change the default whois server picked by the client, say, in Emacs's initialization file? > > This returns immediately with a large *Whois* buffer. > > Perhaps some network expert could tell why we use by default a server > that is less useful. -- Assoc. Prof. Hongyi Zhao <hongyi.zhao@gmail.com> Theory and Simulation of Materials Hebei Polytechnic University of Science and Technology engineering NO. 552 North Gangtie Road, Xingtai, China ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-27 6:30 ` Eli Zaretskii 2021-03-27 7:23 ` Gregory Heytings 2021-03-27 9:50 ` Hongyi Zhao @ 2021-03-27 9:57 ` Hongyi Zhao 2021-03-27 10:33 ` Eli Zaretskii 2 siblings, 1 reply; 40+ messages in thread From: Hongyi Zhao @ 2021-03-27 9:57 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 47431 On Sat, Mar 27, 2021 at 2:30 PM Eli Zaretskii <eliz@gnu.org> wrote: > > > From: Hongyi Zhao <hongyi.zhao@gmail.com> > > Date: Sat, 27 Mar 2021 09:39:20 +0800 > > > > On Ubuntu 20.04, I'm using the self compiled git master version of Emacs. > > It seems that the whois client in Emacs only works for some specific domain > > names, for example gnu.org and emacs.org, but for others like > > facebook.com it just hangs and returns nothing. The following command > > will trigger the error: > > > > "M-x RET whois RET facebook.com" > > It doesn't hang here (I'm not on Ubuntu, though). It times out: > > open-network-stream: make client process failed: Connection timed out, :name, Whois, :buffer, *Whois*, :host, rs.internic.net, :service, 43, :nowait, nil, :tls-parameters, nil, :coding, nil How to obtain the above debug information? > If I try a different server, it does work: > > C-u M-x whois RET facebook.com RET whois.crsnic.net RET > > This returns immediately with a large *Whois* buffer. > > Perhaps some network expert could tell why we use by default a server > that is less useful. -- Assoc. Prof. Hongyi Zhao <hongyi.zhao@gmail.com> Theory and Simulation of Materials Hebei Polytechnic University of Science and Technology engineering NO. 552 North Gangtie Road, Xingtai, China ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-27 9:57 ` Hongyi Zhao @ 2021-03-27 10:33 ` Eli Zaretskii 2021-03-27 12:29 ` Hongyi Zhao 0 siblings, 1 reply; 40+ messages in thread From: Eli Zaretskii @ 2021-03-27 10:33 UTC (permalink / raw) To: Hongyi Zhao; +Cc: 47431 > From: Hongyi Zhao <hongyi.zhao@gmail.com> > Date: Sat, 27 Mar 2021 17:57:31 +0800 > Cc: 47431@debbugs.gnu.org > > > It doesn't hang here (I'm not on Ubuntu, though). It times out: > > > > open-network-stream: make client process failed: Connection timed out, :name, Whois, :buffer, *Whois*, :host, rs.internic.net, :service, 43, :nowait, nil, :tls-parameters, nil, :coding, nil > > How to obtain the above debug information? It's in *Messages*. ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-27 10:33 ` Eli Zaretskii @ 2021-03-27 12:29 ` Hongyi Zhao 2021-03-27 13:44 ` Eli Zaretskii 0 siblings, 1 reply; 40+ messages in thread From: Hongyi Zhao @ 2021-03-27 12:29 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 47431 On Sat, Mar 27, 2021 at 6:33 PM Eli Zaretskii <eliz@gnu.org> wrote: > > > From: Hongyi Zhao <hongyi.zhao@gmail.com> > > Date: Sat, 27 Mar 2021 17:57:31 +0800 > > Cc: 47431@debbugs.gnu.org > > > > > It doesn't hang here (I'm not on Ubuntu, though). It times out: > > > > > > open-network-stream: make client process failed: Connection timed out, :name, Whois, :buffer, *Whois*, :host, rs.internic.net, :service, 43, :nowait, nil, :tls-parameters, nil, :coding, nil > > > > How to obtain the above debug information? > > It's in *Messages*. But for my case, I see the following in *Messages* buffer: Eager macro-expansion failure: (wrong-type-argument listp [(first-item . rest-items) (sp-get-list-items)]) For information about GNU Emacs and the GNU system, type C-h C-a. Regards -- Assoc. Prof. Hongyi Zhao <hongyi.zhao@gmail.com> Theory and Simulation of Materials Hebei Polytechnic University of Science and Technology engineering NO. 552 North Gangtie Road, Xingtai, China ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-27 12:29 ` Hongyi Zhao @ 2021-03-27 13:44 ` Eli Zaretskii 2021-03-28 1:41 ` Hongyi Zhao 0 siblings, 1 reply; 40+ messages in thread From: Eli Zaretskii @ 2021-03-27 13:44 UTC (permalink / raw) To: Hongyi Zhao; +Cc: 47431 > From: Hongyi Zhao <hongyi.zhao@gmail.com> > Date: Sat, 27 Mar 2021 20:29:24 +0800 > Cc: 47431@debbugs.gnu.org > > > > > open-network-stream: make client process failed: Connection timed out, :name, Whois, :buffer, *Whois*, :host, rs.internic.net, :service, 43, :nowait, nil, :tls-parameters, nil, :coding, nil > > > > > > How to obtain the above debug information? > > > > It's in *Messages*. > > But for my case, I see the following in *Messages* buffer: > > Eager macro-expansion failure: (wrong-type-argument listp [(first-item > . rest-items) (sp-get-list-items)]) > For information about GNU Emacs and the GNU system, type C-h C-a. I think that's unrelated, so I don't understand why it hangs indefinitely for you. Are you sure you waited enough time before giving up? ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-27 13:44 ` Eli Zaretskii @ 2021-03-28 1:41 ` Hongyi Zhao 2021-03-28 6:38 ` Eli Zaretskii 0 siblings, 1 reply; 40+ messages in thread From: Hongyi Zhao @ 2021-03-28 1:41 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 47431 On Sat, Mar 27, 2021 at 9:44 PM Eli Zaretskii <eliz@gnu.org> wrote: > > > From: Hongyi Zhao <hongyi.zhao@gmail.com> > > Date: Sat, 27 Mar 2021 20:29:24 +0800 > > Cc: 47431@debbugs.gnu.org > > > > > > > open-network-stream: make client process failed: Connection timed out, :name, Whois, :buffer, *Whois*, :host, rs.internic.net, :service, 43, :nowait, nil, :tls-parameters, nil, :coding, nil > > > > > > > > How to obtain the above debug information? > > > > > > It's in *Messages*. > > > > But for my case, I see the following in *Messages* buffer: > > > > Eager macro-expansion failure: (wrong-type-argument listp [(first-item > > . rest-items) (sp-get-list-items)]) > > For information about GNU Emacs and the GNU system, type C-h C-a. > > I think that's unrelated, so I don't understand why it hangs > indefinitely for you. Are you sure you waited enough time before > giving up? It will hang up there forever. Regards -- Assoc. Prof. Hongyi Zhao <hongyi.zhao@gmail.com> Theory and Simulation of Materials Hebei Polytechnic University of Science and Technology engineering NO. 552 North Gangtie Road, Xingtai, China ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-28 1:41 ` Hongyi Zhao @ 2021-03-28 6:38 ` Eli Zaretskii 2021-03-28 7:12 ` Hongyi Zhao 0 siblings, 1 reply; 40+ messages in thread From: Eli Zaretskii @ 2021-03-28 6:38 UTC (permalink / raw) To: Hongyi Zhao; +Cc: 47431 > From: Hongyi Zhao <hongyi.zhao@gmail.com> > Date: Sun, 28 Mar 2021 09:41:20 +0800 > Cc: 47431@debbugs.gnu.org > > > I think that's unrelated, so I don't understand why it hangs > > indefinitely for you. Are you sure you waited enough time before > > giving up? > > It will hang up there forever. Maybe your network connection blocks some addresses or something? Otherwise, how to explain that it doesn't block for me? ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-28 6:38 ` Eli Zaretskii @ 2021-03-28 7:12 ` Hongyi Zhao 2021-03-28 14:11 ` Lars Ingebrigtsen 0 siblings, 1 reply; 40+ messages in thread From: Hongyi Zhao @ 2021-03-28 7:12 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 47431 On Sun, Mar 28, 2021 at 2:38 PM Eli Zaretskii <eliz@gnu.org> wrote: > > > From: Hongyi Zhao <hongyi.zhao@gmail.com> > > Date: Sun, 28 Mar 2021 09:41:20 +0800 > > Cc: 47431@debbugs.gnu.org > > > > > I think that's unrelated, so I don't understand why it hangs > > > indefinitely for you. Are you sure you waited enough time before > > > giving up? > > > > It will hang up there forever. > > Maybe your network connection blocks some addresses or something? > Otherwise, how to explain that it doesn't block for me? I further debug this problem with tcpdump for a runing `emcas -Q` process, as described below. For `M-x whois RET gnu.org RET`, when the query succeeds, the following info will be captured: $ sudo tcpdump -i any port 43 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on any, link-type LINUX_SLL (Linux cooked v1), capture size 262144 bytes 15:00:29.061914 IP6 X10DAi.56918 > whois.publicinterestregistry.net.whois: Flags [S], seq 1929893031, win 64440, options [mss 1432,sackOK,TS val 417951633 ecr 0,nop,wscale 7], length 0 15:00:29.398867 IP6 whois.publicinterestregistry.net.whois > X10DAi.56918: Flags [S.], seq 1816069595, ack 1929893032, win 1440, options [mss 1379,nop,nop,TS val 2007125977 ecr 417951633,sackOK,eol], length 0 15:00:29.398923 IP6 X10DAi.56918 > whois.publicinterestregistry.net.whois: Flags [.], ack 1, win 64440, options [nop,nop,TS val 417951970 ecr 2007125977], length 0 15:00:29.399038 IP6 X10DAi.56918 > whois.publicinterestregistry.net.whois: Flags [P.], seq 1:10, ack 1, win 64440, options [nop,nop,TS val 417951970 ecr 2007125977], length 9 15:00:30.297592 IP6 X10DAi.56918 > whois.publicinterestregistry.net.whois: Flags [P.], seq 1:10, ack 1, win 64440, options [nop,nop,TS val 417952869 ecr 2007125977], length 9 15:00:31.321603 IP6 X10DAi.56918 > whois.publicinterestregistry.net.whois: Flags [P.], seq 1:10, ack 1, win 64440, options [nop,nop,TS val 417953893 ecr 2007125977], length 9 15:00:31.339068 IP6 whois.publicinterestregistry.net.whois > X10DAi.56918: Flags [P.], seq 1:1368, ack 10, win 2880, options [nop,nop,TS val 2007127334 ecr 417952869], length 1367 15:00:31.339120 IP6 X10DAi.56918 > whois.publicinterestregistry.net.whois: Flags [.], ack 1368, win 63073, options [nop,nop,TS val 417953910 ecr 2007127334], length 0 For `M-x whois RET baidu.com RET`, when the query fails, the following info will be captured: $ sudo tcpdump -i any port 43 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on any, link-type LINUX_SLL (Linux cooked v1), capture size 262144 bytes 15:05:24.433913 IP X10DAi.47186 > 198.41.3.79.whois: Flags [S], seq 1963456950, win 64240, options [mss 1460,sackOK,TS val 2174254150 ecr 0,nop,wscale 7], length 0 15:05:25.465604 IP X10DAi.47186 > 198.41.3.79.whois: Flags [S], seq 1963456950, win 64240, options [mss 1460,sackOK,TS val 2174255182 ecr 0,nop,wscale 7], length 0 15:05:27.481605 IP X10DAi.47186 > 198.41.3.79.whois: Flags [S], seq 1963456950, win 64240, options [mss 1460,sackOK,TS val 2174257198 ecr 0,nop,wscale 7], length 0 I also will see the following in *Messages* buffer: For information about GNU Emacs and the GNU system, type C-h C-a. open-network-stream: Failed connect: No route to host Regards -- Assoc. Prof. Hongyi Zhao <hongyi.zhao@gmail.com> Theory and Simulation of Materials Hebei Polytechnic University of Science and Technology engineering NO. 552 North Gangtie Road, Xingtai, China ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-28 7:12 ` Hongyi Zhao @ 2021-03-28 14:11 ` Lars Ingebrigtsen 2021-03-28 14:15 ` Eli Zaretskii 0 siblings, 1 reply; 40+ messages in thread From: Lars Ingebrigtsen @ 2021-03-28 14:11 UTC (permalink / raw) To: Hongyi Zhao; +Cc: 47431 Hongyi Zhao <hongyi.zhao@gmail.com> writes: > open-network-stream: Failed connect: No route to host I can reproduce this in Emacs 28... but only intermittently. Sometimes it will hang completely, and sometimes I get the timeout. This is the backtrace (with debug-on-quit) when it just hangs: Debugger entered--Lisp error: (quit) make-network-process(:name "Whois" :buffer #<buffer *Whois*> :host "rs.internic.net" :service 43 :nowait nil :tls-parameters nil :coding nil) open-network-stream("Whois" #<buffer *Whois*> "rs.internic.net" 43) run-network-program("Whois" "rs.internic.net" 43 "facebook.com") whois(nil "facebook.com") -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-28 14:11 ` Lars Ingebrigtsen @ 2021-03-28 14:15 ` Eli Zaretskii 2021-03-28 14:19 ` Lars Ingebrigtsen 0 siblings, 1 reply; 40+ messages in thread From: Eli Zaretskii @ 2021-03-28 14:15 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: 47431, hongyi.zhao > From: Lars Ingebrigtsen <larsi@gnus.org> > Cc: Eli Zaretskii <eliz@gnu.org>, 47431@debbugs.gnu.org > Date: Sun, 28 Mar 2021 16:11:14 +0200 > > Hongyi Zhao <hongyi.zhao@gmail.com> writes: > > > open-network-stream: Failed connect: No route to host > > I can reproduce this in Emacs 28... but only intermittently. Sometimes > it will hang completely, and sometimes I get the timeout. > > This is the backtrace (with debug-on-quit) when it just hangs: > > Debugger entered--Lisp error: (quit) > make-network-process(:name "Whois" :buffer #<buffer *Whois*> :host "rs.internic.net" :service 43 :nowait nil :tls-parameters nil :coding nil) > open-network-stream("Whois" #<buffer *Whois*> "rs.internic.net" 43) > run-network-program("Whois" "rs.internic.net" 43 "facebook.com") > whois(nil "facebook.com") I think we should simply update the list of servers we use, it sounds like what we have is outdated. The default should be useful and easily reachable. But I'm not an expert on this stuff. ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-28 14:15 ` Eli Zaretskii @ 2021-03-28 14:19 ` Lars Ingebrigtsen 2021-03-28 14:55 ` Lars Ingebrigtsen 0 siblings, 1 reply; 40+ messages in thread From: Lars Ingebrigtsen @ 2021-03-28 14:19 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 47431, hongyi.zhao Eli Zaretskii <eliz@gnu.org> writes: > I think we should simply update the list of servers we use, it sounds > like what we have is outdated. The default should be useful and > easily reachable. But I'm not an expert on this stuff. Oh, sure; we should fix whois.el. I was just wondering whether there was something odd going on in our basic networking layer here. I let the connect run for longer, and I do seem to reliably get timeouts here. It's just that they take a long time -- this one ran for about five minutes before I got: Debugger entered--Lisp error: (file-error "Failed connect" "Connection timed out") make-network-process(:name "Whois" :buffer #<buffer *scratch*> :host "rs.internic.net" :service 43 :nowait nil :tls-parameters nil :coding nil) That is an excessive timeout... but I guess this is up to the OS? We don't specify a timeout in the make-network-process function, I think? (It's been a while since I've read it...) -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 40+ messages in thread
* bug#47431: Process Whois connection broken by remote peer. 2021-03-28 14:19 ` Lars Ingebrigtsen @ 2021-03-28 14:55 ` Lars Ingebrigtsen 0 siblings, 0 replies; 40+ messages in thread From: Lars Ingebrigtsen @ 2021-03-28 14:55 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 47431, hongyi.zhao Lars Ingebrigtsen <larsi@gnus.org> writes: > That is an excessive timeout... but I guess this is up to the OS? We > don't specify a timeout in the make-network-process function, I think? > (It's been a while since I've read it...) (So whois.el should also probably be rewritten to use async network connections and do a reasonable timeout.) -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 40+ messages in thread
end of thread, other threads:[~2022-07-29 11:34 UTC | newest] Thread overview: 40+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-03-27 1:39 bug#47431: Process Whois connection broken by remote peer Hongyi Zhao 2021-03-27 6:30 ` Eli Zaretskii 2021-03-27 7:23 ` Gregory Heytings 2021-03-27 8:08 ` Eli Zaretskii 2021-03-27 11:01 ` Gregory Heytings 2021-03-27 11:04 ` Gregory Heytings 2021-03-28 15:39 ` Lars Ingebrigtsen 2021-03-28 20:23 ` Gregory Heytings 2021-03-29 0:19 ` Hongyi Zhao 2021-03-29 4:50 ` Eli Zaretskii 2021-03-29 7:35 ` Gregory Heytings 2021-03-29 8:38 ` Eli Zaretskii 2021-03-29 11:31 ` Gregory Heytings 2021-03-29 12:02 ` Eli Zaretskii 2021-03-29 12:12 ` Gregory Heytings 2021-03-29 14:16 ` Hongyi Zhao 2021-03-29 10:58 ` Lars Ingebrigtsen 2021-03-29 11:20 ` Gregory Heytings 2021-03-29 12:19 ` Gregory Heytings 2021-03-30 13:22 ` Lars Ingebrigtsen 2021-03-31 7:53 ` Gregory Heytings 2021-03-31 13:39 ` Lars Ingebrigtsen 2021-03-31 14:27 ` Gregory Heytings 2021-04-14 14:55 ` Stefan Kangas 2022-06-28 13:40 ` Lars Ingebrigtsen 2022-07-28 10:35 ` Lars Ingebrigtsen 2022-07-28 21:56 ` Gregory Heytings 2022-07-29 11:34 ` Lars Ingebrigtsen 2021-03-27 9:50 ` Hongyi Zhao 2021-03-27 9:57 ` Hongyi Zhao 2021-03-27 10:33 ` Eli Zaretskii 2021-03-27 12:29 ` Hongyi Zhao 2021-03-27 13:44 ` Eli Zaretskii 2021-03-28 1:41 ` Hongyi Zhao 2021-03-28 6:38 ` Eli Zaretskii 2021-03-28 7:12 ` Hongyi Zhao 2021-03-28 14:11 ` Lars Ingebrigtsen 2021-03-28 14:15 ` Eli Zaretskii 2021-03-28 14:19 ` Lars Ingebrigtsen 2021-03-28 14:55 ` Lars Ingebrigtsen
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).