5 network
.registerPatternVirtual(/^sstp-.+$/);
7 return network
.registerProtocol('sstp', {
12 getIfname: function() {
13 return this._ubus('l3_device') || 'sstp-%s'.format(this.sid
);
16 getOpkgPackage: function() {
20 isFloating: function() {
24 isVirtual: function() {
28 getDevices: function() {
32 containsDevice: function(ifname
) {
33 return (network
.getIfnameOf(ifname
) == this.getIfname());
36 renderFormOptions: function(s
) {
37 var dev
= this.getL3Device() || this.getDevice(), o
;
39 // -- general ---------------------------------------------------------------------
41 o
= s
.taboption('general', form
.Value
, 'server', _('SSTP Server'));
44 o
= s
.taboption('general', form
.Value
, 'username', _('PAP/CHAP username'));
46 o
= s
.taboption('general', form
.Value
, 'password', _('PAP/CHAP password'));
49 // -- advanced --------------------------------------------------------------------
51 o
= s
.taboption('advanced', form
.Flag
, 'ipv6', _('IPv6 support'), _('If checked, adds "+ipv6" to the pppd options'));
53 o
= s
.taboption('advanced', form
.ListValue
, 'log_level', _('sstpc Log-level'));
54 o
.value('0', _('0', 'sstp log level value'));
55 o
.value('1', _('1', 'sstp log level value'));
56 o
.value('2', _('2', 'sstp log level value'));
57 o
.value('3', _('3', 'sstp log level value'));
58 o
.value('4', _('4', 'sstp log level value'));
61 var defaultroute
= s
.taboption('advanced', form
.Flag
, 'defaultroute', _('Use default gateway'), _('If unchecked, no default route is configured'));
62 defaultroute
.default = defaultroute
.enabled
;
64 o
= s
.taboption('advanced', form
.Value
, 'metric', _('Use gateway metric'));
66 o
.datatype
= 'uinteger';
67 o
.depends('defaultroute', defaultroute
.enabled
);
69 o
= s
.taboption('advanced', form
.Flag
, 'peerdns', _('Use DNS servers advertised by peer'), _('If unchecked, the advertised DNS server addresses are ignored'));
70 o
.default = o
.enabled
;
72 o
= s
.taboption('advanced', form
.DynamicList
, 'dns', _('Use custom DNS servers'));
73 o
.depends('peerdns', '0');
74 o
.datatype
= 'ipaddr';
77 o
= s
.taboption('advanced', form
.Value
, 'mtu', _('Override MTU'));
78 o
.placeholder
= dev
? (dev
.getMTU() || '1500') : '1500';
79 o
.datatype
= 'max(9200)';
81 o
= s
.taboption('advanced', form
.Value
, 'sstp_options', _('Extra sstpc options'), _('e.g: --proxy 10.10.10.10'));
83 o
= s
.taboption('advanced', form
.Value
, 'pppd_options', _('Extra pppd options'), _('e.g: dump'));