1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-26 12:56:37 +02:00

alias: do not allow slashes and spaces in alias name (closes #646)

This commit is contained in:
Sébastien Helleu
2016-01-05 07:46:24 +01:00
parent 9f169a7fb5
commit 7a55d8aa29
14 changed files with 99 additions and 14 deletions
+1
View File
@@ -67,6 +67,7 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
* core: fix truncated messages after a word with a length of zero on screen
(for example a zero width space: U+200B) (bug #40985, issue #502)
* api: fix handle of invalid escape in function string_convert_escaped_chars()
* alias: do not allow slashes and spaces in alias name (issue #646)
* irc: add a missing colon before the password in PASS message, if the password
has spaces or begins with a colon (issue #602)
* irc: fix charset decoding in incoming private messages (issue #520)
+5 -1
View File
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2016-01-03 08:56+0100\n"
"POT-Creation-Date: 2016-01-05 07:28+0100\n"
"PO-Revision-Date: 2015-12-20 17:33+0100\n"
"Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4456,6 +4456,10 @@ msgstr "alias pro barvu"
msgid "%s%s: error, circular reference when calling alias \"%s\""
msgstr "%s%s: chyba, cyklický odkaz při volání aliasu \"%s\""
#, fuzzy, c-format
msgid "%s%s: invalid alias name: \"%s\""
msgstr "%s%s: nekorektní znaková sada: \"%s\""
#, c-format
msgid "%s%s: error creating alias \"%s\" => \"%s\""
msgstr "%s%s: chyba vytváření aliasu \"%s\" => \"%s\""
+5 -1
View File
@@ -19,7 +19,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2016-01-03 08:56+0100\n"
"POT-Creation-Date: 2016-01-05 07:28+0100\n"
"PO-Revision-Date: 2016-01-03 22:25+0100\n"
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
"Language-Team: German <>\n"
@@ -5221,6 +5221,10 @@ msgstr "Alias-Befehle"
msgid "%s%s: error, circular reference when calling alias \"%s\""
msgstr "%s%s: Fehler, Zirkelbezug beim Aufruf des Alias \"%s\""
#, fuzzy, c-format
msgid "%s%s: invalid alias name: \"%s\""
msgstr "%s%s: Ungültiger Zeichensatz: \"%s\""
#, c-format
msgid "%s%s: error creating alias \"%s\" => \"%s\""
msgstr "%s%s: Fehler beim Erstellen von Alias \"%s\" => \"%s\""
+5 -1
View File
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2016-01-03 08:56+0100\n"
"POT-Creation-Date: 2016-01-05 07:28+0100\n"
"PO-Revision-Date: 2015-12-02 19:26+0100\n"
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4651,6 +4651,10 @@ msgstr "Alias de comandos"
msgid "%s%s: error, circular reference when calling alias \"%s\""
msgstr "%s%s: error, referencia circular al ejecutar el alias \"%s\""
#, fuzzy, c-format
msgid "%s%s: invalid alias name: \"%s\""
msgstr "%s%s: set de caracteres inválido: \"%s\""
#, c-format
msgid "%s%s: error creating alias \"%s\" => \"%s\""
msgstr "%s%s: error al crear el alias \"%s\" => \"%s\""
+6 -2
View File
@@ -21,8 +21,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2016-01-03 08:56+0100\n"
"PO-Revision-Date: 2016-01-03 08:56+0100\n"
"POT-Creation-Date: 2016-01-05 07:28+0100\n"
"PO-Revision-Date: 2016-01-05 07:28+0100\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: fr\n"
@@ -5113,6 +5113,10 @@ msgstr "Commandes d'alias"
msgid "%s%s: error, circular reference when calling alias \"%s\""
msgstr "%s%s : erreur, référence circulaire lors de l'appel à l'alias \"%s\""
#, c-format
msgid "%s%s: invalid alias name: \"%s\""
msgstr "%s%s : nom d'alias invalide : \"%s\""
#, c-format
msgid "%s%s: error creating alias \"%s\" => \"%s\""
msgstr "%s%s : erreur en création de l'alias \"%s\" => \"%s\""
+5 -1
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2016-01-03 08:56+0100\n"
"POT-Creation-Date: 2016-01-05 07:28+0100\n"
"PO-Revision-Date: 2015-12-02 19:26+0100\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4045,6 +4045,10 @@ msgstr "%s belső parancsok:\n"
msgid "%s%s: error, circular reference when calling alias \"%s\""
msgstr "%s körreferencia a \"/%s\" aliasz hívásakor\n"
#, fuzzy, c-format
msgid "%s%s: invalid alias name: \"%s\""
msgstr "Nem sikerült a(z) \"%s\" naplófájlt írni\n"
#, fuzzy, c-format
msgid "%s%s: error creating alias \"%s\" => \"%s\""
msgstr "%s nincs elég memória az információs pult üzenethez\n"
+5 -1
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2016-01-03 08:56+0100\n"
"POT-Creation-Date: 2016-01-05 07:28+0100\n"
"PO-Revision-Date: 2015-12-02 19:26+0100\n"
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4784,6 +4784,10 @@ msgstr "Alias dei comandi"
msgid "%s%s: error, circular reference when calling alias \"%s\""
msgstr "%s%s: errore, riferimento circolare alla chiamata dell'alias \"%s\""
#, fuzzy, c-format
msgid "%s%s: invalid alias name: \"%s\""
msgstr "%s%s: set di caratter invalido: \"%s\""
#, c-format
msgid "%s%s: error creating alias \"%s\" => \"%s\""
msgstr "%s%s: errore nella creazione dell'alias \"%s\" => \"%s\""
+5 -1
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2016-01-03 08:56+0100\n"
"POT-Creation-Date: 2016-01-05 07:28+0100\n"
"PO-Revision-Date: 2016-01-05 09:00+0900\n"
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
"Language-Team: Japanese <https://github.com/l/weechat/tree/translation_ja>\n"
@@ -4887,6 +4887,10 @@ msgstr "別名コマンド"
msgid "%s%s: error, circular reference when calling alias \"%s\""
msgstr "%s%s: エラー、別名 \"%s\" の呼び出し中に循環参照を検知"
#, fuzzy, c-format
msgid "%s%s: invalid alias name: \"%s\""
msgstr "%s%s: 不正な文字セット: \"%s\""
#, c-format
msgid "%s%s: error creating alias \"%s\" => \"%s\""
msgstr "%s%s: 別名 \"%s\" => \"%s\" 作成中にエラー"
+5 -1
View File
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2016-01-03 08:56+0100\n"
"POT-Creation-Date: 2016-01-05 07:28+0100\n"
"PO-Revision-Date: 2015-12-02 19:26+0100\n"
"Last-Translator: Krzysztof Korościk <soltys@szluug.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5008,6 +5008,10 @@ msgstr "Aliasy komend"
msgid "%s%s: error, circular reference when calling alias \"%s\""
msgstr "%s%s: błąd, cykliczna referencja przy wywoływaniu aliasu \"%s\""
#, fuzzy, c-format
msgid "%s%s: invalid alias name: \"%s\""
msgstr "%s%s: nieprawidłowe kodowanie: \"%s\""
#, c-format
msgid "%s%s: error creating alias \"%s\" => \"%s\""
msgstr "%s%s: błąd podczas tworzenia aliasu \"%s\" => \"%s\""
+5 -1
View File
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2016-01-03 08:56+0100\n"
"POT-Creation-Date: 2016-01-05 07:28+0100\n"
"PO-Revision-Date: 2015-09-30 20:56+0200\n"
"Last-Translator: Eduardo Elias <camponez@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4637,6 +4637,10 @@ msgstr "comandos do weechat"
msgid "%s%s: error, circular reference when calling alias \"%s\""
msgstr "%s%s: erro, referência circular ao chamar atalho \"%s\""
#, fuzzy, c-format
msgid "%s%s: invalid alias name: \"%s\""
msgstr "%s%s: charset inválido: \"%s\""
#, c-format
msgid "%s%s: error creating alias \"%s\" => \"%s\""
msgstr "%s%s: erro ao criar atalho \"%s\" => \"%s\""
+5 -1
View File
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2016-01-03 08:56+0100\n"
"POT-Creation-Date: 2016-01-05 07:28+0100\n"
"PO-Revision-Date: 2015-12-02 19:26+0100\n"
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4084,6 +4084,10 @@ msgstr "Внутренние команды %s:\n"
msgid "%s%s: error, circular reference when calling alias \"%s\""
msgstr "%s рекурсия при вызове сокращения \"/%s\"\n"
#, fuzzy, c-format
msgid "%s%s: invalid alias name: \"%s\""
msgstr "Не могу записать лог-файл \"%s\"\n"
#, fuzzy, c-format
msgid "%s%s: error creating alias \"%s\" => \"%s\""
msgstr "%s недостаточно памяти для сообщения в строке информации\n"
+5 -1
View File
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2016-01-03 08:56+0100\n"
"POT-Creation-Date: 2016-01-05 07:28+0100\n"
"PO-Revision-Date: 2015-03-10 21:33+0100\n"
"Last-Translator: Hasan Kiran <sunder67@hotmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -3664,6 +3664,10 @@ msgstr ""
msgid "%s%s: error, circular reference when calling alias \"%s\""
msgstr ""
#, fuzzy, c-format
msgid "%s%s: invalid alias name: \"%s\""
msgstr "%sHata: dosya \"%s\" oluşturulamaz"
#, c-format
msgid "%s%s: error creating alias \"%s\" => \"%s\""
msgstr ""
+5 -1
View File
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2016-01-03 08:56+0100\n"
"POT-Creation-Date: 2016-01-05 07:28+0100\n"
"PO-Revision-Date: 2014-08-16 10:27+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -3656,6 +3656,10 @@ msgstr ""
msgid "%s%s: error, circular reference when calling alias \"%s\""
msgstr ""
#, c-format
msgid "%s%s: invalid alias name: \"%s\""
msgstr ""
#, c-format
msgid "%s%s: error creating alias \"%s\" => \"%s\""
msgstr ""
+37 -1
View File
@@ -571,6 +571,33 @@ alias_update_completion (struct t_alias *alias, const char *completion)
alias_hook_command (alias);
}
/*
* Checks if an alias name is valid: it must not contain any slashes nor
* any spaces.
*
* Returns:
* 1: name is valid
* 0: name is invalid
*/
int
alias_name_valid (const char *name)
{
if (!name || !name[0])
return 0;
/* no spaces allowed */
if (strchr (name, ' '))
return 0;
/* no slashes allowed */
if (strchr (name, '/'))
return 0;
/* name is valid */
return 1;
}
/*
* Creates a new alias and adds it to alias list.
*
@@ -582,7 +609,16 @@ alias_new (const char *name, const char *command, const char *completion)
{
struct t_alias *new_alias, *ptr_alias, *pos_alias;
if (!name || !name[0] || !command || !command[0])
if (!alias_name_valid (name))
{
weechat_printf (NULL,
_("%s%s: invalid alias name: \"%s\""),
weechat_prefix ("error"), ALIAS_PLUGIN_NAME,
name);
return NULL;
}
if (!command || !command[0])
return NULL;
while (weechat_string_is_command_char (name))