$NetBSD: patch-ac,v 1.5 2009/12/15 19:43:16 drochner Exp $

--- src/dirmngr.c.orig	2008-12-09 10:52:06.000000000 +0000
+++ src/dirmngr.c
@@ -39,6 +39,7 @@
 #include <unistd.h>
 #include <signal.h>
 #include <pth.h>
+#include <locale.h>
 
 #include <gcrypt.h>
 #include <ksba.h>
@@ -954,7 +955,10 @@ main (int argc, char **argv)
       len = (offsetof (struct sockaddr_un, sun_path)
              + strlen (serv_addr.sun_path) + 1);
 
+      /* FreeBSD honors users umask */
+      mode_t oldumask = umask(0);
       rc = assuan_sock_bind (fd, (struct sockaddr*) &serv_addr, len);
+      umask(oldumask);
       if (rc == -1 && errno == EADDRINUSE)
 	{
 	  remove (socket_name);
