diff --git a/hkexsh/hkexsh-vis.gv b/hkexsh/hkexsh-vis.gv index 7ea9c73..ecba7b4 100755 --- a/hkexsh/hkexsh-vis.gv +++ b/hkexsh/hkexsh-vis.gv @@ -20,71 +20,71 @@ labeljust="c"; fontsize="18"; bgcolor="#e6ecfa"; - "blitter.com/go/hkexsh/hkexsh.doShellMode$2" [ label="doShellMode$2" style="dotted,filled" fillcolor="lightblue" ] - "blitter.com/go/hkexsh/hkexsh.doShellMode$2$1" [ fillcolor="lightblue" label="doShellMode$2$1" style="dotted,filled" ] - "blitter.com/go/hkexsh/hkexsh.doCopyMode" [ fillcolor="lightblue" label="doCopyMode" penwidth="0.5" ] - "blitter.com/go/hkexsh/hkexsh.main$1" [ fillcolor="lightblue" label="main$1" style="dotted,filled" ] - "blitter.com/go/hkexsh/hkexsh.main$2" [ style="dotted,filled" fillcolor="lightblue" label="main$2" ] - "blitter.com/go/hkexsh/hkexsh.handleTermResizes$1" [ fillcolor="lightblue" label="handleTermResizes$1" style="dotted,filled" ] - "blitter.com/go/hkexsh/hkexsh.GetSize" [ fillcolor="lightblue" label="GetSize" penwidth="1.5" ] - "blitter.com/go/hkexsh/hkexsh.rejectUserMsg" [ fillcolor="lightblue" label="rejectUserMsg" penwidth="0.5" ] "blitter.com/go/hkexsh/hkexsh.reqTunnel" [ fillcolor="lightblue" label="reqTunnel" penwidth="0.5" ] - "blitter.com/go/hkexsh/hkexsh.launchTuns" [ label="launchTuns" penwidth="0.5" fillcolor="lightblue" ] - "blitter.com/go/hkexsh/hkexsh.sendSessionParams" [ fillcolor="lightblue" label="sendSessionParams" penwidth="0.5" ] - "blitter.com/go/hkexsh/hkexsh.doShellMode$1" [ fillcolor="lightblue" label="doShellMode$1" style="dotted,filled" ] - "blitter.com/go/hkexsh/hkexsh.doShellMode" [ fillcolor="lightblue" label="doShellMode" penwidth="0.5" ] - "blitter.com/go/hkexsh/hkexsh.handleTermResizes" [ fillcolor="lightblue" label="handleTermResizes" penwidth="0.5" ] + "blitter.com/go/hkexsh/hkexsh.launchTuns" [ fillcolor="lightblue" label="launchTuns" penwidth="0.5" ] + "blitter.com/go/hkexsh/hkexsh.rejectUserMsg" [ penwidth="0.5" fillcolor="lightblue" label="rejectUserMsg" ] "blitter.com/go/hkexsh/hkexsh.main" [ fillcolor="lightblue" label="main" penwidth="0.5" ] "blitter.com/go/hkexsh/hkexsh.parseNonSwitchArgs" [ fillcolor="lightblue" label="parseNonSwitchArgs" penwidth="0.5" ] + "blitter.com/go/hkexsh/hkexsh.main$1" [ fillcolor="lightblue" label="deferRestore" style="dotted,filled" ] + "blitter.com/go/hkexsh/hkexsh.sendSessionParams" [ label="sendSessionParams" penwidth="0.5" fillcolor="lightblue" ] + "blitter.com/go/hkexsh/hkexsh.main$2" [ fillcolor="lightblue" label="deferCloseChaff" style="dotted,filled" ] + "blitter.com/go/hkexsh/hkexsh.doShellMode$1" [ fillcolor="lightblue" label="shellRemoteToStdin" style="dotted,filled" ] + "blitter.com/go/hkexsh/hkexsh.doShellMode" [ penwidth="0.5" fillcolor="lightblue" label="doShellMode" ] + "blitter.com/go/hkexsh/hkexsh.handleTermResizes$1" [ fillcolor="lightblue" label="handleTermResizes$1" style="dotted,filled" ] + "blitter.com/go/hkexsh/hkexsh.GetSize" [ penwidth="1.5" fillcolor="lightblue" label="GetSize" ] + "blitter.com/go/hkexsh/hkexsh.handleTermResizes" [ label="handleTermResizes" penwidth="0.5" fillcolor="lightblue" ] + "blitter.com/go/hkexsh/hkexsh.doShellMode$2" [ fillcolor="lightblue" label="shellStdinToRemote" style="dotted,filled" ] + "blitter.com/go/hkexsh/hkexsh.doShellMode$2$1" [ fillcolor="lightblue" label="doShellMode$2$1" style="dotted,filled" ] + "blitter.com/go/hkexsh/hkexsh.doCopyMode" [ penwidth="0.5" fillcolor="lightblue" label="doCopyMode" ] "blitter.com/go/hkexsh/hkexsh.usageShell" [ fillcolor="lightblue" label="usageShell" penwidth="0.5" ] - "blitter.com/go/hkexsh/hkexsh.usageCp" [ fillcolor="lightblue" label="usageCp" penwidth="0.5" ] + "blitter.com/go/hkexsh/hkexsh.usageCp" [ penwidth="0.5" fillcolor="lightblue" label="usageCp" ] subgraph "cluster_blitter.com/go/hkexsh" { URL="/?f=blitter.com/go/hkexsh"; tooltip="package: blitter.com/go/hkexsh"; -fontsize="16"; +fontname="bold"; +label="[hkexsh]"; style="filled"; fillcolor="lightyellow"; -label="[hkexsh]"; -penwidth="0.8"; -fontname="bold"; rank="sink"; +penwidth="0.8"; +fontsize="16"; - "blitter.com/go/hkexsh.Restore" [ fillcolor="moccasin" label="Restore" penwidth="1.5" ] "blitter.com/go/hkexsh.MakeRaw" [ fillcolor="moccasin" label="MakeRaw" penwidth="1.5" ] + "blitter.com/go/hkexsh.Restore" [ fillcolor="moccasin" label="Restore" penwidth="1.5" ] "blitter.com/go/hkexsh.ReadPassword" [ fillcolor="moccasin" label="ReadPassword" penwidth="1.5" ] "blitter.com/go/hkexsh.NewSession" [ fillcolor="moccasin" label="NewSession" penwidth="1.5" ] subgraph "cluster_*blitter.com/go/hkexsh.Session" { - labelloc="b"; -style="rounded,filled"; -fillcolor="wheat2"; + fillcolor="wheat2"; label="(*Session)"; tooltip="type: *blitter.com/go/hkexsh.Session"; penwidth="0.5"; fontsize="15"; fontcolor="#222222"; +labelloc="b"; +style="rounded,filled"; "(*blitter.com/go/hkexsh.Session).SetStatus" [ fillcolor="moccasin" label="SetStatus" penwidth="1.5" ] } subgraph "cluster_blitter.com/go/hkexsh.Session" { - labelloc="b"; -style="rounded,filled"; -fillcolor="wheat2"; -label="(Session)"; -tooltip="type: blitter.com/go/hkexsh.Session"; + tooltip="type: blitter.com/go/hkexsh.Session"; penwidth="0.5"; fontsize="15"; fontcolor="#222222"; +labelloc="b"; +style="rounded,filled"; +fillcolor="wheat2"; +label="(Session)"; - "(blitter.com/go/hkexsh.Session).Cmd" [ fillcolor="moccasin" label="Cmd" penwidth="1.5" ] "(blitter.com/go/hkexsh.Session).Op" [ fillcolor="moccasin" label="Op" penwidth="1.5" ] "(blitter.com/go/hkexsh.Session).Who" [ fillcolor="moccasin" label="Who" penwidth="1.5" ] - "(blitter.com/go/hkexsh.Session).ConnHost" [ fillcolor="moccasin" label="ConnHost" penwidth="1.5" ] - "(blitter.com/go/hkexsh.Session).TermType" [ fillcolor="moccasin" label="TermType" penwidth="1.5" ] - "(blitter.com/go/hkexsh.Session).AuthCookie" [ fillcolor="moccasin" label="AuthCookie" penwidth="1.5" ] + "(blitter.com/go/hkexsh.Session).ConnHost" [ penwidth="1.5" fillcolor="moccasin" label="ConnHost" ] + "(blitter.com/go/hkexsh.Session).TermType" [ label="TermType" penwidth="1.5" fillcolor="moccasin" ] + "(blitter.com/go/hkexsh.Session).Cmd" [ fillcolor="moccasin" label="Cmd" penwidth="1.5" ] + "(blitter.com/go/hkexsh.Session).AuthCookie" [ label="AuthCookie" penwidth="1.5" fillcolor="moccasin" ] "(blitter.com/go/hkexsh.Session).Status" [ fillcolor="moccasin" label="Status" penwidth="1.5" ] } @@ -95,132 +95,106 @@ fontcolor="#222222"; fontname="bold"; rank="sink"; label="[hkexnet]"; -tooltip="package: blitter.com/go/hkexsh/hkexnet"; +URL="/?f=blitter.com/go/hkexsh/hkexnet"; penwidth="0.8"; fontsize="16"; +tooltip="package: blitter.com/go/hkexsh/hkexnet"; style="filled"; fillcolor="lightyellow"; -URL="/?f=blitter.com/go/hkexsh/hkexnet"; - "blitter.com/go/hkexsh/hkexnet.Init" [ penwidth="1.5" fillcolor="moccasin" label="Init" ] + "blitter.com/go/hkexsh/hkexnet.Init" [ fillcolor="moccasin" label="Init" penwidth="1.5" ] "blitter.com/go/hkexsh/hkexnet.Dial" [ penwidth="1.5" fillcolor="moccasin" label="Dial" ] subgraph "cluster_*blitter.com/go/hkexsh/hkexnet.Conn" { - fontsize="15"; -fontcolor="#222222"; -labelloc="b"; -style="rounded,filled"; -fillcolor="wheat2"; -label="(*Conn)"; + label="(*Conn)"; tooltip="type: *blitter.com/go/hkexsh/hkexnet.Conn"; -penwidth="0.5"; - - "(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket" [ fillcolor="moccasin" label="WritePacket" penwidth="1.5" ] - "(*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus" [ fillcolor="moccasin" label="SetStatus" penwidth="1.5" ] - "(*blitter.com/go/hkexsh/hkexnet.Conn).Close" [ fillcolor="moccasin" label="Close" penwidth="1.5" ] - "(*blitter.com/go/hkexsh/hkexnet.Conn).SetupChaff" [ fillcolor="moccasin" label="SetupChaff" penwidth="1.5" ] - "(*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff" [ fillcolor="moccasin" label="EnableChaff" penwidth="1.5" ] - "(*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff" [ fillcolor="moccasin" label="DisableChaff" penwidth="1.5" ] - "(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff" [ fillcolor="moccasin" label="ShutdownChaff" penwidth="1.5" ] - - } - - subgraph "cluster_blitter.com/go/hkexsh/hkexnet.Conn" { - tooltip="type: blitter.com/go/hkexsh/hkexnet.Conn"; penwidth="0.5"; fontsize="15"; fontcolor="#222222"; labelloc="b"; style="rounded,filled"; fillcolor="wheat2"; -label="(Conn)"; + "(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket" [ label="WritePacket" penwidth="1.5" fillcolor="moccasin" ] + "(*blitter.com/go/hkexsh/hkexnet.Conn).Close" [ fillcolor="moccasin" label="Close" penwidth="1.5" ] + "(*blitter.com/go/hkexsh/hkexnet.Conn).SetupChaff" [ fillcolor="moccasin" label="SetupChaff" penwidth="1.5" ] + "(*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff" [ fillcolor="moccasin" label="EnableChaff" penwidth="1.5" ] + "(*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff" [ fillcolor="moccasin" label="DisableChaff" penwidth="1.5" ] + "(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff" [ label="ShutdownChaff" penwidth="1.5" fillcolor="moccasin" ] + "(*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus" [ fillcolor="moccasin" label="SetStatus" penwidth="1.5" ] + + } + + subgraph "cluster_blitter.com/go/hkexsh/hkexnet.Conn" { + style="rounded,filled"; +fillcolor="wheat2"; +label="(Conn)"; +tooltip="type: blitter.com/go/hkexsh/hkexnet.Conn"; +penwidth="0.5"; +fontsize="15"; +fontcolor="#222222"; +labelloc="b"; + + "(blitter.com/go/hkexsh/hkexnet.Conn).Write" [ fillcolor="moccasin" label="Write" penwidth="1.5" ] "(blitter.com/go/hkexsh/hkexnet.Conn).Read" [ penwidth="1.5" fillcolor="moccasin" label="Read" ] "(blitter.com/go/hkexsh/hkexnet.Conn).GetStatus" [ fillcolor="moccasin" label="GetStatus" penwidth="1.5" ] - "(blitter.com/go/hkexsh/hkexnet.Conn).Write" [ fillcolor="moccasin" label="Write" penwidth="1.5" ] } } subgraph "cluster_blitter.com/go/hkexsh/logger" { - style="filled"; -fillcolor="lightyellow"; -rank="sink"; -label="[logger]"; -tooltip="package: blitter.com/go/hkexsh/logger"; + rank="sink"; penwidth="0.8"; fontsize="16"; fontname="bold"; +label="[logger]"; URL="/?f=blitter.com/go/hkexsh/logger"; +tooltip="package: blitter.com/go/hkexsh/logger"; +style="filled"; +fillcolor="lightyellow"; - "blitter.com/go/hkexsh/logger.LogDebug" [ penwidth="1.5" fillcolor="moccasin" label="LogDebug" ] - "blitter.com/go/hkexsh/logger.New" [ fillcolor="moccasin" label="New" penwidth="1.5" ] + "blitter.com/go/hkexsh/logger.LogDebug" [ fillcolor="moccasin" label="LogDebug" penwidth="1.5" ] + "blitter.com/go/hkexsh/logger.New" [ penwidth="1.5" fillcolor="moccasin" label="New" ] } subgraph "cluster_blitter.com/go/hkexsh/spinsult" { - fontsize="16"; -style="filled"; -fontname="bold"; -rank="sink"; + label="[spinsult]"; URL="/?f=blitter.com/go/hkexsh/spinsult"; +rank="sink"; +fontsize="16"; +style="filled"; +fillcolor="lightyellow"; +fontname="bold"; tooltip="package: blitter.com/go/hkexsh/spinsult"; penwidth="0.8"; -fillcolor="lightyellow"; -label="[spinsult]"; "blitter.com/go/hkexsh/spinsult.GetSentence" [ fillcolor="moccasin" label="GetSentence" penwidth="1.5" ] } subgraph "cluster_github.com/mattn/go-isatty" { - fontsize="16"; + tooltip="package: github.com/mattn/go-isatty"; +fontname="bold"; +rank="sink"; label="[isatty]"; URL="/?f=github.com/mattn/go-isatty"; -tooltip="package: github.com/mattn/go-isatty"; -rank="sink"; penwidth="0.8"; +fontsize="16"; style="filled"; fillcolor="lightyellow"; -fontname="bold"; - "github.com/mattn/go-isatty.IsTerminal" [ penwidth="1.5" fillcolor="moccasin" label="IsTerminal" ] + "github.com/mattn/go-isatty.IsTerminal" [ fillcolor="moccasin" label="IsTerminal" penwidth="1.5" ] } } - "blitter.com/go/hkexsh/hkexsh.doShellMode$2" -> "blitter.com/go/hkexsh/hkexsh.doShellMode$2$1" [ ] - "blitter.com/go/hkexsh/hkexsh.doShellMode$2" -> "blitter.com/go/hkexsh.Restore" [ color="saddlebrown" ] - "blitter.com/go/hkexsh/hkexsh.doCopyMode" -> "(blitter.com/go/hkexsh.Session).Cmd" [ color="saddlebrown" ] - "blitter.com/go/hkexsh/hkexsh.doCopyMode" -> "(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket" [ color="saddlebrown" ] - "blitter.com/go/hkexsh/hkexsh.doCopyMode" -> "(blitter.com/go/hkexsh/hkexnet.Conn).Read" [ color="saddlebrown" ] - "blitter.com/go/hkexsh/hkexsh.doCopyMode" -> "(*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus" [ color="saddlebrown" ] - "blitter.com/go/hkexsh/hkexsh.doCopyMode" -> "(blitter.com/go/hkexsh/hkexnet.Conn).GetStatus" [ color="saddlebrown" ] - "blitter.com/go/hkexsh/hkexsh.main$1" -> "blitter.com/go/hkexsh.Restore" [ color="saddlebrown" ] - "blitter.com/go/hkexsh/hkexsh.main$2" -> "(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket" [ color="saddlebrown" ] - "blitter.com/go/hkexsh/hkexsh.handleTermResizes$1" -> "blitter.com/go/hkexsh/hkexsh.GetSize" [ ] - "blitter.com/go/hkexsh/hkexsh.handleTermResizes$1" -> "(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket" [ color="saddlebrown" ] - "blitter.com/go/hkexsh/hkexsh.rejectUserMsg" -> "blitter.com/go/hkexsh/spinsult.GetSentence" [ color="saddlebrown" ] "blitter.com/go/hkexsh/hkexsh.reqTunnel" -> "blitter.com/go/hkexsh/logger.LogDebug" [ color="saddlebrown" ] "blitter.com/go/hkexsh/hkexsh.reqTunnel" -> "(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket" [ color="saddlebrown" ] "blitter.com/go/hkexsh/hkexsh.launchTuns" -> "blitter.com/go/hkexsh/hkexsh.reqTunnel" [ ] - "blitter.com/go/hkexsh/hkexsh.sendSessionParams" -> "(blitter.com/go/hkexsh.Session).Op" [ color="saddlebrown" ] - "blitter.com/go/hkexsh/hkexsh.sendSessionParams" -> "(blitter.com/go/hkexsh.Session).Who" [ color="saddlebrown" ] - "blitter.com/go/hkexsh/hkexsh.sendSessionParams" -> "(blitter.com/go/hkexsh.Session).ConnHost" [ color="saddlebrown" ] - "blitter.com/go/hkexsh/hkexsh.sendSessionParams" -> "(blitter.com/go/hkexsh.Session).TermType" [ color="saddlebrown" ] - "blitter.com/go/hkexsh/hkexsh.sendSessionParams" -> "(blitter.com/go/hkexsh.Session).Cmd" [ color="saddlebrown" ] - "blitter.com/go/hkexsh/hkexsh.sendSessionParams" -> "(blitter.com/go/hkexsh.Session).AuthCookie" [ color="saddlebrown" ] - "blitter.com/go/hkexsh/hkexsh.sendSessionParams" -> "(blitter.com/go/hkexsh/hkexnet.Conn).Write" [ style="dashed" color="saddlebrown" ] - "blitter.com/go/hkexsh/hkexsh.doShellMode$1" -> "blitter.com/go/hkexsh.Restore" [ color="saddlebrown" ] - "blitter.com/go/hkexsh/hkexsh.doShellMode$1" -> "(blitter.com/go/hkexsh/hkexnet.Conn).GetStatus" [ color="saddlebrown" ] - "blitter.com/go/hkexsh/hkexsh.doShellMode$1" -> "(*blitter.com/go/hkexsh.Session).SetStatus" [ color="saddlebrown" ] - "blitter.com/go/hkexsh/hkexsh.doShellMode$1" -> "(blitter.com/go/hkexsh.Session).Status" [ color="saddlebrown" ] - "blitter.com/go/hkexsh/hkexsh.doShellMode" -> "blitter.com/go/hkexsh/hkexsh.doShellMode$1" [ arrowhead="normalnoneodot" ] - "blitter.com/go/hkexsh/hkexsh.handleTermResizes" -> "blitter.com/go/hkexsh/hkexsh.handleTermResizes$1" [ arrowhead="normalnoneodot" ] - "blitter.com/go/hkexsh/hkexsh.doShellMode" -> "blitter.com/go/hkexsh/hkexsh.handleTermResizes" [ ] - "blitter.com/go/hkexsh/hkexsh.doShellMode" -> "blitter.com/go/hkexsh/hkexsh.doShellMode$2" [ arrowhead="normalnoneodot" ] + "blitter.com/go/hkexsh/hkexsh.rejectUserMsg" -> "blitter.com/go/hkexsh/spinsult.GetSentence" [ color="saddlebrown" ] "blitter.com/go/hkexsh/hkexsh.main" -> "blitter.com/go/hkexsh/hkexsh.parseNonSwitchArgs" [ ] "blitter.com/go/hkexsh/hkexsh.main" -> "blitter.com/go/hkexsh/logger.New" [ color="saddlebrown" ] "blitter.com/go/hkexsh/hkexsh.main" -> "blitter.com/go/hkexsh/hkexnet.Init" [ color="saddlebrown" ] @@ -228,9 +202,17 @@ fontname="bold"; "blitter.com/go/hkexsh/hkexsh.main" -> "(*blitter.com/go/hkexsh/hkexnet.Conn).Close" [ arrowhead="normalnoneodiamond" color="saddlebrown" ] "blitter.com/go/hkexsh/hkexsh.main" -> "github.com/mattn/go-isatty.IsTerminal" [ color="saddlebrown" ] "blitter.com/go/hkexsh/hkexsh.main" -> "blitter.com/go/hkexsh.MakeRaw" [ color="saddlebrown" ] + "blitter.com/go/hkexsh/hkexsh.main$1" -> "blitter.com/go/hkexsh.Restore" [ color="saddlebrown" ] "blitter.com/go/hkexsh/hkexsh.main" -> "blitter.com/go/hkexsh/hkexsh.main$1" [ arrowhead="normalnoneodiamond" ] "blitter.com/go/hkexsh/hkexsh.main" -> "blitter.com/go/hkexsh.ReadPassword" [ color="saddlebrown" ] "blitter.com/go/hkexsh/hkexsh.main" -> "blitter.com/go/hkexsh.NewSession" [ color="saddlebrown" ] + "blitter.com/go/hkexsh/hkexsh.sendSessionParams" -> "(blitter.com/go/hkexsh.Session).Op" [ color="saddlebrown" ] + "blitter.com/go/hkexsh/hkexsh.sendSessionParams" -> "(blitter.com/go/hkexsh.Session).Who" [ color="saddlebrown" ] + "blitter.com/go/hkexsh/hkexsh.sendSessionParams" -> "(blitter.com/go/hkexsh.Session).ConnHost" [ color="saddlebrown" ] + "blitter.com/go/hkexsh/hkexsh.sendSessionParams" -> "(blitter.com/go/hkexsh.Session).TermType" [ color="saddlebrown" ] + "blitter.com/go/hkexsh/hkexsh.sendSessionParams" -> "(blitter.com/go/hkexsh.Session).Cmd" [ color="saddlebrown" ] + "blitter.com/go/hkexsh/hkexsh.sendSessionParams" -> "(blitter.com/go/hkexsh.Session).AuthCookie" [ color="saddlebrown" ] + "blitter.com/go/hkexsh/hkexsh.sendSessionParams" -> "(blitter.com/go/hkexsh/hkexnet.Conn).Write" [ style="dashed" color="saddlebrown" ] "blitter.com/go/hkexsh/hkexsh.main" -> "blitter.com/go/hkexsh/hkexsh.sendSessionParams" [ ] "blitter.com/go/hkexsh/hkexsh.main" -> "(blitter.com/go/hkexsh/hkexnet.Conn).Read" [ color="saddlebrown" ] "blitter.com/go/hkexsh/hkexsh.main" -> "(*blitter.com/go/hkexsh.Session).SetStatus" [ color="saddlebrown" ] @@ -238,11 +220,29 @@ fontname="bold"; "blitter.com/go/hkexsh/hkexsh.main" -> "(*blitter.com/go/hkexsh/hkexnet.Conn).SetupChaff" [ color="saddlebrown" ] "blitter.com/go/hkexsh/hkexsh.main" -> "(*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff" [ color="saddlebrown" ] "blitter.com/go/hkexsh/hkexsh.main" -> "(*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff" [ arrowhead="normalnoneodiamond" color="saddlebrown" ] - "blitter.com/go/hkexsh/hkexsh.main" -> "(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff" [ arrowhead="normalnoneodiamond" color="saddlebrown" ] + "blitter.com/go/hkexsh/hkexsh.main" -> "(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff" [ color="saddlebrown" arrowhead="normalnoneodiamond" ] + "blitter.com/go/hkexsh/hkexsh.main$2" -> "(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket" [ color="saddlebrown" ] "blitter.com/go/hkexsh/hkexsh.main" -> "blitter.com/go/hkexsh/hkexsh.main$2" [ arrowhead="normalnoneodot" ] "blitter.com/go/hkexsh/hkexsh.main" -> "blitter.com/go/hkexsh/hkexsh.launchTuns" [ ] + "blitter.com/go/hkexsh/hkexsh.doShellMode$1" -> "blitter.com/go/hkexsh.Restore" [ color="saddlebrown" ] + "blitter.com/go/hkexsh/hkexsh.doShellMode$1" -> "(blitter.com/go/hkexsh/hkexnet.Conn).GetStatus" [ color="saddlebrown" ] + "blitter.com/go/hkexsh/hkexsh.doShellMode$1" -> "(*blitter.com/go/hkexsh.Session).SetStatus" [ color="saddlebrown" ] + "blitter.com/go/hkexsh/hkexsh.doShellMode$1" -> "(blitter.com/go/hkexsh.Session).Status" [ color="saddlebrown" ] + "blitter.com/go/hkexsh/hkexsh.doShellMode" -> "blitter.com/go/hkexsh/hkexsh.doShellMode$1" [ arrowhead="normalnoneodot" ] + "blitter.com/go/hkexsh/hkexsh.handleTermResizes$1" -> "blitter.com/go/hkexsh/hkexsh.GetSize" [ ] + "blitter.com/go/hkexsh/hkexsh.handleTermResizes$1" -> "(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket" [ color="saddlebrown" ] + "blitter.com/go/hkexsh/hkexsh.handleTermResizes" -> "blitter.com/go/hkexsh/hkexsh.handleTermResizes$1" [ arrowhead="normalnoneodot" ] + "blitter.com/go/hkexsh/hkexsh.doShellMode" -> "blitter.com/go/hkexsh/hkexsh.handleTermResizes" [ ] + "blitter.com/go/hkexsh/hkexsh.doShellMode$2" -> "blitter.com/go/hkexsh/hkexsh.doShellMode$2$1" [ ] + "blitter.com/go/hkexsh/hkexsh.doShellMode$2" -> "blitter.com/go/hkexsh.Restore" [ color="saddlebrown" ] + "blitter.com/go/hkexsh/hkexsh.doShellMode" -> "blitter.com/go/hkexsh/hkexsh.doShellMode$2" [ arrowhead="normalnoneodot" ] "blitter.com/go/hkexsh/hkexsh.main" -> "blitter.com/go/hkexsh/hkexsh.doShellMode" [ ] "blitter.com/go/hkexsh/hkexsh.main" -> "(blitter.com/go/hkexsh.Session).Status" [ color="saddlebrown" ] + "blitter.com/go/hkexsh/hkexsh.doCopyMode" -> "(blitter.com/go/hkexsh.Session).Cmd" [ color="saddlebrown" ] + "blitter.com/go/hkexsh/hkexsh.doCopyMode" -> "(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket" [ color="saddlebrown" ] + "blitter.com/go/hkexsh/hkexsh.doCopyMode" -> "(blitter.com/go/hkexsh/hkexnet.Conn).Read" [ color="saddlebrown" ] + "blitter.com/go/hkexsh/hkexsh.doCopyMode" -> "(*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus" [ color="saddlebrown" ] + "blitter.com/go/hkexsh/hkexsh.doCopyMode" -> "(blitter.com/go/hkexsh/hkexnet.Conn).GetStatus" [ color="saddlebrown" ] "blitter.com/go/hkexsh/hkexsh.main" -> "blitter.com/go/hkexsh/hkexsh.doCopyMode" [ ] "blitter.com/go/hkexsh/hkexsh.main" -> "blitter.com/go/hkexsh.Restore" [ color="saddlebrown" ] "blitter.com/go/hkexsh/hkexsh.main" -> "blitter.com/go/hkexsh/hkexsh.usageShell" [ style="dashed" ] diff --git a/hkexsh/hkexsh-vis.gv.png b/hkexsh/hkexsh-vis.gv.png index c3e6309..7dedd8e 100644 Binary files a/hkexsh/hkexsh-vis.gv.png and b/hkexsh/hkexsh-vis.gv.png differ diff --git a/hkexsh/hkexsh-vis.gv.svg b/hkexsh/hkexsh-vis.gv.svg index 4ab81ad..f7c6f99 100644 --- a/hkexsh/hkexsh-vis.gv.svg +++ b/hkexsh/hkexsh-vis.gv.svg @@ -4,716 +4,716 @@ - - + + gocallvis - + blitter.com/go/hkexsh/hkexsh cluster_focus - -main + +main cluster_blitter.com/go/hkexsh - -[hkexsh] + +[hkexsh] cluster_*blitter.com/go/hkexsh.Session - -(*Session) + +(*Session) cluster_blitter.com/go/hkexsh.Session - -(Session) + +(Session) cluster_blitter.com/go/hkexsh/hkexnet - -[hkexnet] + +[hkexnet] cluster_*blitter.com/go/hkexsh/hkexnet.Conn - -(*Conn) + +(*Conn) cluster_blitter.com/go/hkexsh/hkexnet.Conn - -(Conn) + +(Conn) cluster_blitter.com/go/hkexsh/logger - -[logger] + +[logger] cluster_blitter.com/go/hkexsh/spinsult - -[spinsult] + +[spinsult] cluster_github.com/mattn/go-isatty - -[isatty] + +[isatty] - + -blitter.com/go/hkexsh/hkexsh.doShellMode$2 - -doShellMode$2 - - - -blitter.com/go/hkexsh/hkexsh.doShellMode$2$1 - -doShellMode$2$1 - - - -blitter.com/go/hkexsh/hkexsh.doShellMode$2->blitter.com/go/hkexsh/hkexsh.doShellMode$2$1 - - - - - -blitter.com/go/hkexsh.Restore - -Restore - - - -blitter.com/go/hkexsh/hkexsh.doShellMode$2->blitter.com/go/hkexsh.Restore - - - - - -blitter.com/go/hkexsh/hkexsh.doCopyMode - -doCopyMode - - - -(blitter.com/go/hkexsh.Session).Cmd - -Cmd - - - -blitter.com/go/hkexsh/hkexsh.doCopyMode->(blitter.com/go/hkexsh.Session).Cmd - - +blitter.com/go/hkexsh/hkexsh.reqTunnel + +reqTunnel (*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket - -WritePacket - - - -blitter.com/go/hkexsh/hkexsh.doCopyMode->(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket - - - - - -(*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus - -SetStatus - - - -blitter.com/go/hkexsh/hkexsh.doCopyMode->(*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus - - - - - -(blitter.com/go/hkexsh/hkexnet.Conn).Read - -Read - - - -blitter.com/go/hkexsh/hkexsh.doCopyMode->(blitter.com/go/hkexsh/hkexnet.Conn).Read - - - - - -(blitter.com/go/hkexsh/hkexnet.Conn).GetStatus - -GetStatus - - - -blitter.com/go/hkexsh/hkexsh.doCopyMode->(blitter.com/go/hkexsh/hkexnet.Conn).GetStatus - - - - - -blitter.com/go/hkexsh/hkexsh.main$1 - -main$1 - - - -blitter.com/go/hkexsh/hkexsh.main$1->blitter.com/go/hkexsh.Restore - - - - - -blitter.com/go/hkexsh/hkexsh.main$2 - -main$2 - - - -blitter.com/go/hkexsh/hkexsh.main$2->(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket - - - - - -blitter.com/go/hkexsh/hkexsh.handleTermResizes$1 - -handleTermResizes$1 - - - -blitter.com/go/hkexsh/hkexsh.GetSize - -GetSize - - - -blitter.com/go/hkexsh/hkexsh.handleTermResizes$1->blitter.com/go/hkexsh/hkexsh.GetSize - - - - - -blitter.com/go/hkexsh/hkexsh.handleTermResizes$1->(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket - - - - - -blitter.com/go/hkexsh/hkexsh.rejectUserMsg - -rejectUserMsg - - - -blitter.com/go/hkexsh/spinsult.GetSentence - -GetSentence - - - -blitter.com/go/hkexsh/hkexsh.rejectUserMsg->blitter.com/go/hkexsh/spinsult.GetSentence - - - - - -blitter.com/go/hkexsh/hkexsh.reqTunnel - -reqTunnel + +WritePacket - + blitter.com/go/hkexsh/hkexsh.reqTunnel->(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket - - + + blitter.com/go/hkexsh/logger.LogDebug - -LogDebug + +LogDebug - + blitter.com/go/hkexsh/hkexsh.reqTunnel->blitter.com/go/hkexsh/logger.LogDebug - - + + - + blitter.com/go/hkexsh/hkexsh.launchTuns - -launchTuns + +launchTuns - + blitter.com/go/hkexsh/hkexsh.launchTuns->blitter.com/go/hkexsh/hkexsh.reqTunnel - - + + - - -blitter.com/go/hkexsh/hkexsh.sendSessionParams - -sendSessionParams + + +blitter.com/go/hkexsh/hkexsh.rejectUserMsg + +rejectUserMsg - - -blitter.com/go/hkexsh/hkexsh.sendSessionParams->(blitter.com/go/hkexsh.Session).Cmd - - + + +blitter.com/go/hkexsh/spinsult.GetSentence + +GetSentence - - -(blitter.com/go/hkexsh.Session).Op - -Op - - - -blitter.com/go/hkexsh/hkexsh.sendSessionParams->(blitter.com/go/hkexsh.Session).Op - - - - - -(blitter.com/go/hkexsh.Session).Who - -Who - - - -blitter.com/go/hkexsh/hkexsh.sendSessionParams->(blitter.com/go/hkexsh.Session).Who - - - - - -(blitter.com/go/hkexsh.Session).ConnHost - -ConnHost - - - -blitter.com/go/hkexsh/hkexsh.sendSessionParams->(blitter.com/go/hkexsh.Session).ConnHost - - - - - -(blitter.com/go/hkexsh.Session).TermType - -TermType - - - -blitter.com/go/hkexsh/hkexsh.sendSessionParams->(blitter.com/go/hkexsh.Session).TermType - - - - - -(blitter.com/go/hkexsh.Session).AuthCookie - -AuthCookie - - - -blitter.com/go/hkexsh/hkexsh.sendSessionParams->(blitter.com/go/hkexsh.Session).AuthCookie - - - - - -(blitter.com/go/hkexsh/hkexnet.Conn).Write - -Write - - - -blitter.com/go/hkexsh/hkexsh.sendSessionParams->(blitter.com/go/hkexsh/hkexnet.Conn).Write - - - - - -blitter.com/go/hkexsh/hkexsh.doShellMode$1 - -doShellMode$1 - - - -blitter.com/go/hkexsh/hkexsh.doShellMode$1->blitter.com/go/hkexsh.Restore - - - - - -(*blitter.com/go/hkexsh.Session).SetStatus - -SetStatus - - - -blitter.com/go/hkexsh/hkexsh.doShellMode$1->(*blitter.com/go/hkexsh.Session).SetStatus - - - - - -(blitter.com/go/hkexsh.Session).Status - -Status - - - -blitter.com/go/hkexsh/hkexsh.doShellMode$1->(blitter.com/go/hkexsh.Session).Status - - - - - -blitter.com/go/hkexsh/hkexsh.doShellMode$1->(blitter.com/go/hkexsh/hkexnet.Conn).GetStatus - - - - - -blitter.com/go/hkexsh/hkexsh.doShellMode - -doShellMode - - - -blitter.com/go/hkexsh/hkexsh.doShellMode->blitter.com/go/hkexsh/hkexsh.doShellMode$2 - - - - - - - -blitter.com/go/hkexsh/hkexsh.doShellMode->blitter.com/go/hkexsh/hkexsh.doShellMode$1 - - - - - - - -blitter.com/go/hkexsh/hkexsh.handleTermResizes - -handleTermResizes - - - -blitter.com/go/hkexsh/hkexsh.doShellMode->blitter.com/go/hkexsh/hkexsh.handleTermResizes - - - - - -blitter.com/go/hkexsh/hkexsh.handleTermResizes->blitter.com/go/hkexsh/hkexsh.handleTermResizes$1 - - - - + + +blitter.com/go/hkexsh/hkexsh.rejectUserMsg->blitter.com/go/hkexsh/spinsult.GetSentence + + - + blitter.com/go/hkexsh/hkexsh.main - -main + +main + + + +blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh/hkexsh.launchTuns + + + + + +blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh/hkexsh.rejectUserMsg + + + + + +blitter.com/go/hkexsh/hkexsh.parseNonSwitchArgs + +parseNonSwitchArgs + + + +blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh/hkexsh.parseNonSwitchArgs + + + + + +blitter.com/go/hkexsh/hkexsh.main$1 + +main$1 + + + +blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh/hkexsh.main$1 + + + + + + + +blitter.com/go/hkexsh/hkexsh.sendSessionParams + +sendSessionParams + + + +blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh/hkexsh.sendSessionParams + + + + + +blitter.com/go/hkexsh/hkexsh.main$2 + +main$2 + + + +blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh/hkexsh.main$2 + + + + + + + +blitter.com/go/hkexsh/hkexsh.doShellMode + +doShellMode + + + +blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh/hkexsh.doShellMode + + + + + +blitter.com/go/hkexsh/hkexsh.doCopyMode + +doCopyMode blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh/hkexsh.doCopyMode - - - - - -blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh/hkexsh.main$1 - - - - - - - -blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh/hkexsh.main$2 - - - - - - - -blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh/hkexsh.rejectUserMsg - - - - - -blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh/hkexsh.launchTuns - - - - - -blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh/hkexsh.sendSessionParams - - - - - -blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh/hkexsh.doShellMode - - - - - -blitter.com/go/hkexsh/hkexsh.parseNonSwitchArgs - -parseNonSwitchArgs - - - -blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh/hkexsh.parseNonSwitchArgs - - + + blitter.com/go/hkexsh/hkexsh.usageShell - -usageShell + +usageShell blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh/hkexsh.usageShell - - + + blitter.com/go/hkexsh/hkexsh.usageCp - -usageCp + +usageCp blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh/hkexsh.usageCp - - + + + + + +blitter.com/go/hkexsh.MakeRaw + +MakeRaw + + + +blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh.MakeRaw + + + + + +blitter.com/go/hkexsh.Restore + +Restore blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh.Restore - - - - - -blitter.com/go/hkexsh.MakeRaw - -MakeRaw - - - -blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh.MakeRaw - - + + blitter.com/go/hkexsh.ReadPassword - -ReadPassword + +ReadPassword - + blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh.ReadPassword - - + + blitter.com/go/hkexsh.NewSession - -NewSession + +NewSession - + blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh.NewSession - - + + + + + +(*blitter.com/go/hkexsh.Session).SetStatus + +SetStatus - + blitter.com/go/hkexsh/hkexsh.main->(*blitter.com/go/hkexsh.Session).SetStatus - - + + + + + +(blitter.com/go/hkexsh.Session).Status + +Status - + blitter.com/go/hkexsh/hkexsh.main->(blitter.com/go/hkexsh.Session).Status - - + + blitter.com/go/hkexsh/hkexnet.Init - -Init + +Init - + blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh/hkexnet.Init - - + + blitter.com/go/hkexsh/hkexnet.Dial - -Dial + +Dial - + blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh/hkexnet.Dial - - + + - + (*blitter.com/go/hkexsh/hkexnet.Conn).Close - -Close + +Close - + blitter.com/go/hkexsh/hkexsh.main->(*blitter.com/go/hkexsh/hkexnet.Conn).Close - - - - + + + + - + (*blitter.com/go/hkexsh/hkexnet.Conn).SetupChaff - -SetupChaff + +SetupChaff - + blitter.com/go/hkexsh/hkexsh.main->(*blitter.com/go/hkexsh/hkexnet.Conn).SetupChaff - - + + - + (*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff - -EnableChaff + +EnableChaff - + blitter.com/go/hkexsh/hkexsh.main->(*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff - - + + - + (*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff - -DisableChaff + +DisableChaff - + blitter.com/go/hkexsh/hkexsh.main->(*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff - - - - + + + + - + (*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff - -ShutdownChaff + +ShutdownChaff - + blitter.com/go/hkexsh/hkexsh.main->(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff - - - - + + + + + + + +(blitter.com/go/hkexsh/hkexnet.Conn).Read + +Read - + blitter.com/go/hkexsh/hkexsh.main->(blitter.com/go/hkexsh/hkexnet.Conn).Read - - + + blitter.com/go/hkexsh/logger.New - -New + +New - + blitter.com/go/hkexsh/hkexsh.main->blitter.com/go/hkexsh/logger.New - - + + github.com/mattn/go-isatty.IsTerminal - -IsTerminal + +IsTerminal - + blitter.com/go/hkexsh/hkexsh.main->github.com/mattn/go-isatty.IsTerminal - - + + + + + +blitter.com/go/hkexsh/hkexsh.main$1->blitter.com/go/hkexsh.Restore + + + + + +(blitter.com/go/hkexsh.Session).Op + +Op + + + +blitter.com/go/hkexsh/hkexsh.sendSessionParams->(blitter.com/go/hkexsh.Session).Op + + + + + +(blitter.com/go/hkexsh.Session).Who + +Who + + + +blitter.com/go/hkexsh/hkexsh.sendSessionParams->(blitter.com/go/hkexsh.Session).Who + + + + + +(blitter.com/go/hkexsh.Session).ConnHost + +ConnHost + + + +blitter.com/go/hkexsh/hkexsh.sendSessionParams->(blitter.com/go/hkexsh.Session).ConnHost + + + + + +(blitter.com/go/hkexsh.Session).TermType + +TermType + + + +blitter.com/go/hkexsh/hkexsh.sendSessionParams->(blitter.com/go/hkexsh.Session).TermType + + + + + +(blitter.com/go/hkexsh.Session).Cmd + +Cmd + + + +blitter.com/go/hkexsh/hkexsh.sendSessionParams->(blitter.com/go/hkexsh.Session).Cmd + + + + + +(blitter.com/go/hkexsh.Session).AuthCookie + +AuthCookie + + + +blitter.com/go/hkexsh/hkexsh.sendSessionParams->(blitter.com/go/hkexsh.Session).AuthCookie + + + + + +(blitter.com/go/hkexsh/hkexnet.Conn).Write + +Write + + + +blitter.com/go/hkexsh/hkexsh.sendSessionParams->(blitter.com/go/hkexsh/hkexnet.Conn).Write + + + + + +blitter.com/go/hkexsh/hkexsh.main$2->(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket + + + + + +blitter.com/go/hkexsh/hkexsh.doShellMode$1 + +doShellMode$1 + + + +blitter.com/go/hkexsh/hkexsh.doShellMode$1->blitter.com/go/hkexsh.Restore + + + + + +blitter.com/go/hkexsh/hkexsh.doShellMode$1->(*blitter.com/go/hkexsh.Session).SetStatus + + + + + +blitter.com/go/hkexsh/hkexsh.doShellMode$1->(blitter.com/go/hkexsh.Session).Status + + + + + +(blitter.com/go/hkexsh/hkexnet.Conn).GetStatus + +GetStatus + + + +blitter.com/go/hkexsh/hkexsh.doShellMode$1->(blitter.com/go/hkexsh/hkexnet.Conn).GetStatus + + + + + +blitter.com/go/hkexsh/hkexsh.doShellMode->blitter.com/go/hkexsh/hkexsh.doShellMode$1 + + + + + + + +blitter.com/go/hkexsh/hkexsh.handleTermResizes + +handleTermResizes + + + +blitter.com/go/hkexsh/hkexsh.doShellMode->blitter.com/go/hkexsh/hkexsh.handleTermResizes + + + + + +blitter.com/go/hkexsh/hkexsh.doShellMode$2 + +doShellMode$2 + + + +blitter.com/go/hkexsh/hkexsh.doShellMode->blitter.com/go/hkexsh/hkexsh.doShellMode$2 + + + + + + + +blitter.com/go/hkexsh/hkexsh.handleTermResizes$1 + +handleTermResizes$1 + + + +blitter.com/go/hkexsh/hkexsh.GetSize + +GetSize + + + +blitter.com/go/hkexsh/hkexsh.handleTermResizes$1->blitter.com/go/hkexsh/hkexsh.GetSize + + + + + +blitter.com/go/hkexsh/hkexsh.handleTermResizes$1->(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket + + + + + +blitter.com/go/hkexsh/hkexsh.handleTermResizes->blitter.com/go/hkexsh/hkexsh.handleTermResizes$1 + + + + + + + +blitter.com/go/hkexsh/hkexsh.doShellMode$2$1 + +doShellMode$2$1 + + + +blitter.com/go/hkexsh/hkexsh.doShellMode$2->blitter.com/go/hkexsh/hkexsh.doShellMode$2$1 + + + + + +blitter.com/go/hkexsh/hkexsh.doShellMode$2->blitter.com/go/hkexsh.Restore + + + + + +blitter.com/go/hkexsh/hkexsh.doCopyMode->(blitter.com/go/hkexsh.Session).Cmd + + + + + +blitter.com/go/hkexsh/hkexsh.doCopyMode->(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket + + + + + +(*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus + +SetStatus + + + +blitter.com/go/hkexsh/hkexsh.doCopyMode->(*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus + + + + + +blitter.com/go/hkexsh/hkexsh.doCopyMode->(blitter.com/go/hkexsh/hkexnet.Conn).Read + + + + + +blitter.com/go/hkexsh/hkexsh.doCopyMode->(blitter.com/go/hkexsh/hkexnet.Conn).GetStatus + + diff --git a/hkexsh/hkexsh.go b/hkexsh/hkexsh.go index 8deac25..82a97cc 100755 --- a/hkexsh/hkexsh.go +++ b/hkexsh/hkexsh.go @@ -235,6 +235,8 @@ func doShellMode(isInteractive bool, conn *hkexnet.Conn, oldState *hkexsh.State, //Read remote end's stdout wg.Add(1) + // #gv:s/label=\"doShellMode\$1\"/label=\"shellRemoteToStdin\"/ + // .gv:doShellMode:1:shellRemoteToStdin go func() { defer wg.Done() // By deferring a call to wg.Done(), @@ -272,6 +274,8 @@ func doShellMode(isInteractive bool, conn *hkexnet.Conn, oldState *hkexsh.State, // client writer (to server) goroutine // Write local stdin to remote end wg.Add(1) + // #gv:s/label=\"doShellMode\$2\"/label=\"shellStdinToRemote\"/ + // .gv:doShellMode:2:shellStdinToRemote go func() { defer wg.Done() //!defer wg.Done() @@ -628,6 +632,8 @@ func main() { if err != nil { panic(err) } + // #gv:s/label=\"main\$1\"/label=\"deferRestore\"/ + // .gv:main:1:deferRestore defer func() { _ = hkexsh.Restore(int(os.Stdin.Fd()), oldState) }() // Best effort. } else { log.Println("NOT A TTY") @@ -669,12 +675,16 @@ func main() { // Set up chaffing to server conn.SetupChaff(chaffFreqMin, chaffFreqMax, chaffBytesMax) // enable client->server chaffing if chaffEnabled { + // #gv:s/label=\"main\$2\"/label=\"deferCloseChaff\"/ + // .gv:main:2:deferCloseChaff conn.EnableChaff() // goroutine, returns immediately defer conn.DisableChaff() defer conn.ShutdownChaff() } // Keepalive for any tunnels that may exist + // #gv:s/label=\"main\$1\"/label=\"tunKeepAlive\"/ + // .gv:main:1:tunKeepAlive go func() { for { time.Sleep(time.Duration(2) * time.Second)