> According to RFC2741 section 6.1.1 an agentx-response-pdu shouldn't have
> the NON_DEFAULT_CONTEXT set. Remove the argument from ax_response().

Here's the libagentx counterpart.

OK?

martijn@

Index: agentx.c
===================================================================
RCS file: /cvs/src/lib/libagentx/agentx.c,v
retrieving revision 1.22
diff -u -p -r1.22 agentx.c
--- agentx.c    27 Dec 2022 17:10:05 -0000      1.22
+++ agentx.c    9 Oct 2023 20:24:40 -0000
@@ -2733,8 +2733,7 @@ agentx_get_finalize(struct agentx_get *a
        free(logmsg);
 
        if (ax_response(ax->ax_ax, axs->axs_id, axg->axg_transactionid,
-           axg->axg_packetid, AGENTX_CONTEXT_CTX(axc), 0, error, index,
-           vbl, nvarbind) == -1) {
+           axg->axg_packetid, 0, error, index, vbl, nvarbind) == -1) {
                agentx_log_axg_warn(axg, "Couldn't parse request");
                agentx_reset(ax);
        } else
@@ -4041,7 +4040,6 @@ agentx_read(struct agentx *ax)
                if (ax_response(ax->ax_ax, axs->axs_id,
                    pdu->ap_header.aph_transactionid,
                    pdu->ap_header.aph_packetid,
-                   axc == NULL ? NULL : AGENTX_CONTEXT_CTX(axc),
                    0, error, 1, NULL, 0) == -1)
                        agentx_log_axc_warn(axc,
                            "transaction: %u packetid: %u: failed to send "
Index: ax.c
===================================================================
RCS file: /cvs/src/lib/libagentx/ax.c,v
retrieving revision 1.8
diff -u -p -r1.8 ax.c
--- ax.c        24 Oct 2021 17:43:38 -0000      1.8
+++ ax.c        9 Oct 2023 20:24:40 -0000
@@ -553,11 +553,11 @@ ax_unregister(struct ax *ax, uint32_t se
 
 int
 ax_response(struct ax *ax, uint32_t sessionid, uint32_t transactionid,
-    uint32_t packetid, struct ax_ostring *context, uint32_t sysuptime,
-    uint16_t error, uint16_t index, struct ax_varbind *vblist, size_t nvb)
+    uint32_t packetid, uint32_t sysuptime, uint16_t error, uint16_t index,
+    struct ax_varbind *vblist, size_t nvb)
 {
        if (ax_pdu_header(ax, AX_PDU_TYPE_RESPONSE, 0, sessionid,
-           transactionid, packetid, context) == -1)
+           transactionid, packetid, NULL) == -1)
                return -1;
 
        if (ax_pdu_add_uint32(ax, sysuptime) == -1 ||
Index: ax.h
===================================================================
RCS file: /cvs/src/lib/libagentx/ax.h,v
retrieving revision 1.4
diff -u -p -r1.4 ax.h
--- ax.h        2 Jan 2021 01:06:31 -0000       1.4
+++ ax.h        9 Oct 2023 20:24:40 -0000
@@ -220,8 +220,7 @@ uint32_t ax_register(struct ax *, uint8_
 uint32_t ax_unregister(struct ax *, uint32_t, struct ax_ostring *,
     uint8_t, uint8_t, struct ax_oid *, uint32_t);
 int ax_response(struct ax *, uint32_t, uint32_t, uint32_t,
-    struct ax_ostring *, uint32_t, uint16_t, uint16_t,
-    struct ax_varbind *, size_t);
+    uint32_t, uint16_t, uint16_t, struct ax_varbind *, size_t);
 void ax_pdu_free(struct ax_pdu *);
 void ax_varbind_free(struct ax_varbind *);
 const char *ax_error2string(enum ax_pdu_error);

Reply via email to