summaryrefslogtreecommitdiff
path: root/license
diff options
context:
space:
mode:
Diffstat (limited to 'license')
-rw-r--r--license/license.class134
1 files changed, 0 insertions, 134 deletions
diff --git a/license/license.class b/license/license.class
deleted file mode 100644
index c915c3a..0000000
--- a/license/license.class
+++ /dev/null
@@ -1,134 +0,0 @@
-<?php
-/*
-** $Id$
-**
-** Relog Internet Tools 3 Library ("ITOOLS3")
-**
-** it_license.class - Handle software licensing
-*/
-
-/**
- * itools (TM) license class
- */
-class it_license
-{
- /* private */
- var $host; /* Host requesting license */
- var $product; /* Product that we are requesting license for */
-
- var $license; /* Entire encoded license string */
- var $licenseurl; /* External URL of license */
- var $licensefile; /* Local file name of cached license */
- var $internal; /* 1 if data source is internal cache */
- var $exp; /* Expiration date */
-
-/**
- * Create an it_license object for a product installation
- * @param $product Name of the licensed product / project
- */
-function it_license($product)
-{
- $this->host = strtolower(gethostbyaddr(getenv('HTTP_HOST')));
- $this->product = $product;
- $this->licensefile = '/tmp/'.$this->product.'-'.$this->host.'.license';
- $this->licenseurl = 'http://license.relog.ch/license.php?host='.$this->host.'&product='.$this->product;
-
- if ($this->get_license(1)) /* Cached license file exists */
- {
- $age = time() - filemtime($this->licensefile);
-
- if ($age > 86400) /* Cached file is expired */
- {
- if (!$this->get_license()) /* Try to get a new license from server */
- {
- if ($age > 604800) /* Couldn't get a new license for a week */
- {
- unlink($this->licensefile); /* License finally expired */
- unset($this->license);
- }
- }
- }
- }
- else $this->get_license();
-
- $this->check();
-
- if (!$this->internal)
- {
- if ($fh = fopen($this->licensefile, "w"))
- {
- fwrite($fh, $this->license);
- fclose($fh);
- }
- }
-}
-
-
-function get_license($internal=0)
-{
- $url = $internal ? $this->licensefile : $this->licenseurl;
-
- /* echo "Getting license \"$url\"<br>\n"; */
-
- if ($file = @file($url))
- {
- $this->license = $file[0];
- $this->internal = $internal;
- return $url;
- }
- return 0;
-}
-
-
-function check()
-{
- $secret="Jm+sd3O5NfvBudDhaf/N24-%C";
-
- list($header, $formatversion, $comment, $code, $md5, $end) = explode('|', $this->license);
- if ($header == 'RELOG/ULTRALICENSE3000')
- {
- if ($formatversion == 1)
- {
- if (md5($secret.$code.$secret) == base64_decode($md5))
- {
- list($formatversion, $host, $product, $this->exp) = explode('|', base64_decode($code));
- if ($formatversion == 1)
- {
- if ($host == $this->host)
- {
- if ($product == $this->product)
- {
- list($year, $month, $day) = explode('-', $this->exp);
- $exp = mktime(0, 0, 0, $month, $day, $year);
- $now = time();
-
- if ($exp > $now) /* Valid license */
- return;
-
- $error = 'license expired on '.$this->exp;
- }
- else $error = 'wrong product';
- }
- else $error = 'wrong host';
- }
- else $error = 'format2';
- }
- else $error = 'license not authentic';
- }
- else $error = 'format';
- }
- else $error = 'no license';
- echo $this->host.": invalid license for product <i>$product</i>, reason: <b>$error</b><br>\n";
- exit;
-}
-
-
-function valid_until()
-{
- return $this->exp;
-}
-
-
-
-} /* End class it_license */
-?>