pluto: Fixed comparison of connections, if marks are specified.
authorTobias Brunner <tobias@strongswan.org>
Mon, 30 Aug 2010 07:59:25 +0000 (09:59 +0200)
committerTobias Brunner <tobias@strongswan.org>
Thu, 2 Sep 2010 17:04:25 +0000 (19:04 +0200)
src/pluto/connections.c

index fde3e47..e40641a 100644 (file)
@@ -3116,6 +3116,10 @@ connection_t *route_owner(connection_t *c, struct spd_route **srp,
                                {
                                        continue;
                                }
+                               if (src->mark_out.value != srd->mark_out.value)
+                               {
+                                       continue;
+                               }
                                passert(oriented(*d));
                                if (srd->routing > best_routing)
                                {
@@ -3136,6 +3140,10 @@ connection_t *route_owner(connection_t *c, struct spd_route **srp,
                                {
                                        continue;
                                }
+                               if (src->mark_in.value != srd->mark_in.value)
+                               {
+                                       continue;
+                               }
                                if (srd->routing > best_erouting)
                                {
                                        best_ero = d;