Repository: kubernetes-sigs/external-dns (language: go)

Issue:
RFC2136 Error "missing port in address" in 0.12.0. The same config worked in 0.11.0.
<!-- Please use this template while reporting a bug and provide as much info as possible. Not doing so may result in your bug not being addressed in a timely manner. Thanks!

-->

**What happened**:
Cannot update DNS using RFC2136. Config is at the bottom.
```
time="2022-05-30T22:16:48Z" level=info msg="Adding RR: service-name.k8s.example.com 0 A 10.20.30.40"
time="2022-05-30T22:16:48Z" level=info msg="Adding RR: service-name.k8s.example.com 0 TXT \"heritage=external-dns,external-dns/owner=default,external-dns/resource=ingress/service-name/service-name\""

 # this entry seems superfluous
time="2022-05-30T22:16:48Z" level=info msg="Adding RR: a-service-name.k8s.example.com 0 TXT \"heritage=external-dns,external-dns/owner=default,external-dns/resource=ingress/service-name/service-name\""

# Update fails
time="2022-05-30T22:16:49Z" level=error msg="RFC2136 update failed: address dc-1.samba.example.com: missing port in address"
time="2022-05-30T22:16:49Z" level=error msg="RFC2136 had errors in one or more of its batches: [address dc-1.samba.example.com: missing port in address]"
```

**What you expected to happen**:
Update DNS without error

**How to reproduce it (as minimally and precisely as possible)**:
Upgrade from `0.11.0` to `0.12.0` without any arg changes

**Anything else we need to know?**:

**Environment**:
- External-DNS version (use `external-dns --version`): 0.12.0
- DNS provider: samba-ad-dc 4.15
- Others:
```
args:
- --provider=rfc2136
- --rfc2136-gss-tsig
- --rfc2136-host=dc-1.samba.example.com
- --rfc2136-port=53
- --rfc2136-kerberos-username=***
- --rfc2136-kerberos-password=***
- --rfc2136-kerberos-realm=samba.example.com
- --rfc2136-tsig-axfr
- --rfc2136-zone=k8s.example.com
- --source=service
- --source=ingress
- --domain-filter=k8s.example.com
```

```
krb5.conf: |
    [logging]
    default = FILE:/var/log/krb5libs.log
    kdc = FILE:/var/log/krb5kdc.log
    admin_server = FILE:/var/log/kadmind.log

    [libdefaults]
    dns_lookup_realm = false
    dns_lookup_kdc = true
    ticket_lifetime = 24h
    renew_lifetime = 7d
    default_realm = SAMBA.EXAMPLE.COM

    [realms]
    SAMBA.EXAMPLE.COM = {
      kdc = dc-1.samba.example.com
      admin_server = dc-1.samba.example.com
    }
```



Discussion / hints:

Fix patch:
diff --git a/provider/rfc2136/rfc2136.go b/provider/rfc2136/rfc2136.go
index f72ecd1727..3f8a591dd4 100644
--- a/provider/rfc2136/rfc2136.go
+++ b/provider/rfc2136/rfc2136.go
@@ -134,12 +134,8 @@ func (r rfc2136Provider) KeyData() (keyName string, handle *gss.Client, err erro
 		return keyName, handle, err
 	}
 
-	rawHost, _, err := net.SplitHostPort(r.nameserver)
-	if err != nil {
-		return keyName, handle, err
-	}
+	keyName, _, err = handle.NegotiateContextWithCredentials(r.nameserver, r.krb5Realm, r.krb5Username, r.krb5Password)
 
-	keyName, _, err = handle.NegotiateContextWithCredentials(rawHost, r.krb5Realm, r.krb5Username, r.krb5Password)
 	return keyName, handle, err
 }
 


Test patch: