From 80221d816eeb98f0df38e0243390033c614952f3 Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Tue, 28 Nov 2017 22:12:43 +0300 Subject: Source files converted to utf-8 --- plugins/CryptoPP/src/cpp_cntx.cpp | 4 +- plugins/CryptoPP/src/cpp_rsam.cpp | 138 +++++++++++++++++++------------------- plugins/CryptoPP/src/cpp_rsau.cpp | 2 +- plugins/CryptoPP/src/cryptopp.h | 38 +++++------ plugins/CryptoPP/src/version.h | 2 +- 5 files changed, 92 insertions(+), 92 deletions(-) (limited to 'plugins/CryptoPP/src') diff --git a/plugins/CryptoPP/src/cpp_cntx.cpp b/plugins/CryptoPP/src/cpp_cntx.cpp index 9628477124..9fcb9e8542 100644 --- a/plugins/CryptoPP/src/cpp_cntx.cpp +++ b/plugins/CryptoPP/src/cpp_cntx.cpp @@ -19,7 +19,7 @@ pCNTX get_context_on_id(HANDLE context) HANDLE __cdecl cpp_create_context(int mode) { pCNTX cntx = (pCNTX)malloc(sizeof(CNTX)); - memset(cntx, 0, sizeof(CNTX)); // очищаем выделенный блок + memset(cntx, 0, sizeof(CNTX)); // очищаем выделенный блок cntx->header = HEADER; cntx->footer = FOOTER; cntx->mode = mode; @@ -30,7 +30,7 @@ HANDLE __cdecl cpp_create_context(int mode) void __cdecl cpp_delete_context(HANDLE context) { pCNTX tmp = get_context_on_id(context); - if (tmp) { // помечаем на удаление + if (tmp) { // помечаем РЅР° удаление cpp_free_keys(tmp); free(tmp); } diff --git a/plugins/CryptoPP/src/cpp_rsam.cpp b/plugins/CryptoPP/src/cpp_rsam.cpp index c2eddf6cc8..1ff82b508d 100644 --- a/plugins/CryptoPP/src/cpp_rsam.cpp +++ b/plugins/CryptoPP/src/cpp_rsam.cpp @@ -281,7 +281,7 @@ int __cdecl rsa_disconnect(HANDLE context) Sent_NetLog("rsa_disconnect: %08x", context); #endif pCNTX ptr = get_context_on_id(context); if (!ptr) return 0; - rsa_free(ptr); // удалим трэд и очередь сообщений + rsa_free(ptr); // удалим трэд Рё очередь сообщений pRSADATA p = (pRSADATA)cpp_alloc_pdata(ptr); if (!p->state) return 1; @@ -291,7 +291,7 @@ int __cdecl rsa_disconnect(HANDLE context) inject_msg(context, 0xF0, encode_msg(0, p, ::hash(buffer, RAND_SIZE))); p->state = 0; - imp->rsa_notify(context, -3); // соединение разорвано вручную + imp->rsa_notify(context, -3); // соединение разорвано вручную return 1; } @@ -302,12 +302,12 @@ int __cdecl rsa_disabled(HANDLE context) Sent_NetLog("rsa_disabled: %08x", context); #endif pCNTX ptr = get_context_on_id(context); if (!ptr) return 0; - rsa_free(ptr); // удалим трэд и очередь сообщений + rsa_free(ptr); // удалим трэд Рё очередь сообщений pRSADATA p = (pRSADATA)cpp_alloc_pdata(ptr); p->state = 0; inject_msg(context, 0xFF, null); - // imp->rsa_notify(-context,-8); // соединение разорвано по причине "disabled" + // imp->rsa_notify(-context,-8); // соединение разорвано РїРѕ причине "disabled" return 1; } @@ -332,38 +332,38 @@ LPSTR __cdecl rsa_recv(HANDLE context, LPCSTR msg) #if defined(_DEBUG) || defined(NETLIB_LOG) Sent_NetLog("rsa_recv: %02x %d", type, p->state); #endif - if (type > 0x10 && type < 0xE0) // проверим тип сообщения (когда соединение еще не установлено) - if (p->state == 0 || p->state != (type >> 4)) { // неверное состояние - // шлем перерывание сессии + if (type > 0x10 && type < 0xE0) // проверим тип сообщения (РєРѕРіРґР° соединение еще РЅРµ установлено) + if (p->state == 0 || p->state != (type >> 4)) { // неверное состояние + // шлем перерывание сессии p->state = 0; p->time = 0; - rsa_free(ptr); // удалим трэд и очередь сообщений - null_msg(context, 0x00, -1); // сессия разорвана по ошибке, неверный тип сообщения + rsa_free(ptr); // удалим трэд Рё очередь сообщений + null_msg(context, 0x00, -1); // сессия разорвана РїРѕ ошибке, неверный тип сообщения return nullptr; } switch (type) { - case 0x00: // прерывание сессии по ошибке другой стороной + case 0x00: // прерывание сессии РїРѕ ошибке РґСЂСѓРіРѕР№ стороной { - // если соединение установлено - ничего не делаем + // если соединение установлено - ничего РЅРµ делаем if (p->state == 0 || p->state == 7) return nullptr; - // иначе сбрасываем текущее состояние + // иначе сбрасываем текущее состояние p->state = 0; p->time = 0; - imp->rsa_notify(context, -2); // сессия разорвана по ошибке другой стороной + imp->rsa_notify(context, -2); // сессия разорвана РїРѕ ошибке РґСЂСѓРіРѕР№ стороной } break; - // это все будем обрабатывать в отдельном потоке, чтобы избежать таймаутов - case 0x10: // запрос на установку соединения - case 0x22: // получили удаленный паблик, отправляем уже криптоключ - case 0x23: // отправляем локальный паблик - case 0x24: // получили удаленный паблик, отправим локальный паблик - case 0x33: // получили удаленный паблик, отправляем криптоключ + // это РІСЃРµ будем обрабатывать РІ отдельном потоке, чтобы избежать таймаутов + case 0x10: // запрос РЅР° установку соединения + case 0x22: // получили удаленный паблик, отправляем СѓР¶Рµ криптоключ + case 0x23: // отправляем локальный паблик + case 0x24: // получили удаленный паблик, отправим локальный паблик + case 0x33: // получили удаленный паблик, отправляем криптоключ case 0x34: - case 0x21: // получили криптоключ, отправляем криптотест + case 0x21: // получили криптоключ, отправляем криптотест case 0x32: case 0x40: - case 0x0D: // запрос паблика - case 0xD0: // ответ пабликом + case 0x0D: // запрос паблика + case 0xD0: // ответ пабликом if (!p->event) { p->event = CreateEvent(nullptr, FALSE, FALSE, nullptr); unsigned int tID; @@ -376,13 +376,13 @@ LPSTR __cdecl rsa_recv(HANDLE context, LPCSTR msg) mir_cslock lck(localQueueMutex); p->queue->push(tlv(type, data)); } - SetEvent(p->event); // сказали обрабатывать :) + SetEvent(p->event); // сказали обрабатывать :) break; - case 0x50: // получили криптотест, отправляем свой криптотест + case 0x50: // получили криптотест, отправляем СЃРІРѕР№ криптотест if (!decode_msg(p, data).length()) { p->state = 0; p->time = 0; - null_msg(context, 0x00, -type); // сессия разорвана по ошибке + null_msg(context, 0x00, -type); // сессия разорвана РїРѕ ошибке return nullptr; } { @@ -391,60 +391,60 @@ LPSTR __cdecl rsa_recv(HANDLE context, LPCSTR msg) inject_msg(context, 0x60, encode_msg(0, p, ::hash(buffer, RAND_SIZE))); } p->state = 7; p->time = 0; - rsa_free_thread(p); // удалим трэд и очередь сообщений - imp->rsa_notify(context, 1); // заебися, криптосессия установлена + rsa_free_thread(p); // удалим трэд Рё очередь сообщений + imp->rsa_notify(context, 1); // заебися, криптосессия установлена break; - case 0x60: // получили криптотест, сессия установлена + case 0x60: // получили криптотест, сессия установлена if (!decode_msg(p, data).length()) { p->state = 0; p->time = 0; - null_msg(context, 0x00, -type); // сессия разорвана по ошибке + null_msg(context, 0x00, -type); // сессия разорвана РїРѕ ошибке return nullptr; } p->state = 7; p->time = 0; - rsa_free_thread(p); // удалим трэд и очередь сообщений - imp->rsa_notify(context, 1); // заебися, криптосессия установлена + rsa_free_thread(p); // удалим трэд Рё очередь сообщений + imp->rsa_notify(context, 1); // заебися, криптосессия установлена break; - case 0x70: // получили AES сообщение, декодируем + case 0x70: // получили AES сообщение, декодируем { mir_free(ptr->tmp); string msg = decode_msg(p, data); if (msg.length()) return ptr->tmp = mir_strdup(msg.c_str()); else { - imp->rsa_notify(context, -5); // ошибка декодирования AES сообщения + imp->rsa_notify(context, -5); // ошибка декодирования AES сообщения return ptr->tmp = nullptr; } } - case 0xE0: // получили RSA сообщение, декодируем + case 0xE0: // получили RSA сообщение, декодируем { mir_free(ptr->tmp); string msg = decode_rsa(p, r, data); if (msg.length()) return ptr->tmp = mir_strdup(msg.c_str()); else { - imp->rsa_notify(context, -6); // ошибка декодирования RSA сообщения + imp->rsa_notify(context, -6); // ошибка декодирования RSA сообщения return ptr->tmp = nullptr; } } - case 0xF0: // разрыв соединения вручную + case 0xF0: // разрыв соединения вручную { if (p->state != 7) return nullptr; string msg = decode_msg(p, data); if (!msg.length()) return nullptr; p->state = 0; - rsa_free(ptr); // удалим трэд и очередь сообщений - imp->rsa_notify(context, -4); // соединение разорвано вручную другой стороной + rsa_free(ptr); // удалим трэд Рё очередь сообщений + imp->rsa_notify(context, -4); // соединение разорвано вручную РґСЂСѓРіРѕР№ стороной } break; - case 0xFF: // разрыв соединения по причине "disabled" + case 0xFF: // разрыв соединения РїРѕ причине "disabled" p->state = 0; - rsa_free(ptr); // удалим трэд и очередь сообщений - imp->rsa_notify(context, -8); // соединение разорвано по причине "disabled" + rsa_free(ptr); // удалим трэд Рё очередь сообщений + imp->rsa_notify(context, -8); // соединение разорвано РїРѕ причине "disabled" break; } @@ -459,11 +459,11 @@ int __cdecl rsa_send(HANDLE context, LPCSTR msg) pCNTX ptr = get_context_on_id(context); if (!ptr) return 0; pRSADATA p = (pRSADATA)cpp_alloc_pdata(ptr); if (p->state != 0 && p->state != 7) return 0; - if (p->state == 7) // сессия установлена, шифруем AES и отправляем + if (p->state == 7) // сессия установлена, шифруем AES Рё отправляем inject_msg(context, 0x70, encode_msg(1, p, string(msg))); - else if (p->state == 0) { // сессия установлена, отправляем RSA сообщение + else if (p->state == 0) { // сессия установлена, отправляем RSA сообщение if (!p->pub_k.length()) return 0; - // есть паблик ключ - отправим сообщение + // есть паблик ключ - отправим сообщение pRSAPRIV r = rsa_get_priv(ptr); inject_msg(context, 0xE0, encode_rsa(1, p, r, string(msg))); } @@ -646,7 +646,7 @@ void rsa_timeout(HANDLE context, pRSADATA p) #endif p->state = 0; p->time = 0; // null_msg(context,0x00,-7); - imp->rsa_notify(context, -7); // сессия разорвана по таймауту + imp->rsa_notify(context, -7); // сессия разорвана РїРѕ таймауту } int __cdecl rsa_encrypt_file(HANDLE context, LPCSTR file_in, LPCSTR file_out) @@ -707,19 +707,19 @@ int __cdecl rsa_recv_thread(HANDLE context, string& msg) un_tlv(un_tlv(un_tlv(data, t[0], features), t[1], sha1), t[2], sha2); BOOL lr = (p->pub_s == sha1); BOOL ll = (r->pub_s == sha2); switch ((lr << 4) | ll) { - case 0x11: // оба паблика совпали + case 0x11: // РѕР±Р° паблика совпали inject_msg(context, 0x21, gen_aes_key_iv(ptr->mode, p, r)); p->state = 5; break; - case 0x10: // совпал удаленный паблик, нужен локальный + case 0x10: // совпал удаленный паблик, нужен локальный inject_msg(context, 0x22, tlv(0, features) + tlv(1, r->pub_k) + tlv(2, r->pub_s)); p->state = 3; break; - case 0x01: // совпал локальный паблик, нужен удаленный + case 0x01: // совпал локальный паблик, нужен удаленный inject_msg(context, 0x23, tlv(0, features)); p->state = 3; break; - case 0x00: // не совпали оба паблика + case 0x00: // РЅРµ совпали РѕР±Р° паблика inject_msg(context, 0x24, tlv(0, features) + tlv(1, r->pub_k) + tlv(2, r->pub_s)); p->state = 3; break; @@ -727,14 +727,14 @@ int __cdecl rsa_recv_thread(HANDLE context, string& msg) } break; - case 0x22: // получили удаленный паблик, отправляем уже криптоключ + case 0x22: // получили удаленный паблик, отправляем СѓР¶Рµ криптоключ { string pub; un_tlv(un_tlv(data, t[0], features), t[1], pub); string sig = ::hash(pub); if (!imp->rsa_check_pub(context, (PBYTE)pub.data(), (int)pub.length(), (PBYTE)sig.data(), (int)sig.length())) { p->state = 0; p->time = 0; - null_msg(context, 0x00, -type); // сессия разорвана по ошибке + null_msg(context, 0x00, -type); // сессия разорвана РїРѕ ошибке return 0; } init_pub(p, pub); @@ -747,20 +747,20 @@ int __cdecl rsa_recv_thread(HANDLE context, string& msg) } break; - case 0x23: // отправляем локальный паблик + case 0x23: // отправляем локальный паблик un_tlv(data, t[0], features); inject_msg(context, 0x33, tlv(1, r->pub_k) + tlv(2, r->pub_s)); p->state = 4; break; - case 0x24: // получили удаленный паблик, отправим локальный паблик + case 0x24: // получили удаленный паблик, отправим локальный паблик { string pub; un_tlv(un_tlv(data, t[0], features), t[1], pub); string sig = ::hash(pub); if (!imp->rsa_check_pub(context, (PBYTE)pub.data(), (int)pub.length(), (PBYTE)sig.data(), (int)sig.length())) { p->state = 0; p->time = 0; - null_msg(context, 0x00, -type); // сессия разорвана по ошибке + null_msg(context, 0x00, -type); // сессия разорвана РїРѕ ошибке return 0; } init_pub(p, pub); @@ -773,7 +773,7 @@ int __cdecl rsa_recv_thread(HANDLE context, string& msg) } break; - case 0x33: // получили удаленный паблик, отправляем криптоключ + case 0x33: // получили удаленный паблик, отправляем криптоключ case 0x34: { string pub; @@ -781,7 +781,7 @@ int __cdecl rsa_recv_thread(HANDLE context, string& msg) string sig = ::hash(pub); if (!imp->rsa_check_pub(context, (PBYTE)pub.data(), (int)pub.length(), (PBYTE)sig.data(), (int)sig.length())) { p->state = 0; p->time = 0; - null_msg(context, 0x00, -type); // сессия разорвана по ошибке + null_msg(context, 0x00, -type); // сессия разорвана РїРѕ ошибке return 0; } init_pub(p, pub); @@ -794,14 +794,14 @@ int __cdecl rsa_recv_thread(HANDLE context, string& msg) } break; - case 0x21: // получили криптоключ, отправляем криптотест + case 0x21: // получили криптоключ, отправляем криптотест case 0x32: case 0x40: { string key = decode_rsa(p, r, data); if (!key.length()) { p->state = 0; p->time = 0; - null_msg(context, 0x00, -type); // сессия разорвана по ошибке + null_msg(context, 0x00, -type); // сессия разорвана РїРѕ ошибке return 0; } un_tlv(key, t[0], p->aes_k); @@ -813,21 +813,21 @@ int __cdecl rsa_recv_thread(HANDLE context, string& msg) } break; - case 0x0D: // запрос паблика - case 0xD0: // ответ пабликом + case 0x0D: // запрос паблика + case 0xD0: // ответ пабликом { string pub, sha; un_tlv(un_tlv(un_tlv(data, t[0], features), t[1], pub), t[2], sha); - if (p->pub_k != pub) { // пришел новый паблик + if (p->pub_k != pub) { // пришел новый паблик string sig = ::hash(pub); if (!imp->rsa_check_pub(context, (PBYTE)pub.data(), (int)pub.length(), (PBYTE)sig.data(), (int)sig.length())) { p->state = 0; p->time = 0; - null_msg(context, 0x00, -type); // сессия разорвана по ошибке + null_msg(context, 0x00, -type); // сессия разорвана РїРѕ ошибке return 0; } init_pub(p, pub); } - if (type == 0x0D) // нужно отправить мой паблик + if (type == 0x0D) // РЅСѓР¶РЅРѕ отправить РјРѕР№ паблик inject_msg(context, 0xD0, tlv(0, features) + tlv(1, r->pub_k) + tlv(2, p->pub_s)); p->state = 0; p->time = 0; @@ -859,7 +859,7 @@ int rsa_free(pCNTX ptr) return true; if (p->event) { - p->thread_exit = 2; // отпускаем поток в свободное плавание + p->thread_exit = 2; // отпускаем поток РІ СЃРІРѕР±РѕРґРЅРѕРµ плавание SetEvent(p->event); return false; } @@ -875,7 +875,7 @@ void rsa_free_thread(pRSADATA p) if (p->event) { p->thread_exit = 1; SetEvent(p->event); - // ждем завершения потока + // ждем завершения потока WaitForSingleObject(p->thread, INFINITE); CloseHandle(p->thread); CloseHandle(p->event); @@ -911,7 +911,7 @@ unsigned __stdcall sttConnectThread(LPVOID arg) WaitForSingleObject(p->event, INFINITE); // dwMsec rc==WAIT_TIMEOUT if (p->thread_exit == 1) return 0; if (p->thread_exit == 2) { - // мы в свободном плавании - освободим память и завершим трэд + // РјС‹ РІ СЃРІРѕР±РѕРґРЅРѕРј плавании - РѕСЃРІРѕР±РѕРґРёРј память Рё завершим трэд CloseHandle(p->thread); CloseHandle(p->event); SAFE_DELETE(p->queue); @@ -919,11 +919,11 @@ unsigned __stdcall sttConnectThread(LPVOID arg) return 0; } - // дождались сообщения в очереди + // дождались сообщения РІ очереди while (!p->thread_exit && p->queue && !p->queue->empty()) { - // обработаем сообщения из очереди + // обработаем сообщения РёР· очереди if (rsa_recv_thread(context, p->queue->front()) == -1) { - // очистить очередь + // очистить очередь clear_queue(p); break; } diff --git a/plugins/CryptoPP/src/cpp_rsau.cpp b/plugins/CryptoPP/src/cpp_rsau.cpp index d476c4fb1c..1adf07afd5 100644 --- a/plugins/CryptoPP/src/cpp_rsau.cpp +++ b/plugins/CryptoPP/src/cpp_rsau.cpp @@ -6,7 +6,7 @@ string pad256(string& str) { string out = str; int pad = out.length() % 32; - if (pad) { // ­ ¤® ўла®ў­пвм ­  256 ЎЁв + if (pad) { // надо выровнять РЅР° 256 Р±РёС‚ if (pad > 3) { out += tlv(0, padding.substr(0, 32 - 3 - pad)); } diff --git a/plugins/CryptoPP/src/cryptopp.h b/plugins/CryptoPP/src/cryptopp.h index 8657e29c6a..a13337f20e 100644 --- a/plugins/CryptoPP/src/cryptopp.h +++ b/plugins/CryptoPP/src/cryptopp.h @@ -111,8 +111,8 @@ typedef queue STRINGQUEUE; typedef struct __RSADATA { - short state; // 0 - нифига нет, 1..6 - keyexchange, 7 - соединение установлено - u_int time; // для прерывания keyexchange, если долго нет ответа + short state; // 0 - нифига нет, 1..6 - keyexchange, 7 - соединение установлено + u_int time; // для прерывания keyexchange, если долго нет ответа string pub_k; // public key string string pub_s; // hash(pub_k) RSA::PublicKey pub; // public key @@ -162,20 +162,20 @@ string cpp_zlibc(string&); string cpp_zlibd(string&); typedef struct { - int (__cdecl *rsa_gen_keypair)(short); // генерит RSA-ключи для указанной длины (либо тока 2048, либо 2048 и 4096) - int (__cdecl *rsa_get_keypair)(short,PBYTE,int*,PBYTE,int*); // возвращает пару ключей для указанной длины - int (__cdecl *rsa_get_keyhash)(short,PBYTE,int*,PBYTE,int*); // возвращает hash пары ключей для указанной длины - int (__cdecl *rsa_set_keypair)(short,PBYTE,int); // устанавливает ключи, указанной длины - int (__cdecl *rsa_get_pubkey)(HANDLE,PBYTE,int*); // возвращает паблик ключ из указанного контекста - int (__cdecl *rsa_set_pubkey)(HANDLE,PBYTE,int); // загружает паблик ключ для указанного контекста - void (__cdecl *rsa_set_timeout)(int); // установить таймаут для установки секюрного соединения - int (__cdecl *rsa_get_state)(HANDLE); // получить статус указанного контекста - int (__cdecl *rsa_get_hash)(PBYTE,int,PBYTE,int*); // вычисляет SHA1(key) - int (__cdecl *rsa_connect)(HANDLE); // запускает процесс установки содинения с указанным контекстом - int (__cdecl *rsa_disconnect)(HANDLE); // разрывает соединение с указанным контекстом - int (__cdecl *rsa_disabled)(HANDLE); // разрывает соединение по причине "disabled" - LPSTR (__cdecl *rsa_recv)(HANDLE,LPCSTR); // необходимо передавать сюда все входящие протокольные сообщения - int (__cdecl *rsa_send)(HANDLE,LPCSTR); // вызываем для отправки сообщения клиенту + int (__cdecl *rsa_gen_keypair)(short); // генерит RSA-ключи для указанной длины (либо тока 2048, либо 2048 Рё 4096) + int (__cdecl *rsa_get_keypair)(short,PBYTE,int*,PBYTE,int*); // возвращает пару ключей для указанной длины + int (__cdecl *rsa_get_keyhash)(short,PBYTE,int*,PBYTE,int*); // возвращает hash пары ключей для указанной длины + int (__cdecl *rsa_set_keypair)(short,PBYTE,int); // устанавливает ключи, указанной длины + int (__cdecl *rsa_get_pubkey)(HANDLE,PBYTE,int*); // возвращает паблик ключ РёР· указанного контекста + int (__cdecl *rsa_set_pubkey)(HANDLE,PBYTE,int); // загружает паблик ключ для указанного контекста + void (__cdecl *rsa_set_timeout)(int); // установить таймаут для установки секюрного соединения + int (__cdecl *rsa_get_state)(HANDLE); // получить статус указанного контекста + int (__cdecl *rsa_get_hash)(PBYTE,int,PBYTE,int*); // вычисляет SHA1(key) + int (__cdecl *rsa_connect)(HANDLE); // запускает процесс установки содинения СЃ указанным контекстом + int (__cdecl *rsa_disconnect)(HANDLE); // разрывает соединение СЃ указанным контекстом + int (__cdecl *rsa_disabled)(HANDLE); // разрывает соединение РїРѕ причине "disabled" + LPSTR (__cdecl *rsa_recv)(HANDLE,LPCSTR); // необходимо передавать СЃСЋРґР° РІСЃРµ входящие протокольные сообщения + int (__cdecl *rsa_send)(HANDLE,LPCSTR); // вызываем для отправки сообщения клиенту int (__cdecl *rsa_encrypt_file)(HANDLE,LPCSTR,LPCSTR); int (__cdecl *rsa_decrypt_file)(HANDLE,LPCSTR,LPCSTR); LPSTR (__cdecl *utf8encode)(LPCWSTR); @@ -190,9 +190,9 @@ typedef struct { typedef RSA_EXPORT* pRSA_EXPORT; typedef struct { - int (__cdecl *rsa_inject)(HANDLE,LPCSTR); // вставляет сообщение в очередь на отправку - int (__cdecl *rsa_check_pub)(HANDLE,PBYTE,int,PBYTE,int); // проверяет интерактивно SHA и сохраняет ключ, если все нормально - void (__cdecl *rsa_notify)(HANDLE,int); // нотификация о смене состояния + int (__cdecl *rsa_inject)(HANDLE,LPCSTR); // вставляет сообщение РІ очередь РЅР° отправку + int (__cdecl *rsa_check_pub)(HANDLE,PBYTE,int,PBYTE,int); // проверяет интерактивно SHA Рё сохраняет ключ, если РІСЃРµ нормально + void (__cdecl *rsa_notify)(HANDLE,int); // нотификация Рѕ смене состояния } RSA_IMPORT; typedef RSA_IMPORT* pRSA_IMPORT; diff --git a/plugins/CryptoPP/src/version.h b/plugins/CryptoPP/src/version.h index 845cc34359..60042bfccb 100644 --- a/plugins/CryptoPP/src/version.h +++ b/plugins/CryptoPP/src/version.h @@ -11,4 +11,4 @@ #define __AUTHOR "Baloo" #define __AUTHOREMAIL "baloo@bk.ru" #define __AUTHORWEB "https://miranda-ng.org/p/CryptoPP/" -#define __COPYRIGHT "© 2006-09 Baloo" +#define __COPYRIGHT "В© 2006-09 Baloo" -- cgit v1.2.3