MCPcopy
hub / github.com/google/seesaw / OverrideVserver

Method OverrideVserver

engine/ipc.go:432–460  ·  view source on GitHub ↗

OverrideVserver passes a VserverOverride to the engine.

(args *ipc.Override, reply *int)

Source from the content-addressed store, hash-verified

430
431// OverrideVserver passes a VserverOverride to the engine.
432func (s *SeesawEngine) OverrideVserver(args *ipc.Override, reply *int) error {
433 if args == nil {
434 return errors.New("args is nil")
435 }
436 ctx := args.Ctx
437 s.trace("OverrideVserver", ctx)
438 if ctx == nil {
439 return errContext
440 }
441
442 if !ctx.IsAuthenticated() && !ctx.IsTrusted() {
443 return errAccess
444 }
445
446 override := args.Vserver
447 if override == nil {
448 return errors.New("override vserver is nil")
449 }
450
451 reason, err := s.accessCheck(ctx, override.VserverName)
452 if err != nil {
453 log.Warningf("Vserver override on %q denied for %v: %v", override.VserverName, ctx, err)
454 return err
455 }
456
457 log.Infof("Vserver override for %q requested by %v (%s)", override.VserverName, ctx, reason)
458 s.engine.queueOverride(override)
459 return nil
460}
461
462// Backends returns a list of currently configured Backends.
463func (s *SeesawEngine) Backends(ctx *ipc.Context, reply *int) error {

Callers

nothing calls this directly

Calls 5

traceMethod · 0.95
accessCheckMethod · 0.95
IsAuthenticatedMethod · 0.80
IsTrustedMethod · 0.80
queueOverrideMethod · 0.45

Tested by

no test coverage detected