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/>
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/>
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(a)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(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev