Friday, December 14, 2007
Getting rid of warnings
If you have ever built Samba4, you will have noticed that gcc spits tons of warnings. As fixing little things all over the code is a good and easy way to get an idea what's done where, I have decided to go and fix as many of those warnings as possible.
Labels:
Samba
Wednesday, September 19, 2007
Improving Samba4 winbind, a look back
What the project is about
Samba4 contains a basic winbind implementation, but it is still lacking many features. The goal of my project was to improve Samba4 winbind so that the nsswitch and pam functionality provided by Samba3's winbindd would be present in Samba4, too.
Simply copying code over from Samba3 would not do, of course, as the underlying architecture in Samba4 is different. Also, the goal was to improve readability of the code, as opposed to the more organically "grown" look of the Samba3 winbindd code.
In Samba4, there is a library taking care of user/group management called libnet. Samba4 winbind uses this library extensively.
What was done so far
- Porting nsstest to Samba4 nsstest is a binary that test basic functionality of a nsswitch library. Once all the tests in nsstest work for libnss_winbind from Samba4, the winbind implementation is useable.
- Getting information about users / SIDs This is the basic nsswitch getpwnam/getpwuid functionality returning a pwent structure. It is also possible to query for AD / NT domain information about the user/sid.
- User listing / enumeration nsswitch provides a set of functions (setpwent/getpwent/endpwent) to iterate over a password database. The classic database is the /etc/passwd file, but of course using nsswitch, it's possible to use a directory like LDAP or AD.
- Mapping SIDs to user ids and back This one is only stubbed out, as Samba4 doesn't handle that mapping yet. However, functions for this were needed to make winbind work, so I had to stub these out. The advantage is that the other code will automagically start to work correctly once these functions are implemented for real.
- Mapping SIDs to group ids and back Much the same applies here, once idmapping is supported in Samba4, this will be replaced by real code.
- Group enumeration The libnet functions for group enumeration were not implemented by the time GSoC was up. Now these functions are in, so support for groups identical to the user functions will follow soon.
- NTLM caching Due to time constraints, caching of NTLM blobs was discarded. The nsswitch/pam functionality was regarded as core importance.
- PAC/info3 caching As with NTLM caching, PAC/info3 caching was discarded. Caching is only interesting once the other features are working and will be implemented eventually.
- Automated tests Currently the only way to test all of the functionality is to wrap the wbinfo binary and let that take care of constructing the necessary winbind queries. This is a bit clumsy. Jerry Carter is currently working on a winbind client library that will allow to access the functionality of wbinfo without a wrapper. The tests will be implemented using that API once it is in the tree.
Friday, July 27, 2007
Having a Campus Party
¡Buenas tardes, compaƱeros!
Spending all of this week in Valencia, Spain for Campus Party 2007, I'm having loads of fun hanging out with the other Summer of Code students and all the nice people from Google.
I have tried hard to get some work done for my Summer of Code project this week, but it's rather hard to really concentrate when you're in a room with thousands of people playing computer games, having shouting competitions and generally a lot of noise. I wish I had noise-canceling earphones.
Still, I'm currently working on some code that should make my life easier next week. Writing utility functions is lots of work, but usually worth it.
Yesterday, I had a fun time delivering my presentation about experiences with Google Summer of Code and tips how to get into Google Summer of Code in 2008. The small lecture room that Google uses for the talks and tutorials was pretty full, so I hope some of these people will actually get into Google Summer of Code next year. I did not really get into details on my current and previous projects but rather talked about personal experiences and strategies to get your proposal accepted.
Apart from writing code for my SoC project, preparing and giving the talk, I'm having fun with the Googlers and SoCers, hanging out at the beach at 3 in the night, having nice food and generally enjoying myself. Sleep is a bit short, but there's always something.
¡Hasta luego!
Spending all of this week in Valencia, Spain for Campus Party 2007, I'm having loads of fun hanging out with the other Summer of Code students and all the nice people from Google.
I have tried hard to get some work done for my Summer of Code project this week, but it's rather hard to really concentrate when you're in a room with thousands of people playing computer games, having shouting competitions and generally a lot of noise. I wish I had noise-canceling earphones.
Still, I'm currently working on some code that should make my life easier next week. Writing utility functions is lots of work, but usually worth it.
Yesterday, I had a fun time delivering my presentation about experiences with Google Summer of Code and tips how to get into Google Summer of Code in 2008. The small lecture room that Google uses for the talks and tutorials was pretty full, so I hope some of these people will actually get into Google Summer of Code next year. I did not really get into details on my current and previous projects but rather talked about personal experiences and strategies to get your proposal accepted.
Apart from writing code for my SoC project, preparing and giving the talk, I'm having fun with the Googlers and SoCers, hanging out at the beach at 3 in the night, having nice food and generally enjoying myself. Sleep is a bit short, but there's always something.
¡Hasta luego!
Monday, July 23, 2007
En route to Valencia
Finally on my way to Campus Party 2007. I really need to get my talk for thursday done, hopefully I'll be able to finish it before my plane touches down in Valencia. (I'm currently waiting for my first flight to depart, not blogging from a plane.)
Originally I was planning to take care of my talk last weekend, but some nice virus decided that I'd rather spend all weekend in bed, sick. Oh well, this won't be the first just-in-time presentation. I'm just hoping my stomach will settle down a bit so I can actually enjoy all the nice Spanish food.
I'm looking forward to a nice week in Spain, even though I will have to spend my time working on my GSoC project, as well as my LinuxConf.EU talk. I will be blogging from the event, too.
Labels:
GSoC
Thursday, July 12, 2007
LinuxConf.EU
The talk I proposed for LinuxConf.EU was accepted, so I'm going to Cambridge early September. Unfortunately this means that I actually have to write the talk I proposed to give. Also, as I need to hand in my talk by 30th of July, I'll probably need to write it while I'm at Campus Party in Valencia.
Oh well. I'm looking forward to another nice conference.
Wednesday, July 4, 2007
Traveling to Spain
Google invited me and three other students to join them for the 2007 version of Campus Party. This means that I will travel to one of Spain's largest technology events to meet some other GSoCers and give a presentation about my GSoC project and my experience with GSoC in general. It looks like this is going to be lots of fun.
Time to go and work on my presentation.
Labels:
GSoC
Saturday, June 30, 2007
plunger moves to Google project hosting.
So far, plunger has existed in the WorldForge cvs tree out of convenience. However, as there are quite some people interested in plunger from outside the WorldForge project, I've decided to provide more infrastructure than what WorldForge has right now. This includes an issue tracker to allow people to more easily create bug reports and give feedback.
After spending some hours to move the code from cvs to google's svn, plunger now lives at http://code.google.com/p/plunger/
Expect some changes while I sort out the infrastructure I want to have set up at the new site.
Labels:
plunger,
WorldForge
Hello World
This being the traditional first program for any programming language, I think it's a fitting title for the first post to a development blog.
Now, what is this blog all about? I'm not a big fan of blogging in general, but I have to admit that they are a good way to provide news and status updates for projects. I'm developing for a couple of different projects and I'd like to have a single place to write about this, instead of having to go to a different blog site for each.
Subscribe to:
Posts (Atom)