Archive for the 'Status report' Category

Week 13

Monday, August 21st, 2006

Last week of Summer of Code actual coding.

I think the result at this point is not so bad - I managed to login to my test site with just one click, without giving any passwords :)

There still are things which can be improved:

  • Fix the JEP-0070 (but I don’t really have much influence on the progress)
  • Write nicer docs
  • Add manual confirmation to Jabberzilla
  • Fix the bugs ;)
  • Probably many things more I cannot think of right now

Although the “official” SoC coding is ending, I’m not going to drop this project. I didn’t spend all my summer on this just to forget about it now! So don’t worry :)

Week 12

Saturday, August 12th, 2006

Looks like it’s really working :)
Yes, of course, I’m finding new bugs from time to time. But it would be suspicious if I wouldn’t ;)

In addition, I found how to make a nice documentation page for apache, looking much like on their official website. Almost done :)

Plans for next week

  • Small break (I cannot turn down invitation from my best friend, right?)
  • Prepare everything for the end of Summer of Code

Week 11

Monday, August 7th, 2006

Aaaaargh!! I lost 3 (three) days searching for a bug. I checked everything.. or at least I thought I checked everything. And at the end, I found one missing line that stopped my extended Jabberzilla to work with confirmation requests delivered by messages…

In general, it seems that everything… WORKS :)

Plans for next week

  • Testing, etc, etc

Week 10

Monday, July 31st, 2006

As I started modyfing Jabberzilla I noticed that I cannot write much unless I know how the “HTTP-Client” part will be done. So I had to think about that.

First I have to mention, that there is still no decision from JSF regarding possible changes to the JEP… So there were two possible ways:

  1. extend existing schemes by using magical “xmpp” realm name (as in the current JEP)
  2. create new XMPP auth scheme (as proposed by some people)

New scheme is attractive from implementor’s point of view: it can be easily done as Firefox extension. Modyfing existing schemes would require more hacking. On the other hand, I wouldn’t like to re-implement all Digest auth logic already present in Firefox.
The first idea was: create new scheme, but reuse the code.
Second idea: actually call methods of existing auth components in my new component.
And the best idea came at the end: Firefox selects auth component by authentication scheme. So now… why not trick it that - for example - Basic with realm="xmpp" is actually a different scheme, let’s say XMPP-Basic?

So, I wrote a handler for new scheme(s), and then added a small rewrite tool that changes WWW-Authenticate headers on the fly :)

Maybe sounds easy, but it took me much time to invent, and required to read really much…

BTW: I really recommend XUL Planet if you’re planning to code something for Mozilla.

Plans for next week

  • Make my Great Solution work (yes, I have some code already, but it’s rather a prototype)
  • Make it work together with Jabberzilla

Week 9

Monday, July 24th, 2006

Finishing Apache module was quite easy, so I’m not going to talk about it ;)

Jabberzilla… I wanted to set up nice development environment. This requires compiling Mozilla. And this requires much work. Too much work… One day for reading how-tos, setting up compilation environment (it is not so easy on Windows), fighting with some broken scripts, etc, etc, etc. Then next day to compile. Then it throws an error which you have no idea how to fix ;)
Then you start thinking: why do I have to compile this, if I’m (probably) not going to edit any file written in C++? :)
Yes, Mozilla extensions are simply zip files, so it is possible to extract, modify and zip again!

Tip of the day: don’t follow build instructions blindly ;)

So, when I had the working-and-unpacked version, I could start getting familiar with the code. Just one question: why is everything solved so differently than in Psi? No, I’m not saying that it is worse or better - it’s just different, and this makes everything harder…

Plans for next week

  • Start actually modyfing Jabberzilla at last…
  • Think how to hack standard authentication handlers in Firefox

Week 8

Tuesday, July 18th, 2006

At last… after 1.5 week, the temperature is going back to normal. So at last I can work normally…

So, as planned, I had took some rest this week. Plus I studied about writing Firefox extensions and downloaded Jabberzilla. Now time for some coding :)

Plans for next week

  • Finish Apache module (Safari accounts activated!)
  • JEP-0070 support for Jabberzilla

Week 7

Monday, July 10th, 2006

Apache, apache… Not so easy as I thought it would be. I guess it is never easy to jump inside an unfamiliar project and write something. Plus I had to write in C… So the code looks like: 1 line doing something, 6 lines of error handling, 1 line doing something, 6 lines of error handling… Good that I could do some copy-paste there ;)

mod_jauto status now is: it does the job, but still some work is needed. Rumor says that Safari Accounts for SoC students will be activated soon, I guess it will be easier for me to polish some things if I do some reading, so I’m leaving this the way it is now.

Other news: My ISP separated me from the outside world for some time (count in days). That’s why this report is delayed…

Plans for next week

  • rest a bit: it’s really hot these days, and I have no air conditioning, so I got really tired… let’s call this “mid-term break” :)
  • explore the world of Firefox extensions :)

Week 7

Monday, July 10th, 2006

Apache, apache… Not so easy as I thought it would be. I guess it is never easy to jump inside an unfamiliar project and write something. Plus I had to write in C… So the code looks like: 1 line doing something, 6 lines of error handling, 1 line doing something, 6 lines of error handling… Good that I could do some copy-paste there ;)

mod_jauto status now is: it does the job, but still some work is needed. Rumor says that Safari Accounts for SoC students will be activated soon, I guess it will be easier for me to polish some things if I do some reading, so I’m leaving this the way it is now.

Other news: My ISP separated me from the outside world for some time (count in days). That’s why this report is delayed…

Plans for next week

  • rest a bit: it’s really hot these days, and I have no air conditioning, so I got really tired… let’s call this “mid-term break” :)
  • explore the world of Firefox extensions :)

Week 6

Monday, July 3rd, 2006

Big news this week!

Psi patch submitted!

I consider this subproject finished, unless JEP-0070 evolves in some unexpected direction (yes, still no final version containing required changes)
more »

jauto daemon 0.1 released!

Yes! Released! Still some changes are needed, but at least you can play with it.
more »

Plans for next week

  • Apache module

Week 5

Tuesday, June 27th, 2006

Yaaaaaaaay! Exam passed! Happy happy!

Now, more on-topic news:

Work on XMPP Component is going really well. Yes, it is still unfinished, but… If you check my old schedule, there was one week planned for XMPP Component and one week for integrating XMPP Component with Apache module. Honestly, now it looks like XMPP Component will be a something like a server for confirmation requests, and Apache module will be a simple client (you can do authentication in Apache by checking user passwords in a file: this will be the same, but I’ll be “checking in” XMPP Component). So right now I have to put more efford into finishing the Component, and then Apache module will be really quick and easy.

While testing XMPP Component together with my modified Psi, I found a really annoying bug in my psi patch. And it took me all evening to find it. Hmm… Handling of element namespaces in Psi is really tricky… and honestly I’m still not sure what is going on there… but at least I found out how to fix my problem.

Plans for next week

Two main points:

  • Submit Psi patch
  • Release XMPP Component

Someone could say that I’m getting behind the schedule. The truth is that I’m dynamically changing the schedule, because I have to. I’m taking days from last weeks of the old schedule, from “documenting and packaging” time slot. Why? I noticed that it’s not a good idea to wait to the very end with releasing everything. Especially with Psi patch. Why? Because Psi is changing so much now, that even waiting few days makes it hard to merge my patch with the mainline. So I need to finish documenting the code in my patch now (as required to submit a patch to Psi) and try to get this into mainline ASAP. If I don’t spend a day or two on this now, I’ll have to waste all week at the end of August rewriting the patch to work with latest mainline.

Other plans:

  • Jabber SoC Conference on Tuesday
  • Mid-term meeting with my mentor on Thursday
  • Start Apache module (if time permits)