LLars MüllerReduce transitive includes of settings.h
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Reduce transitive includes of settings.h | 14 天前 | |
Log error if encountering object with duplicate GUID | 14 天前 | |
Refactor some minor script-related parts notably we now use rawget/rawset to access core.object_refs/objects_by_guid/luaentities | 14 天前 | |
[SSCSM] Remove ContentFeatures copy | 1 个月前 | |
Create SSCSM skeleton and scripting (#15818) Contents: * Adds a SSCSM controller and environment skeleton * SSCSMs run in a separate thread, not yet in a separate process. API calls will later happen as IPC calls, this is already part of the software architecture. * Adds a scripting env for SSCSM * It's not yet populated with luanti API functions * Should include only safe functions * Clock precision (`core.get_us_time()` and `os.clock()`) is limited to 20 us. 20 us was the value, firefox used as first response to the spectre attacks. now it's 100 us or 5 us, depending on whether it's "cross-origin isolated". we only have one origin, so choosing 20 us is probably fine, I guess see also: https://www.mozilla.org/en-US/security/advisories/mfsa2018-01/ https://developer.mozilla.org/en-US/docs/Web/API/Performance/now#security_requirements * other clocks: * os.time() and os.date() only have seconds precision, AFAIK. * dtime is only given once per step, so it's not useful * there might be other ways to build clocks (if we get async envs for sscsm, with a busy loop, for example) * `tostring` is *not* overridden. `tostring({})` and `string.format("%s", {})` give you pointers. (see lj_strfmt_obj) this is not very critical, but attacks could be made harder if we change this. the effort of overwriting is not worth it I think right now * Includes a `sscsm_security.md`, read it * Adds a non-binary setting `enable_sscsm` * Maybe some more tiny stuff. See PR and diffs. --------- Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com> | 7 个月前 | |
In-game settings menu using separate Lua environment (#15614) | 1 年前 | |
In-game settings menu using separate Lua environment (#15614) | 1 年前 | |
Rename perlin noise to value noise (#15858) | 1 年前 | |
Refactor ScriptApiSecurity for cleaner separation of concerns | 1 年前 | |
Harden filesystem sandboxing for main menu | 22 天前 | |
Mainmenu: Move core.on_before_close to s_mainmenu like other callbacks, and doc | 1 年前 | |
Clean up header includes (#16674) | 9 个月前 | |
In-game settings menu using separate Lua environment (#15614) | 1 年前 | |
Add API to cancel async jobs (#14602) * Implement API to cancel async jobs Co-authored-by: sfan5 <sfan5@live.de> * update AsyncJob:cancel documentation from review * Use IPC to unblock async * review * review async unblocking * review * Apply suggestions from code review Co-authored-by: sfan5 <sfan5@live.de> * minor licensing --------- Co-authored-by: y5nw <y5nw@protonmail.com> Co-authored-by: sfan5 <sfan5@live.de> | 1 年前 | |
Add API to cancel async jobs (#14602) * Implement API to cancel async jobs Co-authored-by: sfan5 <sfan5@live.de> * update AsyncJob:cancel documentation from review * Use IPC to unblock async * review * review async unblocking * review * Apply suggestions from code review Co-authored-by: sfan5 <sfan5@live.de> * minor licensing --------- Co-authored-by: y5nw <y5nw@protonmail.com> Co-authored-by: sfan5 <sfan5@live.de> | 1 年前 | |
Create SSCSM skeleton and scripting (#15818) Contents: * Adds a SSCSM controller and environment skeleton * SSCSMs run in a separate thread, not yet in a separate process. API calls will later happen as IPC calls, this is already part of the software architecture. * Adds a scripting env for SSCSM * It's not yet populated with luanti API functions * Should include only safe functions * Clock precision (`core.get_us_time()` and `os.clock()`) is limited to 20 us. 20 us was the value, firefox used as first response to the spectre attacks. now it's 100 us or 5 us, depending on whether it's "cross-origin isolated". we only have one origin, so choosing 20 us is probably fine, I guess see also: https://www.mozilla.org/en-US/security/advisories/mfsa2018-01/ https://developer.mozilla.org/en-US/docs/Web/API/Performance/now#security_requirements * other clocks: * os.time() and os.date() only have seconds precision, AFAIK. * dtime is only given once per step, so it's not useful * there might be other ways to build clocks (if we get async envs for sscsm, with a busy loop, for example) * `tostring` is *not* overridden. `tostring({})` and `string.format("%s", {})` give you pointers. (see lj_strfmt_obj) this is not very critical, but attacks could be made harder if we change this. the effort of overwriting is not worth it I think right now * Includes a `sscsm_security.md`, read it * Adds a non-binary setting `enable_sscsm` * Maybe some more tiny stuff. See PR and diffs. --------- Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com> | 7 个月前 | |
Create SSCSM skeleton and scripting (#15818) Contents: * Adds a SSCSM controller and environment skeleton * SSCSMs run in a separate thread, not yet in a separate process. API calls will later happen as IPC calls, this is already part of the software architecture. * Adds a scripting env for SSCSM * It's not yet populated with luanti API functions * Should include only safe functions * Clock precision (`core.get_us_time()` and `os.clock()`) is limited to 20 us. 20 us was the value, firefox used as first response to the spectre attacks. now it's 100 us or 5 us, depending on whether it's "cross-origin isolated". we only have one origin, so choosing 20 us is probably fine, I guess see also: https://www.mozilla.org/en-US/security/advisories/mfsa2018-01/ https://developer.mozilla.org/en-US/docs/Web/API/Performance/now#security_requirements * other clocks: * os.time() and os.date() only have seconds precision, AFAIK. * dtime is only given once per step, so it's not useful * there might be other ways to build clocks (if we get async envs for sscsm, with a busy loop, for example) * `tostring` is *not* overridden. `tostring({})` and `string.format("%s", {})` give you pointers. (see lj_strfmt_obj) this is not very critical, but attacks could be made harder if we change this. the effort of overwriting is not worth it I think right now * Includes a `sscsm_security.md`, read it * Adds a non-binary setting `enable_sscsm` * Maybe some more tiny stuff. See PR and diffs. --------- Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com> | 7 个月前 |