Re: Case-sensitivity of timezone paths in the installer

2021-05-01 Thread Luigi30
Okay, thanks for the clarification.

If it's by design, and not all implementations may be case-sensitive,
should the installer clarify in case of a user not entering a valid timezone
path that paths are case-sensitive? Right now I think it could be made a
little clearer that it's looking for an exact match. I know it's not a big deal
but changing the error message might make things clearer for some users.

Katherine

On Sat, May 1, 2021 at 9:55 PM Theo de Raadt  wrote:
>
> Luigi30  wrote:
>
> > I noticed that timezone paths in the installer step that sets the system
> > timezone are case-sensitive to match the paths in /usr/share/zoneinfo.
> > (Specifically, it's set_timezone() in 
> > /usr/src/distrib/miniroot/install.sub.)
> >
> > It seems like the behavior should be more like:
> >
> > - Upon entering set_timezone(), it builds its /usr/share/zoneinfo lookup
> > table and converts it to lowercase with sed.
> > - User enters "America/chicago" or something for the timezone path.
> > - The script converts the timezone path to lowercase with sed.
> > - The script compares the lowercase path to the /usr/share/zoneinfo table.
> > - If there's a match, it uses the properly capitalized path.
> >
> > As implemented now, the script would only confusingly reply that there
> > is no such timezone as America/chicago.
> >
> > I started working on a fix for this but before I go tilting at windmills,
> > is there a technical reason that the script behaves this way?
> > Issues with internationalization? Or is it just an oversight?
>
> I disagree with your assessment and proposal.
>
> "Do not use names that differ only in case. Although the reference
> implementation is case-sensitive, some other implementations are not,
> and they would mishandle names differing only in case."
>
> Timezones are case sensitive.
>
> We may as well force people to correctly select the name in this
> situation, because if they "learn" that lowercase is acceptable in the
> installer, they may return to userland and insist that
> TZ=America/chicago should work.
>
> % TZ=America/Chicago date
> Sat May  1 21:53:50 CDT 2021
> % TZ=America/chicago date
> Sun May  2 02:53:47 GMT 2021
>
> As you can see, it does not work.



Case-sensitivity of timezone paths in the installer

2021-05-01 Thread Luigi30
Hi,

I noticed that timezone paths in the installer step that sets the system
timezone are case-sensitive to match the paths in /usr/share/zoneinfo.
(Specifically, it's set_timezone() in /usr/src/distrib/miniroot/install.sub.)

It seems like the behavior should be more like:

- Upon entering set_timezone(), it builds its /usr/share/zoneinfo lookup
table and converts it to lowercase with sed.
- User enters "America/chicago" or something for the timezone path.
- The script converts the timezone path to lowercase with sed.
- The script compares the lowercase path to the /usr/share/zoneinfo table.
- If there's a match, it uses the properly capitalized path.

As implemented now, the script would only confusingly reply that there
is no such timezone as America/chicago.

I started working on a fix for this but before I go tilting at windmills,
is there a technical reason that the script behaves this way?
Issues with internationalization? Or is it just an oversight?

Katherine



Recent "elliptic curve" -> "supported groups" change in libssl

2018-11-05 Thread Luigi30
Hi,

As someone with interests in kernel development and a lot of spare
time, I want to work on OS patches. I just installed OpenBSD 6.4 in a
clean development VM and started building the -current branch from CVS
to get up to date with the latest commits.

I noticed that the build was failing with an error in
usr.bin/openssl/c_sb.c line 703 caused by a missing #define. I traced
the cause back to this commit earlier today updating libssl's TLS
support for RFC 7919 compliance:
https://github.com/openbsd/src/commit/2cdb2b1d3f3f9272c0a1acf5fe1f067f3db09e29#diff-e050d3ba43ebfa12f82b36086dca3ea3

It renames the Elliptic Curves extensions to Supported Groups,
including the TLSEXT_TYPE_elliptic_curves #define which became
TLSEXT_TYPE_supported_groups. Simple, right? I updated the #define and
extname to match the new supported groups name and continued building.
Everything was fine and I was able to access HTTPS web pages and
retrieve packages.

However, when I went to create the diff afterward, I got an error from CVS...

--
ssh_dispatch_run_fatal: Connection to 129.128.197.20 port 22: invalid
elliptic curve value
--

Uh-oh. I'm going to assume that this is connected to the elliptic
curve diff. I tried a couple different anoncvs mirrors with no effect.
Just wondering if this was a known problem with -current or something
hokey going on with my system.

Katherine