Allow log messages to be captured by tincctl.
[tinc] / src / subnet.c
index 2d1f43a..e1de101 100644 (file)
@@ -53,7 +53,7 @@ static subnet_t *cache_mac_subnet[2];
 static bool cache_mac_valid[2];
 static int cache_mac_slot;
 
-void subnet_cache_flush() {
+void subnet_cache_flush(void) {
        cache_ipv4_valid[0] = cache_ipv4_valid[1] = false;
        cache_ipv6_valid[0] = cache_ipv6_valid[1] = false;
        cache_mac_valid[0] = cache_mac_valid[1] = false;
@@ -135,7 +135,7 @@ int subnet_compare(const subnet_t *a, const subnet_t *b) {
        case SUBNET_IPV6:
                return subnet_compare_ipv6(a, b);
        default:
-               logger(LOG_ERR, "subnet_compare() was called with unknown subnet type %d, exitting!",
+               logger(DEBUG_ALWAYS, LOG_ERR, "subnet_compare() was called with unknown subnet type %d, exitting!",
                           a->type);
                exit(0);
        }
@@ -274,7 +274,7 @@ bool str2net(subnet_t *subnet, const char *subnetstr) {
 
 bool net2str(char *netstr, int len, const subnet_t *subnet) {
        if(!netstr || !subnet) {
-               logger(LOG_ERR, "net2str() was called with netstr=%p, subnet=%p!", netstr, subnet);
+               logger(DEBUG_ALWAYS, LOG_ERR, "net2str() was called with netstr=%p, subnet=%p!", netstr, subnet);
                return false;
        }
 
@@ -315,7 +315,7 @@ bool net2str(char *netstr, int len, const subnet_t *subnet) {
                        break;
 
                default:
-                       logger(LOG_ERR,
+                       logger(DEBUG_ALWAYS, LOG_ERR,
                                   "net2str() was called with unknown subnet type %d, exiting!",
                                   subnet->type);
                        exit(0);
@@ -452,7 +452,7 @@ subnet_t *lookup_subnet_ipv6(const ipv6_t *address) {
 void subnet_update(node_t *owner, subnet_t *subnet, bool up) {
        splay_node_t *node;
        int i;
-       char *envp[9] = {0};
+       char *envp[9] = {NULL};
        char netstr[MAXNETSTR];
        char *name, *address, *port;
        char empty[] = "";
@@ -469,6 +469,8 @@ void subnet_update(node_t *owner, subnet_t *subnet, bool up) {
                // 4 and 5 are reserved for SUBNET and WEIGHT
                xasprintf(&envp[6], "REMOTEADDRESS=%s", address);
                xasprintf(&envp[7], "REMOTEPORT=%s", port);
+               free(port);
+               free(address);
        }
 
        name = up ? "subnet-up" : "subnet-down";