csync with sftp support
I've released a new version of csync with sftp support. csync is a bidirectional file synchronizer for Linux and allows to keep two copies of files and directories in sync. It uses widely adopted protocols like smb or sftp so that there is no need for a server component of csync. It is a user-level program which means there is no need to be a superuser.
libssh 0.3.0
After several month of hard work, rewriting nearly all libssh functions, I've released version 0.3.0 today. Read more about the release here. A new version of csync with full sftp support will be released soon.
Free?!
Yesterday was my last day officially working for Novell. Today is the "Labor Day" in Germany and I'm unemployed now.
Automatic testing of PAM modules
Last week at the SambaXP conference I had a discussion with Günther Deschner about the testing of PAM modules. What we want to do is automatic testing. To achieve this in the Samba build farm you need a separate "pam.d" config directory for testing. You should be able to change the config and mess it up without getting locked out.
I've introduced a new function to PAM called pam_start_test() which takes and additional argument where you can specify the config directory. After this I've changed the call in pamtester and added a commandline option for the config directory. To do automatic testing I've added another commandline option to specify the password to use for authentication.
gladiac@maximegalon:~> pamtester -v -C/tmp/pam.d -Psecret login csync authenticate
pamtester: invoking pam_start(login, csync, ...)
pamtester: performing operation - authenticate
pamtester: successfully authenticated
You can find the patches here.
This and that
ssh-agent client support for libssh
As you might know I develop csync which is a file synchronizer. To support sftp I'm using libssh. libssh is designed to be used by programmers needing a working SSH implementation by the mean of a library. I think it is nearly feature complete. I've cleaned up the sftp interface last year. The only thing missing was ssh-agent support. This is implemented now in the subversion trunk and will be released as libssh 0.3. I hope we can do a release soon.
Geocaching, Garmin and Linux
I'm a Geocacher and I've bought a new toy, the Garmin Vista HCx. This device has a special function for Geocaching. You have to upload these files directly to the device. It isn't possible to store them on the microSD.
On the geocaching.com you have an option to send the coordinates directly to the GPS. It downloads a web browser plugin from Garmin. To send the files (.loc or .gps) to the device on Linux there is a nice tool called gpsbabel. You can use it to send your files to the GPS. However the device supports only traditional caches
So a simple script named "sendCache" is:
#!/bin/bash
# sendCache
gpsbabel -i gpx -f $1 -o garmin -F usb:
You have to remove the kernel module which is loaded automatically:
rmmod garmin_gps
Or blacklist it in /etc/modprobe.d/blacklist. Simply add 'blacklist garmin_gps'.
To get the permissions to work with gpsbabel as a user, you have to install a hal fdi file. Copy 80-gps.fdi to '/usr/share/hal/fdi/information/20thirdparty'. This will set acl rules for write access to the user if you attach it.
phonon and amarok wakeups
I've used my notebook the first time with openSUSE 11.1 without a power cable attached and wondered why my battery was empty after a short time. So I've did some research and found a knotify4 bug, this leads to a phonon and xine bug. I have the latest version of xine installed and the wakeup bug in xine is already fixed sine 1.1.9. So there must be still a bug in the phonen backend of KDE 4.1.3.
I found a new phonon-xine backend on kde-apps.org, here. I've found packages in the build service (click) and tested them. The wakeups of the whole system dropped to less than 200 wakeups per second.
During my research I stumbled over a amarok problem too. If you're playing music with amarok, it produces more than 900 wakeups, even if you stopped playing the music. The whole system should need more than 500 wakeups if you play music and browse the internet.
You have to quit the application!
UPDATE:
The bugs are fixed in KDE SVN (KDE 4.2). Thanks to Mark Kretschmann. The amarok bug for this was #177517.
csync and pam_csync 0.42.0 beta1
I've released a new version of csync and pam_csync. csync is a bidirectional file synchronizer for Linux and allows to keep two copies of files and directories in sync. It uses uses widly adopted protocols like smb or sftp so that there is no need for a server component of csync. It is a user-level program which means there is no need to be a superuser. With pam_csync it is possible to create roaming home directories.
This version fixes several bugs to increase the stability of the file synchronizer. It provides a new plugin to synchronize two replicas with the sftp protocol. To get the csync sftp plugin working you need libssh 0.2 with the following two patches:
Map permission fields
Errno mapping
The libssh package in the network:synchronization:files project in the build service has these two patches. The csync version of the BS project provides a csync-plugin-sftp package.
Packages for Fedora 9, openSUSE and SUSE Linux Enterprise 10 can be downloaded here.
More information at http://www.csync.org/.
Hackweek3: Logitech hacking
I planning to rewrite lomoco since a long time now. The problem is that Logitech has introduced a new protocol to talk to the devices. For the main features of these new mice we have already proof of concept code but some features aren't suppport.
I still don't know how they identify a cordless mouse connected to a receiver. The MX Revolution and the G7 share the same receiver. Yesterday I've discovered how to read the battery status from the MX and VX Revolution. I can display the battery status in percent and if the mouse is charging or is fully charged.
I've put together a proof-of-concept code here. Now it is time to think about a library, liblomoco. If someone is interested in hacking, feel free to contact me
If you have a VX Nano or G7 please send me the output of the vx_hack. If you own a G7 please send me the output of the 'lsusb' command.