summaryrefslogtreecommitdiff
path: root/src/libhydra/plugins/attr_sql/pool.c
diff options
context:
space:
mode:
authorYves-Alexis Perez <corsac@debian.org>2013-04-26 14:57:47 +0200
committerYves-Alexis Perez <corsac@debian.org>2013-04-26 14:57:47 +0200
commite8f63514e9b56f6a2f977a56438d59ccab45bdca (patch)
treea0b54b11d647db27fa018214d2bf675dd350d466 /src/libhydra/plugins/attr_sql/pool.c
parent196d9f518fd657d6560bfe3b05885d47ccd6bbd5 (diff)
parent10e5fb2b9b2f27c83b3e5a1d048b158d5cf42a43 (diff)
downloadvyos-strongswan-e8f63514e9b56f6a2f977a56438d59ccab45bdca.tar.gz
vyos-strongswan-e8f63514e9b56f6a2f977a56438d59ccab45bdca.zip
Merge tag 'upstream/5.0.3'
Upstream version 5.0.3
Diffstat (limited to 'src/libhydra/plugins/attr_sql/pool.c')
-rw-r--r--src/libhydra/plugins/attr_sql/pool.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/libhydra/plugins/attr_sql/pool.c b/src/libhydra/plugins/attr_sql/pool.c
index f355e96e2..880af61dc 100644
--- a/src/libhydra/plugins/attr_sql/pool.c
+++ b/src/libhydra/plugins/attr_sql/pool.c
@@ -495,6 +495,21 @@ static void add_addresses(char *pool, char *path, int timeout)
fclose(file);
}
+ if (family == AF_INET6)
+ { /* update address family if necessary */
+ addr = host_create_from_string("%any6", 0);
+ if (db->execute(db, NULL,
+ "UPDATE pools SET start = ?, end = ? WHERE id = ?",
+ DB_BLOB, addr->get_address(addr),
+ DB_BLOB, addr->get_address(addr), DB_UINT, pool_id) <= 0)
+ {
+ addr->destroy(addr);
+ fprintf(stderr, "updating pool address family failed.\n");
+ exit(EXIT_FAILURE);
+ }
+ addr->destroy(addr);
+ }
+
commit_transaction();
printf("%d addresses done.\n", count);