public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* Re: [pve-devel] [PATCH v6 proxmox-apt 04/11] add check_repositories function
@ 2021-06-18  6:56 Wolfgang Bumiller
  2021-06-18  6:58 ` Fabian Ebner
  0 siblings, 1 reply; 11+ messages in thread
From: Wolfgang Bumiller @ 2021-06-18  6:56 UTC (permalink / raw)
  To: Fabian Ebner; +Cc: pve-devel, pbs-devel


> On 06/18/2021 8:53 AM Fabian Ebner <f.ebner@proxmox.com> wrote:
> 
>  
> Am 18.06.21 um 08:44 schrieb Wolfgang Bumiller:
> > 
> >> On 06/18/2021 8:42 AM Fabian Ebner <f.ebner@proxmox.com> 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")`?




^ permalink raw reply	[flat|nested] 11+ messages in thread
* Re: [pve-devel] [PATCH v6 proxmox-apt 04/11] add check_repositories function
@ 2021-06-18  7:16 Wolfgang Bumiller
  2021-06-18  7:26 ` Fabian Ebner
  0 siblings, 1 reply; 11+ messages in thread
From: Wolfgang Bumiller @ 2021-06-18  7:16 UTC (permalink / raw)
  To: Fabian Ebner; +Cc: pve-devel, pbs-devel


> On 06/18/2021 8:58 AM Fabian Ebner <f.ebner@proxmox.com> wrote:
> 
>  
> Am 18.06.21 um 08:56 schrieb Wolfgang Bumiller:
> > 
> >> On 06/18/2021 8:53 AM Fabian Ebner <f.ebner@proxmox.com> wrote:
> >>
> >>   
> >> Am 18.06.21 um 08:44 schrieb Wolfgang Bumiller:
> >>>
> >>>> On 06/18/2021 8:42 AM Fabian Ebner <f.ebner@proxmox.com> 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...

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...




^ permalink raw reply	[flat|nested] 11+ messages in thread
* Re: [pve-devel] [PATCH v6 proxmox-apt 04/11] add check_repositories function
@ 2021-06-18  6:44 Wolfgang Bumiller
  2021-06-18  6:53 ` Fabian Ebner
  0 siblings, 1 reply; 11+ messages in thread
From: Wolfgang Bumiller @ 2021-06-18  6:44 UTC (permalink / raw)
  To: Fabian Ebner; +Cc: pve-devel, pbs-devel


> On 06/18/2021 8:42 AM Fabian Ebner <f.ebner@proxmox.com> 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?




^ permalink raw reply	[flat|nested] 11+ messages in thread
* [pve-devel] [PATCH-SERIES v6] APT repositories API/UI
@ 2021-06-11 11:43 Fabian Ebner
  2021-06-11 11:43 ` [pve-devel] [PATCH v6 proxmox-apt 04/11] add check_repositories function Fabian Ebner
  0 siblings, 1 reply; 11+ messages in thread
From: Fabian Ebner @ 2021-06-11 11:43 UTC (permalink / raw)
  To: pve-devel, pbs-devel

List the configured repositories, have some basic checks for them, and
allow upgrading the package distribution before a major release.

The plan is to use perlmod to make the Rust implementation available for PVE+PMG
as well.


Changes from v5:
    * The main addition is how the upgrade call is enabled/disabled:
      The idea is to do it in the proxmox-apt library itself and bump the
      versions accordingly. It'll always be disabled in the master branch and
      after each major release the major version will be bumped, while the
      stable branch will bump the minor version when it enables the call. Each
      product can then depend on the new major version in its master branch and
      on the new minor version in its stable branch.
      Hope I didn't miss a much easier/better way to do this.
    * Replace buster/updates with bullseye-security for the upgrade.
    * Assert that current os-release is what we expect for the upgrade function.
    * Add link to the upgrade docs in the upgrade button confirm dialog.
    * Avoid false negatives by marking *.proxmox.com *.debian.org as official
      (e.g. snapshot.debian.org was missing)
    * Handle port and userinfo in URI for host detection.


Still missing (intended as followups):
    * integration in PMG.

Changes v4 -> v5:
    * some minor style improvements
    * call cargo clean with make clean in proxmox-apt
    * require 'deb' package type to detect enterprise/no-subscription repos
    * moved common_digest helper to the library
    * add replace_suite function in proxmox-apt and refactored suite_is_variant
      for re-use
    * ui: add reload button
    * ui: don't pass undefined digest parameter
    * add upgrade button
    * add RFC for PBS upgrade call
    * add RFCs for PVE integration


Changes v3 -> v4:
    * incorporate Fabian G.'s feedback:
        * switch to a per-file approach
        * check for official host names
        * fix case-sensitivity issue for .sources keys
        * include digests
    * fix write issue when there are no components (in case of an absolute suite)
    * add more tests


Changes v2 -> v3:
    * incorporate Wolfgang's feedback
    * improve main warning's UI

Changes v1 -> v2:
    * Perl -> Rust
    * PVE -> PBS
    * Don't rely on regexes for parsing.
    * Add writer and tests.
    * UI: pin warnings to the repository they're for.
    * Keep order of options consistent with configuration.
    * Smaller things noted on the individual patches.


proxmox-apt:

Fabian Ebner (9):
  initial commit
  add files for Debian packaging
  add functions to check for Proxmox repositories
  add check_repositories function
  add common_digest helper
  add release_upgrade function and constants for the current and upgrade
    suite
  bump version to 0.1.1-1
  update for bullseye
  bump version to 1.0.0-1

Fabian Ebner (2):
  allow upgrade to bullseye
  bump version to 0.2.0-1


proxmox-widget-toolkit:

Fabian Ebner (3):
  add UI for APT repositories
  APT repositories: add warnings
  add upgrade button

 src/Makefile                |   1 +
 src/node/APTRepositories.js | 477 ++++++++++++++++++++++++++++++++++++
 2 files changed, 478 insertions(+)
 create mode 100644 src/node/APTRepositories.js


proxmox-backup:

Fabian Ebner (6):
  depend on new proxmox-apt crate
  api: apt: add repositories call
  ui: add APT repositories
  api: apt: add check_repositories_call
  add upgrade_repositories call
  enable release upgrade for package repositories

 Cargo.toml                  |   1 +
 debian/control              |   1 +
 src/api2/node/apt.rs        | 177 +++++++++++++++++++++++++++++++++++-
 www/ServerAdministration.js |  13 +++
 4 files changed, 191 insertions(+), 1 deletion(-)


pve-rs:

Fabian Ebner (3):
  initial commit
  add files for Debian packaging
  apt: add upgrade_repositories call

Fabian Ebner (1):
  depend on proxmox-apt 0.2.0


pve-manager:

Fabian Ebner (5):
  api: apt: add call to list repositories
  ui: add panel for listing APT repositories
  api: apt: add call for repository check
  api: apt: add upgrade repos call
  ui: node config: enable release upgrade button for package
    repositories

 PVE/API2/APT.pm             | 267 ++++++++++++++++++++++++++++++++++++
 www/manager6/node/Config.js |   9 ++
 2 files changed, 276 insertions(+)

-- 
2.20.1





^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2021-06-18  7:26 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-18  6:56 [pve-devel] [PATCH v6 proxmox-apt 04/11] add check_repositories function Wolfgang Bumiller
2021-06-18  6:58 ` Fabian Ebner
2021-06-18  7:07   ` [pve-devel] [pbs-devel] " Fabian Ebner
  -- strict thread matches above, loose matches on Subject: below --
2021-06-18  7:16 [pve-devel] " Wolfgang Bumiller
2021-06-18  7:26 ` Fabian Ebner
2021-06-18  6:44 Wolfgang Bumiller
2021-06-18  6:53 ` Fabian Ebner
2021-06-11 11:43 [pve-devel] [PATCH-SERIES v6] APT repositories API/UI Fabian Ebner
2021-06-11 11:43 ` [pve-devel] [PATCH v6 proxmox-apt 04/11] add check_repositories function Fabian Ebner
2021-06-17  8:39   ` Wolfgang Bumiller
2021-06-18  6:42     ` Fabian Ebner
2021-06-17 14:16   ` Fabian Grünbichler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal