Skip to content
Open
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
7e7e9a8
initial revert to return to old fs logic
DaneEveritt Feb 4, 2026
a0691e5
fix go.mod
DaneEveritt Feb 4, 2026
24e3f67
get things compiling
DaneEveritt Feb 4, 2026
a30003f
require latest go for better root support
DaneEveritt Feb 4, 2026
e70f2f9
get path tests back in working order
DaneEveritt Feb 7, 2026
0e0acb4
Update core logic to account for how paths are handled in os.Root
DaneEveritt Feb 7, 2026
fd14a18
update tests
DaneEveritt Feb 7, 2026
fb4105e
get most tests passing again
DaneEveritt Feb 7, 2026
acbc8d1
get things booting up correctly
DaneEveritt Feb 7, 2026
863cc0f
fix chown calls on root path
DaneEveritt Feb 7, 2026
741cb50
improve sftp server support using os.Root
DaneEveritt Feb 8, 2026
d3559ae
fix panic condition
DaneEveritt Feb 8, 2026
7729d58
helps to actually return the mime
DaneEveritt Feb 8, 2026
ca3d2a0
update server file download logic
DaneEveritt Feb 8, 2026
c2b1dbf
restore parser from main branch
DaneEveritt Feb 8, 2026
78066a6
add back archive creation support
DaneEveritt Feb 16, 2026
2c6ca10
fix error handling
DaneEveritt Feb 16, 2026
5c7735c
remove legacy safepath method
DaneEveritt Feb 16, 2026
428c21a
bring back unarchive logic
DaneEveritt Feb 16, 2026
cdc6472
fix handling of symlinks when restoring archives
DaneEveritt Feb 17, 2026
bd60316
some initial cleanup to account for drift
DaneEveritt Feb 19, 2026
942f212
wrap up for the night
DaneEveritt Feb 19, 2026
20bb36b
try to get backup logic working better
DaneEveritt Feb 20, 2026
48991a0
fix backup restoration logic
DaneEveritt Feb 20, 2026
a57a342
always run chtime even when the folder already exists
DaneEveritt Feb 20, 2026
aa511f4
Update settings.go
DaneEveritt Feb 20, 2026
0d3ae69
Update chmod.go
DaneEveritt Feb 20, 2026
888ebb7
bump go versions
DaneEveritt Feb 20, 2026
4e9255c
upload debug builds
DaneEveritt Feb 20, 2026
fce4750
fix tests
DaneEveritt Feb 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ func rootCmdRun(cmd *cobra.Command, _ []string) {

// For each server ensure the minimal environment is configured for the server.
if err := s.CreateEnvironment(); err != nil {
s.Log().Error("could create base environment for server...")
s.Log().WithField("error", err).Error("could not create base environment for server...")
continue
}

Expand Down
37 changes: 0 additions & 37 deletions config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import (
"regexp"
"strings"
"sync"
"sync/atomic"
"text/template"
"time"

Expand All @@ -22,7 +21,6 @@ import (
"github.com/apex/log"
"github.com/creasty/defaults"
"github.com/gbrlsnchs/jwt/v3"
"golang.org/x/sys/unix"
"gopkg.in/yaml.v2"

"github.com/pterodactyl/wings/system"
Expand Down Expand Up @@ -251,8 +249,6 @@ type SystemConfiguration struct {
Backups Backups `yaml:"backups"`

Transfers Transfers `yaml:"transfers"`

OpenatMode string `default:"auto" yaml:"openat_mode"`
}

type CrashDetection struct {
Expand Down Expand Up @@ -798,39 +794,6 @@ func getSystemName() (string, error) {
return release["ID"], nil
}

var (
openat2 atomic.Bool
openat2Set atomic.Bool
)

func UseOpenat2() bool {
if openat2Set.Load() {
return openat2.Load()
}
defer openat2Set.Store(true)

c := Get()
openatMode := c.System.OpenatMode
switch openatMode {
case "openat2":
openat2.Store(true)
return true
case "openat":
openat2.Store(false)
return false
default:
fd, err := unix.Openat2(unix.AT_FDCWD, "/", &unix.OpenHow{})
if err != nil {
log.WithError(err).Warn("error occurred while checking for openat2 support, falling back to openat")
openat2.Store(false)
return false
}
_ = unix.Close(fd)
openat2.Store(true)
return true
}
}

// Expand expands an input string by calling [os.ExpandEnv] to expand all
// environment variables, then checks if the value is prefixed with `file://`
// to support reading the value from a file.
Expand Down
13 changes: 6 additions & 7 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
module github.com/pterodactyl/wings

go 1.24.0

toolchain go1.24.1
go 1.25.6

require (
emperror.dev/errors v0.8.1
Expand All @@ -26,12 +24,13 @@ require (
github.com/gin-gonic/gin v1.10.1
github.com/glebarez/sqlite v1.11.0
github.com/go-co-op/gocron v1.37.0
github.com/goccy/go-json v0.10.5
github.com/google/uuid v1.6.0
github.com/gorilla/websocket v1.5.3
github.com/iancoleman/strcase v0.3.0
github.com/icza/dyno v0.0.0-20230330125955-09f820a8d9c0
github.com/juju/ratelimit v1.0.2
github.com/klauspost/compress v1.18.0
github.com/karrick/godirwalk v1.17.0
github.com/klauspost/pgzip v1.2.6
github.com/magiconair/properties v1.8.9
github.com/mattn/go-colorable v0.1.14
Expand All @@ -44,7 +43,7 @@ require (
github.com/stretchr/testify v1.10.0
golang.org/x/crypto v0.46.0
golang.org/x/sync v0.19.0
golang.org/x/sys v0.39.0
golang.org/x/time v0.0.0-20220922220347-f3bd1da661af
gopkg.in/ini.v1 v1.67.0
gopkg.in/yaml.v2 v2.4.0
gopkg.in/yaml.v3 v3.0.1
Expand Down Expand Up @@ -79,14 +78,14 @@ require (
github.com/go-playground/locales v0.14.1 // indirect
github.com/go-playground/universal-translator v0.18.1 // indirect
github.com/go-playground/validator/v10 v10.25.0 // indirect
github.com/goccy/go-json v0.10.5 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jinzhu/inflection v1.0.0 // indirect
github.com/jinzhu/now v1.1.5 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
github.com/klauspost/compress v1.18.0 // indirect
github.com/klauspost/cpuid/v2 v2.2.10 // indirect
github.com/kr/fs v0.1.0 // indirect
github.com/leodido/go-urn v1.4.0 // indirect
Expand Down Expand Up @@ -130,9 +129,9 @@ require (
golang.org/x/arch v0.15.0 // indirect
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 // indirect
golang.org/x/net v0.47.0 // indirect
golang.org/x/sys v0.39.0 // indirect
golang.org/x/term v0.38.0 // indirect
golang.org/x/text v0.32.0 // indirect
golang.org/x/time v0.0.0-20220922220347-f3bd1da661af // indirect
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
google.golang.org/protobuf v1.36.5 // indirect
gotest.tools/v3 v3.0.2 // indirect
Expand Down
2 changes: 2 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,8 @@ github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
github.com/juju/ratelimit v1.0.2 h1:sRxmtRiajbvrcLQT7S+JbqU0ntsb9W2yhSdNN8tWfaI=
github.com/juju/ratelimit v1.0.2/go.mod h1:qapgC/Gy+xNh9UxzV13HGGl/6UXNN+ct+vwSgWNm/qk=
github.com/karrick/godirwalk v1.17.0 h1:b4kY7nqDdioR/6qnbHQyDvmA17u5G1cZ6J+CZXwSWoI=
github.com/karrick/godirwalk v1.17.0/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk=
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs=
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
Expand Down
21 changes: 0 additions & 21 deletions internal/ufs/LICENSE

This file was deleted.

21 changes: 0 additions & 21 deletions internal/ufs/README.md

This file was deleted.

12 changes: 0 additions & 12 deletions internal/ufs/doc.go

This file was deleted.

183 changes: 0 additions & 183 deletions internal/ufs/error.go

This file was deleted.

Loading
Loading