From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 9491D73694; Fri, 18 Jun 2021 09:26:55 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 7F7A823E82; Fri, 18 Jun 2021 09:26:25 +0200 (CEST) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id BD9D923E74; Fri, 18 Jun 2021 09:26:24 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 8D01E43012; Fri, 18 Jun 2021 09:26:24 +0200 (CEST) To: Wolfgang Bumiller Cc: pve-devel@lists.proxmox.com, pbs-devel@lists.proxmox.com References: <150695918.1370.1624000612410@webmail.proxmox.com> From: Fabian Ebner Message-ID: <13a2f138-b209-1da0-76e5-f8745b7a70ea@proxmox.com> Date: Fri, 18 Jun 2021 09:26:23 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: <150695918.1370.1624000612410@webmail.proxmox.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.873 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment NICE_REPLY_A -0.254 Looks like a legit reply (A) SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [proxmox.com] Subject: Re: [pve-devel] [PATCH v6 proxmox-apt 04/11] add check_repositories function X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Jun 2021 07:26:55 -0000 Am 18.06.21 um 09:16 schrieb Wolfgang Bumiller: > >> On 06/18/2021 8:58 AM Fabian Ebner wrote: >> >> >> Am 18.06.21 um 08:56 schrieb Wolfgang Bumiller: >>> >>>> On 06/18/2021 8:53 AM Fabian Ebner wrote: >>>> >>>> >>>> Am 18.06.21 um 08:44 schrieb Wolfgang Bumiller: >>>>> >>>>>> On 06/18/2021 8:42 AM Fabian Ebner wrote: >>>>>>>> + Some((last, rest)) => match rest.split_last() { >>>>>>>> + Some((second_to_last, _rest)) => { >>>>>>>> + (*last == "org" && *second_to_last == "debian") >>>>>>>> + || (*last == "com" && *second_to_last == "proxmox") >>>>>>>> + } >>>>>>>> + None => false, >>>>>>>> + }, >>>>>>>> + None => false, >>>>>>>> + }; >>>>>>>> + >>>>>>>> + for uri in self.uris.iter() { >>>>>>>> + if let Some(host) = host_from_uri(uri) { >>>>>>>> + let domains = host.split('.').collect(); >>>>>>> >>>>>>> ^ But instead of building a vector here, why not just do: >>>>>>> >>>>>>> if host == "proxmox.com" || host.ends_with(".proxmox.com") >>>>>>> || host == "debian.org" || host.ends_with(".debian.org") >>>>>>> { >>>>>>> ... >>>>>>> } >>>>>>> >>>>>> >>>>>> Misses FQDNs? >>>>> >>>>> Such as? >>>>> >>>> >>>> http://security.debian.org. >>> >>> Why is that not caught by `.ends_with(".debian.org")`? >>> >> >> Because of the final dot. > > Splitting at '.' gives you an empty element in your vector, so that's the same in your code... > Good to know. > Feel free to just strip the final dot, though, if it makes you feel any better :-P > >> But it is likely very uncommon and simply > > Do people even really do that, ever, outside of zone files? > >> splitting by '.' leads to false results with e.g. >> http://security..debian.org too, so it might not be worth worrying about... > > That doesn't work anyway... > Yeah, I meant http://security.debian..org and thought it would be a false positive, but if there's an empty element in the vector, it isn't.