17170: Check container is readable before checking write permission.
authorTom Clegg <tom@curii.com>
Thu, 14 Jan 2021 20:39:34 +0000 (15:39 -0500)
committerTom Clegg <tom@curii.com>
Thu, 14 Jan 2021 20:39:34 +0000 (15:39 -0500)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

lib/controller/localdb/container_gateway.go

index ff3e3de5b08a55773979b8a75dc97a678a72af5c..f255bff842cb3c29f2b5fa6f67d4f72732606c63 100644 (file)
@@ -34,6 +34,11 @@ func (conn *Conn) ContainerSSH(ctx context.Context, opts arvados.ContainerSSHOpt
        if err != nil {
                return
        }
+       ctr, err := conn.railsProxy.ContainerGet(ctx, arvados.GetOptions{UUID: opts.UUID})
+       if err != nil {
+               return
+       }
+
        ctxRoot := auth.NewContext(ctx, &auth.Credentials{Tokens: []string{conn.cluster.SystemRootToken}})
        crs, err := conn.railsProxy.ContainerRequestList(ctxRoot, arvados.ListOptions{Limit: -1, Filters: []arvados.Filter{{"container_uuid", "=", opts.UUID}}})
        if err != nil {