]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/other/smux/utils.cpp
Register smux plugin as .stg24, not as a root
[stg.git] / projects / stargazer / plugins / other / smux / utils.cpp
index 8d3988eb088dec3b24f2423b4fa19666377a41d0..91e40985cf154683dd2114cb97772fc17a97c349 100644 (file)
@@ -79,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");
@@ -101,12 +103,16 @@ if (error.encoded == -1)
     }
 else
     {
-    write(fd, buffer, 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;
 
@@ -124,16 +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);
+    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;
@@ -157,13 +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);
+    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)
@@ -188,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;
 
@@ -200,19 +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);
+    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;
@@ -235,11 +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);
+    if (write(fd, buffer, error.encoded) < 0)
+        {
+        printfd(__FILE__, "Failed to send GetResponseErrorPDU: %s\n", strerror(errno));
+        return false;
+        }
     }
-return 0;
+return true;
 }