diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt index 1d283dff..bb66d373 100644 --- a/testing/CMakeLists.txt +++ b/testing/CMakeLists.txt @@ -11,7 +11,7 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Messenger_test.cmake) include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/crypto_speed_test.cmake) if(WIN32) -# include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/nTox_win32.cmake) + #Do nothing else() include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/nTox.cmake) endif() diff --git a/testing/cmake/nTox_win32.cmake b/testing/cmake/nTox_win32.cmake deleted file mode 100644 index 0e33913f..00000000 --- a/testing/cmake/nTox_win32.cmake +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 2.6.0) -project(nTox_win32 C) - -set(exe_name nTox_win32) - -add_executable(${exe_name} - nTox_win32.c misc_tools.c) - -linkCoreLibraries(${exe_name}) diff --git a/testing/nTox_win32.c b/testing/nTox_win32.c deleted file mode 100644 index c26d9d16..00000000 --- a/testing/nTox_win32.c +++ /dev/null @@ -1,505 +0,0 @@ -/* nTox_win32.c - * - * Textual frontend for Tox - Windows version - * - * Copyright (C) 2013 Tox project All Rights Reserved. - * - * This file is part of Tox. - * - * Tox is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Tox is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Tox. If not, see . - * - */ - -#include "nTox_win32.h" -#include "misc_tools.h" - -#include - -typedef struct { - uint8_t id[CLIENT_ID_SIZE]; - uint8_t accepted; -} Friend_request; - -Friend_request pending_requests[256]; -uint8_t num_requests = 0; -uint32_t maxnumfriends; - -char line[STRING_LENGTH]; -char users_id[200]; -int friend_request_received; - -Messenger *messenger; - -void do_header() -{ - system("cls"); - printf(users_id); - printf("\n---------------------------------"); - printf("\n[i] commands: /f ID (to add friend), /m friendnumber message (to send message), /s status (to change status), /n nick (to change nickname), /l (lists friends), /d friendnumber (deletes friend), /q (to quit), /r (reset screen)"); - printf("\n---------------------------------"); -} - -void print_request(uint8_t *public_key, uint8_t *data, uint16_t length, void *userdata) -{ - friend_request_received = 1; - printf("\n\n[i] received friend request with message\n"); - printf("'%s'", (char *)data); - char numchar[100]; - sprintf(numchar, "\n[i] accept request with /a %u\n\n", num_requests); - printf(numchar); - memcpy(pending_requests[num_requests].id, public_key, CLIENT_ID_SIZE); - pending_requests[num_requests].accepted = 0; - ++num_requests; -} - -void print_message(Messenger *messenger, int friendnumber, uint8_t *string, uint16_t length, void *userdata) -{ - char name[MAX_NAME_LENGTH]; - getname(messenger, friendnumber, (uint8_t *)name); - char msg[100 + length + strlen(name) + 1]; - time_t rawtime; - struct tm *timeinfo; - time (&rawtime); - timeinfo = localtime (&rawtime); - char *temp = asctime(timeinfo); - size_t len = strlen(temp); - temp[len - 1] = '\0'; - sprintf(msg, "\n[%d] %s <%s> %s\n\n", friendnumber, temp, name, string); // timestamp - printf(msg); -} - -void print_nickchange(Messenger *messenger, int friendnumber, uint8_t *string, uint16_t length, void *userdata) -{ - char name[MAX_NAME_LENGTH]; - getname(messenger, friendnumber, (uint8_t *)name); - char msg[100 + length]; - sprintf(msg, "\n\n[i] [%d] %s is now known as %s.\n\n", friendnumber, name, string); - printf(msg); -} - -void print_statuschange(Messenger *messenger, int friendnumber, uint8_t *string, uint16_t length, void *userdata) -{ - char name[MAX_NAME_LENGTH]; - getname(messenger, friendnumber, (uint8_t *)name); - char msg[100 + length + strlen(name) + 1]; - sprintf(msg, "\n\n[i] [%d] %s's status changed to %s.\n\n", friendnumber, name, string); - printf(msg); -} - -void load_key() -{ - FILE *data_file = NULL; - data_file = fopen("data", "r"); - - if (data_file) { - fseek(data_file, 0, SEEK_END); - int size = ftell(data_file); - fseek(data_file, 0, SEEK_SET); - uint8_t data[size]; - - if (fread(data, sizeof(uint8_t), size, data_file) != size) { - printf("\n[i] Could not read the data file. Exiting."); - exit(1); - } - - Messenger_load(messenger, data, size); - } else { - int size = Messenger_size(messenger); - uint8_t data[size]; - Messenger_save(messenger, data); - fclose(data_file); - data_file = fopen("data", "w"); - - if (fwrite(data, sizeof(uint8_t), size, data_file) != size) { - printf("\n[i] Could not write data to file. Exiting."); - exit(1); - } - } - - fclose(data_file); -} - -void add_friend() -{ - int i; - char temp_id[128]; - - for (i = 0; i < 128; i++) - temp_id[i] = line[i + 3]; - - int num = m_addfriend(messenger, hex_string_to_bin(temp_id), (uint8_t *)"Install Gentoo", sizeof("Install Gentoo")); - - if (num >= 0) { - char numstring[100]; - sprintf(numstring, "\n[i] Friend request sent. Wait to be accepted. Friend id: %d\n\n", num); - printf(numstring); - ++maxnumfriends; - } else if (num == -1) - printf("\n[i] Message is too long.\n\n"); - - else if (num == -2) - printf("\n[i] Please add a message to your friend request.\n\n"); - - else if (num == -3) - printf("\n[i] That appears to be your own ID.\n\n"); - - else if (num == -4) - printf("\n[i] Friend request already sent.\n\n"); - - else if (num == -5) - printf("\n[i] Undefined error when adding friend\n\n"); -} - -void list_friends() -{ - int i; - - printf("\n[i] Friend List"); - - printf("----- PENDING -----\n\n"); - - for (i = 0; i <= maxnumfriends; i++) { - char name[MAX_NAME_LENGTH]; - getname(messenger, i, (uint8_t *)name); - - if (m_friendstatus(messenger, i) > 0 && m_friendstatus(messenger, i) < 4) - printf("[%d] %s\n", i, (uint8_t *)name); - } - - printf("\n"); - - printf("----- ACTIVE -----\n\n"); - - for (i = 0; i <= maxnumfriends; i++) { - char name[MAX_NAME_LENGTH]; - getname(messenger, i, (uint8_t *)name); - - if (m_friendstatus(messenger, i) == 4) - printf("[%d] %s\n", i, (uint8_t *)name); - } - - printf("\n"); -} - -void delete_friend() -{ - size_t len = strlen(line); - char numstring[len - 3]; - int i; - - for (i = 0; i < len; i++) { - if (line[i + 3] != ' ') - numstring[i] = line[i + 3]; - } - - int num = atoi(numstring); - m_delfriend(messenger, num); - --maxnumfriends; - printf("\n\n"); -} - -void message_friend() -{ - size_t len = strlen(line); - char numstring[len - 3]; - char message[len - 3]; - int i; - - for (i = 0; i < len; i++) { - - if (line[i + 3] != ' ') - numstring[i] = line[i + 3]; - - else { - int j; - - for (j = (i + 1); j < len; j++) - message[j - i - 1] = line[j + 3]; - - break; - } - } - - int num = atoi(numstring); - - if (m_sendmessage(messenger, num, (uint8_t *) message, sizeof(message)) != 1) - printf("\n[i] could not send message (they may be offline): %s\n", message); - - else - printf("\n"); -} - -void change_nickname() -{ - uint8_t name[MAX_NAME_LENGTH]; - int i = 0; - size_t len = strlen(line); - - for (i = 3; i < len; i++) { - - if (line[i] == 0 || line[i] == '\n') - break; - - name[i - 3] = line[i]; - } - - name[i - 3] = 0; - setname(messenger, name, i); - char numstring[100]; - sprintf(numstring, "\n[i] changed nick to %s\n\n", (char *)name); - printf(numstring); - - FILE *name_file = NULL; - name_file = fopen("namefile.txt", "w"); - fprintf(name_file, "%s", (char *)name); - fclose(name_file); -} - -void change_status(int savetofile) -{ - uint8_t status[MAX_STATUSMESSAGE_LENGTH]; - int i = 0; - size_t len = strlen(line); - - for (i = 3; i < len; i++) { - if (line[i] == 0 || line[i] == '\n') - break; - - status[i - 3] = line[i]; - } - - status[i - 3] = 0; - m_set_statusmessage(messenger, status, strlen((char *)status)); - char numstring[100]; - sprintf(numstring, "\n[i] changed status to %s\n\n", (char *)status); - printf(numstring); - - if (savetofile == 1) { - FILE *status_file = NULL; - status_file = fopen("statusfile.txt", "w"); - fprintf(status_file, "%s", (char *)status); - fclose(status_file); - } -} - -void accept_friend_request() -{ - friend_request_received = 0; - uint8_t numf = atoi(line + 3); - char numchar[100]; - - if (numf >= num_requests || pending_requests[numf].accepted) { - sprintf(numchar, "\n[i] you either didn't receive that request or you already accepted it"); - printf(numchar); - } else { - int num = m_addfriend_norequest(messenger, pending_requests[numf].id); - - if (num != -1) { - pending_requests[numf].accepted = 1; - sprintf(numchar, "\n[i] Added friendnumber: %d\n\n", num); - printf(numchar); - ++maxnumfriends; - } else { - sprintf(numchar, "[i] failed to add friend"); - printf(numchar); - } - } -} - -void line_eval(char *line) -{ - if (line[0] == '/') { - - char inpt_command = line[1]; - - if (inpt_command == 'f') { - add_friend(); - } - - else if (inpt_command == 'r') { - do_header(); - printf("\n\n"); - } - - else if (inpt_command == 'l') { - list_friends(); - } - - else if (inpt_command == 'd') { - delete_friend(); - } - /* Send message to friend */ - else if (inpt_command == 'm') { - message_friend(); - } - - else if (inpt_command == 'n') { - change_nickname(); - } - - else if (inpt_command == 's') { - change_status(1); - } - - else if (inpt_command == 'a') { - if (friend_request_received == 1) - accept_friend_request(); - } - /* EXIT */ - else if (inpt_command == 'q') { - strcpy(line, "---Offline"); - change_status(0); - exit(EXIT_SUCCESS); - } - } -} - -void get_input() -{ - while (1) { - fgets(line, STRING_LENGTH, stdin); - line_eval(line); - strcpy(line, ""); - } -} - -int main(int argc, char *argv[]) -{ - if (argc < 4) { - printf("[!] Usage: %s [IP] [port] [public_key] \n", argv[0]); - exit(0); - } - - messenger = initMessenger(); - - if (messenger == 0) { - printf("initMessenger failed"); - exit(0); - } - - if (argc > 4) { - if (strncmp(argv[4], "nokey", 6) < 0) { - } - } else { - load_key(); - } - - int nameloaded = 0; - int statusloaded = 0; - - FILE *name_file = NULL; - name_file = fopen("namefile.txt", "r"); - - if (name_file) { - uint8_t name[MAX_NAME_LENGTH]; - - while (fgets(line, MAX_NAME_LENGTH, name_file) != NULL) { - sscanf(line, "%s", (char *)name); - } - - setname(messenger, name, strlen((char *)name) + 1); - nameloaded = 1; - printf("%s\n", name); - fclose(name_file); - } - - FILE *status_file = NULL; - status_file = fopen("statusfile.txt", "r"); - - if (status_file) { - uint8_t status[MAX_STATUSMESSAGE_LENGTH]; - - while (fgets(line, MAX_STATUSMESSAGE_LENGTH, status_file) != NULL) { - sscanf(line, "%s", (char *)status); - } - - m_set_statusmessage(messenger, status, strlen((char *)status) + 1); - statusloaded = 1; - printf("%s\n", status); - fclose(status_file); - } - - m_callback_friendrequest(messenger, print_request, &status_file); - m_callback_friendmessage(messenger, print_message, &status_file); - m_callback_namechange(messenger, print_nickchange, &status_file); - m_callback_statusmessage(messenger, print_statuschange, &status_file); - char idstring1[PUB_KEY_BYTES][5]; - char idstring2[PUB_KEY_BYTES][5]; - int i; - - for (i = 0; i < PUB_KEY_BYTES; i++) { - if (self_public_key[i] < (PUB_KEY_BYTES / 2)) - strcpy(idstring1[i], "0"); - else - strcpy(idstring1[i], ""); - - sprintf(idstring2[i], "%hhX", self_public_key[i]); - } - - strcpy(users_id, "[i] your ID: "); - int j; - - for (j = 0; j < PUB_KEY_BYTES; j++) { - strcat(users_id, idstring1[j]); - strcat(users_id, idstring2[j]); - } - - do_header(); - - IP_Port bootstrap_ip_port; - bootstrap_ip_port.port = htons(atoi(argv[2])); - int resolved_address = resolve_addr(argv[1]); - - if (resolved_address != 0) - bootstrap_ip_port.ip.i = resolved_address; - else - exit(1); - - DHT_bootstrap(bootstrap_ip_port, hex_string_to_bin(argv[3])); - - int c; - int on = 0; - - _beginthread(get_input, 0, NULL); - - if (nameloaded == 1) { - printf("\nNickname automatically loaded"); - printf("\n---------------------------------"); - } - - if (statusloaded == 1) { - printf("\nStatus automatically loaded"); - printf("\n---------------------------------"); - } - - while (1) { - if (on == 1 && DHT_isconnected() == -1) { - printf("\n---------------------------------"); - printf("\n[i] Disconnected from the DHT"); - printf("\n---------------------------------\n\n"); - on = 0; - } - - if (on == 0 && DHT_isconnected()) { - printf("\n[i] Connected to DHT"); - printf("\n---------------------------------\n\n"); - on = 1; - } - - doMessenger(messenger); - Sleep(1); - } - - return 0; -} diff --git a/testing/nTox_win32.h b/testing/nTox_win32.h deleted file mode 100644 index b174edcc..00000000 --- a/testing/nTox_win32.h +++ /dev/null @@ -1,48 +0,0 @@ -/* nTox_win32.h - * - * Textual frontend for Tox - Windows version - * - * Copyright (C) 2013 Tox project All Rights Reserved. - * - * This file is part of Tox. - * - * Tox is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Tox is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Tox. If not, see . - */ - -#ifndef NTOX_WIN32_H -#define NTOX_WIN32_H - -#include "../core/Messenger.h" -#include "../core/network.h" - -#define STRING_LENGTH 256 -#define PUB_KEY_BYTES 32 - -void do_header(); -void print_request(uint8_t *public_key, uint8_t *data, uint16_t length, void *userdata); -void print_message(Messenger *messenger, int friendnumber, uint8_t *string, uint16_t length, void *userdata); -void print_nickchange(Messenger *messenger, int friendnumber, uint8_t *string, uint16_t length, void *userdata); -void print_statuschange(Messenger *messenger, int friendnumber, uint8_t *string, uint16_t length, void *userdata); -void load_key(); -void add_friend(); -void list_friends(); -void delete_friend(); -void message_friend(); -void change_nickname(); -void change_status(int savetofile); -void accept_friend_request(); -void line_eval(char *line); -void get_input(); - -#endif