diff options
-rw-r--r-- | update/library/trunk/instadisc.php | 34 |
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 | ||
17 | function instaDisc_sendItem($id, $title, $author, $url, $semantics, $verID = 0) | 17 | function 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 | ||
69 | function instaDisc_addSubscription($username, $password, $central, $uri, $title, $category, $key = '', $enc = '') | 79 | function instaDisc_addSubscription($username, $password, $central, $uri, $title, $category, $key = '', $enc = '') |