Re: Broken links to the usb.org document library

2020-05-12 Thread Ingo Schwarze
Hi,

clematis wrote on Tue, May 12, 2020 at 03:06:40AM +0200:

> - Should we update those links?

For the manual pages, that seems clear: if some document is worth
linking to (which i assume it is unless told otherwise, if a link
is currently present in a manual page), then we should provide the
best possible form of the link.

I did not touch source code files, i'll leave the decision whether
it is desirable to change those files and whether it is worth the
effort to the developers working on the code.

> - Should we only refer to the document name/version and people can go an
>   search on whatever document library will be available in the future?  

If a site is stupid enough to keep changing their URIs again and
again, maintenance might become annoying enough that we could just
stop linking to that site, but i felt no urgent need to go that far
just yet.

> For the couple missing I can try to contact them.

If you contact them, please also remind them that changiung URIs
is a terrible idea, particularly for documentation and standards
that other documentation may need to link to.

> (Otherwise there's mirror available if that's acceptable).

I prefer linking from authoritative documentation (including manual
pages) to other authoritative documentation (including official
upstream websites), but if those official upstream websites are
unusable for some reason (like lack of stable URIs), linking to
other trustworthy sources may in some cases be a viable alternative.
It's a matter of judgement in each individual case what is most
helpful for users without causing excessive pain for maintenance.

For now, i committed the following minimal patch.

Note that i preferred linking to HTML pages over directly linking
to ZIP files, even if the main content of the HTML page is a link
to the ZIP file.  The links in the header and footer of the HTML
page may occasionally help users, too.

OpenBSD USB developers: please feel free to tweak further in
whichever way you consider useful.

Yours,
  Ingo


Index: lib/libusbhid/usbhid.3
===
RCS file: /cvs/src/lib/libusbhid/usbhid.3,v
retrieving revision 1.19
diff -u -p -r1.19 usbhid.3
--- lib/libusbhid/usbhid.3  18 Feb 2019 17:29:43 -  1.19
+++ lib/libusbhid/usbhid.3  12 May 2020 12:58:21 -
@@ -211,7 +211,7 @@ The default HID usage table.
 .\" .Sh EXAMPLES
 .Sh SEE ALSO
 The USB specifications can be found at:
-.Lk http://www.usb.org/developers/docs/
+.Lk https://www.usb.org/documents/
 .Pp
 .Xr uhid 4 ,
 .Xr usb 4
Index: share/man/man4/cdce.4
===
RCS file: /cvs/src/share/man/man4/cdce.4,v
retrieving revision 1.25
diff -u -p -r1.25 cdce.4
--- share/man/man4/cdce.4   9 Aug 2019 21:45:02 -   1.25
+++ share/man/man4/cdce.4   12 May 2020 12:58:21 -
@@ -120,7 +120,7 @@ is running low on mbufs.
 .Xr ifconfig 8
 .Rs
 .%T "Universal Serial Bus Class Definitions for Communication Devices"
-.%U http://www.usb.org/developers/docs/devclass_docs/
+.%U 
https://www.usb.org/document-library/class-definitions-communication-devices-12
 .Re
 .Rs
 .%T "Data sheet Prolific PL-2501 Host-to-Host Bridge/Network Controller"
Index: share/man/man4/upd.4
===
RCS file: /cvs/src/share/man/man4/upd.4,v
retrieving revision 1.4
diff -u -p -r1.4 upd.4
--- share/man/man4/upd.426 Jun 2015 09:00:37 -  1.4
+++ share/man/man4/upd.412 May 2020 12:58:21 -
@@ -70,8 +70,8 @@ NeedReplacement
 .Xr sensorsd 8 ,
 .Xr sysctl 8
 .Pp
-The USB Power Devices specification can be found at
-.Lk http://www.usb.org/developers/hidpage/
+The USB Power Devices specification can be found at:
+.Lk https://www.usb.org/hid
 .Sh HISTORY
 The
 .Nm
Index: share/man/man4/usb.4
===
RCS file: /cvs/src/share/man/man4/usb.4,v
retrieving revision 1.199
diff -u -p -r1.199 usb.4
--- share/man/man4/usb.417 Dec 2019 13:08:54 -  1.199
+++ share/man/man4/usb.412 May 2020 12:58:21 -
@@ -676,8 +676,8 @@ Human Interface Devices (HID).
 .Xr config 8 ,
 .Xr usbdevs 8
 .Pp
-The USB specifications can be found at
-.Lk http://www.usb.org/developers/docs/
+The USB specifications can be found at:
+.Lk https://www.usb.org/documents
 .Sh HISTORY
 The
 .Nm
Index: share/man/man4/umb.4
===
RCS file: /cvs/src/share/man/man4/umb.4,v
retrieving revision 1.10
diff -u -p -r1.10 umb.4
--- share/man/man4/umb.418 Feb 2020 08:09:37 -  1.10
+++ share/man/man4/umb.412 May 2020 12:58:21 -
@@ -61,7 +61,7 @@ The following devices should work:
 .Xr route 8
 .Rs
 .%T "Universal Serial Bus Communications Class Subclass Specification for 
Mobile Broadband Interface Model"
-.%U 

Broken links to the usb.org document library

2020-05-11 Thread clematis
Hello,

The link to the specification in the SEE ALSO section of the umb(4)
manpage returns an error 404 Not Found.

Grepping for 'usb.org' I've found 26 references:
1/ 6 links work by redirecting to a new location.
2/ 18 links aren't working (404) but a new link exist.
3/ 2 links aren't working (404) same "new URL" format than others doesn't work
and I couldn't manually find them searching the document library
  
It's pretty much just a matter of replacing
/developers/docs/devclass_docs/ with /sites/default/files/ in the URL.
With a few exceptions.

I would like to check if there would be a preferred way to proceed.
(Before sending any patch).

- Should we update those links?
- Should we only refer to the document name/version and people can go an
  search on whatever document library will be available in the future?  
For the couple missing I can try to contact them. (Otherwise there's
mirror available if that's acceptable).

I couldn't find previous conversation on tech@ in regards to maintaining
URL and external link.

More details below:

1/ "working" rdr:
src/lib/libusbhid/usbhid.3:.Lk http://www.usb.org/developers/docs/
  OK - rdr to https://www.usb.org/documents
src/share/man/man4/cdce.4:.%U http://www.usb.org/developers/docs/devclass_docs/
  OK - rdr to
  https://www.usb.org/documents?search=%5B0%5D=55_per_page=50
src/share/man/man4/upd.4:.Lk http://www.usb.org/developers/hidpage/
  OK - rdr to https://www.usb.org/hid
src/share/man/man4/usb.4:.Lk http://www.usb.org/developers/docs/
  OK - rdr to https://www.usb.org/documents
src/sys/dev/hid/hidmt.c: * a standard here, see (from www.usb.org)
  OK 
src/sys/dev/usb/usb.c: * http://www.usb.org/developers/docs/ and
  OK - rdr to https://www.usb.org/documents


2/ broken but could find the new valid link 
src/share/man/man4/umb.4:.%U 
http://www.usb.org/developers/docs/devclass_docs/MBIM10Errata1_073013.zip
  404 - should be:
  https://www.usb.org/sites/default/files/MBIM10Errata1_073013.zip
src/sys/dev/hid/hidkbd.c: * HID spec: 
http://www.usb.org/developers/devclass_docs/HID1_11.pdf
  404 - should be:
  https://www.usb.org/sites/default/files/documents/hid1_11.pdf
src/sys/dev/hid/hidms.c: * HID spec: 
http://www.usb.org/developers/devclass_docs/HID1_11.pdf
  404 - should be:
  https://www.usb.org/sites/default/files/documents/hid1_11.pdf
src/sys/dev/usb/mbim.h: * 
http://www.usb.org/developers/docs/devclass_docs/MBIM-Compliance-1.0.pdf
  404 - should be:
  https://www.usb.org/sites/default/files/MBIM-Compliance-1.0.pdf
src/sys/dev/usb/if_umb.c: * 
http://www.usb.org/developers/docs/devclass_docs/MBIM10Errata1_073013.zip
  404 - should be
  https://www.usb.org/sites/default/files/MBIM10Errata1_073013.zip
src/sys/dev/usb/if_umb.c: * 
http://www.usb.org/developers/docs/devclass_docs/MBIM-Compliance-1.0.pdf
  404 - should be:
  https://www.usb.org/sites/default/files/MBIM-Compliance-1.0.pdf
src/sys/dev/usb/if_umb.h: * 
http://www.usb.org/developers/docs/devclass_docs/MBIM-Compliance-1.0.pdf
  404 - should be:
  https://www.usb.org/sites/default/files/MBIM-Compliance-1.0.pdf
src/sys/dev/usb/uhid.c: * HID spec: 
http://www.usb.org/developers/devclass_docs/HID1_11.pdf
  404 - should be:
  https://www.usb.org/sites/default/files/documents/hid1_11.pdf
src/sys/dev/usb/uhidev.c: * HID spec: 
http://www.usb.org/developers/devclass_docs/HID1_11.pdf
  404 - should be:
  https://usb.org/sites/default/files/documents/hid1_11.pdf
src/sys/dev/usb/ukbd.c: * HID spec: 
http://www.usb.org/developers/devclass_docs/HID1_11.pdf
  404 - should be:
  https://www.usb.org/sites/default/files/documents/hid1_11.pdf
src/sys/dev/usb/ulpt.c: *   
http://www.usb.org/developers/devclass_docs/usbprint11.pdf
  404 - should be:
  https://www.usb.org/sites/default/files/usbprint11a021811.pdf  
src/sys/dev/usb/umodem.c: *   
http://www.usb.org/developers/devclass_docs/usbcdc11.pdf
  404 - should be:
  https://www.usb.org/sites/default/files/CDC1.2_WMC1.1_052013.zip
src/sys/dev/usb/ums.c: * HID spec: 
http://www.usb.org/developers/devclass_docs/HID1_11.pdf
  404 - should be
  https://www.usb.org/sites/default/files/documents/hid1_11.pdf
src/sys/dev/usb/usb.c: * http://www.usb.org/developers/devclass_docs/
  404 - should be:
  https://www.usb.org/documents?search=%5B0%5D=55_per_page=50
src/sys/dev/usb/umass.c: * 
http://www.usb.org/developers/devclass_docs/usbmass-ufi10.pdf
  404 - should be:
  https://www.usb.org/sites/default/files/usbmass-ufi10.pdf
src/sys/dev/usb/umass.c: * 
http://www.usb.org/developers/devclass_docs/usbmassbulk_10.pdf
  404 - should be: 
  https://www.usb.org/sites/default/files/usbmassbulk_10.pdf
src/sys/dev/usb/umass.c: * 
http://www.usb.org/developers/devclass_docs/usb_msc_cbi_1.1.pdf
  404 - should be:
  https://www.usb.org/sites/default/files/usb_msc_cbi_1.1.pdf
src/sys/dev/usb/umodem.c: * Comm Class spec:  
http://www.usb.org/developers/devclass_docs/usbccs10.pdf
  404 - should be: https://www.usb.org/sites/default/files/usbccs10.pdf


3/ can't