diff options
author | Jonathan Bauer | 2017-12-01 18:31:35 +0100 |
---|---|---|
committer | Jonathan Bauer | 2017-12-01 18:31:35 +0100 |
commit | 315a8dc67200b9c101cdb4b26dfe944fb5d0f0d7 (patch) | |
tree | e7d48dd0d273388db99687496e66d7d0e6343b09 /dozentenmodul/src/main/java/org/openslx/dozmod/gui/control | |
parent | Lecture name should not be multiline! (diff) | |
download | tutor-module-315a8dc67200b9c101cdb4b26dfe944fb5d0f0d7.tar.gz tutor-module-315a8dc67200b9c101cdb4b26dfe944fb5d0f0d7.tar.xz tutor-module-315a8dc67200b9c101cdb4b26dfe944fb5d0f0d7.zip |
[netshare] add warning for unencrypted password
+ fix formatting
+ unused import
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/control')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/NetshareConfigurator.java | 65 | ||||
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/NetshareTable.java | 2 |
2 files changed, 45 insertions, 22 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/NetshareConfigurator.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/NetshareConfigurator.java index 7c412f1c..816331a0 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/NetshareConfigurator.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/NetshareConfigurator.java @@ -8,7 +8,6 @@ import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.util.ArrayList; -import java.util.Arrays; import java.util.EventListener; import java.util.EventObject; import java.util.List; @@ -31,10 +30,12 @@ import javax.swing.event.TableModelListener; import org.apache.log4j.Logger; import org.openslx.bwlp.thrift.iface.NetShare; import org.openslx.bwlp.thrift.iface.NetShareAuth; +import org.openslx.dozmod.gui.Gui; import org.openslx.dozmod.gui.control.ComboBox.ComboBoxRenderer; import org.openslx.dozmod.gui.control.table.NetshareTable; import org.openslx.dozmod.gui.control.table.QScrollPane; import org.openslx.dozmod.gui.helper.GridManager; +import org.openslx.dozmod.gui.helper.MessageType; import org.openslx.dozmod.util.FormatHelper; /** @@ -48,7 +49,9 @@ public class NetshareConfigurator extends NetshareConfiguratorLayout { // mount points / win drive letters - ideally, we would check whether the image is linux or windows based // and either show a drive selection list like this one, or a textfield for a user-defined mount point... - private Character[] mountPoints = { 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' }; + private Character[] mountPoints = { 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', + 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' }; + public NetshareConfigurator() { super(); @@ -56,7 +59,8 @@ public class NetshareConfigurator extends NetshareConfiguratorLayout { tblNetshare.getModel().addTableModelListener(new TableModelListener() { @Override public void tableChanged(TableModelEvent e) { - fireNetshareConfigurationChangeEvent(new NetshareConfigurationChangeEvent(NetshareConfigurator.this)); + fireNetshareConfigurationChangeEvent( + new NetshareConfigurationChangeEvent(NetshareConfigurator.this)); } }); @@ -129,8 +133,9 @@ public class NetshareConfigurator extends NetshareConfiguratorLayout { return; } input.displayname = inputShareName; - - NetShareAuth inputNetShareAuth = cboNetshareAuth.getItemAt(cboNetshareAuth.getSelectedIndex()); + + NetShareAuth inputNetShareAuth = cboNetshareAuth + .getItemAt(cboNetshareAuth.getSelectedIndex()); if (inputNetShareAuth == null) { lblError.setText("Kein Authentifizierungstyp angegeben!"); return; @@ -146,7 +151,6 @@ public class NetshareConfigurator extends NetshareConfiguratorLayout { input.username = tfUsername.getText(); char[] inputPassword = tfPassword.getPassword(); input.password = new String(inputPassword); - Arrays.fill(inputPassword, '0'); // prolly not relevant/sufficiant... // if password is set but no username, error if (!input.password.isEmpty() && input.username.isEmpty()) { lblError.setText("Kein Nutzername angegeben!"); @@ -163,7 +167,8 @@ public class NetshareConfigurator extends NetshareConfiguratorLayout { return; } // now check for optional mount path - Character inputMountPoint = cboNetshareMountPoint.getItemAt(cboNetshareMountPoint.getSelectedIndex()); + Character inputMountPoint = cboNetshareMountPoint + .getItemAt(cboNetshareMountPoint.getSelectedIndex()); if (inputMountPoint == null) { lblError.setText("Kein Ziel angegeben!"); return; @@ -187,12 +192,23 @@ public class NetshareConfigurator extends NetshareConfiguratorLayout { LOGGER.error("Network share already in the list, aborting."); return; } + // if a password is set, warn the user about its unsafe storage + // which we might want to implement one day... + if (input.password != null && !input.password.isEmpty()) { + if (!Gui.showMessageBox( + "Das eingebene Passwort wird im Klartext gespeichert " + + "und ist in der VM für jeden Nutzer sichtbar.\n" + + "Verwenden Sie auf keinen Fall sicherheitskritische Passwörter!" + + "\n\nMöchten Sie diesen Netzwerk-Share trotzdem hinzufügen?", + MessageType.QUESTION_YESNO, LOGGER, null)) { + return; + } + } lblError.setText(null); tblNetshareData.add(input); tblNetshare.getModel().setData(tblNetshareData); - } } - ); + }); btnDel.addActionListener(new ActionListener() { @Override @@ -264,11 +280,13 @@ public class NetshareConfigurator extends NetshareConfiguratorLayout { public void stateChanged(NetshareConfigurationChangeEvent event); } - public void addNetshareConfigurationChangeEventListener(NetshareConfigurationChangeEventListener listener) { + public void addNetshareConfigurationChangeEventListener( + NetshareConfigurationChangeEventListener listener) { listenerList.add(NetshareConfigurationChangeEventListener.class, listener); } - public void removeNetshareConfigurationChangeEventListener(NetshareConfigurationChangeEventListener listener) { + public void removeNetshareConfigurationChangeEventListener( + NetshareConfigurationChangeEventListener listener) { listenerList.remove(NetshareConfigurationChangeEventListener.class, listener); } @@ -292,7 +310,8 @@ class NetshareConfiguratorLayout extends JPanel { private final static String txtNetshareDesc = "Hier können Sie Netzlaufwerke angeben," + " die automatisch beim Start der Veranstaltung eingebunden werden sollen."; - protected QLabel lblShareAuth, lblSharePath, lblShareName, lblMountPoint, lblUsername, lblPassword, lblError; + protected QLabel lblShareAuth, lblSharePath, lblShareName, lblMountPoint, lblUsername, lblPassword, + lblError; protected NetshareTable tblNetshare = new NetshareTable(); protected JTextField tfSharePath, tfShareName, tfUsername; protected JPasswordField tfPassword; @@ -325,31 +344,35 @@ class NetshareConfiguratorLayout extends JPanel { grid.nextRow(); JPanel pnlNewShare = new JPanel(); - GridManager gridNewShare = new GridManager(pnlNewShare, 5, true); + GridManager gridNewShare = new GridManager(pnlNewShare, 6, true); pnlNewShare.setBorder(BorderFactory.createTitledBorder("Details")); lblSharePath = new QLabel("Pfad"); gridNewShare.add(lblSharePath); tfSharePath = new JTextField(); - gridNewShare.add(tfSharePath, 4).fill(true, false).expand(true, false); + gridNewShare.add(tfSharePath, 5).fill(true, false).expand(true, false); gridNewShare.nextRow(); // bottom form to add a new share lblShareName = new QLabel("Anzeigename"); lblMountPoint = new QLabel("Ziel"); tfShareName = new JTextField(); - + // extra panel for fancy layout purposes... + JPanel pnlShareName = new JPanel(); + pnlShareName.setLayout(new BoxLayout(pnlShareName, BoxLayout.LINE_AXIS)); + pnlShareName.add(lblShareName); + pnlShareName.add(tfShareName); + pnlShareName.add(lblMountPoint); + pnlShareName.add(cboNetshareMountPoint); gridNewShare.add(lblShareName); - gridNewShare.add(tfShareName, 2).fill(true, false).expand(true, false); - gridNewShare.add(lblMountPoint); - gridNewShare.add(cboNetshareMountPoint); + gridNewShare.add(pnlShareName, 5).fill(true, false).expand(true, false); gridNewShare.nextRow(); lblShareAuth = new QLabel("Authentifizierung"); gridNewShare.add(lblShareAuth); - gridNewShare.add(cboNetshareAuth, 4).fill(true, false).expand(true, false); + gridNewShare.add(cboNetshareAuth, 5).fill(true, false).expand(true, false); gridNewShare.nextRow(); lblUsername = new QLabel("Username"); gridNewShare.add(lblUsername); tfUsername = new JTextField(20); - gridNewShare.add(tfUsername, 1).fill(true, false).expand(true, false); + gridNewShare.add(tfUsername, 2).fill(true, false).expand(true, false); lblPassword = new QLabel("Passwort"); gridNewShare.add(lblPassword); tfPassword = new JPasswordField(20); @@ -360,7 +383,7 @@ class NetshareConfiguratorLayout extends JPanel { pnlShowPass.setLayout(new BoxLayout(pnlShowPass, BoxLayout.LINE_AXIS)); pnlShowPass.add(Box.createGlue()); pnlShowPass.add(chkShowPass, BorderLayout.LINE_END); - gridNewShare.add(pnlShowPass, 5).fill(true, false).expand(true, false); + gridNewShare.add(pnlShowPass, 6).fill(true, false).expand(true, false); gridNewShare.nextRow(); grid.add(pnlNewShare, 5).fill(true, false).expand(true, false); grid.nextRow(); diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/NetshareTable.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/NetshareTable.java index f8e4d138..adeae987 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/NetshareTable.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/NetshareTable.java @@ -41,7 +41,7 @@ public class NetshareTable extends ListTable<NetShare> { if (column == COL_NAME) return (String) object; if (column == COL_MOUNT) - return (String) object; + return (String) object + ":"; if (column == COL_PATH) return (String) object; if (column == COL_AUTH) { |