static void parse_request(rb_helper *helper) { int len; static char *parv[MAXPARA + 1]; int parc; while((len = rb_helper_read(helper, readBuf, sizeof(readBuf))) > 0) { parc = rb_string_to_array(readBuf, parv, MAXPARA); switch (*parv[0]) { case 'I': if(parc != 4) abort(); resolve_ip(parv); break; case 'H': if(parc != 4) abort(); resolve_host(parv); break; case 'B': if(parc != 4) abort(); set_bind(parv); break; case 'R': restart_resolver(); report_nameservers(); break; default: break; } } }
static void parse_request(rb_helper *helper) { static char *parv[MAXPARA + 1]; static char readbuf[READBUF_SIZE]; int parc; int len; while((len = rb_helper_read(helper, readbuf, sizeof(readbuf))) > 0) { parc = rb_string_to_array(readbuf, parv, MAXPARA); if(parc < 1) continue; switch (parv[0][0]) { case 'K': parse_ban(BANDB_KLINE, parv, parc); break; case 'D': parse_ban(BANDB_DLINE, parv, parc); break; case 'X': parse_ban(BANDB_XLINE, parv, parc); break; case 'R': parse_ban(BANDB_RESV, parv, parc); break; case 'k': parse_unban(BANDB_KLINE, parv, parc); break; case 'd': parse_unban(BANDB_DLINE, parv, parc); break; case 'x': parse_unban(BANDB_XLINE, parv, parc); break; case 'r': parse_unban(BANDB_RESV, parv, parc); break; case 'L': list_bans(); break; default: break; } } }
static void parse_request(rb_helper *helper) { static char *parv[MAXPARA + 1]; static char readbuf[READBUF_SIZE]; int parc; int len; authd_cmd_handler handler; while((len = rb_helper_read(helper, readbuf, sizeof(readbuf))) > 0) { parc = rb_string_to_array(readbuf, parv, MAXPARA); if(parc < 1) continue; handler = authd_cmd_handlers[(unsigned char)parv[0][0]]; if (handler != NULL) handler(parc, parv); } }