Merge "misc: Cleanup some TODOs with my name on them."
diff --git a/envvar/envvar.go b/envvar/envvar.go
index 37482d1..1f20fa7 100644
--- a/envvar/envvar.go
+++ b/envvar/envvar.go
@@ -60,11 +60,6 @@
 		if strings.HasPrefix(k, NamespacePrefix) && len(v) > 0 {
 			l = append(l, v)
 			m[k] = v
-		} else if strings.HasPrefix(k, "NAMESPACE_ROOT") && len(v) > 0 {
-			// TODO(ashankar): Remove this once the transition to
-			// the new enviornment variables is complete.
-			l = append(l, v)
-			m[k] = v
 		}
 	}
 	return m, l
diff --git a/profiles/internal/rpc/client.go b/profiles/internal/rpc/client.go
index 7827237..5995f66 100644
--- a/profiles/internal/rpc/client.go
+++ b/profiles/internal/rpc/client.go
@@ -166,9 +166,8 @@
 		return nil, suberr(verror.New(errClientCloseAlreadyCalled, ctx))
 	}
 	if othervc, exists := c.vcMap[vcKey]; exists {
+		go vc.Close(nil)
 		vc = othervc.vc
-		// TODO(ashankar,toddw): Figure out how to close up the VC that
-		// is discarded. vc.Close?
 	} else {
 		c.vcMap[vcKey] = &vcInfo{vc: vc, remoteEP: ep}
 	}
diff --git a/profiles/internal/rpc/server.go b/profiles/internal/rpc/server.go
index 770b113..5c168ad 100644
--- a/profiles/internal/rpc/server.go
+++ b/profiles/internal/rpc/server.go
@@ -1246,7 +1246,6 @@
 		auth = security.DefaultAuthorizer()
 	}
 	if err := auth.Authorize(ctx, call); err != nil {
-		// TODO(ataly, ashankar): For privacy reasons, should we hide the authorizer error?
 		return verror.New(verror.ErrNoAccess, ctx, newErrBadAuth(ctx, call.Suffix(), call.Method(), err))
 	}
 	return nil
diff --git a/profiles/internal/rpc/server_authorizer.go b/profiles/internal/rpc/server_authorizer.go
index fdccfc4..5478b29 100644
--- a/profiles/internal/rpc/server_authorizer.go
+++ b/profiles/internal/rpc/server_authorizer.go
@@ -50,8 +50,6 @@
 func newServerAuthorizer(pattern security.BlessingPattern, opts ...rpc.CallOpt) security.Authorizer {
 	auth := &serverAuthorizer{}
 	for _, o := range opts {
-		// TODO(ataly, ashankar): Consider creating an authorizer for each of the
-		// options below and then take the intersection of the authorizers.
 		switch v := o.(type) {
 		case options.ServerPublicKey:
 			auth.serverPublicKey = v.PublicKey
diff --git a/profiles/internal/rpc/stream/crypto/tls.go b/profiles/internal/rpc/stream/crypto/tls.go
index 8b371ab..cdb58de 100644
--- a/profiles/internal/rpc/stream/crypto/tls.go
+++ b/profiles/internal/rpc/stream/crypto/tls.go
@@ -36,13 +36,6 @@
 
 func (TLSClientSessionCache) RPCStreamVCOpt() {}
 
-// NewTLSClientSessionCache creates a new session cache.
-// TODO(ashankar): Remove this once go1.4 is released and tlsfork can be release, at that
-// point use crypto/tls.NewLRUClientSessionCache directly.
-func NewTLSClientSessionCache() TLSClientSessionCache {
-	return TLSClientSessionCache{tls.NewLRUClientSessionCache(-1)}
-}
-
 // NewTLSClient returns a Crypter implementation that uses TLS, assuming
 // handshaker was initiated by a client.
 func NewTLSClient(handshaker io.ReadWriteCloser, local, remote net.Addr, sessionCache TLSClientSessionCache, pool *iobuf.Pool) (Crypter, error) {
@@ -231,14 +224,10 @@
 	return c.tls.ConnectionState().TLSUnique
 }
 
-// TODO(ashankar): Get rid of TLS certificates completely after implementing an
-// anonymous key-exchange mechanism. See F.1.1.1 in RFC 5246.
-//
 // PEM-encoded certificates and keys used in the tests.
 // One way to generate them is:
 //   go run $GOROOT/src/pkg/crypto/tls/generate_cert.go  --host=localhost --duration=87600h --ecdsa-curve=P256
 // (This generates a self-signed certificate valid for 10 years)
-// (The --ecdsa-curve flag has not yet been submitted back to the Go repository)
 // which will create cert.pem and key.pem files.
 const (
 	serverCert = `
diff --git a/profiles/internal/rpc/stream/manager/manager.go b/profiles/internal/rpc/stream/manager/manager.go
index 5fb6232..16e951a 100644
--- a/profiles/internal/rpc/stream/manager/manager.go
+++ b/profiles/internal/rpc/stream/manager/manager.go
@@ -22,7 +22,6 @@
 	"v.io/x/ref/lib/stats/counter"
 	inaming "v.io/x/ref/profiles/internal/naming"
 	"v.io/x/ref/profiles/internal/rpc/stream"
-	"v.io/x/ref/profiles/internal/rpc/stream/crypto"
 	"v.io/x/ref/profiles/internal/rpc/stream/vc"
 	"v.io/x/ref/profiles/internal/rpc/stream/vif"
 )
@@ -57,21 +56,19 @@
 func InternalNew(rid naming.RoutingID) stream.Manager {
 	statsPrefix := naming.Join("rpc", "stream", "routing-id", rid.String())
 	m := &manager{
-		rid:          rid,
-		vifs:         vif.NewSet(),
-		sessionCache: crypto.NewTLSClientSessionCache(),
-		listeners:    make(map[listener]bool),
-		statsPrefix:  statsPrefix,
-		killedConns:  stats.NewCounter(naming.Join(statsPrefix, "killed-connections")),
+		rid:         rid,
+		vifs:        vif.NewSet(),
+		listeners:   make(map[listener]bool),
+		statsPrefix: statsPrefix,
+		killedConns: stats.NewCounter(naming.Join(statsPrefix, "killed-connections")),
 	}
 	stats.NewStringFunc(naming.Join(m.statsPrefix, "debug"), m.DebugString)
 	return m
 }
 
 type manager struct {
-	rid          naming.RoutingID
-	vifs         *vif.Set
-	sessionCache crypto.TLSClientSessionCache
+	rid  naming.RoutingID
+	vifs *vif.Set
 
 	muListeners sync.Mutex
 	listeners   map[listener]bool // GUARDED_BY(muListeners)
@@ -160,7 +157,7 @@
 		if err != nil {
 			return nil, err
 		}
-		opts = append([]stream.VCOpt{m.sessionCache, vc.IdleTimeout{defaultIdleTimeout}}, opts...)
+		opts = append([]stream.VCOpt{vc.IdleTimeout{defaultIdleTimeout}}, opts...)
 		vc, err := vf.Dial(remote, principal, opts...)
 		if !retry || verror.ErrorID(err) != stream.ErrAborted.ID {
 			return vc, err
diff --git a/services/device/internal/impl/device_installer.go b/services/device/internal/impl/device_installer.go
index 4e3f7ca..8846d4d 100644
--- a/services/device/internal/impl/device_installer.go
+++ b/services/device/internal/impl/device_installer.go
@@ -78,8 +78,7 @@
 	return nil
 }
 
-// TODO(caprita,ashankar): Remove VEYRON_.* and NAMESPACE_ROOT.*.
-var allowedVarsRE = regexp.MustCompile("V23_.*|VEYRON_.*|NAMESPACE_ROOT.*|PAUSE_BEFORE_STOP|TMPDIR")
+var allowedVarsRE = regexp.MustCompile("V23_.*|PAUSE_BEFORE_STOP|TMPDIR")
 
 var deniedVarsRE = regexp.MustCompile("V23_EXEC_VERSION")
 
diff --git a/services/identity/internal/dischargerlib/discharger.go b/services/identity/internal/dischargerlib/discharger.go
index 4fb6d48..d1d401e 100644
--- a/services/identity/internal/dischargerlib/discharger.go
+++ b/services/identity/internal/dischargerlib/discharger.go
@@ -37,8 +37,6 @@
 // discharges using the MintDischarge on the principal receiving the RPC.
 //
 // Discharges are valid for 15 minutes.
-// TODO(ashankar,ataly): Parameterize this? Make it easier for clients to add
-// caveats on the discharge?
 func NewDischarger() discharger.DischargerServerMethods {
 	return dischargerd{}
 }