ID_IPV4_ADDR and ID_IPV6_ADDR cases added to get_ts
authorClavister OpenSource <opensource@clavister.com>
Mon, 5 Dec 2011 11:48:14 +0000 (12:48 +0100)
committerClavister OpenSource <opensource@clavister.com>
Tue, 20 Mar 2012 16:31:11 +0000 (17:31 +0100)
src/libcharon/encoding/payloads/id_payload.c [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 96d713e..fe89188
@@ -299,6 +299,24 @@ METHOD(id_payload_t, get_ts, traffic_selector_t*,
                                return get_ts_from_range(this, TS_IPV6_ADDR_RANGE);
                        }
                        break;
+               case ID_IPV4_ADDR:
+               {
+                       if (this->id_data.len == 4)
+                       {
+                               return traffic_selector_create_from_bytes(this->protocol_id,
+                                                               TS_IPV4_ADDR_RANGE, this->id_data, this->port,
+                                                               this->id_data, this->port ?: 65535);
+                       }
+               }
+               case ID_IPV6_ADDR:
+               {
+                       if (this->id_data.len == 16)
+                       {
+                               return traffic_selector_create_from_bytes(this->protocol_id,
+                                                               TS_IPV4_ADDR_RANGE, this->id_data, this->port,
+                                                               this->id_data, this->port ?: 65535);
+                       }
+               }
                default:
                        break;
        }