aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2017-04-12 17:32:28 -0700
committerzotlabs <mike@macgirvin.com>2017-04-12 17:32:28 -0700
commitd7f4526a00dba2c6a97bc4c231f57c7aa179a691 (patch)
tree644487c9c0c24e9b25b70c4e622eac165cb0b078
parent57f20c0c2231099ce62dbdf2300e840114e8ce96 (diff)
downloadvolse-hubzilla-d7f4526a00dba2c6a97bc4c231f57c7aa179a691.tar.gz
volse-hubzilla-d7f4526a00dba2c6a97bc4c231f57c7aa179a691.tar.bz2
volse-hubzilla-d7f4526a00dba2c6a97bc4c231f57c7aa179a691.zip
backend infrastructure for 'channel protection password'; which will be used to optionally encrypt export files and resolve channel/identity ownership/hijacking disputes
-rwxr-xr-xboot.php2
-rw-r--r--include/channel.php6
-rw-r--r--include/import.php2
-rw-r--r--install/schema_mysql.sql2
-rw-r--r--install/schema_postgres.sql4
-rw-r--r--install/update.php13
6 files changed, 24 insertions, 5 deletions
diff --git a/boot.php b/boot.php
index 52b1113c1..60779928d 100755
--- a/boot.php
+++ b/boot.php
@@ -52,7 +52,7 @@ define ( 'PLATFORM_NAME', 'hubzilla' );
define ( 'STD_VERSION', '2.3.3' );
define ( 'ZOT_REVISION', '1.2' );
-define ( 'DB_UPDATE_VERSION', 1188 );
+define ( 'DB_UPDATE_VERSION', 1189 );
define ( 'PROJECT_BASE', __DIR__ );
diff --git a/include/channel.php b/include/channel.php
index 1bdd5a478..0a4c9009a 100644
--- a/include/channel.php
+++ b/include/channel.php
@@ -537,6 +537,8 @@ function identity_basic_export($channel_id, $sections = null) {
$ret['relocate'] = [ 'channel_address' => $r[0]['channel_address'], 'url' => z_root()];
if(in_array('channel',$sections)) {
$ret['channel'] = $r[0];
+ unset($ret['channel']['channel_password']);
+ unset($ret['channel']['channel_salt']);
}
}
@@ -2020,7 +2022,9 @@ function channel_store_lowlevel($arr) {
'channel_deny_gid' => ((array_key_exists('channel_deny_gid',$arr)) ? $arr['channel_deny_gid'] : ''),
'channel_removed' => ((array_key_exists('channel_removed',$arr)) ? $arr['channel_removed'] : '0'),
'channel_system' => ((array_key_exists('channel_system',$arr)) ? $arr['channel_system'] : '0'),
- 'channel_moved' => ((array_key_exists('channel_moved',$arr)) ? $arr['channel_moved'] : '')
+ 'channel_moved' => ((array_key_exists('channel_moved',$arr)) ? $arr['channel_moved'] : ''),
+ 'channel_password' => ((array_key_exists('channel_password',$arr)) ? $arr['channel_password'] : ''),
+ 'channel_salt' => ((array_key_exists('channel_salt',$arr)) ? $arr['channel_salt'] : '')
];
return create_table_from_array('channel',$store);
diff --git a/include/import.php b/include/import.php
index 9007dbe74..224bb1803 100644
--- a/include/import.php
+++ b/include/import.php
@@ -82,7 +82,7 @@ function import_channel($channel, $account_id, $seize) {
'channel_r_storage', 'channel_r_pages', 'channel_w_stream', 'channel_w_wall',
'channel_w_comment', 'channel_w_mail', 'channel_w_like', 'channel_w_tagwall',
'channel_w_chat', 'channel_w_storage', 'channel_w_pages', 'channel_a_republish',
- 'channel_a_delegate', 'perm_limits'
+ 'channel_a_delegate', 'perm_limits', 'channel_password', 'channel_salt'
];
$clean = array();
diff --git a/install/schema_mysql.sql b/install/schema_mysql.sql
index be5317722..e075006e1 100644
--- a/install/schema_mysql.sql
+++ b/install/schema_mysql.sql
@@ -287,6 +287,8 @@ CREATE TABLE IF NOT EXISTS `channel` (
`channel_removed` tinyint(1) NOT NULL DEFAULT '0',
`channel_system` tinyint(1) NOT NULL DEFAULT '0',
`channel_moved` char(255) NOT NULL DEFAULT '',
+ `channel_password` varchar(255) NOT NULL,
+ `channel_salt` varchar(255) NOT NULL,
PRIMARY KEY (`channel_id`),
UNIQUE KEY `channel_address_unique` (`channel_address`),
KEY `channel_account_id` (`channel_account_id`),
diff --git a/install/schema_postgres.sql b/install/schema_postgres.sql
index e78425828..1a5fe942f 100644
--- a/install/schema_postgres.sql
+++ b/install/schema_postgres.sql
@@ -170,7 +170,7 @@ CREATE TABLE "attach" (
"is_photo" smallint NOT NULL DEFAULT '0',
"os_storage" smallint NOT NULL DEFAULT '0',
"os_path" text NOT NULL,
- "display_path" text NOT NULL,
+4 "display_path" text NOT NULL,
"content" bytea NOT NULL,
"created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"edited" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
@@ -280,6 +280,8 @@ CREATE TABLE "channel" (
"channel_removed" smallint NOT NULL DEFAULT '0',
"channel_system" smallint NOT NULL DEFAULT '0',
"channel_moved" text NOT NULL DEFAULT '',
+ "channel_password" varchar(255) NOT NULL,
+ "channel_salt" varchar(255) NOT NULL,
PRIMARY KEY ("channel_id"),
UNIQUE ("channel_address")
);
diff --git a/install/update.php b/install/update.php
index dd3a42c78..b37af9cef 100644
--- a/install/update.php
+++ b/install/update.php
@@ -1,6 +1,6 @@
<?php
-define( 'UPDATE_VERSION' , 1188 );
+define( 'UPDATE_VERSION' , 1189 );
/**
*
@@ -2510,3 +2510,14 @@ function update_r1187() {
}
+function update_r1188() {
+
+ $r1 = q("alter table channel add channel_password varchar(255) not null ");
+ $r2 = q("alter table channel add channel_salt varchar(255) not null ");
+
+ if($r1 && $r2)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+
+}
+