Пример #1
0
int main(int argc, char* argv[]) {
	// For command-line arguments
	struct Arguments args;
	struct sigaction signal_action;

	parse_arguments(&args, argc, argv);
	setup_client_signals(&signal_action);

	communicate(&signal_action, &args);
}
Пример #2
0
void
cut_setup (void)
{
    const gchar *env;

    spec = "inet:[email protected]";

    client = milter_client_new();
    env = g_getenv("MILTER_N_WORKERS");
    if (env && (n_workers = g_ascii_strtoull(env, NULL, 10)) > 0) {
        if (n_workers > UINT_MAX)
            n_workers = 0;
        milter_client_set_n_workers(client, n_workers);
    }
    loop_run_count = 0;
    loop = milter_client_create_event_loop(client, TRUE);
    milter_client_set_event_loop(client, loop);
    g_object_unref(loop);
    milter_event_loop_set_custom_run_func(loop, loop_run);
    setup_client_signals();
    server = NULL;

    decoder = milter_reply_decoder_new();
    encoder = MILTER_COMMAND_ENCODER(milter_command_encoder_new());

    option = NULL;
    negotiate_option = NULL;

    macros_requests = NULL;
    negotiate_macros_requests = NULL;

    idle_id = 0;
    idle_shutdown_id = 0;
    shutdown_count = 10;

    n_negotiates = 0;
    n_connects = 0;
    n_helos = 0;
    n_envelope_froms = 0;
    n_envelope_recipients = 0;
    n_datas = 0;
    n_headers = 0;
    n_end_of_headers = 0;
    n_bodies = 0;
    n_end_of_messages = 0;
    n_aborts = 0;
    n_unknowns = 0;

    n_finished_emissions = 0;

    connect_host_name = NULL;
    connect_address = NULL;
    connect_address_length = 0;

    helo_fqdn = NULL;

    envelope_from = NULL;

    envelope_recipient_to = NULL;

    header_name = NULL;
    header_value = NULL;

    body_chunk = NULL;
    body_chunk_length = 0;

    unknown_command = NULL;
    unknown_command_length = 0;

    actual_error = NULL;
    expected_error = NULL;

    actual_address = NULL;
    actual_address_size = 0;

    tmp_dir = milter_test_get_tmp_dir();

    n_worker_fork_called = 0;
}