Print this page
Current snapshot of OpenSolaris port.
Checkpoint
Checkpoint
Merge from parent.
Merge with WIDE update.
Pull from WIDE.
Pull from WIDE.
Checkpoint
Re-update.
blah
WIDE update
Update from WIDE.

@@ -44,10 +44,15 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
 #include <errno.h>
 
+#ifdef sun      /* XXX KEBE SAYS OpenSolaris extras */
+#define UDP_ENCAP_ESPINUDP_NON_IKE 1
+#define UDP_ENCAP_ESPINUDP 2
+#endif
+
 #include "racoon.h"
 
 #include "var.h"
 /* #include "misc.h" */
 /* #include "vmbuf.h" */

@@ -294,20 +299,31 @@
 ikev1_natt_float_ports(struct ph1handle *iph1)
 {
         if (!(iph1->natt_flags && NAT_DETECTED))
                 return;
         if (!iph1->natt_options->float_port) {
+#ifndef sun     /* XXX KEBE SAYS OpenSolaris does keepalives in-kernel. */
                 /* Drafts 00 / 01, just schedule keepalive */
                 natt_keepalive_add_ph1(iph1);
+#endif
                 return;
         }
 
         set_port(iph1->local, iph1->natt_options->float_port);
         set_port(iph1->remote, iph1->natt_options->float_port);
-        iph1->natt_flags |= NAT_PORTS_CHANGED | NAT_ADD_NON_ESP_MARKER;
 
+        iph1->natt_flags |= NAT_PORTS_CHANGED;
+
+#ifndef sun
+        /*
+         * XXX KEBE SAYS OpenSolaris does keepalives in-kernel.
+         * Also, we have in-kernel zero-spi addition.
+         */
+        iph1->natt_flags |= NAT_ADD_NON_ESP_MARKER;
+
         natt_keepalive_add_ph1(iph1);
+#endif
 }
 
 void
 ikev1_natt_handle_vendorid(struct ph1handle *iph1, int vid_numeric)
 {

@@ -324,10 +340,11 @@
         if (iph1->natt_options->version < vid_numeric)
                 if (natt_fill_options(iph1->natt_options, vid_numeric) == 0)
                         iph1->natt_flags |= NAT_ANNOUNCED;
 }
 
+#ifndef sun     /* XXX KEBE SAYS OpenSolaris does keepalives in-kernel. */
 /* NAT keepalive functions */
 static void
 natt_keepalive_send(void *param)
 {
         struct natt_ka_addrs *ka, *next = NULL;

@@ -445,10 +462,11 @@
                          * be inserted only once, but who knows :-) Lets traverse 
                          * the whole list... */
                 }
         }
 }
+#endif
 
 #ifdef notyet
 static struct remoteconf *
 natt_enabled_in_rmconf_stub(struct remoteconf *rmconf, void *data)
 {