Alexei Sorokin
26115482ef
[SCHEMA] Improve timestamp storage
...
Avoid the use of deprecated MariaDB "zero dates" globally. If they're present
as attribute defaults somewhere, they will be replaced with NULL implicitly.
The existing "zero dates" in MariaDB storage will be left intact and this
should not present any issues.
The "timestamp" type in table definitions now corresponds to DATETIME in
MariaDB with "DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP", which
should be close enough to the original behaviour for compatibility purposes.
It is now the recommended type for "modified" attributes, because of the
update trigger on MariaDB. But there is no such trigger implemented on
PostgreSQL as of this moment.
2021-07-16 19:44:37 +01:00
Alexei Sorokin
9ac632ca2d
[DATABASE] Start transactions with START TRANSACTION
...
"BEGIN" is non-standard and unnecessary.
2021-07-16 19:44:36 +01:00
tenma
34e1a6ee08
[OStatus] Remove TFN's deprecated Census event and fix small typo in the code
2021-07-16 19:44:36 +01:00
tenma
135c50762a
[OStatus] Add TheFreeNetwork module's support in handling profile insertion
...
Ostatus_profile:
- Update createActivityObjectProfile to trigger TFN's assistance in inserting the profile
2021-07-16 19:44:36 +01:00
Alexei Sorokin
eab5725698
[DATABASE] Disable 'NULL' strings evaluation as SQL NULLs
...
Use $object->sqlValue('NULL') (identical to DataObject_Cast'ing) instead and
fix related issues like (email|sms)settings considering these NULLs as a
false positive for the E-Mail address still being set when it's been removed.
There could also be security implications to the now-disabled approach of
considering 'NULL' strings as SQL NULLs.
2021-07-16 19:44:35 +01:00
tenma
3fb78ab108
[OStatus] Add script for profile deduplication and URI fixing
2021-07-16 19:44:35 +01:00
Alexei Sorokin
0e0c375e65
[DATABASE] Re-introduce the enum type abstraction
2021-07-16 19:44:35 +01:00
Alexei Sorokin
2b0251213f
[DATABASE] Various table schema related fixes
2021-07-16 19:44:35 +01:00
Alexei Sorokin
60ada8ae65
[DATABASE] Use time intervals in a SQL standard compliant way
2021-07-16 19:44:35 +01:00
Alexei Sorokin
6fae840ee7
[DATABASE] Set NULL in DB_DataObject in a more reliable manner
...
Also stop assuming that FeedSub::sub_state (enum) and FeedSub::sub_end
(datetime) can possibly be set to an empty string.
2021-07-16 19:44:35 +01:00
Diogo Cordeiro
20a6f1d4f4
[CORE] Plugin API now extends a new Module API
2021-07-16 19:44:33 +01:00
Mikael Nordfeldth
0ef483fb4a
preamble with newline for AtomPub output etc.
2017-08-05 10:42:38 +02:00
Mikael Nordfeldth
9919ccb8b5
HubSub now remembers recent failures and counts them
2017-07-10 20:28:45 +02:00
Mikael Nordfeldth
74a60ab963
Rework the push mechanism a bit to a less DB dependant queue
2017-07-10 14:43:28 +02:00
Mikael Nordfeldth
3395f6081c
Endless loop nesting on ensureHub failure now fixed
...
Essentially I was missing a negation on a test if we were in rediscovery mode.
2017-06-22 14:37:32 +02:00
Mikael Nordfeldth
fa44e0c06e
set a 'rediscovered' parameter to avoid nesting into an ensureHub loop forever
2017-06-22 00:30:38 +02:00
Mikael Nordfeldth
caa5fb75b3
Introduce neat function getFeedSub() on Ostatus_profile
2017-05-01 21:17:22 +02:00
Mikael Nordfeldth
f4d6710a0f
Change mentions of PuSH to WebSub
...
WebSub is probably finalised before we make a release anyway. Here is
the official spec: https://www.w3.org/TR/websub/
Mostly just comments that have been changed. Some references to PuSH <0.4
are left because they actually refer to PuSH 0.3 and that's not WebSub...
The only actual code change that might affect anything is FeedSub->isPuSH()
but the only official plugin using that call was FeedPoller anyway...
2017-05-01 11:04:27 +02:00
Mikael Nordfeldth
37c97ac8fc
Message to end-user on why FeedSub failed.
2017-05-01 07:40:16 +02:00
Mikael Nordfeldth
16880de8f6
ensureHub on 422 status code (Superfeedr error on non-existing topic)
2017-04-30 10:29:16 +02:00
Mikael Nordfeldth
b20b9727cf
More debugging info for FeedSub PuSH self-healing
2017-04-30 09:46:15 +02:00
Mikael Nordfeldth
e21043e81c
syntax fix (throw _new_ *Exception)
2017-04-30 09:33:06 +02:00
Mikael Nordfeldth
1ecf709918
Make sure we don't receiveFeed() in the case of that exception
2017-04-30 09:31:16 +02:00
Mikael Nordfeldth
5288a6f9e2
Update huburi for FeedSub if PuSH signature is invalid
...
This because some remote server might have used third party PuSH hubs
but switch and we don't know about it.
Possible risks here are of course MITM that could force us to rediscover
PuSH hubs from a feed they control, but that currently feels ... meh.
2017-04-30 09:20:08 +02:00
Mikael Nordfeldth
853b016a42
Separate ensureHub into function in FeedSub
2017-04-27 09:24:12 +02:00
Mikael Nordfeldth
598b51eb7a
Escaping a URI in common_debug call
2017-04-27 09:23:45 +02:00
Mikael Nordfeldth
54971842f2
A bit more instructive debugging
2017-04-22 10:55:24 +02:00
Mikael Nordfeldth
e98bceec10
Import backlog on new subscription.
...
Danger is when importing a new feed that may be maliciously crafted
to contain a zillion entries.
2017-04-21 09:31:27 +02:00
Mikael Nordfeldth
f51cb6fca9
Split OStatusPlugin FeedSub receive into two parts
...
FeedSub::receive now only handles the PuSH verification
FeedSub::receiveFeed is protected and only parses+imports feed XML
2017-04-21 08:13:39 +02:00
Mikael Nordfeldth
35b0a9e3ae
Handle normalized acct: URIs in ostatussub
...
Mastodon sent the proper acct: URI and not just 'user@domain' when
using the remote subscribe functionality.
2017-04-16 11:01:16 +02:00
Mikael Nordfeldth
6bfc97c95d
Less spammy logs
2016-10-22 23:24:13 +02:00
Mikael Nordfeldth
6ebc5f0bff
some debugging calls and make sure $hints['feedurl'] gets set with $feeduri in case that variable is used.
2016-10-22 23:08:44 +02:00
Mikael Nordfeldth
a833eaa651
Make all hash algorithms available (but whitelist by default)
...
sha1 is whitelisted only because StatusNet requires it.
2016-06-28 11:54:39 +02:00
Mikael Nordfeldth
ad7ebd1a8c
Even more phpseclib update related stuff.
2016-06-25 20:34:28 +02:00
Mikael Nordfeldth
d0c26fb1a4
URIFIX in Ostatus_profile, handle missing feedsub
2016-06-25 11:59:31 +02:00
Mikael Nordfeldth
3a8ce99a9d
Magicsig call for phpseclib\Math\BigInteger fixed
2016-06-17 23:47:00 +02:00
Mikael Nordfeldth
1839082f95
OStatus Magicsig adaptations to new phpseclib
...
Some constants have changed and the way to call RSA->sign(...) too.
2016-06-17 23:43:24 +02:00
Mikael Nordfeldth
a1d064129a
Handle namespaces for new phpseclib
2016-06-17 23:21:34 +02:00
Mikael Nordfeldth
d4041a4a1f
a little bit more explicit logging
2016-03-28 16:41:29 +02:00
Mikael Nordfeldth
16517f019a
Embarrasing copy-paste gone too fast
2016-03-28 16:25:29 +02:00
Mikael Nordfeldth
7bef2ad4cc
Update Profile Data script fixes, might work for groups too now
2016-03-28 16:19:47 +02:00
Mikael Nordfeldth
7be4641040
Actually return an Ostatus_profile
2016-03-27 14:54:14 +02:00
Mikael Nordfeldth
0767bf487e
Use the new onUpdateKeys in dataobject for tasks on-update of keys
...
sets the hashkey column of the row to sha1(topic + '|' + callback)
2016-03-23 15:22:34 +01:00
Mikael Nordfeldth
12f1707a74
Ostatus_source filled no purpose whatsoever
2016-02-26 22:37:26 +01:00
Mikael Nordfeldth
422d475e44
Differentiate two similar log warning messages
2016-02-17 21:57:52 +01:00
Mikael Nordfeldth
a5c1b063fd
isPerson did not exist for Ostatus_profile
2016-01-29 16:15:06 +01:00
Mikael Nordfeldth
689e277c62
Allow @localuser@mysite.example to be looked up as a mention
2016-01-29 16:06:16 +01:00
Mikael Nordfeldth
efe23ed404
updateWithKeys now understands multi-column keys
...
and automatically identifies _which_ columns are the right ones,
so for example 'uri' primary keys don't need to be explicitly set
2016-01-28 16:42:59 +01:00
Mikael Nordfeldth
fa8e02b832
Handle exceptions when salmon slapping
...
Make it so notifyDeferred actually _always_ throws exceptions and handle
them in the places it is called.
2016-01-20 14:56:24 +01:00
Mikael Nordfeldth
c559b8ce2a
bulkDistribute won't add empty lists to database
2016-01-16 17:34:27 +01:00