aboutsummaryrefslogtreecommitdiffstats
path: root/include/import.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/import.php')
-rw-r--r--include/import.php10
1 files changed, 7 insertions, 3 deletions
diff --git a/include/import.php b/include/import.php
index 321f275b1..98c70fa19 100644
--- a/include/import.php
+++ b/include/import.php
@@ -9,15 +9,19 @@ function import_channel($channel, $account_id, $seize) {
$channel['channel_removed'] = (($channel['channel_pageflags'] & 0x8000) ? 1 : 0);
}
+ // Ignore the hash provided and re-calculate
+
+ $channel['channel_hash'] = make_xchan_hash($channel['channel_guid'],$channel['channel_guid_sig']);
+
+ // Check for duplicate channels
+
$r = q("select * from channel where (channel_guid = '%s' or channel_hash = '%s' or channel_address = '%s' ) limit 1",
dbesc($channel['channel_guid']),
dbesc($channel['channel_hash']),
dbesc($channel['channel_address'])
);
- // We should probably also verify the hash
-
- if($r) {
+ if(($r) || (check_webbie(array($channel['channel_hash'])) !== $channel['channel_hash'])) {
if($r[0]['channel_guid'] === $channel['channel_guid'] || $r[0]['channel_hash'] === $channel['channel_hash']) {
logger('mod_import: duplicate channel. ', print_r($channel,true));
notice( t('Cannot create a duplicate channel identifier on this system. Import failed.') . EOL);