Hi Pranay,
The code you would be working on (for the registry) is mainly the registry library : https://svn.reactos.org/svn/reactos/trunk/reactos/sdk/lib/cmlib/ , which implements the core of the functionality. The missing functionality there are the hives mapped into memory (currently, only hives fully loaded in memory are supported; the mapped functionality would imply adding some lookup tables, as far as I’ve understood at first sight from some pieces of the code and from the documentation links I mentioned in the previous mail) . This is also in cmlib that the code regarding implementing registry corruption recovery would be implemented (implementing the registry hive transaction log feature, and the function responsible for checking the sanity of a registry hive being loaded, called “CmCheckRegistry”).
Then, the ReactOS kernel wraps all this into some extra code, which implements caching, etc… : https://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/config/ . Adding support for security (access control lists, etc…) for registry hives, which is currently stub-plemented, would be nice, so that our registry hives could be loaded by Windows’ NTLDR (loader bootstrap) & its kernel.
So the main two points cited in the wiki:
“
1. When ReactOS crashes, Registry Hives easily get corrupted and render the whole system unbootable. The reliability of the Registry Hive implementation shall be improved to make the effect of crashes less severe and also recover from partly corrupted Hives.
2. Hives created by our mkhive tool are roughly compatible with the Windows format. The only part that is currently missing are the implementation of Security Descriptors. Implementing these could make the tool more usable and improve interoperability between Windows and ReactOS.
“
would concern respectively: 1) adding code into cmlib + implementing CmCheckRegistry, and 2) Implementing support for registry keys security (somewhere in ntoskrnl/config).
Also, you might be interested (optional, depending on your motivation/status/…) in implementing (actually the corresponding code is half-plemented & broken) code for correctly unloading hives (this needs, cleaning the appropriate caches, etc…). This should be looked more carefully. Properly unloading registry hives is needed to implement e.g. user log-off (the corresponding user registry hive, so-called “user profile”, has to be unloaded at logoff; we currently have a “hack”, so to say, to make it work).
Regards,
Hermès BÉLUSCA - MAÏTO
De : Ros-dev [mailto:ros-dev-bounces@reactos.org] De la part de Pranay Pratyush
Envoyé : jeudi 30 mars 2017 11:26
À : ReactOS Development List
Objet : Re: [ros-dev] Gsoc audio project mentor status
Could you tell me what files would I be working on and what code would I be adding to fix the bugs mentioned on the wiki.
Thank You
--
Pranay Pratyush,
3rd year undergraduate ,
Computer Science and Engineering Department
Indian Institute Of Technology, Kharagpur
--
On Thu, Mar 30, 2017 at 5:04 AM, Hermès BÉLUSCA-MAÏTO <hermes.belusca@sfr.fr> wrote:
Hi Pranay !
Yes, the potential mentor for audio-related matters, Johannes Anderwald, is currently away from ReactOS since a long time now, so unless someone else wants to mentor on the audio project.
I can however mentor you for the “registry hive implementation” proposal, because I’ve touched this area of code recently, and there’s actually some documentation available out there (see the provided links on the wiki).
Other potential mentors for the registry stuff (besides me) could be Alex Ionescu or Aleksey Bragin (or others), as they have also implemented some parts of it.
Best,
Hermès BÉLUSCA - MAÏTO
De : Ros-dev [mailto:ros-dev-bounces@reactos.org] De la part de Pranay Pratyush
Envoyé : mercredi 29 mars 2017 22:23
À : ReactOS Development List
Objet : [ros-dev] Gsoc audio project mentor status
Hi there,
I am under the impression that no mentor can be assigned to my audio mixer proposal. Can someone confirm this or the opposite? If so I would like to create a proposal on "Improving the quality of our Registry Hive implementation", but since I don't have much time left and I haven't gone through the relevant code, I would really appreciate it if you point me to the mentor for this project.
Thank You
--
Pranay Pratyush,
3rd year undergraduate ,
Computer Science and Engineering Department
Indian Institute Of Technology, Kharagpur
--
_______________________________________________
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev