Commit Graph

51 Commits

Author SHA1 Message Date
Brion Vibber 0841fa712e Ticket #1281: JID validation now more or less follows spec instead of calling e-mail validator
Basic splitting/validation code submitted via http://status.net/wiki/XMPP/JID_validation -- Copyright 2009 Patrick Georgi <patrick@georgi-clan.de> Licensed under ISC-L, which is compatible with everything else that keeps the copyright notice intact.

Added PEAR Net_IDNA package to extlib to handle IDN normalization (also used by Validate's email verifier if present).

* added test suite, supplemented my own test cases with JID validation and normalization test cases from libpurple
* follows XMPP rules for validation of name part
* fixes for normalization with non-ASCII names
* will do domain checks if $config['email']['check_domain'] is on, checking for an XMPP-server SRV record or any lookup. (We don't actually need to ping those direct though.)
* some more obscure stringprep validation rules aren't quite followed yet, but we err on the side of permissiveness.
* we still don't actually let you save your address with a resource on it, as we strip resources when looking up users who've sent us presence or message updates. I would recommend saving the outgoing resource as a separate field if/when we add that..?
2010-03-30 17:35:27 -07:00
Brion Vibber c7507e7e9d XMPP queued output & initial retooling of DB queue manager to support non-Notice objects.
Queue handlers for XMPP individual & firehose output now send their XML stanzas
to another output queue instead of connecting directly to the chat server. This
lets us have as many general processing threads as we need, while all actual
XMPP input and output go through a single daemon with a single connection open.

This avoids problems with multiple connected resources:
* multiple windows shown in some chat clients (psi, gajim, kopete)
* extra load on server
* incoming message delivery forwarding issues

Database changes:
* queue_item drops 'notice_id' in favor of a 'frame' blob.
  This is based on Craig Andrews' work branch to generalize queues to take any
  object, but conservatively leaving out the serialization for now.
  Table updater (preserves any existing queued items) in db/rc3to09.sql

Code changes to watch out for:
* Queue handlers should now define a handle() method instead of handle_notice()
* QueueDaemon and XmppDaemon now share common i/o (IoMaster) and respawning
  thread management (RespawningDaemon) infrastructure.
* The polling XmppConfirmManager has been dropped, as the message is queued
  directly when saving IM settings.
* Enable $config['queue']['debug_memory'] to output current memory usage at
  each run through the event loop to watch for memory leaks

To do:
* Adapt XMPP i/o to component connection mode for multi-site support.
* XMPP input can also be broken out to a queue, which would allow the actual
  notice save etc to be handled by general queue threads.
* Make sure there are no problems with simply pushing serialized Notice objects
  to queues.
* Find a way to improve interactive performance of the database-backed queue
  handler; polling is pretty painful to XMPP.
* Possibly redo the way QueueHandlers are injected into a QueueManager. The
  grouping used to split out the XMPP output queue is a bit awkward.

Conflicts:

	scripts/xmppdaemon.php
2010-01-22 12:52:36 -08:00
Siebrand Mazeland 4af6b7f5c3 Lots of tiny message changes.
* Mostly punctuation updates so that the same message is used consistently in all of StatusNet.
* Some cases of "Title Case" removed, because that does not appear to be used consistently.
2010-01-10 12:26:24 +01:00
Evan Prodromou df86aa7214 define LACONICA and accept LACONICA for backwards compatibility 2009-08-26 10:41:36 -04:00
Evan Prodromou 865b716f09 change LACONICA to STATUSNET 2009-08-25 18:42:34 -04:00
Evan Prodromou ae883ceb9b change controlyourself.ca to status.net 2009-08-25 18:19:04 -04:00
Evan Prodromou d35b2d3f3c change laconi.ca to status.net 2009-08-25 18:16:46 -04:00
Evan Prodromou c8b8f07af1 change Laconica and Control Yourself to StatusNet in PHP files 2009-08-25 18:12:20 -04:00
Jeffery To 93f585446e Added configuration options to enable/disable SMS and Twitter integration.
This disables the IM, SMS and Twitter settings pages and queue handlers
depending on the config options.
2009-08-07 01:18:17 +08:00
sarven 0b5f0f4faa Renamed form_datas to form_data 2009-01-19 03:09:13 +00:00
sarven d46c2cc8a7 IM settings markup and style.
Added confirmed/unconfirmed styles
2009-01-18 20:36:50 +00:00
Evan Prodromou 97c98cf59a Break up settings into two tabset
Made two tabsets: account and connect. Removed "Invite" from
the global nav to make room.
2009-01-17 22:30:44 +00:00
Evan Prodromou d1b5233eac Update IM settings to new system 2009-01-16 21:39:39 +00:00
Evan Prodromou 4b0cf99e56 Convert use of common_server_error and common_user_error to methods on Action 2009-01-15 23:03:38 +00:00
Evan Prodromou eaa81d25fa Convert all actions to use new UI functions
I did a massive search-and-replace to get all the action subclasses to
use the new output function (common_element() -> $this->element(), etc.)

There's still a lot to do, but it's a first step
2009-01-15 22:57:15 +00:00
Evan Prodromou b264c03d32 move opening brace of class declaration to next line
Another gigantor PEAR coding standards patch. Here, I've moved the
opening curly bracket on a class statement to the following line.

darcs-hash:20081223194923-84dde-77a93de314caadbcb5b70bf346a4648be77a864e.gz
2008-12-23 14:49:23 -05:00
Evan Prodromou 7ad2f2a371 TRUE
More PEAR coding standards global changes. Here, I've changed all
instances of TRUE to true and FALSE to false.

darcs-hash:20081223194428-84dde-cb1a1e6f679acd68e864545c4d4dd8752d6a6257.gz
2008-12-23 14:44:28 -05:00
Evan Prodromou 04ef1ba8ee change function headers to K&R style
Another huge change, for PEAR code standards compliance. Function
headers have to be in K&R style (opening brace on its own line),
instead of having the opening brace on the same line as the function
and parameters. So, a little perl magic found all the function
definitions and move the opening brace to the next line (properly
indented... usually).

darcs-hash:20081223193323-84dde-a28e36ecc66672c783c2842d12fc11043c13ab28.gz
2008-12-23 14:33:23 -05:00
Evan Prodromou eb2f9c98ac replace NULL with null
Another global search-and-replace update. Here, I've replaced the PHP
keyword 'NULL' with its lowercase version. This is another PEAR code
standards change.

darcs-hash:20081223192129-84dde-4a0182e0ec16a01ad88745ad3e08f7cb501aee0b.gz
2008-12-23 14:21:29 -05:00
Evan Prodromou edbc0c665c replace all tabs with four spaces
The PEAR coding standards decree: no tabs, but indent by four spaces.
I've done a global search-and-replace on all tabs, replacing them by
four spaces. This is a huge change, but it will go a long way to
getting us towards phpcs-compliance. And that means better code
readability, and that means more participation.

darcs-hash:20081223191907-84dde-21e8efe210e6d5d54e935a22d0cee5c7bbfc007d.gz
2008-12-23 14:19:07 -05:00
Zach Copley 2e239e3fbb CSRF protection in imsettings.php
darcs-hash:20080829035707-7b5ce-69a9ff98390ff8b9671ede948d78fdb37371aac6.gz
2008-08-28 23:57:07 -04:00
mikec 334c652e80 Publish MicroIDs for email and mpp on profile and notice pages.
darcs-hash:20080721120036-edabd-838335c0e23c80a657d353955b25b52a9a8624b2.gz
2008-07-21 08:00:36 -04:00
Mike Cochrane 4b8ae3e339 Resolve conflict
darcs-hash:20080714025853-533db-e215a2ab0277acafc1c01d2c12c20ec452ed53e2.gz
2008-07-13 22:58:53 -04:00
Mike Cochrane d9aea8cb9a Fixed location of bracket for gettext.
darcs-hash:20080713053033-533db-c1b4e827abd764dc173173556ec889290b0643bf.gz
2008-07-13 01:30:33 -04:00
Evan Prodromou 499afd8c22 replies from people you're not subscribed to over Jabber
darcs-hash:20080715195513-84dde-454419c971015be385d9c4c35f7acbee419031f9.gz
2008-07-15 15:55:13 -04:00
Evan Prodromou 342dec8b86 fixing IM message, AGAIN
darcs-hash:20080714022055-84dde-385e62dcea9c692262556d4e78b52f95212b512a.gz
2008-07-13 22:20:55 -04:00
Evan Prodromou e3f4165d69 conflict resolution after pulling from mikenz
darcs-hash:20080713215601-84dde-371d54221d9ffbed500e8d3c9e0ad4bb15bd5c30.gz
2008-07-13 17:56:01 -04:00
Mike Cochrane b104da04fb Colapse a lot of strings to make like easier for translators and more consisitant for users
darcs-hash:20080713053748-533db-1cdb0cf3a9e4102eb139b74a7a9d4f97dadb20b8.gz
2008-07-13 01:37:48 -04:00
Mike Cochrane 834c21b2aa Merge some gettext strings to one line so translation tools are happier
darcs-hash:20080713044608-533db-ee16aecee9b6d82b22ce6a25f6a9573c23eee9f8.gz
2008-07-13 00:46:08 -04:00
Evan Prodromou a55044ac03 twiddle some parens in imsettings for gettext
darcs-hash:20080713130112-84dde-b3727f84de7db3bbe96b9d1003380b89402495de.gz
2008-07-13 09:01:12 -04:00
Mike Cochrane 4d65b99c68 Translate a few more strings.
darcs-hash:20080708100519-533db-b326ea0bb16ea6c8244cfd00a0dd639d0553dd21.gz
2008-07-08 06:05:19 -04:00
Mike Cochrane 0f502b8d86 Remove tralling whitespace on lines and a gettext replacement that I missed.
darcs-hash:20080708095113-533db-ad63bbde67b6275fb7ae944cc9882adf6f3be517.gz
2008-07-08 05:51:13 -04:00
Mike Cochrane 87b494f1eb Convert _t() to _() for gettext.
darcs-hash:20080708094531-533db-83399a46e6ec4c0fcc6249b0235961f969d1ae73.gz
2008-07-08 05:45:31 -04:00
Evan Prodromou e4a1b9cde9 optionally queue jabber confirmations
darcs-hash:20080706035707-84dde-5403fe9bcb017c401fe5847527628df548e54499.gz
2008-07-05 23:57:07 -04:00
Evan Prodromou 721d6f94c7 method
darcs-hash:20080702131507-84dde-507a6380fcab66c1fbcbaad6d1399c8a2f210acf.gz
2008-07-02 09:15:07 -04:00
Evan Prodromou 5121cbebe4 return instructions
darcs-hash:20080630170653-84dde-e13ebf4ea364a6f12bb2692bc0278491a804c0fc.gz
2008-06-30 13:06:53 -04:00
Evan Prodromou c64f137497 refactor common behaviour in settings pages
darcs-hash:20080630170342-84dde-5d7feb88a0a707b24c8070802a7ec99dd1f35687.gz
2008-06-30 13:03:42 -04:00
Evan Prodromou 453751263b add a space between address and to
darcs-hash:20080627154825-84dde-b876f7dff5e1b72b94432e26cf8af02e2c36d0cc.gz
2008-06-27 11:48:25 -04:00
Evan Prodromou 450d727458 "subscribe" -> "add to buddy list"
darcs-hash:20080627143025-84dde-fee234fbcdf825cccc2ce0c9c812dcb27ebe6433.gz
2008-06-27 10:30:25 -04:00
Evan Prodromou 48cac45fd9 don't bother with subscription hoohaw; just ask the user to do it
darcs-hash:20080626203103-34904-19ef53bc734622a310a705608f3e227e2f387904.gz
2008-06-26 16:31:03 -04:00
Evan Prodromou 31b5ae1523 compile error with lost dot
darcs-hash:20080626190538-34904-d160176208203bcc806e824874c75021b32b6f92.gz
2008-06-26 15:05:38 -04:00
Evan Prodromou 201a988bf7 better instructions on confirmation code
darcs-hash:20080626190307-34904-5aca9b62944d4e8f6170705dec822d30a1163401.gz
2008-06-26 15:03:07 -04:00
Evan Prodromou 0b0beda026 some variable names swapped around when I split up the big method
darcs-hash:20080626184811-34904-d5d7373acb89b06eb3f0854d83b0ac425a70d1e2.gz
2008-06-26 14:48:11 -04:00
Evan Prodromou fcc12459ed forgot to clone user
darcs-hash:20080626183721-34904-7c03b34e911ddb0c4adba959402d49476be932c1.gz
2008-06-26 14:37:21 -04:00
Evan Prodromou f5caccc827 show checkbox as checked or not
darcs-hash:20080626182705-34904-893d72f480c330beb2d8f871da0d2cd9b902ffbf.gz
2008-06-26 14:27:05 -04:00
Evan Prodromou db2d79cd31 some UI changes to the IM settings
darcs-hash:20080626181144-34904-87503e70e6705b06ebb6c19910583f4fba1b22e0.gz
2008-06-26 14:11:44 -04:00
Evan Prodromou e330eb50d2 more robust handling of new JIDs
darcs-hash:20080624015616-34904-c1ff985257c8c57aacf68439488d628a8b4d2e38.gz
2008-06-23 21:56:16 -04:00
Evan Prodromou a8a2f40696 broadcast notices to jabber
darcs-hash:20080624014241-34904-39ace8e82e50e5f50c5980b5fb3256184a7c9050.gz
2008-06-23 21:42:41 -04:00
Evan Prodromou d1e55b3777 jabber send and confirmation code
darcs-hash:20080624013203-34904-fe87dc6b3b991e9753512b8b7cc192f7610eb1dc.gz
2008-06-23 21:32:03 -04:00
Evan Prodromou 63dcbe1e6e add jabber library and use it
darcs-hash:20080624001523-34904-8d0c052f12301d86aeb9107149b34f22c94da1c4.gz
2008-06-23 20:15:23 -04:00