GNU social

Check-in [4399b37230]
Login

Check-in [4399b37230]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Merge branch 'master' of DelilahHoare/gnu-social into master
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | origin/1.2.x | origin/1.1.x | origin/1.5 | master | before-gnusocialjp
Files: files | file ages | folders
SHA3-256: 4399b3723087446b56f9feb44d8ce543b726ba1bdc7d1c824c8301e44367975d
User & Date: gogitservice@gmail.com 2022-08-15 14:01:45
Context
2022-10-16
09:00
Docker support for local development check-in: 6ac7658490 user: develop@senooken.jp tags: trunk, origin/1.2.x, origin/1.1.x, origin/1.5, origin/docker-support
2022-10-15
15:52
Fix conflicting with standard PEAR When I install GNU social, following #254 error was occured. ``` Install GNU social Page notice Initializing... Fatal error: Cannot redeclare _PEAR_call_destructors() (previously declared in /home/fuccom/public_html/social/extlib/PEAR.php:774) in /opt/cpanel/ea-php73/root/usr/share/pear/PEAR.php on line 834 ``` It seems GNU social have many standard PEAR related trouble (lib/util/framework.php). So I prior extlib/PEAR.php to standard PEAR. Leaf check-in: 1e9129cd27 user: develop@senooken.jp tags: trunk
2022-08-15
14:01
Merge branch 'master' of DelilahHoare/gnu-social into master Leaf check-in: 4399b37230 user: gogitservice@gmail.com tags: trunk, origin/1.2.x, origin/1.1.x, origin/1.5, master, before-gnusocialjp
2022-05-01
04:28
Fix "Using $this when not in object context" check-in: 331a9a32ee user: delilah@dhoare.me tags: trunk, origin/1.2.x, origin/1.1.x, origin/1.5, master
2021-12-07
15:23
[ActivityPub] Set Notice scope when storing activities Leaf check-in: 5b3c7f5c23 user: mail@diogo.site tags: trunk, origin/1.2.x, origin/1.1.x, origin/1.5, origin/nightly
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to plugins/LRDD/LRDDPlugin.php.

78
79
80
81
82
83
84
85
86
87
88
89
90
91
    {
        $disco = new Discovery();
        $xrd = $disco->lookup($uri);

        $all_ids = array_merge([$xrd->subject], $xrd->aliases);

        if (!in_array($uri, $all_ids)) {
            $this->log(LOG_INFO, 'The original URI was not listed itself when doing discovery on it!');
            return null;
        }

        return $all_ids;
    }
}







|






78
79
80
81
82
83
84
85
86
87
88
89
90
91
    {
        $disco = new Discovery();
        $xrd = $disco->lookup($uri);

        $all_ids = array_merge([$xrd->subject], $xrd->aliases);

        if (!in_array($uri, $all_ids)) {
            common_log(LOG_INFO, 'The original URI was not listed itself when doing discovery on it!');
            return null;
        }

        return $all_ids;
    }
}

Changes to plugins/LRDD/lib/lrddmethod/webfinger.php.

27
28
29
30
31
32
33





34
35
36
37
38
39



40
41


42
43
44
45
46
47
48
49
{
    /**
     * Simply returns the WebFinger URL over HTTPS at the uri's domain:
     * https://{domain}/.well-known/webfinger?resource={uri}
     */
    public function discover($uri)
    {





        $parts = explode('@', parse_url($uri, PHP_URL_PATH), 2);

        if (!Discovery::isAcct($uri) || count($parts) != 2) {
            throw new Exception('Bad resource URI: ' . $uri);
        }
        [, $domain] = $parts;



        if (!filter_var($domain, FILTER_VALIDATE_IP)
            && !filter_var(gethostbyname($domain), FILTER_VALIDATE_IP)) {


            throw new Exception('Bad resource host.');
        }

        $link = new XML_XRD_Element_Link(
            Discovery::LRDD_REL,
            'https://' . $domain . '/.well-known/webfinger?resource={uri}',
            Discovery::JRD_MIMETYPE,
            true // isTemplate







>
>
>
>
>
|

|
|
|
|
>
>
>
|
<
>
>
|







27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

49
50
51
52
53
54
55
56
57
58
{
    /**
     * Simply returns the WebFinger URL over HTTPS at the uri's domain:
     * https://{domain}/.well-known/webfinger?resource={uri}
     */
    public function discover($uri)
    {
        $scheme = mb_strtolower(parse_url($uri, PHP_URL_SCHEME));
        switch ($scheme) {
        case 'acct':
            // We can't use parse_url data for this, since the 'host'
            // entry is only set if the scheme has '://' after it.
            $parts = explode('@', parse_url($uri, PHP_URL_PATH), 2);

            if (!Discovery::isAcct($uri) || count($parts) != 2) {
                throw new Exception('Bad resource URI: ' . $uri);
            }
            [, $domain] = $parts;
            break;
        case 'http':
        case 'https':
            $domain = mb_strtolower(parse_url($uri, PHP_URL_HOST));

            break;
        default:
            throw new Exception('Unable to discover resource descriptor endpoint.');
        }

        $link = new XML_XRD_Element_Link(
            Discovery::LRDD_REL,
            'https://' . $domain . '/.well-known/webfinger?resource={uri}',
            Discovery::JRD_MIMETYPE,
            true // isTemplate