QByteArray AbstractSshPacket::encodeString(const QByteArray &string) { QByteArray data; data.resize(4); data += string; setLengthField(data); return data; }
void SshOutgoingPacket::finalize() { setPadding(); setLengthField(m_data); m_length = m_data.size() - 4; qCDebug(sshLog, "Encrypting packet of type %u", m_data.at(TypeOffset)); encrypt(); qCDebug(sshLog, "Sending packet of size %d", rawData().count()); Q_ASSERT(isComplete()); }
void SshOutgoingPacket::finalize() { setPadding(); setLengthField(m_data); m_length = m_data.size() - 4; #ifdef CREATOR_SSH_DEBUG qDebug("Encrypting packet of type %u", m_data.at(TypeOffset)); #endif encrypt(); Q_ASSERT(isComplete()); }
QByteArray AbstractSshPacket::encodeMpInt(const Botan::BigInt &number) { if (number.is_zero()) return QByteArray(4, 0); int stringLength = number.bytes(); const bool positiveAndMsbSet = number.sign() == Botan::BigInt::Positive && (number.byte_at(stringLength - 1) & 0x80); if (positiveAndMsbSet) ++stringLength; QByteArray data; data.resize(4 + stringLength); int pos = 4; if (positiveAndMsbSet) data[pos++] = '\0'; number.binary_encode(reinterpret_cast<Botan::byte *>(data.data()) + pos); setLengthField(data); return data; }