From baa798ce9f0cc9c1fa40df2d4aba6c9bb90a0a3d Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Tue, 21 Jul 2015 22:43:18 +0100 Subject: [PATCH 1/4] Fix -DVERSION_EXTRA="foo" It was broken since 58a34fa5adea8ffc519f03b30ec9c2f377bab9cd (since ZNC 1.2) --- include/znc/version.h | 3 +++ make-tarball.sh | 2 +- version.sh | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/include/znc/version.h b/include/znc/version.h index 0603b401..14d7bf16 100644 --- a/include/znc/version.h +++ b/include/znc/version.h @@ -11,6 +11,9 @@ #define VERSION (VERSION_MAJOR + VERSION_MINOR / 10.0) // You can add -DVERSION_EXTRA="stuff" to your CXXFLAGS! +#ifndef VERSION_EXTRA +# define VERSION_EXTRA "" +#endif extern const char* ZNC_VERSION_EXTRA; #endif diff --git a/make-tarball.sh b/make-tarball.sh index 29d03823..2cc8c520 100755 --- a/make-tarball.sh +++ b/make-tarball.sh @@ -54,7 +54,7 @@ sed -e 's:#include "defines.h":#include :' third_party/Csocket/Cs rm make-tarball.sh sed -e "s/THIS_IS_NOT_TARBALL//" -i Makefile.in echo '#include ' > src/version.cpp - echo "const char* ZNC_VERSION_EXTRA = \"$DESC\";" >> src/version.cpp + echo "const char* ZNC_VERSION_EXTRA = VERSION_EXTRA \"$DESC\";" >> src/version.cpp ) ( cd $TMPDIR diff --git a/version.sh b/version.sh index aab81116..9b8daeba 100755 --- a/version.sh +++ b/version.sh @@ -53,7 +53,7 @@ fi if [ "x$WRITE_OUTPUT" = "xyes" ] then echo '#include ' > src/version.cpp - echo "const char* ZNC_VERSION_EXTRA = \"$EXTRA\";" >> src/version.cpp + echo "const char* ZNC_VERSION_EXTRA = VERSION_EXTRA \"$EXTRA\";" >> src/version.cpp fi echo "$EXTRA" From 8a831adf1be48f7e6b613b843788fa303d3597e8 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Thu, 23 Jul 2015 01:11:16 +0100 Subject: [PATCH 2/4] '-L"/path"' -> '-L/path' --- znc-buildmod.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/znc-buildmod.in b/znc-buildmod.in index e9b3f9b1..1aa0e79b 100755 --- a/znc-buildmod.in +++ b/znc-buildmod.in @@ -39,7 +39,7 @@ LIBZNCDIR="@LIBZNCDIR@" if test "x" = "x$LIBZNC"; then LIBZNCFLAGS="" else - LIBZNCFLAGS="-L\"$LIBZNCDIR\" -lznc" + LIBZNCFLAGS="-L$LIBZNCDIR -lznc" fi LDFLAGS="$LIBZNCFLAGS $LDFLAGS" From b2c83321ef8101b8aff6ce0d50a9f110cc16e828 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Mon, 27 Jul 2015 01:38:02 +0200 Subject: [PATCH 3/4] Fix #1008: Channel keys get saved in a very wrong way --- src/Chan.cpp | 2 +- src/Client.cpp | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/Chan.cpp b/src/Chan.cpp index 3747fbdb..1e99758c 100644 --- a/src/Chan.cpp +++ b/src/Chan.cpp @@ -130,7 +130,7 @@ void CChan::Cycle() const { } void CChan::JoinUser(const CString& sKey) { - if (!sKey.empty()) { + if (!IsOn() && !sKey.empty()) { SetKey(sKey); } m_pNetwork->PutIRC("JOIN " + GetName() + " " + GetKey()); diff --git a/src/Client.cpp b/src/Client.cpp index fce77421..270a27d2 100644 --- a/src/Client.cpp +++ b/src/Client.cpp @@ -428,14 +428,19 @@ void CClient::ReadLine(const CString& sData) { return; } else if (sCommand.Equals("JOIN")) { CString sChans = sLine.Token(1).TrimPrefix_n(); - CString sKey = sLine.Token(2); + CString sKeys = sLine.Token(2); VCString vChans; sChans.Split(",", vChans, false); sChans.clear(); + VCString vKeys; + sKeys.Split(",", vKeys, true); + sKeys.clear(); + for (unsigned int a = 0; a < vChans.size(); a++) { CString sChannel = vChans[a]; + CString sKey = (a < vKeys.size()) ? vKeys[a] : ""; bool bContinue = false; NETWORKMODULECALL(OnUserJoin(sChannel, sKey), m_pUser, m_pNetwork, this, &bContinue); if (bContinue) continue; @@ -451,6 +456,10 @@ void CClient::ReadLine(const CString& sData) { if (!sChannel.empty()) { sChans += (sChans.empty()) ? sChannel : CString("," + sChannel); + + if (!vKeys.empty()) { + sKeys += (sKeys.empty()) ? sKey : CString("," + sKey); + } } } @@ -460,8 +469,8 @@ void CClient::ReadLine(const CString& sData) { sLine = "JOIN " + sChans; - if (!sKey.empty()) { - sLine += " " + sKey; + if (!sKeys.empty()) { + sLine += " " + sKeys; } } else if (sCommand.Equals("PART")) { CString sChans = sLine.Token(1).TrimPrefix_n(); From 0058b47d421950ac4d3e8092eb8d143746ed321b Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Tue, 28 Jul 2015 12:27:01 +0200 Subject: [PATCH 4/4] Fix #1007: modules_online uses wrong ident --- modules/modules_online.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/modules_online.cpp b/modules/modules_online.cpp index 9fc189dd..97133213 100644 --- a/modules/modules_online.cpp +++ b/modules/modules_online.cpp @@ -72,7 +72,7 @@ public: if (IsOnlineModNick(sNick)) { CIRCNetwork* pNetwork = GetNetwork(); - PutUser(":znc.in 311 " + pNetwork->GetCurNick() + " " + sNick + " " + sNick + " znc.in * :" + sNick); + PutUser(":znc.in 311 " + pNetwork->GetCurNick() + " " + sNick + " znc znc.in * :" + sNick); PutUser(":znc.in 312 " + pNetwork->GetCurNick() + " " + sNick + " *.znc.in :Bouncer"); PutUser(":znc.in 318 " + pNetwork->GetCurNick() + " " + sNick + " :End of /WHOIS list.");