encryption.go 600 B

1234567891011121314151617181920212223242526272829
  1. package config
  2. type encryption struct {
  3. Allow bool `yaml:"allow"`
  4. Default bool `yaml:"default"`
  5. KeySharing struct {
  6. Allow bool `yaml:"allow"`
  7. RequireCrossSigning bool `yaml:"require_cross_signing"`
  8. RequireVerification bool `yaml:"require_verification"`
  9. } `yaml:"key_sharing"`
  10. }
  11. func (e *encryption) validate() error {
  12. return nil
  13. }
  14. func (e *encryption) UnmarshalYAML(unmarshal func(interface{}) error) error {
  15. type rawEncryption encryption
  16. raw := rawEncryption{}
  17. if err := unmarshal(&raw); err != nil {
  18. return err
  19. }
  20. *e = encryption(raw)
  21. return e.validate()
  22. }