Call for testing: OpenSSH 7.8

Michael Felt michael at felt.demon.nl
Mon Aug 20 19:28:26 AEST 2018


On 20/08/2018 10:33, Michael Felt wrote:
> On 17/08/2018 17:15, Ingo Schwarze wrote:
>> Hi Darren,
>>
>> Darren Tucker wrote on Fri, Aug 17, 2018 at 07:16:03AM -0700:
>>> On 13 August 2018 at 15:06, Val Baranov <val.baranov at duke.edu> wrote:
>>>> test_utf8: ........................
>>>> regress/unittests/utf8/tests.c:48 test #25 "c_esc"
>>>> ASSERT_INT_EQ(len, wantlen) failed:
>>>>          len = -1
>>>>      wantlen = 5
>>> This boils down to meaning OpenSSH's smnprintf call failed for the
>>> string "\033x" instead of returning the expected escaped version
>>> "\\033x".  The code is in utf8.c but I am not sure why it failed.
>> Actually, it is *supposed* to fail unless the locale is either
>> UTF-8 or the POSIX (ASCII) locale, because '\033' is not a
>> printable character and attempting to escape invalid stuff
>> is unsafe in arbitrary locales.
>>
>>> What's your locale set to?
> OK. Double checked.
> AIX defaults:
> environment:
> LANG=en_US
> root at x064:[/usr/lib/nls/loc]ls -l /usr/lib/nls/loc/en_US
> lrwxrwxrwx    1 bin      bin              32 Aug 02 06:40
> /usr/lib/nls/loc/en_US -> /usr/lib/nls/loc/en_US.ISO8859-1
>
> And, after installing the UTF-8 fileset ( 
> /usr/lib/nls/loc/en_US.UTF-8                bos.loc.utf.EN_US     File)
>
> The test is attempted, and fails.
>
> Question #1 - how can I run only this test? Then it is easier to look
> for potential resolutions.
>
>> It doesn't matter on OpenBSD, but maybe you should consider setting
>> LC_CTYPE=en_US.UTF-8 by default in TEST_ENV in the portable version
>> of the test suite?  Of course, it would do no harm on OpenBSD either.
> While I wait for the answer - I'll just run the tests prefixed with
> export  LC_CTYPE=en_US.UTF-8 - maybe that is all that is needed.
Test fails.

Use smitty to change primary "cultural", "language" and "keyboard"

  Primary CULTURAL convention  UTF-8   English (United States)
[EN_US]                         +
  Primary LANGUAGE translation UTF-8   English (UTF-8)
[en.UTF-8]                              +
  Primary KEYBOARD             UTF-8   English(POSIX) KBD ID 103P
[EN_US]                      +

initially fails, as these are also required:
Error:  The selected settings for cultural convention, language,
        and keyboard require the installation of additional filesets
        that are not currently installed.  Select an installation device
        that contains the following filesets:

 bos.msg.EN_US.net.tcp.client
 bos.msg.EN_US.rte

After that is added, and set:
root at x064:[/data/prj/openbsd/mindrot/openssh-7.8.0.20]grep LANG
/etc/environment
LANG=EN_US
root at x064:[/data/prj/openbsd/mindrot/openssh-7.8.0.20]grep LC
/etc/environment
LC__FASTMSG=true
LC_MESSAGES=C at lft

root at x064:[/usr/lib/nls/loc]ls -l EN_US
lrwxrwxrwx    1 bin      bin              28 Aug 03 12:28 EN_US ->
/usr/lib/nls/loc/EN_US.UTF-8

unset LC_CTYPE
export LANG=EN_US

Still same error sequence as above.

regress/unittests/utf8/tests.c:48 test #25 "c_esc"
ASSERT_INT_EQ(len, wantlen) failed:
         len = -1
     wantlen = 5
make: 1254-059 The signal code from the last command is 6.

(back to question #2: en_US is what I would expect to be enough to
satisfy "posix". traditionally EN_US has been to mean iso8559-15 while
en_US has been iso8559-1. Not clear on what the key differences are. So,
what is needed for OpenBSD definition of "POSIX"?


>
> Reminds me of Question #2: how is your definition of POSIX different
> from ISO8859-1 (and/or ISO8859-15, the "UK" or EN_US variant)?
>> If you worry that some target system might not have a en_US.UTF-8
>> locale installed, you can look at
>>
>>   http://mandoc.bsd.lv/cgi-bin/cvsweb/configure?rev=HEAD
>>
>> for a way to autodetect a suitable UTF-8 locale - look for UTF8_LOCALE
>> in that script.
>>
>> But that may be overkill for OpenSSH.  Just recklessly forcing
>> LC_CTYPE=en_US.UTF-8 may be good enough for OpenSSH's purposes.
>> If the target system doesn't provide it, setlocale(3) will fall
>> back to POSIX, which should be good enough for the tests.
>>
>> Yours,
>>   Ingo
>> _______________________________________________
>> openssh-unix-dev mailing list
>> openssh-unix-dev at mindrot.org
>> https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev
>
>
> _______________________________________________
> openssh-unix-dev mailing list
> openssh-unix-dev at mindrot.org
> https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev
>




More information about the openssh-unix-dev mailing list