Merge branch '1.10.x'

This commit is contained in:
Alexey Sokolov committed 2025-12-10 00:55:07 +00:00
commit d8b8c16783
23 files changed
+277 -173

No files matched your search

+3 -1
View File
@@ -82,7 +82,9 @@ namespace std {
return i != self->end();
}
SV* keys_() {
AV* av = newAV_alloc_x(self->size());
// TODO: switch to newAV_alloc_x, requires perl 5.35.1
AV *av = newAV();
av_extend(av, self->size());
// assume SCString
int i = 0;
for (const auto& a : *self) {
+14 -3
View File
@@ -29,6 +29,17 @@ if(APPLE)
endif()
if(SWIG_FOUND)
set(SWIG_VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/swig_version.h")
add_custom_command(
OUTPUT "${SWIG_VERSION_HEADER}"
COMMAND ${CMAKE_COMMAND}
-DSWIG_EXECUTABLE=${SWIG_EXECUTABLE}
-DSWIG_VERSION_HEADER=${SWIG_VERSION_HEADER}
-P "${CMAKE_CURRENT_SOURCE_DIR}/generate_swig_version.cmake"
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/generate_swig_version.cmake"
)
add_custom_command(
OUTPUT "pyfunctions.cpp"
COMMAND "${PERL_EXECUTABLE}"
@@ -36,7 +47,7 @@ if(SWIG_FOUND)
"${CMAKE_CURRENT_SOURCE_DIR}/functions.in"
"pyfunctions.cpp"
VERBATIM
DEPENDS codegen.pl functions.in)
DEPENDS codegen.pl functions.in "${SWIG_VERSION_HEADER}")
add_custom_command(
OUTPUT "swigpyrun.h"
@@ -98,7 +109,7 @@ endfunction()
add_custom_target(modpython_dist
COMMAND "${CMAKE_COMMAND}" -E tar cz
"${CMAKE_CURRENT_SOURCE_DIR}/generated.tar.gz"
"swigpyrun.h" "znc_core.py" "modpython_biglib.cpp" "pyfunctions.cpp"
DEPENDS swigpyrun.h znc_core.py modpython_biglib.cpp pyfunctions.cpp
"swigpyrun.h" "znc_core.py" "modpython_biglib.cpp" "pyfunctions.cpp" "${SWIG_VERSION_HEADER}"
DEPENDS swigpyrun.h znc_core.py modpython_biglib.cpp pyfunctions.cpp "${SWIG_VERSION_HEADER}"
VERBATIM)
add_dependencies(modpython_dist copy_csocket_h)
+4 -5
View File
@@ -49,6 +49,8 @@ print $out <<'EOF';
* Don't change it manually. *
***************************************************************************/
#include "swig_version.h"
namespace {
inline swig_type_info* ZNC_SWIG_pchar_descriptor(void) {
static int init = 0;
@@ -60,11 +62,8 @@ namespace {
return info;
}
// SWIG 4.2.0 replaced SWIG_Python_str_AsChar with SWIG_PyUnicode_AsUTF8AndSize.
// SWIG doesn't provide any good way to detect SWIG version (other than parsing
// `swig -version`), but it also introduced SWIG_NULLPTR in 4.2.0.
// So let's abuse that define to do different code for new SWIG.
#ifdef SWIG_NULLPTR
// SWIG_VERSION is defined as 0x040200 for 4.2.0.
#if defined(SWIG_VERSION) && SWIG_VERSION >= 0x040200
// This is copied/adapted from SWIG 4.2.0 from pystrings.swg
inline int ZNC_SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc) {
#if PY_VERSION_HEX>=0x03000000
@@ -0,0 +1,53 @@
# generate_swig_version.cmake
execute_process(
COMMAND ${SWIG_EXECUTABLE} -version
OUTPUT_VARIABLE SWIG_OUTPUT
ERROR_VARIABLE SWIG_ERROR
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_STRIP_TRAILING_WHITESPACE
)
set(FULL_OUTPUT "${SWIG_OUTPUT}\n${SWIG_ERROR}")
string(REGEX MATCH "SWIG Version ([0-9]+)\\.([0-9]+)\\.([0-9]+)" MATCH_FOUND "${FULL_OUTPUT}")
if(MATCH_FOUND)
# Extract capture groups
set(SWIG_VERSION_MAJOR ${CMAKE_MATCH_1})
set(SWIG_VERSION_MINOR ${CMAKE_MATCH_2})
set(SWIG_VERSION_PATCH ${CMAKE_MATCH_3})
message(STATUS "Found SWIG Version: ${SWIG_VERSION_MAJOR}.${SWIG_VERSION_MINOR}.${SWIG_VERSION_PATCH}")
# Format: 0x<MAJ><MIN><PATCH> (assuming 8 bits per component)
# Calculation: (Major << 16) | (Minor << 8) | Patch
math(EXPR VERSION_NUM
"(${SWIG_VERSION_MAJOR} << 16) + (${SWIG_VERSION_MINOR} << 8) + ${SWIG_VERSION_PATCH}"
OUTPUT_FORMAT HEXADECIMAL
)
set(HEADER_FILE "swig_version.h")
file(WRITE ${SWIG_VERSION_HEADER}
"// Auto-generated by CMake
#ifndef SWIG_VERSION_META_H
#define SWIG_VERSION_META_H
#define SWIG_VERSION_MAJOR ${SWIG_VERSION_MAJOR}
#define SWIG_VERSION_MINOR ${SWIG_VERSION_MINOR}
#define SWIG_VERSION_PATCH ${SWIG_VERSION_PATCH}
// Hex format 0xMAJMINPAT (e.g. 4.1.0 -> 0x40100)
#define SWIG_VERSION ${VERSION_NUM}
#endif // SWIG_VERSION_META_H
"
)
message(STATUS "Generated ${HEADER_FILE} with version ${VERSION_NUM}")
else()
message(WARNING "Could not parse SWIG version from output:\n${FULL_OUTPUT}")
endif()
+2 -2
View File
@@ -98,9 +98,9 @@ msgid "* {1} ({2}@{3}) joins {4}"
msgstr ""
#: sample.cpp:203
#, c++-format
#, fuzzy, c++-format
msgid "* {1} ({2}@{3}) parts {4} with message: {5}"
msgstr ""
msgstr "* {1} ({2}@{3}) разделя {4}"
#: sample.cpp:212
#, c++-format
+3 -2
View File
@@ -1361,8 +1361,9 @@ void CClient::AcceptSASLLogin(CUser& User) {
SCString CClient::EnumerateSASLMechanisms() const {
SCString ssMechanisms;
// FIXME Currently GetClient()==nullptr due to const
GLOBALMODULECALL(OnClientGetSASLMechanisms(ssMechanisms), NOTHING);
// FIXME Fix this const_cast
_GLOBALMODULECALL(OnClientGetSASLMechanisms(ssMechanisms), nullptr, nullptr,
const_cast<CClient*>(this), NOTHING);
return ssMechanisms;
}
+10 -10
View File
@@ -267,35 +267,35 @@ msgid ""
msgstr ""
"Изключени сте от сървъра, защото друг потребител се идентифицира като вас."
#: Client.cpp:1426
#: Client.cpp:1427
#, c++-format
msgid "Your CTCP to {1} got lost, you are not connected to IRC!"
msgstr "Вашето CTCP към {1} се загуби, не сте свързани към IRC!"
#: Client.cpp:1553
#: Client.cpp:1554
#, c++-format
msgid "Your notice to {1} got lost, you are not connected to IRC!"
msgstr "Вашата заявка към {1} се загуби, не сте свързани към IRC!"
#: Client.cpp:1591
#: Client.cpp:1592
#, c++-format
msgid "Removing channel {1}"
msgstr "Каналът {1} се премахва"
#: Client.cpp:1704
#: Client.cpp:1705
#, c++-format
msgid "Your message to {1} got lost, you are not connected to IRC!"
msgstr "Вашето съобщение към {1} се загуби, не сте свързани към IRC!"
#: Client.cpp:1756 Client.cpp:1762
#: Client.cpp:1757 Client.cpp:1763
msgid "Hello. How may I help you?"
msgstr "Здравейте. Как мога да ви помогна?"
#: Client.cpp:1776
#: Client.cpp:1777
msgid "Usage: /attach <#chans>"
msgstr "Употреба: /attach <#канали>"
#: Client.cpp:1783 Client.cpp:1805 ClientCommand.cpp:129 ClientCommand.cpp:151
#: Client.cpp:1784 Client.cpp:1806 ClientCommand.cpp:129 ClientCommand.cpp:151
#: ClientCommand.cpp:423 ClientCommand.cpp:450
#, c++-format
msgid "There was {1} channel matching [{2}]"
@@ -303,18 +303,18 @@ msgid_plural "There were {1} channels matching [{2}]"
msgstr[0] "Има канал {1}, който се съвпада с {2}"
msgstr[1] "Има канали {1}, които се съвпадат с {2}"
#: Client.cpp:1786 ClientCommand.cpp:132
#: Client.cpp:1787 ClientCommand.cpp:132
#, c++-format
msgid "Attached {1} channel"
msgid_plural "Attached {1} channels"
msgstr[0] "Прикачен е канал {1}"
msgstr[1] "Прикачени са канали {1}"
#: Client.cpp:1798
#: Client.cpp:1799
msgid "Usage: /detach <#chans>"
msgstr "Употреба: /detach <#chans>"
#: Client.cpp:1808 ClientCommand.cpp:154
#: Client.cpp:1809 ClientCommand.cpp:154
#, c++-format
msgid "Detached {1} channel"
msgid_plural "Detached {1} channels"
+10 -10
View File
@@ -250,35 +250,35 @@ msgid ""
"You are being disconnected because another user just authenticated as you."
msgstr ""
#: Client.cpp:1426
#: Client.cpp:1427
#, c++-format
msgid "Your CTCP to {1} got lost, you are not connected to IRC!"
msgstr ""
#: Client.cpp:1553
#: Client.cpp:1554
#, c++-format
msgid "Your notice to {1} got lost, you are not connected to IRC!"
msgstr ""
#: Client.cpp:1591
#: Client.cpp:1592
#, c++-format
msgid "Removing channel {1}"
msgstr ""
#: Client.cpp:1704
#: Client.cpp:1705
#, c++-format
msgid "Your message to {1} got lost, you are not connected to IRC!"
msgstr ""
#: Client.cpp:1756 Client.cpp:1762
#: Client.cpp:1757 Client.cpp:1763
msgid "Hello. How may I help you?"
msgstr ""
#: Client.cpp:1776
#: Client.cpp:1777
msgid "Usage: /attach <#chans>"
msgstr ""
#: Client.cpp:1783 Client.cpp:1805 ClientCommand.cpp:129 ClientCommand.cpp:151
#: Client.cpp:1784 Client.cpp:1806 ClientCommand.cpp:129 ClientCommand.cpp:151
#: ClientCommand.cpp:423 ClientCommand.cpp:450
#, c++-format
msgid "There was {1} channel matching [{2}]"
@@ -286,18 +286,18 @@ msgid_plural "There were {1} channels matching [{2}]"
msgstr[0] ""
msgstr[1] ""
#: Client.cpp:1786 ClientCommand.cpp:132
#: Client.cpp:1787 ClientCommand.cpp:132
#, c++-format
msgid "Attached {1} channel"
msgid_plural "Attached {1} channels"
msgstr[0] ""
msgstr[1] ""
#: Client.cpp:1798
#: Client.cpp:1799
msgid "Usage: /detach <#chans>"
msgstr ""
#: Client.cpp:1808 ClientCommand.cpp:154
#: Client.cpp:1809 ClientCommand.cpp:154
#, c++-format
msgid "Detached {1} channel"
msgid_plural "Detached {1} channels"
+10 -10
View File
@@ -277,38 +277,38 @@ msgstr ""
"Deine Verbindung wird getrennt, da ein anderen Benutzer sich als dich "
"angemeldet hat."
#: Client.cpp:1426
#: Client.cpp:1427
#, c++-format
msgid "Your CTCP to {1} got lost, you are not connected to IRC!"
msgstr "Dein CTCP an {1} wurde verloren, du bist nicht mit dem IRC verbunden!"
#: Client.cpp:1553
#: Client.cpp:1554
#, c++-format
msgid "Your notice to {1} got lost, you are not connected to IRC!"
msgstr ""
"Deine Benachrichtigung an {1} wurde verloren, du bist nicht mit dem IRC "
"verbunden!"
#: Client.cpp:1591
#: Client.cpp:1592
#, c++-format
msgid "Removing channel {1}"
msgstr "Entferne Kanal {1}"
#: Client.cpp:1704
#: Client.cpp:1705
#, c++-format
msgid "Your message to {1} got lost, you are not connected to IRC!"
msgstr ""
"Deine Nachricht an {1} wurde verloren, du bist nicht mit dem IRC verbunden!"
#: Client.cpp:1756 Client.cpp:1762
#: Client.cpp:1757 Client.cpp:1763
msgid "Hello. How may I help you?"
msgstr "Hallo. Wie kann ich dir helfen?"
#: Client.cpp:1776
#: Client.cpp:1777
msgid "Usage: /attach <#chans>"
msgstr "Verwendung: /attach <#Kanal>"
#: Client.cpp:1783 Client.cpp:1805 ClientCommand.cpp:129 ClientCommand.cpp:151
#: Client.cpp:1784 Client.cpp:1806 ClientCommand.cpp:129 ClientCommand.cpp:151
#: ClientCommand.cpp:423 ClientCommand.cpp:450
#, c++-format
msgid "There was {1} channel matching [{2}]"
@@ -316,18 +316,18 @@ msgid_plural "There were {1} channels matching [{2}]"
msgstr[0] "Es gibt einen Kanal, der auf [{2}] passt"
msgstr[1] "Es gibt {1} Kanäle, die auf [{2}] passen"
#: Client.cpp:1786 ClientCommand.cpp:132
#: Client.cpp:1787 ClientCommand.cpp:132
#, c++-format
msgid "Attached {1} channel"
msgid_plural "Attached {1} channels"
msgstr[0] "Zu {1} Kanal verbunden"
msgstr[1] "Zu {1} Kanälen verbunden"
#: Client.cpp:1798
#: Client.cpp:1799
msgid "Usage: /detach <#chans>"
msgstr "Verwendung: /detach <#Kanäle>"
#: Client.cpp:1808 ClientCommand.cpp:154
#: Client.cpp:1809 ClientCommand.cpp:154
#, c++-format
msgid "Detached {1} channel"
msgid_plural "Detached {1} channels"
+10 -10
View File
@@ -250,35 +250,35 @@ msgid ""
"You are being disconnected because another user just authenticated as you."
msgstr ""
#: Client.cpp:1426
#: Client.cpp:1427
#, c++-format
msgid "Your CTCP to {1} got lost, you are not connected to IRC!"
msgstr ""
#: Client.cpp:1553
#: Client.cpp:1554
#, c++-format
msgid "Your notice to {1} got lost, you are not connected to IRC!"
msgstr ""
#: Client.cpp:1591
#: Client.cpp:1592
#, c++-format
msgid "Removing channel {1}"
msgstr ""
#: Client.cpp:1704
#: Client.cpp:1705
#, c++-format
msgid "Your message to {1} got lost, you are not connected to IRC!"
msgstr ""
#: Client.cpp:1756 Client.cpp:1762
#: Client.cpp:1757 Client.cpp:1763
msgid "Hello. How may I help you?"
msgstr ""
#: Client.cpp:1776
#: Client.cpp:1777
msgid "Usage: /attach <#chans>"
msgstr ""
#: Client.cpp:1783 Client.cpp:1805 ClientCommand.cpp:129 ClientCommand.cpp:151
#: Client.cpp:1784 Client.cpp:1806 ClientCommand.cpp:129 ClientCommand.cpp:151
#: ClientCommand.cpp:423 ClientCommand.cpp:450
#, c++-format
msgid "There was {1} channel matching [{2}]"
@@ -286,18 +286,18 @@ msgid_plural "There were {1} channels matching [{2}]"
msgstr[0] ""
msgstr[1] ""
#: Client.cpp:1786 ClientCommand.cpp:132
#: Client.cpp:1787 ClientCommand.cpp:132
#, c++-format
msgid "Attached {1} channel"
msgid_plural "Attached {1} channels"
msgstr[0] ""
msgstr[1] ""
#: Client.cpp:1798
#: Client.cpp:1799
msgid "Usage: /detach <#chans>"
msgstr ""
#: Client.cpp:1808 ClientCommand.cpp:154
#: Client.cpp:1809 ClientCommand.cpp:154
#, c++-format
msgid "Detached {1} channel"
msgid_plural "Detached {1} channels"
+10 -10
View File
@@ -266,35 +266,35 @@ msgid ""
msgstr ""
"Estás siendo desconectado porque otro usuario se ha autenticado por ti."
#: Client.cpp:1426
#: Client.cpp:1427
#, c++-format
msgid "Your CTCP to {1} got lost, you are not connected to IRC!"
msgstr "Tu CTCP a {1} se ha perdido, ¡no estás conectado al IRC!"
#: Client.cpp:1553
#: Client.cpp:1554
#, c++-format
msgid "Your notice to {1} got lost, you are not connected to IRC!"
msgstr "Tu notice a {1} se ha perdido, ¡no estás conectado al IRC!"
#: Client.cpp:1591
#: Client.cpp:1592
#, c++-format
msgid "Removing channel {1}"
msgstr "Eliminando canal {1}"
#: Client.cpp:1704
#: Client.cpp:1705
#, c++-format
msgid "Your message to {1} got lost, you are not connected to IRC!"
msgstr "Tu mensaje a {1} se ha perdido, ¡no estás conectado al IRC!"
#: Client.cpp:1756 Client.cpp:1762
#: Client.cpp:1757 Client.cpp:1763
msgid "Hello. How may I help you?"
msgstr "Hola. ¿En qué te puedo ayudar?"
#: Client.cpp:1776
#: Client.cpp:1777
msgid "Usage: /attach <#chans>"
msgstr "Uso: /attach <#canales>"
#: Client.cpp:1783 Client.cpp:1805 ClientCommand.cpp:129 ClientCommand.cpp:151
#: Client.cpp:1784 Client.cpp:1806 ClientCommand.cpp:129 ClientCommand.cpp:151
#: ClientCommand.cpp:423 ClientCommand.cpp:450
#, c++-format
msgid "There was {1} channel matching [{2}]"
@@ -302,18 +302,18 @@ msgid_plural "There were {1} channels matching [{2}]"
msgstr[0] "Hay {1} canal que coincide con [{2}]"
msgstr[1] "Hay {1} canales que coinciden con [{2}]"
#: Client.cpp:1786 ClientCommand.cpp:132
#: Client.cpp:1787 ClientCommand.cpp:132
#, c++-format
msgid "Attached {1} channel"
msgid_plural "Attached {1} channels"
msgstr[0] "Vinculado a {1} canal"
msgstr[1] "Unido a {1} canales"
#: Client.cpp:1798
#: Client.cpp:1799
msgid "Usage: /detach <#chans>"
msgstr "Uso: /detach <#canales>"
#: Client.cpp:1808 ClientCommand.cpp:154
#: Client.cpp:1809 ClientCommand.cpp:154
#, c++-format
msgid "Detached {1} channel"
msgid_plural "Detached {1} channels"
+10 -10
View File
@@ -274,36 +274,36 @@ msgstr ""
"Vous avez été déconnecté car un autre utilisateur s'est authentifié avec le "
"même identifiant."
#: Client.cpp:1426
#: Client.cpp:1427
#, c++-format
msgid "Your CTCP to {1} got lost, you are not connected to IRC!"
msgstr ""
"Votre connexion CTCP vers {1} a été perdue, vous n'êtes plus connecté à IRC !"
#: Client.cpp:1553
#: Client.cpp:1554
#, c++-format
msgid "Your notice to {1} got lost, you are not connected to IRC!"
msgstr "Votre notice vers {1} a été perdue, vous n'êtes plus connecté à IRC !"
#: Client.cpp:1591
#: Client.cpp:1592
#, c++-format
msgid "Removing channel {1}"
msgstr "Suppression du salon {1}"
#: Client.cpp:1704
#: Client.cpp:1705
#, c++-format
msgid "Your message to {1} got lost, you are not connected to IRC!"
msgstr "Votre message à {1} a été perdu, vous n'êtes pas connecté à IRC !"
#: Client.cpp:1756 Client.cpp:1762
#: Client.cpp:1757 Client.cpp:1763
msgid "Hello. How may I help you?"
msgstr "Bonjour. Comment puis-je vous aider ?"
#: Client.cpp:1776
#: Client.cpp:1777
msgid "Usage: /attach <#chans>"
msgstr "Utilisation : /attach <#salons>"
#: Client.cpp:1783 Client.cpp:1805 ClientCommand.cpp:129 ClientCommand.cpp:151
#: Client.cpp:1784 Client.cpp:1806 ClientCommand.cpp:129 ClientCommand.cpp:151
#: ClientCommand.cpp:423 ClientCommand.cpp:450
#, c++-format
msgid "There was {1} channel matching [{2}]"
@@ -311,18 +311,18 @@ msgid_plural "There were {1} channels matching [{2}]"
msgstr[0] "Il y avait {1} salon correspondant [{2}]"
msgstr[1] "Il y avait {1} salons correspondant [{2}]"
#: Client.cpp:1786 ClientCommand.cpp:132
#: Client.cpp:1787 ClientCommand.cpp:132
#, c++-format
msgid "Attached {1} channel"
msgid_plural "Attached {1} channels"
msgstr[0] "A attaché {1} salon"
msgstr[1] "A attaché {1} salons"
#: Client.cpp:1798
#: Client.cpp:1799
msgid "Usage: /detach <#chans>"
msgstr "Utilisation : /detach <#salons>"
#: Client.cpp:1808 ClientCommand.cpp:154
#: Client.cpp:1809 ClientCommand.cpp:154
#, c++-format
msgid "Detached {1} channel"
msgid_plural "Detached {1} channels"
+10 -10
View File
@@ -267,52 +267,52 @@ msgid ""
"You are being disconnected because another user just authenticated as you."
msgstr "Anda terputus karena pengguna lain hanya diautentikasi sebagai anda."
#: Client.cpp:1426
#: Client.cpp:1427
#, c++-format
msgid "Your CTCP to {1} got lost, you are not connected to IRC!"
msgstr "CTCP anda untuk {1} tersesat, anda tidak terhubung ke IRC!"
#: Client.cpp:1553
#: Client.cpp:1554
#, c++-format
msgid "Your notice to {1} got lost, you are not connected to IRC!"
msgstr "Notice anda untuk {1} tersesat, anda tidak terhubung ke IRC!"
#: Client.cpp:1591
#: Client.cpp:1592
#, c++-format
msgid "Removing channel {1}"
msgstr "Menghapus channel {1}"
#: Client.cpp:1704
#: Client.cpp:1705
#, c++-format
msgid "Your message to {1} got lost, you are not connected to IRC!"
msgstr "Pesan anda untuk {1} tersesat, anda tidak terhubung ke IRC!"
#: Client.cpp:1756 Client.cpp:1762
#: Client.cpp:1757 Client.cpp:1763
msgid "Hello. How may I help you?"
msgstr "Halo. Bagaimana saya bisa membantu anda?"
#: Client.cpp:1776
#: Client.cpp:1777
msgid "Usage: /attach <#chans>"
msgstr "Gunakan: /attach <#chan>"
#: Client.cpp:1783 Client.cpp:1805 ClientCommand.cpp:129 ClientCommand.cpp:151
#: Client.cpp:1784 Client.cpp:1806 ClientCommand.cpp:129 ClientCommand.cpp:151
#: ClientCommand.cpp:423 ClientCommand.cpp:450
#, c++-format
msgid "There was {1} channel matching [{2}]"
msgid_plural "There were {1} channels matching [{2}]"
msgstr[0] "Ada {1} pencocokan saluran [{2}]"
#: Client.cpp:1786 ClientCommand.cpp:132
#: Client.cpp:1787 ClientCommand.cpp:132
#, c++-format
msgid "Attached {1} channel"
msgid_plural "Attached {1} channels"
msgstr[0] ""
#: Client.cpp:1798
#: Client.cpp:1799
msgid "Usage: /detach <#chans>"
msgstr ""
#: Client.cpp:1808 ClientCommand.cpp:154
#: Client.cpp:1809 ClientCommand.cpp:154
#, c++-format
msgid "Detached {1} channel"
msgid_plural "Detached {1} channels"
+10 -10
View File
@@ -272,43 +272,43 @@ msgstr ""
"Stai per essere disconnesso perché un altro utente si è appena autenticato "
"come te."
#: Client.cpp:1426
#: Client.cpp:1427
#, c++-format
msgid "Your CTCP to {1} got lost, you are not connected to IRC!"
msgstr ""
"ATTENZIONE: La richiesta di CTCP verso {1} è andata persa. Ora non sei "
"connesso ad IRC!"
#: Client.cpp:1553
#: Client.cpp:1554
#, c++-format
msgid "Your notice to {1} got lost, you are not connected to IRC!"
msgstr ""
"ATTENZIONE: L'invio del tuo NOTICE verso {1} è andato perso. Ora non sei "
"connesso ad IRC!"
#: Client.cpp:1591
#: Client.cpp:1592
#, c++-format
msgid "Removing channel {1}"
msgstr "Rimozione del canale {1}"
#: Client.cpp:1704
#: Client.cpp:1705
#, c++-format
msgid "Your message to {1} got lost, you are not connected to IRC!"
msgstr ""
"ATTENZIONE: L'invio del tuo messaggio verso {1} è andato perso. Ora non sei "
"connesso ad IRC!"
#: Client.cpp:1756 Client.cpp:1762
#: Client.cpp:1757 Client.cpp:1763
msgid "Hello. How may I help you?"
msgstr ""
"Ciao! Per ottenere aiuto su questo e tutti i moduli della ZNC digita help "
"(da questa finestra) oppure /znc help (in qualsiasi altra finestra)."
#: Client.cpp:1776
#: Client.cpp:1777
msgid "Usage: /attach <#chans>"
msgstr "Usa: /attach <#canali>"
#: Client.cpp:1783 Client.cpp:1805 ClientCommand.cpp:129 ClientCommand.cpp:151
#: Client.cpp:1784 Client.cpp:1806 ClientCommand.cpp:129 ClientCommand.cpp:151
#: ClientCommand.cpp:423 ClientCommand.cpp:450
#, c++-format
msgid "There was {1} channel matching [{2}]"
@@ -316,18 +316,18 @@ msgid_plural "There were {1} channels matching [{2}]"
msgstr[0] "Trovato {1} canale corrispondente a [{2}]"
msgstr[1] "Ho trovato {1} canali corrispondenti a [{2}]"
#: Client.cpp:1786 ClientCommand.cpp:132
#: Client.cpp:1787 ClientCommand.cpp:132
#, c++-format
msgid "Attached {1} channel"
msgid_plural "Attached {1} channels"
msgstr[0] "Agganciato {1} canale (Attached)"
msgstr[1] "Ho agganciato {1} canali (Attached)"
#: Client.cpp:1798
#: Client.cpp:1799
msgid "Usage: /detach <#chans>"
msgstr "Usa: /detach <#canali>"
#: Client.cpp:1808 ClientCommand.cpp:154
#: Client.cpp:1809 ClientCommand.cpp:154
#, c++-format
msgid "Detached {1} channel"
msgid_plural "Detached {1} channels"
+10 -10
View File
@@ -279,37 +279,37 @@ msgstr ""
"Je verbinding wordt verbroken omdat een andere gebruiker zich net aangemeld "
"heeft als jou."
#: Client.cpp:1426
#: Client.cpp:1427
#, c++-format
msgid "Your CTCP to {1} got lost, you are not connected to IRC!"
msgstr "Je CTCP naar {1} is verloren geraakt, je bent niet verbonden met IRC!"
#: Client.cpp:1553
#: Client.cpp:1554
#, c++-format
msgid "Your notice to {1} got lost, you are not connected to IRC!"
msgstr ""
"Je notice naar {1} is verloren geraakt, je bent niet verbonden met IRC!"
#: Client.cpp:1591
#: Client.cpp:1592
#, c++-format
msgid "Removing channel {1}"
msgstr "Kanaal verwijderen: {1}"
#: Client.cpp:1704
#: Client.cpp:1705
#, c++-format
msgid "Your message to {1} got lost, you are not connected to IRC!"
msgstr ""
"Je bericht naar {1} is verloren geraakt, je bent niet verbonden met IRC!"
#: Client.cpp:1756 Client.cpp:1762
#: Client.cpp:1757 Client.cpp:1763
msgid "Hello. How may I help you?"
msgstr "Hallo. Hoe kan ik je helpen?"
#: Client.cpp:1776
#: Client.cpp:1777
msgid "Usage: /attach <#chans>"
msgstr "Gebruik: /attach <#kanalen>"
#: Client.cpp:1783 Client.cpp:1805 ClientCommand.cpp:129 ClientCommand.cpp:151
#: Client.cpp:1784 Client.cpp:1806 ClientCommand.cpp:129 ClientCommand.cpp:151
#: ClientCommand.cpp:423 ClientCommand.cpp:450
#, c++-format
msgid "There was {1} channel matching [{2}]"
@@ -317,18 +317,18 @@ msgid_plural "There were {1} channels matching [{2}]"
msgstr[0] "Er was {1} kanaal overeenkomend met [{2}]"
msgstr[1] "Er waren {1} kanalen overeenkomend met [{2}]"
#: Client.cpp:1786 ClientCommand.cpp:132
#: Client.cpp:1787 ClientCommand.cpp:132
#, c++-format
msgid "Attached {1} channel"
msgid_plural "Attached {1} channels"
msgstr[0] "Gekoppeld aan {1} kanaal"
msgstr[1] "Gekoppeld aan {1} kanalen"
#: Client.cpp:1798
#: Client.cpp:1799
msgid "Usage: /detach <#chans>"
msgstr "Gebruik: /detach <#kanalen>"
#: Client.cpp:1808 ClientCommand.cpp:154
#: Client.cpp:1809 ClientCommand.cpp:154
#, c++-format
msgid "Detached {1} channel"
msgid_plural "Detached {1} channels"
+10 -10
View File
@@ -271,36 +271,36 @@ msgid ""
msgstr ""
"Trwa rozłączanie, ponieważ inny użytkownik właśnie uwierzytelnił się jako Ty."
#: Client.cpp:1426
#: Client.cpp:1427
#, c++-format
msgid "Your CTCP to {1} got lost, you are not connected to IRC!"
msgstr "Twoje CTCP do {1} zostało zgubione, nie jesteś połączony z IRC!"
#: Client.cpp:1553
#: Client.cpp:1554
#, c++-format
msgid "Your notice to {1} got lost, you are not connected to IRC!"
msgstr ""
"Twoje powiadomienie do {1} zostało zgubione, nie jesteś połączony z IRC!"
#: Client.cpp:1591
#: Client.cpp:1592
#, c++-format
msgid "Removing channel {1}"
msgstr "Usuwanie kanału {1}"
#: Client.cpp:1704
#: Client.cpp:1705
#, c++-format
msgid "Your message to {1} got lost, you are not connected to IRC!"
msgstr "Twoja wiadomość do {1} została zgubiona, nie jesteś połączony z IRC!"
#: Client.cpp:1756 Client.cpp:1762
#: Client.cpp:1757 Client.cpp:1763
msgid "Hello. How may I help you?"
msgstr "Witaj. Jak mogę ci pomóc?"
#: Client.cpp:1776
#: Client.cpp:1777
msgid "Usage: /attach <#chans>"
msgstr "Użycie: /attach <#kanały>"
#: Client.cpp:1783 Client.cpp:1805 ClientCommand.cpp:129 ClientCommand.cpp:151
#: Client.cpp:1784 Client.cpp:1806 ClientCommand.cpp:129 ClientCommand.cpp:151
#: ClientCommand.cpp:423 ClientCommand.cpp:450
#, c++-format
msgid "There was {1} channel matching [{2}]"
@@ -310,7 +310,7 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
#: Client.cpp:1786 ClientCommand.cpp:132
#: Client.cpp:1787 ClientCommand.cpp:132
#, c++-format
msgid "Attached {1} channel"
msgid_plural "Attached {1} channels"
@@ -319,11 +319,11 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
#: Client.cpp:1798
#: Client.cpp:1799
msgid "Usage: /detach <#chans>"
msgstr "Użycie: /detach <#kanały>"
#: Client.cpp:1808 ClientCommand.cpp:154
#: Client.cpp:1809 ClientCommand.cpp:154
#, c++-format
msgid "Detached {1} channel"
msgid_plural "Detached {1} channels"
+10 -10
View File
@@ -241,35 +241,35 @@ msgid ""
"You are being disconnected because another user just authenticated as you."
msgstr ""
#: Client.cpp:1426
#: Client.cpp:1427
#, c++-format
msgid "Your CTCP to {1} got lost, you are not connected to IRC!"
msgstr ""
#: Client.cpp:1553
#: Client.cpp:1554
#, c++-format
msgid "Your notice to {1} got lost, you are not connected to IRC!"
msgstr ""
#: Client.cpp:1591
#: Client.cpp:1592
#, c++-format
msgid "Removing channel {1}"
msgstr ""
#: Client.cpp:1704
#: Client.cpp:1705
#, c++-format
msgid "Your message to {1} got lost, you are not connected to IRC!"
msgstr ""
#: Client.cpp:1756 Client.cpp:1762
#: Client.cpp:1757 Client.cpp:1763
msgid "Hello. How may I help you?"
msgstr ""
#: Client.cpp:1776
#: Client.cpp:1777
msgid "Usage: /attach <#chans>"
msgstr ""
#: Client.cpp:1783 Client.cpp:1805 ClientCommand.cpp:129 ClientCommand.cpp:151
#: Client.cpp:1784 Client.cpp:1806 ClientCommand.cpp:129 ClientCommand.cpp:151
#: ClientCommand.cpp:423 ClientCommand.cpp:450
#, c++-format
msgid "There was {1} channel matching [{2}]"
@@ -277,18 +277,18 @@ msgid_plural "There were {1} channels matching [{2}]"
msgstr[0] ""
msgstr[1] ""
#: Client.cpp:1786 ClientCommand.cpp:132
#: Client.cpp:1787 ClientCommand.cpp:132
#, c++-format
msgid "Attached {1} channel"
msgid_plural "Attached {1} channels"
msgstr[0] ""
msgstr[1] ""
#: Client.cpp:1798
#: Client.cpp:1799
msgid "Usage: /detach <#chans>"
msgstr ""
#: Client.cpp:1808 ClientCommand.cpp:154
#: Client.cpp:1809 ClientCommand.cpp:154
#, c++-format
msgid "Detached {1} channel"
msgid_plural "Detached {1} channels"
+10 -10
View File
@@ -270,35 +270,35 @@ msgstr ""
"Você está sendo desconectado porque outro usuário acabou de autenticar-se "
"como você."
#: Client.cpp:1426
#: Client.cpp:1427
#, c++-format
msgid "Your CTCP to {1} got lost, you are not connected to IRC!"
msgstr "O seu CTCP para {1} foi perdido, você não está conectado ao IRC!"
#: Client.cpp:1553
#: Client.cpp:1554
#, c++-format
msgid "Your notice to {1} got lost, you are not connected to IRC!"
msgstr "O seu aviso para {1} foi perdido, você não está conectado ao IRC!"
#: Client.cpp:1591
#: Client.cpp:1592
#, c++-format
msgid "Removing channel {1}"
msgstr "Removendo canal {1}"
#: Client.cpp:1704
#: Client.cpp:1705
#, c++-format
msgid "Your message to {1} got lost, you are not connected to IRC!"
msgstr "Sua mensagem para {1} foi perdida, você não está conectado ao IRC!"
#: Client.cpp:1756 Client.cpp:1762
#: Client.cpp:1757 Client.cpp:1763
msgid "Hello. How may I help you?"
msgstr "Olá. Como posso ajudá-lo(a)?"
#: Client.cpp:1776
#: Client.cpp:1777
msgid "Usage: /attach <#chans>"
msgstr "Sintaxe: /attach <#canais>"
#: Client.cpp:1783 Client.cpp:1805 ClientCommand.cpp:129 ClientCommand.cpp:151
#: Client.cpp:1784 Client.cpp:1806 ClientCommand.cpp:129 ClientCommand.cpp:151
#: ClientCommand.cpp:423 ClientCommand.cpp:450
#, c++-format
msgid "There was {1} channel matching [{2}]"
@@ -306,18 +306,18 @@ msgid_plural "There were {1} channels matching [{2}]"
msgstr[0] "Foi encontrado {1} canal correspondente a [{2}]"
msgstr[1] "Foi encontrado {1} canal correspondentes a [{2}]"
#: Client.cpp:1786 ClientCommand.cpp:132
#: Client.cpp:1787 ClientCommand.cpp:132
#, c++-format
msgid "Attached {1} channel"
msgid_plural "Attached {1} channels"
msgstr[0] "{1} canal foi anexado"
msgstr[1] "{1} canais foram anexados"
#: Client.cpp:1798
#: Client.cpp:1799
msgid "Usage: /detach <#chans>"
msgstr "Sintaxe: /detach <#canais>"
#: Client.cpp:1808 ClientCommand.cpp:154
#: Client.cpp:1809 ClientCommand.cpp:154
#, c++-format
msgid "Detached {1} channel"
msgid_plural "Detached {1} channels"
+10 -10
View File
@@ -268,35 +268,35 @@ msgid ""
msgstr ""
"Está a ser desligado porque outro utilizador autenticou-se agora como você."
#: Client.cpp:1426
#: Client.cpp:1427
#, c++-format
msgid "Your CTCP to {1} got lost, you are not connected to IRC!"
msgstr "O seu CTCP para {1} foi perdido, não está ligado ao IRC!"
#: Client.cpp:1553
#: Client.cpp:1554
#, c++-format
msgid "Your notice to {1} got lost, you are not connected to IRC!"
msgstr "O seu notice para {1} foi perdido, não está ligado ao IRC!"
#: Client.cpp:1591
#: Client.cpp:1592
#, c++-format
msgid "Removing channel {1}"
msgstr "A remover o canal {1}"
#: Client.cpp:1704
#: Client.cpp:1705
#, c++-format
msgid "Your message to {1} got lost, you are not connected to IRC!"
msgstr "A sua mensagem para {1} foi perdida, não está ligado ao IRC!"
#: Client.cpp:1756 Client.cpp:1762
#: Client.cpp:1757 Client.cpp:1763
msgid "Hello. How may I help you?"
msgstr "Olá. Como posso ajudá-lo(a)?"
#: Client.cpp:1776
#: Client.cpp:1777
msgid "Usage: /attach <#chans>"
msgstr "Utilização: /attach <#canais>"
#: Client.cpp:1783 Client.cpp:1805 ClientCommand.cpp:129 ClientCommand.cpp:151
#: Client.cpp:1784 Client.cpp:1806 ClientCommand.cpp:129 ClientCommand.cpp:151
#: ClientCommand.cpp:423 ClientCommand.cpp:450
#, c++-format
msgid "There was {1} channel matching [{2}]"
@@ -304,18 +304,18 @@ msgid_plural "There were {1} channels matching [{2}]"
msgstr[0] "Há {1} canal a coincidir com [{2}]"
msgstr[1] "Há {1} canais a coincidir com [{2}]"
#: Client.cpp:1786 ClientCommand.cpp:132
#: Client.cpp:1787 ClientCommand.cpp:132
#, c++-format
msgid "Attached {1} channel"
msgid_plural "Attached {1} channels"
msgstr[0] "{1} canal unido"
msgstr[1] "{1} canais unidos"
#: Client.cpp:1798
#: Client.cpp:1799
msgid "Usage: /detach <#chans>"
msgstr "Utilização: /detach <#canais>"
#: Client.cpp:1808 ClientCommand.cpp:154
#: Client.cpp:1809 ClientCommand.cpp:154
#, c++-format
msgid "Detached {1} channel"
msgid_plural "Detached {1} channels"
+10 -10
View File
@@ -265,35 +265,35 @@ msgid ""
"You are being disconnected because another user just authenticated as you."
msgstr ""
#: Client.cpp:1426
#: Client.cpp:1427
#, c++-format
msgid "Your CTCP to {1} got lost, you are not connected to IRC!"
msgstr ""
#: Client.cpp:1553
#: Client.cpp:1554
#, c++-format
msgid "Your notice to {1} got lost, you are not connected to IRC!"
msgstr ""
#: Client.cpp:1591
#: Client.cpp:1592
#, c++-format
msgid "Removing channel {1}"
msgstr "Eliminare canal {1}"
#: Client.cpp:1704
#: Client.cpp:1705
#, c++-format
msgid "Your message to {1} got lost, you are not connected to IRC!"
msgstr ""
#: Client.cpp:1756 Client.cpp:1762
#: Client.cpp:1757 Client.cpp:1763
msgid "Hello. How may I help you?"
msgstr "Salut. Cu ce te pot ajuta?"
#: Client.cpp:1776
#: Client.cpp:1777
msgid "Usage: /attach <#chans>"
msgstr "Utilizează: /attach <#canale>"
#: Client.cpp:1783 Client.cpp:1805 ClientCommand.cpp:129 ClientCommand.cpp:151
#: Client.cpp:1784 Client.cpp:1806 ClientCommand.cpp:129 ClientCommand.cpp:151
#: ClientCommand.cpp:423 ClientCommand.cpp:450
#, c++-format
msgid "There was {1} channel matching [{2}]"
@@ -302,7 +302,7 @@ msgstr[0] "A existat {1} canal care se potrivește cu [{2}]"
msgstr[1] ""
msgstr[2] "Au existat {1} canale care se potrivesc cu [{2}]"
#: Client.cpp:1786 ClientCommand.cpp:132
#: Client.cpp:1787 ClientCommand.cpp:132
#, c++-format
msgid "Attached {1} channel"
msgid_plural "Attached {1} channels"
@@ -310,11 +310,11 @@ msgstr[0] "Am atașat {1} canal"
msgstr[1] ""
msgstr[2] "Am atașat {1} canale"
#: Client.cpp:1798
#: Client.cpp:1799
msgid "Usage: /detach <#chans>"
msgstr "Utilizează: /detach <#canale>"
#: Client.cpp:1808 ClientCommand.cpp:154
#: Client.cpp:1809 ClientCommand.cpp:154
#, c++-format
msgid "Detached {1} channel"
msgid_plural "Detached {1} channels"
+10 -10
View File
@@ -265,35 +265,35 @@ msgid ""
"You are being disconnected because another user just authenticated as you."
msgstr "Другой пользователь зашёл под вашим именем, отключаем."
#: Client.cpp:1426
#: Client.cpp:1427
#, c++-format
msgid "Your CTCP to {1} got lost, you are not connected to IRC!"
msgstr "Вы не подключены к IRC, ваш CTCP-запрос к {1} утерян!"
#: Client.cpp:1553
#: Client.cpp:1554
#, c++-format
msgid "Your notice to {1} got lost, you are not connected to IRC!"
msgstr "Вы не подключены к IRC, ваше сообщение к {1} утеряно!"
#: Client.cpp:1591
#: Client.cpp:1592
#, c++-format
msgid "Removing channel {1}"
msgstr "Убираю канал {1}"
#: Client.cpp:1704
#: Client.cpp:1705
#, c++-format
msgid "Your message to {1} got lost, you are not connected to IRC!"
msgstr "Вы не подключены к IRC, ваше сообщение к {1} утеряно!"
#: Client.cpp:1756 Client.cpp:1762
#: Client.cpp:1757 Client.cpp:1763
msgid "Hello. How may I help you?"
msgstr "Привет, чем могу быть вам полезен?"
#: Client.cpp:1776
#: Client.cpp:1777
msgid "Usage: /attach <#chans>"
msgstr "Использование: /attach <#каналы>"
#: Client.cpp:1783 Client.cpp:1805 ClientCommand.cpp:129 ClientCommand.cpp:151
#: Client.cpp:1784 Client.cpp:1806 ClientCommand.cpp:129 ClientCommand.cpp:151
#: ClientCommand.cpp:423 ClientCommand.cpp:450
#, c++-format
msgid "There was {1} channel matching [{2}]"
@@ -303,7 +303,7 @@ msgstr[1] "{1} канала подходят под маску [{2}]"
msgstr[2] "{1} каналов подходят под маску [{2}]"
msgstr[3] "{1} каналов подходят под маску [{2}]"
#: Client.cpp:1786 ClientCommand.cpp:132
#: Client.cpp:1787 ClientCommand.cpp:132
#, c++-format
msgid "Attached {1} channel"
msgid_plural "Attached {1} channels"
@@ -312,11 +312,11 @@ msgstr[1] "Прицепляю {1} канала"
msgstr[2] "Прицепляю {1} каналов"
msgstr[3] "Прицепляю {1} каналов"
#: Client.cpp:1798
#: Client.cpp:1799
msgid "Usage: /detach <#chans>"
msgstr "Использование: /detach <#каналы>"
#: Client.cpp:1808 ClientCommand.cpp:154
#: Client.cpp:1809 ClientCommand.cpp:154
#, c++-format
msgid "Detached {1} channel"
msgid_plural "Detached {1} channels"
+10 -10
View File
@@ -268,35 +268,35 @@ msgid ""
msgstr ""
"Başka bir kullanıcı sizin kimliğinizi doğruladığı için bağlantınız kesiliyor."
#: Client.cpp:1426
#: Client.cpp:1427
#, c++-format
msgid "Your CTCP to {1} got lost, you are not connected to IRC!"
msgstr "{1}'e giden CTCP bağlantınız kayboldu, IRC'ye bağlı değilsiniz!"
#: Client.cpp:1553
#: Client.cpp:1554
#, c++-format
msgid "Your notice to {1} got lost, you are not connected to IRC!"
msgstr "{1}'a gönderdiğiniz bildirim kayboldu, IRC'ye bağlı değilsiniz!"
#: Client.cpp:1591
#: Client.cpp:1592
#, c++-format
msgid "Removing channel {1}"
msgstr "{1} kanalı kaldırılıyor"
#: Client.cpp:1704
#: Client.cpp:1705
#, c++-format
msgid "Your message to {1} got lost, you are not connected to IRC!"
msgstr "{1}'a gönderdiğiniz mesaj kayboldu, IRC'ye bağlı değilsiniz!"
#: Client.cpp:1756 Client.cpp:1762
#: Client.cpp:1757 Client.cpp:1763
msgid "Hello. How may I help you?"
msgstr "Merhaba. Size nasıl yardım edebilirim?"
#: Client.cpp:1776
#: Client.cpp:1777
msgid "Usage: /attach <#chans>"
msgstr "Kullanımı: attach <#kanallar>"
#: Client.cpp:1783 Client.cpp:1805 ClientCommand.cpp:129 ClientCommand.cpp:151
#: Client.cpp:1784 Client.cpp:1806 ClientCommand.cpp:129 ClientCommand.cpp:151
#: ClientCommand.cpp:423 ClientCommand.cpp:450
#, c++-format
msgid "There was {1} channel matching [{2}]"
@@ -304,18 +304,18 @@ msgid_plural "There were {1} channels matching [{2}]"
msgstr[0] "[{2}] ile eşleşen {1} kanal vardı"
msgstr[1] "[{2}] ile eşleşen {1} kanal vardı"
#: Client.cpp:1786 ClientCommand.cpp:132
#: Client.cpp:1787 ClientCommand.cpp:132
#, c++-format
msgid "Attached {1} channel"
msgid_plural "Attached {1} channels"
msgstr[0] "{1} kanalı eklendi"
msgstr[1] "{1} kanalları eklendi"
#: Client.cpp:1798
#: Client.cpp:1799
msgid "Usage: /detach <#chans>"
msgstr "Kullanımı: detach <#kanallar>"
#: Client.cpp:1808 ClientCommand.cpp:154
#: Client.cpp:1809 ClientCommand.cpp:154
#, c++-format
msgid "Detached {1} channel"
msgid_plural "Detached {1} channels"
+38
View File
@@ -581,5 +581,43 @@ TEST_F(ZNCTest, ModperlSaslAuth) {
"in as user");
}
TEST_F(ZNCTest, ModperlStringSet) {
#ifndef WANT_PERL
GTEST_SKIP() << "Modperl is disabled";
#endif
auto znc = Run();
znc->CanLeak();
InstallModule("sasltest.pm", R"(
package sasltest;
use base 'ZNC::Module';
sub module_types { $ZNC::CModInfo::GlobalModule }
sub OnClientGetSASLMechanisms {
my $self = shift;
my $mechs = shift;
$mechs->insert('FOO');
$self->GetClient->PutClientRaw("Test1: <" .
$mechs->has_key('AAA') . '/' .
$mechs->has_key('FOO') . '>');
$self->GetClient->PutClientRaw("Test2: " .
join('+', $mechs->keys) . '.');
}
1;
)");
auto ircd = ConnectIRCd();
auto client = LoginClient();
client.Write("znc loadmod modperl");
client.Write("znc loadmod sasltest");
client.ReadUntil("Loaded");
auto client2 = ConnectClient();
client2.Write("CAP LS 302");
client2.ReadUntil("Test1: </1>");
client2.ReadUntil("Test2: FOO+PLAIN.");
}
} // namespace
} // namespace znc_inttest