Mikael Nordfeldth
c559b8ce2a
bulkDistribute won't add empty lists to database
2016-01-16 17:34:27 +01:00
Mikael Nordfeldth
2b67b53112
In very specific circumstances we can bulkDistribute 0 notices
...
Seems to be what caused an infinite loop on quitter.es, or I guess so anyway.
2016-01-16 17:18:14 +01:00
Mikael Nordfeldth
59e75ef966
Incorrect use of getByHashKey in HubSub
2016-01-14 13:15:31 +01:00
Mikael Nordfeldth
bacd49a6a8
Don't try to replace http with https if https already exists
2016-01-14 13:06:37 +01:00
Mikael Nordfeldth
0482b7de8e
Debugging by indexing callback column in HubSub
2016-01-13 22:57:42 +01:00
Mikael Nordfeldth
8ab98b72ac
getLeaseRemaining for FeedSub too
2016-01-13 20:01:00 +01:00
Mikael Nordfeldth
377947c57f
s/getLease/getLeaseTime/ just to be a bit more clear
2016-01-13 19:55:17 +01:00
Mikael Nordfeldth
1d26fedf12
Don't store lease seconds, just sub start and end
...
The seconds can always be calculated from the dates!
2016-01-13 19:45:20 +01:00
Mikael Nordfeldth
494746e665
Minor PuSH comment and debug stuff
2016-01-13 19:25:39 +01:00
Mikael Nordfeldth
a5fd4fde25
Request a month long sub lease by default
2016-01-13 19:24:07 +01:00
Mikael Nordfeldth
b38a789005
HubSub didn't save sub start and end datetimes
2016-01-13 19:23:34 +01:00
Mikael Nordfeldth
e75472f460
Use the upstream function to get effectiveUrl
2016-01-13 14:00:05 +01:00
Mikael Nordfeldth
f4feef477b
Don't follow redirects on PuSH POST.
2016-01-12 14:32:28 +01:00
Mikael Nordfeldth
c826fe0af4
$target was klantigtly copied from another debug message
2016-01-11 20:10:38 +01:00
Mikael Nordfeldth
bd6efa0e45
Update PuSH callback URL if remote side switched to HTTPS
...
See the comment in the source on why we're not following Location headers...
2016-01-11 19:55:02 +01:00
Mikael Nordfeldth
4e0ed61f7c
OStatus queue handler uses Notice->getAttentionProfiles()
...
and lots more debugging for LOG_DEBUG
2016-01-08 01:31:47 +01:00
Mikael Nordfeldth
3471213d1c
processFeed would abort on certain errors where findLocalObject failed
2016-01-05 15:00:07 +01:00
Mikael Nordfeldth
f6df44ea85
Handle feed imports with exceptions better
2015-12-31 15:05:35 +01:00
mmn
0baa9debbc
Merge branch 'direct-feed-sub' into 'master'
...
If we are given a direct URL to a feed, use that
See merge request !54
2015-12-14 21:09:56 +00:00
Mikael Nordfeldth
7ccd36849e
Merge branch 'master' of git.gnu.io:gnu/gnu-social into nightly
...
Conflicts:
plugins/OStatus/OStatusPlugin.php
master vs. nightly thing
2015-11-05 16:16:02 +01:00
mmn
f345f1d605
Merge branch 'renew-pshb' into 'master'
...
Actually use the renew code
We have the code to check once a day and renew, but currently it's
just in a script directory. This change adds an event listener
hook to check and renew subscriptions daily.
Closes #83
See merge request !38
2015-11-05 15:13:16 +00:00
Mikael Nordfeldth
c950f18546
Merge branch 'master' into nightly
...
Some merge requests that were aimed at master
2015-11-05 16:07:05 +01:00
mmn
45b24286e5
Merge branch 'status-204' into 'master'
...
Accept 204 for PuSH subscription
Some hubs (notably, pushpress, used by wordpress.com) return 204 to mean success.
This used to be allowed by the spec, so no harm in accepting it.
See merge request !48
2015-11-05 15:03:42 +00:00
Stephen Paul Weber
e58c529c53
If we are given a direct URL to a feed, use that
2015-10-28 00:54:20 +00:00
Stephen Paul Weber
e1de6e0aa9
Support more author types on RSS
...
Specifically, any ActivityStreams or ATOM namespaces being used on
an rss channel.
2015-10-27 18:43:57 +00:00
Stephen Paul Weber
4c2bc465a0
Accept 204 for PuSH subscription
...
Some hubs (notably, pushpress, used by wordpress.com) return 204 to mean success.
This used to be allowed by the spec, so no harm in accepting it.
2015-10-27 03:16:39 +00:00
Stephen Paul Weber
df21c3c95d
Renew 1 day *before* the end, not 1 day *after*
2015-10-21 01:49:26 +00:00
Mikael Nordfeldth
6afa091dca
Change some Salmon events and similar
...
Use Profile instead of User and (if we know it) send along the target
profile, so a Diaspora plugin can encrypt to the receiver.
2015-10-04 17:26:23 +02:00
Mikael Nordfeldth
f4ed171397
Make Magicsig capable of loading public PKCS1 keys
2015-10-04 17:22:19 +02:00
Mikael Nordfeldth
a09cf51b99
Move Ostatus_profile->processPost function into plugin
2015-09-29 15:19:13 +02:00
Mikael Nordfeldth
c5a5eaf288
Do we update feeduri and salmonuri for Ostatus_profile now?
...
When changing from HTTP to HTTPS, following up on commit
59763ceecb
where http to https Ostatus_profile URI changing was first introduced.
2015-07-11 19:46:01 +02:00
Mikael Nordfeldth
268b901048
Maintainer change for Ostatus_profile
2015-06-06 15:58:08 +02:00
Mikael Nordfeldth
57943cad99
Magicsig gets toFingerprint output
...
We give this as a lowercase, sha256 hexadecimal digest of the string:
TYPE + "." + BASE64(modulus as bytes) + "." + BASE64(exponent as bytes)
Where TYPE in all our cases up until now at least are "RSA"
2015-06-06 14:35:48 +02:00
Mikael Nordfeldth
c5f79fd2f3
Magicsig gets toFingerprint function.
2015-06-06 14:33:43 +02:00
Mikael Nordfeldth
e212f2ae77
Moved Diaspora specific metadata to own plugin
2015-06-06 13:49:27 +02:00
Mikael Nordfeldth
fe6498e7c8
Send objects instead of integers to File_to_post::processNew
2015-06-04 17:36:11 +02:00
Mikael Nordfeldth
4e9e3cf0d5
Moving Ostatus_profile processShare to SharePlugin
2015-03-12 15:47:21 +01:00
Mikael Nordfeldth
2a32af084f
ImageFile $id argument is only for File objects
...
Remember to eliminate the Avatar/group logo call to ImageFile->resize!
2015-03-11 00:20:48 +01:00
Mikael Nordfeldth
55894f02c7
TagProfileAction and OStatusPlugin now use less redundant code
2015-03-08 20:14:46 +01:00
Mikael Nordfeldth
c1e3cfe7a7
ensureFeedURL will return Ostatus_profile early if already stored
2015-02-20 14:47:12 +01:00
Mikael Nordfeldth
0590f2975e
Merge branch 'utf8mb4' into nightly
...
Conflicts because of urlhash fixes:
classes/File.php
classes/File_redirection.php
classes/File_thumbnail.php
2015-02-19 20:50:40 +01:00
Mikael Nordfeldth
45dc76de26
File and File_redirection adhoc storage methods updated for urlhash
2015-02-19 19:05:24 +01:00
Mikael Nordfeldth
0deaf6c50c
use common_purify to purify HTML, one function to rule them all
2015-02-18 00:14:28 +01:00
Mikael Nordfeldth
2f86cd8602
utf8mb4 conversion on database with index adjusts
2015-02-12 18:18:55 +01:00
Mikael Nordfeldth
39dce9e348
Merge commit 'refs/merge-requests/36' of https://gitorious.org/social/mainline into merge-requests/36
2015-02-08 23:11:47 +01:00
Chimo
11053431d6
Populate 'created' property on ostatus_source
...
The 'created' column in ostatus_source SQL table has NOT NULL restriction.
INSERTs fail when running MySQL/MariaDB in strict mode if this is not
populated.
2015-02-08 13:41:29 -05:00
Mikael Nordfeldth
4b77f88a17
Merge commit 'refs/merge-requests/34' of https://gitorious.org/social/mainline into merge-requests/34
2015-02-08 11:21:36 +01:00
Chimo
56c0cd621a
Remove NOT NULL restriction on FeedSub last_update
...
Fixes an issue where INSERTs fail if MySQL/MariaDB runs in "strict
mode".
2015-02-07 11:08:03 -05:00
Chimo
937adf05c9
Remove NOT NULL restriction on HubSub 'lease'
...
This fixes an issue where INSERTs in HubSub fail if MySQL/MariaDB is
running in "strict mode" since the default lease time in
PushHubAction::subunsub is null.
Permanent subscriptions have been removed in PuSH v0.4, but they are
being kept here for backward-compatibility with previous GS/SN versions.
2015-02-07 10:46:13 -05:00
Mikael Nordfeldth
acec8b8cf2
Default value false for $force on Ostatus updateAvatar
2015-01-27 14:14:24 +01:00
Mikael Nordfeldth
cc996f58db
Test in Ostatus_profile if avatar is an image before writing to filesystem
...
This clears one FIXME...
We also fix HTTPClient::quickGet() (and a related call in OStatus testfeed.php).
2015-01-27 14:00:39 +01:00
Mikael Nordfeldth
cdd3c52633
Handle groups better in Ostatus_profile->updateAvatar
2015-01-27 13:38:11 +01:00
Mikael Nordfeldth
cf46de6ca7
Ostatus_profile smarter test if avatar exists
...
If you accidentally deleted a remote user's avatar from filesystem,
it'd take until its URL was updated that you got it back. Now it
happens if the local avatar file doesn't exist.
2015-01-26 17:43:09 +01:00
Mikael Nordfeldth
697a00d8e1
Force updateAvatar if desired
2015-01-26 17:26:51 +01:00
Mikael Nordfeldth
cce808b27c
const'ifying bits and sigalg
...
Also we should move away from 1024 bit keys as soon as we can.
2015-01-24 12:18:55 +01:00
Mikael Nordfeldth
d492b74e42
holy crap, file_put_contents got args in wrong order
2015-01-18 02:57:08 +01:00
Mikael Nordfeldth
5d9e9aaaf5
Keep the old error message on updateAvatar
2015-01-18 02:48:39 +01:00
Mikael Nordfeldth
010824c4b5
Use HTTPClient to download avatar
...
also make updateAvatar public so we can call it from update_ostatus_profile.php
2015-01-18 02:44:55 +01:00
Mikael Nordfeldth
ba9abb3c57
Add nohub config setting to allowed non-PuSH feeds
2015-01-16 01:10:55 +01:00
Mikael Nordfeldth
8594a2ba16
FeedPoller plugin, for hubless feeds
2015-01-15 21:13:13 +01:00
Mikael Nordfeldth
db7154c63b
Abort on failure instead of return early success
2015-01-13 13:18:57 +01:00
Mikael Nordfeldth
d8f4de450c
Support for updated aliases
...
will verify unknown aliases against old ones if the new identifies as a
previously recognized URI.
Steps:
1. Check the newly received URI. Who does it say it is?
2. Compare these alleged identities to our local database.
3. If we found any locally stored identities, ask it about its aliases.
4. Do any of the aliases from our known identity match the recently introduced one?
Currently we do _not_ update the ostatus_profile table with the new URI.
2015-01-10 02:07:39 +01:00
Mikael Nordfeldth
812d1eead9
Stronger typing in Ostatus_profile
2014-12-08 19:52:00 +01:00
Mikael Nordfeldth
72d1c3c73e
fetch conversation URI in processPost, not processShare
2014-11-27 16:51:21 +01:00
Mikael Nordfeldth
bdb4a41696
Use remote conversation URI info to stitch convos together
...
If we know the URI sent from the remote party, and we don't know the
notice it is replying to, we might still be able to put it in the same
conversation thread!
2014-11-27 14:06:10 +01:00
Mikael Nordfeldth
3bf1478f97
Bad parameter count for checkAuthorship
...
At the same time we change this to call ActivityUtils::checkAuthorship
instead to let the retrieval/verification go through event handling.
rozzin (Joshua Judson Rosen) found this error. Thanks.
2014-11-24 12:49:20 +01:00
Joshua Judson Rosen
4b875e0fd0
Fix OStatus groups by making Ostatus_profile::localProfile() work for groups
...
We need to look up a feed profile for HandleFeedEntryWithProfile events,
regardless of whether they're an OStatus user, group, or something else;
this is the least hairy way of doing that--the alternative being
to keep spreading the same logic all over the calling code.
Theoretically, this change might allow OStatusGroups to be recorded
as the authors of activities if they pass through any authorless
activities; but that's why we have checkAuthorship().
2014-11-24 12:30:37 +01:00
Joshua Judson Rosen
d2e1a8c706
Ostatus_profile::checkAuthorship(): throw ServerException when bogus non-authorship is detected
...
Similarly to what ActivityUtils::checkAuthorship does; try to ensure
that activities from ambiguous OStatus feeds (groups and peopletags)
that require explicit authorship don't get in without explicit authors.
2014-11-24 12:29:41 +01:00
Mikael Nordfeldth
496acdc7d9
normalizing acct: URI just to be sure
2014-11-16 18:29:05 +01:00
Mikael Nordfeldth
29ac42addd
Diaspora public key published in WebFinger
2014-11-06 21:05:31 +01:00
Mikael Nordfeldth
2d0c7c2c99
ensureWebfinger was never complete in StatusNet. Worked a bit on it.
2014-07-27 23:08:02 +02:00
Mikael Nordfeldth
ae62b91940
Unifying HTML stripping functions to common_strip_html
2014-07-14 13:52:23 +02:00
Mikael Nordfeldth
b63f6e949c
Converted all ActivityObject::fromProfile to $profile->asActivityObject
2014-07-03 10:51:36 +02:00
Mikael Nordfeldth
9f4bcbad8a
checkAuthorship events, Ostatus_profile rewrite to handle it
...
Lost dependency of OStatus plugin for lib/microappplugin.php, whoo!
also noting which plugins should be upgraded to new saveActivity support.
Favorite plugin won't work with the new system just yet, it doesn't have
the necessary functions to extract activity objects, but that's coming
in the next (few) commits.
2014-07-02 11:38:45 +02:00
Mikael Nordfeldth
acb07ef52f
Added saveActivity method to Notice class
...
saveActivity will accept an Activity which gets parsed and saved through
plugins. So when an ActivityHandlerPlugin (such as Favorite will be soon)
gets a feed to save, this will be the function called instead of saveNew.
2014-07-02 11:38:37 +02:00
Mikael Nordfeldth
d0da552722
SalmonAction and extensions simplified
2014-06-28 20:33:09 +02:00
Mikael Nordfeldth
d350a20e1f
Less verbose debugging (also don't log private keys)
...
Magicsig private keys were logged. That's probably not a good thing.
MagicEnvelope full XML entries no longer spam the log either.
2014-06-03 12:53:04 +02:00
Mikael Nordfeldth
aaef11077d
Default of Magicsig keypair toString should be secure
...
Prevent crappy coders from leaking private keys.
2014-06-03 12:51:52 +02:00
Mikael Nordfeldth
0bc122ff58
Magicsig::generate is now static
...
This also fixes a problem with "initial salmon slap", which was a
problem for newly registered accounts which would have their first
salmon slap fail to distribute since there was a problem with Magicsig
keys. Apparently we have to re-read them with importKeys so the
Crypt_RSA objects publicKey and privateKey match later instances of them.
I think it may have been that generate() doesn't specify a signatureMode,
but I leave experimentation of that to the future.
2014-06-02 21:50:40 +02:00
Mikael Nordfeldth
537dff7987
Salmon posts can only be made for local users. More typing!
...
Since we of course don't have the remote party's private keys anyway.
I made some small fixes in Magicsig class too, removing unnecessary code.
2014-06-02 19:46:42 +02:00
Mikael Nordfeldth
2cd25039af
Quick-return is more comprehensible than long if statements
2014-06-02 19:37:06 +02:00
Mikael Nordfeldth
56194b3cd9
Magicsig importKeys finetuning and getHash() use
2014-06-02 16:11:15 +02:00
Mikael Nordfeldth
00b2bddc7c
Clarify it's not base64, but base64url, encoding in Magicsig
2014-06-02 14:51:15 +02:00
Mikael Nordfeldth
c1dc13bef0
Magicsig warning message would fail to get bits
2014-06-02 13:35:29 +02:00
Mikael Nordfeldth
3ef8322b03
There could be unresolvable FeedSub entries
2014-06-01 16:07:08 +02:00
Mikael Nordfeldth
75711ae06a
Magicsig is made a bit less cumbersome
2014-05-31 13:41:49 +02:00
Mikael Nordfeldth
41773d3f67
MagicEnvelope object orientation (no passing arrays)
...
MagicEnvelope now uses object properties instead of passing arrays
around everywhere.
2014-05-27 12:01:12 +02:00
Mikael Nordfeldth
3c322abafc
There's no guarantee we have an Ostatus_profile for Feedsub
2014-05-19 18:34:44 +02:00
Mikael Nordfeldth
228dc1f851
Ostatus_profile throws NoProfileException from localProfile()
...
Some implementations of the exception handling is included here,
the actions come in a later commit.
2014-05-19 17:59:36 +02:00
Mikael Nordfeldth
d2c749c7de
NoUriException added and implemented in FeedSub class
...
This is a specific exception for objects which require URI but lack it,
first implemented in FeedSub to allow for identification of bad entries.
2014-05-19 17:30:04 +02:00
Mikael Nordfeldth
c01138c16b
Forgot 'new' before the Exception class
2014-05-07 00:06:04 +02:00
Mikael Nordfeldth
c279a33feb
More Exceptions for FeedSub doSubscribe and related functions
...
Now also garbageCollect will now throw exceptions of failures of all kinds
and only reply true/false on entirely successful runs of sub/unsub.
2014-05-06 15:40:57 +02:00
Mikael Nordfeldth
bbada781b7
Stronger typing and function access control in OStatus
2014-05-05 19:06:22 +02:00
Mikael Nordfeldth
2ea5f00666
Success debugging was too much noise
2014-05-05 18:59:44 +02:00
Mikael Nordfeldth
960baae1d1
More debugging in Magicsig class verify method
2014-05-05 17:48:21 +02:00
Mikael Nordfeldth
5fd6053220
Code cleanup and enabling User object's etc. getUri()
2014-04-28 14:08:42 +02:00
Mikael Nordfeldth
8d655bc706
Add support for 'nohub' sub_state in FeedSub
...
(requires upgrade.php run)
2014-03-09 23:03:54 +01:00
Mikael Nordfeldth
779ce40ac3
Add functions to avoid direct variable access
2014-03-09 13:31:05 +01:00
Mikael Nordfeldth
a1b0d5fa7e
FeedSub gets a plugin event handler for sub/unsub
2014-03-09 13:27:28 +01:00
Mikael Nordfeldth
dc0ae2785d
SubMirror now works again against old PuSH
...
There was a problem with (specifically at least) PuSHpress for
Wordpress. A previous attempt to perform a DB transaction backfired
because the remote side could connect to the callback before our
commit had gone through.
I take full responsibility for introducing the bug in the first place :)
2014-03-03 00:01:13 +01:00