libagentx: enable objects on dynamic index enabling

2022-07-17 Thread Martijn van Duren
Diff below is needed for migrating snmpd's mib.c to a libagentx based
environment. Specifically the OPENBSD-MEM-MIB:memIfTable, which relies
on IF-MIB:ifIndex.

The issue bubbles forth from the following behaviour:
In libagentx both an object and an index are enabled (started) based
when their respective region is started. The order in which these
regions are started is undetermined.
For agentx_object the agentx_object_start function is halted when not
all indices are in AX_CSTATE_OPEN.

The problem arises from the fact that agentx_index_finalize (the
function called when we know that the request to be opened can be
answered) is combined with a dynamic index (an index not registered
at the snmpd server, but determined by the libagentx based application):
The index is placed in the AX_CSTATE_OPEN state, but it returns
immediately, ignoring any objects that rely on it being opened.

The diff below replaces the return statement to a jump statement
to the final part of the function trying to open the functions.

OK?

martijn@

Index: agentx.c
===
RCS file: /cvs/src/lib/libagentx/agentx.c,v
retrieving revision 1.14
diff -u -p -r1.14 agentx.c
--- agentx.c24 Oct 2021 18:03:27 -  1.14
+++ agentx.c17 Jul 2022 12:03:55 -
@@ -1660,7 +1660,7 @@ agentx_index_finalize(struct ax_pdu *pdu
 #endif
if (axi->axi_type == AXI_TYPE_DYNAMIC) {
axi->axi_cstate = AX_CSTATE_OPEN;
-   return 0;
+   goto objects_start;
}
 
resp = &(pdu->ap_payload.ap_response);
@@ -1717,6 +1717,7 @@ agentx_index_finalize(struct ax_pdu *pdu
if (axi->axi_dstate == AX_DSTATE_CLOSE)
return agentx_index_close(axi);
 
+ objects_start:
/* TODO Make use of range_subid register */
for (i = 0; i < axi->axi_objectlen; i++) {
if (axi->axi_object[i]->axo_dstate == AX_DSTATE_OPEN) {



remove twm(1) from xenocara ?

2022-07-17 Thread Matthieu Herrb
Hi,

twm(1) is the original X11R5 window manager. It has not been update to
support any of the extended window manager hints and still only knows
how to handle the legacy bitmapped fonts rendered by the X server.

In ports we have x11/ctwm which, for people looking at legacy stuff, is
superior ihmo.

I'm suggesting here to drop twm from xenocara (ie xbase).

Anyone willing to keep it around is welcome to submit a port for it.

ok ?
-- 
Matthieu Herrb