Thread: Stale external URL in doc?

Stale external URL in doc?

From
Kyotaro Horiguchi
Date:
Hello.

I see the following description in the doc.

https://www.postgresql.org/docs/13/ssl-tcp.html

Intermediate certificates that chain up to existing root certificates
can also appear in the ssl_ca_file file if you wish to avoid storing
them on clients (assuming the root and intermediate certificates were
created with v3_ca extensions). Certificate Revocation List (CRL)
entries are also checked if the parameter ssl_crl_file is set. (See
http://h41379.www4.hpe.com/doc/83final/ba554_90007/ch04s02.html for
diagrams showing SSL certificate usage.)

I follwed the URL above and saw the "Support and other resources" page
of the document "OpeNVMS Systems Documemtation Index page".

FWIW the folloing URL shows "HP Open Source Security for OpenVMS
Volume 2: HP SSL for Open VMS", which seems to be the originally
intended document..

https://support.hpe.com/hpesc/public/docDisplay?docId=emr_na-c04622320

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center





Re: Stale external URL in doc?

From
Daniel Gustafsson
Date:
> On 9 Jul 2020, at 09:12, Kyotaro Horiguchi <horikyota.ntt@gmail.com> wrote:
> 
> Hello.
> 
> I see the following description in the doc.
> 
> https://www.postgresql.org/docs/13/ssl-tcp.html
> 
> Intermediate certificates that chain up to existing root certificates
> can also appear in the ssl_ca_file file if you wish to avoid storing
> them on clients (assuming the root and intermediate certificates were
> created with v3_ca extensions). Certificate Revocation List (CRL)
> entries are also checked if the parameter ssl_crl_file is set. (See
> http://h41379.www4.hpe.com/doc/83final/ba554_90007/ch04s02.html for
> diagrams showing SSL certificate usage.)
> 
> I follwed the URL above and saw the "Support and other resources" page
> of the document "OpeNVMS Systems Documemtation Index page".

Right, it's redirecting there now. The same goes for a link to hpe.com on
https://www.postgresql.org/docs/13/libpq-ssl.html which too is redirected
to a larger documentation set.

> FWIW the folloing URL shows "HP Open Source Security for OpenVMS
> Volume 2: HP SSL for Open VMS", which seems to be the originally
> intended document..
> 
> https://support.hpe.com/hpesc/public/docDisplay?docId=emr_na-c04622320

The intended document is a page which is more concise and to the point, the
full OpenVMS SSL documentation set doesn't really fit the purpose for this
link.

As a short term fix we should either a) remove these links completely or b)
link to archived copies of the pages on archive.org; or c) find a more
appropriate pages to link to.  A quick search didn't turn up anything I would
prefer for (c), and I'm not sure what he legality of linking to a cached copy
is, so I would advocate for (a).

Longer term we should try to incorporate (some of) these diagrams and content
into our own documentation now that we have proper capability for inline
images.

cheers ./daniel



Re: Stale external URL in doc?

From
Tom Lane
Date:
Daniel Gustafsson <daniel@yesql.se> writes:
> As a short term fix we should either a) remove these links completely or b)
> link to archived copies of the pages on archive.org; or c) find a more
> appropriate pages to link to.  A quick search didn't turn up anything I would
> prefer for (c), and I'm not sure what he legality of linking to a cached copy
> is, so I would advocate for (a).

+1.  It should have been obvious just from the spelling of this URL that
it wasn't intended to be a long term stable location.  Digging in the
git history shows we've already updated it twice, and I wonder how many
changes there were that we didn't notice.

Just reverting bbd3bdba3 seems appropriate to me.

            regards, tom lane



Re: Stale external URL in doc?

From
Magnus Hagander
Date:


On Thu, Jul 9, 2020 at 3:52 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Daniel Gustafsson <daniel@yesql.se> writes:
> As a short term fix we should either a) remove these links completely or b)
> link to archived copies of the pages on archive.org; or c) find a more
> appropriate pages to link to.  A quick search didn't turn up anything I would
> prefer for (c), and I'm not sure what he legality of linking to a cached copy
> is, so I would advocate for (a).

+1.  It should have been obvious just from the spelling of this URL that
it wasn't intended to be a long term stable location.  Digging in the
git history shows we've already updated it twice, and I wonder how many
changes there were that we didn't notice.

Just reverting bbd3bdba3 seems appropriate to me.

+1.

If we want to keep a set of such links, probably the wiki is a better place as more people can easily fix them there.
 
--

Re: Stale external URL in doc?

From
Alvaro Herrera
Date:
On 2020-Jul-09, Magnus Hagander wrote:

> If we want to keep a set of such links, probably the wiki is a better place
> as more people can easily fix them there.

Or, since our docs have diagram capabilities now, we can make our own
diagram.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Re: Stale external URL in doc?

From
Magnus Hagander
Date:


On Thu, Jul 9, 2020 at 6:36 PM Alvaro Herrera <alvherre@2ndquadrant.com> wrote:
On 2020-Jul-09, Magnus Hagander wrote:

> If we want to keep a set of such links, probably the wiki is a better place
> as more people can easily fix them there.

Or, since our docs have diagram capabilities now, we can make our own
diagram.

Absolutely. I meant more as a general thing if we want to refer to websites outside of our control for other things.
 
--

Re: Stale external URL in doc?

From
Daniel Gustafsson
Date:
> On 9 Jul 2020, at 17:54, Magnus Hagander <magnus@hagander.net> wrote:
>
> On Thu, Jul 9, 2020 at 3:52 PM Tom Lane <tgl@sss.pgh.pa.us <mailto:tgl@sss.pgh.pa.us>> wrote:
> Daniel Gustafsson <daniel@yesql.se <mailto:daniel@yesql.se>> writes:
> > As a short term fix we should either a) remove these links completely or b)
> > link to archived copies of the pages on archive.org <http://archive.org/>; or c) find a more
> > appropriate pages to link to.  A quick search didn't turn up anything I would
> > prefer for (c), and I'm not sure what he legality of linking to a cached copy
> > is, so I would advocate for (a).
>
> +1.  It should have been obvious just from the spelling of this URL that
> it wasn't intended to be a long term stable location.  Digging in the
> git history shows we've already updated it twice, and I wonder how many
> changes there were that we didn't notice.
>
> Just reverting bbd3bdba3 seems appropriate to me.
>
> +1.
>
> If we want to keep a set of such links, probably the wiki is a better place as more people can easily fix them there.

Taking a look at other links to external resources, most links seemed to
resolve still (but I didn't test all of them).  I did find another one on the
GEQO page which is now dead without the content available elsewhere, as well as
a larger problem with the AIX references.

We have a list of links to the AIX 6.1 documentation which no longer works as
IBM only provides docset PDFs for 6.1.  Looking that 7.x documentation they
have reorganized enough to make the older links not directly translatable.  I
do wonder if updating this list is worth the effort, or if it will only lead to
us revisiting this once IBM does another site change.

The attached suggestion removes the reported SSL links, the FAQ linked to on
GEQO and all the IBM links, fully realizing that it might be controversial to
some extent.

cheers ./daniel


Attachment

Re: Stale external URL in doc?

From
Tom Lane
Date:
Daniel Gustafsson <daniel@yesql.se> writes:
> Taking a look at other links to external resources, most links seemed to
> resolve still (but I didn't test all of them).  I did find another one on the
> GEQO page which is now dead without the content available elsewhere, as well as
> a larger problem with the AIX references.

> We have a list of links to the AIX 6.1 documentation which no longer works as
> IBM only provides docset PDFs for 6.1.  Looking that 7.x documentation they
> have reorganized enough to make the older links not directly translatable.  I
> do wonder if updating this list is worth the effort, or if it will only lead to
> us revisiting this once IBM does another site change.

> The attached suggestion removes the reported SSL links, the FAQ linked to on
> GEQO and all the IBM links, fully realizing that it might be controversial to
> some extent.

+1 for just deleting all of it.  I don't think we need to be telling users
of obsolete AIX versions how to run their systems.  The comp.ai.genetic
FAQ link might be more of a loss, but on the other hand I'd be willing to
bet it wasn't very up to date anymore.  Netnews has been moribund for a
long time :-(

            regards, tom lane



Re: Stale external URL in doc?

From
Alvaro Herrera
Date:
On 2020-Jul-10, Daniel Gustafsson wrote:

> Taking a look at other links to external resources, most links seemed to
> resolve still (but I didn't test all of them).  I did find another one on the
> GEQO page which is now dead without the content available elsewhere, as well as
> a larger problem with the AIX references.

Um, the comp.ai.genetic FAQ can still be found, eg. 
http://www.faqs.org/faqs/ai-faq/genetic/part1/



-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Re: Stale external URL in doc?

From
Tom Lane
Date:
Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> On 2020-Jul-10, Daniel Gustafsson wrote:
>> Taking a look at other links to external resources, most links seemed to
>> resolve still (but I didn't test all of them).  I did find another one on the
>> GEQO page which is now dead without the content available elsewhere, as well as
>> a larger problem with the AIX references.

> Um, the comp.ai.genetic FAQ can still be found, eg.
> http://www.faqs.org/faqs/ai-faq/genetic/part1/

So it is, although that also shows it hasn't been updated since 2001.

OTOH, that vintage of info is probably just fine for understanding GEQO.

I'll go update that pointer and remove the other links per Daniel's
patch.

            regards, tom lane



Re: Stale external URL in doc?

From
Daniel Gustafsson
Date:
> On 10 Jul 2020, at 18:28, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Alvaro Herrera <alvherre@2ndquadrant.com> writes:

>> Um, the comp.ai.genetic FAQ can still be found, eg. 
>> http://www.faqs.org/faqs/ai-faq/genetic/part1/
> 
> So it is, although that also shows it hasn't been updated since 2001.

Ah, I missed the alternative source.

> I'll go update that pointer and remove the other links per Daniel's
> patch.

Thanks for the fixup.

cheers ./daniel



Re: Stale external URL in doc?

From
Thomas Munro
Date:
On Fri, Jul 10, 2020 at 10:07 AM Daniel Gustafsson <daniel@yesql.se> wrote:
> (but I didn't test all of them)

Cave-person shell script time:

for url in ` git grep 'url="http' | sed 's/.*url="//;s/".*//' | sort | uniq `
do
  if ! curl --output /dev/null --silent --head --fail "$url"
  then
    echo "bad URL: $url"
  fi
done

bad URL: https://mingw-w64.org/
bad URL: https://msdn.microsoft.com/en-us/library/aa380493%28VS.85%29.aspx
bad URL: https://ssl.icu-project.org/icu-bin/locexp
bad URL: https://www.ismn-international.org/ranges.html

The Microsoft one is OK, it's a redirect, but the redirect target
looks like a more permanent URL to me so maybe we should change it.
The others required minor manual sleuthing to correct; I hope I found
the correct ISN ranges page.  Please see attached.

Looking at the ICU URL, I found a couple like that in our source tree,
and fixed those too, including one used by
src/backend/utils/mb/Unicode/Makefile to fetch source data which has
moved (http://site.icu-project.org/repository says "Announcement
07/16/2018: The ICU source code repository has been migrated from
Subversion to Git, and is now hosted on GitHub.").

Attachment

Re: Stale external URL in doc?

From
Tom Lane
Date:
Thomas Munro <thomas.munro@gmail.com> writes:
> The Microsoft one is OK, it's a redirect, but the redirect target
> looks like a more permanent URL to me so maybe we should change it.

+1

> The others required minor manual sleuthing to correct; I hope I found
> the correct ISN ranges page.  Please see attached.

I didn't actually check any of these, but they look like sane changes.

            regards, tom lane



Re: Stale external URL in doc?

From
Daniel Gustafsson
Date:
> On 10 Jul 2020, at 23:47, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Thomas Munro <thomas.munro@gmail.com> writes:

>> The others required minor manual sleuthing to correct; I hope I found
>> the correct ISN ranges page.  Please see attached.
> 
> I didn't actually check any of these, but they look like sane changes.

+1, looks good, thanks!

cheers ./daniel



Re: Stale external URL in doc?

From
Thomas Munro
Date:
On Sat, Jul 11, 2020 at 9:56 AM Daniel Gustafsson <daniel@yesql.se> wrote:
> > On 10 Jul 2020, at 23:47, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> > Thomas Munro <thomas.munro@gmail.com> writes:
> >> The others required minor manual sleuthing to correct; I hope I found
> >> the correct ISN ranges page.  Please see attached.
> >
> > I didn't actually check any of these, but they look like sane changes.
>
> +1, looks good, thanks!

Is it OK that I see the following warning many times when running
"make" under src/backend/utils/mb/Unicode?  It looks like this code is
from commit 1de9cc0d.  Horiguchi-san, do you think something changed
(input data format, etc) since you wrote it, or maybe some later
changes just made our perl scripts more picky about warnings?

  Use of uninitialized value $val in printf at convutils.pm line 612.



Re: Stale external URL in doc?

From
Daniel Gustafsson
Date:
> On 11 Jul 2020, at 05:25, Thomas Munro <thomas.munro@gmail.com> wrote:

> Is it OK that I see the following warning many times when running
> "make" under src/backend/utils/mb/Unicode?  It looks like this code is
> from commit 1de9cc0d.  Horiguchi-san, do you think something changed
> (input data format, etc) since you wrote it, or maybe some later
> changes just made our perl scripts more picky about warnings?
> 
>  Use of uninitialized value $val in printf at convutils.pm line 612.

Confirmed here as well, combined with the below ones for a few of the files:

Use of uninitialized value in hash element at convutils.pm line 448.
Use of uninitialized value $b1root in printf at convutils.pm line 558.
Use of uninitialized value $b1_lower in printf at convutils.pm line 560.
Use of uninitialized value $b1_upper in printf at convutils.pm line 561.
Use of uninitialized value $b3root in printf at convutils.pm line 570.
Use of uninitialized value $b3_1_lower in printf at convutils.pm line 572.
Use of uninitialized value $b3_1_upper in printf at convutils.pm line 573.
Use of uninitialized value $b3_2_lower in printf at convutils.pm line 574.
Use of uninitialized value $b3_2_upper in printf at convutils.pm line 575.
Use of uninitialized value $b3_3_lower in printf at convutils.pm line 576.
Use of uninitialized value $b3_3_upper in printf at convutils.pm line 577.
Use of uninitialized value $val in printf at convutils.pm line 612.

cheers ./daniel



Re: Stale external URL in doc?

From
Kyotaro Horiguchi
Date:
At Mon, 13 Jul 2020 11:36:17 +0200, Daniel Gustafsson <daniel@yesql.se> wrote in 
> > On 11 Jul 2020, at 05:25, Thomas Munro <thomas.munro@gmail.com> wrote:
> 
> > Is it OK that I see the following warning many times when running
> > "make" under src/backend/utils/mb/Unicode?  It looks like this code is
> > from commit 1de9cc0d.  Horiguchi-san, do you think something changed
> > (input data format, etc) since you wrote it, or maybe some later
> > changes just made our perl scripts more picky about warnings?
> > 
> >  Use of uninitialized value $val in printf at convutils.pm line 612.
> 
> Confirmed here as well, combined with the below ones for a few of the files:
> 
> Use of uninitialized value in hash element at convutils.pm line 448.
> Use of uninitialized value $b1root in printf at convutils.pm line 558.
> Use of uninitialized value $b1_lower in printf at convutils.pm line 560.

Mmm. I see the same, too. I'm looking into that.

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center



Re: Stale external URL in doc?

From
Kyotaro Horiguchi
Date:
It is found to be a time capsule full of worms..

At Tue, 14 Jul 2020 09:00:11 +0900 (JST), Kyotaro Horiguchi <horikyota.ntt@gmail.com> wrote in 
> > Use of uninitialized value $b1_lower in printf at convutils.pm line 560.
> 
> Mmm. I see the same, too. I'm looking into that.

There are three easy-to-fix issues:

1. The script set utilized undef as zeros, so most of them are fixed
  by using zero for undefs.

2. Some Japanese-related converter scripts seem to be affected by a
  change of regexp greediness and easily fixed.

3. I got a certificate error for ssl.icu-project.org and found that
  the name is changed to icu-project.org. 

And one issue that I'm not sure how we shold treat this:

A. I didn't find the files gb-18030-2000.xml and windows-949-2000.xml
  in the ICU site.  We have our own copy in our repository so it's not
  a serious problem but I'm not sure what we should do for this.

  I found CP949.TXT for windows-949-2000.xml but the former is missing
  mappings for certaion code ranges (c9xx and fexx).


The attached is the fix for 1 to 3 above. It doesn't contain changes
in .map files.

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center
From 1544d47d847607cf2b9a449d586ebf53f1bc241a Mon Sep 17 00:00:00 2001
From: Kyotaro Horiguchi <horikyoga.ntt@gmail.com>
Date: Tue, 14 Jul 2020 12:02:57 +0900
Subject: [PATCH v1] Fix conversion-table generator scripts

convutils.pm utilized implicit convertion of undefined value into an
integer zero. Some of conversion scripts are susceptible to regexp
greediness. Fix all of them.  Follow the changes of ICU site's
configuration.

This change yields one significant difference in resulting map files
for UHC. The mappings no longer have mappings for characters in the
range c9xx and fexx.
---
 src/backend/utils/mb/Unicode/Makefile         |  2 +-
 .../utils/mb/Unicode/UCS_to_EUC_JIS_2004.pl   |  4 +-
 src/backend/utils/mb/Unicode/UCS_to_EUC_JP.pl |  3 +-
 .../utils/mb/Unicode/UCS_to_SHIFT_JIS_2004.pl |  4 +-
 src/backend/utils/mb/Unicode/convutils.pm     | 56 ++++++++++---------
 5 files changed, 37 insertions(+), 32 deletions(-)

diff --git a/src/backend/utils/mb/Unicode/Makefile b/src/backend/utils/mb/Unicode/Makefile
index 9084f03009..4645441b64 100644
--- a/src/backend/utils/mb/Unicode/Makefile
+++ b/src/backend/utils/mb/Unicode/Makefile
@@ -122,7 +122,7 @@ euc-jis-2004-std.txt sjis-0213-2004-std.txt:
     $(DOWNLOAD) http://x0213.org/codetable/$(@F)
 
 gb-18030-2000.xml windows-949-2000.xml:
-    $(DOWNLOAD) https://ssl.icu-project.org/repos/icu/data/trunk/charset/data/xml/$(@F)
+    echo "The source for (@F) no longer exists"
 
 GB2312.TXT:
     $(DOWNLOAD)
'http://trac.greenstone.org/browser/trunk/gsdl/unicode/MAPPINGS/EASTASIA/GB/GB2312.TXT?rev=1842&format=txt'
diff --git a/src/backend/utils/mb/Unicode/UCS_to_EUC_JIS_2004.pl b/src/backend/utils/mb/Unicode/UCS_to_EUC_JIS_2004.pl
index 092a5b44f5..62500efc6d 100755
--- a/src/backend/utils/mb/Unicode/UCS_to_EUC_JIS_2004.pl
+++ b/src/backend/utils/mb/Unicode/UCS_to_EUC_JIS_2004.pl
@@ -24,7 +24,7 @@ my @all;
 
 while (my $line = <$in>)
 {
-    if ($line =~ /^0x(.*)[ \t]*U\+(.*)\+(.*)[ \t]*#(.*)$/)
+    if ($line =~ /^0x(\w+)[ \t]*U\+(\w+)\+(\w+)[ \t]*#(.*)$/)
     {
 
         # combined characters
@@ -45,7 +45,7 @@ while (my $line = <$in>)
             l          => $.
           };
     }
-    elsif ($line =~ /^0x(.*)[ \t]*U\+(.*)[ \t]*#(.*)$/)
+    elsif ($line =~ /^0x(\w+)[ \t]*U\+(\w+)[ \t]*#(.*)$/)
     {
 
         # non-combined characters
diff --git a/src/backend/utils/mb/Unicode/UCS_to_EUC_JP.pl b/src/backend/utils/mb/Unicode/UCS_to_EUC_JP.pl
index 1d88c0296e..d8bed27e1b 100755
--- a/src/backend/utils/mb/Unicode/UCS_to_EUC_JP.pl
+++ b/src/backend/utils/mb/Unicode/UCS_to_EUC_JP.pl
@@ -80,7 +80,8 @@ foreach my $i (@$ct932)
     }
 }
 
-foreach my $i (@mapping)
+# extract only SJIS characers
+foreach my $i (grep defined $_->{sjis}, @mapping)
 {
     my $sjis = $i->{sjis};
 
diff --git a/src/backend/utils/mb/Unicode/UCS_to_SHIFT_JIS_2004.pl
b/src/backend/utils/mb/Unicode/UCS_to_SHIFT_JIS_2004.pl
index b516e91306..025b0d2798 100755
--- a/src/backend/utils/mb/Unicode/UCS_to_SHIFT_JIS_2004.pl
+++ b/src/backend/utils/mb/Unicode/UCS_to_SHIFT_JIS_2004.pl
@@ -24,7 +24,7 @@ my @mapping;
 
 while (my $line = <$in>)
 {
-    if ($line =~ /^0x(.*)[ \t]*U\+(.*)\+(.*)[ \t]*#(.*)$/)
+    if ($line =~ /^0x(\w+)[ \t]*U\+(\w+)\+(\w+)[ \t]*#(.*)$/)
     {
 
         # combined characters
@@ -45,7 +45,7 @@ while (my $line = <$in>)
             l          => $.
           };
     }
-    elsif ($line =~ /^0x(.*)[ \t]*U\+(.*)[ \t]*#(.*)$/)
+    elsif ($line =~ /^0x(\w+)[ \t]*U\+(\w+)[ \t]*#(.*)$/)
     {
 
         # non-combined characters
diff --git a/src/backend/utils/mb/Unicode/convutils.pm b/src/backend/utils/mb/Unicode/convutils.pm
index 2f64a12ea1..9d97061c6f 100644
--- a/src/backend/utils/mb/Unicode/convutils.pm
+++ b/src/backend/utils/mb/Unicode/convutils.pm
@@ -380,7 +380,8 @@ sub print_radix_table
       {
         header  => "Dummy map, for invalid values",
         min_idx => 0,
-        max_idx => $widest_range
+        max_idx => $widest_range,
+        label => "dummy map"
       };
 
     ###
@@ -471,35 +472,37 @@ sub print_radix_table
     }
 
     # Also look up the positions of the roots in the table.
-    my $b1root = $segmap{"1-byte"};
-    my $b2root = $segmap{"2-byte"};
-    my $b3root = $segmap{"3-byte"};
-    my $b4root = $segmap{"4-byte"};
+    # Missing map represents dummy mapping.
+    my $b1root = $segmap{"1-byte"} || 0;
+    my $b2root = $segmap{"2-byte"} || 0;
+    my $b3root = $segmap{"3-byte"} || 0;
+    my $b4root = $segmap{"4-byte"} || 0;
 
     # And the lower-upper values of each level in each radix tree.
-    my $b1_lower = $min_idx{1}{1};
-    my $b1_upper = $max_idx{1}{1};
+    # Missing values represent zero.
+    my $b1_lower = $min_idx{1}{1} || 0;
+    my $b1_upper = $max_idx{1}{1} || 0;
 
-    my $b2_1_lower = $min_idx{2}{1};
-    my $b2_1_upper = $max_idx{2}{1};
-    my $b2_2_lower = $min_idx{2}{2};
-    my $b2_2_upper = $max_idx{2}{2};
+    my $b2_1_lower = $min_idx{2}{1} || 0;
+    my $b2_1_upper = $max_idx{2}{1} || 0;
+    my $b2_2_lower = $min_idx{2}{2} || 0;
+    my $b2_2_upper = $max_idx{2}{2} || 0;
 
-    my $b3_1_lower = $min_idx{3}{1};
-    my $b3_1_upper = $max_idx{3}{1};
-    my $b3_2_lower = $min_idx{3}{2};
-    my $b3_2_upper = $max_idx{3}{2};
-    my $b3_3_lower = $min_idx{3}{3};
-    my $b3_3_upper = $max_idx{3}{3};
+    my $b3_1_lower = $min_idx{3}{1} || 0;
+    my $b3_1_upper = $max_idx{3}{1} || 0;
+    my $b3_2_lower = $min_idx{3}{2} || 0;
+    my $b3_2_upper = $max_idx{3}{2} || 0;
+    my $b3_3_lower = $min_idx{3}{3} || 0;
+    my $b3_3_upper = $max_idx{3}{3} || 0;
 
-    my $b4_1_lower = $min_idx{4}{1};
-    my $b4_1_upper = $max_idx{4}{1};
-    my $b4_2_lower = $min_idx{4}{2};
-    my $b4_2_upper = $max_idx{4}{2};
-    my $b4_3_lower = $min_idx{4}{3};
-    my $b4_3_upper = $max_idx{4}{3};
-    my $b4_4_lower = $min_idx{4}{4};
-    my $b4_4_upper = $max_idx{4}{4};
+    my $b4_1_lower = $min_idx{4}{1} || 0;
+    my $b4_1_upper = $max_idx{4}{1} || 0;
+    my $b4_2_lower = $min_idx{4}{2} || 0;
+    my $b4_2_upper = $max_idx{4}{2} || 0;
+    my $b4_3_lower = $min_idx{4}{3} || 0;
+    my $b4_3_upper = $max_idx{4}{3} || 0;
+    my $b4_4_lower = $min_idx{4}{4} || 0;
+    my $b4_4_upper = $max_idx{4}{4} || 0;
 
     ###
     ### Find the maximum value in the whole table, to determine if we can
@@ -607,7 +610,8 @@ sub print_radix_table
             for (my $j = 0;
                 $j < $vals_per_line && $i <= $seg->{max_idx}; $j++)
             {
-                my $val = $seg->{values}->{$i};
+                # missing values represent zero.
+                my $val = $seg->{values}->{$i} || 0;
 
                 printf $out " 0x%0*x", $colwidth, $val;
                 $off++;
-- 
2.18.4


Re: Stale external URL in doc?

From
Thomas Munro
Date:
On Tue, Jul 14, 2020 at 3:27 PM Kyotaro Horiguchi
<horikyota.ntt@gmail.com> wrote:
> A. I didn't find the files gb-18030-2000.xml and windows-949-2000.xml
>   in the ICU site.  We have our own copy in our repository so it's not
>   a serious problem but I'm not sure what we should do for this.

The patch I posted earlier fixes that problem (their source repository moved).



Re: Stale external URL in doc?

From
Kyotaro Horiguchi
Date:
At Tue, 14 Jul 2020 15:40:41 +1200, Thomas Munro <thomas.munro@gmail.com> wrote in 
> On Tue, Jul 14, 2020 at 3:27 PM Kyotaro Horiguchi
> <horikyota.ntt@gmail.com> wrote:
> > A. I didn't find the files gb-18030-2000.xml and windows-949-2000.xml
> >   in the ICU site.  We have our own copy in our repository so it's not
> >   a serious problem but I'm not sure what we should do for this.
> 
> The patch I posted earlier fixes that problem (their source repository moved).

- $(DOWNLOAD) https://ssl.icu-project.org/repos/icu/data/trunk/charset/data/xml/$(@F)
+ $(DOWNLOAD) https://raw.githubusercontent.com/unicode-org/icu-data/master/charset/data/xml/$(@F)

Wow. The URL works and makes no difference in related map files.

Thanks!

-- 
Kyotaro Horiguchi
NTT Open Source Software Center



Re: Stale external URL in doc?

From
Daniel Gustafsson
Date:
> On 10 Jul 2020, at 23:55, Daniel Gustafsson <daniel@yesql.se> wrote:
> 
>> On 10 Jul 2020, at 23:47, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Thomas Munro <thomas.munro@gmail.com> writes:
> 
>>> The others required minor manual sleuthing to correct; I hope I found
>>> the correct ISN ranges page.  Please see attached.
>> 
>> I didn't actually check any of these, but they look like sane changes.
> 
> +1, looks good, thanks!

Since this is still in flight, I'm tacking on a few more in the attached diff
that I stumbled across.  gnu.org will redirect from http to https so we might
as well have that in our docs from the start.

cheers ./daniel


Attachment

Re: Stale external URL in doc?

From
Kyotaro Horiguchi
Date:
At Thu, 16 Jul 2020 14:09:17 +0200, Daniel Gustafsson <daniel@yesql.se> wrote in 
> > On 10 Jul 2020, at 23:55, Daniel Gustafsson <daniel@yesql.se> wrote:
> > 
> >> On 10 Jul 2020, at 23:47, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> >> Thomas Munro <thomas.munro@gmail.com> writes:
> > 
> >>> The others required minor manual sleuthing to correct; I hope I found
> >>> the correct ISN ranges page.  Please see attached.
> >> 
> >> I didn't actually check any of these, but they look like sane changes.
> > 
> > +1, looks good, thanks!
> 
> Since this is still in flight, I'm tacking on a few more in the attached diff
> that I stumbled across.  gnu.org will redirect from http to https so we might
> as well have that in our docs from the start.

I checked through http:// URLs in the documentation.

1. 505 Not found (0001-Fix-505-URL.patch)

  (Shows login page instead)  
  http://citeseer.ist.psu.edu/seshadri95generalized.html 
    => https://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.40.5740

2. moved or rearranged (0002-Fixed-URLs-mofed-or-rearranged.patch)

  http://initd.org/psycopg/
    => https://www.psycopg.org/

  http://db.cs.berkeley.edu => https://dsf.berkeley.edu
    http://db.cs.berkeley.edu/jmh/
    http://db.cs.berkeley.edu/papers/
    http://db.cs.berkeley.edu/papers/ERL-M85-95.pdf
    http://db.cs.berkeley.edu/papers/ERL-M87-06.pdf
    http://db.cs.berkeley.edu/papers/ERL-M87-13.pdf
    http://db.cs.berkeley.edu/papers/ERL-M89-17.pdf
    http://db.cs.berkeley.edu/papers/ERL-M89-82.pdf
    http://db.cs.berkeley.edu/papers/ERL-M90-34.pdf
    http://db.cs.berkeley.edu/papers/ERL-M90-36.pdf
    http://db.cs.berkeley.edu/papers/UCB-MS-zfong.pdf
    http://db.cs.berkeley.edu/postgres.html

   (I counldn't find the eqquivalent for http://gist.cs.berkeley.edu/
    in dsf.berkeley.edu)

   http://json.org =>  https://www.json.org  (Redirects to localized page)


3. Has the same page for https://  (0003-change-http-URLs-to-https.patch)
  http://cve.mitre.org/
  http://jlcooke.ca/random/
  http://postgis.net/
  http://pqxx.org/
  http://pubs.opengroup.org/onlinepubs/009695399/functions/strftime.html
  http://snowballstem.org/
  http://sourceware.org/systemtap/
  http://standards.ieee.org/
  http://standards.iso.org/ittf/PubliclyAvailableStandards/c067367_ISO_IEC_TR_19075-6_2017.zip
  http://web.mit.edu/Kerberos/dist/index.html
  http://www.issn.org/
  http://www.iusmentis.com/security/passphrasefaq/
  http://www.loc.gov/standards/iso639-2/php/English_list.php
  http://www.npgsql.org/
  http://www.openwall.com/crypt/
  http://www.perl.org
  http://www.red3d.com/cwr/evolve.html
  http://www.slony.info
  http://www.tcl.tk/
  http://www.zlib.net
  http://zlatkovic.com/pub/libxml
  (http://www.gnu.org/software/gettext/)
  (http://www.gnu.org/software/libtool/)

4. Has https:// page with some troubles.
  http://www.sunfreeware.com  (insecure certificate)
  http://xmlsoft.org (insercure certificate)
   http://xmlsoft.org/
   http://xmlsoft.org/XSLT/
  http://www.tpc.org/ (private certificate and ... looks odd..)


5. Seems not having https pages.
  http://gist.cs.berkeley.edu/
  http://gnuwin32.sourceforge.net
  http://newbiedoc.sourceforge.net/metadoc/docbook-guide.html
  http://meteora.ucsd.edu/s2k/s2k_home.html
  http://sg.danny.cz/sg/sdparm.html
  http://userguide.icu-project.org/collation/api
  http://userguide.icu-project.org/locale
  http://world.std.com/~reinhold/diceware.html
  http://www.faqs.org/faqs/ai-faq/genetic/part1/
  http://www.interhack.net/people/cmcurtin/snake-oil-faq.html
  http://www.mingw.org/
  http://www.mingw.org/wiki/MSYS
  http://www.ossp.org/pkg/lib/uuid/
  http://www.sai.msu.su/~megera/oddmuse/index.cgi/Gin
  http://www.sai.msu.su/~megera/postgres/gist/
  http://www.sai.msu.su/~megera/postgres/gist/papers/concurrency/access-methods-for-next-generation.pdf.gz
  http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/
  http://www.sai.msu.su/~megera/wiki/Gin
  http://www.sai.msu.su/~megera/wiki/spgist_dev
  http://xahlee.info/UnixResource_dir/_/ldpath.html

I attached fixes for 1, 2 and 3, and not for 4. (5 doesn't need
changes).

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center
From e8ab91092f22c917f3cb16b390af7287f920f45d Mon Sep 17 00:00:00 2001
From: Kyotaro Horiguchi <horikyoga.ntt@gmail.com>
Date: Fri, 17 Jul 2020 11:38:46 +0900
Subject: [PATCH 1/3] Fix 505 URL

---
 doc/src/sgml/biblio.sgml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/src/sgml/biblio.sgml b/doc/src/sgml/biblio.sgml
index e72a65ff8a..43a113d3eb 100644
--- a/doc/src/sgml/biblio.sgml
+++ b/doc/src/sgml/biblio.sgml
@@ -352,7 +352,7 @@ ssimkovi@ag.or.at
 
    <biblioentry id="seshadri95">
    <biblioset relation="article">
-    <title><ulink url="http://citeseer.ist.psu.edu/seshadri95generalized.html">Generalized
+    <title><ulink url="https://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.40.5740">Generalized
     Partial Indexes</ulink></title>
     <authorgroup>
      <author>
-- 
2.18.4

From 1bb3b8c6506c7b740470505109e5214797cbc496 Mon Sep 17 00:00:00 2001
From: Kyotaro Horiguchi <horikyoga.ntt@gmail.com>
Date: Fri, 17 Jul 2020 11:41:28 +0900
Subject: [PATCH 2/3] Fix URLs moved or rearranged

---
 doc/src/sgml/biblio.sgml            | 18 +++++++++---------
 doc/src/sgml/cube.sgml              |  2 +-
 doc/src/sgml/external-projects.sgml |  2 +-
 doc/src/sgml/intro.sgml             |  2 +-
 doc/src/sgml/plperl.sgml            |  2 +-
 doc/src/sgml/seg.sgml               |  2 +-
 6 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/doc/src/sgml/biblio.sgml b/doc/src/sgml/biblio.sgml
index 43a113d3eb..c815d67cdf 100644
--- a/doc/src/sgml/biblio.sgml
+++ b/doc/src/sgml/biblio.sgml
@@ -12,7 +12,7 @@
    Some white papers and technical reports from the original
    <productname>POSTGRES</productname> development team
    are available at the University of California, Berkeley, Computer Science
-   Department <ulink url="http://db.cs.berkeley.edu/papers/">web site</ulink>.
+   Department <ulink url="https://dsf.berkeley.edu/papers/">web site</ulink>.
   </para>
 
   <bibliodiv>
@@ -213,7 +213,7 @@ ssimkovi@ag.or.at
    </biblioentry>
 
   <biblioentry id="fong">
-   <title><ulink url="http://db.cs.berkeley.edu/papers/UCB-MS-zfong.pdf">The
+   <title><ulink url="https://dsf.berkeley.edu/papers/UCB-MS-zfong.pdf">The
    design and implementation of the <productname>POSTGRES</productname> query
    optimizer</ulink></title>
    <author>
@@ -330,7 +330,7 @@ ssimkovi@ag.or.at
 
    <biblioentry id="rowe87">
    <biblioset relation="article">
-    <title><ulink url="http://db.cs.berkeley.edu/papers/ERL-M87-13.pdf">The <productname>POSTGRES</productname>
+    <title><ulink url="https://dsf.berkeley.edu/papers/ERL-M87-13.pdf">The <productname>POSTGRES</productname>
     data model</ulink></title>
     <authorgroup>
      <author>
@@ -381,7 +381,7 @@ ssimkovi@ag.or.at
 
    <biblioentry id="ston86">
    <biblioset relation="article">
-    <title><ulink url="http://db.cs.berkeley.edu/papers/ERL-M85-95.pdf">The
+    <title><ulink url="https://dsf.berkeley.edu/papers/ERL-M85-95.pdf">The
     design of <productname>POSTGRES</productname></ulink></title>
     <authorgroup>
      <author>
@@ -428,7 +428,7 @@ ssimkovi@ag.or.at
 
    <biblioentry id="ston87b">
    <biblioset relation="article">
-    <title><ulink url="http://db.cs.berkeley.edu/papers/ERL-M87-06.pdf">The
+    <title><ulink url="https://dsf.berkeley.edu/papers/ERL-M87-06.pdf">The
     design of the <productname>POSTGRES</productname> storage
     system</ulink></title>
     <authorgroup>
@@ -447,7 +447,7 @@ ssimkovi@ag.or.at
 
    <biblioentry id="ston89">
    <biblioset relation="article">
-    <title><ulink url="http://db.cs.berkeley.edu/papers/ERL-M89-82.pdf">A
+    <title><ulink url="https://dsf.berkeley.edu/papers/ERL-M89-82.pdf">A
     commentary on the <productname>POSTGRES</productname> rules
     system</ulink></title>
     <authorgroup>
@@ -473,7 +473,7 @@ ssimkovi@ag.or.at
 
    <biblioentry id="ston89b">
    <biblioset relation="article">
-    <title><ulink url="http://db.cs.berkeley.edu/papers/ERL-M89-17.pdf">The
+    <title><ulink url="https://dsf.berkeley.edu/papers/ERL-M89-17.pdf">The
     case for partial indexes</ulink></title>
     <authorgroup>
      <author>
@@ -491,7 +491,7 @@ ssimkovi@ag.or.at
 
    <biblioentry id="ston90a">
    <biblioset relation="article">
-    <title><ulink url="http://db.cs.berkeley.edu/papers/ERL-M90-34.pdf">The
+    <title><ulink url="https://dsf.berkeley.edu/papers/ERL-M90-34.pdf">The
     implementation of <productname>POSTGRES</productname></ulink></title>
     <authorgroup>
      <author>
@@ -519,7 +519,7 @@ ssimkovi@ag.or.at
 
    <biblioentry id="ston90b">
    <biblioset relation="article">
-    <title><ulink url="http://db.cs.berkeley.edu/papers/ERL-M90-36.pdf">On
+    <title><ulink url="https://dsf.berkeley.edu/papers/ERL-M90-36.pdf">On
     Rules, Procedures, Caching and Views in Database Systems</ulink></title>
     <authorgroup>
      <author>
diff --git a/doc/src/sgml/cube.sgml b/doc/src/sgml/cube.sgml
index 70037a193f..3b39147d14 100644
--- a/doc/src/sgml/cube.sgml
+++ b/doc/src/sgml/cube.sgml
@@ -619,7 +619,7 @@ t
 
   <para>
    My thanks are primarily to Prof. Joe Hellerstein
-   (<ulink url="http://db.cs.berkeley.edu/jmh/"></ulink>) for elucidating the
+   (<ulink url="https://dsf.berkeley.edu/jmh/"></ulink>) for elucidating the
    gist of the GiST (<ulink url="http://gist.cs.berkeley.edu/"></ulink>), and
    to his former student Andy Dong for his example written for Illustra.
    I am also grateful to all Postgres developers, present and past, for
diff --git a/doc/src/sgml/external-projects.sgml b/doc/src/sgml/external-projects.sgml
index 108bbc65d4..2a136e856b 100644
--- a/doc/src/sgml/external-projects.sgml
+++ b/doc/src/sgml/external-projects.sgml
@@ -128,7 +128,7 @@
       <entry>psycopg</entry>
       <entry>Python</entry>
       <entry>DB API 2.0-compliant</entry>
-      <entry><ulink url="http://initd.org/psycopg/"></ulink></entry>
+      <entry><ulink url="https://www.psycopg.org/"></ulink></entry>
      </row>
     </tbody>
    </tgroup>
diff --git a/doc/src/sgml/intro.sgml b/doc/src/sgml/intro.sgml
index 25e98ebe07..63eda059f0 100644
--- a/doc/src/sgml/intro.sgml
+++ b/doc/src/sgml/intro.sgml
@@ -87,7 +87,7 @@
   <para>
    <productname>PostgreSQL</productname> is an object-relational
    database management system (<acronym>ORDBMS</acronym>) based on
-   <ulink url="http://db.cs.berkeley.edu/postgres.html">
+   <ulink url="https://dsf.berkeley.edu/postgres.html">
    <productname>POSTGRES, Version 4.2</productname></ulink>,
    developed at the University of California at Berkeley Computer Science
    Department.  POSTGRES pioneered many concepts that only became
diff --git a/doc/src/sgml/plperl.sgml b/doc/src/sgml/plperl.sgml
index 033ed6960c..59cd92733a 100644
--- a/doc/src/sgml/plperl.sgml
+++ b/doc/src/sgml/plperl.sgml
@@ -14,7 +14,7 @@
   <para>
    PL/Perl is a loadable procedural language that enables you to write
    <productname>PostgreSQL</productname> functions in the
-   <ulink url="http://www.perl.org">Perl programming language</ulink>.
+   <ulink url="https://www.perl.org">Perl programming language</ulink>.
   </para>
 
   <para>
diff --git a/doc/src/sgml/seg.sgml b/doc/src/sgml/seg.sgml
index 8178bc20b5..e86142d885 100644
--- a/doc/src/sgml/seg.sgml
+++ b/doc/src/sgml/seg.sgml
@@ -410,7 +410,7 @@ postgres=> select '10(+-)1'::seg as seg;
 
   <para>
    My thanks are primarily to Prof. Joe Hellerstein
-   (<ulink url="http://db.cs.berkeley.edu/jmh/"></ulink>) for elucidating the
+   (<ulink url="https://dsf.berkeley.edu/jmh/"></ulink>) for elucidating the
    gist of the GiST (<ulink url="http://gist.cs.berkeley.edu/"></ulink>). I am
    also grateful to all Postgres developers, present and past, for enabling
    myself to create my own world and live undisturbed in it. And I would like
-- 
2.18.4

From 05a89d261647be5ad915568afd1db3289c22c3a3 Mon Sep 17 00:00:00 2001
From: Kyotaro Horiguchi <horikyoga.ntt@gmail.com>
Date: Fri, 17 Jul 2020 12:11:40 +0900
Subject: [PATCH 3/3] change http URLs to https

---
 doc/src/sgml/acronyms.sgml          | 6 +++---
 doc/src/sgml/biblio.sgml            | 2 +-
 doc/src/sgml/config.sgml            | 2 +-
 doc/src/sgml/earthdistance.sgml     | 2 +-
 doc/src/sgml/external-projects.sgml | 8 ++++----
 doc/src/sgml/geqo.sgml              | 2 +-
 doc/src/sgml/install-windows.sgml   | 6 +++---
 doc/src/sgml/isn.sgml               | 2 +-
 doc/src/sgml/monitoring.sgml        | 2 +-
 doc/src/sgml/nls.sgml               | 2 +-
 doc/src/sgml/pgcrypto.sgml          | 6 +++---
 doc/src/sgml/pltcl.sgml             | 2 +-
 doc/src/sgml/textsearch.sgml        | 2 +-
 13 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/doc/src/sgml/acronyms.sgml b/doc/src/sgml/acronyms.sgml
index f638665dc9..4e5ec983c0 100644
--- a/doc/src/sgml/acronyms.sgml
+++ b/doc/src/sgml/acronyms.sgml
@@ -111,7 +111,7 @@
     <term><acronym>CVE</acronym></term>
     <listitem>
      <para>
-      <ulink url="http://cve.mitre.org/">Common Vulnerabilities and Exposures</ulink>
+      <ulink url="https://cve.mitre.org/">Common Vulnerabilities and Exposures</ulink>
      </para>
     </listitem>
    </varlistentry>
@@ -321,7 +321,7 @@
     <term><acronym>IEEE</acronym></term>
     <listitem>
      <para>
-      <ulink url="http://standards.ieee.org/">Institute of Electrical and
+      <ulink url="https://standards.ieee.org/">Institute of Electrical and
       Electronics Engineers</ulink>
      </para>
     </listitem>
@@ -384,7 +384,7 @@
     <listitem>
      <para>
       <ulink
-      url="http://json.org">JavaScript Object Notation</ulink>
+      url="https://www.json.org">JavaScript Object Notation</ulink>
      </para>
     </listitem>
    </varlistentry>
diff --git a/doc/src/sgml/biblio.sgml b/doc/src/sgml/biblio.sgml
index c815d67cdf..128072ded9 100644
--- a/doc/src/sgml/biblio.sgml
+++ b/doc/src/sgml/biblio.sgml
@@ -137,7 +137,7 @@
    </biblioentry>
 
    <biblioentry id="sqltr-19075-6">
-    <title><ulink
url="http://standards.iso.org/ittf/PubliclyAvailableStandards/c067367_ISO_IEC_TR_19075-6_2017.zip">SQLTechnical
Report</ulink></title>
+    <title><ulink
url="https://standards.iso.org/ittf/PubliclyAvailableStandards/c067367_ISO_IEC_TR_19075-6_2017.zip">SQLTechnical
Report</ulink></title>
     <subtitle>Part 6: SQL support for JavaScript Object
       Notation (JSON)</subtitle>
     <edition>First Edition</edition>
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index b353c61683..a8b14c3c6a 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -5761,7 +5761,7 @@ local0.*    /var/log/postgresql
         by <xref linkend="guc-log-timezone"/>.)
         The supported <literal>%</literal>-escapes are similar to those
         listed in the Open Group's <ulink
-        url="http://pubs.opengroup.org/onlinepubs/009695399/functions/strftime.html">strftime
+        url="https://pubs.opengroup.org/onlinepubs/009695399/functions/strftime.html">strftime
         </ulink> specification.
         Note that the system's <function>strftime</function> is not used
         directly, so platform-specific (nonstandard) extensions do not work.
diff --git a/doc/src/sgml/earthdistance.sgml b/doc/src/sgml/earthdistance.sgml
index 22762b02f4..4ac52cb191 100644
--- a/doc/src/sgml/earthdistance.sgml
+++ b/doc/src/sgml/earthdistance.sgml
@@ -19,7 +19,7 @@
  <para>
   In this module, the Earth is assumed to be perfectly spherical.
   (If that's too inaccurate for you, you might want to look at the
-  <application><ulink url="http://postgis.net/">PostGIS</ulink></application>
+  <application><ulink url="https://postgis.net/">PostGIS</ulink></application>
   project.)
  </para>
 
diff --git a/doc/src/sgml/external-projects.sgml b/doc/src/sgml/external-projects.sgml
index 2a136e856b..4627adc18f 100644
--- a/doc/src/sgml/external-projects.sgml
+++ b/doc/src/sgml/external-projects.sgml
@@ -79,7 +79,7 @@
       <entry>libpqxx</entry>
       <entry>C++</entry>
       <entry>C++ interface</entry>
-      <entry><ulink url="http://pqxx.org/"></ulink></entry>
+      <entry><ulink url="https://pqxx.org/"></ulink></entry>
      </row>
 
      <row>
@@ -93,7 +93,7 @@
       <entry>Npgsql</entry>
       <entry>.NET</entry>
       <entry>.NET data provider</entry>
-      <entry><ulink url="http://www.npgsql.org/"></ulink></entry>
+      <entry><ulink url="https://www.npgsql.org/"></ulink></entry>
      </row>
 
      <row>
@@ -240,10 +240,10 @@
    contains several extensions, which are described in
    <xref linkend="contrib"/>.  Other extensions are developed
    independently, like <application><ulink
-   url="http://postgis.net/">PostGIS</ulink></application>.  Even
+   url="https://postgis.net/">PostGIS</ulink></application>.  Even
    <productname>PostgreSQL</productname> replication solutions can be developed
    externally. For example, <application> <ulink
-   url="http://www.slony.info">Slony-I</ulink></application> is a popular
+   url="https://www.slony.info">Slony-I</ulink></application> is a popular
    primary/standby replication solution that is developed independently
    from the core project.
   </para>
diff --git a/doc/src/sgml/geqo.sgml b/doc/src/sgml/geqo.sgml
index c754b2b63e..ac552efd84 100644
--- a/doc/src/sgml/geqo.sgml
+++ b/doc/src/sgml/geqo.sgml
@@ -279,7 +279,7 @@
 
     <listitem>
      <para>
-      <ulink url="http://www.red3d.com/cwr/evolve.html">
+      <ulink url="https://www.red3d.com/cwr/evolve.html">
       Evolutionary Computation and its application to art and design</ulink>, by
       Craig Reynolds
      </para>
diff --git a/doc/src/sgml/install-windows.sgml b/doc/src/sgml/install-windows.sgml
index e2b8a4de57..0d885d0a25 100644
--- a/doc/src/sgml/install-windows.sgml
+++ b/doc/src/sgml/install-windows.sgml
@@ -287,7 +287,7 @@ $ENV{MSBFLAGS}="/m";
      <listitem><para>
       Required for GSSAPI authentication support. MIT Kerberos can be
       downloaded from
-      <ulink url="http://web.mit.edu/Kerberos/dist/index.html"></ulink>.
+      <ulink url="https://web.mit.edu/Kerberos/dist/index.html"></ulink>.
      </para></listitem>
     </varlistentry>
 
@@ -296,7 +296,7 @@ $ENV{MSBFLAGS}="/m";
       <productname>libxslt</productname></term>
      <listitem><para>
       Required for XML support. Binaries can be downloaded from
-      <ulink url="http://zlatkovic.com/pub/libxml"></ulink> or source from
+      <ulink url="https://zlatkovic.com/pub/libxml"></ulink> or source from
       <ulink url="http://xmlsoft.org"></ulink>. Note that libxml2 requires iconv,
       which is available from the same download location.
      </para></listitem>
@@ -333,7 +333,7 @@ $ENV{MSBFLAGS}="/m";
      <listitem><para>
       Required for compression support in <application>pg_dump</application>
       and <application>pg_restore</application>. Binaries can be downloaded
-      from <ulink url="http://www.zlib.net"></ulink>.
+      from <ulink url="https://www.zlib.net"></ulink>.
      </para></listitem>
     </varlistentry>
 
diff --git a/doc/src/sgml/isn.sgml b/doc/src/sgml/isn.sgml
index e1ea209ff1..e55ed07312 100644
--- a/doc/src/sgml/isn.sgml
+++ b/doc/src/sgml/isn.sgml
@@ -389,7 +389,7 @@ SELECT isbn13(id) FROM test;
    several sites, including:
    <itemizedlist>
     <listitem><para><ulink url="https://www.isbn-international.org/"></ulink></para></listitem>
-    <listitem><para><ulink url="http://www.issn.org/"></ulink></para></listitem>
+    <listitem><para><ulink url="https://www.issn.org/"></ulink></para></listitem>
     <listitem><para><ulink url="https://www.ismn-international.org/"></ulink></para></listitem>
     <listitem><para><ulink url="https://www.wikipedia.org/"></ulink></para></listitem>
    </itemizedlist>
diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml
index 048ccc0988..dc49177c78 100644
--- a/doc/src/sgml/monitoring.sgml
+++ b/doc/src/sgml/monitoring.sgml
@@ -6133,7 +6133,7 @@ SELECT pg_stat_get_backend_pid(s.backendid) AS pid,
    <ulink url="https://en.wikipedia.org/wiki/DTrace">DTrace</ulink>
    utility is supported, which, at the time of this writing, is available
    on Solaris, macOS, FreeBSD, NetBSD, and Oracle Linux.  The
-   <ulink url="http://sourceware.org/systemtap/">SystemTap</ulink> project
+   <ulink url="https://sourceware.org/systemtap/">SystemTap</ulink> project
    for Linux provides a DTrace equivalent and can also be used.  Supporting other dynamic
    tracing utilities is theoretically possible by changing the definitions for
    the macros in <filename>src/include/utils/probes.h</filename>.
diff --git a/doc/src/sgml/nls.sgml b/doc/src/sgml/nls.sgml
index f2c1792955..3764d49f62 100644
--- a/doc/src/sgml/nls.sgml
+++ b/doc/src/sgml/nls.sgml
@@ -146,7 +146,7 @@ msgstr "another translated"
     someone has already done some translation work.  The files are
     named <filename><replaceable>language</replaceable>.po</filename>,
     where <replaceable>language</replaceable> is the
-    <ulink url="http://www.loc.gov/standards/iso639-2/php/English_list.php">
+    <ulink url="https://www.loc.gov/standards/iso639-2/php/English_list.php">
     ISO 639-1 two-letter language code (in lower case)</ulink>, e.g.,
     <filename>fr.po</filename> for French.  If there is really a need
     for more than one translation effort per language then the files
diff --git a/doc/src/sgml/pgcrypto.sgml b/doc/src/sgml/pgcrypto.sgml
index cc916ff1d6..6fd645aa70 100644
--- a/doc/src/sgml/pgcrypto.sgml
+++ b/doc/src/sgml/pgcrypto.sgml
@@ -1297,12 +1297,12 @@ gen_random_uuid() returns uuid
      <para>The GNU Privacy Handbook.</para>
     </listitem>
     <listitem>
-     <para><ulink url="http://www.openwall.com/crypt/"></ulink></para>
+     <para><ulink url="https://www.openwall.com/crypt/"></ulink></para>
      <para>Describes the crypt-blowfish algorithm.</para>
     </listitem>
     <listitem>
      <para>
-      <ulink url="http://www.iusmentis.com/security/passphrasefaq/"></ulink>
+      <ulink url="https://www.iusmentis.com/security/passphrasefaq/"></ulink>
      </para>
      <para>How to choose a good password.</para>
     </listitem>
@@ -1348,7 +1348,7 @@ gen_random_uuid() returns uuid
      <para>Description of Fortuna CSPRNG.</para>
     </listitem>
     <listitem>
-     <para><ulink url="http://jlcooke.ca/random/"></ulink></para>
+     <para><ulink url="https://jlcooke.ca/random/"></ulink></para>
      <para>Jean-Luc Cooke Fortuna-based <filename>/dev/random</filename> driver for Linux.</para>
     </listitem>
    </itemizedlist>
diff --git a/doc/src/sgml/pltcl.sgml b/doc/src/sgml/pltcl.sgml
index 87735af34f..fb1ec632a8 100644
--- a/doc/src/sgml/pltcl.sgml
+++ b/doc/src/sgml/pltcl.sgml
@@ -14,7 +14,7 @@
   <para>
    PL/Tcl is a loadable procedural language for the
    <productname>PostgreSQL</productname> database system
-   that enables the <ulink url="http://www.tcl.tk/">
+   that enables the <ulink url="https://www.tcl.tk/">
    Tcl language</ulink> to be used to write
    <productname>PostgreSQL</productname> functions.
   </para>
diff --git a/doc/src/sgml/textsearch.sgml b/doc/src/sgml/textsearch.sgml
index 5bc57cd137..64c7ddb94a 100644
--- a/doc/src/sgml/textsearch.sgml
+++ b/doc/src/sgml/textsearch.sgml
@@ -3107,7 +3107,7 @@ largehearted
     The <application>Snowball</application> dictionary template is based on a project
     by Martin Porter, inventor of the popular Porter's stemming algorithm
     for the English language.  Snowball now provides stemming algorithms for
-    many languages (see the <ulink url="http://snowballstem.org/">Snowball
+    many languages (see the <ulink url="https://snowballstem.org/">Snowball
     site</ulink> for more information).  Each algorithm understands how to
     reduce common variant forms of words to a base, or stem, spelling within
     its language.  A Snowball dictionary requires a <literal>language</literal>
-- 
2.18.4


Re: Stale external URL in doc?

From
Kyotaro Horiguchi
Date:
At Sat, 18 Jul 2020 22:48:47 +0900, Michael Paquier <michael@paquier.xyz> wrote in 
> On Fri, Jul 17, 2020 at 02:03:18PM +0900, Michael Paquier wrote:
> > It would be better to get all that fixed and backpatched. Is somebody
> > already looking into that?
> 
> I have been through this set, and applied the changes as of 045d03f & 
> friends.  There was an extra URL broken in 9.5 and 9.6 related to the
> passphrase FAQ.

Thanks!

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center