Browse Source

Remove CurlManager and cleanups for old licensing system

Josh Engebretson 9 years ago
parent
commit
b1debcdb7f

+ 3 - 18
Script/AtomicEditor/ui/modal/About.ts

@@ -114,32 +114,17 @@ class About extends ModalWindow {
         var licenseSystem = ToolCore.licenseSystem;
 
         var installedText = "    <widget TBSkinImage: skin: 'LogoMac-Small'> <widget TBSkinImage: skin: 'LogoWindows-Small'> <widget TBSkinImage: skin: 'LogoHTML5-Small'> ";
-        var availableText = "   ";
 
-        if (licenseSystem.licenseAndroid)
-            installedText += "<widget TBSkinImage: skin: 'LogoAndroid-Small'> ";
-        else
-            availableText += "<widget TBSkinImage: skin: 'LogoAndroid-Small'> ";
+        installedText += "<widget TBSkinImage: skin: 'LogoAndroid-Small'> ";
 
-            if (licenseSystem.licenseIOS)
-                installedText += "<widget TBSkinImage: skin: 'LogoIOS-Small'> ";
-            else
-                availableText += "<widget TBSkinImage: skin: 'LogoIOS-Small'> ";
+        installedText += "<widget TBSkinImage: skin: 'LogoIOS-Small'> ";
 
         installedText += "<widget TBSkinImage: skin: 'Module2D-Small'> ";
 
-        if (licenseSystem.licenseModule3D)
-            installedText += "<widget TBSkinImage: skin: 'Module3D-Small'> ";
-        else
-            availableText += "<widget TBSkinImage: skin: 'Module3D-Small'> ";
+        installedText += "<widget TBSkinImage: skin: 'Module3D-Small'> ";
 
         text += installedText + "\n\n\n";
 
-        if (!licenseSystem.licenseIOS || !licenseSystem.licenseAndroid || !licenseSystem.licenseModule3D) {
-          text += "<color #76D6FF>Available platforms and modules:</color>\n\n";
-          text += availableText + "\n\n\n";
-        }
-
         text += "<color #76D6FF>Special Thanks:</color>\n";
         text += "The Urho3D Project (http://urho3d.github.io), Sami Vaarala (http://www.duktape.org)\n";
 

+ 0 - 8
Source/AtomicEditor/EditorMode/AEEditorMode.cpp

@@ -60,17 +60,9 @@ EditorMode::~EditorMode()
 
 void EditorMode::HandleIPCWorkerStarted(StringHash eventType, VariantMap& eventData)
 {
-    LicenseSystem* licenseSystem = GetSubsystem<LicenseSystem>();
-
     VariantMap startupData;
     SystemUI::DebugHud* debugHud = GetSubsystem<SystemUI::DebugHud>();
 
-// BEGIN LICENSE MANAGEMENT
-
-    startupData["license3D"] = licenseSystem->GetLicenseModule3D();
-
-// END LICENSE MANAGEMENT
-
     startupData["debugHudMode"] = debugHud ? debugHud->GetMode() : (unsigned) 0;
 
     SendEvent(E_EDITORPLAYREQUEST);

+ 0 - 24
Source/AtomicTool/AtomicTool.cpp

@@ -146,19 +146,11 @@ void AtomicTool::DoActivation()
 {
     LicenseSystem* licenseSystem = GetSubsystem<LicenseSystem>();
 
-    if (!licenseSystem->ValidateKey(activationKey_))
-    {
-        ErrorExit(ToString("\nProduct key \"%s\" is invalid, keys are in the form ATOMIC-XXXX-XXXX-XXXX-XXXX\n", activationKey_.CString()));
-        return;
-    }
-
     licenseSystem->LicenseAgreementConfirmed();
 
     SubscribeToEvent(E_LICENSE_ACTIVATIONERROR, ATOMIC_HANDLER(AtomicTool, HandleLicenseActivationError));
     SubscribeToEvent(E_LICENSE_ACTIVATIONSUCCESS, ATOMIC_HANDLER(AtomicTool, HandleLicenseActivationSuccess));
 
-    licenseSystem->RequestServerActivation(activationKey_);
-
 }
 
 void AtomicTool::HandleLicenseDeactivationError(StringHash eventType, VariantMap& eventData)
@@ -175,22 +167,6 @@ void AtomicTool::HandleLicenseDeactivationSuccess(StringHash eventType, VariantM
 
 void AtomicTool::DoDeactivation()
 {
-    LicenseSystem* licenseSystem = GetSubsystem<LicenseSystem>();
-
-    if (!licenseSystem->LoadLicense())
-    {
-        ErrorExit("\nNot activated");
-        return;
-    }
-
-    if (!licenseSystem->Deactivate())
-    {
-        ErrorExit("\nNot activated\n");
-        return;
-    }
-
-    SubscribeToEvent(E_LICENSE_DEACTIVATIONERROR, ATOMIC_HANDLER(AtomicTool, HandleLicenseDeactivationError));
-    SubscribeToEvent(E_LICENSE_DEACTIVATIONSUCCESS, ATOMIC_HANDLER(AtomicTool, HandleLicenseDeactivationSuccess));
 }
 
 void AtomicTool::Start()

+ 0 - 560
Source/ToolCore/License/LicenseSystem.cpp

@@ -57,26 +57,10 @@ LicenseSystem::LicenseSystem(Context* context) :
 {
     FileSystem* filesystem = GetSubsystem<FileSystem>();
 
-    licenseFilePath_ = filesystem->GetAppPreferencesDir("AtomicEditor", "License");
-    licenseFilePath_ = AddTrailingSlash(licenseFilePath_);
-
-    if (!filesystem->DirExists(licenseFilePath_))
-    {
-        Poco::File dirs(licenseFilePath_.CString());
-        dirs.createDirectories();
-    }
-
-    licenseCachePath_ = licenseFilePath_;
-
-    licenseCachePath_ += "AtomicLicenseCache";
-
-    licenseFilePath_ += "AtomicLicense";
-
     eulaAgreementPath_ = filesystem->GetAppPreferencesDir("AtomicEditor", "License");
     eulaAgreementPath_ = AddTrailingSlash(eulaAgreementPath_);
     eulaAgreementPath_ += "EulaConfirmed";
 
-    ResetLicense();
 }
 
 LicenseSystem::~LicenseSystem()
@@ -101,19 +85,6 @@ void LicenseSystem::Initialize()
         SendEvent(E_LICENSE_EULAACCEPTED);
     }
 
-    // TODO: Cleanup for MIT
-
-    if (!LoadLicense() || !key_.Length())
-    {
-        ResetLicense();
-
-        SendEvent(E_LICENSE_ACTIVATIONREQUIRED);
-        return;
-    }
-    else
-    {
-        // RequestServerVerification(key_);
-    }
 }
 
 void LicenseSystem::LicenseAgreementConfirmed()
@@ -123,539 +94,8 @@ void LicenseSystem::LicenseAgreementConfirmed()
     SharedPtr<File> file(new File(context_, eulaAgreementPath_, FILE_WRITE));
     file->WriteInt(1);
     file->Close();
-
-    if (!LoadLicense() || !key_.Length())
-        SendEvent(E_LICENSE_ACTIVATIONREQUIRED);
-}
-
-String LicenseSystem::GenerateMachineID()
-{
-#if defined(ATOMIC_PLATFORM_OSX) || defined(ATOMIC_PLATFORM_LINUX)
-    String path = getenv("HOME");
-#else
-    wchar_t pathName[MAX_PATH];
-    pathName[0] = 0;
-    SHGetSpecialFolderPathW(0, pathName, CSIDL_PERSONAL, 0);
-    String path(pathName);
-#endif
-
-    Poco::MD5Engine md5;
-    md5.update(path.CString(), path.Length());
-    String id = Poco::MD5Engine::digestToHex(md5.digest()).c_str();
-    return id;
 }
 
-void LicenseSystem::ResetLicense()
-{
-    key_ = "";
-    licenseWindows_ = false;
-    licenseMac_ = false;
-    licenseAndroid_ = false;
-    licenseIOS_ = false;
-    licenseHTML5_ = false;
-    licenseModule3D_ = false;
-
-}
-
-bool LicenseSystem::LoadLicense()
-{
-
-    key_ = "ATOMIC-XXXX-XXXX-XXXX-XXXX";
-    licenseWindows_ = true;
-    licenseMac_ = true;
-    licenseAndroid_ = true;
-    licenseIOS_ = true;
-    licenseHTML5_ = true;
-    licenseModule3D_ = true;
-
-    return true;
-
-   // TODO: Cleanup for MIT
-/*
-    ResetLicense();
-
-    FileSystem* filesystem = GetSubsystem<FileSystem>();
-
-    if (!filesystem->FileExists(licenseFilePath_))
-        return false;
-
-    SharedPtr<File> file(new File(context_, licenseFilePath_, FILE_READ));
-
-    file->ReadInt(); // version
-
-    String key = file->ReadString();
-    if (!ValidateKey(key))
-        return false;
-
-    key_ = key;
-
-    licenseWindows_ = file->ReadBool();
-    licenseMac_ = file->ReadBool();
-    licenseAndroid_ = file->ReadBool();
-    licenseIOS_ = file->ReadBool();
-    licenseHTML5_ = file->ReadBool();
-    licenseModule3D_ = file->ReadBool();
-
-    return true;
-*/
-}
-
-bool LicenseSystem::ValidateKey(const String& key)
-{
-    if (!key.StartsWith("ATOMIC-"))
-        return false;
-
-    Vector<String> elements = key.Split('-');
-    if (elements.Size() != 5)
-        return false;
-
-    for (unsigned i = 1; i < elements.Size(); i++)
-    {
-        String element = elements[i];
-        if (element.Length() != 4)
-            return false;
-
-        for (unsigned j = 0; j < 4; j++)
-        {
-            char c = element[j];
-            if ((c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9'))
-                continue;
-            return false;
-        }
-    }
-
-    return true;
-}
-
-
-void LicenseSystem::SaveLicense()
-{
-    SharedPtr<File> file(new File(context_, licenseFilePath_, FILE_WRITE));
-    file->WriteInt(1); // version
-    file->WriteString(key_);
-
-    file->WriteBool(licenseWindows_);
-    file->WriteBool(licenseMac_);
-    file->WriteBool(licenseAndroid_);
-    file->WriteBool(licenseIOS_);
-    file->WriteBool(licenseHTML5_);
-    file->WriteBool(licenseModule3D_);
-
-    file->Close();
-
-}
-
-void LicenseSystem::RemoveLicense()
-{
-    FileSystem* filesystem = GetSubsystem<FileSystem>();
-
-    if (filesystem->FileExists(licenseFilePath_))
-    {
-        filesystem->Delete(licenseFilePath_);
-    }
-
-    if (filesystem->FileExists(licenseCachePath_))
-    {
-        filesystem->Delete(licenseCachePath_);
-    }
-}
-
-bool LicenseSystem::IsStandardLicense()
-{
-    return !licenseAndroid_;
-}
-
-
-void LicenseSystem::RequestServerVerification(const String& key)
-{
-    if (serverVerification_.NotNull())
-    {
-        ATOMIC_LOGERROR("LicenseSystem::RequestServerLicense - request already exists");
-        return;
-    }
-
-    FileSystem* fileSystem = GetSubsystem<FileSystem>();
-
-    if (fileSystem->FileExists(licenseCachePath_))
-    {
-        Time* time = GetSubsystem<Time>();
-        unsigned currentTime = time->GetTimeSinceEpoch();
-        unsigned fileTime = fileSystem->GetLastModifiedTime(licenseCachePath_);
-        unsigned deltaMinutes = (currentTime - fileTime)/60;
-        if (deltaMinutes < 1)
-        {
-            ATOMIC_LOGINFOF("%u minutes, using cached license", deltaMinutes);
-            SendEvent(E_LICENSE_SUCCESS);
-            return;
-        }
-    }
-
-    ATOMIC_LOGINFO("LicenseSystem::RequestServerLicense - requesting verification");
-
-    key_ = key;
-    CurlManager* cm = GetSubsystem<CurlManager>();
-    String post;
-    String id = GenerateMachineID();
-    post.AppendWithFormat("key=%s&id=%s", key.CString(), id.CString());
-
-    serverVerification_ = cm->MakeRequest("https://store.atomicgameengine.com/licenses/license_verify.php", post);
-
-    SubscribeToEvent(serverVerification_, E_CURLCOMPLETE, ATOMIC_HANDLER(LicenseSystem, HandleVerification));
-}
-
-int LicenseSystem::ParseResponse(const String& response, LicenseParse& parse)
-{
-
-    ATOMIC_LOGINFOF("%s", response.CString());
-
-    if (response.StartsWith("AC_ACTIVATIONSEXCEEDED"))
-    {
-        return 1;
-    }
-
-    if (response.StartsWith("AC_IDNOTACTIVATED"))
-    {
-        return 4;
-    }
-
-    if (response.StartsWith("AC_FAILED"))
-    {
-        return 2;
-    }
-
-    if (!response.StartsWith("WINDOWS"))
-    {
-        ATOMIC_LOGERRORF("Error Parsing Server Response %s", response.CString());
-        return 3;
-    }
-
-    String codes = response;
-    codes.Replace("\n", "");
-    codes.Replace("\r", "");
-
-    Vector<String> cvector = codes.Split(' ');
-
-    for (unsigned i = 0; i < cvector.Size(); i++)
-    {
-        Vector<String> feature = cvector[i].Split('=');
-        if (feature.Size() != 2)
-            continue;
-
-        if (feature[0] == "WINDOWS")
-            parse.licenseWindows_ = !feature[1].StartsWith("0");
-        else if (feature[0] == "MAC")
-            parse.licenseMac_ = !feature[1].StartsWith("0");
-        else if (feature[0] == "ANDROID")
-            parse.licenseAndroid_ = !feature[1].StartsWith("0");
-        else if (feature[0] == "IOS")
-            parse.licenseIOS_ = !feature[1].StartsWith("0");
-        else if (feature[0] == "HTML5")
-            parse.licenseHTML5_ = !feature[1].StartsWith("0");
-        else if (feature[0] == "THREED")
-            parse.licenseModule3D_ = !feature[1].StartsWith("0");
-
-    }
-
-    return 0;
-
-}
-
-void LicenseSystem::Activate(const String& key, const LicenseParse& parse)
-{
-    key_ = key;
-
-    licenseWindows_ = parse.licenseWindows_;
-    licenseMac_ = parse.licenseMac_;
-    licenseAndroid_ = parse.licenseAndroid_;
-    licenseIOS_= parse.licenseIOS_;
-    licenseHTML5_= parse.licenseHTML5_;
-    licenseModule3D_= parse.licenseModule3D_;
-
-    SaveLicense();
-}
-
-bool LicenseSystem::Deactivate()
-{
-    if (deactivate_.NotNull())
-    {
-        VariantMap eventData;
-        eventData[LicenseDeactivationError::P_MESSAGE] = "LicenseSystem::Deactivate - request already exists";
-        SendEvent(E_LICENSE_DEACTIVATIONERROR, eventData);
-        return false;
-    }
-
-    if (!key_.Length())
-    {
-        VariantMap eventData;
-        eventData[LicenseDeactivationError::P_MESSAGE] = "LicenseSystem::Deactivate - zero length key";
-        SendEvent(E_LICENSE_DEACTIVATIONERROR, eventData);
-        return false;
-    }
-
-    CurlManager* cm = GetSubsystem<CurlManager>();
-    String post;
-    String id = GenerateMachineID();
-    post.AppendWithFormat("key=%s&id=%s", key_.CString(), id.CString());
-
-    deactivate_ = cm->MakeRequest("https://store.atomicgameengine.com/licenses/license_deactivate.php", post);
-
-    SubscribeToEvent(deactivate_, E_CURLCOMPLETE, ATOMIC_HANDLER(LicenseSystem, HandleDeactivate));
-
-    return true;
-
-}
-
-void LicenseSystem::CreateOrUpdateLicenseCache()
-{
-    FileSystem* fileSystem = GetSubsystem<FileSystem>();
-    Time* time = GetSubsystem<Time>();
-
-    if (!fileSystem->FileExists(licenseCachePath_))
-    {
-        SharedPtr<File> file(new File(context_, licenseCachePath_, FILE_WRITE));
-        file->WriteInt(1);
-        file->Close();
-    }
-
-    fileSystem->SetLastModifiedTime(licenseCachePath_, time->GetTimeSinceEpoch());
-}
-
-void LicenseSystem::HandleVerification(StringHash eventType, VariantMap& eventData)
-{
-
-    CurlRequest* request = (CurlRequest*) (eventData[CurlComplete::P_CURLREQUEST].GetPtr());
-
-    bool licenseError = false;
-    bool resetLicense = false;
-
-    if (serverVerification_.NotNull())
-    {
-        assert(request == serverVerification_);
-
-        if (serverVerification_->GetError().Length())
-        {
-            ATOMIC_LOGERRORF("Unable to verify with server: %s", serverVerification_->GetError().CString());
-        }
-        else
-        {
-            LicenseParse parse;
-            int code = ParseResponse(serverVerification_->GetResponse(), parse);
-
-            if (code == 4)
-            {
-                // not activated
-                resetLicense = true;
-                licenseError = true;
-            }
-            else if (code == 2)
-            {
-                // something is wrong with the key
-                resetLicense = true;
-                licenseError = true;
-
-            }
-            else if (code == 3)
-            {
-                // something is wrong on the activation server
-                licenseError = true;
-            }
-            else if (code == 1)
-            {
-                // exceeded code, should not happen here as we aren't activating
-                resetLicense = true;
-                licenseError = true;
-            }
-            else if (code == 0)
-            {
-                // we should raise an error if there is a mismatch between local and server keys
-                // when the local says there are more enabled than server?
-                // otherwise, they could be being added
-
-                bool mismatch = false;
-
-                if (parse.licenseWindows_ != licenseWindows_)
-                    mismatch = true;
-
-                if (parse.licenseMac_ != licenseMac_)
-                    mismatch = true;
-
-                if (parse.licenseWindows_ != licenseWindows_)
-                    mismatch = true;
-
-                if (parse.licenseAndroid_ != licenseAndroid_)
-                    mismatch = true;
-
-                if (parse.licenseIOS_ != licenseIOS_)
-                    mismatch = true;
-
-                if (parse.licenseHTML5_ != licenseHTML5_)
-                    mismatch = true;
-
-                if (parse.licenseModule3D_ != licenseModule3D_)
-                    mismatch = true;
-
-                if (mismatch)
-                {
-                    ATOMIC_LOGERROR("License Mismatch, reseting");
-                    licenseWindows_ = parse.licenseWindows_;
-                    licenseMac_ = parse.licenseMac_;
-                    licenseAndroid_ = parse.licenseAndroid_;
-                    licenseIOS_= parse.licenseIOS_;
-                    licenseHTML5_= parse.licenseHTML5_;
-                    licenseModule3D_= parse.licenseModule3D_;
-
-                    SaveLicense();
-                }
-
-                CreateOrUpdateLicenseCache();
-
-                SendEvent(E_LICENSE_SUCCESS);
-            }
-
-        }
-
-        UnsubscribeFromEvents(serverVerification_);
-        serverVerification_ = 0;
-    }
-
-    if (resetLicense)
-    {
-        RemoveLicense();
-        ResetLicense();
-    }
-
-    if (licenseError)
-    {
-        ATOMIC_LOGINFO("There was an issue with the atomic-cli activation.  Please reactivate or contact [email protected] if this problem persists");
-        SendEvent(E_LICENSE_ERROR);
-    }
-
-}
-
-void LicenseSystem::HandleDeactivate(StringHash eventType, VariantMap& eventData)
-{
-    CurlRequest* request = (CurlRequest*) (eventData[CurlComplete::P_CURLREQUEST].GetPtr());
-
-    VariantMap eventDataOut;
-
-    if (deactivate_.NotNull())
-    {
-        assert(request == deactivate_);
-
-        if (deactivate_->GetError().Length())
-        {
-            String msg = "Deactivation Error:\n";
-            msg.AppendWithFormat("Unable to deactivate with server: %s", deactivate_->GetError().CString());
-
-            eventDataOut[LicenseDeactivationError::P_MESSAGE] = msg;
-            SendEvent(E_LICENSE_DEACTIVATIONERROR, eventDataOut);
-        }
-        else
-        {
-            String response = request->GetResponse();
-            if (response.StartsWith("AC_FAILED"))
-            {
-                String msg = "Deactivation Error:\n";
-                msg.AppendWithFormat("Unable to deactivate with server: %s", response.CString());
-
-                eventDataOut[LicenseDeactivationError::P_MESSAGE] = msg;
-                SendEvent(E_LICENSE_DEACTIVATIONERROR, eventDataOut);
-            }
-            else if (response.StartsWith("AC_NOTACTIVATED") || response.StartsWith("AC_SUCCESS"))
-            {
-                ResetLicense();
-                RemoveLicense();
-                SendEvent(E_LICENSE_DEACTIVATIONSUCCESS);
-            }
-
-        }
-
-        UnsubscribeFromEvents(deactivate_);
-        deactivate_ = 0;
-    }
-
-}
-
-void LicenseSystem::HandleActivationResult(StringHash eventType, VariantMap& eventData)
-{
-    VariantMap eventDataOut;
-
-    if (serverActivation_->GetError().Length())
-    {
-        String errorMessage;
-        errorMessage.AppendWithFormat("There was an error contacting the activation server\n\n%s", serverActivation_->GetError().CString());
-
-        eventDataOut[LicenseActivationError::P_MESSAGE] = errorMessage;
-        SendEvent(E_LICENSE_ACTIVATIONERROR, eventDataOut);
-        return;
-    }
-    else
-    {
-        LicenseParse parse;
-        int code = ParseResponse(serverActivation_->GetResponse(), parse);
-
-        if (code == 0)
-        {
-            Activate(key_, parse);
-            SendEvent(E_LICENSE_ACTIVATIONSUCCESS);
-        }
-        else if (code == 1)
-        {
-            // TODO: check for CLI and prompt to use CLI command to return license
-            String message = "Activations Exceeded:\nThis key has 2 activations in use.\n\nPlease return a license from Atomic Editor - Manage License menu on one of these active computers.\n\nIf you are unable to do so, please contact [email protected] providing the key to reset it";
-            eventDataOut[LicenseActivationError::P_MESSAGE] = message;
-            SendEvent(E_LICENSE_ACTIVATIONERROR, eventDataOut);
-
-        }
-        else if (code == 2)
-        {
-            String message = "License Error:\nThere was a problem with the license key.\n\nPlease check the key and try again.\n\nIf the problem persists please contact [email protected]";
-            eventDataOut[LicenseActivationError::P_MESSAGE] = message;
-            SendEvent(E_LICENSE_ACTIVATIONERROR, eventDataOut);
-
-
-        }
-        else if (code == 3)
-        {
-            String message ="Activation Server Error:\nThere was an error on the activation server\n\nIf the problem persists please contact [email protected]";
-            eventDataOut[LicenseActivationError::P_MESSAGE] = message;
-            SendEvent(E_LICENSE_ACTIVATIONERROR, eventDataOut);
-        }
-
-    }
-
-    UnsubscribeFromEvents(serverActivation_);
-    serverActivation_ = 0;
-}
-
-void LicenseSystem::RequestServerActivation(const String& key)
-{
-    if (serverActivation_.NotNull())
-    {
-        ATOMIC_LOGERROR("UIActivation::RequestServerActivation - request already exists");
-        return;
-    }
-    key_ = key;
-    CurlManager* cm = GetSubsystem<CurlManager>();
-    String post;
-    String id = GenerateMachineID();
-    post.AppendWithFormat("key=%s&id=%s", key.CString(), id.CString());
-
-    // todo, this should be a verify url (shouldn't auto add id)
-    serverActivation_ = cm->MakeRequest("https://store.atomicgameengine.com/licenses/license_activate.php", post);
-
-    SubscribeToEvent(serverActivation_, E_CURLCOMPLETE, ATOMIC_HANDLER(LicenseSystem, HandleActivationResult));
-}
-
-bool LicenseSystem::GetSourceBuild()
-{
-
-#ifdef ATOMIC_SOURCE_BUILD
-    return true;
-#else
-    return false;
-#endif
-}
 
 }
 

+ 1 - 77
Source/ToolCore/License/LicenseSystem.h

@@ -25,7 +25,6 @@
 #pragma once
 
 #include <Atomic/Core/Object.h>
-#include "../Net/CurlManager.h"
 
 using namespace Atomic;
 
@@ -34,30 +33,10 @@ namespace ToolCore
 
 class LicenseSystem : public Object
 {
-    ATOMIC_OBJECT(LicenseSystem, Object);
+    ATOMIC_OBJECT(LicenseSystem, Object)
 
 public:
 
-    struct LicenseParse
-    {
-        bool licenseWindows_;
-        bool licenseMac_;
-        bool licenseAndroid_;
-        bool licenseIOS_;
-        bool licenseHTML5_;
-        bool licenseModule3D_;
-
-        LicenseParse()
-        {
-            licenseWindows_ = false;
-            licenseMac_ = false;
-            licenseAndroid_ = false;
-            licenseIOS_ = false;
-            licenseHTML5_ = false;
-            licenseModule3D_ = false;
-        }
-    };
-
 
     /// Construct.
     LicenseSystem(Context* context);
@@ -66,74 +45,19 @@ public:
 
     void Initialize();
 
-    bool GetSourceBuild();
-
-    bool GetLicenseWindows() { return licenseWindows_; }
-    bool GetLicenseMac() { return licenseMac_; }
-    bool GetLicenseAndroid() { return licenseAndroid_; }
-    bool GetLicenseIOS() { return licenseIOS_; }
-    bool GetLicenseHTML5() { return licenseHTML5_; }
-    bool GetLicenseModule3D() { return licenseModule3D_; }
-
-    /// Returns whether there are any platform licenses available
-    bool IsStandardLicense();
-
-    void Activate(const String& key, const LicenseParse& parse);
-
-    /// Returns true if request to deactivate is made
-    bool Deactivate();
-
-    void ResetLicense();
-    bool LoadLicense();
-
-    /// Basic key validation
-    bool ValidateKey(const String &key);
-
-    /// Activate on server
-    void RequestServerActivation(const String& key);
-
-    const String& GetKey() { return key_; }
-    String GenerateMachineID();
-    String GetEmail() { return email_;}
-
     void LicenseAgreementConfirmed();
 
-    int ParseResponse(const String& response, LicenseParse &parse);
-
 private:
 
-    void RequestServerVerification(const String& key);
-
-    void SaveLicense();
-    void RemoveLicense();
 
-    void CreateOrUpdateLicenseCache();
-
-    void HandleVerification(StringHash eventType, VariantMap& eventData);
-    void HandleDeactivate(StringHash eventType, VariantMap& eventData);
     void HandleEditorShutdown(StringHash eventType, VariantMap& eventData);
 
-    void HandleActivationResult(StringHash eventType, VariantMap& eventData);
-
     bool eulaAgreementConfirmed_;
 
-    String licenseFilePath_;
-    String licenseCachePath_;
     String eulaAgreementPath_;
 
     String key_;
     String email_;
-    bool licenseWindows_;
-    bool licenseMac_;
-    bool licenseAndroid_;
-    bool licenseIOS_;
-    bool licenseHTML5_;
-    bool licenseModule3D_;
-
-    SharedPtr<CurlRequest> serverActivation_;
-    SharedPtr<CurlRequest> serverVerification_;
-    SharedPtr<CurlRequest> deactivate_;
-
 
 };
 

+ 0 - 137
Source/ToolCore/Net/CurlManager.cpp

@@ -1,137 +0,0 @@
-//
-// Copyright (c) 2014-2016 THUNDERBEAST GAMES LLC
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-
-#include <Atomic/Core/CoreEvents.h>
-#include <Atomic/Core/Context.h>
-#include "CurlManager.h"
-#include <curl/curl.h>
-
-namespace ToolCore
-{
-
-CurlRequest::CurlRequest(Context* context, const String& url, const String& postData) :
-    Object(context)
-{
-    curl_ = curl_easy_init();
-
-    // take care, curl doesn't make copies of all data
-    url_ = url;
-    postData_ = postData;
-
-#if !(defined WIN32 || defined APPLE)
-    // This line will eventually go away with a CA bundle in place, or other TLS options.
-    curl_easy_setopt(curl_, CURLOPT_SSL_VERIFYPEER, 0L);
-#endif
-
-    curl_easy_setopt(curl_, CURLOPT_URL, url_.CString());
-    curl_easy_setopt(curl_, CURLOPT_WRITEFUNCTION, Writer);
-
-    if (postData.Length())
-    {
-        curl_easy_setopt(curl_, CURLOPT_POSTFIELDS, postData_.CString());
-    }
-
-    curl_easy_setopt(curl_, CURLOPT_WRITEDATA, (void *) this);
-
-}
-
-CurlRequest::~CurlRequest()
-{
-    curl_easy_cleanup(curl_);
-}
-
-void CurlRequest::ThreadFunction()
-{
-    CURLcode res;
-    res = curl_easy_perform(curl_);
-
-    if(res != CURLE_OK)
-    {
-        error_ = curl_easy_strerror(res);
-    }
-
-    shouldRun_ = false;
-}
-
-size_t CurlRequest::Writer(void *ptr, size_t size, size_t nmemb, void *crequest)
-{
-    CurlRequest* request = (CurlRequest*) crequest;
-
-    size_t realsize = size * nmemb;
-    const char* text = (const char*) ptr;
-
-    for (size_t i = 0; i < realsize; i++)
-    {
-        request->response_ += text[i];
-    }
-
-    return realsize;
-
-}
-
-
-CurlManager::CurlManager(Context* context) :
-    Object(context)
-{
-    curl_global_init(CURL_GLOBAL_DEFAULT);
-    SubscribeToEvent(E_UPDATE, ATOMIC_HANDLER(CurlManager, HandleUpdate));
-}
-
-CurlManager::~CurlManager()
-{
-    curl_global_cleanup();
-}
-
-SharedPtr<CurlRequest> CurlManager::MakeRequest(const String& url, const String& postData)
-{
-    SharedPtr<CurlRequest> request(new CurlRequest(context_, url, postData));
-    request->Run();
-    requests_.Push(request);
-    return request;
-}
-
-void CurlManager::HandleUpdate(StringHash eventType, VariantMap& eventData)
-{
-    Vector<CurlRequest*> remove;
-
-    for (unsigned i = 0; i < requests_.Size(); i++)
-    {
-        CurlRequest* request = requests_[i];
-
-        if (!request->shouldRun_)
-        {
-            remove.Push(request);
-            VariantMap eventData;
-            eventData[CurlComplete::P_CURLREQUEST] = request;
-            request->SendEvent(E_CURLCOMPLETE, eventData);
-
-        }
-    }
-
-    for (unsigned i = 0; i < remove.Size(); i++)
-    {
-        requests_.Remove(SharedPtr<CurlRequest>(remove[i]));
-    }
-
-}
-
-}

+ 0 - 91
Source/ToolCore/Net/CurlManager.h

@@ -1,91 +0,0 @@
-//
-// Copyright (c) 2014-2016 THUNDERBEAST GAMES LLC
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-
-#pragma once
-
-typedef void CURL;
-
-#include <Atomic/Core/Object.h>
-#include <Atomic/Container/Str.h>
-#include <Atomic/Core/Mutex.h>
-#include <Atomic/Core/Thread.h>
-
-using namespace Atomic;
-
-namespace ToolCore
-{
-
-ATOMIC_EVENT(E_CURLCOMPLETE, CurlComplete)
-{
-    ATOMIC_PARAM(P_CURLREQUEST, Request);      // CurlRequest*
-}
-
-class CurlRequest : public Object, public Thread
-{
-    friend class CurlManager;
-
-    ATOMIC_OBJECT(CurlRequest, Object);
-
-public:
-
-    CurlRequest(Context* context, const String& url, const String& postData = String::EMPTY);
-    virtual ~CurlRequest();
-
-    const String& GetError() { return error_; }
-    const String& GetResponse() { return response_; }
-
-private:
-
-    void ThreadFunction();
-    mutable Mutex mutex_;
-
-    static size_t Writer(void *ptr, size_t size, size_t nmemb, void *userp);
-
-    CURL* curl_;
-    String response_;
-    String error_;
-
-    String postData_;
-    String url_;
-};
-
-class CurlManager : public Object
-{
-    ATOMIC_OBJECT(CurlManager, Object);
-
-public:
-    /// Construct.
-    CurlManager(Context* context);
-    /// Destruct.
-    virtual ~CurlManager();
-
-    SharedPtr<CurlRequest> MakeRequest(const String& url, const String& postData = String::EMPTY);
-
-private:
-
-    void HandleUpdate(StringHash eventType, VariantMap& eventData);
-
-    Vector< SharedPtr<CurlRequest> > requests_;
-
-};
-
-}

+ 1 - 1
Source/ToolCore/Platform/PlatformAndroid.cpp

@@ -183,7 +183,7 @@ String PlatformAndroid::GetAndroidCommand() const
 bool PlatformAndroid::GetLicense()
 {
 // BEGIN LICENSE MANAGEMENT
-    return GetSubsystem<LicenseSystem>()->GetLicenseAndroid();
+    return true;
 // END LICENSE MANAGEMENT
 }
 

+ 1 - 3
Source/ToolCore/Platform/PlatformIOS.cpp

@@ -106,9 +106,7 @@ BuildBase* PlatformIOS::NewBuild(Project *project)
 
 bool PlatformIOS::GetLicense()
 {
-// BEGIN LICENSE MANAGEMENT
-    return GetSubsystem<LicenseSystem>()->GetLicenseIOS();
-// END LICENSE MANAGEMENT
+    return true;
 }
 
 

+ 0 - 2
Source/ToolCore/ToolSystem.cpp

@@ -33,7 +33,6 @@
 #include "Platform/PlatformLinux.h"
 
 #include "Assets/AssetDatabase.h"
-#include "Net/CurlManager.h"
 #include "License/LicenseSystem.h"
 #include "Build/BuildSystem.h"
 #include "Subprocess/SubprocessSystem.h"
@@ -53,7 +52,6 @@ ToolSystem::ToolSystem(Context* context) : Object(context),
     updateDelta_(0.0f)
 {
     context_->RegisterSubsystem(new AssetDatabase(context_));
-    context_->RegisterSubsystem(new CurlManager(context_));
     context_->RegisterSubsystem(new LicenseSystem(context_));
     context_->RegisterSubsystem(new BuildSystem(context_));
     context_->RegisterSubsystem(new SubprocessSystem(context_));