CAuthBase: Use a Csock* instead of a CString "sRemoteIP"

git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1511 726aef4b-f618-498e-8847-2d620e286838
This commit is contained in:
psychon
2009-05-20 09:30:19 +00:00
parent d980b42b90
commit 4e31d49209
3 changed files with 14 additions and 8 deletions
+7 -1
View File
@@ -620,7 +620,7 @@ void CClient::AuthUser() {
}
CClientAuth::CClientAuth(CClient* pClient, const CString& sUsername, const CString& sPassword)
: CAuthBase(sUsername, sPassword, pClient->GetRemoteIP()) {
: CAuthBase(sUsername, sPassword, pClient) {
m_pClient = pClient;
}
@@ -630,6 +630,12 @@ void CClientAuth::RefusedLogin(const CString& sReason) {
}
}
CString CAuthBase::GetRemoteIP() const {
if (m_pSock)
return m_pSock->GetRemoteIP();
return "";
}
void CAuthBase::RefuseLogin(const CString& sReason) {
CUser* pUser = CZNC::Get().GetUser(GetUsername());
+6 -6
View File
@@ -23,17 +23,17 @@ class CClientTimeout;
class CAuthBase {
public:
CAuthBase(const CString& sUsername, const CString& sPassword, const CString& sRemoteIP) {
SetLoginInfo(sUsername, sPassword, sRemoteIP);
CAuthBase(const CString& sUsername, const CString& sPassword, Csock *pSock) {
SetLoginInfo(sUsername, sPassword, pSock);
}
virtual ~CAuthBase() {}
virtual void SetLoginInfo(const CString& sUsername, const CString& sPassword,
const CString& sRemoteIP) {
Csock *pSock) {
m_sUsername = sUsername;
m_sPassword = sPassword;
m_sRemoteIP = sRemoteIP;
m_pSock = pSock;
}
void AcceptLogin(CUser& User) { AcceptedLogin(User); }
@@ -41,7 +41,7 @@ public:
const CString& GetUsername() const { return m_sUsername; }
const CString& GetPassword() const { return m_sPassword; }
const CString& GetRemoteIP() const { return m_sRemoteIP; }
CString GetRemoteIP() const;
protected:
virtual void AcceptedLogin(CUser& User) = 0;
@@ -50,7 +50,7 @@ protected:
private:
CString m_sUsername;
CString m_sPassword;
CString m_sRemoteIP;
Csock* m_pSock;
};
+1 -1
View File
@@ -1160,7 +1160,7 @@ CUser* CWebAdminSock::GetNewUser(CString& sPageRet, CUser* pUser) {
CWebAdminAuth::CWebAdminAuth(CWebAdminSock* pWebAdminSock, const CString& sUsername,
const CString& sPassword)
: CAuthBase(sUsername, sPassword, pWebAdminSock->GetRemoteIP()) {
: CAuthBase(sUsername, sPassword, pWebAdminSock) {
m_pWebAdminSock = pWebAdminSock;
}