Re: Let relayd use libagentx

2020-10-26 Thread Theo Buehler
On Mon, Oct 26, 2020 at 05:20:09PM +0100, Martijn van Duren wrote:
> Mostly mechanical diff coping with the API-change for libagentx
> just committed and link it to libagentx instead of using its own
> copy.
> 
> This also allows for the removal of {sub,}agentx.[ch]
> subagentx_internal.h and subagentx_log.c, not included in the diff.
> 
> OK?

This reads fine and compiles once one moves agentx.h out of the way
(I assume you'll remove the obsolete files at the same time).

ok tb (two tiny nits below)

> Index: agentx_control.c
> ===
> RCS file: /cvs/src/usr.sbin/relayd/agentx_control.c,v
> retrieving revision 1.2
> diff -u -p -r1.2 agentx_control.c
> --- agentx_control.c  25 Oct 2020 10:17:49 -  1.2
> +++ agentx_control.c  26 Oct 2020 16:19:09 -
> @@ -37,7 +37,7 @@
>  #include 
>  
>  #include "relayd.h"
> -#include "subagentx.h"
> +#include 

This should probably move up to the other system headers
(I don't understand the order used, so no suggestion where exactly)

> Index: parse.y
> ===
> RCS file: /cvs/src/usr.sbin/relayd/parse.y,v
> retrieving revision 1.247
> diff -u -p -r1.247 parse.y
> --- parse.y   25 Oct 2020 10:17:49 -  1.247
> +++ parse.y   26 Oct 2020 16:19:09 -
> @@ -56,7 +56,7 @@
>  
>  #include "relayd.h"
>  #include "http.h"
> -#include "subagentx.h"
> +#include "agentx.h"

This should be  and move up to the other system headers

>  
>  TAILQ_HEAD(files, file)   files = TAILQ_HEAD_INITIALIZER(files);
>  static struct file {



Let relayd use libagentx

2020-10-26 Thread Martijn van Duren
Mostly mechanical diff coping with the API-change for libagentx
just committed and link it to libagentx instead of using its own
copy.

This also allows for the removal of {sub,}agentx.[ch]
subagentx_internal.h and subagentx_log.c, not included in the diff.

OK?

martijn@

Index: Makefile
===
RCS file: /cvs/src/usr.sbin/relayd/Makefile,v
retrieving revision 1.34
diff -u -p -r1.34 Makefile
--- Makefile14 Sep 2020 11:30:25 -  1.34
+++ Makefile26 Oct 2020 16:19:09 -
@@ -2,15 +2,14 @@
 
 PROG=  relayd
 SRCS=  parse.y
-SRCS+= agentx.c agentx_control.c ca.c carp.c check_icmp.c \
-   check_script.c check_tcp.c check_tls.c config.c control.c \
-   hce.c log.c name2id.c pfe.c pfe_filter.c pfe_route.c proc.c \
-   relay.c relay_http.c relay_udp.c relayd.c \
-   shuffle.c ssl.c subagentx.c subagentx_log.c util.c
+SRCS+= agentx_control.c ca.c carp.c check_icmp.c check_script.c \
+   check_tcp.c check_tls.c config.c control.c hce.c log.c \
+   name2id.c pfe.c pfe_filter.c pfe_route.c proc.c relay.c \
+   relay_http.c relay_udp.c relayd.c shuffle.c ssl.c util.c
 MAN=   relayd.8 relayd.conf.5
 
-LDADD= -levent -ltls -lssl -lcrypto -lutil
-DPADD= ${LIBEVENT} ${LIBSSL} ${LIBCRYPTO} ${LIBUTIL}
+LDADD= -lagentx -levent -ltls -lssl -lcrypto -lutil
+DPADD= ${LIBAGENTX} ${LIBEVENT} ${LIBSSL} ${LIBCRYPTO} ${LIBUTIL}
 CFLAGS+=   -Wall -I${.CURDIR}
 CFLAGS+=   -Wstrict-prototypes -Wmissing-prototypes
 CFLAGS+=   -Wmissing-declarations
Index: agentx_control.c
===
RCS file: /cvs/src/usr.sbin/relayd/agentx_control.c,v
retrieving revision 1.2
diff -u -p -r1.2 agentx_control.c
--- agentx_control.c25 Oct 2020 10:17:49 -  1.2
+++ agentx_control.c26 Oct 2020 16:19:09 -
@@ -37,7 +37,7 @@
 #include 
 
 #include "relayd.h"
-#include "subagentx.h"
+#include 
 
 #define RELAYD_MIB "1.3.6.1.4.1.30155.3"
 #define SNMP_ELEMENT(x...) do {\
@@ -52,7 +52,7 @@ static struct snmp_oidhosttrapoid = {
 };
 */
 
-#define RELAYDINFO SUBAGENTX_ENTERPRISES, 30155, 3, 2
+#define RELAYDINFO AGENTX_ENTERPRISES, 30155, 3, 2
 #define RELAYDREDIRECTSRELAYDINFO, 1
 #define RELAYDREDIRECTENTRYRELAYDREDIRECTS, 1
 #define RELAYDREDIRECTINDEXRELAYDREDIRECTENTRY, 1
@@ -124,69 +124,69 @@ static struct snmp_oidhosttrapoid = {
 #define RELAYDTABLENAMERELAYDTABLEENTRY, 2
 #define RELAYDTABLESTATUS  RELAYDTABLEENTRY, 3
 
-void agentx_needsock(struct subagentx *, void *, int);
+void agentx_needsock(struct agentx *, void *, int);
 
 struct relayd *env;
 
-struct subagentx *sa = NULL;
-struct subagentx_index *relaydRedirectIdx, *relaydRelayIdx;
-struct subagentx_index *relaydRouterIdx, *relaydNetRouteIdx;
-struct subagentx_index *relaydHostIdx, *relaydSessionRelayIdx;
-struct subagentx_index *relaydSessionIdx, *relaydTableIdx;
-
-struct subagentx_object *relaydRedirectIndex, *relaydRedirectStatus;
-struct subagentx_object *relaydRedirectName, *relaydRedirectCnt;
-struct subagentx_object *relaydRedirectAvg, *relaydRedirectLast;
-struct subagentx_object *relaydRedirectAvgHour, *relaydRedirectLastHour;
-struct subagentx_object *relaydRedirectAvgDay, *relaydRedirectLastDay;
-
-struct subagentx_object *relaydRelayIndex, *relaydRelayStatus;
-struct subagentx_object *relaydRelayName, *relaydRelayCnt;
-struct subagentx_object *relaydRelayAvg, *relaydRelayLast;
-struct subagentx_object *relaydRelayAvgHour, *relaydRelayLastHour;
-struct subagentx_object *relaydRelayAvgDay, *relaydRelayLastDay;
-
-struct subagentx_object *relaydRouterIndex, *relaydRouterTableIndex;
-struct subagentx_object *relaydRouterStatus, *relaydRouterName;
-struct subagentx_object *relaydRouterLabel, *relaydRouterRtable;
-
-struct subagentx_object *relaydNetRouteIndex, *relaydNetRouteAddr;
-struct subagentx_object *relaydNetRouteAddrType, *relaydNetRoutePrefixLen;
-struct subagentx_object *relaydNetRouteRouterIndex;
-
-struct subagentx_object *relaydHostIndex, *relaydHostParentIndex;
-struct subagentx_object *relaydHostTableIndex, *relaydHostName;
-struct subagentx_object *relaydHostAddress, *relaydHostAddressType;
-struct subagentx_object *relaydHostStatus, *relaydHostCheckCnt;
-struct subagentx_object *relaydHostUpCnt, *relaydHostErrno;
-
-struct subagentx_object *relaydSessionIndex, *relaydSessionRelayIndex;
-struct subagentx_object *relaydSessionInAddr, *relaydSessionInAddrType;
-struct subagentx_object *relaydSessionOutAddr, *relaydSessionOutAddrType;
-struct subagentx_object *relaydSessionPortIn, *relaydSessionPortOut;
-struct subagentx_object *relaydSessionAge, *relaydSessionIdle;
-struct subagentx_object *relaydSessionStatus, *relaydSessionPid;
+struct agentx *sa =