+ src_addr = socket_get_peer_addr(kdcconn->conn->socket, kdcconn);
+ if (!src_addr) {
+ kdc_tcp_terminate_connection(kdcconn, "kdc_tcp_accept: out of memory");
+ return;
+ }
+
+ my_addr = socket_get_my_addr(kdcconn->conn->socket, kdcconn);
+ if (!my_addr) {
+ kdc_tcp_terminate_connection(kdcconn, "kdc_tcp_accept: out of memory");
+ return;
+ }
+
+ ret = tsocket_address_bsd_from_sockaddr(kdcconn,
+ src_addr->sockaddr,
+ src_addr->sockaddrlen,
+ &kdcconn->remote_address);
+ if (ret < 0) {
+ kdc_tcp_terminate_connection(kdcconn, "kdc_tcp_accept: out of memory");
+ return;
+ }
+
+ ret = tsocket_address_bsd_from_sockaddr(kdcconn,
+ my_addr->sockaddr,
+ my_addr->sockaddrlen,
+ &kdcconn->local_address);
+ if (ret < 0) {
+ kdc_tcp_terminate_connection(kdcconn, "kdc_tcp_accept: out of memory");
+ return;
+ }
+
+ TALLOC_FREE(src_addr);
+ TALLOC_FREE(my_addr);
+