int main() { int pass; SshStream s1, s2; ssh_rand_seed((SshUInt32)ssh_time()); ssh_event_loop_initialize(); for (pass = 0; pass < 100; pass++) { ssh_stream_pair_create(&s1, &s2); break_test = ssh_rand() % 2; copy_data_test(s1, s2); ssh_stream_pair_create(&s1, &s2); break_test = ssh_rand() % 2; copy_data_test(s2, s1); } if (testdata) ssh_buffer_free(testdata); if (received_data) ssh_buffer_free(received_data); ssh_event_loop_uninitialize(); ssh_util_uninit(); return 0; }
void create_test_setup(SshStream *client_return, SshStream *server_return) { SshStream client, server; SshStream s1, s2; ssh_stream_pair_create(&s1, &s2); /* Initialize server side. */ server = ssh_transport_server_wrap(s1, random_state, TEST_VERSION, NULL, hostkey, serverkey, hostkey_blob, hostkey_blob_len, NULL, NULL); client = ssh_transport_client_wrap(s2, random_state, TEST_VERSION, SSH_USERAUTH_SERVICE, NULL, "localhost", NULL, NULL, NULL, NULL); *client_return = client; *server_return = server; }
void disconnect_test() { SshStream server; SshStream s1, s2; unsigned char buf[8192]; int len, i; ssh_stream_pair_create(&s1, &s2); /* Initialize server side. */ server = ssh_transport_server_wrap(s1, random_state, TEST_VERSION, NULL, hostkey, serverkey, hostkey_blob, hostkey_blob_len, NULL, NULL); ssh_event_loop_run(); if (random() % 5 == 0) len = 0; else len = random() % sizeof(buf); for (i = 0; i < len; i++) { buf[i] = random(); if (buf[i] < 32 && buf[i] != '\n' && buf[i] != '\r') buf[i] = 'X'; } ssh_stream_write(s2, buf, len); ssh_event_loop_run(); ssh_stream_destroy(s2); ssh_event_loop_run(); ssh_stream_destroy(server); ssh_event_loop_run(); }