Skip to content

Commit 0aa7a33

Browse files
committed
✨ feat: add auth-user-pass
1 parent 97492d2 commit 0aa7a33

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

android/src/main/java/com/norcod/rnovpn/RNSimpleOpenvpnModule.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -238,24 +238,24 @@ private void startVpn(Promise promise) {
238238
ConfigParser cp = new ConfigParser();
239239

240240
try {
241+
String username = ovpnOptions.getOrDefault("username", "").toString();
242+
String password = ovpnOptions.getOrDefault("password", "").toString();
241243
String notificationTitle = ovpnOptions.getOrDefault("notificationTitle", "OpenVPN").toString();
242244
int compatMode = ovpnOptions.get("compatMode") != null ? ((Double)ovpnOptions.get("compatMode")).intValue()
243245
: CompatMode.MODERN_DEFAULTS.ordinal();
244246
boolean useLegacyProvider = (boolean)ovpnOptions.getOrDefault("useLegacyProvider", false);
245247
boolean useCustomConfig = (boolean)ovpnOptions.getOrDefault("useCustomConfig", false);
246248
String customConfigOptions = ovpnOptions.getOrDefault("customConfigOptions", "").toString();
247-
// String username = ovpnOptions.getOrDefault("username", "").toString();
248-
// String password = ovpnOptions.getOrDefault("password", "").toString();
249249

250250
cp.parseConfig(new StringReader(config));
251251
vpnProfile = cp.convertProfile();
252+
vpnProfile.mUsername = username;
253+
vpnProfile.mPassword = password;
252254
vpnProfile.mName = notificationTitle;
253255
vpnProfile.mCompatMode = Utils.mapCompatMode(compatMode);
254256
vpnProfile.mUseLegacyProvider = useLegacyProvider;
255257
vpnProfile.mUseCustomConfig = useCustomConfig;
256258
vpnProfile.mCustomConfigOptions = customConfigOptions;
257-
// vpnProfile.mUsername = username;
258-
// vpnProfile.mPassword = password;
259259

260260
if (vpnProfile.checkProfile(reactContext) != R.string.no_error_found) {
261261
throw new RemoteException(reactContext.getString(vpnProfile.checkProfile(reactContext)));

index.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ interface VpnOptions {
2121
remoteAddress?: string;
2222
ovpnString?: string;
2323
ovpnFileName?: string;
24+
username?: string;
25+
password?: string;
2426
assetsPath?: string;
2527
notificationTitle?: string;
2628
compatMode?: RNSimpleOpenvpn.CompatMode;

ios/RNSimpleOpenvpn.m

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,10 +137,12 @@ - (void)startVpn:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock
137137
reject(@"E_LOAD_PREFERENCE_ERROR", @"Provider Manager load preferences failed", error);
138138
} else {
139139
NSError *error = nil;
140+
NSString *const username = self.ovpnOptions[@"username"] ? self.ovpnOptions[@"username"] : @"";
141+
NSString *const password = self.ovpnOptions[@"password"] ? self.ovpnOptions[@"password"] : @"";
140142
NSString *const remoteAddress = self.ovpnOptions[@"remoteAddress"] ? self.ovpnOptions[@"remoteAddress"] : @"";
141143

142144
[self.providerManager.connection
143-
startVPNTunnelWithOptions:@{@"username" : @"", @"password" : @"", @"remote" : remoteAddress}
145+
startVPNTunnelWithOptions:@{@"username" : username, @"password" : password, @"remote" : remoteAddress}
144146
andReturnError:&error];
145147

146148
if (error) {

0 commit comments

Comments
 (0)