M1noa
b93ecf78a9
fix(LCEL-02): canonicalize parent path for containment check
...
the previous canonicalize() call required the resolved dest_dir to
exist, but create_dir_all runs AFTER the check. for new subdirs
the canonicalize fails and we fall back to the raw path, which
defeats the containment check.
canonicalize the existing parent and append the basename instead.
this works whether or not the target dir exists yet.
2026-07-16 20:25:58 -05:00
M1noa
69998a6ae4
fix(LCEL-02): validate workshop install paths + uninstall paths
...
three changes to workshop_install / workshop_uninstall:
1. zip_name from the frontend is now rejected if it contains '..',
'/', '\\', or starts with '/' or '\\'. prevents the downloaded
archive from escaping tmp_dir.
2. placeholder is now rejected if it contains '..' or starts with
'/' or '\\'. after joining to instance_dir, the resolved path
is canonicalized and asserted to start with instance_dir.canonicalize().
prevents the install from escaping the instance dir.
3. workshop_uninstall now re-validates every persisted path in
pkg.dirs against instance_dir.canonicalize() before removing.
if an attacker injected paths into workshop_packages.json (via
the install traversals above or via LCEL-01's write primitive),
uninstall used to delete arbitrary files.
the proper fix is to use a safe zip library (zip-rs) that strips
'..' from members instead of shelling to bsdtar/unzip/tar. left
as a TODO so this commit stays minimal and reviewable.
2026-07-16 20:25:58 -05:00
/home/neo
5f04f26eb8
bump ( #133 )
2026-07-12 20:11:06 +03:00
/home/neo
0a32333019
1.6.0 drop 1 ( #132 )
2026-07-12 20:07:52 +03:00
/home/neo
0594d330be
fix(versions): custom path empty directory, fixes #127 ( #131 )
2026-07-12 10:06:37 +03:00
str1k3r
e8038f3c3e
fix(lceonline): client not opening & webview window for lceonline login ( #129 )
2026-07-12 09:43:17 +03:00
/home/neo
034fbf5737
feat: 1.5.0 drop 2 ( #122 )
...
Co-authored-by: str1k3r <115313679+S1l3ntStr1ke87@users.noreply.github.com>
2026-07-11 21:04:53 +03:00
neoapps-dev
7124b4a316
chore: bump
2026-07-06 21:55:04 +03:00
/home/neo
58581203e0
feat(icon): macOS style ( #106 )
2026-06-30 22:31:11 +03:00
/home/neo
074c1e50b9
feat: titlebar dragging ( #103 )
2026-06-28 20:48:50 +03:00
/home/neo
a94e4ec758
feat: parallel downloads, redesigned download overlay ( #100 )
2026-06-28 18:12:40 +03:00
/home/neo
e2459777b2
feat: neoLegacy official DLCs support ( #98 )
2026-06-28 17:03:53 +03:00
/home/neo
62b81e5145
feat: bring back titlebar on non-macOS systems, and show on fullscreen ( #96 )
2026-06-28 15:26:55 +03:00
/home/neo
98f92c3173
feat: download retry and error surfacing ( #95 )
2026-06-28 14:38:33 +03:00
/home/neo
5d7d2148cc
feat(VersionsMenu): download to custom path ( #87 )
2026-06-24 19:58:34 +03:00
/home/neo
e65ea4e06a
fix: fresh install fullscreen ( #86 )
2026-06-24 13:41:17 +03:00
/home/neo
d90c95da7f
bump ( #84 )
2026-06-23 18:58:21 +03:00
neoapps-dev
4dc55c918a
fix!: bug that deleted the instance right after downloading
2026-06-22 13:58:57 +03:00
neoapps-dev
1c2c73b95c
bump
2026-06-22 13:28:16 +03:00
neoapps-dev
1b4d6f590b
feat: unzip fallback
2026-06-18 23:55:44 +03:00
neoapps-dev
38fca607fd
feat: deeplinks
2026-06-16 19:20:50 +03:00
neoapps-dev
6f64b43358
fix(download+branches): fetch from rust, no update notif without url
2026-06-15 18:16:52 +03:00
neoapps-dev
49e7f823ce
feat: customization saving
2026-06-15 18:04:47 +03:00
neoapps-dev
25bc6754d7
fix: delete files AFTER download
2026-06-14 21:37:01 +03:00
neoapps-dev
0f3ddae8c7
feat: workshop plugins
2026-06-14 18:59:35 +03:00
neoapps-dev
8e27a4bed1
feat: initial plugin support
2026-06-14 18:05:20 +03:00
neoapps-dev
8bf6116b05
fix: start fullscreen issues
2026-06-07 23:33:30 +03:00
KayJann
bd632e7e0b
feat: add new lce team cinematic intro
2026-06-02 01:41:48 +02:00
KayJann
d10c4f6876
feat: new splash texts by the community
2026-06-01 10:11:56 +02:00
neoapps-dev
798b037920
fix(macos): missing import
2026-05-27 22:20:09 +03:00
neoapps-dev
0c1b2beced
feat: another settings category, launch prefixes, backup&restore and more
2026-05-26 19:15:56 +03:00
neoapps-dev
3525bd6523
bump
2026-05-26 17:00:22 +03:00
neoapps-dev
c3c3abb2e3
feat: playtime counting
2026-05-25 17:46:56 +03:00
neoapps-dev
e1a49069f0
remove lce bridge its a PAIN
2026-05-25 14:33:35 +03:00
neoapps-dev
114e775b2a
feat: java bridge
2026-05-25 13:23:01 +03:00
neoapps-dev
3a7335f43d
chore: remove console2lce because IT DOESNT WORK
2026-05-24 11:27:21 +03:00
neoapps-dev
f85829c88c
feat: initial support for importing worlds
2026-05-23 22:11:18 +03:00
neoapps-dev
a647f0c7dc
feat(rust): full refactor to everything. now code is readable
2026-05-23 18:56:16 +03:00
neoapps-dev
1c88642e5c
fix: compile issues
2026-05-21 19:43:40 +03:00
neoapps-dev
e6d88173d6
feat(LCELive): add -ip, -port and -quitondisconnect for neoLegacy
2026-05-21 14:14:45 +03:00
neoapps-dev
773da39fe1
fix(Windows): hide cmd.exe window on extraction
2026-05-21 13:49:27 +03:00
neoapps-dev
d85c9b2a2c
feat(Workshop): collab with ByteBukkit to bring plugins and servers
2026-05-17 21:57:20 +03:00
neoapps-dev
f43698aea4
feat: bring back servers.db manipulation
2026-05-17 14:45:11 +03:00
neoapps-dev
c2fb9ece72
fix: get rid of UDP broadcase and use port 61000 instead of a random port
2026-05-17 14:11:32 +03:00
neoapps-dev
558878f9df
ci: build artifacts
2026-05-16 20:37:13 +03:00
neoapps-dev
be910f2334
chore: bump
2026-05-16 20:24:59 +03:00
/home/neo
46e04a7c4b
merge experimental into main ( #42 )
2026-05-16 20:23:15 +03:00
/home/neo
f2398aad23
v1.2.0 ( #33 )
2026-05-15 20:31:41 +03:00
neoapps-dev
5fb311859a
revert steamworks, causes problems for now
2026-05-01 23:13:37 +03:00
neoapps-dev
b01b1273b1
feat: initial steamworks support
2026-05-01 22:31:29 +03:00