diff -ur --unidirectional-new-file skipsrc-1.0.orig/skip/common/skip_keystore.c work.new/skip/common/skip_keystore.c --- skipsrc-1.0.orig/skip/common/skip_keystore.c Fri Oct 25 13:12:41 1996 +++ work.new/skip/common/skip_keystore.c Mon Jan 24 12:52:53 2000 @@ -308,7 +308,7 @@ /* * SKIP tunneling mode */ - params->payload_type = IPPROTO_ENCAP; + params->payload_type = IPPROTO_IPIP; } /* * Return offset of data to decrypt @@ -1177,7 +1177,7 @@ * Returns: none */ void -skip_key_iterate(int (*f)(), void *arg) +skip_key_iterate(int (*f)(skip_keycb_t *, void *), void *arg) { skip_keycb_t *cp, *ncp; int i, rc; @@ -1209,7 +1209,7 @@ for (cp = skip_decrypt_hashtable[i]; cp; cp = ncp) { ncp = cp->next; - rc = (*f)(cp); + rc = (*f)(cp, arg); if (rc) { skip_hash_remove(cp, skip_decrypt_hashtable, @@ -1258,7 +1258,7 @@ return(ENOMEM); } -#ifdef KERNEL +#if defined(KERNEL) || defined(_KERNEL) /* * XXX 4.x only * we have knowledge that arg is a pointer to a struct sockaddr which