Ejemplo n.º 1
0
static int pi_row_end(void *p, unsigned row)
{
	struct port_info *pi = p;
	struct domain *dom;

	assert(pi != NULL);
	if (!row) /* ignore first row */
		return 0;

	if (!pi->domain || !pi->canonical)
		return -1;

	dom = dom_create(pi->domain);
	if (!dom)
		return -1;
	ha_add(dom, pi->canonical);

	Debug("listening... %s:%s\n", pi->addr, pi->port);
	if (net_listen(li_server_create, dom, pi->addr, pi->port)) {
		Error("Unable to listen (%s:%s)\n", pi->addr, pi->port);
		return -1;
	}

	pi_free(pi);
	return 0;
}
Ejemplo n.º 2
0
/* load bind address and domains */
static int config_port(void)
{
	struct port_info pi;
	int ret;

	memset(&pi, 0, sizeof(pi));
	ret = csv_load("ports.csv", &pi, pi_field, pi_row_end);
	pi_free(&pi);
	return ret;
}
Ejemplo n.º 3
0
static int pi_row_end(void *p, unsigned row)
{
    struct port_info *pi = p;
    struct domain *dom;

    assert(pi != NULL);
    if (!row) /* ignore first row */
        return 0;

    if (!pi->domain || !pi->canonical)
        return -1;

    dom = dom_create(pi->domain);
    if (!dom)
        return -1;
    ha_add(dom, pi->canonical);

    if (ht_listen(pi->addr, pi->port))
        return -1;

    pi_free(pi);
    return 0;
}