Monthly Archive for April, 2007

Pidgin 2.0 Beta 7

Pidgin 2.0 Beta 7Heute Morgen ist die letzte Beta Version vor der Veröffentlichung von Pidgin 2.0 erschienen. Bei Pidgin handelt es sich um einen Multi-Protokoll Messenger, der bis vor kurzem noch Gaim hieß, allerdings auf Grund von Auseinandersetzungen mit AOL um die Namensrechte an AIM in Pidgin umbenannt wurde.

Die jetzt Veröffentlichte letzte Beta beinhaltet hauptsächlich kosmetische Änderungen wie die konsequente Nutzung von Pidgin als Name anstelle von Gaim, und es ist die erste Version die das neue Pidgin Design nutzt.

“This is the first release the new look appears in. While Pidgin looks visually, much, much better than Gaim ever did, I still suspect some of the new changes will draw some complaints from a few people.”

Bevor man einen Umstieg in Erwägung zieht sollte man unbedingt das ~/.gaim Verzeichnis sichern. Absofort wird ~/.pidgin verwendet.

Quelle: Pidgin.im

Active Directory: Gruppenarten

Die Art der Gruppe in einem Microsoft Active Directory wird in Form des Attributs grouptype angegeben. Allerdings in Form einer Zahl was für einen Aussenstehenden auf den ersten Blick nicht sehr vielsagend ist.

[source:php]
[grouptype] = Array
(
[count] = 1
[0] = -2147483646
)
[15] = grouptype
[/source]

In der folgenden Tabelle deshalb eine kleine Übersicht über die mir bekannten Gruppenarten mit ID und Name.

ID Name
2 Global Group
4 Domain Local Group
8 Universal Group
-2147483646 Security Group

Mit diesem Wissen kann man jetzt die IDs durch die jeweilige Bedeutung ersetzen. Über weitere Ergänzungen würde ich micht natürlich freuen.

Seahorse – Schlüsselverwaltung

Nachdem ich als GNOME-Jünger über Jahre das KDE-Tool kGPG verwendet habe bin ich vor kurzem auf das GNOME Tool Seahorse gestossen. Seahorse ermöglicht eine zentrale Verwaltung für Passwörter und Verschlüsselungskeys in GNOME.

seahorse_cluster2.png

Was bietet Seahorse

  • Erstellen und Verwalten von PGP Keys
  • Erstellen und Verwalten von SSH Keys
  • Export und Import von Key Servern
  • Passwörter zwischenspeichern z.B. für die Dauer eine GNOME Sitzung
  • Backup einzelner Schlüssel oder des gesamten Schlüsselbundes

Ich für meinen Teil bin mit diesem Tool sehr glücklich und froh das mein System wieder um eine nicht Gtk-Applikation ärmer geworden ist.

Ubuntu 7.04 hält die aktuelle Version 1.01 von Seahorse in den Universe-Quellen bereit.

Arte: “Wer hat Angst vor Google?”

Leider habe ich gestern Abend die Arte-Dokumentation “Wer hat Angst vor Google?” verpasst. Allerdings habe ich gerade eben dank Jens vom GoogleWatchBlog erfahren das man sich diese noch 7 Tage lang Online bei Arte ansehen kann.

Zur Auswahl steht Real Media, Windows Media ISDN und Windows Media DSL.

Das werde ich gleich mal tun.

links for 2007-04-20

Microsofts Timestamp

Nach langem Hin und Her habe ich endlich herausgefunden warum die Werte lastlogon und accountexpires im Active Directory sich mit der PHP Funktion date() nicht richtig darstellen lassen.

Und zwar hatte ich nicht bedacht das Microsoft eine eigene Art Timestamp verwendet (warum hat mich das nicht überrascht?). Dieser beginnt nicht wie der weit verbreitete Unix Timestamp am 1. Januar 1970 um 00:00 sondern am 1. Januar 1601 um 00:00 und wird nicht in Sekunden sondern in Nanosekunden angegeben.

Hier mal die Funktion mit der ich das Umrechne.
[source:php]
function ADStoUnixTime($adtime) {

/* von Nanosekunden auf Sekunden */
$secsAfterADEpoch = $adtime / (10000000);

/* (((Unix – ADS) * Tage pro Jahr) * Sekunden pro Tag) */
$ADToUnixConvertor=((1970-1601) * 365.242190) * 86400;

/* Unix Timestamp */
$unixtimestamp=intval($secsAfterADEpoch-$ADToUnixConvertor);

return $unixtimestamp;
}
?>
[/source]

Active Directory Zugriff via PHP

Im Rahmen eines kleinen Projekts habe ich mich mit dem Active Directory Zugriff via PHP beschäftigt. Es gibt zwar eine Menge Anleitungen doch man muss sich trotzdem noch ziemlich viel zusammensuchen. Um dies jetzt etwas zu vereinfachen habe ich eine simple PHP Klasse geschrieben die den Lesezugriff auf ein Windows 2003 Active Directory ermöglich.

Ich weiß nicht in wie weit das ganze auf einem Windows System läuft. Ich habe es auf einem Debian System mit Apache2 und PHP5-ldap im Einsatz.

[source:php]

class LDAP {

public $basedn = "dc=example,dc=local";

/* Verbindungsaufbau */
public function connect($server) {
$this->connectid = @ldap_connect($server);
$this->error($this->connectid);

ldap_set_option($this->connectid, LDAP_OPT_PROTOCOL_VERSION,3);
ldap_set_option($this->connectid, LDAP_OPT_REFERRALS,0);
}

/* LDAP Binding */
public function bind($user,$password) {
$binding = @ldap_bind($this->connectid,$user,$password);
$this->error($binding);
}

/* Debug */
public function debug($enabled = false) {
if($enabled) {
ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7);
}
}

/* Error Handling */
protected function error($result) {
if(!$result) {
print(“Error: “.ldap_error($this->connectid).” (“.ldap_errno($this->connectid).”)\r\n”);
}
}

/* Suchfunktion uebergeben wird der Filter String */
public function search($filter) {
$sr = @ldap_search($this->connectid,$this->basedn,$filter);
//$this->error($sr);
return $this->result($sr);
}

/* Result */
public function result($result) {
$ads_result = @ldap_get_entries($this->connectid,$result);
return $ads_result;
}

/* Beenden */
public function close() {
ldap_close($this->connectid);
}
}
?>
[/source]

Um den Einsatz der Klasse zu erläutern hier ein kleines Anwendungsbeispiel. Man übergibt der Klasse einen LDAP Filter String und sie antwortet darauf mit einem Ergebnis in Form eines Arrays.

[source:php]

error_reporting( E_ALL | E_STRICT );

require("ldap.class.php");

$ldap_user = "exampleuser@example.local";
$ldap_pass = "password";

$ldap = new LDAP(); // LDAP Objekt erstellen

$ldap->debug(true); // Debug Modus aktivieren
$ldap->connect($server); // LDAP Verbindung aufbauen
$ldap->bind($ldap_user,$ldap_pass); // LDAP Binding

$filter = “(&(objectCategory=user)(cn=*))”; // LDAP Filterstring
$result = $ldap->search($filter); // LDAP Suche ausfuehren

print “

";
print_r($result);
print "

“;

$ldap->close(); // Verbindung trennen

?>
[/source]

Ich wünsche viel Spaß damit, über Verbesserungsvorschläge und/oder Kritik würde ich mich sehr freuen.

Swamp Fighter Treffen Nartum 07

So wir sind wieder heil zurück aus Nartum. Das von den Swamp Figthern organisierte Treffen war meiner Meinung nach echt der Hammer. Vielen Dank nochmal an die Leute von Matris Deliciae dafür das Sie mich mitgenommen haben.

Continue reading ‘Swamp Fighter Treffen Nartum 07′

Wochenendausflug nach Nartum

Nachdem ich vorgestern mal wieder sehr aktiv war ist jetzt erstmal wieder Pause. Frühestens am Sonntagabend gibts den nächsten Post und dann vieleicht auch ein paar Bilder vom Motorradtreffen der Swamp Figther in Nartum das an diesem Wochenende stattfindet und zu dem ich meine Suzi jetzt hinquälen werde.

Außerdem habe ich vor ab nächste Woche meine Lernfortschritte in Sachen Blackberry Software Entwicklung hier zu dokumentieren, da das vieleicht auch für andere ganz hilfreich sein könnte. Aber dazu später mehr.

links for 2007-04-13