Skip to content

Commit 5fcf648

Browse files
authored
Merge pull request #1903 from ustcweizhou/vpc-vpn-add-user
[4.9] CLOUDSTACK-9356: FIX Cannot add users in VPC VPN
2 parents d082226 + 2ec3ba3 commit 5fcf648

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -521,21 +521,26 @@ public boolean applyVpnUsers(long vpnOwnerId, String userName) {
521521

522522
boolean success = true;
523523

524-
boolean[] finals = new boolean[users.size()];
524+
Boolean[] finals = new Boolean[users.size()];
525525
for (RemoteAccessVPNServiceProvider element : _vpnServiceProviders) {
526526
s_logger.debug("Applying vpn access to " + element.getName());
527527
for (RemoteAccessVpnVO vpn : vpns) {
528528
try {
529529
String[] results = element.applyVpnUsers(vpn, users);
530530
if (results != null) {
531+
int indexUser = -1;
531532
for (int i = 0; i < results.length; i++) {
532-
s_logger.debug("VPN User " + users.get(i) + (results[i] == null ? " is set on " : (" couldn't be set due to " + results[i]) + " on ") + vpn);
533+
indexUser ++;
534+
if (indexUser == users.size()) {
535+
indexUser = 0; // results on multiple VPC routers are combined in commit 13eb789, reset user index if one VR is done.
536+
}
537+
s_logger.debug("VPN User " + users.get(indexUser) + (results[i] == null ? " is set on " : (" couldn't be set due to " + results[i]) + " on ") + vpn.getUuid());
533538
if (results[i] == null) {
534-
if (!finals[i]) {
535-
finals[i] = true;
539+
if (finals[indexUser] == null) {
540+
finals[indexUser] = true;
536541
}
537542
} else {
538-
finals[i] = false;
543+
finals[indexUser] = false;
539544
success = false;
540545
}
541546
}

0 commit comments

Comments
 (0)