forked from GNUsocial/gnu-social
Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x
This commit is contained in:
commit
3a980a75fc
@ -207,7 +207,7 @@ class Notice extends Memcached_DataObject
|
|||||||
|
|
||||||
# Sandboxed are non-false, but not 1, either
|
# Sandboxed are non-false, but not 1, either
|
||||||
|
|
||||||
if (!$user->hasRight(Right::PUBLICNOTICE) ||
|
if (!$profile->hasRight(Right::PUBLICNOTICE) ||
|
||||||
($source && $autosource && in_array($source, $autosource))) {
|
($source && $autosource && in_array($source, $autosource))) {
|
||||||
$notice->is_local = Notice::LOCAL_NONPUBLIC;
|
$notice->is_local = Notice::LOCAL_NONPUBLIC;
|
||||||
} else {
|
} else {
|
||||||
|
41
index.php
41
index.php
@ -76,11 +76,16 @@ function handleError($error)
|
|||||||
if (common_config('site', 'logdebug')) {
|
if (common_config('site', 'logdebug')) {
|
||||||
$logmsg .= " : ". $error->getDebugInfo();
|
$logmsg .= " : ". $error->getDebugInfo();
|
||||||
}
|
}
|
||||||
|
// DB queries often end up with a lot of newlines; merge to a single line
|
||||||
|
// for easier grepability...
|
||||||
|
$logmsg = str_replace("\n", " ", $logmsg);
|
||||||
common_log(LOG_ERR, $logmsg);
|
common_log(LOG_ERR, $logmsg);
|
||||||
|
|
||||||
|
// @fixme backtrace output should be consistent with exception handling
|
||||||
if (common_config('site', 'logdebug')) {
|
if (common_config('site', 'logdebug')) {
|
||||||
$bt = $error->getBacktrace();
|
$bt = $error->getBacktrace();
|
||||||
foreach ($bt as $line) {
|
foreach ($bt as $n => $line) {
|
||||||
common_log(LOG_ERR, $line);
|
common_log(LOG_ERR, formatBacktraceLine($n, $line));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($error instanceof DB_DataObject_Error
|
if ($error instanceof DB_DataObject_Error
|
||||||
@ -109,6 +114,38 @@ function handleError($error)
|
|||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Format a backtrace line for debug output roughly like debug_print_backtrace() does.
|
||||||
|
* Exceptions already have this built in, but PEAR error objects just give us the array.
|
||||||
|
*
|
||||||
|
* @param int $n line number
|
||||||
|
* @param array $line per-frame array item from debug_backtrace()
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function formatBacktraceLine($n, $line)
|
||||||
|
{
|
||||||
|
$out = "#$n ";
|
||||||
|
if (isset($line['class'])) $out .= $line['class'];
|
||||||
|
if (isset($line['type'])) $out .= $line['type'];
|
||||||
|
if (isset($line['function'])) $out .= $line['function'];
|
||||||
|
$out .= '(';
|
||||||
|
if (isset($line['args'])) {
|
||||||
|
$args = array();
|
||||||
|
foreach ($line['args'] as $arg) {
|
||||||
|
// debug_print_backtrace seems to use var_export
|
||||||
|
// but this gets *very* verbose!
|
||||||
|
$args[] = gettype($arg);
|
||||||
|
}
|
||||||
|
$out .= implode(',', $args);
|
||||||
|
}
|
||||||
|
$out .= ')';
|
||||||
|
$out .= ' called at [';
|
||||||
|
if (isset($line['file'])) $out .= $line['file'];
|
||||||
|
if (isset($line['line'])) $out .= ':' . $line['line'];
|
||||||
|
$out .= ']';
|
||||||
|
return $out;
|
||||||
|
}
|
||||||
|
|
||||||
function checkMirror($action_obj, $args)
|
function checkMirror($action_obj, $args)
|
||||||
{
|
{
|
||||||
global $config;
|
global $config;
|
||||||
|
@ -1,42 +1,63 @@
|
|||||||
The LDAP Authentication plugin allows for StatusNet to handle authentication through LDAP.
|
The LDAP Authentication plugin allows for StatusNet to handle authentication
|
||||||
|
through LDAP.
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
============
|
============
|
||||||
add "addPlugin('ldapAuthentication', array('setting'=>'value', 'setting2'=>'value2', ...);" to the bottom of your config.php
|
add "addPlugin('ldapAuthentication',
|
||||||
|
array('setting'=>'value', 'setting2'=>'value2', ...);"
|
||||||
|
to the bottom of your config.php
|
||||||
|
|
||||||
Settings
|
Settings
|
||||||
========
|
========
|
||||||
provider_name*: a unique name for this authentication provider.
|
provider_name*: a unique name for this authentication provider.
|
||||||
authoritative (false): Set to true if LDAP's responses are authoritative (meaning if LDAP fails, do check any other plugins or the internal password database).
|
authoritative (false): Set to true if LDAP's responses are authoritative
|
||||||
autoregistration (false): Set to true if users should be automatically created when they attempt to login.
|
(if authorative and LDAP fails, no other password checking will be done).
|
||||||
email_changeable (true): Are users allowed to change their email address? (true or false)
|
autoregistration (false): Set to true if users should be automatically created
|
||||||
password_changeable (true): Are users allowed to change their passwords? (true or false)
|
when they attempt to login.
|
||||||
|
email_changeable (true): Are users allowed to change their email address?
|
||||||
|
(true or false)
|
||||||
|
password_changeable (true): Are users allowed to change their passwords?
|
||||||
|
(true or false)
|
||||||
|
|
||||||
host*: LDAP server name to connect to. You can provide several hosts in an array in which case the hosts are tried from left to right.. See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
|
host*: LDAP server name to connect to. You can provide several hosts in an
|
||||||
port: Port on the server. See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
|
array in which case the hosts are tried from left to right.
|
||||||
version: LDAP version. See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
|
See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
|
||||||
starttls: TLS is started after connecting. See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
|
port: Port on the server.
|
||||||
binddn: The distinguished name to bind as (username). See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
|
See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
|
||||||
bindpw: Password for the binddn. See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
|
version: LDAP version.
|
||||||
basedn*: LDAP base name (root directory). See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
|
See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
|
||||||
|
starttls: TLS is started after connecting.
|
||||||
|
See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
|
||||||
|
binddn: The distinguished name to bind as (username).
|
||||||
|
See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
|
||||||
|
bindpw: Password for the binddn.
|
||||||
|
See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
|
||||||
|
basedn*: LDAP base name (root directory).
|
||||||
|
See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
|
||||||
options: See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
|
options: See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
|
||||||
filter: Default search filter. See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
|
filter: Default search filter.
|
||||||
scope: Default search scope. See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
|
See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
|
||||||
|
scope: Default search scope.
|
||||||
|
See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
|
||||||
|
|
||||||
attributes: an array with the key being the StatusNet user attribute name, and the value the LDAP attribute name
|
attributes: an array that relates StatusNet user attributes to LDAP ones
|
||||||
username*
|
username*: LDAP attribute value entered when authenticating to StatusNet
|
||||||
nickname*
|
nickname*: LDAP attribute value shown as the user's nickname
|
||||||
email
|
email
|
||||||
fullname
|
fullname
|
||||||
homepage
|
homepage
|
||||||
location
|
location
|
||||||
|
|
||||||
* required
|
* required
|
||||||
default values are in (parenthesis)
|
default values are in (parenthesis)
|
||||||
|
|
||||||
|
For most LDAP installations, the "nickname" and "username" attributes should
|
||||||
|
be the same.
|
||||||
|
|
||||||
Example
|
Example
|
||||||
=======
|
=======
|
||||||
Here's an example of an LDAP plugin configuration that connects to Microsoft Active Directory.
|
Here's an example of an LDAP plugin configuration that connects to
|
||||||
|
Microsoft Active Directory.
|
||||||
|
|
||||||
addPlugin('ldapAuthentication', array(
|
addPlugin('ldapAuthentication', array(
|
||||||
'provider_name'=>'Example',
|
'provider_name'=>'Example',
|
||||||
@ -47,7 +68,9 @@ addPlugin('ldapAuthentication', array(
|
|||||||
'basedn'=>'OU=Users,OU=StatusNet,OU=US,DC=americas,DC=global,DC=loc',
|
'basedn'=>'OU=Users,OU=StatusNet,OU=US,DC=americas,DC=global,DC=loc',
|
||||||
'host'=>array('server1', 'server2'),
|
'host'=>array('server1', 'server2'),
|
||||||
'attributes'=>array(
|
'attributes'=>array(
|
||||||
|
'username'=>'sAMAccountName',
|
||||||
'nickname'=>'sAMAccountName',
|
'nickname'=>'sAMAccountName',
|
||||||
'email'=>'mail',
|
'email'=>'mail',
|
||||||
'fullname'=>'displayName')
|
'fullname'=>'displayName')
|
||||||
));
|
));
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user