Commit Graph

52 Commits

Author SHA1 Message Date
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 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
Evan Prodromou aa4fb6b71e trim the body of an incoming message
darcs-hash:20081214002239-84dde-9d4d15f37b48ed1830c0423e7e34cb11c7cf9c2d.gz
2008-12-13 19:22:39 -05:00
Evan Prodromou 3c5f1a5b88 xmppdaemon uses 'xml' rather than 'raw' accessor
darcs-hash:20081211183250-5ed1f-73f542de534be2931508841a2c85162e2fe15160.gz
2008-12-11 13:32:50 -05:00
millette ce08833303 shorten urls for posts > 140 chars only, from anywhere. Only show long urls in title attributes for links we shortened ourselves.
darcs-hash:20081128210114-099f7-4e4cde0a983c2ac6d41efb59b46cb7dbf45dc7a6.gz
2008-11-28 16:01:14 -05:00
Evan Prodromou 0a4905035a new auto-reply regexp (thanks @lilyhill!)
darcs-hash:20081204174754-5ed1f-dcce210332c55a544c35d535c3f3008aa8c165d3.gz
2008-12-04 12:47:54 -05:00
Evan Prodromou f072147e4e add channels and use command interpreter in different channels
darcs-hash:20081004163213-5ed1f-684ecb464e843b1bbe456c348e56b40a39a83ecd.gz
2008-10-04 12:32:13 -04:00
nick 491af90fa7 XMPP Direct Messaging / Last notice
Direct messaging now works under XMPP, the command syntax is 'd $nick
$message'. Also, a command to fetch a users last notice is in there
('last $nick'). Notification of the recipient of a message is not yet
supported.

darcs-hash:20081003011145-29929-9fce5057066d0d223a0d01c1708df072d91b0e63.gz
2008-10-02 21:11:45 -04:00
CiaranG dbf80a0f5a Fix error in xmpp help
darcs-hash:20080926214627-f6e2c-f0aa98fe5e76c4aaa3bbaeb400fe85704a31a8c9.gz
2008-09-26 17:46:27 -04:00
Evan Prodromou ac60342e89 merge CiaranG's changes for subs
darcs-hash:20080922225031-84dde-c6967f46ae642f8943b0de77d9a82892ecadb4ce.gz
2008-09-22 18:50:31 -04:00
Evan Prodromou eb4df223e6 integrate local changes with Zach's
darcs-hash:20080916210813-84dde-c2cadb63b09f59ac6c76dc1205a56687de9483ce.gz
2008-09-16 17:08:13 -04:00
Evan Prodromou b7383d5638 fork daemon
darcs-hash:20080626224011-84dde-c6bbfcde6d0802ef3a2346524e0f883e6767c949.gz
2008-06-26 18:40:11 -04:00
Evan Prodromou b2653f007a remove custom xmppdaemon error handler
darcs-hash:20080830162128-84dde-430fae5f1a0be77db2860c4e6e1c68b961b0944d.gz
2008-08-30 12:21:28 -04:00
CiaranG bfb22a9932 XMPP daemon updates including help, sub and subsub commands, plus subscribe/unsubcribe logic broken out into standalone module for sharing
darcs-hash:20080816083422-f6e2c-fb8b4e0581719bd8c3f433e661ec9742e1b84cbc.gz
2008-08-16 04:34:22 -04:00
CiaranG a0b6ebdd2d Bounce oversized XMPP messages back to user (Ticket #112)
darcs-hash:20080814083856-f6e2c-0e56895260fb96dedaa6a663db7e906fee2f7b05.gz
2008-08-14 04:38:56 -04:00
Evan Prodromou 0c71340c9f free and unset DB_DataObjects after we're done with them
darcs-hash:20080906015501-84dde-e787962b9805759224389dd42a211dfa21da3473.gz
2008-09-05 21:55:01 -04:00
Evan Prodromou aed0fff4ea scripts daemonize themselves
darcs-hash:20080904184031-84dde-eba2061f3aa898d0c791ffeb70837f759778c567.gz
2008-09-04 14:40:31 -04:00
Evan Prodromou 307b9527e6 variable name conflict on reconnect
darcs-hash:20080902172039-84dde-2b1bbac407959af2a5ca0c764aa503f0cb05c785.gz
2008-09-02 13:20:39 -04:00
Evan Prodromou 65e462858e set the reconnect timeout
darcs-hash:20080902171740-84dde-ee629f4b5dbcf712cd350c37d0f1814ca1b7f237.gz
2008-09-02 13:17:40 -04:00
Evan Prodromou 7abcee54ea add reconnect handlers to main XMPP-handling scripts
darcs-hash:20080902165319-84dde-b6cc255f014e6c5c059905c37c258a6c7a53b39a.gz
2008-09-02 12:53:19 -04:00
Evan Prodromou c6c3cd40f6 separate out presence from connection, send different presence types from queuehandlers
darcs-hash:20080902012604-84dde-073a583da9b09c80e5e9a47a5eddd144fad8e87a.gz
2008-09-01 21:26:04 -04:00
Evan Prodromou 902ba87a8b add some sanity-check stuff for long-running daemons
darcs-hash:20080831023844-84dde-b8c9ce5f38d33c7fd8a42dc0d3640d500e653011.gz
2008-08-30 22:38:44 -04:00
Evan Prodromou ed2aeecfdd add initialization info to the queue handlers
darcs-hash:20080831020325-84dde-606d52b08146d4c226f812a9f47b5a3ec1abc743.gz
2008-08-30 22:03:25 -04:00
Evan Prodromou 1cf81a57e4 check for self in forwards, too
darcs-hash:20080830085607-84dde-83e95d40d4d8a64a6bc223a0e91fec53022422c6.gz
2008-08-30 04:56:07 -04:00
Evan Prodromou 755f192df0 correctly use attrs array rather than nonexistent attunction
darcs-hash:20080830062744-84dde-98c6419f4b66a570e9ef9de34d8d07e40aa1177d.gz
2008-08-30 02:27:44 -04:00
Evan Prodromou c3adc854da log fetch
darcs-hash:20080830062246-84dde-823ceafa203aa034c52e0df55c21f241e35363fa.gz
2008-08-30 02:22:46 -04:00
Evan Prodromou f76b4c8d72 debug xml input
darcs-hash:20080830060732-84dde-54d5d4c4a8747215bd5b224e4216f9fc1eb349a6.gz
2008-08-30 02:07:32 -04:00
Evan Prodromou c3f4789735 better debugging output for forwarded messages
darcs-hash:20080830055938-84dde-d0c6b241502b674f974f75f6c22b13f9dca8134c.gz
2008-08-30 01:59:38 -04:00
Evan Prodromou 4e3b69014e get address from addresses
darcs-hash:20080830055640-84dde-2cd151d876f6586d827ecfc38e1b72d1cfb4950d.gz
2008-08-30 01:56:40 -04:00
Evan Prodromou a586bbed24 typo preventing detection of addresses
darcs-hash:20080830052810-84dde-e90c46cc8d9a48a91098efd123c45108ce2903b6.gz
2008-08-30 01:28:10 -04:00
Evan Prodromou 706dc53d40 strtolower jids for comparison
darcs-hash:20080830052143-84dde-81ba3f1e687605d23e9bdc2c3672ac7ae36f9b60.gz
2008-08-30 01:21:43 -04:00
Evan Prodromou 4cdd90283b forward messages from queuehandler to listener
The queuehandler sends messages to the user. If the user replies, the
messages are typically sent directly to the queuehandler (including
resource), not the default bot JID.

We add a little code for the xmppqueuehandler to periodically service
its queue of received messages. Received messages are forwarded to the
listener to deal with. We use XEP 33, 'addresses', to note the
original sender.

The xmppdaemon checks to see if the 'from' on a message is the daemon
address. If so, it looks for a XEP 33 'addresses' stanza, with an
'ofrom' address, which shows who it was originally is from.

This should let us send from one resource ID and still process
incoming messages in a different connection.

darcs-hash:20080830040717-84dde-59c75bfb107a1dd5fd531106751b4544bfd15656.gz
2008-08-30 00:07:17 -04:00
Evan Prodromou 9ad8f2766c strip script ending from end of xmppdaemon
darcs-hash:20080829202613-84dde-58f58a315ea0093c5b029b01492fd71d2fed014c.gz
2008-08-29 16:26:13 -04:00
Evan Prodromou c4d6789275 split public stream to its own queue handler
Add another queue handler for the public stream. Should further
parallelize the work of sending out messages.

darcs-hash:20080829181702-84dde-594505aa73d2380b13bd98917b70b02bac597d12.gz
2008-08-29 14:17:02 -04:00
Evan Prodromou f59ead93ee remove unimplemented methods from XmppDaemon
darcs-hash:20080827210429-84dde-90c22dbee16f74f53464dcd538a6dbcf49db4f28.gz
2008-08-27 17:04:29 -04:00
Evan Prodromou b9f0ea6f0e break up monolithic xmppdaemon into multiple queue handlers
Eventually, the poor xmppdaemon has become overloaded with extra
tasks. So, I've broken it up. Now, we have 5 background scripts, and
more coming:

* xmppdaemon.php - handles incoming XMPP messages only.
* xmppqueuehandler.php - sends notices from the queue out through XMPP.
* smsqueuehandler.php - sends notices from the queue out over SMS
* ombqueuehandler.php - sends notices from the queue out over OMB
* xmppconfirmhandler.php - sends confirmation requests out over XMPP.

This is in addition to maildaemon.php, which takes incoming messages.

None of these are "true" daemons -- they don't daemonize themselves
automatically. Use nohup or another tool to background them. monit can
also be useful to keep them running.

At some point, these might become fork()'ing daemons, able to handle
more than one notice at a time. For now, I'm just running multiple
instances, hoping they don't interfere.

darcs-hash:20080827205407-84dde-97884a12f5f4e54c93bc785bd280683d1ee7e749.gz
2008-08-27 16:54:07 -04:00
Evan Prodromou f3dc863d8f don't do too many broadcasts or confirms before checking the message queue
darcs-hash:20080827142336-84dde-2bec2149d86900fd0291f8c00f85aa756842bbe1.gz
2008-08-27 10:23:36 -04:00
Evan Prodromou 9bdc7f8ec7 add back in a session start handler
darcs-hash:20080827135422-84dde-857d6e980e18803186d080a60eea60f1362bb348.gz
2008-08-27 09:54:22 -04:00
CiaranG b6d67b06d4 XMPP daemon that doesn't eat messages - note change to XMPPHP as well (Ticket #551)
darcs-hash:20080826200057-f6e2c-fb9a88251d034824218d20b3fefcde96ddaef827.gz
2008-08-26 16:00:57 -04:00
Evan Prodromou 28ed510854 don't show unknown (debug) errors
darcs-hash:20080827132346-84dde-c5499ac960fbb28bced28ff9355846f7183fcb5c.gz
2008-08-27 09:23:46 -04:00
Evan Prodromou 108b1e7bfd fixup whitespace
darcs-hash:20080827131603-84dde-7be64f28840a29c5833bc625aaf6cb8f07b891e5.gz
2008-08-27 09:16:03 -04:00
Evan Prodromou cba4b50e44 use common_sql_now() instead of DB_DataObject_Cast
darcs-hash:20080825182338-84dde-ec0edef9469b294b7e23945f1bc7d810da988ed7.gz
2008-08-25 14:23:38 -04:00
Evan Prodromou 55b6e17ee1 use mb_strlen instead of strlen in xmpp daemon
darcs-hash:20080825173105-84dde-ea607521c78694fe558514b423f1c6dc0e70241e.gz
2008-08-25 13:31:05 -04:00
CiaranG 92645bbc57 XMPP sub/unsub and help commands
darcs-hash:20080822191032-f6e2c-a3a7efbbaad1ec7c48ef132a8ba34fc8b8651969.gz
2008-08-22 15:10:32 -04:00
CiaranG ce3cdb20c0 Define xmpp daemon claim timeout time
darcs-hash:20080822185955-f6e2c-569bc9d304e904fd26e3cc976e8246e3eb7f93bd.gz
2008-08-22 14:59:55 -04:00
CiaranG ebe35f56ae Fix bug in xmpp on/off (ticket #528)
darcs-hash:20080819071321-f6e2c-a7ee326669eba917fff8dd37c85c13db46c93f19.gz
2008-08-19 03:13:21 -04:00
CiaranG 5022a9efb9 XMPP bounce message when too long (ticket #112)
darcs-hash:20080818213031-f6e2c-760cbb6f91485bbb8b29156c06a16e9ad6cd0acf.gz
2008-08-18 17:30:31 -04:00
Evan Prodromou d135039c1d set internal encoding in XMPP daemon
darcs-hash:20080818033049-84dde-eb6098e0ae84d081418536ceb6964a65bcbf4953.gz
2008-08-17 23:30:49 -04:00