internal/rpmmd: change ignoressl to pointer

Change the `IgnoreSSL` field in `rpmmd.RepoConfig`
to a pointer. This will be later used to configure
the `SSLVerify` field in the yum repo stage.
This commit is contained in:
Gianluca Zuccarelli 2023-05-02 17:37:48 +01:00 committed by Achilleas Koutsou
parent 173de3eba4
commit ce299dfa0e
13 changed files with 89 additions and 82 deletions

View file

@ -582,11 +582,10 @@ func (s *Store) GetAllDistroSources(distro string) map[string]SourceConfig {
func NewSourceConfig(repo rpmmd.RepoConfig, system bool) SourceConfig {
sc := SourceConfig{
Name: repo.Name,
System: system,
RHSM: repo.RHSM,
GPGKeys: repo.GPGKeys,
CheckSSL: !repo.IgnoreSSL,
Name: repo.Name,
System: system,
RHSM: repo.RHSM,
GPGKeys: repo.GPGKeys,
}
if repo.CheckGPG != nil {
@ -597,6 +596,14 @@ func NewSourceConfig(repo rpmmd.RepoConfig, system bool) SourceConfig {
sc.CheckRepoGPG = *repo.CheckRepoGPG
}
if repo.IgnoreSSL != nil {
sc.CheckSSL = !*repo.IgnoreSSL
} else {
// default should be true to maintain backwards compatibility
// and current behaviour
sc.CheckSSL = true
}
if len(repo.BaseURLs) != 0 {
sc.URL = strings.Join(repo.BaseURLs, ",")
sc.Type = "yum-baseurl"
@ -615,7 +622,7 @@ func (s *SourceConfig) RepoConfig(name string) rpmmd.RepoConfig {
var repo rpmmd.RepoConfig
repo.Name = name
repo.IgnoreSSL = !s.CheckSSL
repo.IgnoreSSL = common.ToPtr(!s.CheckSSL)
repo.CheckGPG = &s.CheckGPG
repo.RHSM = s.RHSM
repo.CheckRepoGPG = &s.CheckRepoGPG

View file

@ -452,7 +452,7 @@ func (suite *storeTest) TestNewSourceConfigWithMirrorList() {
// Test converting a SourceConfig with GPGkeys to a RepoConfig
func (suite *storeTest) TestRepoConfigGPGKeys() {
expectedRepo := rpmmd.RepoConfig{Name: "testSourceConfig", BaseURLs: []string{"testURL"}, Metalink: "", MirrorList: "", IgnoreSSL: true, MetadataExpire: "", CheckGPG: common.ToPtr(false), CheckRepoGPG: common.ToPtr(true), GPGKeys: []string{"http://path.to.gpgkeys/key.pub", "-----BEGIN PGP PUBLIC KEY BLOCK-----\nFULL GPG KEY HERE\n-----END PGP PUBLIC KEY BLOCK-----"}}
expectedRepo := rpmmd.RepoConfig{Name: "testSourceConfig", BaseURLs: []string{"testURL"}, Metalink: "", MirrorList: "", IgnoreSSL: common.ToPtr(true), MetadataExpire: "", CheckGPG: common.ToPtr(false), CheckRepoGPG: common.ToPtr(true), GPGKeys: []string{"http://path.to.gpgkeys/key.pub", "-----BEGIN PGP PUBLIC KEY BLOCK-----\nFULL GPG KEY HERE\n-----END PGP PUBLIC KEY BLOCK-----"}}
mySourceConfig := suite.mySourceConfig
mySourceConfig.Type = "yum-baseurl"
mySourceConfig.URL = "testURL"
@ -463,7 +463,7 @@ func (suite *storeTest) TestRepoConfigGPGKeys() {
}
func (suite *storeTest) TestRepoConfigBaseURL() {
expectedRepo := rpmmd.RepoConfig{Name: "testSourceConfig", BaseURLs: []string{"testURL"}, Metalink: "", MirrorList: "", IgnoreSSL: true, CheckGPG: common.ToPtr(false), CheckRepoGPG: common.ToPtr(false), MetadataExpire: ""}
expectedRepo := rpmmd.RepoConfig{Name: "testSourceConfig", BaseURLs: []string{"testURL"}, Metalink: "", MirrorList: "", IgnoreSSL: common.ToPtr(true), CheckGPG: common.ToPtr(false), CheckRepoGPG: common.ToPtr(false), MetadataExpire: ""}
suite.mySourceConfig.Type = "yum-baseurl"
suite.mySourceConfig.URL = "testURL"
actualRepo := suite.mySourceConfig.RepoConfig("testSourceConfig")
@ -471,7 +471,7 @@ func (suite *storeTest) TestRepoConfigBaseURL() {
}
func (suite *storeTest) TestRepoConfigMetalink() {
expectedRepo := rpmmd.RepoConfig{Name: "testSourceConfig", Metalink: "testURL", MirrorList: "", IgnoreSSL: true, CheckGPG: common.ToPtr(false), CheckRepoGPG: common.ToPtr(false), MetadataExpire: ""}
expectedRepo := rpmmd.RepoConfig{Name: "testSourceConfig", Metalink: "testURL", MirrorList: "", IgnoreSSL: common.ToPtr(true), CheckGPG: common.ToPtr(false), CheckRepoGPG: common.ToPtr(false), MetadataExpire: ""}
suite.mySourceConfig.Type = "yum-metalink"
suite.mySourceConfig.URL = "testURL"
actualRepo := suite.mySourceConfig.RepoConfig("testSourceConfig")
@ -479,7 +479,7 @@ func (suite *storeTest) TestRepoConfigMetalink() {
}
func (suite *storeTest) TestRepoConfigMirrorlist() {
expectedRepo := rpmmd.RepoConfig{Name: "testSourceConfig", Metalink: "", MirrorList: "testURL", IgnoreSSL: true, CheckGPG: common.ToPtr(false), CheckRepoGPG: common.ToPtr(false), MetadataExpire: ""}
expectedRepo := rpmmd.RepoConfig{Name: "testSourceConfig", Metalink: "", MirrorList: "testURL", IgnoreSSL: common.ToPtr(true), CheckGPG: common.ToPtr(false), CheckRepoGPG: common.ToPtr(false), MetadataExpire: ""}
suite.mySourceConfig.Type = "yum-mirrorlist"
suite.mySourceConfig.URL = "testURL"
actualRepo := suite.mySourceConfig.RepoConfig("testSourceConfig")