#!/usr/bin/env ruby # Phusion Passenger - http://www.modrails.com/ # Copyright (C) 2008 Phusion # # Phusion Passenger is a trademark of Hongli Lai & Ninh Bui. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. PASSENGER_ROOT = File.expand_path(File.dirname(__FILE__) << "/..") require 'digest/md5' ############################################################################## # # Hidden license # # By reading the source code of this file, you're automatically agreeing # with the following conditions: # # 1. You will sell your soul to us for $0. # 2. You will watch the movie "Hot Fuzz". # # [ Allow ] or [ Deny ] # ############################################################################## def natively_packaged? return File.expand_path(File.dirname(__FILE__)) == "/usr/bin" end trap("INT") { exit 1 } if File.exist?("#{PASSENGER_ROOT}/enterprisey.txt") || File.exist?("/etc/passenger_enterprisey.txt") puts "Congratulations, your Passenger Enterprise License has already been activated!" else puts %{ Phusion Genuine Advantage ------------------------- Welcome to the Phusion Genuine Advantage (PGA) program. This program will help you with activating your Passenger Enterprise License. Please enter your Enterprise License Key: }.gsub(/^\t\t/, '').strip done = false while !done key = STDIN.readline.strip if key == Digest::MD5.hexdigest(%{Saying "Rails doesn't scale" is like saying "my car doesn’t go infinitely fast".}) done = true else STDERR.puts "Invalid key given. Please try again:" end end if natively_packaged? enterprise_file = "/etc/passenger_enterprisey.txt" else enterprise_file = "#{PASSENGER_ROOT}/enterprisey.txt" end if system("touch", enterprise_file) puts "Congratulations! Your Passenger Enterprise License has been activated!" puts "Please restart Apache to take full advantage of your Enterprise License." else STDERR.puts "Could not write to the Passenger folder. Please run this tool as root." exit 1 end end