utils

package
v0.0.0-...-77b9721 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 17, 2024 License: MIT Imports: 11 Imported by: 7

Documentation

Index

Constants

This section is empty.

Variables

View Source
var NULL = []byte{'\x00'}

NULL is an array with a single NULL byte.

Functions

func ErrorHandler

func ErrorHandler(session ssh.Session, err error)

func KeyText

func KeyText(session ssh.Session) (string, error)

func NewLimitReader

func NewLimitReader(r io.Reader, limit int) io.Reader

func PrintMsg

func PrintMsg(session ssh.Session, stdout []string, stderr []error)

Types

type CopyFromClientHandler

type CopyFromClientHandler interface {
	// Write should write the given file.
	Write(ssh.Session, *FileEntry) (string, error)
	Read(ssh.Session, *FileEntry) (os.FileInfo, ReaderAtCloser, error)
	List(ssh ssh.Session, path string, isDir bool, recursive bool) ([]os.FileInfo, error)
	GetLogger() *slog.Logger
	Validate(ssh.Session) error
}

CopyFromClientHandler is a handler that can be implemented to handle files being copied from the client to the server.

type FileEntry

type FileEntry struct {
	Filepath string
	Mode     fs.FileMode
	Size     int64
	Reader   io.Reader
	Atime    int64
	Mtime    int64
}

FileEntry is an Entry that reads from a Reader, defining a file and its contents.

func (*FileEntry) Write

func (e *FileEntry) Write(w io.Writer) error

Write a file to the given writer.

type LimitReader

type LimitReader struct {
	// contains filtered or unexported fields
}

func (*LimitReader) Read

func (r *LimitReader) Read(b []byte) (int, error)

type ReadAndReaderAt

type ReadAndReaderAt interface {
	io.ReaderAt
	io.Reader
}

type ReaderAtCloser

type ReaderAtCloser interface {
	io.ReaderAt
	io.ReadCloser
}

func NopReaderAtCloser

func NopReaderAtCloser(r ReadAndReaderAt) ReaderAtCloser

type VirtualFile

type VirtualFile struct {
	FName    string
	FIsDir   bool
	FSize    int64
	FModTime time.Time
	FSys     any
}

func (*VirtualFile) IsDir

func (f *VirtualFile) IsDir() bool

func (*VirtualFile) ModTime

func (f *VirtualFile) ModTime() time.Time

func (*VirtualFile) Mode

func (f *VirtualFile) Mode() os.FileMode

func (*VirtualFile) Name

func (f *VirtualFile) Name() string

func (*VirtualFile) Size

func (f *VirtualFile) Size() int64

func (*VirtualFile) Sys

func (f *VirtualFile) Sys() any

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL