1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-09 19:23:13 +02:00

api: return integer in function string_encode_base64

This commit is contained in:
Sébastien Helleu
2018-11-02 14:09:23 +01:00
parent 74a17d821f
commit 8848b0e22a
13 changed files with 137 additions and 85 deletions
+42 -13
View File
@@ -72,7 +72,14 @@ irc_sasl_mechanism_plain (const char *sasl_username, const char *sasl_password)
answer_base64 = malloc (length * 4);
if (answer_base64)
weechat_string_encode_base64 (string, length - 1, answer_base64);
{
if (weechat_string_encode_base64 (string, length - 1,
answer_base64) < 0)
{
free (answer_base64);
answer_base64 = NULL;
}
}
free (string);
}
@@ -219,15 +226,17 @@ irc_sasl_mechanism_ecdsa_nist256p_challenge (struct t_irc_server *server,
pubkey_base64 = malloc ((x.size + 1 + 1) * 4);
if (pubkey_base64)
{
weechat_string_encode_base64 (pubkey, x.size + 1,
pubkey_base64);
weechat_printf (
server->buffer,
_("%s%s: signing the challenge with ECC public key: "
"%s"),
weechat_prefix ("network"),
IRC_PLUGIN_NAME,
pubkey_base64);
if (weechat_string_encode_base64 (pubkey, x.size + 1,
pubkey_base64) >= 0)
{
weechat_printf (
server->buffer,
_("%s%s: signing the challenge with ECC public "
"key: %s"),
weechat_prefix ("network"),
IRC_PLUGIN_NAME,
pubkey_base64);
}
free (pubkey_base64);
}
free (pubkey);
@@ -289,7 +298,13 @@ irc_sasl_mechanism_ecdsa_nist256p_challenge (struct t_irc_server *server,
{
answer_base64 = malloc ((length + 1) * 4);
if (answer_base64)
weechat_string_encode_base64 (string, length, answer_base64);
{
if (weechat_string_encode_base64 (string, length, answer_base64) < 0)
{
free (answer_base64);
answer_base64 = NULL;
}
}
free (string);
string = NULL;
}
@@ -504,7 +519,14 @@ irc_sasl_mechanism_dh_blowfish (const char *data_base64,
/* encode answer to base64 */
answer_base64 = malloc ((length_answer + 1) * 4);
if (answer_base64)
weechat_string_encode_base64 (answer, length_answer, answer_base64);
{
if (weechat_string_encode_base64 (answer, length_answer,
answer_base64) < 0)
{
free (answer_base64);
answer_base64 = NULL;
}
}
bfend:
if (secret_bin)
@@ -626,7 +648,14 @@ irc_sasl_mechanism_dh_aes (const char *data_base64,
/* encode answer to base64 */
answer_base64 = malloc ((length_answer + 1) * 4);
if (answer_base64)
weechat_string_encode_base64 (answer, length_answer, answer_base64);
{
if (weechat_string_encode_base64 (answer, length_answer,
answer_base64) < 0)
{
free (answer_base64);
answer_base64 = NULL;
}
}
aesend:
if (secret_bin)
+5 -1
View File
@@ -214,7 +214,11 @@ relay_websocket_build_handshake (struct t_relay_client *client)
length = gcry_md_get_algo_dlen (GCRY_MD_SHA1);
gcry_md_write (hd, key, strlen (key));
result = gcry_md_read (hd, GCRY_MD_SHA1);
weechat_string_encode_base64 ((char *)result, length, sec_websocket_accept);
if (weechat_string_encode_base64 ((char *)result, length,
sec_websocket_accept) < 0)
{
sec_websocket_accept[0] = '\0';
}
gcry_md_close (hd);
free (key);
+2 -2
View File
@@ -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 "20180812-01"
#define WEECHAT_PLUGIN_API_VERSION "20181102-01"
/* macros for defining plugin infos */
#define WEECHAT_PLUGIN_NAME(__name) \
@@ -323,7 +323,7 @@ struct t_weechat_plugin
void (*string_free_split_command) (char **split_command);
char *(*string_format_size) (unsigned long long size);
char *(*string_remove_color) (const char *string, const char *replacement);
void (*string_encode_base64) (const char *from, int length, char *to);
int (*string_encode_base64) (const char *from, int length, char *to);
int (*string_decode_base64) (const char *from, char *to);
char *(*string_hex_dump) (const char *data, int data_size,
int bytes_per_line, const char *prefix,