Brion Vibber [Fri, 12 Mar 2010 19:19:56 +0000 (11:19 -0800)]
Fixes for updating indices, charset/collation and engine type on plugin-created tables.
Under MySQL, new tables will be created as InnoDB with UTF-8 (utf8/utf8_bin) same as core tables.
Existing plugin tables will have table engine and default charset/collation updated, and string columns will have charset updated, at checkschema time.
Switched from 'DESCRIBE' to INFORMATION_SCHEMA for pulling column information in order to get charset. A second hit to INFORMATION_SCHEMA is also needed to get table properties.
Indices were only being created at table creation time, which ain't so hot. Now also adding/dropping indices when they change.
Fixed up some schema defs in OStatus plugin that were a bit flaky, causing extra alter tables to be run.
TODO: Generalize this infrastructure a bit more up to base schema & pg schema classes.
Brion Vibber [Fri, 12 Mar 2010 02:10:41 +0000 (18:10 -0800)]
Don't switch people from the Memcache to Memcached plugin without their knowledge when using back-compatibility $config['memcached']['enabled']. Performance characteristics for Memcached version on large-scale sites not tested yet.
New installations should be using addPlugin explicitly.
Brion Vibber [Fri, 12 Mar 2010 02:01:50 +0000 (18:01 -0800)]
Fixes for password recovery; lookups for unconfirmed addresses were failing or inconsistent (using staticGet with unindexed fields, which would not get decached correctly and could get confused if multiple pending confirmations of different types are around).
Also uses updated email functions to include extra headers and ensure the proper address is used.
Craig Andrews [Fri, 12 Mar 2010 01:12:32 +0000 (20:12 -0500)]
move image type checking to constructor, so checking will be done in all cases
check if the relevant image handling function exists when deciding if the image type is supported
Sarven Capadisli [Thu, 11 Mar 2010 22:16:37 +0000 (17:16 -0500)]
foaf:holdsAccount is deprecated in favour of foaf:account. See
http://lists.foaf-project.org/pipermail/foaf-dev/2009-December/009903.html
for the news. Patch by Toby Inkster <mail@tobyinkster.co.uk>.
Brion Vibber [Thu, 11 Mar 2010 19:01:01 +0000 (11:01 -0800)]
Drop timestamp cutoff parameter from User::getCurrentNotice() and Profile::getCurrentNotice().
It's not currently used, and won't be efficient when we update the notice.profile_id_idx index to optimize for our id-based sorting when pulling user post lists for profile pages, feeds etc.
Brion Vibber [Thu, 11 Mar 2010 01:00:05 +0000 (17:00 -0800)]
OStatus: reject attempts to create a remote profile for a local user or group.
Some stray shadow entries were ending up getting created, which would steal group posts from remote users.
Run plugins/OStatus/scripts/fixup-shadow.php for each site to remove any existing ones.
Brion Vibber [Wed, 10 Mar 2010 23:08:40 +0000 (15:08 -0800)]
Workaround intermittent bugs with HEAD requests by disabling keepalive in HTTPClient.
I think this is a bug in Youtube's web server (sending chunked encoding of an empty body with a HEAD response, leaving the connection out of sync when it doesn't attempt to read a body) but the HTTP_Request2 library may need to be adjusted to watch out for that.
Brion Vibber [Wed, 10 Mar 2010 21:39:42 +0000 (13:39 -0800)]
Fix for attachment "h bug": posting a shortened link to an oembed-able resource that has been previously used in the system would incorrectly save "h" as the item's type and title.
Brion Vibber [Wed, 10 Mar 2010 19:54:00 +0000 (11:54 -0800)]
Detect when queuedaemon/xmppdaemon parent processes die and kill the child processes.
Keeps stray daemon subprocesses from floating around when we kill the parents via a signal!
Accomplished by opening a bidirectional pipe in the parent process; the children close out the writer end and keep the reader in their open sockets list. When the parent dies, the children see that the socket's been closed out and can perform an orderly shutdown.
Brion Vibber [Wed, 10 Mar 2010 17:36:00 +0000 (09:36 -0800)]
Ticket #2221: fix for missing whitespace between messages in en-gb.
The final whitespace should be dropped from the source messages after we've stabilized; trailing space is pretty unreliable to keep through translation tools and should be avoided. Use separator strings outside the messages!
Brion Vibber [Tue, 9 Mar 2010 21:41:05 +0000 (13:41 -0800)]
Added scripts/command.php, can be used to run commands such as subscription on behalf of users.
This includes whatever support for extended command parsing plugins may have added.
Example:
./scripts/command.php -nbrionv sub update@status.net
Brion Vibber [Mon, 8 Mar 2010 22:01:43 +0000 (14:01 -0800)]
Command input processing now has centralized places for looking up notice, user/profile, and group arguments.
OStatus plugin overrides these to allow using webfinger (user@example.com), profile URL (http://example.com/user) and bare profile URL (example.com/user) as arguments.
Brion Vibber [Tue, 9 Mar 2010 16:38:16 +0000 (17:38 +0100)]
Ticket #2210: adjust locale setup fallback to try more locales on the system if en_US isn't available. We just need *something* other than C or POSIX to let gettext initialize itself, apparently...
Gets Spanish, French, Russian etc UI localization working on Debian Lenny fresh installation set up in Spanish (so es_ES.UTF-8 is available but en_US.UTF-8 isn't).
Brion Vibber [Mon, 8 Mar 2010 20:19:06 +0000 (12:19 -0800)]
Fix ticket #2208: regression in XMPP sending when server != host
The upstream class sets $this->basejid with host unconditionally, which wasn't previously an issue as the fulljid would always be filled in by the server at connect time before sending messages. With the new queued messaging, we need to make sure we've filled out $this->fulljid correctly without making a connection.
Now using $server if provided to build $this->basejid and $this->fulljid in the queued XMPP proxy class, so queued messages are sent correctly.
Jeffery To [Mon, 8 Mar 2010 07:31:16 +0000 (15:31 +0800)]
Fixed warning messages when auto-registering a new LDAP user.
On my test system (without memcache), while testing the LDAP
authentication plugin, when I sign in for the first time, triggering
auto-registration, I get these messages in the output page:
Warning: ksort() expects parameter 1 to be array, null given in /home/jeff/Documents/code/statusnet/classes/Memcached_DataObject.php on line 219
Warning: Invalid argument supplied for foreach() in /home/jeff/Documents/code/statusnet/classes/Memcached_DataObject.php on line 224
Warning: assert() [function.assert]: Assertion failed in /home/jeff/Documents/code/statusnet/classes/Memcached_DataObject.php on line 241
(plus two "Cannot modify header information..." messages as a result of
the above warnings)
This change appears to fix this (although I can't really explain exactly
why).
Jeffery To [Fri, 5 Mar 2010 09:54:53 +0000 (17:54 +0800)]
ldap_get_connection() to return null when passed a config with bad user/pw.
This mainly affects login; before if the user enters a valid username
but invalid password, ldap_get_connection() throws an
LDAP_INVALID_CREDENTIALS error. Now the user sees the regular
"Incorrect username of password" error message.