+
+ /* Configure OPM */
+ if(rb_dlink_list_length(&opm_list) > 0 &&
+ (opm_listeners[LISTEN_IPV4].ipaddr[0] != '\0' ||
+ opm_listeners[LISTEN_IPV6].ipaddr[0] != '\0'))
+ {
+ rb_dlink_node *ptr;
+
+ if(opm_listeners[LISTEN_IPV4].ipaddr[0] != '\0')
+ rb_helper_write(authd_helper, "O opm_listener %s %hu",
+ opm_listeners[LISTEN_IPV4].ipaddr, opm_listeners[LISTEN_IPV4].port);
+
+#ifdef RB_IPV6
+ if(opm_listeners[LISTEN_IPV6].ipaddr[0] != '\0')
+ rb_helper_write(authd_helper, "O opm_listener %s %hu",
+ opm_listeners[LISTEN_IPV6].ipaddr, opm_listeners[LISTEN_IPV6].port);
+#endif
+
+ RB_DLINK_FOREACH(ptr, opm_list.head)
+ {
+ struct OPMScanner *scanner = ptr->data;
+ rb_helper_write(authd_helper, "O opm_scanner %s %hu",
+ scanner->type, scanner->port);
+ }
+
+ opm_check_enable(true);
+ }
+ else
+ opm_check_enable(false);