git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Randall S. Becker" <rsbecker@nexbridge.com>
To: "'Elijah Newren'" <newren@gmail.com>
Cc: "'Git Mailing List'" <git@vger.kernel.org>
Subject: RE: [Patch 1/3] connect.c: add nonstopssh variant to the sshVariant set.
Date: Fri, 30 Apr 2021 13:32:08 -0400	[thread overview]
Message-ID: <012901d73de6$c25a4ff0$470eefd0$@nexbridge.com> (raw)
In-Reply-To: <CABPp-BE_5c1vXuxPWTO82cGmyajXxpxW+-ycZ+-5vy+tsV3bUA@mail.gmail.com>

On April 30, 2021 1:17 PM, Elijah Newren wrote:
>On Fri, Apr 30, 2021 at 9:38 AM Randall S. Becker <rsbecker@nexbridge.com>
>wrote:
>>
>> On April 30, 2021 12:25 PM, Elijah Newren wrote:
>> >On Fri, Apr 30, 2021 at 7:58 AM Randall S. Becker
>> ><rsbecker@nexbridge.com>
>> >wrote:
>> >>
>> >> From ba4beb8ed0dff67ae6b95692d346adce346e2871 Mon Sep 17 00:00:00
>> >2001
>> >> From: "Randall S. Becker" <rsbecker@nexbridge.com>
>> >> Date: Fri, 30 Apr 2021 09:56:09 -0400
>> >> Subject: [Patch 1/3] connect.c: add nonstopssh variant to the sshVariant set.
>> >>
>> >> This enhancement allows the NonStop SSH subsystem to be supported
>> >> by git without the need of a wrapper script. The command arguments
>> >> for the platform SSH client in /G/system/zssh/sshoss are
>> >> constructed based on optional supplied environment variables
>> >> SSH2_PROCESS_NAME (system defined), SSH_SUPPRESS_QUIET, and
>SSH_SUPPRESS_BANNER.
>> >
>> >Before introducing 3 new special environment variables, I think this
>> >commit message should explain why you can't just use
>> >
>> >GIT_SSH_COMMAND="/G/system/zssh/sshoss -Z -Q -S"
>>
>> No, it would be GIT_SSH_COMMAND='/G/system/zssh/sshoss -Z -Q -S $ZSSH0'
>and that does not work correctly in the current git code base.
>
>Is the problem that $ZSSH0 may contain spaces, or that $ZSSH0 is expected to
>change over time and you don't want to have to re-run
>
>GIT_SSH_COMMAND="/G/system/zssh/sshoss -Z -Q -S $ZSSH0"
>
>each time?
>
>> >particularly since GIT_SSH_COMMAND was introduced specifically so
>> >people wouldn't have to create wrapper scripts to pass to GIT_SSH.
>>
>> Going back through the archive to why this is needed:
>> https://public-inbox.org/git/008101d4f3db$56c20410$04460c30$@nexbridge
>> .com/
>>
>> The SSH2_PROCESS_NAME is a system environment variable, not something I
>am introducing, that specifies the name of the SSH process. It's format is
>[\NODE.]$NAME, which causes shell to blank it out. A wrapper script is currently
>mandatory on this platform.
>>
>> I have been looking for a solution since that thread.
>
>Ah, so it's the case that $ZSSH0 changes for you, but is set somewhere by the
>system and you don't want to have to redefine GIT_SSH_COMMAND each time
>you log into some box.
>
>At a minimum, this explanation should be included in the commit message here,
>otherwise the problem you're trying to address won't be understood by
>reviewers.  It wasn't at all clear to me from your cover letter or this commit,
>and I even had trouble parsing it out of the other thread you linked to.  Only this
>above paragraph about SSH2_PROCESS_NAME and its value on your system
>explain it. (It's still hard to tell what from your "[\NODE.]$NAME" is literal text
>and what is meant to be replaced, though, it might be useful to have an example
>of the literal value of SSH2_PROCESS_NAME on some random node in the
>explanation as well.)

SSH2_PROCESS_NAME tends not to change much, although it is bound to a set of subnets. Example values are $ZSSH0 or \NODE.$ZSSH0, depending on whether the system admit decides to qualify the name with it's cluster host name, since you could use a different process on a different node. The name may change between repositories - so going to github.com would commonly have a different process name than a local enterprise server. I really would consider putting this in .gitconfig so it can be repository-specific, but I'd prefer to see whether this change has legs before doing that.

There are use cases on the platform where, from the user's perspective, this value may be random. It is set on an inbound SSH session by the server and provided to the shell in that variable. Users will either use the system supplied process (somewhat QoS-related) or will select their own.

Do you have suggestions about the other two settings? I don't like the environment variable approach, but passing switches through git seems pretty heavy to me.

I will do what I can to expand the discussion in the connect.c commit on V2.

-Randall


  reply	other threads:[~2021-04-30 17:32 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-30 14:55 [Patch 1/3] connect.c: add nonstopssh variant to the sshVariant set Randall S. Becker
2021-04-30 16:25 ` Elijah Newren
2021-04-30 16:38   ` Randall S. Becker
2021-04-30 17:17     ` Elijah Newren
2021-04-30 17:32       ` Randall S. Becker [this message]
2021-05-10 15:24         ` Randall S. Becker
2021-06-04 19:29           ` Randall S. Becker
2021-06-04 19:51             ` Junio C Hamano
2021-06-04 20:35               ` Randall S. Becker
2021-06-05 21:56               ` Randall S. Becker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='012901d73de6$c25a4ff0$470eefd0$@nexbridge.com' \
    --to=rsbecker@nexbridge.com \
    --cc=git@vger.kernel.org \
    --cc=newren@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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