X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/4a89beb9494451304e34e9a8e226936ac465c536..1cb912e4f90473f78d2f0f10ab5c9b2c5bd36440:/projects/stargazer/plugins/other/smux/utils.cpp diff --git a/projects/stargazer/plugins/other/smux/utils.cpp b/projects/stargazer/plugins/other/smux/utils.cpp index 0ea39bbb..d1a0c281 100644 --- a/projects/stargazer/plugins/other/smux/utils.cpp +++ b/projects/stargazer/plugins/other/smux/utils.cpp @@ -1,23 +1,26 @@ -#include // write - -#include // memset -#include +#include "utils.h" +#include "pen.h" #include "stg/common.h" +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wold-style-cast" #include "stg/OpenPDU.h" #include "stg/ClosePDU.h" #include "stg/RReqPDU.h" #include "stg/ber_decoder.h" #include "stg/der_encoder.h" +#pragma GCC diagnostic pop -#include "pen.h" -#include "utils.h" +#include // memset +#include + +#include // write bool String2OI(const std::string & str, OBJECT_IDENTIFIER_t * oi) { size_t left = 0, pos = 0, arcPos = 0; -int arcs[1024]; +uint32_t arcs[1024]; pos = str.find_first_of('.', left); if (pos == 0) { @@ -44,7 +47,7 @@ if (left < str.length()) } arcs[arcPos++] = arc; } -OBJECT_IDENTIFIER_set_arcs(oi, arcs, sizeof(arcs[0]), static_cast(arcPos)); +OBJECT_IDENTIFIER_set_arcs(oi, arcs, static_cast(arcPos)); return true; } @@ -122,7 +125,7 @@ return true; bool SendRReqPDU(int fd) { -int oid[] = {1, 3, 6, 1, 4, 1, 38313, 1}; +uint32_t oid[] = {1, 3, 6, 1, 4, 1, 38313, 1}; asn_enc_rval_t error; RReqPDU_t msg; @@ -132,7 +135,6 @@ msg.priority = 0; asn_long2INTEGER(&msg.operation, RReqPDU__operation_readOnly); OBJECT_IDENTIFIER_set_arcs(&msg.subtree, oid, - sizeof(oid[0]), 8); char buffer[1024]; @@ -168,12 +170,13 @@ size_t length = read(fd, buffer, sizeof(buffer)); if (length < 1) return NULL; asn_dec_rval_t error; -error = ber_decode(0, &asn_DEF_SMUX_PDUs, (void **)&pdus, buffer, length); +void* p = pdus; +error = ber_decode(0, &asn_DEF_SMUX_PDUs, &p, buffer, length); if(error.code != RC_OK) { printfd(__FILE__, "Failed to decode PDUs at byte %ld\n", - (long)error.consumed); + static_cast(error.consumed)); return NULL; } return pdus;