Home Home > 2009 > 05
Sign up | Login

Deprecation notice: openSUSE Lizards user blog platform is deprecated, and will remain read only for the time being. Learn more...

Archive for May, 2009

GSoC – summary of this week’s meeting

May 21st, 2009 by

My mentor suggested to do a weekly meeting in order to discuss the current state of the project. I’m going to post a small summary after each meeting.

in progress:

  • build small rails test application in order to simulate a small environment to test the ruby libraries
  • used the “restful_authentication” module because it is required by the rails plugin generator

The test application is more or less working and it’s already possible to get an access token.

TODO:

  • find more information and possible workarounds for the session fixation attack
  • finish the test application
  • find out which method’s from the “restful_authentication” module are required by the oauth rails plugin. The plan is to “fake” this methods so that the rails plugin can be used.

Additionally we talked a bit about authlogic – we decided that we won’t use authlogic for this project but it might be useful for the future.

Searching for Stories from the OpenSUSE Weekly News

May 21st, 2009 by

Hello Mates,

the OpenSUSE Weekly News is searching about Stories from Visitors of the Community Week, and Summits from the Teams.

Emails are welcome by: saigkill@opensuse.org

New Blogger : James A Tremblay aka The SLEducator

May 20th, 2009 by

Well, this is my first use of this tool so this will be short, I want to see how what I type gets presented and where, so bare with me.
Last week was openSUSE community week, For the Education Team things were pretty much “status quo” we have an exciting team.
We have announced several new features, new live disks and achievements. Please visit us at #opensuse-edu on irc.freenode.net anytime

OpenOffice_org 3.1 rc2 available

May 18th, 2009 by

I’m happy to announce that OpenOffice.org 3.1 rc2 packages are available in the Build Service OpenOffice:org:UNSTABLE project. They include many upstream and Go-oo fixes. Please, look for more details about the openSUSE OOo build on the wiki page.

The packages are release candidates but they might still include even serious bugs. Therefore they are not intended for data-critical usage. A good practice is to archive any important data before an use, …

We kindly ask any interested beta testers to try the package and report bugs.

Other information and plans:

I am sorry to say but we need rc3 to fix the bug #503482. The rc3 packages should be available by the end of this week. I hope that they will pass QA and I’ll be able to put the in the the STABLE repository the following week. I am sorry for another delay. We must define the feature freeze earlier the next time.

openSUSE-GNOME BugDay Weekend Wrapup

May 18th, 2009 by

As posted to the openSUSE-GNOME Mailing List.


Greetings!

Thanks to all who showed up to help on the bug day on
Friday, your efforts are greatly appreciated.

We started with just over 70 bugs and left the *obby
session available over the weekend.  By the end of the
weekend, we had reviewed 14 bugs (9 of which we closed).

These were all Critical and Major bugs listed for openSUSE
11.1.

I will be closing the *obby session this afternoon at about
1700 CDT.

Thanks again!

Christopher M. Hobbs [chobbs@siloamsprings.com]
Network Administrator, City of Siloam Springs

A Quick Tour of GNOME Shell

May 16th, 2009 by

Because I feel a tad bit guilty about missing all of the Community Week sessions this week (school and work training, and before you ask, I’ve got more training all this weekend, so I can’t make those sessions either), I did decide to do a quick tour of the GNOME Shell, one of the integral parts of the GNOME 3 series, scheduled to be coming out in 2010 or so.

First, big thanks to Vincent Untz for packaging the GNOME Shell packages for openSUSE! I’m using these packages for my testing purposes

Here’s the quick tour:

First, here’s the openSUSE 11.1 desktop w/ GNOME 2.24 running GNOME Shell:

GNOME Shell Desktop

GNOME Shell Desktop

Note the Activity menu and the specially-capulated notification area. Good stuff. I al so like the stylized panel, but I don’t like it at the top. When  openSUSE adopts GNOME 3, I’d like to see it moved to the bottom.

Windows being created from the Application Launcher

Windows being created from the Application Launcher

Clicking on the Activity menu opens this menu. The desktop shrinks into a side (and you can create or remove as many as you wish, which is seriously awesome), and opens the most recent Applications and documents (I think). If you wish to open an application, double-click or drag the icon onto the desktop you wish it to open to.

Search

Search

Here I did a simple search for SUSE. Applications and documents that matched that search pop up (although I’m not sure what indexing service that is, I’m relatively sure it’s not Beagle, openSUSE’s desktop search indexer).

Full search results shown

Full search results shown

Here’s an expanded view of the search for apps with SUSE. The desktops slide out of the way, and a multi-column (and page) view pops up. To open, drag an icon over to the right (onto the desktop).

Overall, I like it. Combined with the new stuff coming next year in GNOME 3, this could be quite an interesting release. One of the most important things to note is that this interface seems incredibly tailored toward netbook’s small screens.

What do you think?

NetworkManager and keyring

May 15th, 2009 by

Tonight I stumbled upon the solution to a irritating little problem I have had for a long time. I use autologin and every time I log in I get prompted for my keyring password in order to access the wireless network. I have googled for this problem numerous times in the past without any luck. All the suggested solutions had to do with Ubuntu and a tool called libpam-keyring. This does not seem to work the same on openSuSE as on Ubuntu and did not help me much. Then I found this post. Towards the bottom of the thread is the instructions that have been evading me for so long. Hope this helps someone else.

GSoC – Integrating oauth into the openSUSE BuildService

May 15th, 2009 by

This year I’m going to participate in the Google Summer of Code and my goal for this summer is to add support for oauth to the openSUSE BuildService. My mentor is darix. In the following I’m going to describe the project and its planned implementation a bit further.

oauth is an open protocol which describes the required steps for a client to
authorize with an API. In traditional protocols the client asks for the user’s
credentials (most-likely a pair of an username and password) and uses these
credentials to authenticate with the API. One drawback of this approach is that
the user has to trust the client that it stores the credentials in a secure way
and that it doesn’t misuse it.
oauth tries to solve these issues in a more elegant and secure way.

Small overview about oauth:
Every API (in oauth terminology “Service Provider”) has a list of known clients
which have a unique id (in oauth terminology “Consumer Key” and
“Consumer Secret”). In order to authorize the client and the API exchange so
called “tokens”.
First the client sends its unique id to the API which verifies the id to make
sure that this client is allowed to use the API. If everything is ok the API
sends back a so called Request Token (which isn’t authorized yet).
In the next step the client redirects the user to the API’s login (this request
also includes the formerly received Request Token). This is the most important
point because the user logs into the API with his/her credentials and the
client _never_ gets in touch with the username and password. After the user
logged in he/she has to approve to grant the client access. If the access is
granted the API sends back the authorized Request Token and redirects the user
back to the webclient.
In the last step the webclient exchanges the authorized Request Token for a
so called Access Token. Now the webclient will use the Access Token for all
requests it sends to the API.
The major advantage is that the webclient only knows about the Access Token
and doesn’t have to fool around with the a username and password. So in case
the webclient gets compromised the attacker can just access the API but not
the other services.

The best is to describe the oauth workflow with a small example.
Note: this example is very idealized and its sole purpose is to visualize the rough workflow of the protocol.

Let’s say the BuildService webclient and the BuildService api use the oauth protocol and the
webclient wants to fetch the projectlist:

request projectlist
webclient ——————————————————> API
API realizes that the webclient isn’t authenticated yet and it returns a 401
401
webclient <—————————————————— API
request Request Token
webclient ——————————————————> API
verify client id, send back unauthorized Request Token
webclient <—————————————————— API
redirect user to the API login
webclient ——————————————————> API
user logs in
API    <—————————————————–> API
user grant client access
API    <—————————————————–> API
send back authorized Request Token
webclient <—————————————————— API
exchange Request Token for Access Token
webclient ——————————————————> API
verify request and send back Access Token
webclient <—————————————————— API

All consecutive webclient requests contain the Access Token

request packagelist (request contains the Access Token)
webclient ——————————————————> API
verify Access Token and send back packagelist
webclient <—————————————————— API

Within the scope of this project my plan is to add basic oauth support to the following components

  • frontend (API)
  • osc (CLI)

To do so I might use the following libraries:

So the next step is to investigate how these libraries work and how they can be used for this project. I’ll blog about my investigations – stay tuned 🙂

Ps. feedback, comments etc. are welcome.

cat /usr/local/bin/osc

May 15th, 2009 by

Until the Build Service supports git natively (see the GSoC project) , here is what I use to track my changes locally:

#cat /usr/local/bin/osc  :

#!/bin/bash

/usr/bin/osc “$@”

if [ -e .osc/_files ]; then

if [ ! -d .git ] ; then  git init ; echo “.osc” > .gitignore ; echo “.gitignore” >> .gitignore ; fi
mydate=$(date)

git add `find -maxdepth 1 -type f | grep -v “.git”`
for i in $( git status | grep “deleted:” | cut -d” ” -f7 ) ; do
git rm $i;
done

git commit -a -m”$mydate”

fi

LiveCD Performance (clicfs vs. SquashFS)

May 15th, 2009 by

When Coolo looked into how to get rid of (Another) UnionFS for Live CDs and came up with the DoenerFS (now clicfs) idea, I remembered that my friend Arnd has workded on fake write support for cramfs. So I took his code and ported it to SquashFS to see how that goes. My expectation was that it might be faster than Coolo’s clicfs using FUSE. Here are some results using openSUSE-KDE4-LiveCD-i586-i686-Build0098 booting into runlevel 3:

  • clicfs: 637MB ISO Image booting in 1:28 min (0:24 min from RAM)
  • squashfs-rw: 751M ISO Image booting in 1:50 min (0:28 min from RAM)

The difference in the sizes of the ISO images are due to the fact that clicfs is using LZMA compression while SquashFS is still using the in-kernel GZIP implementation. Surprisingly the clicfs image isn’t only smaller but is also faster booting on real media and from RAM (using KVM). So even if we ignore the fact that clicfs is optimized for limiting the number of seeks on disk the SquashFS implementation is still slower. It would be interesting to see if it is just the LZMA compression that is making the difference or something completely different.

The patches for the SquashFS fake write support are here: http://git.infradead.org/users/jblunck/linux-2.6.git?a=shortlog;h=refs/heads/squashfs-rw-v1.