diff --git a/dnf-json b/dnf-json index 238d37902..9ff287a14 100644 --- a/dnf-json +++ b/dnf-json @@ -29,6 +29,9 @@ def dnfrepo(desc, parent_conf=None): else: assert False + if desc.get("ignoressl", False): + repo.sslverify = False + return repo diff --git a/internal/rpmmd/repository.go b/internal/rpmmd/repository.go index 1bf8a67f6..a3e46a42a 100644 --- a/internal/rpmmd/repository.go +++ b/internal/rpmmd/repository.go @@ -19,6 +19,7 @@ type RepoConfig struct { Metalink string `json:"metalink,omitempty"` MirrorList string `json:"mirrorlist,omitempty"` GPGKey string `json:"gpgkey,omitempty"` + IgnoreSSL bool `json:"ignoressl"` } type PackageList []Package diff --git a/internal/store/store.go b/internal/store/store.go index 9cfe27fc1..65cd3cab6 100644 --- a/internal/store/store.go +++ b/internal/store/store.go @@ -594,7 +594,7 @@ func NewSourceConfig(repo rpmmd.RepoConfig, system bool) SourceConfig { sc := SourceConfig{ Name: repo.Id, CheckGPG: true, - CheckSSL: true, + CheckSSL: !repo.IgnoreSSL, System: system, } @@ -617,6 +617,7 @@ func (s *SourceConfig) RepoConfig() rpmmd.RepoConfig { repo.Name = s.Name repo.Id = s.Name + repo.IgnoreSSL = !s.CheckSSL if s.Type == "yum-baseurl" { repo.BaseURL = s.URL