X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/7df9dd832a325848a509b8a6ab4036c1ea96971c..a8c0ec7842337a96c32fa24919c2564b2b36f3fb:/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 ff7bb590..91e40985 100644 --- a/projects/stargazer/plugins/other/smux/utils.cpp +++ b/projects/stargazer/plugins/other/smux/utils.cpp @@ -44,7 +44,6 @@ if (left < str.length()) } arcs[arcPos++] = arc; } -printfd(__FILE__, "String2OI() - arcPos: %d\n", arcPos); OBJECT_IDENTIFIER_set_arcs(oi, arcs, sizeof(arcs[0]), arcPos); return true; } @@ -80,7 +79,9 @@ memset(&msg, 0, sizeof(msg)); msg.present = OpenPDU_PR_simple; asn_long2INTEGER(&msg.choice.simple.version, SimpleOpen__version_version_1); -if (!String2OI(PEN_PREFIX, &msg.choice.simple.identity)) +std::string pen(PEN_PREFIX); +pen += ".1"; +if (!String2OI(pen.c_str(), &msg.choice.simple.identity)) { printfd(__FILE__, "SendOpenPDU() - failed to convert string to OBJECT_IDENTIFIER\n"); @@ -102,14 +103,16 @@ if (error.encoded == -1) } else { - write(fd, buffer, error.encoded); - printfd(__FILE__, "OpenPDU encoded successfully to %d bytes\n", - error.encoded); + if (write(fd, buffer, error.encoded) < 0) + { + printfd(__FILE__, "Failed to send OpenPDU: %s\n", strerror(errno)); + return false; + } } return true; } -int SendClosePDU(int fd) +bool SendClosePDU(int fd) { ClosePDU_t msg; @@ -127,17 +130,20 @@ if (error.encoded == -1) { printfd(__FILE__, "Could not encode ClosePDU (at %s)\n", error.failed_type ? error.failed_type->name : "unknown"); - return -1; + return false; } else { - write(fd, buffer, error.encoded); - printfd(__FILE__, "ClosePDU encoded successfully\n"); + if (write(fd, buffer, error.encoded) < 0) + { + printfd(__FILE__, "Failed to send ClosePDU: %s\n", strerror(errno)); + return false; + } } -return 0; +return true; } -int SendRReqPDU(int fd) +bool SendRReqPDU(int fd) { int oid[] = {1, 3, 6, 1, 4, 1, 38313, 1}; asn_enc_rval_t error; @@ -161,15 +167,17 @@ if (error.encoded == -1) { printfd(__FILE__, "Could not encode RReqPDU (at %s)\n", error.failed_type ? error.failed_type->name : "unknown"); - return -1; + return false; } else { - write(fd, buffer, error.encoded); - printfd(__FILE__, "RReqPDU encoded successfully to %d bytes\n", - error.encoded); + if (write(fd, buffer, error.encoded) < 0) + { + printfd(__FILE__, "Failed to send RReqPDU: %s\n", strerror(errno)); + return false; + } } -return 0; +return true; } SMUX_PDUs_t * RecvSMUXPDUs(int fd) @@ -194,7 +202,7 @@ if(error.code != RC_OK) return pdus; } -int SendGetResponsePDU(int fd, GetResponse_PDU_t * getResponse) +bool SendGetResponsePDU(int fd, GetResponse_PDU_t * getResponse) { asn_enc_rval_t error; @@ -206,21 +214,23 @@ if (error.encoded == -1) { printfd(__FILE__, "Could not encode GetResponsePDU (at %s)\n", error.failed_type ? error.failed_type->name : "unknown"); - return -1; + return false; } else { - write(fd, buffer, error.encoded); - printfd(__FILE__, "GetResponsePDU encoded successfully to %d bytes\n", - error.encoded); + if (write(fd, buffer, error.encoded) < 0) + { + printfd(__FILE__, "Failed to send GetResponsePDU: %s\n", strerror(errno)); + return false; + } } -return 0; +return true; } -int SendGetResponseErrorPDU(int fd, - const PDU_t * getRequest, - int errorStatus, - int errorIndex) +bool SendGetResponseErrorPDU(int fd, + const PDU_t * getRequest, + int errorStatus, + int errorIndex) { asn_enc_rval_t error; GetResponse_PDU_t msg; @@ -243,14 +253,15 @@ if (error.encoded == -1) { printfd(__FILE__, "Could not encode GetResponsePDU for error (at %s)\n", error.failed_type ? error.failed_type->name : "unknown"); - return -1; + return false; } else { - write(fd, buffer, error.encoded); - printfd(__FILE__, - "GetResponsePDU for error encoded successfully to %d bytes\n", - error.encoded); + if (write(fd, buffer, error.encoded) < 0) + { + printfd(__FILE__, "Failed to send GetResponseErrorPDU: %s\n", strerror(errno)); + return false; + } } -return 0; +return true; }