Extended constructor for packet_t added (takes src, dst and data)
authorTobias Brunner <tobias@strongswan.org>
Sat, 7 Jul 2012 10:46:28 +0000 (12:46 +0200)
committerTobias Brunner <tobias@strongswan.org>
Wed, 8 Aug 2012 13:41:02 +0000 (15:41 +0200)
src/libstrongswan/utils/packet.c
src/libstrongswan/utils/packet.h

index b5716fc..a2c329d 100644 (file)
@@ -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);
+}
index 9106bbe..5c44401 100644 (file)
@@ -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_ @}*/