testsuite error on Solaris 2.6 [Re: Announce: OpenSSH 7.5 released]

Tom G. Christensen
2017-03-31T19:30:10Z

On 27/03/17 17:06, Tom G. Christensen wrote:
> On 20/03/17 14:31, Damien Miller wrote:
>> OpenSSH 7.5 has just been released. It will be available from the
>> mirrors listed at http://www.openssh.com/ shortly.
>>
>
> I'm seeing an error in the testsuite on Solaris 2.6:
> test_utf8: ........................
> regress/unittests/utf8/tests.c:48 test #25 "c_esc"
> ASSERT_INT_EQ(len, wantlen) failed:
>          len = -1
>      wantlen = 5
>
>
> It seems this might be related to the fact that on Solaris < 7
> nl_langinfo(CODESET) returns an empty string when the codeset is ASCII.
>
> To verify I put together a small testprogram that does a setlocale
> followed by nl_langinfo(CODESET) and for the 'C' locale it returns
an
> empty string while 'da' returns ISO8859-1 as expected.
>

I worked some more on this and comparing locales and their codesets
between Solaris 2.6 and 7 I'm reasonably sure that an empty codeset
value means ascii on Solaris 2.6.
So to ensure proper operation and get rid of the error in the testsuite
I've added "" as a valid alias for ascii in dangerous_locales().
With this change in place the testsuite runs with no errors.

-tgc