X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/551241607041c874f24f5be43d0aa3210740ed08..93035e75d97cddcd7d49f95e7bd0d8139e12f17f:/ircd/bandbi.c diff --git a/ircd/bandbi.c b/ircd/bandbi.c index 8a2aa97c..5927934e 100644 --- a/ircd/bandbi.c +++ b/ircd/bandbi.c @@ -27,11 +27,9 @@ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. - * - * $Id$ */ #include "stdinc.h" -#include "ratbox_lib.h" +#include "rb_lib.h" #include "client.h" #include "s_conf.h" #include "logger.h" @@ -48,6 +46,9 @@ #include "msg.h" /* XXX: MAXPARA */ #include "operhash.h" +static void +bandb_handle_failure(rb_helper *helper, char **parv, int parc) __attribute__((noreturn)); + static char bandb_add_letter[LAST_BANDB_TYPE] = { 'K', 'D', 'X', 'R' }; @@ -76,27 +77,21 @@ static int start_bandb(void) { char fullpath[PATH_MAX + 1]; -#ifdef _WIN32 - const char *suffix = ".exe"; -#else - const char *suffix = ""; -#endif - rb_setenv("BANDB_DBPATH", PKGLOCALSTATEDIR "/ban.db", 1); + rb_setenv("BANDB_DBPATH", ircd_paths[IRCD_PATH_BANDB], 1); if(bandb_path == NULL) { - snprintf(fullpath, sizeof(fullpath), "%s/bandb%s", PKGLIBEXECDIR, suffix); + snprintf(fullpath, sizeof(fullpath), "%s/bandb", ircd_paths[IRCD_PATH_LIBEXEC]); if(access(fullpath, X_OK) == -1) { - snprintf(fullpath, sizeof(fullpath), "%s/bin/bandb%s", - ConfigFileEntry.dpath, suffix); + snprintf(fullpath, sizeof(fullpath), "%s/bin/bandb", ConfigFileEntry.dpath); if(access(fullpath, X_OK) == -1) { ilog(L_MAIN, - "Unable to execute bandb%s in %s or %s/bin", - suffix, PKGLIBEXECDIR, ConfigFileEntry.dpath); + "Unable to execute bandb in %s or %s/bin", + ircd_paths[IRCD_PATH_LIBEXEC], ConfigFileEntry.dpath); return 0; } } @@ -109,7 +104,7 @@ start_bandb(void) if(bandb_helper == NULL) { ilog(L_MAIN, "Unable to start bandb: %s", strerror(errno)); - sendto_realops_snomask(SNO_GENERAL, L_ALL, "Unable to start bandb: %s", + sendto_realops_snomask(SNO_GENERAL, L_NETWIDE, "Unable to start bandb: %s", strerror(errno)); return 1; } @@ -225,11 +220,9 @@ bandb_check_kline(struct ConfItem *aconf) if(aftype != HM_HOST) { -#ifdef RB_IPV6 if(aftype == HM_IPV6) aftype = AF_INET6; else -#endif aftype = AF_INET; kconf = find_conf_by_address(aconf->host, NULL, NULL, (struct sockaddr *)&daddr, @@ -328,7 +321,7 @@ bandb_handle_finish(void) struct ConfItem *aconf; rb_dlink_node *ptr, *next_ptr; - clear_out_address_conf_bans(); + clear_out_address_conf(AC_BANDB); clear_s_newconf_bans(); RB_DLINK_FOREACH_SAFE(ptr, next_ptr, bandb_pending.head) @@ -391,7 +384,7 @@ bandb_handle_failure(rb_helper *helper, char **parv, int parc) fprintf(stderr, "bandb - bandb failure: %s\n", parv[1]); ilog(L_MAIN, "bandb - bandb failure: %s", parv[1]); - sendto_realops_snomask(SNO_GENERAL, L_ALL, "bandb - bandb failure: %s", parv[1]); + sendto_realops_snomask(SNO_GENERAL, L_NETWIDE, "bandb - bandb failure: %s", parv[1]); exit(1); } @@ -399,12 +392,12 @@ static void bandb_parse(rb_helper *helper) { static char buf[READBUF_SIZE]; - char *parv[MAXPARA + 1]; + char *parv[MAXPARA]; int len, parc; while((len = rb_helper_read(helper, buf, sizeof(buf)))) { - parc = rb_string_to_array(buf, parv, MAXPARA); + parc = rb_string_to_array(buf, parv, sizeof(parv)); if(parc < 1) continue; @@ -442,7 +435,7 @@ static void bandb_restart_cb(rb_helper *helper) { ilog(L_MAIN, "bandb - bandb_restart_cb called, bandb helper died?"); - sendto_realops_snomask(SNO_GENERAL, L_ALL, + sendto_realops_snomask(SNO_GENERAL, L_NETWIDE, "bandb - bandb_restart_cb called, bandb helper died?"); if(helper != NULL) {