X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=src%2Fbridge.c;h=30961f8c6d524514721ff77afdc90fe6cd9e0cd2;hb=refs%2Ftags%2Fupstream%2F1.5;hp=001975d37d0e34fa451fdbea961323dfb6277eb2;hpb=63444196dd1edb154f81d9418b3d0bc2367163e5;p=ap-utils.git diff --git a/src/bridge.c b/src/bridge.c index 001975d..30961f8 100644 --- a/src/bridge.c +++ b/src/bridge.c @@ -45,6 +45,16 @@ extern short ap_type, ap_vendorext; void bridging() { + +char *bridge_modes[6] = { + _("Wireless Bridge Point to MultiPoint"), + _("Access Point"), + _("Access Point client"), + _("Wireless Bridge Point to Point"), + _("Repeater"), + _("unknown") +}; + char sysTrapSwitch[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x01, 0x03, 0x00 }; @@ -82,15 +92,6 @@ void bridging() 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x03, 0x01, 0x00 }; -char *bridge_modes[6] = { - _("Wireless Bridge Point to MultiPoint"), - _("Access Point"), - _("Access Point client"), - _("Wireless Bridge Point to Point"), - _("Repeater"), - _("unknown") -}; - /* These 3 are ATMEL410 SBRIDGES MIB and ATMEL12350 all MIBs specific. */ char operForwarbBcast[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x03, 0x02, 0x00 @@ -122,10 +123,10 @@ char *bridge_modes[6] = { char *pr_ports[2] = { _("Ethernet"), _("Wireless") - }, *cf_trap_ports[3] = { - _("Both"), + }, *cf_ports[3] = { _("Ethernet"), - _("Wireless (can be risky)") + _("Wireless (can be risky)"), + _("Both") }; int i; unsigned int trap_port = 0; @@ -266,7 +267,9 @@ char *bridge_modes[6] = { if ((ap_type == ATMEL410 && ap_vendorext == SBRIDGES) || ap_type == ATMEL12350) { config_port = *(varbinds[10].value); - sprintf(message, "%s%s", CF_PORT, cf_trap_ports[config_port]); + if (config_port == 0) /* happens with ATMEL12350 EZYNET firmware only */ + config_port = 3; + sprintf(message, "%s%s", CF_PORT, cf_ports[config_port - 1]); mvwaddstr(main_sub, 9, 0, message); fw_bcast = *(varbinds[11].value); @@ -383,9 +386,9 @@ char *bridge_modes[6] = { case 'c': if ((ap_type == ATMEL410 && ap_vendorext == SBRIDGES) || ap_type == ATMEL12350) { - config_port = menu_choose(9, strlen(CF_PORT), cf_trap_ports, 3); + config_port = menu_choose(9, strlen(CF_PORT), cf_ports, 3) + 1; clear_main_new(9, 10); - print_menusel(9, 0, CF_PORT, cf_trap_ports[config_port]); + print_menusel(9, 0, CF_PORT, cf_ports[config_port - 1]); m_config_port = 1; } continue; @@ -555,10 +558,13 @@ char *bridge_modes[6] = { } print_help(WAIT_SET); - if (snmp(varbinds, i, SET) <= 0) + if (snmp(varbinds, i, SET) <= 0) { print_helperr(ERR_SET); - else + } else { + wbkgd(main_sub, A_NORMAL); + wrefresh(main_sub); print_help(DONE_SET); + } goto exit; case 'Q': case 'q': @@ -572,4 +578,3 @@ char *bridge_modes[6] = { print_top(NULL, NULL); clear_main(0); } -