summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSelvam <selvam@gluster.com>2011-04-18 14:15:39 +0530
committerSelvam <selvam@gluster.com>2011-04-18 15:01:44 +0530
commitf8cc319bb5d73350b73b2a38d6b9b7f46ab8d39a (patch)
treef7d38b2289f377d57ee63d67ce9a7feb2ce60322 /src
parenta907385e3ff254ae7a8c316ae7bf4ce1a5fcb491 (diff)
Access control validation fix
Diffstat (limited to 'src')
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/ValidationUtil.java24
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java16
2 files changed, 27 insertions, 13 deletions
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/ValidationUtil.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/ValidationUtil.java
index ac77c76f..b1ceb478 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/ValidationUtil.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/ValidationUtil.java
@@ -1,6 +1,5 @@
package com.gluster.storage.management.core.utils;
-import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ValidationUtil {
@@ -23,7 +22,16 @@ public class ValidationUtil {
isValid = false;
}
- for (int i = 0; i < ipAddress.length && isValid; i++) {
+ int iterator=ipAddress.length-1;
+
+ if (ipAddress.length <= 4 && ipAddress[ipAddress.length - 1].equals("*")) {
+ iterator = ipAddress.length - 2;
+ } else if (ipAddress.length < 4 || ipAddress.length > 4 ){
+ isValid = false;
+ iterator = ipAddress.length - 1;
+ }
+
+ for (int i = 0; i <= iterator && isValid; i++) {
if (ipAddress[i].equals("*")) {
isValid = (i == ipAddress.length - 1) ? isValid : false;
} else {
@@ -40,7 +48,9 @@ public class ValidationUtil {
if (ip.equals("0.0.0.0") || ip.equals("255.255.255.255")) { // Invalidate the special ip's
isValid = false;
}
-
+ if (ipAddress.length < 4) {
+ isValid = false;
+ }
for (int i = 0; i < ipAddress.length && isValid; i++) {
isValid = isValidIpQuad(ipAddress[i]);
}
@@ -60,9 +70,11 @@ public class ValidationUtil {
public static void main(String[] argv) {
String ip = "0.0.0.0";
- System.out.println("Is valid ip (" + ip + ")? " + isValidIp(ip));
- String hostName = "Selvam-sd.com";
- System.out.println(isValidHostName(hostName));
+ // System.out.println("Is valid ip (" + ip + ")? " + isValidIp(ip));
+ String hostName = "myhost.q";
+ // System.out.println(isValidHostName(hostName));
+ // System.out.println(isValidHostName(hostName));
+ System.out.println(isValidAccessControl(hostName));
}
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java
index 497e939e..956c07ea 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java
@@ -211,17 +211,20 @@ public class VolumeSummaryView extends ViewPart {
guiHelper.setStatusMessage("Setting access control list to [" + newACL + "]...");
parent.update();
- if (!newACL.equals(volume.getAccessControlList()) && ValidationUtil.isValidAccessControl(newACL)) {
- BusyIndicator.showWhile(Display.getDefault(), new Runnable() {
+ if (newACL.equals(volume.getAccessControlList())) {
+ accessControlText.setEnabled(false);
+ changeLink.setText("change");
+ } else if (ValidationUtil.isValidAccessControl(newACL)) {
+ BusyIndicator.showWhile(Display.getDefault(), new Runnable() {
@Override
public void run() {
Status status = (new VolumesClient(GlusterDataModelManager.getInstance().getSecurityToken()))
- .setVolumeOption(volume.getName(), Volume.OPTION_AUTH_ALLOW, newACL);
-
+ .setVolumeOption(volume.getName(), Volume.OPTION_AUTH_ALLOW, newACL);
+
if (status.isSuccess()) {
accessControlText.setEnabled(false);
changeLink.setText("change");
-
+
GlusterDataModelManager.getInstance().setAccessControlList(volume, newACL);
} else {
MessageDialog.openError(Display.getDefault().getActiveShell(), "Access control",
@@ -230,8 +233,7 @@ public class VolumeSummaryView extends ViewPart {
}
});
} else {
- MessageDialog.openError(Display.getDefault().getActiveShell(), "Access control",
- "Invalid IP / Host name ");
+ MessageDialog.openError(Display.getDefault().getActiveShell(), "Access control", "Invalid IP / Host name ");
}
guiHelper.clearStatusMessage();
parent.update();