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 ( import (
"io" "io"
"os" "os"
"path/filepath"
"github.com/xtls/xray-core/common/buf" "github.com/xtls/xray-core/common/buf"
"github.com/xtls/xray-core/common/platform" "github.com/xtls/xray-core/common/platform"
) )
@ -11,7 +11,11 @@ import (
type FileReaderFunc func(path string) (io.ReadCloser, error) type FileReaderFunc func(path string) (io.ReadCloser, error)
var NewFileReader 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) { func ReadFile(path string) ([]byte, error) {

View File

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