Index: /applications/editors/josm/plugins/remotecontrol/build.xml
===================================================================
--- /applications/editors/josm/plugins/remotecontrol/build.xml	(revision 22478)
+++ /applications/editors/josm/plugins/remotecontrol/build.xml	(revision 22479)
@@ -28,5 +28,5 @@
 	
 	<!-- set before publising -->
-	<property name="commit.message" value="Added version info capable of jsonp. Also made header CORS aware" />		
+	<property name="commit.message" value="version command evaluates permission flags" />		
 	<property name="plugin.main.version" value="2830" />
 	
Index: /applications/editors/josm/plugins/remotecontrol/src/org/openstreetmap/josm/plugins/remotecontrol/RemoteControlPreferences.java
===================================================================
--- /applications/editors/josm/plugins/remotecontrol/src/org/openstreetmap/josm/plugins/remotecontrol/RemoteControlPreferences.java	(revision 22478)
+++ /applications/editors/josm/plugins/remotecontrol/src/org/openstreetmap/josm/plugins/remotecontrol/RemoteControlPreferences.java	(revision 22479)
@@ -29,4 +29,5 @@
     private JCheckBox permissionChangeSelection = new JCheckBox(tr("change the selection"));
     private JCheckBox permissionChangeViewport = new JCheckBox(tr("change the viewport"));
+    private JCheckBox permissionReadProtocolversion = new JCheckBox(tr("read protocol version"));
     private JCheckBox alwaysAskUserConfirm = new JCheckBox(tr("confirm all Remote Control actions manually"));
 
@@ -44,4 +45,5 @@
         perms.add(permissionChangeSelection, GBC.eol().insets(0,5,0,0).fill(GBC.HORIZONTAL));
         perms.add(permissionChangeViewport, GBC.eol().insets(0,5,0,0).fill(GBC.HORIZONTAL));
+        perms.add(permissionReadProtocolversion, GBC.eol().insets(0,5,0,0).fill(GBC.HORIZONTAL));
         remote.add(perms, GBC.eol().fill(GBC.HORIZONTAL));
 
@@ -54,4 +56,5 @@
         permissionChangeViewport.setSelected(Main.pref.getBoolean("remotecontrol.permission.change-viewport", true));
         permissionCreateObjects.setSelected(Main.pref.getBoolean("remotecontrol.permission.create-objects", true));
+        permissionReadProtocolversion.setSelected(Main.pref.getBoolean("remotecontrol.permission.read-protocolversion", true));
         alwaysAskUserConfirm.setSelected(Main.pref.getBoolean("remotecontrol.always-confirm", false));
 
@@ -63,4 +66,5 @@
         Main.pref.put("remotecontrol.permission.change-viewport", permissionChangeViewport.isSelected());
         Main.pref.put("remotecontrol.permission.create-objects", permissionCreateObjects.isSelected());
+        Main.pref.put("remotecontrol.permission.read-protocolversion", permissionReadProtocolversion.isSelected());
         Main.pref.put("remotecontrol.always-confirm", alwaysAskUserConfirm.isSelected());
         // FIXME confirm return value - really no restart needed?
Index: /applications/editors/josm/plugins/remotecontrol/src/org/openstreetmap/josm/plugins/remotecontrol/RequestProcessor.java
===================================================================
--- /applications/editors/josm/plugins/remotecontrol/src/org/openstreetmap/josm/plugins/remotecontrol/RequestProcessor.java	(revision 22478)
+++ /applications/editors/josm/plugins/remotecontrol/src/org/openstreetmap/josm/plugins/remotecontrol/RequestProcessor.java	(revision 22479)
@@ -289,4 +289,20 @@
                 // TODO: select/zoom to downloaded
             } else if (command.equals("/version")) {
+                if (!Main.pref.getBoolean("remotecontrol.permission.read-protocolversion", true)) {
+                    sendForbidden(out);
+                    System.out.println("RemoteControl: /version forbidden by preferences");
+                    return;
+                }
+                if (Main.pref.getBoolean("remotecontrol.always-confirm", false)) {
+                    if (JOptionPane.showConfirmDialog(Main.parent,
+                        "<html>" + tr("Remote Control has been asked to report its protocol version. This enables web sites to detect a running JOSM.") +
+                        "<br>" + tr("Do you want to allow this?"),
+                        tr("Confirm Remote Control action"),
+                        JOptionPane.YES_NO_OPTION) != JOptionPane.YES_OPTION) {
+                            sendForbidden(out);
+                            return;
+                    }
+                }
+
 				content = RequestProcessor.PROTOCOLVERSION;
 				contentType = "application/json";
