MCPcopy Index your code
hub / github.com/ContainerSSH/ContainerSSH / createPubKeyCallback

Method createPubKeyCallback

internal/sshserver/serverImpl.go:460–482  ·  view source on GitHub ↗
(
	meta metadata.ConnectionMetadata,
	handlerNetworkConnection *networkConnectionWrapper,
	logger log.Logger,
)

Source from the content-addressed store, hash-verified

458}
459
460func (s *serverImpl) createPubKeyCallback(
461 meta metadata.ConnectionMetadata,
462 handlerNetworkConnection *networkConnectionWrapper,
463 logger log.Logger,
464) func(conn ssh.ConnMetadata, key ssh.PublicKey) (*ssh.Permissions, error) {
465 pubKeyHandler := s.createPubKeyAuthenticator(meta, handlerNetworkConnection, logger)
466 pubkeyCallback := func(conn ssh.ConnMetadata, key ssh.PublicKey) (*ssh.Permissions, error) {
467 _, authenticatedMetadata, err := pubKeyHandler(conn, key)
468 if err != nil {
469 return nil, err
470 }
471 marshaledMetadata, err := json.Marshal(authenticatedMetadata)
472 if err != nil {
473 return nil, err
474 }
475 return &ssh.Permissions{
476 Extensions: map[string]string{
477 "containerssh-metadata": string(marshaledMetadata),
478 },
479 }, err
480 }
481 return pubkeyCallback
482}
483
484func (s *serverImpl) createPasswordCallback(
485 meta metadata.ConnectionMetadata,

Callers 1

createAuthenticatorsMethod · 0.95

Calls 3

pubKeyHandlerStruct · 0.85
MarshalMethod · 0.65

Tested by

no test coverage detected