Example #1
0
void setup(void)
{
	configure_debug(255,0);
	config_read(configFile);
	V = Sset_new(compare, sizeof(struct item), NULL);
	W = Sset_new(compare, sizeof(struct item), NULL);
}
Example #2
0
void setup(void)
{
	configure_debug(255,0);
	config_read(configFile);
	GetDBParams();
	db_connect();
}
Example #3
0
void setup(void)
{
    config_get_file();
    config_read(configFile);
    configure_debug(NULL,255,31);
    pool = mempool_open();
    A = Capa_new(pool);
}
Example #4
0
/*
 *
 * the test fixtures
 *
 */
void setup(void)
{
	reallyquiet = 1;
	configure_debug(255,0);
	config_read(configFile);
	GetDBParams();
	db_connect();
	auth_connect();
	do_add("testfailuser","testpass","md5-hash",0,0,NULL,NULL);
}
Example #5
0
void setup(void)
{
	configure_debug(511,0);
	config_read(configFile);
	GetDBParams();
	db_connect();
	auth_connect();
	g_mime_init(0);
	init_testuser1();
}
Example #6
0
void setup(void)
{
	configure_debug(255,0);
	config_read(configFile);
	GetDBParams();
	db_connect();
	if (! g_thread_supported () ) g_thread_init (NULL);
	auth_connect();
	init_testuser1();
}
Example #7
0
void setup(void)
{
	config_get_file();
	config_read(configFile);
	configure_debug(NULL,255,0);
	GetDBParams();
	db_connect();
	auth_connect();
	init_testuser1();
	queue_pool = mempool_open();
}
Example #8
0
int smf_settings_set_debug(SMFSettings_T *settings, int debug) {
    assert(settings);

    if ((debug != 0) && (debug != 1)) {
        TRACE(TRACE_ERR,"debug setting must be either 0 or 1");
        return -1;
    }
    configure_debug(debug);
    settings->debug = debug;
    
    return 0;
}
Example #9
0
void SetTraceLevel(const char *service_name)
{
	trace_t trace_stderr_int, trace_syslog_int;
	field_t trace_level, trace_syslog, trace_stderr, syslog_logging_levels, file_logging_levels;

	/* Warn about the deprecated "trace_level" config item,
	 * but we will use this value for trace_syslog if needed. */
	config_get_value("trace_level", service_name, trace_level);
	if (strlen(trace_level)) {
		TRACE(TRACE_ERR,
			"Config item TRACE_LEVEL is deprecated and ignored. "
			"Please use SYSLOG_LOGGING_LEVELS and FILE_LOGGING_LEVELS instead.");
	}

	config_get_value("syslog_logging_levels", service_name, syslog_logging_levels);
	config_get_value("file_logging_levels", service_name, file_logging_levels);

	if (strlen(syslog_logging_levels)) {
		trace_syslog_int = atoi(syslog_logging_levels);
	} else {
		config_get_value("trace_syslog", service_name, trace_syslog);
		if (strlen(trace_syslog)) {
			TRACE(TRACE_WARNING,
					"Config item TRACE_SYSLOG is deprecated. "
					"Please use SYSLOG_LOGGING_LEVELS and FILE_LOGGING_LEVELS instead.");

			int old_syslog_int = atoi(trace_syslog);
			switch(old_syslog_int) { // Convert old value to new system
				case 0:
					trace_syslog_int = TRACE_EMERG | TRACE_ALERT | TRACE_CRIT;
					break;
				case 1:
					trace_syslog_int = TRACE_EMERG | TRACE_ALERT | TRACE_CRIT | TRACE_ERR;
					break;
				case 2:
					trace_syslog_int = TRACE_EMERG | TRACE_ALERT | TRACE_CRIT | TRACE_ERR | TRACE_WARNING;
					break;
				case 3:
					trace_syslog_int = TRACE_EMERG | TRACE_ALERT | TRACE_CRIT | TRACE_ERR | TRACE_WARNING | TRACE_NOTICE;
					break;
				case 4:
					trace_syslog_int = TRACE_EMERG | TRACE_ALERT | TRACE_CRIT | TRACE_ERR | TRACE_WARNING | TRACE_NOTICE | TRACE_INFO;
					break;
				case 5:
				default:
					trace_syslog_int = TRACE_EMERG | TRACE_ALERT | TRACE_CRIT | TRACE_ERR | TRACE_WARNING | TRACE_NOTICE | TRACE_INFO | TRACE_DEBUG;
					break;
			}
		} else {
			trace_syslog_int = TRACE_EMERG | TRACE_ALERT | TRACE_CRIT | TRACE_ERR | TRACE_WARNING; // Use Default Levels
		}
	}

	if (strlen(file_logging_levels)) {
		trace_stderr_int = atoi(file_logging_levels);
	} else {
		config_get_value("trace_stderr", service_name, trace_stderr);
		if (strlen(trace_stderr)) {
			TRACE(TRACE_WARNING,
				"Config item TRACE_STDERR is deprecated. "
				"Please use SYSLOG_LOGGING_LEVELS and FILE_LOGGING_LEVELS instead.");

			int old_stderr_int = atoi(trace_stderr);
			switch(old_stderr_int) { // Convert old value to new system
				case 0:
					trace_stderr_int = TRACE_EMERG | TRACE_ALERT | TRACE_CRIT;
					break;
				case 1:
					trace_stderr_int = TRACE_EMERG | TRACE_ALERT | TRACE_CRIT | TRACE_ERR;
					break;
				case 2:
					trace_stderr_int = TRACE_EMERG | TRACE_ALERT | TRACE_CRIT | TRACE_ERR | TRACE_WARNING;
					break;
				case 3:
					trace_stderr_int = TRACE_EMERG | TRACE_ALERT | TRACE_CRIT | TRACE_ERR | TRACE_WARNING | TRACE_NOTICE;
					break;
				case 4:
					trace_stderr_int = TRACE_EMERG | TRACE_ALERT | TRACE_CRIT | TRACE_ERR | TRACE_WARNING | TRACE_NOTICE | TRACE_INFO;
					break;
				case 5:
				default:
					trace_stderr_int = TRACE_EMERG | TRACE_ALERT | TRACE_CRIT | TRACE_ERR | TRACE_WARNING | TRACE_NOTICE | TRACE_INFO | TRACE_DEBUG;
					break;
			}
		} else {
			trace_stderr_int = TRACE_EMERG | TRACE_ALERT | TRACE_CRIT; // Use Default Levels
		}
	}

	configure_debug(trace_syslog_int, trace_stderr_int);
}
Example #10
0
void _set_config_value(SMFSettings_T **settings, char *section, char *key, char *val) {
    char **sl = NULL;
    char **p = NULL;
    char *s = NULL;
    char *tmp = NULL;
    int i;

    if (val==NULL || strlen(val) == 0)
        return;

    /** global section **/
    if (strcmp(section,"global")==0) {
        /** [global]debug **/
        if (strcmp(key,"debug")==0) {
            (*settings)->debug = _get_boolean(val);
            configure_debug((*settings)->debug);
        /** [global]queue_dir **/
        } else if (strcmp(key,"queue_dir")==0) {
            if ((*settings)->queue_dir!=NULL)
                free((*settings)->queue_dir);

            (*settings)->queue_dir = strdup(val);
        /** [global]modules **/
        } else if (strcmp(key, "modules")==0) {
            if (smf_list_size((*settings)->modules) > 0) {
                if (smf_list_free((*settings)->modules)!=0)
                    TRACE(TRACE_ERR,"failed to free modules list");
                else 
                    if (smf_list_new(&((*settings)->modules),_mod_list_destroy)!=0)
                        TRACE(TRACE_ERR,"failed to create modules list");
            }
            sl = _get_list(val);
            p = sl;
            while(*p != NULL) {
                s = smf_core_strstrip(*p);
                smf_settings_add_module((*settings),s);
                free(s);
                p++;
            }
            free(sl);
        /** [global]engine **/
        } else if (strcmp(key,"engine")==0) {
            if ((*settings)->engine!=NULL) 
                free((*settings)->engine);

            (*settings)->engine = strdup(val);
        /** [global]module_fail **/
        } else if (strcmp(key,"module_fail")==0) {
            i = _get_integer(val);

            /** check allowed values... */
            if (i==1 || i==2 || i==3)
                (*settings)->module_fail = i;
        /** [global]nexthop **/
        } else if (strcmp(key,"nexthop")==0) {
            if ((*settings)->nexthop!=NULL)
                free((*settings)->nexthop);
        
            (*settings)->nexthop = strdup(val);
        /** [global]backend **/
        } else if (strcmp(key,"backend")==0) {
            if ((*settings)->backend!=NULL)
                free((*settings)->backend);

            if ((strcmp(val,"sql")==0)||(strcmp(val,"ldap")==0))
                (*settings)->backend = strdup(val);
        /** [global]backend_connection **/
        } else if (strcmp(key,"backend_connection")==0) {
            if ((*settings)->backend_connection!=NULL) 
                free((*settings)->backend_connection);

            if ((strcmp(val,"balance")==0)||(strcmp(val,"failover")==0)) 
                (*settings)->backend_connection = strdup(val);
        /** [global]add_header **/
        } else if (strcmp(key,"add_header")==0) {
            (*settings)->add_header = _get_boolean(val);
        /** [global]max_size **/
        } else if (strcmp(key,"max_size")==0) {
            (*settings)->max_size = _get_integer(val);
        /** [global]tls_enable **/
        } else if (strcmp(key,"tls_enable")==0) {
            i = _get_integer(val);
            /** check allowed values... */
            if (i==0 || i==1 || i==2)
                (*settings)->tls = i;
        /** [global]lib_dir **/
        } else if (strcmp(key,"lib_dir")==0) {
            if ((*settings)->lib_dir!=NULL)
                free((*settings)->lib_dir);
        
            (*settings)->lib_dir = strdup(val);
        /** [global]pid_file **/
        } else if (strcmp(key,"pid_file")==0) {
            if ((*settings)->pid_file!=NULL)
                free((*settings)->pid_file);

            (*settings)->pid_file = strdup(val);
        /** [global]bind_ip **/
        } else if (strcmp(key,"bind_ip")==0) {
            if ((*settings)->bind_ip!=NULL)
                free((*settings)->bind_ip);

            (*settings)->bind_ip = strdup(val);
        /** [global]bind_port **/
        } else if (strcmp(key,"bind_port")==0) {
            (*settings)->bind_port = _get_integer(val);
        /** [global]listen_backlog **/
        } else if (strcmp(key,"listen_backlog")==0) {
            (*settings)->listen_backlog = _get_integer(val);
        /** [global]foreground **/
        } else if (strcmp(key,"foreground")==0) {
            int fg = _get_boolean(val);
            (*settings)->foreground = fg;
            configure_trace_destination(fg ? TRACE_DEST_STDERR : TRACE_DEST_SYSLOG);
        /** [global]user **/
        } else if (strcmp(key,"user")==0) {
            if ((*settings)->user!=NULL)
                free((*settings)->user);

            (*settings)->user = strdup(val);
        /** [global]group **/
        } else if (strcmp(key,"group")==0) {
            if ((*settings)->group!=NULL)
                free((*settings)->group);

            (*settings)->group = strdup(val);
        /** [global]max_childs **/
        } else if (strcmp(key,"max_childs")==0) {
            (*settings)->max_childs = _get_integer(val);
        /** [global]spare_childs **/
        } else if (strcmp(key,"spare_childs")==0) {
            (*settings)->spare_childs = _get_integer(val);
        /** [global]lookup_persistent **/
        } else if (strcmp(key,"lookup_persistent")==0) {
            (*settings)->lookup_persistent = _get_boolean(val);
        } else if (strcmp(key,"syslog_facility")==0) {
            smf_settings_set_syslog_facility((*settings), val);
        }
    /** sql section **/
    } else if (strcmp(section,"sql")==0) {
        /** [sql]driver **/
        if (strcmp(key,"driver")==0) {
            if ((*settings)->sql_driver != NULL)
                free((*settings)->sql_driver);

            if ((strcmp(val,"mysql")==0)||(strcmp(val,"pgsql")==0)||(strcmp(val,"sqlite")==0))
                (*settings)->sql_driver = strdup(val);
        /** [sql]name **/
        } else if (strcmp(key, "name")==0) {
            if ((*settings)->sql_name != NULL)
                free((*settings)->sql_name);

            (*settings)->sql_name = strdup(val);
        /** [sql]host **/
        } else if (strcmp(key, "host")==0) {
            if (smf_list_size((*settings)->sql_host) > 0) {
                if (smf_list_free((*settings)->sql_host)!=0)
                    TRACE(TRACE_ERR,"failed to free host list");
                else 
                    if (smf_list_new(&((*settings)->sql_host),smf_internal_string_list_destroy)!=0)
                        TRACE(TRACE_ERR,"failed to create host list");
            }
            sl = _get_list(val);
            p = sl;
            while(*p != NULL) {
                s = smf_core_strstrip(*p);
                smf_list_append((*settings)->sql_host, s);
                p++;
            }
            free(sl); 
        /** [sql]user **/
        } else if (strcmp(key, "user")==0) {
            if ((*settings)->sql_user != NULL)
                free((*settings)->sql_user);

            (*settings)->sql_user = strdup(val);
        /** [sql]pass **/
        } else if (strcmp(key, "pass")==0) {
            if ((*settings)->sql_pass != NULL)
                free((*settings)->sql_pass);

            (*settings)->sql_pass = strdup(val);
        /** [sql]user_query **/
        } else if (strcmp(key, "user_query")==0) {
            if ((*settings)->sql_user_query != NULL)
                free((*settings)->sql_user_query);

            (*settings)->sql_user_query = strdup(val);
        /** [sql]encoding **/
        } else if (strcmp(key, "encoding")==0) {
            if ((*settings)->sql_encoding != NULL)
                free((*settings)->sql_encoding);

            (*settings)->sql_encoding = strdup(val);
        /** [sql]max_connections **/
        } else if (strcmp(key,"max_connections")==0) {
            (*settings)->sql_max_connections = _get_integer(val);
        /** [sql]port **/
        } else if (strcmp(key,"port")==0) {
            (*settings)->sql_port = _get_integer(val);
        }
    /** ldap section **/
    } else if (strcmp(section,"ldap")==0) {
        /** [ldap]uri **/
        if (strcmp(key, "uri")==0) {
            if ((*settings)->ldap_uri != NULL)
                free((*settings)->ldap_uri);

            (*settings)->ldap_uri = strdup(val);
        /** [ldap]host **/
        } else if (strcmp(key, "host")==0) {
            if (smf_list_size((*settings)->ldap_host) > 0) {
                if (smf_list_free((*settings)->ldap_host)!=0)
                    TRACE(TRACE_ERR,"failed to free host list");
                else 
                    if (smf_list_new(&((*settings)->ldap_host),smf_internal_string_list_destroy)!=0)
                        TRACE(TRACE_ERR,"failed to create host list");
            }
            sl = _get_list(val);
            p = sl;
            while(*p != NULL) {
                s = smf_core_strstrip(*p);
                smf_list_append((*settings)->ldap_host, s);
                p++;
            }
            free(sl);
        /** [ldap]port **/
        } else if (strcmp(key,"port")==0) {
            (*settings)->ldap_port = _get_integer(val);
        /** [ldap]binddn **/
        } else if (strcmp(key, "binddn")==0) {
            if ((*settings)->ldap_binddn != NULL)
                free((*settings)->ldap_binddn);

            (*settings)->ldap_binddn = strdup(val);
        /** [ldap]bindpw **/
        } else if (strcmp(key, "bindpw")==0) {
            if ((*settings)->ldap_bindpw != NULL)
                free((*settings)->ldap_bindpw);

            (*settings)->ldap_bindpw = strdup(val);
        /** [ldap]base **/
        } else if (strcmp(key, "base")==0) {
            if ((*settings)->ldap_base != NULL)
                free((*settings)->ldap_base);

            (*settings)->ldap_base = strdup(val);
        /** [ldap]user_query **/
        } else if (strcmp(key, "user_query")==0) {
            if ((*settings)->ldap_user_query != NULL)
                free((*settings)->ldap_user_query);

            (*settings)->ldap_user_query = strdup(val);
        /** [ldap]scope **/
        } else if (strcmp(key, "scope")==0) {
            if ((*settings)->ldap_scope != NULL)
                free((*settings)->ldap_scope);

            (*settings)->ldap_scope = strdup(val);
        /** [ldap]referrals **/
        } else if (strcmp(key,"referrals")==0) {
            (*settings)->ldap_referrals = _get_boolean(val);
        }
    /** smtpd section **/
    } else if (strcmp(section,"smtpd")==0) {
        /** [smtpd]nexthop_fail_msg **/
        if (strcmp(key, "nexthop_fail_msg")==0) {
            if ((*settings)->nexthop_fail_msg != NULL)
                free((*settings)->nexthop_fail_msg);

            (*settings)->nexthop_fail_msg = strdup(val);
        /** [smtpd]nexthop_fail_code **/
        } else if (strcmp(key, "nexthop_fail_code")==0) {
            (*settings)->nexthop_fail_code = _get_integer(val);
        } else if (strcmp(key, "smtpd_timeout")==0) {
            (*settings)->smtpd_timeout = _get_integer(val);
        /** smtp code **/
        } else {
            i = _get_integer(key);
            if (i >= 250 && i < 600) {
                smf_dict_set((*settings)->smtp_codes,key,val);
            }
        }
    /** custom sections */
    } else {
        asprintf(&tmp,"%s:%s",section,key);
        smf_dict_set((*settings)->groups,tmp,val);
    }

}