aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2012-07-07 12:46:28 +0200
committerTobias Brunner <tobias@strongswan.org>2012-08-08 15:41:02 +0200
commitec486e9433320c425f6a31c7290ad7a806818ec2 (patch)
treeccc6542a0207a53b7fd8f3edc26353b9c41a6406 /src/libstrongswan
parent5764a9b355843c91c390008447672b567bdf54de (diff)
downloadstrongswan-ec486e9433320c425f6a31c7290ad7a806818ec2.tar.bz2
strongswan-ec486e9433320c425f6a31c7290ad7a806818ec2.tar.xz
Extended constructor for packet_t added (takes src, dst and data)
Diffstat (limited to 'src/libstrongswan')
-rw-r--r--src/libstrongswan/utils/packet.c17
-rw-r--r--src/libstrongswan/utils/packet.h10
2 files changed, 24 insertions, 3 deletions
diff --git a/src/libstrongswan/utils/packet.c b/src/libstrongswan/utils/packet.c
index b5716fc4b..a2c329d60 100644
--- a/src/libstrongswan/utils/packet.c
+++ b/src/libstrongswan/utils/packet.c
@@ -126,10 +126,10 @@ METHOD(packet_t, clone_, packet_t*,
return other;
}
-/*
- * Documented in header
+/**
+ * Described in header.
*/
-packet_t *packet_create()
+packet_t *packet_create_from_data(host_t *src, host_t *dst, chunk_t data)
{
private_packet_t *this;
@@ -145,8 +145,19 @@ packet_t *packet_create()
.clone = _clone_,
.destroy = _destroy,
},
+ .source = src,
+ .destination = dst,
+ .adjusted_data = data,
+ .data = data,
);
return &this->public;
}
+/*
+ * Described in header.
+ */
+packet_t *packet_create()
+{
+ return packet_create_from_data(NULL, NULL, chunk_empty);
+}
diff --git a/src/libstrongswan/utils/packet.h b/src/libstrongswan/utils/packet.h
index 9106bbef5..5c4440115 100644
--- a/src/libstrongswan/utils/packet.h
+++ b/src/libstrongswan/utils/packet.h
@@ -108,4 +108,14 @@ struct packet_t {
*/
packet_t *packet_create();
+/**
+ * Create a packet from the supplied data
+ *
+ * @param src source address (gets owned)
+ * @param dst destination address (gets owned)
+ * @param data packet data (gets owned)
+ * @return packet_t object
+ */
+packet_t *packet_create_from_data(host_t *src, host_t *dst, chunk_t data);
+
#endif /** PACKET_H_ @}*/