need to fix license
This commit is contained in:
@@ -46,10 +46,12 @@ class ApplicationController < ActionController::Base
|
|||||||
|
|
||||||
def current_license(url)
|
def current_license(url)
|
||||||
@license = License.new(url)
|
@license = License.new(url)
|
||||||
if (@license.detail_with_local_file() == true)
|
if (@license.detail_with_local_file() == 0)
|
||||||
puts "RUN SAY BYAR"
|
puts "Expired or No License!"
|
||||||
|
elsif (@license.detail_with_local_file() == 2)
|
||||||
|
puts "Expiring! pls, license extend..."
|
||||||
else
|
else
|
||||||
return nil
|
puts "RUN SAY BYAR"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -69,8 +69,17 @@ class License
|
|||||||
|
|
||||||
# For Local System
|
# For Local System
|
||||||
def detail_with_local_file()
|
def detail_with_local_file()
|
||||||
# aes = MyAesCrypt.new
|
# flag = ENV["AES_KEY"]
|
||||||
# aes_key, aes_iv = aes.export_key(lookup)
|
# # Check Exists IV
|
||||||
|
# if flag == "<%= ENV['AES_IV'] %>"
|
||||||
|
# # Export for Key
|
||||||
|
# aes = MyAesCrypt.new
|
||||||
|
# aes_key, aes_iv = aes.export_key(lookup)
|
||||||
|
# else
|
||||||
|
# aes_key = ENV["AES_KEY"]
|
||||||
|
# aes_iv = ENV["AES_IV"]
|
||||||
|
# end
|
||||||
|
|
||||||
renewal_date_str = read_license("renewable_date")
|
renewal_date_str = read_license("renewable_date")
|
||||||
|
|
||||||
# ##Check from local redis - if available load local otherwise get from remote
|
# ##Check from local redis - if available load local otherwise get from remote
|
||||||
@@ -85,13 +94,16 @@ class License
|
|||||||
# else
|
# else
|
||||||
# get_renewable_date = Marshal.load(cache_renewable_date)
|
# get_renewable_date = Marshal.load(cache_renewable_date)
|
||||||
if check_expiring(renewal_date_str)
|
if check_expiring(renewal_date_str)
|
||||||
return true
|
# return for all ok
|
||||||
|
return 1
|
||||||
else
|
else
|
||||||
has_license = verify_license()
|
has_license = verify_license()
|
||||||
|
|
||||||
if has_license
|
if has_license
|
||||||
puts "VERIFIED"
|
# return for expiring
|
||||||
return true
|
return 2
|
||||||
|
else
|
||||||
|
return 0
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
# end
|
# end
|
||||||
@@ -144,7 +156,13 @@ class License
|
|||||||
|
|
||||||
# Check License expired date from PROVISION SERVER
|
# Check License expired date from PROVISION SERVER
|
||||||
def check_expired(renewal_date_str)
|
def check_expired(renewal_date_str)
|
||||||
|
expired_date_str = read_license("renewable_date")
|
||||||
|
expired_date = DateTime.parse(expired_date_str)
|
||||||
renewal_date = DateTime.parse(renewal_date_str)
|
renewal_date = DateTime.parse(renewal_date_str)
|
||||||
|
if(renewal_date != expired_date){
|
||||||
|
update_license("renewable_date", renewal_date_str)
|
||||||
|
}
|
||||||
|
|
||||||
if (renewal_date < Date.today)
|
if (renewal_date < Date.today)
|
||||||
return true
|
return true
|
||||||
else
|
else
|
||||||
@@ -164,7 +182,6 @@ class License
|
|||||||
File.open("config/license.yml").each do |line|
|
File.open("config/license.yml").each do |line|
|
||||||
if line.include? (key)
|
if line.include? (key)
|
||||||
decrypted_line_array = line.split(": ")
|
decrypted_line_array = line.split(": ")
|
||||||
byebug
|
|
||||||
decrypted_line = AESCrypt.decrypt_data(decode_str(decrypted_line_array[1]), decode_str(ENV['AES_KEY']), decode_str(ENV['AES_IV']), ENV['CIPHER_TYPE'])
|
decrypted_line = AESCrypt.decrypt_data(decode_str(decrypted_line_array[1]), decode_str(ENV['AES_KEY']), decode_str(ENV['AES_IV']), ENV['CIPHER_TYPE'])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -186,7 +203,32 @@ class License
|
|||||||
return decrypted_line
|
return decrypted_line
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Update license file for line
|
||||||
|
def update_license(content, new_content)
|
||||||
|
if !new_content.include? "=="
|
||||||
|
str = encode_str(new_content)
|
||||||
|
crypted_str = AESCrypt.encrypt_data(str, ENV['AES_KEY'], ENV['AES_IV'], ENV['CIPHER_TYPE'])
|
||||||
|
end
|
||||||
|
|
||||||
|
content_str = read_license_no_decrypt(content)
|
||||||
|
if File.exist?("config/license.yml")
|
||||||
|
file_str = File.read("config/license.yml")
|
||||||
|
new_file_str = file_str.gsub(content, crypted_str)
|
||||||
|
|
||||||
|
# To write changes to the file, use:
|
||||||
|
# File.open("config/license.yml", "w") {|file| file.puts new_file_str }
|
||||||
|
|
||||||
|
# File.open("config/license.yml").each do |line|
|
||||||
|
# new_file_str = line.gsub(content, crypted_str)
|
||||||
|
# f.put
|
||||||
|
# end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
def encode_str(str)
|
||||||
|
return Base64.encode64(str)
|
||||||
|
end
|
||||||
|
|
||||||
def decode_str(str)
|
def decode_str(str)
|
||||||
return Base64.decode64(str)
|
return Base64.decode64(str)
|
||||||
|
|||||||
Reference in New Issue
Block a user