Skip to content

Commit 2122f42

Browse files
Set installCerts value in config.ini if certicates are manually installed
1 parent b281453 commit 2122f42

File tree

2 files changed

+22
-17
lines changed

2 files changed

+22
-17
lines changed

main.go

+1-17
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ func loop() {
227227
if value, err := valueIni(configPath.String()); err != nil {
228228
log.Panicf("config.ini cannot be parsed: %s", err)
229229
} else if !value && cert.PromptInstallCertsSafari() {
230-
err = modifyIni(configPath.String())
230+
err = systray.SetInstallCertsIni(configPath.String())
231231
if err != nil {
232232
log.Panicf("config.ini cannot be parsed: %s", err)
233233
}
@@ -517,22 +517,6 @@ func parseIni(filename string) (args []string, err error) {
517517
return args, nil
518518
}
519519

520-
func modifyIni(filename string) error {
521-
cfg, err := ini.LoadSources(ini.LoadOptions{IgnoreInlineComment: false, AllowPythonMultilineValues: true}, filename)
522-
if err != nil {
523-
return err
524-
}
525-
_, err = cfg.Section("").NewKey("installCerts", "true")
526-
if err != nil {
527-
return err
528-
}
529-
err = cfg.SaveTo(filename)
530-
if err != nil {
531-
return err
532-
}
533-
return nil
534-
}
535-
536520
func valueIni(filename string) (bool, error) {
537521
cfg, err := ini.LoadSources(ini.LoadOptions{IgnoreInlineComment: false, AllowPythonMultilineValues: true}, filename)
538522
if err != nil {

systray/systray_real.go

+21
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,10 @@ func (s *Systray) start() {
108108
log.Errorf("cannot install certificates something went wrong: %s", err)
109109
cert.DeleteCertificates(certDir)
110110
}
111+
err = SetInstallCertsIni(s.currentConfigFilePath.String())
112+
if err != nil {
113+
log.Errorf("cannot set installCerts value in config.ini: %s", err)
114+
}
111115
s.Restart()
112116
case <-mRemoveCerts.ClickedCh:
113117
err := cert.UninstallCertificates()
@@ -247,3 +251,20 @@ func (s *Systray) getConfigs() []configIni {
247251

248252
return configs
249253
}
254+
255+
// SetInstallCertsIni sets installCerts value to true in the config
256+
func SetInstallCertsIni(filename string) error {
257+
cfg, err := ini.LoadSources(ini.LoadOptions{IgnoreInlineComment: false, AllowPythonMultilineValues: true}, filename)
258+
if err != nil {
259+
return err
260+
}
261+
_, err = cfg.Section("").NewKey("installCerts", "true")
262+
if err != nil {
263+
return err
264+
}
265+
err = cfg.SaveTo(filename)
266+
if err != nil {
267+
return err
268+
}
269+
return nil
270+
}

0 commit comments

Comments
 (0)