*/
#include <zebra.h>
+#include <sys/un.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+
#include "libfrr.h"
#include "getopt.h"
+ #include "privs.h"
#include "vty.h"
#include "command.h"
#include "version.h"
zlog_set_level(ZLOG_DEST_SYSLOG, zlog_default->default_lvl);
#endif
+ if (!frr_zclient_addr(&zclient_addr, &zclient_addr_len,
+ frr_zclientpath)) {
+ fprintf(stderr, "Invalid zserv socket path: %s\n",
+ frr_zclientpath);
+ exit(1);
+ }
+
+ /* don't mkdir these as root... */
+ if (!(di->flags & FRR_NO_PRIVSEP)) {
+ if (!di->pid_file || !di->vty_path)
+ frr_mkdir(frr_vtydir, false);
+ if (di->pid_file)
+ frr_mkdir(di->pid_file, true);
+ if (di->vty_path)
+ frr_mkdir(di->vty_path, true);
+ }
+
frrmod_init(di->module);
while (modules) {
modules = (oc = modules)->next;