ssh-host-config produces Win32 error 1057 on systems with non-ASCII computer names

Johan Ehnberg johan@ehnberg.net
Wed Mar 6 11:11:00 GMT 2013


On 2013-03-06 12:39, Corinna Vinschen wrote:
> On Mar  6 12:26, Johan Ehnberg wrote:
>> Dears,
>>
>> I am running a fresh install of the latest stable cygwin on a fresh
>> install of vanilla Windows 7 64-bit Finnish, with computer name
>> "Käyttäjä-PC". When I run 'ssh-host-config -y' the service
>> installation phase fails on the Finnish equivalent of "cygrunsrv:
>> Error installing a service: CreateService:  Win32 error 1057: The
>> account name is invalid or does not exist, or the password is
>> invalid for the account name specified."
>>
>> Changing the computer name to just "PC", rebooting and retrying
>> works around the problem. Localized output from Windows in cygwin
>> with non-ASCII characters still looks awful by default though :)
>>
>> Running 'ssh-host-config -y -d' succeeds in installing the service
>> with warnings, and as cyg_server is not taking over incoming privsep
>> logins it still does not work. A wild guess is that the non-ASCII
>> computer name somehow affects the user creation or granting
>> privileges.
>>
>> As a side note, non-ASCII user names work well and are not affected
>> by this. As long as proper code pages are consistently used,
>> non-ASCII user names are a challenge to be handled primarily between
>> different systems consoles and file formats.
>>
>> I thought I'd throw this out there as could not find earlier
>> messages about this. At least someone googling can find the
>> workaround. Non-ASCII host/computer names are often not well handled
>> elsewhere anyway, so there are more reasons than this to avoid them.
>
> This is the fault of the cygrunsrv tool, which still uses the
> ANSI variants of the Win32 API.  The default codeset under Cygwin
> is UTF-8, but that doesn't match your Windows ANSI codepage 1252,
> so that's what probably goes wrong.
>
> Cygrunsrv has to be changed to use the UNICODE variants of the
> Windows Service API to get that working.
>
>
> Corinna
>

Thank you for the prompt answer, it seems to be just on the spot.

For future reference, the default codepage for this Windows variant, as 
reported by chcp, is 850. Using codepage 1252 works mostly, but will 
garble up cmd with some characters and may cause trouble in batch 
scripts with non-ASCII characters. Interestingly, Notepad does not 
support codepage 850 but uses codepage 1252 on the same system. This can 
fool the user and mess up scripts after edits.

On the other hand, I have understood that Windows is also known for not 
running Unicode batch scripts properly - changing cygrunsrv alone may 
not yet solve this for automated batch script installations?

Johan

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list