make contact ssl_policy change a function since it is used in a few places
This commit is contained in:
parent
f4721955db
commit
5d0d9f8772
4 changed files with 52 additions and 129 deletions
|
@ -321,51 +321,9 @@ function delivery_run($argv, $argc){
|
||||||
$x[0]['writable'] = 1;
|
$x[0]['writable'] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$ssl_policy = get_config('system','ssl_policy');
|
$ssl_policy = get_config('system','ssl_policy');
|
||||||
// if contact's ssl policy changed, update our links
|
fix_contact_ssl_policy($x[0],$ssl_policy);
|
||||||
|
|
||||||
$ssl_changed = false;
|
|
||||||
|
|
||||||
if($ssl_policy == SSL_POLICY_SELFSIGN && strstr($x[0]['url'],'https:')) {
|
|
||||||
$ssl_changed = true;
|
|
||||||
$x[0]['url'] = str_replace('https:','http:',$x[0]['url']);
|
|
||||||
$x[0]['request'] = str_replace('https:','http:',$x[0]['request']);
|
|
||||||
$x[0]['notify'] = str_replace('https:','http:',$x[0]['notify']);
|
|
||||||
$x[0]['poll'] = str_replace('https:','http:',$x[0]['poll']);
|
|
||||||
$x[0]['confirm'] = str_replace('https:','http:',$x[0]['confirm']);
|
|
||||||
$x[0]['poco'] = str_replace('https:','http:',$x[0]['poco']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if($ssl_policy == SSL_POLICY_FULL && strstr($x[0]['url'],'http:')) {
|
|
||||||
$ssl_changed = true;
|
|
||||||
$x[0]['url'] = str_replace('http:','https:',$x[0]['url']);
|
|
||||||
$x[0]['request'] = str_replace('http:','https:',$x[0]['request']);
|
|
||||||
$x[0]['notify'] = str_replace('http:','https:',$x[0]['notify']);
|
|
||||||
$x[0]['poll'] = str_replace('http:','https:',$x[0]['poll']);
|
|
||||||
$x[0]['confirm'] = str_replace('http:','https:',$x[0]['confirm']);
|
|
||||||
$x[0]['poco'] = str_replace('http:','https:',$x[0]['poco']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if($ssl_changed) {
|
|
||||||
q("update contact set
|
|
||||||
url = '%s',
|
|
||||||
request = '%s',
|
|
||||||
notify = '%s',
|
|
||||||
poll = '%s',
|
|
||||||
confirm = '%s',
|
|
||||||
poco = '%s'
|
|
||||||
where id = %d limit 1",
|
|
||||||
dbesc($x[0]['url']),
|
|
||||||
dbesc($x[0]['request']),
|
|
||||||
dbesc($x[0]['notify']),
|
|
||||||
dbesc($x[0]['poll']),
|
|
||||||
dbesc($x[0]['confirm']),
|
|
||||||
dbesc($x[0]['poco']),
|
|
||||||
intval($x[0]['id'])
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
// If we are setup as a soapbox we aren't accepting input from this person
|
// If we are setup as a soapbox we aren't accepting input from this person
|
||||||
|
|
||||||
if($x[0]['page-flags'] == PAGE_SOAPBOX)
|
if($x[0]['page-flags'] == PAGE_SOAPBOX)
|
||||||
|
|
|
@ -824,3 +824,48 @@ function scale_external_images($s,$include_link = true) {
|
||||||
}
|
}
|
||||||
return $s;
|
return $s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function fix_contact_ssl_policy(&$contact,$new_policy) {
|
||||||
|
|
||||||
|
$ssl_changed = false;
|
||||||
|
if((intval($new_policy) == SSL_POLICY_SELFSIGN || $new_policy === 'self') && strstr($contact['url'],'https:')) {
|
||||||
|
$ssl_changed = true;
|
||||||
|
$contact['url'] = str_replace('https:','http:',$contact['url']);
|
||||||
|
$contact['request'] = str_replace('https:','http:',$contact['request']);
|
||||||
|
$contact['notify'] = str_replace('https:','http:',$contact['notify']);
|
||||||
|
$contact['poll'] = str_replace('https:','http:',$contact['poll']);
|
||||||
|
$contact['confirm'] = str_replace('https:','http:',$contact['confirm']);
|
||||||
|
$contact['poco'] = str_replace('https:','http:',$contact['poco']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if((intval($new_policy) == SSL_POLICY_FULL || $new_policy === 'full') && strstr($contact['url'],'http:')) {
|
||||||
|
$ssl_changed = true;
|
||||||
|
$contact['url'] = str_replace('http:','https:',$contact['url']);
|
||||||
|
$contact['request'] = str_replace('http:','https:',$contact['request']);
|
||||||
|
$contact['notify'] = str_replace('http:','https:',$contact['notify']);
|
||||||
|
$contact['poll'] = str_replace('http:','https:',$contact['poll']);
|
||||||
|
$contact['confirm'] = str_replace('http:','https:',$contact['confirm']);
|
||||||
|
$contact['poco'] = str_replace('http:','https:',$contact['poco']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if($ssl_changed) {
|
||||||
|
q("update contact set
|
||||||
|
url = '%s',
|
||||||
|
request = '%s',
|
||||||
|
notify = '%s',
|
||||||
|
poll = '%s',
|
||||||
|
confirm = '%s',
|
||||||
|
poco = '%s'
|
||||||
|
where id = %d limit 1",
|
||||||
|
dbesc($contact['url']),
|
||||||
|
dbesc($contact['request']),
|
||||||
|
dbesc($contact['notify']),
|
||||||
|
dbesc($contact['poll']),
|
||||||
|
dbesc($contact['confirm']),
|
||||||
|
dbesc($contact['poco']),
|
||||||
|
intval($contact['id'])
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -537,56 +537,17 @@ function notifier_run($argv, $argc){
|
||||||
$x[0]['writable'] = 1;
|
$x[0]['writable'] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if contact's ssl policy changed, which we just determined
|
||||||
|
// is on our own server, update our contact links
|
||||||
|
|
||||||
$ssl_policy = get_config('system','ssl_policy');
|
$ssl_policy = get_config('system','ssl_policy');
|
||||||
// if contact's ssl policy changed, update our links
|
fix_contact_ssl_policy($x[0],$ssl_policy);
|
||||||
|
|
||||||
$ssl_changed = false;
|
|
||||||
|
|
||||||
if($ssl_policy == SSL_POLICY_SELFSIGN && strstr($x[0]['url'],'https:')) {
|
|
||||||
$ssl_changed = true;
|
|
||||||
$x[0]['url'] = str_replace('https:','http:',$x[0]['url']);
|
|
||||||
$x[0]['request'] = str_replace('https:','http:',$x[0]['request']);
|
|
||||||
$x[0]['notify'] = str_replace('https:','http:',$x[0]['notify']);
|
|
||||||
$x[0]['poll'] = str_replace('https:','http:',$x[0]['poll']);
|
|
||||||
$x[0]['confirm'] = str_replace('https:','http:',$x[0]['confirm']);
|
|
||||||
$x[0]['poco'] = str_replace('https:','http:',$x[0]['poco']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if($ssl_policy == SSL_POLICY_FULL && strstr($x[0]['url'],'http:')) {
|
|
||||||
$ssl_changed = true;
|
|
||||||
$x[0]['url'] = str_replace('http:','https:',$x[0]['url']);
|
|
||||||
$x[0]['request'] = str_replace('http:','https:',$x[0]['request']);
|
|
||||||
$x[0]['notify'] = str_replace('http:','https:',$x[0]['notify']);
|
|
||||||
$x[0]['poll'] = str_replace('http:','https:',$x[0]['poll']);
|
|
||||||
$x[0]['confirm'] = str_replace('http:','https:',$x[0]['confirm']);
|
|
||||||
$x[0]['poco'] = str_replace('http:','https:',$x[0]['poco']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if($ssl_changed) {
|
|
||||||
q("update contact set
|
|
||||||
url = '%s',
|
|
||||||
request = '%s',
|
|
||||||
notify = '%s',
|
|
||||||
poll = '%s',
|
|
||||||
confirm = '%s',
|
|
||||||
poco = '%s'
|
|
||||||
where id = %d limit 1",
|
|
||||||
dbesc($x[0]['url']),
|
|
||||||
dbesc($x[0]['request']),
|
|
||||||
dbesc($x[0]['notify']),
|
|
||||||
dbesc($x[0]['poll']),
|
|
||||||
dbesc($x[0]['confirm']),
|
|
||||||
dbesc($x[0]['poco']),
|
|
||||||
intval($x[0]['id'])
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
// If we are setup as a soapbox we aren't accepting input from this person
|
// If we are setup as a soapbox we aren't accepting input from this person
|
||||||
|
|
||||||
if($x[0]['page-flags'] == PAGE_SOAPBOX)
|
if($x[0]['page-flags'] == PAGE_SOAPBOX)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
require_once('library/simplepie/simplepie.inc');
|
require_once('library/simplepie/simplepie.inc');
|
||||||
logger('mod-delivery: local delivery');
|
logger('mod-delivery: local delivery');
|
||||||
local_delivery($x[0],$atom);
|
local_delivery($x[0],$atom);
|
||||||
|
|
|
@ -99,51 +99,10 @@ function dfrn_notify_post(&$a) {
|
||||||
$importer['forum'] = $page;
|
$importer['forum'] = $page;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// if contact's ssl policy changed, update our links
|
// if contact's ssl policy changed, update our links
|
||||||
|
|
||||||
$ssl_changed = false;
|
fix_contact_ssl_policy($importer,$ssl_policy);
|
||||||
|
|
||||||
if($ssl_policy == 'self' && strstr($importer['url'],'https:')) {
|
|
||||||
$ssl_changed = true;
|
|
||||||
$importer['url'] = str_replace('https:','http:',$importer['url']);
|
|
||||||
$importer['request'] = str_replace('https:','http:',$importer['request']);
|
|
||||||
$importer['notify'] = str_replace('https:','http:',$importer['notify']);
|
|
||||||
$importer['poll'] = str_replace('https:','http:',$importer['poll']);
|
|
||||||
$importer['confirm'] = str_replace('https:','http:',$importer['confirm']);
|
|
||||||
$importer['poco'] = str_replace('https:','http:',$importer['poco']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if($ssl_policy == 'full' && strstr($importer['url'],'http:')) {
|
|
||||||
$ssl_changed = true;
|
|
||||||
$importer['url'] = str_replace('http:','https:',$importer['url']);
|
|
||||||
$importer['request'] = str_replace('http:','https:',$importer['request']);
|
|
||||||
$importer['notify'] = str_replace('http:','https:',$importer['notify']);
|
|
||||||
$importer['poll'] = str_replace('http:','https:',$importer['poll']);
|
|
||||||
$importer['confirm'] = str_replace('http:','https:',$importer['confirm']);
|
|
||||||
$importer['poco'] = str_replace('http:','https:',$importer['poco']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if($ssl_changed) {
|
|
||||||
q("update contact set
|
|
||||||
url = '%s',
|
|
||||||
nurl = '%s',
|
|
||||||
request = '%s',
|
|
||||||
notify = '%s',
|
|
||||||
poll = '%s',
|
|
||||||
confirm = '%s',
|
|
||||||
poco = '%s'
|
|
||||||
where id = %d limit 1",
|
|
||||||
dbesc($importer['url']),
|
|
||||||
dbesc($importer['nurl']),
|
|
||||||
dbesc($importer['request']),
|
|
||||||
dbesc($importer['notify']),
|
|
||||||
dbesc($importer['poll']),
|
|
||||||
dbesc($importer['confirm']),
|
|
||||||
dbesc($importer['poco']),
|
|
||||||
intval($importer['id'])
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
logger('dfrn_notify: received notify from ' . $importer['name'] . ' for ' . $importer['username']);
|
logger('dfrn_notify: received notify from ' . $importer['name'] . ' for ' . $importer['username']);
|
||||||
logger('dfrn_notify: data: ' . $data, LOGGER_DATA);
|
logger('dfrn_notify: data: ' . $data, LOGGER_DATA);
|
||||||
|
|
Loading…
Reference in a new issue