connmark: Don't restore CONNMARK for packets that already have a mark set
authorTobias Brunner <tobias@strongswan.org>
Mon, 7 Mar 2016 15:52:43 +0000 (16:52 +0100)
committerTobias Brunner <tobias@strongswan.org>
Thu, 10 Mar 2016 16:26:26 +0000 (17:26 +0100)
commitc659d369a0b81c0e723d73964ddf80a79bc1d44e
tree2edd3720cdec8aca4a3a756f9680d656582a6f3d
parent7c9e7eb9334beeca94e7d97f7b4cbed718e9dc2d
connmark: Don't restore CONNMARK for packets that already have a mark set

This allows e.g. modified versions of xl2tpd to set the mark in
situations where two clients are using the same source port behind the
same NAT, which CONNMARK can't restore properly as only one conntrack entry
will exist with the mark set to that of the client that sent the last packet.

Fixes #1230.
src/libcharon/plugins/connmark/connmark_listener.c