volume: require admin auth on ReadAllNeedles and VolumeNeedleStatus (#9437)

Both RPCs hand out raw needle bytes / cookies. Run them through
checkGrpcAdminAuth like the rest of the volume-server admin handlers.
This commit is contained in:
Chris Lu 2026-05-11 13:50:19 -07:00 committed by GitHub
parent 46bb70d93e
commit 2b21d19e4c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 0 deletions

View File

@ -398,6 +398,10 @@ func (vs *VolumeServer) VolumeNeedleStatus(ctx context.Context, req *volume_serv
resp := &volume_server_pb.VolumeNeedleStatusResponse{}
if err := vs.checkGrpcAdminAuth(ctx); err != nil {
return resp, err
}
volumeId := needle.VolumeId(req.VolumeId)
n := &needle.Needle{

View File

@ -11,6 +11,10 @@ import (
func (vs *VolumeServer) ReadAllNeedles(req *volume_server_pb.ReadAllNeedlesRequest, stream volume_server_pb.VolumeServer_ReadAllNeedlesServer) (err error) {
if err := vs.checkGrpcAdminAuth(stream.Context()); err != nil {
return err
}
for _, vid := range req.VolumeIds {
if err := vs.streamReadOneVolume(needle.VolumeId(vid), stream); err != nil {
stats.VolumeServerFileReadFailures.Inc()