diff options
Diffstat (limited to 'config/validation.go')
| -rw-r--r-- | config/validation.go | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/config/validation.go b/config/validation.go deleted file mode 100644 index 127880a..0000000 --- a/config/validation.go +++ /dev/null @@ -1,51 +0,0 @@ -package config - -import ( - "fmt" - - "dove/utils/errors" -) - -func ValidatePorts() error { - portAssignments := collectPortAssignments() - occupiedPorts := make(map[string]string) - - for _, assignment := range portAssignments { - portKey := fmt.Sprintf("%s:%d", assignment.Host, assignment.Port) - - if existingService, occupied := occupiedPorts[portKey]; occupied { - return errors.Error(ConfigPortCollision, assignment.Service, existingService, portKey) - } - - occupiedPorts[portKey] = assignment.Service - } - - return nil -} - -func collectPortAssignments() []PortAssignment { - assignments := []PortAssignment{ - {Service: "HTTP", Host: HTTP.Host, Port: HTTP.Port}, - {Service: "DNS", Host: DNS.Host, Port: DNS.Port}, - {Service: "SMTP", Host: SMTP.Host, Port: SMTP.Port}, - {Service: "SMTPS", Host: SMTP.Host, Port: SMTP.SMTPSPort}, - {Service: "SMTP STARTTLS", Host: SMTP.Host, Port: SMTP.StartTLSPort}, - {Service: "IMAP", Host: IMAP.Host, Port: IMAP.Port}, - {Service: "POP3", Host: POP3.Host, Port: POP3.Port}, - {Service: "S3", Host: S3.Host, Port: S3.Port}, - } - - if IMAP.TLSEnabled { - assignments = append(assignments, - PortAssignment{Service: "IMAPS", Host: IMAP.Host, Port: IMAP.IMAPSPort}, - ) - } - - if POP3.TLSEnabled { - assignments = append(assignments, - PortAssignment{Service: "POP3S", Host: POP3.Host, Port: POP3.POP3SPort}, - ) - } - - return assignments -} |
