/**
* IPv4 addresses DLL head
*/
- struct IPv4HttpAddressWrapper *ipv4_addr_head;
+ struct HttpAddressWrapper *addr_head;
/**
* IPv4 addresses DLL tail
*/
- struct IPv4HttpAddressWrapper *ipv4_addr_tail;
+ struct HttpAddressWrapper *addr_tail;
+
/**
- * IPv6 addresses DLL head
+ * Plugin configuration
+ * --------------------
*/
- struct IPv6HttpAddressWrapper *ipv6_addr_head;
/**
- * IPv6 addresses DLL tail
+ * External hostname the plugin can be connected to, can be different to
+ * the host's FQDN, used e.g. for reverse proxying
*/
- struct IPv6HttpAddressWrapper *ipv6_addr_tail;
+ char *external_hostname;
/**
- * Plugin configuration
- * --------------------
+ * External hostname the plugin can be connected to, can be different to
+ * the host's FQDN, used e.g. for reverse proxying
+ */
+ struct HttpAddress *ext_addr;
+
+ /**
+ * External address length
+ */
+ size_t ext_addr_len;
+
+ /**
+ * Task calling transport service about external address
*/
+ GNUNET_SCHEDULER_TaskIdentifier notify_ext_task;
+
/**
* Plugin name
GNUNET_NETWORK_STRUCT_BEGIN
+/**
+ * HTTP addresses including a full URI
+ */
+struct HttpAddress
+{
+ /**
+ * Length of the address following in NBO
+ */
+ uint32_t addr_len GNUNET_PACKED;
+
+ /**
+ * Address following
+ */
+ void *addr GNUNET_PACKED;
+};
+
/**
* IPv4 addresses
*/