aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriendika <info@friendika.com>2011-06-06 16:26:11 -0700
committerFriendika <info@friendika.com>2011-06-06 16:26:11 -0700
commitc0094aa4f865defe8be63963b32f69d05e258f48 (patch)
treeea8938f418f5776fb32fb927069d982393da83e3
parentccf4e3eee5f01caad487cc42607c6cde710c4f5d (diff)
downloadvolse-hubzilla-c0094aa4f865defe8be63963b32f69d05e258f48.tar.gz
volse-hubzilla-c0094aa4f865defe8be63963b32f69d05e258f48.tar.bz2
volse-hubzilla-c0094aa4f865defe8be63963b32f69d05e258f48.zip
strict privacy mode (Friendika-Z) - refuse to talk to networks with privacy issues
-rw-r--r--boot.php14
-rw-r--r--include/notifier.php10
-rw-r--r--mod/dfrn_request.php10
-rw-r--r--mod/follow.php5
-rw-r--r--mod/salmon.php5
5 files changed, 35 insertions, 9 deletions
diff --git a/boot.php b/boot.php
index 1e51a4723..12689b4ab 100644
--- a/boot.php
+++ b/boot.php
@@ -527,8 +527,20 @@ function check_config(&$a) {
$plugins = get_config('system','addon');
$plugins_arr = array();
- if($plugins)
+ if($plugins) {
$plugins_arr = explode(',',str_replace(' ', '',$plugins));
+ if(get_config('system','strict_privacy')) {
+ unset($a->config['system']['huburl']);
+ for($x = 0; $x < count($plugins_arr); $x ++) {
+ if( $plugins_arr[$x] === 'facebook'
+ || $plugins_arr[$x] === 'twitter'
+ || $plugins_arr[$x] === 'statusnet') {
+ unset($plugins_arr[$x]);
+ }
+ }
+ }
+ }
+
$a->plugins = $plugins_arr;
diff --git a/include/notifier.php b/include/notifier.php
index db2542849..98e38fb11 100644
--- a/include/notifier.php
+++ b/include/notifier.php
@@ -27,6 +27,8 @@ function notifier_run($argv, $argc){
$a->set_baseurl(get_config('system','url'));
+ $prv = get_config('system','strict_privacy');
+
logger('notifier: invoked: ' . print_r($argv,true));
$cmd = $argv[1];
@@ -329,6 +331,10 @@ function notifier_run($argv, $argc){
}
break;
case 'stat':
+
+ if($prv)
+ break;
+
if($followup && $contact['notify']) {
logger('notifier: slapdelivery: ' . $contact['name']);
$deliver_status = slapper($owner,$contact['notify'],$slap);
@@ -373,7 +379,7 @@ function notifier_run($argv, $argc){
}
break;
case 'mail':
-
+
// WARNING: does not currently convert to RFC2047 header encodings, etc.
$addr = $contact['addr'];
@@ -459,7 +465,7 @@ function notifier_run($argv, $argc){
if($slap && count($url_recipients) && $followup && $notify_hub && (! $expire)) {
foreach($url_recipients as $url) {
- if($url) {
+ if($url && (! $prv)) {
logger('notifier: urldelivery: ' . $url);
$deliver_status = slapper($owner,$url,$slap);
// TODO: redeliver/queue these items on failure, though there is no contact record
diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php
index 537a7a497..338dc9cf1 100644
--- a/mod/dfrn_request.php
+++ b/mod/dfrn_request.php
@@ -626,19 +626,21 @@ function dfrn_request_content(&$a) {
else
$tpl = get_markup_template('auto_request.tpl');
+ $prv = get_config('system','strict_privacy');
+
$o .= replace_macros($tpl,array(
'$header' => t('Friend/Connection Request'),
- '$desc' => t('Examples: jojo@demo.friendika.com, http://demo.friendika.com/profile/jojo, testuser@identi.ca'),
+ '$desc' => t('Examples: jojo@demo.friendika.com, http://demo.friendika.com/profile/jojo') . (($prv) ? ', testuser@identi.ca' : ''),
'$pls_answer' => t('Please answer the following:'),
- '$does_know' => t('Does $name know you?'),
+ '$does_know' => sprintf( t('Does %s know you?'),$a->profile['name']),
'$yes' => t('Yes'),
'$no' => t('No'),
'$add_note' => t('Add a personal note:'),
'$page_desc' => t("Please enter your 'Identity Address' from one of the following supported social networks:"),
'$friendika' => t('Friendika'),
- '$statusnet' => t('StatusNet/Federated Social Web'),
+ '$statusnet' => (($prv) ? t('StatusNet/Federated Social Web') : ''),
'$private_net' => t("Private \x28secure\x29 network"),
- '$public_net' => t("Public \x28insecure\x29 network"),
+ '$public_net' => (($prv) ? t("Public \x28insecure\x29 network") : ''),
'$your_address' => t('Your Identity Address:'),
'$submit' => t('Submit Request'),
'$cancel' => t('Cancel'),
diff --git a/mod/follow.php b/mod/follow.php
index 9a9f9da7d..31cfcfb64 100644
--- a/mod/follow.php
+++ b/mod/follow.php
@@ -22,10 +22,8 @@ function follow_post(&$a) {
// NOTREACHED
}
-
$ret = probe_url($url);
-
if($ret['network'] === NETWORK_DFRN) {
if(strlen($a->path))
$myaddr = bin2hex($a->get_baseurl() . '/profile/' . $a->user['nickname']);
@@ -36,6 +34,9 @@ function follow_post(&$a) {
// NOTREACHED
}
+ elseif(get_config('system','strict_privacy')) {
+ unset($ret['notify']);
+ }
// do we have enough information?
diff --git a/mod/salmon.php b/mod/salmon.php
index c2f76aa0a..bf33033d8 100644
--- a/mod/salmon.php
+++ b/mod/salmon.php
@@ -192,6 +192,11 @@ function salmon_post(&$a) {
// NOTREACHED
}
+ // Check if we're allowed to talk to insecure networks
+
+ if(get_config('system','strict_privacy'))
+ salmon_return(400);
+
require_once('include/items.php');
// Placeholder for hub discovery. We shouldn't find any hubs