about summary refs log tree commit diff stats
path: root/update/library
diff options
context:
space:
mode:
Diffstat (limited to 'update/library')
-rw-r--r--update/library/trunk/instadisc.php34
1 files changed, 22 insertions, 12 deletions
diff --git a/update/library/trunk/instadisc.php b/update/library/trunk/instadisc.php index 3f9f945..6cf5e09 100644 --- a/update/library/trunk/instadisc.php +++ b/update/library/trunk/instadisc.php
@@ -14,14 +14,11 @@ $idusActivationKey = array();
14$idusEncryptionKey = array(); 14$idusEncryptionKey = array();
15$instaDisc_subCount = 0; 15$instaDisc_subCount = 0;
16 16
17function instaDisc_sendItem($id, $title, $author, $url, $semantics, $verID = 0) 17function instaDisc_sendItem($id, $title, $author, $url, $semantics)
18{ 18{
19 global $idusUsername, $idusPassword, $idusCentralServer, $idusSubscriptionURI; 19 global $idusUsername, $idusPassword, $idusCentralServer, $idusSubscriptionURI;
20 20
21 if ($verID == 0) 21 $verID = rand(1,65536);
22 {
23 $verID = rand(1,65536);
24 }
25 22
26 $client = new xmlrpc_client($idusCentralServer[$id]); 23 $client = new xmlrpc_client($idusCentralServer[$id]);
27 $msg = new xmlrpcmsg("InstaDisc.sendFromUpdate", array( new xmlrpcval($idusUsername[$id], 'string'), 24 $msg = new xmlrpcmsg("InstaDisc.sendFromUpdate", array( new xmlrpcval($idusUsername[$id], 'string'),
@@ -31,7 +28,8 @@ function instaDisc_sendItem($id, $title, $author, $url, $semantics, $verID = 0)
31 new xmlrpcval($title, 'string'), 28 new xmlrpcval($title, 'string'),
32 new xmlrpcval($author, 'string'), 29 new xmlrpcval($author, 'string'),
33 new xmlrpcval($url, 'string'), 30 new xmlrpcval($url, 'string'),
34 new xmlrpcval(serialize($semantics), 'string'))); 31 new xmlrpcval(serialize($semantics), 'string'),
32 new xmlrpcval('0', 'int')));
35 $client->send($msg); 33 $client->send($msg);
36} 34}
37 35
@@ -39,15 +37,15 @@ function instaDisc_sendEncrypted($id, $title, $author, $url, $semantics)
39{ 37{
40 global $idusEncryptionKey; 38 global $idusEncryptionKey;
41 39
42 $verID = 0; 40 $encID = 0;
43 while ($verID == 0) 41 while ($encID == 0)
44 { 42 {
45 $verID = rand(1,65536); 43 $encID = rand(1,65536);
46 } 44 }
47 45
48 $cipher = "rijndael-128"; 46 $cipher = "rijndael-128";
49 $mode = "cbc"; 47 $mode = "cbc";
50 $key = substr(md5(substr(str_pad($idusEncryptionKey[$id],16,$verID),0,16)),0,16); 48 $key = substr(md5(substr(str_pad($idusEncryptionKey[$id],16,$encID),0,16)),0,16);
51 49
52 $td = mcrypt_module_open($cipher, "", $mode, ""); 50 $td = mcrypt_module_open($cipher, "", $mode, "");
53 mcrypt_generic_init($td, $key, strrev($key)); 51 mcrypt_generic_init($td, $key, strrev($key));
@@ -63,7 +61,19 @@ function instaDisc_sendEncrypted($id, $title, $author, $url, $semantics)
63 mcrypt_generic_deinit($td); 61 mcrypt_generic_deinit($td);
64 mcrypt_module_close($td); 62 mcrypt_module_close($td);
65 63
66 instaDisc_sendItem($id, $title, $author, $url, $semantics, $verID); 64 $verID = rand(1,65536);
65
66 $client = new xmlrpc_client($idusCentralServer[$id]);
67 $msg = new xmlrpcmsg("InstaDisc.sendFromUpdate", array( new xmlrpcval($idusUsername[$id], 'string'),
68 new xmlrpcval(md5($idusUsername[$id] . ":" . md5($idusPassword[$id]) . ":" . $verID), 'string'),
69 new xmlrpcval($verID, 'int'),
70 new xmlrpcval($idusSubscriptionURI[$id], 'string'),
71 new xmlrpcval($title, 'string'),
72 new xmlrpcval($author, 'string'),
73 new xmlrpcval($url, 'string'),
74 new xmlrpcval(serialize($semantics), 'string'),
75 new xmlrpcval($encID, 'int')));
76 $client->send($msg);
67} 77}
68 78
69function instaDisc_addSubscription($username, $password, $central, $uri, $title, $category, $key = '', $enc = '') 79function instaDisc_addSubscription($username, $password, $central, $uri, $title, $category, $key = '', $enc = '')