if (a->port < b->port) return -1;
if (a->port > b->port) return +1;
+#ifdef WITH_TCP
+ if (a->proto < b->proto) return -1;
+ if (a->proto > b->proto) return +1;
+#endif
+
rcode = fr_ipaddr_cmp(&a->src_ipaddr, &b->src_ipaddr);
if (rcode != 0) return rcode;
free(hs_srcipaddr);
hs_srcipaddr = NULL;
+ if (rbtree_finddata(home_servers_byname, home) != NULL) {
+ cf_log_err(cf_sectiontoitem(cs),
+ "Duplicate home server name %s.", name2);
+ goto error;
+ }
+
+ if (!home->server &&
+ (rbtree_finddata(home_servers_byaddr, home) != NULL)) {
+ cf_log_err(cf_sectiontoitem(cs),
+ "Duplicate home server IP %s.", name2);
+ goto error;
+ }
+
if (!rbtree_insert(home_servers_byname, home)) {
cf_log_err(cf_sectiontoitem(cs),
"Internal error %d adding home server %s.",