add file soft link path resolve support (#1482)

* add file soft link path resolve

* add configuration file soft link path resolve support
This commit is contained in:
Nanyu 2023-01-03 23:52:11 +08:00 committed by GitHub
parent 11ec77bc76
commit eaf401eda9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 3 deletions

View file

@ -3,7 +3,7 @@ package filesystem
import (
"io"
"os"
"path/filepath"
"github.com/xtls/xray-core/common/buf"
"github.com/xtls/xray-core/common/platform"
)
@ -11,7 +11,11 @@ import (
type FileReaderFunc func(path string) (io.ReadCloser, error)
var NewFileReader FileReaderFunc = func(path string) (io.ReadCloser, error) {
return os.Open(path)
resolved_path,err:=filepath.EvalSymlinks(path)
if err!= nil{
return nil,err
}
return os.Open(resolved_path)
}
func ReadFile(path string) ([]byte, error) {

View file

@ -2,6 +2,7 @@ package serial
import (
"io"
"path/filepath"
"github.com/xtls/xray-core/core"
"github.com/xtls/xray-core/infra/conf"
@ -10,7 +11,11 @@ import (
func BuildConfig(files []string, formats []string) (*core.Config, error) {
cf := &conf.Config{}
for i, file := range files {
for i, file_ := range files {
file, err := filepath.EvalSymlinks(file_)
if err != nil {
return nil, err
}
newError("Reading config: ", file).AtInfo().WriteToLog()
r, err := confloader.LoadConfig(file)
if err != nil {