Skip to content

Commit ef10ff2

Browse files
Set installCerts value in config.ini if certicates are manually installed
1 parent 29214f0 commit ef10ff2

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
@@ -225,7 +225,7 @@ func loop() {
225225
if value, err := valueIni(configPath.String()); err != nil {
226226
log.Panicf("config.ini cannot be parsed: %s", err)
227227
} else if !value && cert.PromptInstallCertsSafari() {
228-
err = modifyIni(configPath.String())
228+
err = systray.SetInstallCertsIni(configPath.String())
229229
if err != nil {
230230
log.Panicf("config.ini cannot be parsed: %s", err)
231231
}
@@ -507,22 +507,6 @@ func parseIni(filename string) (args []string, err error) {
507507
return args, nil
508508
}
509509

510-
func modifyIni(filename string) error {
511-
cfg, err := ini.LoadSources(ini.LoadOptions{IgnoreInlineComment: false, AllowPythonMultilineValues: true}, filename)
512-
if err != nil {
513-
return err
514-
}
515-
_, err = cfg.Section("").NewKey("installCerts", "true")
516-
if err != nil {
517-
return err
518-
}
519-
err = cfg.SaveTo(filename)
520-
if err != nil {
521-
return err
522-
}
523-
return nil
524-
}
525-
526510
func valueIni(filename string) (bool, error) {
527511
cfg, err := ini.LoadSources(ini.LoadOptions{IgnoreInlineComment: false, AllowPythonMultilineValues: true}, filename)
528512
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)