--- a/fix_options.c
+++ b/fix_options.c
@@ -32,7 +32,7 @@ static char sccsid[] = "@(#) fix_options
 
 /* fix_options - get rid of IP-level socket options */
 
-fix_options(request)
+void fix_options(request)
 struct request_info *request;
 {
 #ifdef IP_OPTIONS
@@ -46,7 +46,7 @@ struct request_info *request;
     struct in_addr dummy;
 #ifdef INET6
     struct sockaddr_storage ss;
-    int sslen;
+    socklen_t sslen;
 
     /*
      * check if this is AF_INET socket
--- a/options.c
+++ b/options.c
@@ -41,6 +41,7 @@ static char sccsid[] = "@(#) options.c 1
 #include <netinet/in.h>
 #include <netdb.h>
 #include <stdio.h>
+#include <unistd.h>
 #include <syslog.h>
 #include <pwd.h>
 #include <grp.h>
--- a/scaffold.c
+++ b/scaffold.c
@@ -17,6 +17,7 @@ static char sccs_id[] = "@(#) scaffold.c
 #include <arpa/inet.h>
 #include <netdb.h>
 #include <stdio.h>
+#include <stdlib.h>
 #include <syslog.h>
 #include <setjmp.h>
 #include <string.h>
