| 596 | | key = s:taboption("encryption", Value, "key", translate("Key")) |
| 597 | | key:depends("encryption", "wep-open") |
| 598 | | key:depends("encryption", "wep-shared") |
| 599 | | key:depends("encryption", "psk") |
| 600 | | key:depends("encryption", "psk2") |
| 601 | | key:depends("encryption", "psk+psk2") |
| 602 | | key:depends("encryption", "psk-mixed") |
| 603 | | key:depends({mode="ap", encryption="wpa"}) |
| 604 | | key:depends({mode="ap", encryption="wpa2"}) |
| 605 | | key:depends({mode="ap-wds", encryption="wpa"}) |
| 606 | | key:depends({mode="ap-wds", encryption="wpa2"}) |
| 607 | | key.rmempty = true |
| 608 | | key.password = true |
| | 596 | wpakey = s:taboption("encryption", Value, "_wpa_key", translate("Key")) |
| | 597 | wpakey:depends("encryption", "psk") |
| | 598 | wpakey:depends("encryption", "psk2") |
| | 599 | wpakey:depends("encryption", "psk+psk2") |
| | 600 | wpakey:depends("encryption", "psk-mixed") |
| | 601 | wpakey:depends({mode="ap", encryption="wpa"}) |
| | 602 | wpakey:depends({mode="ap", encryption="wpa2"}) |
| | 603 | wpakey:depends({mode="ap-wds", encryption="wpa"}) |
| | 604 | wpakey:depends({mode="ap-wds", encryption="wpa2"}) |
| | 605 | wpakey.datatype = "wpakey" |
| | 606 | wpakey.rmempty = true |
| | 607 | wpakey.password = true |
| | 608 | |
| | 609 | wpakey.cfgvalue = function(self, section, value) |
| | 610 | local key = m.uci:get("wireless", section, "key") |
| | 611 | if key == "1" or key == "2" or key == "3" or key == "4" then |
| | 612 | return nil |
| | 613 | end |
| | 614 | return key |
| | 615 | end |
| | 616 | |
| | 617 | wpakey.write = function(self, section, value) |
| | 618 | self.map.uci:set("wireless", section, "key", value) |
| | 619 | self.map.uci:delete("wireless", section, "key1") |
| | 620 | end |
| | 621 | |
| | 622 | |
| | 623 | wepslot = s:taboption("encryption", ListValue, "_wep_key", translate("Used Key Slot")) |
| | 624 | wepslot:depends("encryption", "wep-open") |
| | 625 | wepslot:depends("encryption", "wep-shared") |
| | 626 | wepslot:value("1", translatef("Key #%d", 1)) |
| | 627 | wepslot:value("2", translatef("Key #%d", 2)) |
| | 628 | wepslot:value("3", translatef("Key #%d", 3)) |
| | 629 | wepslot:value("4", translatef("Key #%d", 4)) |
| | 630 | |
| | 631 | wepslot.cfgvalue = function(self, section) |
| | 632 | local slot = tonumber(m.uci:get("wireless", section, "key")) |
| | 633 | if not slot or slot < 1 or slot > 4 then |
| | 634 | return 1 |
| | 635 | end |
| | 636 | return slot |
| | 637 | end |
| | 638 | |
| | 639 | wepslot.write = function(self, section, value) |
| | 640 | self.map.uci:set("wireless", section, "key", value) |
| | 641 | end |
| | 642 | |
| | 643 | local slot |
| | 644 | for slot=1,4 do |
| | 645 | wepkey = s:taboption("encryption", Value, "key" .. slot, translatef("Key #%d", slot)) |
| | 646 | wepkey:depends("encryption", "wep-open") |
| | 647 | wepkey:depends("encryption", "wep-shared") |
| | 648 | wepkey.datatype = "wepkey" |
| | 649 | wepkey.rmempty = true |
| | 650 | wepkey.password = true |
| | 651 | |
| | 652 | function wepkey.write(self, section, value) |
| | 653 | if value and (#value == 5 or #value == 13) then |
| | 654 | value = "s:" .. value |
| | 655 | end |
| | 656 | return Value.write(self, section, value) |
| | 657 | end |
| | 658 | end |
| | 659 | |