mirror of
https://github.com/znc/znc.git
synced 2026-03-28 17:42:41 +01:00
Renamed CUserSock to CClient
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@581 726aef4b-f618-498e-8847-2d620e286838
This commit is contained in:
@@ -14,10 +14,10 @@ class CShellMod;
|
||||
|
||||
class CExecSock : public Csock {
|
||||
public:
|
||||
CExecSock(CShellMod* pShellMod, CUserSock* pUserSock, const CString& sExec) : Csock() {
|
||||
CExecSock(CShellMod* pShellMod, CClient* pClient, const CString& sExec) : Csock() {
|
||||
EnableReadLine();
|
||||
m_pParent = pShellMod;
|
||||
m_pUserSock = pUserSock;
|
||||
m_pClient = pClient;
|
||||
int iReadFD, iWriteFD;
|
||||
m_iPid = popen2(iReadFD, iWriteFD, sExec);
|
||||
ConnectFD(iReadFD, iWriteFD, "0.0.0.0:0");
|
||||
@@ -85,7 +85,7 @@ public:
|
||||
return;
|
||||
}
|
||||
private:
|
||||
CUserSock* m_pUserSock;
|
||||
CClient* m_pClient;
|
||||
};
|
||||
|
||||
class CShellMod : public CModule {
|
||||
@@ -188,7 +188,7 @@ public:
|
||||
}
|
||||
|
||||
void RunCommand(const CString& sCommand) {
|
||||
m_pManager->AddSock((Csock*) new CExecSock(this, m_pUserSock, "cd " + m_sPath + " && " + sCommand), "SHELL");
|
||||
m_pManager->AddSock((Csock*) new CExecSock(this, m_pClient, "cd " + m_sPath + " && " + sCommand), "SHELL");
|
||||
}
|
||||
private:
|
||||
CString m_sPath;
|
||||
@@ -207,15 +207,15 @@ void CExecSock::ReadLine(const CString& sData) {
|
||||
a = sLine.find('\t');
|
||||
}
|
||||
|
||||
m_pParent->SetUserSock(m_pUserSock);
|
||||
m_pParent->SetClient(m_pClient);
|
||||
m_pParent->PutShell(sLine);
|
||||
m_pParent->SetUserSock(NULL);
|
||||
m_pParent->SetClient(NULL);
|
||||
}
|
||||
|
||||
void CExecSock::Disconnected() {
|
||||
m_pParent->SetUserSock(m_pUserSock);
|
||||
m_pParent->SetClient(m_pClient);
|
||||
m_pParent->PutShell("znc$");
|
||||
m_pParent->SetUserSock(NULL);
|
||||
m_pParent->SetClient(NULL);
|
||||
}
|
||||
|
||||
MODULEDEFS(CShellMod, "Gives shell access")
|
||||
|
||||
Reference in New Issue
Block a user