mirror of
https://github.com/znc/znc.git
synced 2026-08-07 01:13:25 +02:00
Add test for #1229 and actually fix it.
This commit is contained in:
+1
-1
@@ -384,7 +384,7 @@ void CClient::AcceptLogin(CUser& User) {
|
||||
SetTimeout(CIRCNetwork::NO_TRAFFIC_TIMEOUT, TMO_READ);
|
||||
|
||||
SetSockName("USR::" + m_pUser->GetUserName());
|
||||
SetEncoding(CZNC::Get().FixupEncoding(m_pUser->GetClientEncoding()));
|
||||
SetEncoding(m_pUser->GetClientEncoding());
|
||||
|
||||
if (!m_sNetwork.empty()) {
|
||||
m_pNetwork = m_pUser->FindNetwork(m_sNetwork);
|
||||
|
||||
+1
-1
@@ -91,7 +91,7 @@ CIRCSock::CIRCSock(CIRCNetwork* pNetwork)
|
||||
EnableReadLine();
|
||||
m_Nick.SetIdent(m_pNetwork->GetIdent());
|
||||
m_Nick.SetHost(m_pNetwork->GetBindHost());
|
||||
SetEncoding(CZNC::Get().FixupEncoding((m_pNetwork->GetEncoding())));
|
||||
SetEncoding(m_pNetwork->GetEncoding());
|
||||
|
||||
m_mueChanModes['b'] = ListArg;
|
||||
m_mueChanModes['e'] = ListArg;
|
||||
|
||||
@@ -176,6 +176,12 @@ CString CZNCSock::GetSSLPeerFingerprint() const {
|
||||
#endif
|
||||
}
|
||||
|
||||
void CZNCSock::SetEncoding(const CString& sEncoding) {
|
||||
#ifdef HAVE_ICU
|
||||
Csock::SetEncoding(CZNC::Get().FixupEncoding(sEncoding));
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef HAVE_PTHREAD
|
||||
class CSockManager::CThreadMonitorFD : public CSMonitorFD {
|
||||
public:
|
||||
|
||||
+8
-1
@@ -2072,7 +2072,14 @@ void CZNC::ResumeConnectQueue() {
|
||||
}
|
||||
}
|
||||
|
||||
void CZNC::ForceEncoding() { m_uiForceEncoding++; }
|
||||
void CZNC::ForceEncoding() {
|
||||
m_uiForceEncoding++;
|
||||
for (Csock* pSock : GetManager()) {
|
||||
if (pSock->GetEncoding().empty()) {
|
||||
pSock->SetEncoding("UTF-8");
|
||||
}
|
||||
}
|
||||
}
|
||||
void CZNC::UnforceEncoding() { m_uiForceEncoding--; }
|
||||
bool CZNC::IsForcingEncoding() const { return m_uiForceEncoding; }
|
||||
CString CZNC::FixupEncoding(const CString& sEncoding) const {
|
||||
|
||||
Reference in New Issue
Block a user