MINOR: send-proxy-v2: sends authority TLV according to TLV received

Since patch "7185b789", the authority TLV in a PROXYv2 header from a
client connection is stored. Authority TLV sends in PROXYv2 should be
taken into account to allow chaining PROXYv2 without droping it.
diff --git a/src/connection.c b/src/connection.c
index 7bdd6f0..33f3b22 100644
--- a/src/connection.c
+++ b/src/connection.c
@@ -1308,16 +1308,26 @@
 		ret += make_tlv(&buf[ret], (buf_len - ret), PP2_TYPE_ALPN, value_len, value);
 	}
 
-#ifdef USE_OPENSSL
 	if (srv->pp_opts & SRV_PP_V2_AUTHORITY) {
-		value = ssl_sock_get_sni(remote);
+		value = NULL;
+		if (remote && remote->proxy_authority) {
+			value = remote->proxy_authority;
+			value_len = remote->proxy_authority_len;
+		}
+#ifdef USE_OPENSSL
+		else {
+			if (value = ssl_sock_get_sni(remote))
+				value_len = strlen(value);
+		}
+#endif
 		if (value) {
 			if ((buf_len - ret) < sizeof(struct tlv))
 				return 0;
-			ret += make_tlv(&buf[ret], (buf_len - ret), PP2_TYPE_AUTHORITY, strlen(value), value);
+			ret += make_tlv(&buf[ret], (buf_len - ret), PP2_TYPE_AUTHORITY, value_len, value);
 		}
 	}
 
+#ifdef USE_OPENSSL
 	if (srv->pp_opts & SRV_PP_V2_SSL) {
 		struct tlv_ssl *tlv;
 		int ssl_tlv_len = 0;