luc785 at hotmail.com
Sat Jul 27 18:52:12 MDT 2013
Sorry to ask so many questions, but I find it is the best way to learn.
I am a GSoC student who is currently working on parsing libgpo to find GPOs that concern the server end. I have included a minor objective report on progress and my questions are below that.
About my Project-----------So far I have:-Created a thread that scans and finds all GPO's in sysvol, does a very basic read of the file, creates a report and description (not detailed description) of all GPO.
-Started making it event-driven - still deciding if I want to do this with inotify, or pynotify. I think the C way is better because then it can fit in cozily with the WAF build, and call the python script every x times as needed. I like the raw control of C, but the threads in python.
- I have also made raw built bindings for libgpo. However there is still much work to be done. Check it out on gitorious, if you want (pygpo.c +pygpo.h). It is hard when it comes to making local objects with Py_HEAD structures.
So I narrow it down to just the basics of which GPO's affect the server, now I need to go hard and parse them and update Samba (and then fit it in nicely with the WAF). And include a LDAP request somewhere in there to check on its stats.
My Questions----------------I have 2 short questions :1) Basically is there any documentation at all what exactly libgpo is trying to do, and how it is doing it? I see gpo.py in netcmd as a good tool, however for what I am doing, I may or may not need it. I started and will probably finish with libgpo, however it seems like everything is broken down into pieces a bit. What is the sequence of events?And at which point is LDAP called for info?
2) This question is about the registry. First off, really cool! I was in shock when I was looking around in the raw unicode format of .pol files to see that Samba actually both has a registry.c and a pyregistry.c. I know will most likely need these tools. When we are reading a Registry.pol file with registry.so (shared python/c binaries), is it parsed directly with pyregistry.c? ( I understand it is a yes or no question but I would be ever so happy to get a bit more detail on it).
Truly an honor to be working in the same software as such incredible minds. Almost everything I have seen is extremely cleverly engineered. Lots to learn from that they do not teach in software engineering at University. To emulate AD where it took thousands of windows guys to do it, with a team of under 50 people, I am still in awe.
Cheers to All!!!!!
ps did Jelmer document his method for bindings? Is he the only person on the team I can really email to ask about higher level binding? Interfacing python objects with the Talloc hierarchical memory context is a serious matter, that would be nice to have a few raw informational tidbits on.
Thanks again and let me know if I am breaking any etiquette by asking too many questions,
Luke MorrisonGSoC Making Samba 4 DC clients aware. Carleton University, Ottawa, Ontario, CanadaSoftware Engineering - Undergrad
More information about the samba-technical