spiegel_podman/vendor/github.com/containers/common/pkg/ssh/ssh.go
Chris Evich be7b956790
Fix compilation errors for v4.4.1-rhel compatibility
Align codebase with v4.4.1-rhel PodmanConfig structure
and API signatures to resolve compilation errors.

- Update all cfg.Engine.* references to
  cfg.ContainersConf.Engine.* or
  cfg.ContainersConfDefaultsRO.Engine.*
- Update all cfg.Network.* references to
  cfg.ContainersConf.Network.*
- Update all cfg.Containers.* references to
  cfg.ContainersConf.Containers.* or
  cfg.ContainersConfDefaultsRO.Containers.*
- Update cfg.Machine.* references to
  cfg.ContainersConfDefaultsRO.Machine.*
- Fix PodmanConfig initialization in config.go to use
  ContainersConf and ContainersConfDefaultsRO fields

- Add createOptions parameter to NetworkCreate method
  across all implementations (abi, tunnel, handlers)
- Update ContainerEngine interface to match new
  NetworkCreate signature
- Fix manager.Store call in secrets.go to use
  StoreOptions struct
- Update DiskUsage to handle 3 return values
- Fix NewConnectionWithIdentity call signature

- Remove duplicate setupRemoteConnection function
- Remove duplicate readRemoteCliFlags function
- Remove duplicate function declarations in
  container_path_resolution.go, oci_conmon_linux.go
- Comment out duplicate SpecGenToOCI and helper
  functions in oci.go/oci_linux.go
- Remove unused imports across multiple files
- Fix SSHMode flag handling (field doesn't exist in
  current PodmanConfig)

- Fix ns.NetNS type handling in container_internal_linux.go
- Add missing Terminal() method to Container struct
- Add missing SdNotifySocket field to ContainerConfig
- Fix DefaultCapabilities to use .Get() method
- Fix cgroups.AvailableControllers reference
- Fix ConmonPath type conversion (attributedstring.Slice)
- Add missing ErrNetworkConnected error definition
- Fix NetworkCreateOptions handling in secrets.go

- Update networking code to use getNetNSPathCommon helper
- Fix teardownNetwork method signature
- Fix makeInspectPorts to makeInspectPortBindings
- Remove hardcoded IsPasta() checks
- Fix runtime_libpod.go field access patterns

All changes align with the v4.4.1-rhel worktree structure
to ensure compatibility with upcoming cherry-picks.

Substantially Assisted-by AI: Cursor <auto>
Signed-off-by: Chris Evich <cevich@redhat.com>
2026-03-30 14:52:52 -04:00

59 lines
1.3 KiB
Go

package ssh
import (
"fmt"
"golang.org/x/crypto/ssh"
)
func Create(options *ConnectionCreateOptions, kind EngineMode) error {
if kind == NativeMode {
return nativeConnectionCreate(*options)
}
return golangConnectionCreate(*options)
}
func Dial(options *ConnectionDialOptions, kind EngineMode) (*ssh.Client, error) {
var rep *ConnectionDialReport
var err error
if kind == NativeMode {
return nil, fmt.Errorf("ssh dial failed: you cannot create a dial-able client with native ssh")
}
rep, err = golangConnectionDial(*options)
if err != nil {
return nil, err
}
return rep.Client, nil
}
func Exec(options *ConnectionExecOptions, kind EngineMode) (string, error) {
var rep *ConnectionExecReport
var err error
if kind == NativeMode {
rep, err = nativeConnectionExec(*options)
if err != nil {
return "", err
}
} else {
rep, err = golangConnectionExec(*options)
if err != nil {
return "", err
}
}
return rep.Response, nil
}
func Scp(options *ConnectionScpOptions, kind EngineMode) (string, error) {
var rep *ConnectionScpReport
var err error
if kind == NativeMode {
if rep, err = nativeConnectionScp(*options); err != nil {
return "", err
}
return rep.Response, nil
}
if rep, err = golangConnectionScp(*options); err != nil {
return "", err
}
return rep.Response, nil
}