Replaces sysv3 legacy functions with modern equivalents.

Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>
Index: ipsec-tools-0.7.3/src/racoon/pfkey.c
===================================================================
--- ipsec-tools-0.7.3.orig/src/racoon/pfkey.c	2010-07-12 14:46:52.000000000 +0200
+++ ipsec-tools-0.7.3/src/racoon/pfkey.c	2010-07-12 15:01:39.000000000 +0200
@@ -3008,12 +3008,12 @@
 				struct sockaddr *paddr;
 
 				paddr = (struct sockaddr *)(xisr + 1);
-				bcopy(paddr, &(*p_isr)->saidx.src,
+				memmove(&(*p_isr)->saidx.src, paddr,
 					sysdep_sa_len(paddr));
 
 				paddr = (struct sockaddr *)((caddr_t)paddr
 							+ sysdep_sa_len(paddr));
-				bcopy(paddr, &(*p_isr)->saidx.dst,
+				memmove(&(*p_isr)->saidx.dst, paddr,
 					sysdep_sa_len(paddr));
 			}
 
Index: ipsec-tools-0.7.3/src/racoon/racoonctl.c
===================================================================
--- ipsec-tools-0.7.3.orig/src/racoon/racoonctl.c	2010-07-12 14:49:51.000000000 +0200
+++ ipsec-tools-0.7.3/src/racoon/racoonctl.c	2010-07-12 15:00:52.000000000 +0200
@@ -785,7 +785,7 @@
 		errx(1, "cannot read source address");
 
 	/* We get "ip[port]" strip the port */
-	if ((idx = index(srcaddr, '[')) == NULL) 
+	if ((idx = strchr(srcaddr, '[')) == NULL)
 		errx(1, "unexpected source address format");
 	*idx = '\0';
 
