public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* ssh-host-config: patch fix debug option + broken for me on Vista (non-domain)
@ 2017-01-18  3:34 Shaddy Baddah
  2017-01-18  3:38 ` Shaddy Baddah
  2017-01-19 10:38 ` Corinna Vinschen
  0 siblings, 2 replies; 10+ messages in thread
From: Shaddy Baddah @ 2017-01-18  3:34 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 4102 bytes --]

Hi,

First please find attached a simple patch that fixes a problem I
encountered running ssh-host-config with the --debug option.

Pretty simple. Without redirecting the output of csih_stacktrace() to
stderr, then (3.5.4) Command Substitution of functions that call it will
run into problems. And the one that I encountered was this one:

cygwin-service-installation-helper.sh:1147:csih_mktemp ()
cygwin-service-installation-helper.sh:1148:{
cygwin-service-installation-helper.sh:1149:  csih_stacktrace "${@}"
cygwin-service-installation-helper.sh:1150:  $_csih_trace
cygwin-service-installation-helper.sh:1152:  local __umask=$(umask)
cygwin-service-installation-helper.sh:1153:  local rval
cygwin-service-installation-helper.sh:1154:  local tmpdir
cygwin-service-installation-helper.sh:1156: 
tmpdir=$(csih_writable_tmpdir) || return 1
cygwin-service-installation-helper.sh:1158:  umask 0077
cygwin-service-installation-helper.sh:1159:  /usr/bin/mktemp 
--tmpdir="${tmpdir}" "$@"

tmpdir will be filled with stacktrace output from the
csih_writable_tmpdir() call, and mktemp will fail.

Further, there is definitely a bug, at least for me, with running
ssh-host-config on Vista (32 bit, but that shouldn't matter) in a
non-domain environment.

The script obviously confuses the form of username construct to use at
various points. I encounter the following error:

*** Info: This script plans to use 'cyg_server'.
*** Info: 'cyg_server' will only be used by registered services.
no
*** Query: Create new privileged user account 'LIBRA-VW\cyg_server' 
(Cygwin name: 'libra-vw+cyg_server')? (yes/no) yes
*** Info: Please enter a password for new user libra-vw+cyg_server. 
Please be sure
*** Info: that this password matches the password rules given on your 
system.
*** Info: Entering no password will exit the configuration.
*** Query: Please enter the password:
*** Query: Reenter:

*** Info: User 'libra-vw+cyg_server' has been created with password 
'melum0m0'.
*** Info: If you change the password, please remember also to change the
*** Info: password for the installed services which use (or will soon use)
*** Info: the 'libra-vw+cyg_server' account.

passwd: unknown user libra-vw+cyg_server
*** Warning: Setting password expiry for user 'libra-vw+cyg_server' failed!
*** Warning: Please check that password never expires or set it to your 
needs.
No user or group 'libra-vw+cyg_server' known.
*** Warning: Assigning the appropriate privileges to user 
'libra-vw+cyg_server' failed!
*** ERROR: There was a serious problem creating a privileged user.
yes
*** Warning: Expected privileged user 'libra-vw+cyg_server' does not exist.
*** Warning: Defaulting to 'SYSTEM'

*** Info: The sshd service has been installed under the LocalSystem
*** Info: account (also known as SYSTEM). To start the service now, call
*** Info: `net start sshd' or `cygrunsrv -S sshd'.  Otherwise, it
*** Info: will start automatically after the next reboot.

*** Warning: Host configuration exited with 1 errors or warnings!
*** Warning: Make sure that all problems reported are fixed,
*** Warning: then re-run ssh-host-config.


And I'm sure the problem is that this well-intended change to the script
fails on the assumption that LOGONSERVER is always populated. It isn't
for me on Vista.

cygwin-service-installation-helper.sh:2884:      # This test succeeds on 
domain member machines only, not on DCs.
cygwin-service-installation-helper.sh:2885:      if [ 
"\\\\${COMPUTERNAME,,*}" != "${LOGONSERVER,,*}" \
cygwin-service-installation-helper.sh:2886:        -a "${LOGONSERVER}" 
!= "\\\\MicrosoftAccount" ]
cygwin-service-installation-helper.sh:2887:      then
cygwin-service-installation-helper.sh:2888:     # Lowercase of USERDOMAIN
cygwin-service-installation-helper.sh:2889: 
csih_PRIVILEGED_USERNAME="${COMPUTERNAME,,*}+${username}"
cygwin-service-installation-helper.sh:2890:      fi
cygwin-service-installation-helper.sh:2891:    fi

I fixed this by modifying the test to check LOGONSERVER is not empty:

if [ -n "${LOGONSERVER}" -a "\\\\...

Can this be fixed in the next release?

-- 
Regards,
Shaddy



[-- Attachment #2: fix-ssh-host-config-debug.diff --]
[-- Type: text/x-patch, Size: 401 bytes --]

--- cygwin-service-installation-helper.sh.orig	2015-10-28 20:23:49.000000000 +1100
+++ cygwin-service-installation-helper.sh	2017-01-18 14:04:40.856126700 +1100
@@ -384,7 +384,7 @@
       fi
     n=$(($n-1))
     done
-    echo -e "${_csih_STACKTRACE_STR} ${val} ${@}"
+    echo -e "${_csih_STACKTRACE_STR} ${val} ${@}" 1>&2
   fi
 } # === End of csih_stacktrace() === #
 readonly -f csih_stacktrace


[-- Attachment #3: Type: text/plain, Size: 219 bytes --]


--
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

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2017-01-23 20:19 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-18  3:34 ssh-host-config: patch fix debug option + broken for me on Vista (non-domain) Shaddy Baddah
2017-01-18  3:38 ` Shaddy Baddah
2017-01-19 10:38 ` Corinna Vinschen
2017-01-19 11:26   ` Shaddy Baddah
2017-01-19 18:16     ` Corinna Vinschen
2017-01-20 22:40       ` szgyg
2017-01-23  3:13       ` Shaddy Baddah
2017-01-23 10:19         ` Corinna Vinschen
2017-01-23 19:50           ` Achim Gratz
2017-01-23 20:19             ` Wells, Roger K.

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).