Esempio n. 1
0
/*
==================
Channel::GetShellRequestMsg
==================
*/
Message Channel::GetShellRequestMsg() {
	Message msg;

	msg.Add(SSH_MSG_CHANNEL_REQUEST);
	msg.AddUI(recChan);
	msg.AddUI(5);
	msg.Add("shell");
	msg.Add(true);

	return msg;
}
Esempio n. 2
0
/*
==================
Channel::GetOpenRequestMsg
==================
*/
Message Channel::GetOpenRequestMsg() {
	Message msg;

	msg.Add(SSH_MSG_CHANNEL_OPEN);
	msg.AddUI(reqType.length());
	msg.Add(reqType);
	msg.AddUI(senChan);
	msg.AddUI(winSizeIn); 	// Window IN
	msg.AddUI(35000);		// Max packet

	return msg;
}
Esempio n. 3
0
/*
==================
Channel::SendInput
==================
*/
void Channel::SendInput(string input) {
	Message msg;

	if (!input.length()) {
		return;
	}

	msg.Add(SSH_MSG_CHANNEL_DATA);
	msg.AddUI(recChan);
	msg.AddUI(input.length());
	msg.Add(input);

	SendMessage(msg);
}
Esempio n. 4
0
/*
==================
Channel::AdjustWindow
==================
*/
bool Channel::AdjustWindow(uint32 increment) {
	Message msg;

	msg.Add(SSH_MSG_CHANNEL_WINDOW_ADJUST);
	msg.AddUI(recChan);
	msg.AddUI(increment);

	if (!SendMessage(msg)) {
		return false;
	}

	winSizeIn += increment;
	return true;
}
Esempio n. 5
0
/*
==================
Channel::GetTTYRequestMsg
==================
*/
Message Channel::GetTTYRequestMsg() {
	Message msg;
	uint32 chW, chH, pW, pH;

	GetTermDim(chW, chH, pW, pH);

	msg.Add(SSH_MSG_CHANNEL_REQUEST);
	msg.AddUI(recChan);
	msg.AddUI(7);
	msg.Add("pty-req");
	msg.Add(true);			// Want reply

	msg.AddUI(5);
	msg.Add("vt100");

	msg.AddUI(chW);
	msg.AddUI(chH);
	msg.AddUI(pW);
	msg.AddUI(pH);

	msg.AddUI(0);

	return msg;
}