Commit Graph

115 Commits

Author SHA1 Message Date
James Walker 3227122ac3 move base64_url_(encode|decode) to static functions in Magicsig 2010-03-26 10:43:41 -07:00
James Walker cfca789b34 Updated Math_Biginteger from upstream - removing safe* workarounds 2010-03-24 15:18:41 -04:00
James Walker 10410907a0 A bit safer checking in the keypair parsing 2010-03-24 14:27:35 -04:00
Brion Vibber 5f32cf32cd Don't spew XML parse warnings to output when checking a remote XRD page 2010-03-23 14:18:45 -07:00
Brion Vibber 27bfd1211d Math_BigInteger doesn't correctly handle serialization/deserialization for a value of 0, which can end up spewing notices to output and otherwise intefering with Salmon signature setup and verification when using memcached.
Worked around this with a subclass that fixes the wakeup, used for the stored 0 value in the subclassed Crypt_RSA.
2010-03-22 12:17:45 -07:00
James Walker a20880ee1e Fixing HTTP Header LRDD parsing (sites in subdirectories need this) 2010-03-22 13:45:13 -04:00
Brion Vibber db0cf50f65 Avoid notices for accessing undefined array indices in hcard processing 2010-03-19 15:54:54 -07:00
Evan Prodromou 5092f98c0d return empty hints if no hcard in the html 2010-03-19 15:28:06 -05:00
Evan Prodromou 1e03968d91 define a 'root' attribute for the channel or feed 2010-03-19 15:23:30 -05:00
Evan Prodromou ac609e8040 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing
Conflicts:
	plugins/OStatus/extlib/hkit/hkit.class.php
	plugins/OStatus/lib/discoveryhints.php
2010-03-18 20:57:38 -05:00
Evan Prodromou 17c50f338c Remove hkit and do our own hcard parsing
Parsing hcards for the data we need wasn't hard enough to justify using
hkit. It was dependent on a number of external systems (something to
run tidy), and only could handle XHTML.

We now parse HTML with the PHP dom libraries used elsewhere, and
scrape out our own hcards. Seems to work nicer and faster and most of
all works with Google Buzz profile URLs.
2010-03-18 20:52:00 -05:00
Brion Vibber 4a6c9e4451 Work around weird bug with HTML normalization via PHP DOM module; if source had xmlns and xml:lang I ended up with double output, breaking the subsequent parsing. Will have to track this down later and report upstream if not already resolved. 2010-03-18 17:57:58 -07:00
Brion Vibber 1301877dfe OStatus discover fixes:
* Subscription::start was sometimes passing users instead of profiles to hooks, which broke OStatus subscription notifications; now normalizing to profiles for processing.
* H-card parsing would trigger a lot of PHP warnings and notices in hKit. Now suppressing warnings and notices for the duration of the call to keep them out of output when display_errors is on.
* H-card parsing would trigger a PHP fatal error if the source page was not well-formed XML and Tidy was not present on the system. Switched normalization to use the PHP DOM module which is always present, as we have no need for Tidy's extra features here.
* Trying to fetch avatars from Google profiles failed and triggered a PHP warning due to the relative URL not being resolved during h-card parsing. Now passing profile page URL into hKit by sneaking a <base> tag in while we normalize the HTML source.
* Profile pages without a "Link" header could trigger PHP notices due to a bad NULL -> array(NULL) conversion in LinkHeader::getLink(). Now checking that there was a return value before converting single return value into array.
2010-03-18 17:08:19 -07:00
Evan Prodromou 4761c07ad8 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-03-17 09:38:39 -05:00
Evan Prodromou f21f78364a Change the workflow to get better discovery
Tried to re-structure the workflow of discovery to get more and richer
data and hints.
2010-03-16 11:25:18 -05:00
Brion Vibber dfac4bfd09 Fix feed discovery: html:link@rel can contain multiple values; saw rel="updates alternate" in the wild at http://tantek.com/ which broke old discovery code. 2010-03-15 20:26:42 +00:00
James Walker 7aa49b5e87 use canonical user url in xrd 2010-03-15 15:17:31 -04:00
James Walker 85cf90cf0f Performing & allowing host-meta discovery by http url (in addition to webfinger acct) 2010-03-13 18:35:00 -05:00
James Walker 512e511053 fix invalid separator in magic-public-key XRD and matching parsing. 2010-03-11 14:49:12 -05:00
James Walker 06612e35e4 remove hard-coded me:env check in magicenvelope 2010-03-11 14:49:12 -05:00
James Walker 89582e7226 base64_encode/decode -> base64_url_encode/decode 2010-03-11 14:49:12 -05:00
Brion Vibber 58192ad687 OStatus: fix exception thrown on HTTP error during feed discovery 2010-03-09 10:56:33 -08:00
James Walker ddc4a7d2ff Catch a previously uncaught exception and add some additional debug logs for signature verification 2010-03-04 01:46:34 -05:00
James Walker 1c8399fde1 refactor xrd to allow for ownerxrd - xrd document for the site owner.
introduced $config['webfinger']['owner'] for a custom xrd subject
2010-03-03 23:20:30 -05:00
Brion Vibber 24835c1164 OStatus: catchable exception instead of fatal when parsing valid XML that isn't a valid XRD doc 2010-03-03 18:31:35 -08:00
Brion Vibber 9fadf8da11 Put all required field setup into AtomUserNoticeFeed and AtomGroupNoticeFeed, consolidating some code. (RSS feeds pulling title, logo etc from the Atom data structure so we don't dupe it.)
OStatus now calling the feed classes directly instead of faking a call into the API, should be less flakey.
2010-03-03 16:33:20 -08:00
Brion Vibber ffa1931c9d Avoid warning/notice spew in XRD parser. Not all DOM nodes are elements. 2010-03-03 09:31:14 -08:00
Brion Vibber e30af99873 Merge branch 'work' into testing 2010-03-01 16:57:58 -08:00
Brion Vibber 493b5479c1 OStatus: support @example.com/path/to/profile mentions as well as @profile@example.com (latter requires webfinger, former doesn't)
Plus misc warnings/notices cleanup in the submission path.
2010-03-01 16:43:36 -08:00
Brion Vibber 45e8819c1b Fix a bunch of notice & warning-level messages that were breaking my inter-instance communications 2010-03-01 16:35:36 -08:00
James Walker 1cf08c7ad7 MagicEnvelope::parse shouldn't be called statically 2010-02-26 17:09:50 -05:00
James Walker c82cee1876 removing some extraneous debug logging 2010-02-26 16:26:04 -05:00
James Walker e4c462570f move salmon posting to send application/magic-envelope+xml per http://salmon-protocol.googlecode.com/svn/trunk/draft-panzer-salmon-00.html#RPF 2010-02-26 15:39:58 -05:00
James Walker 223ebc765c move signing to take a local actor profile and use local keys 2010-02-26 14:22:49 -05:00
James Walker bbb0a7d5bc updating to use latest salmon NS definitions 2010-02-26 14:22:49 -05:00
James Walker ab8bb4d79e more cleanup 2010-02-26 04:07:58 -05:00
James Walker d1256b547f bad merge.. cleaning up missing webfinger bits 2010-02-26 03:43:35 -05:00
James Walker 22062b665e remove webfinger.php 2010-02-26 03:28:29 -05:00
James Walker 84d0c865c4 salmon actually fetching remote keypairs 2010-02-26 03:25:51 -05:00
James Walker 7c8031dc4b Merge remote branch 'statusnet/testing' into testing
Conflicts:
	plugins/OStatus/lib/webfinger.php
2010-02-25 23:49:45 -05:00
James Walker 855692141d use a real keypair from discovery 2010-02-25 23:38:25 -05:00
Evan Prodromou a43598c31e cache Web responses in Webfinger library 2010-02-25 21:07:24 -05:00
Evan Prodromou cc0670791e use new hcard method for webfinger 2010-02-25 19:58:18 -05:00
James Walker 08413428a7 typo 2010-02-25 17:52:56 -05:00
James Walker b2dabe6a48 removing the webfinger lib 2010-02-25 17:12:46 -05:00
James Walker 3d0ba3efc8 adding a new, more generic "discovery" class that does LRDD disco
(rather than webfinger specific)
2010-02-25 17:09:54 -05:00
James Walker e62e49ed3b adding some exception handling for magicenv parsing 2010-02-25 17:09:54 -05:00
Brion Vibber b798faf9ea OStatus: abort processing of this PuSH in item if we got an exception, rather than letting it be re-run. 2010-02-25 02:43:20 +00:00
Brion Vibber 93507a1927 OStatus: handle update-profile Salmon pings 2010-02-24 23:28:01 +00:00
Brion Vibber c36bdc1ba5 - break OMB profile update pings to a background queue
- add event hooks to profile update pings
- send Salmon pings with custom update-profile event to OStatus subscribees and groups (subscribers will see it on your next post)
- fix OStatus queues with overlong transport names, should work on DB queues now
- Ostatus_profile::notifyActivity() and ::notifyDeferred() now can take XML, Notice, or Activity for convenience
2010-02-24 20:36:36 +00:00