Monthly Archive for March, 2006

Leo Tolstoy

A man can live and be healthy without killing animals for food; therefore, if he eats meat, he participates in taking animal life merely for the sake of his appetite

As long as there are slaughterhouses, there will be battlefields

If he be really and seriously seeking to live a good life, the first thing from which he will abstain will always be the use of animal food, because …its use is simply immoral, as it involves the performance of an act which is contrary to the moral feeling — killing.

DJabberd

Da ich heute in Jabber-Laune bin gibt es nochmal ein Leckerbissen. DJabberd heißt ein Jabber Server der komplett in Perl geschrieben ist. Das ganze hat wohl gerade erst angefangen zu entstehen. Das ganze geht von dem Mitgründer von livejournal.com aus. Er scheint den Server speziell für den livejournal Service anbieten zu wollen. Das ganze mit speziellen Plugins und Funktionen. Ich hoffe das ganze geht voran :) Vielleicht so ein minimal Jabber Server. Ich gebe fh recht wenn es um die angefangenden Jabber-Projekte geht, aber dieses sieht nicht so aus als ob er es abbrechen wird…da es ja iergendwie seine Arbeit ist ;-) Den Status zum Projekt gibt es hier.

Eine kleiner ejabberd Anleitung

Dies ist kein richtiges Turorial. Es dient nur für mich als kleine Gedankenstütze. Dies ist was ich aus dem und dem Tutorial gezogen habe. Und das ganze ging unter meinem SuSE Desktop-Computer von statten. Es soll nichts produktives sein…es geht nur darum ob es ich hinbekomme ;-)

Also es geht los…erstmal muss man erlang kompilieren. Dazu habe ich es runtergeladen und kompiliert. Man braucht ncurses-devel und openssl-devel dafür.

wget http://erlang.org/download/otp_src_R10B-9.tar.gz
./configure
make && make install

so nun kommt ejabberd an die Reihe.

wget http://www.process-one.net/en/projects/ejabberd/download/1.0.0/ejabberd-1.0.0.tar.gz
./configure && make

so nun müssen wir das makefile anpassen. Sonst installiert er ejabberd komplett über das ganze System.

vim Makefile
DESTDIR = /usr/local/ejabberd
EJABBERDDIR = $(DESTDIR)

make install

Nun erzeugen wir ein SSL-Zertifikat

openssl req -new -x509 -newkey rsa:1024 -days 3650 -keyout privkey.pem -out server.pem
openssl rsa -in privkey.pem -out privkey.pem
cat privkey.pem >> server.pem
rm privkey.pem

Dieses File habe ich nach /usr/local/ejabberd/etc/ejabberd kopiert und die ejabberd.cfg entsprechend angepasst

{hosts, ["jabber.foo.bar"]}.

{5222, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper},
starttls, {certfile, "/usr/local/ejabberd/etc/ejabberd/server.pem"}]},
{5223, ejabberd_c2s, [{access, c2s},
tls, {certfile, "/usr/local/ejabberd/etc/ejabberd/server.pem"}]},

{s2s_certfile, “/usr/local/ejabberd/etc/ejabberd/server.pem”}.

Wir linken die config in das ejabberd root. So ersparen wir uns ne menge Arbeit beim starten des Servers.

ln /usr/local/ejabberd/etc/ejabebrd/ejabberd.cfg ejabberd.cfg

Um das das DNS SRV Problem zu lösen erstellen wir eine Datei und schreiben folgenes hinein.

touch inetrc

{file, resolv, “/etc/resolv.conf”}.

Nun haben wir alles zusammen und erstellen ein Startscript.

#!/bin/sh

# Export the ejabberd home directory
export HOME=/usr/local/ejabberd

# Export max ports
export ERL_MAX_PORTS=32000

# This will reduce mem usage, but go slower
export ERL_FULLSWEEP_AFTER=0

# Make sure we get the .so’s for ejabberd
export LD_LIBRARY_PATH=/usr/local/ejabberd/priv/lib:$LD_LIBRARY_PATH

/usr/local/bin/erl -detached -pa /usr/local/ejabberd/ebin -sname batman -s ejabberd -kernel inetrc \”/usr/local/ejab
berd/etc/ejabberd/inetrc\”

wobei batman mein hostname ist.

Um das Tool ejabberdctl zu nutzen muss es erst in das ejabberd Root-Verzeichnis kopiert und angepasst werden.

cp /usr/src/packages/BUILD/ejabberd-1.0.0/tools/ejabberdctl .

#!/bin/sh
export HOME=/usr/local/ejabberd

exec erl -pa /usr/local/ejabberd/ebin -noinput -sname ejabberdctl -s ejabberd_ctl -extra $@

Hier wird nur noch angegeben wo sie das ebin Verzeichnis befindet. Nun wird das ejabberd-Verzeichnis so geändert das es dem jabber-Benutzer gehört. Das geschicht mit

chown jabber /usr/local/ejabberd -R

Nun kann ejabberd mit sudo gestartet werden

sudo -u jabber /usr/local/ejabberd/run

Ich weiß diese Auflisten ist absolut nicht perfekt…aber für meinen ersten Test hat es gereicht.

Edit: Ich habe das run-Script angepasst. Damit ejabberd über einen anderen User laufen kann muss “Home” exportiert werden. Desweiteren das ejabberd äüberhaubt mit einem anderen User gestartet wird.

Tierrechtstermine.de gehackt

Ich habe gerade auf Kuki’s Blog gelesen das tierrechtstermine.de gehackt wurde sind. Es wurde die Frontseite verändert. Aber so wie ich das sehe war es nur ein Scriptkiddy welches nur phpnuke Seiten verwüsten wollte. Ich denke sonst hätte man ein klares Statement auf der Seite plaziert.

syslog-ng Logserver

Ich habe mich ja schon immer mal für Logserver interessiert. Ist ja auch garnicht so schwer, aber iergendwie habe ich es noch nie ausprobiert. Also habe ich meinen Gentoo Server erstmal auf syslog-ng umgestellt. Metalog ist zwar schön und gut…aber ich vermisse doch die /var/log/messages ;-)

In der Server Config muss man im sagen das er auf dem Port 3333 Log Messages erwartet

source remote { tcp(ip(0.0.0.0) port(3333)); };

Weil er die Clientlogs einfach in die normalen messages schreiben soll braucht man da nicht extra einzutragen. Der Eintrag

destination messages { file(”/var/log/messages”); };

ist ja schon da. Nun muss man ihm explizit sagen was er damit machen soll

log { source(remote); destination(messages); };

Also…als source dient “remote” welches auf port 3333 lauscht. Er nimmt alles was darüber reinkommt und packt es in “messages” welches /var/log/messages darstellt. Also ganz einfach

Nun kommen wir zur CLient konfiguration. Da bei SuSE der syslog-ng standard ist muss man nur die Config verändern. Das einzig andere ist das man seine Änderungen in /etc/syslog-ng/syslog-ng.conf.in schreiben muss. Sonst überschreibt er die Sachen beim nächsten “SuSEconfig”. Die syslog-ng.conf.in wird dabei eingelesen um eine neuen syslog-ng.conf zu erzeugen.

An Ende des Files kommt das hier

destination logserver { tcp( “ipdeslogservers” port(3333)); };
log { source(src); destination(logserver); };

Das einzige was mich ein wenig ärgert ist das die Syntax wohl anders ist. Daran habe ich mir die Zähne ausgebissen. Ob es an zwei verschiedenen Versionen liegt? Nochmal nachforschen

Linux und Bluejacking

Eines meiner neuen “Hobbys” ist ja Bluejacking. Das heißt soviel wie…lustige vcards von einem Handy über Bluetooth auf das andere zu schicken. Ist halt ein netter Zeitvertreib unter vielen Leuten. Nun habe ich mich damit ein wenig beschäftigt und bin auch auf gute Seiten und auch Skripte gestoßen. Nur war das alles nicht so Recht gut erklärt fand ich. Also habe ich mal genauer nachgeforscht und ich bin meinem eigenen Skript schon etwas näher gekommen. Vielleicht nehme ich das vorhandene und schreibe es für mich um. Na mal schauen. Also wichtig ist das Bluetooth läuft unter Linux…bluez und so. Sollte aber mit einer aktuellen Distri kein Problem sein. So nun brauchen wir ussp-push. Diese Version ist besonder super…sie braucht keine rfcomm-Schnittstelle mehr. Also runterladen und kompilieren

wget http://xmailserver.org/ussp-push-0.9.tar.gz

tar xvfz ussp-push-0.9.tar.gz

cd ussp-push-0.9

make

und das war es dann schon. Dann brauchen wir eine vcard…Meine Test-Karte sieht so aus

BEGIN:VCARD
VERSION:2.1
N;CHARSET=ISO-8859-1:schlaeft nie;Fnord
END:VCARD

So und nun wird es spaßig. Erstmal müssen wir ein Opfer finden. Mit

hcitool scan

bekommen wir eine Auflistung von Bluetoothgeräten die wir erreichen können. So nun brauchen wir auch den Channel auf dem OBEX-PUSH läuft. Dieses Dienst auf dem Handy ist für Transfers zuständig. Das macht man mit

sdptool browse [bluetoothdevice]

Nun schaut man aus nach dem Eintrag für OBEX-PUSH. Das Ding sollte so aussehen

Service Name: OBEX Object Push
Service RecHandle: 0×10017
Service Class ID List:
“OBEX Object Push” (0×1105)
Protocol Descriptor List:
“L2CAP” (0×0100)
“RFCOMM” (0×0003)
Channel: 9
“OBEX” (0×0008)
Language Base Attr List:
code_ISO639: 0×656e
encoding: 0×6a
base_offset: 0×100
Profile Descriptor List:
“OBEX Object Push” (0×1105)
Version: 0×0100

Und man kann erkennen das der Dienst auf Channel 9 läuft. Diese Information ist wichtig. Sonst klappt es eventuell nicht. Nun haben wir alle Informationen die wir brauchen und können die VCARD rüberschicken.

./ussp-push [bluetoothdevice]@[channel] meinevcard.vcf nundeinevcard.vcf

Und mit etwas Glück hat der Gegenüber eine Nachricht bekommen. Bei manchen Handys klappt das manchmal nicht weil sie authentifiziert werden wollen. Also mal einfach rumprobieren. Wenn ich mal Zeit habe versuche ich das ganze zu automatisieren. Aber das sind erstmal so die Grundlagen.

Planet Vegan Geeks

Meine lieblings Site veg.gs hat nun ein Planet-Blog-System. Und das beste…ich bin da nun auch mit drin :) Finde ich echt eine schöne Sache. Für unsere, sich im aufbau befindende Familiensite, würde ich auch gerne so etwas machen. Nun Leider gibt es nicht viele Blogger dort :( Aber wenn sich das ändert bin ich der erste der sowas einrichtet.

Achja…es gibt auch ein neues Vegan Forum. Also vorbeischauen :)

YouTube Perle

Ein Video aus den 90ern mit Frail, Chokohold und Groundwork

klick

Linux und aggressive Schreibtechnik

Also so ein Verhalten und so eine “Argumentation” ist mir auch noch nicht untergekommen. So schreibt jemand im Debianforum was er als Antwort von einem Händler bekommen hat nachdem er seine Festplatte umgetauscht haben wollte

….supported unsere Hardware ausschließlich nur FAT und NTFS. Andere Dateisysteme wie die von Linux oder Unix bedürfen aufgrund ihrer agressiven Schreibtechnik spezieller Festplatten. Das weiß aber heutzutage inzwischen jedes Kind. Aus diesem Grunde kann davon ausgegangen werden, dass die Verwendung eines von uns nicht zerifizierten Betriebssystems zum beschriebenen Schaden geführt hat. Ein Garantieanspruch ist damit leider erloschen

und

aus diesem Grunde würden wir Ihnen dringlichst anraten, das für dieses spezielle Gerät besonders angepasste Betriebssystem Windows XP Home fortan alleinig zu verwenden. Damit erhöht sich die Nutzungsdauer ihres Gerätes dramatisch

PGP-Erfinder präsentiert verschlüsselte Internet-Telefonie

Schreibt Heise.

Ich muss ja ehrlich gestehen das ich mich noch nie an Internet Telefonie rangetraut habe. Liegt vielleicht auch daran das ich kein Headset besitze und ich nicht so wirklich gute Software für Voip für Linux kenne. Aber vielleicht mache ich mich mal auf die Suche danach.

Nun hat sich der Entwickler rangemacht Voip sicher zu machen. Es wird kein PublicKey benötigt. Sondern die beiden Kommunikations-Partner handeln alles mit einander aus. Iergendwie errinnert es mich an das Projekt von Tron “welches er ja nicht überlebt hat”. Also ich bin gespannt wie das weitergeht.