diff -up2 openssh-2.5.2p2/ssh-agent.c openssh-2.5.2p2.deo/ssh-agent.c
--- openssh-2.5.2p2/ssh-agent.c	Mon Mar 19 01:38:16 2001
+++ openssh-2.5.2p2.deo/ssh-agent.c	Sat Apr 28 20:51:17 2001
@@ -729,5 +729,5 @@ int
 main(int ac, char **av)
 {
-	int sock, c_flag = 0, k_flag = 0, s_flag = 0, ch;
+	int sock, c_flag = 0, k_flag = 0, s_flag = 0, ch, prev_mask;
 	struct sockaddr_un sunaddr;
 #ifdef HAVE_SETRLIMIT
@@ -820,4 +820,7 @@ main(int ac, char **av)
 		cleanup_exit(1);
 	}
+#ifdef HAVE_CYGWIN
+	prev_mask = umask(0177);
+#endif
 	memset(&sunaddr, 0, sizeof(sunaddr));
 	sunaddr.sun_family = AF_UNIX;
@@ -827,4 +830,7 @@ main(int ac, char **av)
 		cleanup_exit(1);
 	}
+#ifdef HAVE_CYGWIN
+	umask(prev_mask);
+#endif
 	if (listen(sock, 5) < 0) {
 		perror("listen");
