mirror of
https://github.com/minio/minio.git
synced 2024-12-25 06:35:56 -05:00
Avoid ListenBucket targets to be listed in ServerInfo (#6340)
In current master when you do `mc watch` you can see a
dynamic ARN being listed which exposes the remote IP as well
```
mc watch play/airlines
```
On another terminal
```
mc admin info play
● play.minio.io:9000
Uptime : online since 11 hours ago
Version : 2018-08-22T07:50:45Z
Region :
SQS ARNs : arn:minio:sqs::httpclient+51c39c3f-131d-42d9-b212-c5eb1450b9ee+73.222.245.195:33408
Stats : Incoming 30GiB, Outgoing 7.6GiB
Storage : Used 7.7GiB
```
SQS ARNs listed as part of ServerInfo should be only external targets,
since listing an ARN here is not useful and it cannot be re-purposed in
any manner.
This PR fixes this issue by filtering out httpclient from the ARN list.
This is a regression introduced in #5294 0e4431725c
This commit is contained in:
parent
1ffa6adcd4
commit
2211a5f1b8
@ -23,6 +23,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"net/url"
|
"net/url"
|
||||||
"path"
|
"path"
|
||||||
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -46,8 +47,14 @@ func (sys *NotificationSys) GetARNList() []string {
|
|||||||
arns := []string{}
|
arns := []string{}
|
||||||
region := globalServerConfig.GetRegion()
|
region := globalServerConfig.GetRegion()
|
||||||
for _, targetID := range sys.targetList.List() {
|
for _, targetID := range sys.targetList.List() {
|
||||||
|
// httpclient target is part of ListenBucketNotification
|
||||||
|
// which doesn't need to be listed as part of the ARN list
|
||||||
|
// This list is only meant for external targets, filter
|
||||||
|
// this out pro-actively.
|
||||||
|
if !strings.HasPrefix(targetID.ID, "httpclient+") {
|
||||||
arns = append(arns, targetID.ToARN(region).String())
|
arns = append(arns, targetID.ToARN(region).String())
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return arns
|
return arns
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user