mirror of
https://github.com/weechat/weechat.git
synced 2026-07-10 12:25:42 +02:00
api: add functions string_hash_binary and string_hash
This commit is contained in:
@@ -22,6 +22,7 @@ New features::
|
||||
|
||||
* core: add variable "old_full_name" in buffer, set during buffer renaming (issue #1428)
|
||||
* core: add debug option "-d" in command /eval (issue #1434)
|
||||
* api: add functions string_hash_binary and string_hash
|
||||
* api: add info "weechat_headless" (issue #1433)
|
||||
* buflist: add pointer "window" in bar item evaluation
|
||||
* relay: reject client with weechat protocol if password or totp is received in init command but not set in WeeChat (issue #1435)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -118,6 +118,11 @@ extern int string_base64_decode (const char *from, char *to);
|
||||
extern char *string_hex_dump (const char *data, int data_size,
|
||||
int bytes_per_line,
|
||||
const char *prefix, const char *suffix);
|
||||
extern void string_hash_binary (const char *data, int length_data,
|
||||
const char *hash_algo,
|
||||
char **hash, int *length_hash);
|
||||
extern char *string_hash (const char *data, int length_data,
|
||||
const char *hash_algo);
|
||||
extern int string_is_command_char (const char *string);
|
||||
extern const char *string_input_for_buffer (const char *string);
|
||||
extern char *string_replace_with_callback (const char *string,
|
||||
|
||||
@@ -623,6 +623,8 @@ plugin_load (const char *filename, int init_plugin, int argc, char **argv)
|
||||
new_plugin->string_base_encode = &plugin_api_string_base_encode;
|
||||
new_plugin->string_base_decode = &plugin_api_string_base_decode;
|
||||
new_plugin->string_hex_dump = &string_hex_dump;
|
||||
new_plugin->string_hash_binary = &string_hash_binary;
|
||||
new_plugin->string_hash = &string_hash;
|
||||
new_plugin->string_is_command_char = &string_is_command_char;
|
||||
new_plugin->string_input_for_buffer = &string_input_for_buffer;
|
||||
new_plugin->string_eval_expression = &eval_expression;
|
||||
|
||||
@@ -67,7 +67,7 @@ struct timeval;
|
||||
* please change the date with current one; for a second change at same
|
||||
* date, increment the 01, otherwise please keep 01.
|
||||
*/
|
||||
#define WEECHAT_PLUGIN_API_VERSION "20190810-01"
|
||||
#define WEECHAT_PLUGIN_API_VERSION "20200229-01"
|
||||
|
||||
/* macros for defining plugin infos */
|
||||
#define WEECHAT_PLUGIN_NAME(__name) \
|
||||
@@ -341,6 +341,11 @@ struct t_weechat_plugin
|
||||
char *(*string_hex_dump) (const char *data, int data_size,
|
||||
int bytes_per_line, const char *prefix,
|
||||
const char *suffix);
|
||||
void (*string_hash_binary) (const char *data, int length_data,
|
||||
const char *hash_algo,
|
||||
char **hash, int *length_hash);
|
||||
char *(*string_hash) (const char *data, int length_data,
|
||||
const char *hash_algo);
|
||||
int (*string_is_command_char) (const char *string);
|
||||
const char *(*string_input_for_buffer) (const char *string);
|
||||
char *(*string_eval_expression )(const char *expr,
|
||||
@@ -1254,6 +1259,13 @@ extern int weechat_plugin_end (struct t_weechat_plugin *plugin);
|
||||
(weechat_plugin->string_hex_dump)(__data, __data_size, \
|
||||
__bytes_per_line, __prefix, \
|
||||
__suffix)
|
||||
#define weechat_string_hash_binary(__data, __length_data, __hash_algo, \
|
||||
__hash, __length_hash) \
|
||||
(weechat_plugin->string_hash_binary)(__data, __length_data, \
|
||||
__hash_algo, \
|
||||
__hash, __length_hash)
|
||||
#define weechat_string_hash(__data, __length_data, __hash_algo) \
|
||||
(weechat_plugin->string_hash)(__data, __length_data, __hash_algo)
|
||||
#define weechat_string_is_command_char(__string) \
|
||||
(weechat_plugin->string_is_command_char)(__string)
|
||||
#define weechat_string_input_for_buffer(__string) \
|
||||
|
||||
@@ -38,6 +38,7 @@ set(LIB_WEECHAT_UNIT_TESTS_CORE_SRC
|
||||
unit/core/test-core-url.cpp
|
||||
unit/core/test-core-utf8.cpp
|
||||
unit/core/test-core-util.cpp
|
||||
unit/core/test-core.h
|
||||
unit/gui/test-gui-color.cpp
|
||||
unit/gui/test-gui-line.cpp
|
||||
unit/gui/test-gui-nick.cpp
|
||||
|
||||
@@ -35,6 +35,7 @@ lib_weechat_unit_tests_core_a_SOURCES = unit/test-plugins.cpp \
|
||||
unit/core/test-core-url.cpp \
|
||||
unit/core/test-core-utf8.cpp \
|
||||
unit/core/test-core-util.cpp \
|
||||
unit/core/test-core.h \
|
||||
unit/gui/test-gui-color.cpp \
|
||||
unit/gui/test-gui-line.cpp \
|
||||
unit/gui/test-gui-nick.cpp \
|
||||
|
||||
@@ -25,30 +25,10 @@ extern "C"
|
||||
{
|
||||
#include <string.h>
|
||||
#include <gcrypt.h>
|
||||
#include "tests/unit/core/test-core.h"
|
||||
#include "src/core/wee-secure.h"
|
||||
#include "src/core/wee-string.h"
|
||||
|
||||
#define DATA_HASH "this is a test of hash function"
|
||||
#define DATA_HASH_MD5 "1197d121af621ac6a63cb8ef6b5dfa30"
|
||||
#define DATA_HASH_SHA1 "799d818061175b400dc5aaeb14b8d32cdef32ff0"
|
||||
#define DATA_HASH_SHA224 "637d21f3ba3f4e9fa9fb889dc990b31a658cb37b4aefb5144" \
|
||||
"70b016d"
|
||||
#define DATA_HASH_SHA256 "b9a4c3393dfac4330736684510378851e581c68add8eca841" \
|
||||
"10c31a33e694676"
|
||||
#define DATA_HASH_SHA384 "42853280be9b8409eed265f272bd580e2fbd448b7c7e236c7" \
|
||||
"f37dafec7906d51d982dc84ec70a4733eca49d86ac19455"
|
||||
#define DATA_HASH_SHA512 "4469190d4e0d1fdc0afb6f408d9873c89b8ce89cc4db79fe0" \
|
||||
"58255c55ad6821fa5e9bb068f9e578c8ae7cc825d85ff99c439d59e439bc589d95620a" \
|
||||
"1e6b8ae6e"
|
||||
#define DATA_HASH_SHA3_224 "26432a3a4ea998790be43386b1de417f88be43146a4af98" \
|
||||
"2a9627d10"
|
||||
#define DATA_HASH_SHA3_256 "226e3830306711cf653c1661765c304b37038e7457c35dd" \
|
||||
"14fca0f6a8ba1d2e3"
|
||||
#define DATA_HASH_SHA3_384 "77bc16f89c102efc783ddeccc71862fe919b66e1aaa88bd" \
|
||||
"2ba5f0bbe604fcb86c68f0e401d5d553597366cdd400595ba"
|
||||
#define DATA_HASH_SHA3_512 "31dfb5fc8f30ac7007acddc4fce562d408706833d0d2af2" \
|
||||
"e5f61a179099592927ff7d100e278406c7f98d42575001e26e153b135c21f7ef5b00c8" \
|
||||
"cef93ca048d"
|
||||
#define SECURE_PASSPHRASE "this_is_a_secret_passphrase"
|
||||
#define SECURE_PASSWORD "this_is_a_secret_password"
|
||||
#define TOTP_SECRET "secretpasswordbase32"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Copyright (C) 2020 Sébastien Helleu <flashcode@flashtux.org>
|
||||
*
|
||||
* This file is part of WeeChat, the extensible chat client.
|
||||
*
|
||||
* WeeChat 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.
|
||||
*
|
||||
* WeeChat 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 WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef WEECHAT_TEST_UNIT_CORE_H
|
||||
#define WEECHAT_TEST_UNIT_CORE_H
|
||||
|
||||
#define DATA_HASH "this is a test of hash function"
|
||||
#define DATA_HASH_MD5 "1197d121af621ac6a63cb8ef6b5dfa30"
|
||||
#define DATA_HASH_SHA1 "799d818061175b400dc5aaeb14b8d32cdef32ff0"
|
||||
#define DATA_HASH_SHA224 "637d21f3ba3f4e9fa9fb889dc990b31a658cb37b4aefb5144" \
|
||||
"70b016d"
|
||||
#define DATA_HASH_SHA256 "b9a4c3393dfac4330736684510378851e581c68add8eca841" \
|
||||
"10c31a33e694676"
|
||||
#define DATA_HASH_SHA384 "42853280be9b8409eed265f272bd580e2fbd448b7c7e236c7" \
|
||||
"f37dafec7906d51d982dc84ec70a4733eca49d86ac19455"
|
||||
#define DATA_HASH_SHA512 "4469190d4e0d1fdc0afb6f408d9873c89b8ce89cc4db79fe0" \
|
||||
"58255c55ad6821fa5e9bb068f9e578c8ae7cc825d85ff99c439d59e439bc589d95620a" \
|
||||
"1e6b8ae6e"
|
||||
#define DATA_HASH_SHA3_224 "26432a3a4ea998790be43386b1de417f88be43146a4af98" \
|
||||
"2a9627d10"
|
||||
#define DATA_HASH_SHA3_256 "226e3830306711cf653c1661765c304b37038e7457c35dd" \
|
||||
"14fca0f6a8ba1d2e3"
|
||||
#define DATA_HASH_SHA3_384 "77bc16f89c102efc783ddeccc71862fe919b66e1aaa88bd" \
|
||||
"2ba5f0bbe604fcb86c68f0e401d5d553597366cdd400595ba"
|
||||
#define DATA_HASH_SHA3_512 "31dfb5fc8f30ac7007acddc4fce562d408706833d0d2af2" \
|
||||
"e5f61a179099592927ff7d100e278406c7f98d42575001e26e153b135c21f7ef5b00c8" \
|
||||
"cef93ca048d"
|
||||
|
||||
#endif /* WEECHAT_TEST_UNIT_CORE_H */
|
||||
Reference in New Issue
Block a user