|
@@ -62,9 +62,15 @@ int subnet4_select(CalloutHandle& handle) {
|
|
|
Subnet4Ptr subnet;
|
|
|
handle.getArgument("query4", query);
|
|
|
handle.getArgument("subnet4", subnet);
|
|
|
-
|
|
|
- amqp.publish("subnet4_select => query: " + query->toText() +
|
|
|
- ", subnet: " + subnet->toText());
|
|
|
+
|
|
|
+ std::string message;
|
|
|
+ if (subnet != 0) {
|
|
|
+ message = "subnet4_select => query: " + query->toText() +
|
|
|
+ ", subnet: " + subnet->toText();
|
|
|
+ } else {
|
|
|
+ message = "subnet4_select => query: " + query->toText();
|
|
|
+ }
|
|
|
+ amqp.publish(message);
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -79,10 +85,16 @@ int lease4_select(CalloutHandle& handle) {
|
|
|
handle.getArgument("subnet4", subnet);
|
|
|
handle.getArgument("fake_allocation", fake_allocation);
|
|
|
handle.getArgument("lease4", lease);
|
|
|
-
|
|
|
- amqp.publish("lease4_select => query: " + query->toText() +
|
|
|
- ", subnet: " + subnet->toText() +
|
|
|
- ", lease: " + lease->toText());
|
|
|
+
|
|
|
+ std::string message;
|
|
|
+ if (subnet != 0 && lease != 0) {
|
|
|
+ message = "lease4_select => query: " + query->toText() +
|
|
|
+ ", subnet: " + subnet->toText() +
|
|
|
+ ", lease: " + lease->toText();
|
|
|
+ } else {
|
|
|
+ message = "lease4_select => query: " + query->toText();
|
|
|
+ }
|
|
|
+ amqp.publish(message);
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -96,9 +108,15 @@ int lease4_renew(CalloutHandle& handle) {
|
|
|
handle.getArgument("subnet4", subnet);
|
|
|
handle.getArgument("lease4", lease);
|
|
|
|
|
|
- amqp.publish("lease4_renew => query: " + query->toText() +
|
|
|
- ", subnet: " + subnet->toText() +
|
|
|
- ", lease: " + lease->toText());
|
|
|
+ std::string message;
|
|
|
+ if (subnet != 0 && lease != 0) {
|
|
|
+ message = "lease4_renew => query: " + query->toText() +
|
|
|
+ ", subnet: " + subnet->toText() +
|
|
|
+ ", lease: " + lease->toText();
|
|
|
+ } else {
|
|
|
+ message = "lease4_renew => query: " + query->toText();
|
|
|
+ }
|
|
|
+ amqp.publish(message);
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -109,9 +127,15 @@ int lease4_release(CalloutHandle& handle) {
|
|
|
Lease4Ptr lease;
|
|
|
handle.getArgument("query4", query);
|
|
|
handle.getArgument("lease4", lease);
|
|
|
-
|
|
|
- amqp.publish("lease4_release => query: " + query->toText() +
|
|
|
- ", lease: " + lease->toText());
|
|
|
+
|
|
|
+ std::string message;
|
|
|
+ if (lease != 0) {
|
|
|
+ message = "lease4_release => query: " + query->toText() +
|
|
|
+ ", lease: " + lease->toText();
|
|
|
+ } else {
|
|
|
+ message = "lease4_release => query: " + query->toText();
|
|
|
+ }
|
|
|
+ amqp.publish(message);
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -123,9 +147,15 @@ int lease4_decline(CalloutHandle& handle) {
|
|
|
handle.getArgument("query4", query);
|
|
|
handle.getArgument("lease4", lease);
|
|
|
|
|
|
- amqp.publish("lease4_decline => query: " + query->toText() +
|
|
|
- ", lease: " + lease->toText());
|
|
|
-
|
|
|
+ std::string message;
|
|
|
+ if (lease != 0) {
|
|
|
+ message = "lease4_decline => query: " + query->toText() +
|
|
|
+ ", lease: " + lease->toText();
|
|
|
+ } else {
|
|
|
+ message = "lease4_decline => query: " + query->toText();
|
|
|
+ }
|
|
|
+ amqp.publish(message);
|
|
|
+
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -135,8 +165,10 @@ int lease4_expire(CalloutHandle& handle) {
|
|
|
bool remove_lease;
|
|
|
handle.getArgument("lease4", lease);
|
|
|
handle.getArgument("remove_lease", remove_lease);
|
|
|
-
|
|
|
- amqp.publish("lease4_expire => lease: " + lease->toText());
|
|
|
+
|
|
|
+ if (lease != 0) {
|
|
|
+ amqp.publish("lease4_expire => lease: " + lease->toText());
|
|
|
+ }
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -145,8 +177,10 @@ int lease4_recover(CalloutHandle& handle) {
|
|
|
std::vector<std::string> env;
|
|
|
Lease4Ptr lease;
|
|
|
handle.getArgument("lease4", lease);
|
|
|
-
|
|
|
- amqp.publish("lease4_recover => lease: " + lease->toText());
|
|
|
+
|
|
|
+ if (lease != 0) {
|
|
|
+ amqp.publish("lease4_recover => lease: " + lease->toText());
|
|
|
+ }
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -181,8 +215,14 @@ int subnet6_select(CalloutHandle& handle) {
|
|
|
handle.getArgument("query6", query);
|
|
|
handle.getArgument("subnet6", subnet);
|
|
|
|
|
|
- amqp.publish("subnet6_select => query: " + query->toText() +
|
|
|
- ", subnet: " + subnet->toText());
|
|
|
+ std::string message;
|
|
|
+ if (subnet != 0) {
|
|
|
+ message = "subnet6_select => query: " + query->toText() +
|
|
|
+ ", subnet: " + subnet->toText();
|
|
|
+ } else {
|
|
|
+ message = "subnet6_select => query: " + query->toText();
|
|
|
+ }
|
|
|
+ amqp.publish(message);
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -197,10 +237,16 @@ int lease6_select(CalloutHandle& handle) {
|
|
|
handle.getArgument("subnet6", subnet);
|
|
|
handle.getArgument("fake_allocation", fake_allocation);
|
|
|
handle.getArgument("lease6", lease);
|
|
|
-
|
|
|
- amqp.publish("lease6_select => query: " + query->toText() +
|
|
|
- ", subnet: " + subnet->toText() +
|
|
|
- ", lease: " + lease->toText());
|
|
|
+
|
|
|
+ std::string message;
|
|
|
+ if (subnet != 0 && lease != 0) {
|
|
|
+ message = "lease6_select => query: " + query->toText() +
|
|
|
+ ", subnet: " + subnet->toText() +
|
|
|
+ ", lease: " + lease->toText();
|
|
|
+ } else {
|
|
|
+ message = "lease6_select => query: " + query->toText();
|
|
|
+ }
|
|
|
+ amqp.publish(message);
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -213,19 +259,23 @@ int lease6_renew(CalloutHandle& handle) {
|
|
|
boost::shared_ptr<Option6IA> ia_pd;
|
|
|
handle.getArgument("query6", query);
|
|
|
handle.getArgument("lease6", lease);
|
|
|
-
|
|
|
- std::string message = "lease6_renew => query: " + query->toText() +
|
|
|
- ", lease: " + lease->toText();
|
|
|
- try {
|
|
|
- handle.getArgument("ia_na", ia_na);
|
|
|
- message = message + ", ia_na: " + ia_na->toText();
|
|
|
- } catch (const NoSuchArgument&) { }
|
|
|
-
|
|
|
- try {
|
|
|
- handle.getArgument("ia_pd", ia_pd);
|
|
|
- message = message + ", ia_pd: " + ia_pd->toText();
|
|
|
- } catch (const NoSuchArgument&) { }
|
|
|
-
|
|
|
+
|
|
|
+ std::string message;
|
|
|
+ if (lease != 0) {
|
|
|
+ message = "lease6_renew => query: " + query->toText() +
|
|
|
+ ", lease: " + lease->toText();
|
|
|
+ try {
|
|
|
+ handle.getArgument("ia_na", ia_na);
|
|
|
+ message = message + ", ia_na: " + ia_na->toText();
|
|
|
+ } catch (const NoSuchArgument&) { }
|
|
|
+
|
|
|
+ try {
|
|
|
+ handle.getArgument("ia_pd", ia_pd);
|
|
|
+ message = message + ", ia_pd: " + ia_pd->toText();
|
|
|
+ } catch (const NoSuchArgument&) { }
|
|
|
+ } else {
|
|
|
+ message = "lease6_renew => query: " + query->toText();
|
|
|
+ }
|
|
|
amqp.publish(message);
|
|
|
|
|
|
return 0;
|
|
@@ -240,18 +290,22 @@ int lease6_rebind(CalloutHandle& handle) {
|
|
|
handle.getArgument("query6", query);
|
|
|
handle.getArgument("lease6", lease);
|
|
|
|
|
|
- std::string message = "lease6_rebind => query: " + query->toText() +
|
|
|
- ", lease: " + lease->toText();
|
|
|
- try {
|
|
|
- handle.getArgument("ia_na", ia_na);
|
|
|
- message = message + ", ia_na: " + ia_na->toText();
|
|
|
- } catch (const NoSuchArgument&) { }
|
|
|
-
|
|
|
- try {
|
|
|
- handle.getArgument("ia_pd", ia_pd);
|
|
|
- message = message + ", ia_pd: " + ia_pd->toText();
|
|
|
- } catch (const NoSuchArgument&) { }
|
|
|
-
|
|
|
+ std::string message;
|
|
|
+ if (lease != 0) {
|
|
|
+ message = "lease6_rebind => query: " + query->toText() +
|
|
|
+ ", lease: " + lease->toText();
|
|
|
+ try {
|
|
|
+ handle.getArgument("ia_na", ia_na);
|
|
|
+ message = message + ", ia_na: " + ia_na->toText();
|
|
|
+ } catch (const NoSuchArgument&) { }
|
|
|
+
|
|
|
+ try {
|
|
|
+ handle.getArgument("ia_pd", ia_pd);
|
|
|
+ message = message + ", ia_pd: " + ia_pd->toText();
|
|
|
+ } catch (const NoSuchArgument&) { }
|
|
|
+ } else {
|
|
|
+ message = "lease6_rebind => query: " + query->toText();
|
|
|
+ }
|
|
|
amqp.publish(message);
|
|
|
|
|
|
return 0;
|
|
@@ -263,9 +317,15 @@ int lease6_decline(CalloutHandle& handle) {
|
|
|
Lease6Ptr lease;
|
|
|
handle.getArgument("query6", query);
|
|
|
handle.getArgument("lease6", lease);
|
|
|
-
|
|
|
- amqp.publish("lease6_decline => query: " + query->toText() +
|
|
|
- ", lease: " + lease->toText());
|
|
|
+
|
|
|
+ std::string message;
|
|
|
+ if (lease != 0) {
|
|
|
+ message = "lease6_decline => query: " + query->toText() +
|
|
|
+ ", lease: " + lease->toText();
|
|
|
+ } else {
|
|
|
+ message = "lease6_decline => query: " + query->toText();
|
|
|
+ }
|
|
|
+ amqp.publish(message);
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -276,9 +336,15 @@ int lease6_release(CalloutHandle& handle) {
|
|
|
Lease6Ptr lease;
|
|
|
handle.getArgument("query6", query);
|
|
|
handle.getArgument("lease6", lease);
|
|
|
-
|
|
|
- amqp.publish("lease6_release => query: " + query->toText() +
|
|
|
- ", lease: " + lease->toText());
|
|
|
+
|
|
|
+ std::string message;
|
|
|
+ if (lease != 0) {
|
|
|
+ message = "lease6_release => query: " + query->toText() +
|
|
|
+ ", lease: " + lease->toText();
|
|
|
+ } else {
|
|
|
+ message = "lease6_release => query: " + query->toText();
|
|
|
+ }
|
|
|
+ amqp.publish(message);
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -289,8 +355,10 @@ int lease6_expire(CalloutHandle& handle) {
|
|
|
bool remove_lease;
|
|
|
handle.getArgument("lease6", lease);
|
|
|
handle.getArgument("remove_lease", remove_lease);
|
|
|
-
|
|
|
- amqp.publish("lease6_expire => lease: " + lease->toText());
|
|
|
+
|
|
|
+ if (lease != 0) {
|
|
|
+ amqp.publish("lease6_expire => lease: " + lease->toText());
|
|
|
+ }
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -299,8 +367,10 @@ int lease6_recover(CalloutHandle& handle) {
|
|
|
std::vector<std::string> env;
|
|
|
Lease6Ptr lease;
|
|
|
handle.getArgument("lease6", lease);
|
|
|
-
|
|
|
- amqp.publish("lease6_recover => lease: " + lease->toText());
|
|
|
+
|
|
|
+ if (lease != 0) {
|
|
|
+ amqp.publish("lease6_recover => lease: " + lease->toText());
|
|
|
+ }
|
|
|
|
|
|
return 0;
|
|
|
}
|