Fixes for signed/unsigned warnings and shadows.
diff --git a/apps/s_apps.h b/apps/s_apps.h
index bb48244..886a95a 100644
--- a/apps/s_apps.h
+++ b/apps/s_apps.h
@@ -148,7 +148,7 @@
 #define PORT_STR        "4433"
 #define PROTOCOL        "tcp"
 
-int do_server(int port, int type, int *ret, int (*cb) (char *hostname, int s, unsigned char *context), char *context);
+int do_server(int port, int type, int *ret, int (*cb) (char *hostname, int s, unsigned char *context), unsigned char *context);
 #ifdef HEADER_X509_H
 int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx);
 #endif
diff --git a/apps/s_client.c b/apps/s_client.c
index 2f0f568..d468778 100644
--- a/apps/s_client.c
+++ b/apps/s_client.c
@@ -275,7 +275,7 @@
 #endif
 
 	struct sockaddr peer;
-	int peerlen = sizeof(peer);
+	socklen_t peerlen = sizeof(peer);
 	int enable_timeouts = 0 ;
 	long mtu = 0;
 
diff --git a/apps/s_server.c b/apps/s_server.c
index 059c4a0..a5e8bcd 100644
--- a/apps/s_server.c
+++ b/apps/s_server.c
@@ -525,7 +525,7 @@
 	int vflags = 0;
 	short port=PORT;
 	char *CApath=NULL,*CAfile=NULL;
-	char *context = NULL;
+	unsigned char *context = NULL;
 	char *dhfile = NULL;
 	char *named_curve = NULL;
 	int badop=0,bugs=0;
@@ -604,7 +604,7 @@
 		else if	(strcmp(*argv,"-context") == 0)
 			{
 			if (--argc < 1) goto bad;
-			context= *(++argv);
+			context= (unsigned char *)*(++argv);
 			}
 		else if	(strcmp(*argv,"-cert") == 0)
 			{
diff --git a/apps/s_socket.c b/apps/s_socket.c
index b5dd47d..c022585 100644
--- a/apps/s_socket.c
+++ b/apps/s_socket.c
@@ -277,7 +277,7 @@
 	return(1);
 	}
 
-int do_server(int port, int type, int *ret, int (*cb)(char *hostname, int s, unsigned char *context), char *context)
+int do_server(int port, int type, int *ret, int (*cb)(char *hostname, int s, unsigned char *context), unsigned char *context)
 	{
 	int sock;
 	char *name = NULL;