Ejemplo n.º 1
0
void UnknownCommand::pack(IpmiMessage& msg){

    log_debug(LOGUSR, "Packing unknown message.");

    m_response.set_cc(CompletionCode::CC_INVALID_CMD);

    msg.set_to_response();
    m_response.set_len(CMD_RESPONSE_DATA_LENGHT);
    m_response.add_data(msg);
}
Ejemplo n.º 2
0
void SourceSelector::pack(IpmiMessage& msg){
    m_response.set_cc(CompletionCode::CC_OK);

    try {
        auto source = network_utils::get_source(network_utils::get_network_interface());

        m_response.set_source(static_cast<std::uint8_t>(source));
    }  catch (const std::runtime_error& e) {
        m_response.set_cc(CompletionCode::CC_CANNOT_RETURN_REQ_DATA);
        log_debug(LOGUSR, "Cannot read interface source!" << e.what());
    }

    m_response.set_len(CMD_RESPONSE_DATA_LENGHT);
    m_response.add_data(msg);
    msg.set_to_response();
}
void SetAuthorizationCertificate::pack(IpmiMessage& msg){
    log_debug(LOGUSR, "Packing Set Authorization Certificate message.");

    if(CompletionCode::CC_OK != m_response.get_cc()) {
        return;
    }

    msg.set_cc(CompletionCode::CC_OK);
    msg.set_to_response();

    Certificate& cert = CertificateManager::get_instance()->
                    get_certificate((m_request.get_certificate_type()));
    cert.add_chunk(m_request.get_certificate_length(),
                   m_request.get_current_chunk_number(),
                   m_request.get_certificate_data());

    m_response.set_len(CMD_RESPONSE_DATA_LENGHT);
    m_response.add_data(msg);
}
Ejemplo n.º 4
0
void InvalidSelector::pack(IpmiMessage& msg) {
    m_response.set_len(1);
    m_response.set_cc(CompletionCode::CC_PARAMETER_NOT_SUPPORTED);
    m_response.add_data(msg);
    msg.set_to_response();
}