> just hold a reference to the UserAccount itself and modify it at will without any confusionĮxcept the confusion of data races and having multiple concurrent writers more generally. I'm not saying we should always use GC'd or RC'd languages for privacy-sensitive purposes, but one should be aware of the particular shortcomings of their tools and have proper practices and oversight in place to mitigate them. In the GC'd/RC'd language, this would still be a bug, but it wouldn't cause any mixups between different users' data. Each has its own performance hit, but that hit can be worth it to prevent privacy bugs. When using Rust, one has to use discipline to avoid this bug: use IDs into a hash map, or generational indices, or Rc>. If the operation uses that "dangling index", it can lead to leaking sensitive data to the wrong users, or data loss. However, we might erase and re-use a spot in that Vec, meaning the index now refers to some other UserAccount. In Rust, the borrow checker often doesn't let us hold a reference from a long-running operation in practice, so we work around it by putting all UserAccount instances into a Vec, and have our long-running operations refer to it via an index. In fact, in the pursuit of eliminating memory-safety and security bugs, Rust can sometimes makes some privacy bugs more likely.įor example, in GC'd/RC'd languages, if we have several UserAccount instances and a bunch of long-running operations on them, any particular long-running operation will just hold a reference to the UserAccount itself and modify it at will without any confusion. We communiated very well with RustDesk Server contributor. I just lost patience sometimes, it is really not an easy job to maintain an open source project like RustDesk. I do not know why said "impossible to communicate", appologize if I made you not happy before. We hope more contributors can join us to make it better. Here is a good video for selfhost which can help you. We are attempting to improve the bandwidth. That's why we encourage the selfhost, and open source the server. But Flutter does not support 32-bit Windows, we have to keep Sciter for 32-bit Windows version.Īs an open source project, we only have very limit bandwidth for you, the connection is not reliable sometime if you use our public servers. We are also removing Sciter, rewriting the UI with Flutter. We did some stupid things before, especially the Wayland "Fix it" button, no excuse, we have removed it, and been working hard to make Wayland support work. (ok, actually might be possible by using gamescope, which runs its own Wayland+XWayland compositor inside an SDL window that you can also force to use a specific resolution - again no resolution changes are supported and that uses wlroots - that can be scaled to arbitrary outputs and if the SDL you're using has a Wayland backend to avoid going through the desktop's Wayland compositor's XWayland layer then you may not get that much lag at all - though not sure if there'd be enough memory left for the game after all that :-P) Of course that means that games that do not support 1280x720 wont work at all, but that's minor details, about as important as using a lower resolution to get better framerates from the Atom iGPU the device has :-P However since Wayland (or at last KDE's Wayland implementation) doesn't provide any functionality for changing video modes, the bug isn't triggered when running KDE with Wayland as the latter forces games to use whatever video mode the desktop uses. Amusingly it is thanks to Wayland i can use Linux on my GPD Win 1 handheld - apparently there is a bug in the video driver that when changing video modes can cause the entire screen to shift several lines (probably some memory offset issue, sometimes it even causes colors to go haywire) that needs a reboot to fix.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |