use explicit offset widths for print_data calls

This commit is contained in:
Martin Michelsen
2022-09-01 17:52:58 -07:00
parent 6eb77a7193
commit e8f79628ca
10 changed files with 47036 additions and 47036 deletions
+1 -1
View File
@@ -102,7 +102,7 @@ void CatSession::on_channel_input(
string full_cmd = prepend_command_header(
this->channel.version, this->channel.crypt_in.get(), command, flag, data);
print_data(stdout, full_cmd);
print_data(stdout, full_cmd, 0, nullptr, PrintDataFlags::PRINT_ASCII | PrintDataFlags::OFFSET_16_BITS);
}
void CatSession::dispatch_on_channel_error(Channel& ch, short events) {
+2 -2
View File
@@ -238,7 +238,7 @@ Channel::Message Channel::recv(bool print_contents) {
vector<struct iovec> iovs;
iovs.emplace_back(iovec{.iov_base = header_data.data(), .iov_len = header_data.size()});
iovs.emplace_back(iovec{.iov_base = command_data.data(), .iov_len = command_data.size()});
print_data(stderr, iovs, 0, nullptr, PrintDataFlags::PRINT_ASCII | PrintDataFlags::DISABLE_COLOR);
print_data(stderr, iovs, 0, nullptr, PrintDataFlags::PRINT_ASCII | PrintDataFlags::DISABLE_COLOR | PrintDataFlags::OFFSET_16_BITS);
if (use_terminal_colors && this->terminal_recv_color != TerminalFormat::NORMAL) {
print_color_escape(stderr, TerminalFormat::NORMAL, TerminalFormat::END);
@@ -344,7 +344,7 @@ void Channel::send(uint16_t cmd, uint32_t flag, const void* data, size_t size,
command_data_log.info("Sending to %s (version=%s command=%02hX flag=%02" PRIX32 ")",
this->name.c_str(), name_for_version(version), cmd, flag);
}
print_data(stderr, send_data.data(), logical_size, 0, nullptr, PrintDataFlags::PRINT_ASCII | PrintDataFlags::DISABLE_COLOR);
print_data(stderr, send_data.data(), logical_size, 0, nullptr, PrintDataFlags::PRINT_ASCII | PrintDataFlags::DISABLE_COLOR | PrintDataFlags::OFFSET_16_BITS);
if (use_terminal_colors && this->terminal_send_color != TerminalFormat::NORMAL) {
print_color_escape(stderr, TerminalFormat::NORMAL, TerminalFormat::END);
}
+8 -8
View File
@@ -49,7 +49,7 @@ void ReplaySession::check_for_password(shared_ptr<const Event> ev) const {
auto check_pw = [&](const string& pw) {
if (!this->required_password.empty() && !pw.empty() && (pw != this->required_password)) {
print_data(stderr, ev->data);
print_data(stderr, ev->data, 0, nullptr, PrintDataFlags::PRINT_ASCII | PrintDataFlags::OFFSET_16_BITS);
throw runtime_error("sent password is incorrect");
}
};
@@ -64,7 +64,7 @@ void ReplaySession::check_for_password(shared_ptr<const Event> ev) const {
ref_access_key = this->required_access_key;
}
if (ak != ref_access_key) {
print_data(stderr, ev->data);
print_data(stderr, ev->data, 0, nullptr, PrintDataFlags::PRINT_ASCII | PrintDataFlags::OFFSET_16_BITS);
throw runtime_error("sent access key is incorrect");
}
};
@@ -340,7 +340,7 @@ ReplaySession::ReplaySession(
}
if (parsing_command.get()) {
string expected_start = string_printf("%016zX |", parsing_command->data.size());
string expected_start = string_printf("%04zX |", parsing_command->data.size());
if (starts_with(line, expected_start)) {
// Parse out the hex part of the hex/ASCII dump
string mask_bytes;
@@ -551,24 +551,24 @@ void ReplaySession::on_command_received(
this->bytes_received += full_command.size();
if (c->receive_events.empty()) {
print_data(stderr, full_command);
print_data(stderr, full_command, 0, nullptr, PrintDataFlags::PRINT_ASCII | PrintDataFlags::OFFSET_16_BITS);
throw runtime_error("received unexpected command for client");
}
auto& ev = c->receive_events.front();
if (full_command.size() != ev->data.size()) {
replay_log.error("Expected command:");
print_data(stderr, ev->data);
print_data(stderr, ev->data, 0, nullptr, PrintDataFlags::PRINT_ASCII | PrintDataFlags::OFFSET_16_BITS);
replay_log.error("Received command:");
print_data(stderr, full_command);
print_data(stderr, full_command, 0, nullptr, PrintDataFlags::PRINT_ASCII | PrintDataFlags::OFFSET_16_BITS);
throw runtime_error("received command sizes do not match");
}
for (size_t x = 0; x < full_command.size(); x++) {
if ((full_command[x] & ev->mask[x]) != (ev->data[x] & ev->mask[x])) {
replay_log.error("Expected command:");
print_data(stderr, ev->data);
print_data(stderr, ev->data, 0, nullptr, PrintDataFlags::PRINT_ASCII | PrintDataFlags::OFFSET_16_BITS);
replay_log.error("Received command:");
print_data(stderr, full_command, 0, ev->data.data());
print_data(stderr, full_command, 0, ev->data.data(), PrintDataFlags::PRINT_ASCII | PrintDataFlags::OFFSET_16_BITS);
throw runtime_error("received command data does not match expected data");
}
}