Hello,
I did some limited testing and found two issues:
For older resolvers:
--- src/dns.c.orig 2015-12-19 21:09:05.000000000 +0100
+++ src/dns.c 2015-12-19 21:09:33.000000000 +0100
@@ -483,8 +483,10 @@
static void
dns_set_insecure(dns_answer * dnsa)
{
+#ifndef DISABLE_DNSSEC
HEADER * h = (HEADER *)dnsa->answer;
h->ad = 0;
+#endif
}
/************************************************
tls.c uses setenv/unsetenv to switch the timezone. Those calls
are not entirely portable. Since we only want to switch to GMT0,
how about setting a new environment containing just that?
extern char **environ;
char **old_environ;
static char gmt0[]="TZ=GMT0";
static char *gmt_env[]={ gmt0, (char*)0 };
old_environ=environ;
environ=gmt_env;
/* Now run whatever is needed with the new environment. */
environ=old_environ;
I suggest not to replicate the constant "GMT0" in src/tlscert-openssl.c
and src/tlscert-gnu.c, but instead pull that into the to_tz(), renaming
it to_gmt0(). That would make it easier to either use setenv or the
more efficient method above.
Finally, I need this patch:
--- OS/os.h-HP-UX.orig 2015-12-18 15:58:06.000000000 +0100
+++ OS/os.h-HP-UX 2015-12-19 23:18:48.000000000 +0100
@@ -23,4 +23,12 @@
#define strtoll(a,b,c) strtoimax(a,b,c)
+/* Determined by sockaddr_un */
+
+struct sockaddr_storage
+{
+ short ss_family;
+ char __ss_padding[92];
+};
+
/* End */
Michael