constant user token name
authorVladimir Krivosheev <vladimir.krivosheev@jetbrains.com>
Mon, 25 Apr 2016 15:28:50 +0000 (17:28 +0200)
committerVladimir Krivosheev <vladimir.krivosheev@jetbrains.com>
Mon, 25 Apr 2016 15:28:50 +0000 (17:28 +0200)
platform/built-in-server/src/org/jetbrains/builtInWebServer/BuiltInWebServer.kt
platform/platform-impl/src/com/intellij/openapi/application/ConfigImportHelper.java

index e88f5fa107d1c6b19f7e1d71819b390713673fd3..c2b81b41d379920eee76698e00cc69b316ed597e 100644 (file)
@@ -56,6 +56,9 @@ import javax.swing.SwingUtilities
 
 internal val LOG = Logger.getInstance(BuiltInWebServer::class.java)
 
+// name is duplicated in the ConfigImportHelper
+private const val IDE_TOKEN_FILE = "user.token"
+
 class BuiltInWebServer : HttpRequestHandler() {
   override fun isAccessible(request: HttpRequest) = request.isLocalOrigin(onlyAnyOrLoopback = false, hostsOnly = true)
 
@@ -91,13 +94,12 @@ class BuiltInWebServer : HttpRequestHandler() {
   }
 }
 
-const val TOKEN_PARAM_NAME = "__ij-st"
+internal const val TOKEN_PARAM_NAME = "__ij-st"
 
 private val STANDARD_COOKIE by lazy {
   val productName = ApplicationNamesInfo.getInstance().lowercaseProductName
   val configPath = PathManager.getConfigPath()
-  val cookieName = productName + "-" + Integer.toHexString(configPath.hashCode())
-  val file = File(configPath, cookieName)
+  val file = File(configPath, IDE_TOKEN_FILE)
   var token: String? = null
   if (file.exists()) {
     try {
@@ -114,7 +116,7 @@ private val STANDARD_COOKIE by lazy {
 
   // explicit setting domain cookie on localhost doesn't work for chrome
   // http://stackoverflow.com/questions/8134384/chrome-doesnt-create-cookie-for-domain-localhost-in-broken-https
-  val cookie = DefaultCookie(cookieName, token!!)
+  val cookie = DefaultCookie(productName + "-" + Integer.toHexString(configPath.hashCode()), token!!)
   cookie.isHttpOnly = true
   cookie.setMaxAge(TimeUnit.DAYS.toSeconds(365 * 10))
   cookie.setPath("/")
index 2329e369d9d90e35ab57ff48c229df01196b05fb..a34689ad76dfe6d5d01f0e2beb080eabaea12548 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2000-2015 JetBrains s.r.o.
+ * Copyright 2000-2016 JetBrains s.r.o.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -196,6 +196,9 @@ public class ConfigImportHelper {
     // Copy old plugins. If some of them are incompatible PluginManager will deal with it
     FileUtil.copyDir(src, dest);
 
+    // delete old user token - we must not reuse it
+    FileUtil.delete(new File(dest, "user.token"));
+
     File oldPluginsDir = new File(src, PLUGINS_PATH);
     if (!oldPluginsDir.isDirectory() && SystemInfo.isMac) {
       oldPluginsDir = getSettingsPath(oldInstallationHome, settings, PathManager.PROPERTY_PLUGINS_PATH,
@@ -340,14 +343,14 @@ public class ConfigImportHelper {
         }
         if (bundle.containsKey(propertyName)) {
           return bundle.getString(propertyName);
-        } 
+        }
         return null;
       }
       catch (IOException e) {
         return null;
       }
     }
-    
+
     final String fileContent = getContent(file);
 
     // try to find custom config path