Merge pull request #1735 from sumpfralle/olsr-jsoninfo-parser-handle-empty-result
[oweals/luci.git] / protocols / luci-proto-vpnc / htdocs / luci-static / resources / protocol / vpnc.js
1 'use strict';
2 'require form';
3 'require network';
4
5 network.registerPatternVirtual(/^vpn-.+$/);
6
7 return network.registerProtocol('vpnc', {
8         getI18n: function() {
9                 return _('VPNC (CISCO 3000 (and others) VPN)');
10         },
11
12         getIfname: function() {
13                 return this._ubus('l3_device') || 'vpn-%s'.format(this.sid);
14         },
15
16         getOpkgPackage: function() {
17                 return 'vpnc';
18         },
19
20         isFloating: function() {
21                 return true;
22         },
23
24         isVirtual: function() {
25                 return true;
26         },
27
28         getDevices: function() {
29                 return null;
30         },
31
32         containsDevice: function(ifname) {
33                 return (network.getIfnameOf(ifname) == this.getIfname());
34         },
35
36         renderFormOptions: function(s) {
37                 var o;
38
39                 o = s.taboption('general', form.Value, 'server', _('VPN Server'));
40                 o.datatype = 'host(0)';
41
42                 o = s.taboption('general', form.Value, 'local_addr', _('VPN Local address'));
43                 o.placeholder = '0.0.0.0';
44                 o.datatype    = 'ipaddr';
45
46                 o = s.taboption('general', form.Value, 'local_port', _('VPN Local port'));
47                 o.placeholder = '500';
48                 o.datatype    = 'port';
49
50                 o = s.taboption('general', form.Value, 'interface', _('Output Interface'));
51                 o.template = 'cbi/network_netlist';
52
53                 o = s.taboption('general', form.Value, 'mtu', _('MTU'));
54                 o.datatype = 'uinteger';
55
56                 s.taboption('general', form.Value, 'username', _('Username'));
57
58                 o = s.taboption('general', form.Value, 'password', _('Password'));
59                 o.password = true;
60
61                 o = s.taboption('general', form.Value, 'hexpassword', _('Obfuscated Password'));
62                 o.password = true;
63
64                 s.taboption('general', form.Value, 'authgroup', _('Auth Group'));
65
66                 o = s.taboption('general', form.Value, 'passgroup', _('Group Password'));
67                 o.password = true;
68
69                 o = s.taboption('general', form.Value, 'hexpassgroup', _('Obfuscated Group Password'));
70                 o.password= true;
71
72                 s.taboption('general', form.Value, 'domain', _('NT Domain'));
73                 s.taboption('general', form.Value, 'vendor', _('Vendor'));
74
75                 o = s.taboption('general', form.ListValue, 'dh_group', _('IKE DH Group'));
76                 o.value('dh2');
77                 o.value('dh1');
78                 o.value('dh5');
79
80                 o = s.taboption('general', form.ListValue, 'pfs', _('Perfect Forward Secrecy'));
81                 o.value('server');
82                 o.value('nopfs');
83                 o.value('dh1');
84                 o.value('dh2');
85                 o.value('dh5');
86
87                 o = s.taboption('general', form.ListValue, 'natt_mode', _('NAT-T Mode'));
88                 o.value('natt', _('RFC3947 NAT-T mode'));
89                 o.value('none', _('No NAT-T'));
90                 o.value('force-natt', _('Force use of NAT-T'));
91                 o.value('cisco-udp', _('Cisco UDP encapsulation'));
92
93                 o = s.taboption('general', form.Flag, 'enable_no_enc', _('Disable Encryption'), _('If checked, encryption is disabled'));
94                 o.default = o.disabled;
95
96                 o = s.taboption('general', form.Flag, 'enable_single_des', _('Enable Single DES'), _('If checked, 1DES is enabled'));
97                 o.default = o.disabled;
98
99                 o = s.taboption('general', form.Value, 'dpd_idle', _('DPD Idle Timeout'));
100                 o.datatype = 'uinteger';
101                 o.placeholder = '600';
102
103                 o = s.taboption('general', form.Value, 'target_network', _('Target network'));
104                 o.placeholder = '0.0.0.0/0';
105                 o.datatype    = 'network';
106
107                 o = s.taboption('general', form.ListValue, 'defaultroute', _('Default Route'), _('Set VPN as Default Route'));
108                 o.value('0', _('No'));
109                 o.value('1', _('Yes'));
110         }
111 });