Archive for July, 2006

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 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 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 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 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