Call OnFailedLogin() for all failed logins, not only those on the irc port

This breaks CAuthBase's API for modules that want to auth users.
Instead of overloading AcceptLogin() and RefuseLogin(), they now have to
overload AcceptedLogin() and RefusedLogin().

Modules that auth users (e.g. imapauth) still call AcceptLogin() and
RefuseLogin() which is where OnFailedLogin() gets called.


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1389 726aef4b-f618-498e-8847-2d620e286838
This commit is contained in:
psychon
2009-02-21 16:48:28 +00:00
parent 7a985ac077
commit cbc27f5bb9
3 changed files with 18 additions and 10 deletions
+6 -2
View File
@@ -619,13 +619,17 @@ CClientAuth::CClientAuth(CClient* pClient, const CString& sUsername, const CStri
m_pClient = pClient;
}
void CClientAuth::RefuseLogin(const CString& sReason) {
void CClientAuth::RefusedLogin(const CString& sReason) {
if (m_pClient) {
m_pClient->RefuseLogin(sReason);
}
}
void CAuthBase::RefuseLogin(const CString& sReason) {
#ifdef _MODULES
CZNC::Get().GetModules().OnFailedLogin(GetUsername(), GetRemoteIP());
#endif
RefusedLogin(sReason);
}
void CClient::RefuseLogin(const CString& sReason) {
@@ -639,7 +643,7 @@ void CClient::RefuseLogin(const CString& sReason) {
Close();
}
void CClientAuth::AcceptLogin(CUser& User) {
void CClientAuth::AcceptedLogin(CUser& User) {
if (m_pClient) {
m_pClient->AcceptLogin(User);
}
+8 -4
View File
@@ -36,13 +36,17 @@ public:
m_sRemoteIP = sRemoteIP;
}
virtual void AcceptLogin(CUser& User) = 0;
virtual void RefuseLogin(const CString& sReason) = 0;
void AcceptLogin(CUser& User) { AcceptedLogin(User); }
void RefuseLogin(const CString& sReason);
const CString& GetUsername() const { return m_sUsername; }
const CString& GetPassword() const { return m_sPassword; }
const CString& GetRemoteIP() const { return m_sRemoteIP; }
protected:
virtual void AcceptedLogin(CUser& User) = 0;
virtual void RefusedLogin(const CString& sReason) = 0;
private:
CString m_sUsername;
CString m_sPassword;
@@ -56,8 +60,8 @@ public:
virtual ~CClientAuth() {}
void SetClient(CClient* pClient) { m_pClient = pClient; }
void AcceptLogin(CUser& User);
void RefuseLogin(const CString& sReason);
void AcceptedLogin(CUser& User);
void RefusedLogin(const CString& sReason);
private:
protected:
CClient* m_pClient;
+4 -4
View File
@@ -26,8 +26,8 @@ public:
virtual ~CWebAdminAuth() {}
void SetWebAdminSock(CWebAdminSock* pWebAdminSock) { m_pWebAdminSock = pWebAdminSock; }
void AcceptLogin(CUser& User);
void RefuseLogin(const CString& sReason);
void AcceptedLogin(CUser& User);
void RefusedLogin(const CString& sReason);
private:
protected:
CWebAdminSock* m_pWebAdminSock;
@@ -1165,7 +1165,7 @@ CWebAdminAuth::CWebAdminAuth(CWebAdminSock* pWebAdminSock, const CString& sUsern
m_pWebAdminSock = pWebAdminSock;
}
void CWebAdminAuth::AcceptLogin(CUser& User) {
void CWebAdminAuth::AcceptedLogin(CUser& User) {
if (m_pWebAdminSock) {
m_pWebAdminSock->SetSessionUser(&User);
m_pWebAdminSock->SetLoggedIn(true);
@@ -1173,7 +1173,7 @@ void CWebAdminAuth::AcceptLogin(CUser& User) {
}
}
void CWebAdminAuth::RefuseLogin(const CString& sReason) {
void CWebAdminAuth::RefusedLogin(const CString& sReason) {
if (m_pWebAdminSock) {
m_pWebAdminSock->SetLoggedIn(false);
m_pWebAdminSock->UnPauseRead();