Icedove/Thunderbird nimmt ungewollt Chrome als Browser

Filed in Allgemein

Wie spacepenguin auf siduction.org berichtet, verwendet Icedove nach der Installation von Google Chrome diesen als Programm für http und https Links. Alle normalen Methoden, dies umzustellen, scheitern. Einzig die folgenden Einträge in der Konfiguration geben einem die Möglichkeit, es anders festzulegen:

network.protocol-handler.warn-external.http true
network.protocol-handler.warn-external.https true

Wem gehören die Daten und wie wäre es am besten

Filed in Allgemein

Auf Slashdot war ein unauffälliger Artikel One Musician’s Demand From Pandora: Mandatory Analytics. Mein unmittelbarer Eindruck war, ja, natürlich sollte die Musikerin diese Daten erhalten, nur so kann das Netz zu einer besseren Welt führen. Spannend war, dass ich mit diesem Gefühl wohl ziemlich einsam dastehe, alle Kommentare liefen entweder auf der Privacy Schiene (Meine Interessen gehören mir) oder auf der Ebene des Kapitalismus-Fatalismus (Meine Interessen gehören dem Kapital).

Asterisk und CSipSimple

Filed in Android, Asterisk

Folgender Eintrag funktioniert mit meinem HTC Desire Z mit Cyanogenmod 9 und CSipSimple 0.03-01, insbesondere auch der DTMF-Mode:

/etc/asterisk/sip.conf
...
[htc1]
nat=never
context = outgoing
type = friend
secret = R1g2e7G8
host = dynamic
canreinvite = no
dtmfmode = rfc2833
In CSipSimple genügt der Basic-Assistent, hier müssen nur Benutzername, bei mir also »htc1«, Name oder Adresse des SIP-Servers, bei mir erreicht über VPN, und das Passwort, in diesem Beispiel also »R1g2e7G8« eingetragen werden. Dies ist natürlich nicht mein richtiges Kennwort.

Android 4.0.4 und Strongswan mit x509 Zertifikaten über XAUTH RSA

Filed in Android, IPSec

Nachdem ich mein HTC Desire Z auf Android 4 ICS umgestellt habe, sollte IPSec nun endlich gehen.

Auf dem Telefon (CyanogenMod 9.0.0-RC0 BETA 5):

Ein Zertifikat in pkcs12-Format erstellen, wie findet man an vielen Stellen. Dieses zusammen mit dem ins pcks12-Format umgewandelte CA-Zertifikat auf die SD-Karte überspielen und in Einstellungen->Sicherheit->Von SD-Karte installieren auf das Telefon übertragen. Die Zertifikate werden dabei auf der SD-Karte gelöscht.

In Einstellungen->Mehr…->VPN->VPN hinzufügen. Hier ist der Name nach Wunsch festzulegen, der Typ ist »IPSec Xauth RSA«, das IPSec-Nutzerzertifikat ist das eben eingelesene Zertifikat, IPSec-CA-Zertifikat und IPSec-Serverzertifikat bleiben leer! Sonst kommt es zu einem Fehler, es tauchen Pakete auf Port 4500 auf, die mit tcpdump gesehen werden können, die aber von strongswan nicht verarbeitet werden.

Auf dem Server (Debian Squeeze, Kernel 2.6.39 mit Strongswan 4.5.2 aus den Backports):

Anders als ursprünglich von mir angenommen, ist der Inhalt von  /proc/sys/net/ipv4/conf/ppp0/rp_filter anscheinend egal, ich hätte gedacht, er müsse 0 sein. Relevant ist aber natürlich /proc/sys/net/ipv4/ip_forward, was auf 1 stehen muss.
Außerdem muss natürlich port 500 und udp port 4500 von der Firewall durchgelassen werden, ebenso Fragmente, dies ist aber auf Gateways für IPSec meist ohnehin der Fall. Wichtig ist aber, da die normale Android IPSec Implementation keinen geteilten Tunnel erlaubt, sicherzustellen, dass Datenverkehr vom Handy durch das Gateway ins Internet geleitet wird (und zurück), bei mir so gelöst:

iptables -A FORWARD -i eth0 -o ppp0 -m mark --mark 50 -j ACCEPT # Weiterleiten in per IPSec angeschlossene Netze
iptables -A FORWARD -i ppp0 -o eth0 -m mark --mark 50 -j ACCEPT # dito, andere Richtung
iptables -A FORWARD -i ppp0 -d 192.168.99.0/24 -j ACCEPT # Weiterleiten der Antworten aus dem Netz zum Handy
iptables -t mangle -A PREROUTING -i ppp0 -p esp -j MARK --set-mark 50 # Verhindern des doppelten Masqueradings
iptables -t mangle -A PREROUTING -i ppp0 -p udp --dport 4500 -j MARK --set-mark 50 # dito
iptables -t mangle -A PREROUTING -d 192.168.0.0/16 -j MARK --set-mark 50 # dito
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.199.0/24 -d 192.168.0.0/16 -j ACCEPT # Akzeptieren von Transport in per IPSec angeschlossene Netze
iptables -t nat -A POSTROUTING -s 192.168.99.0/24 -o ppp0 -j MASQUERADE # Masquerading von Paketen vom Handy ins Internet, wegen mark=50 aus PREROUTING
iptables -t nat -A POSTROUTING -o ppp0 -m mark --mark 50 -j ACCEPT # Verhindern des doppelten Masqueradings
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE # Masquerade aller Pakete, die nicht vorher in POSTROUTING behandelt wurden

Die Strongswan Konfiguration benötigt auf jeden Fall die Zeile leftsendcert=always, ohne diese kommt es zu einem Fehler:

packet from 80.186.112.96:59330: Main Mode message is part of an unknown exchange

Die leftid und rightid müssen natürlich entsprechend den eigenen Zertifikaten eingetragen sein. Weiterhin ist dies mit IKEv1, also pluto realisiert, ob dies auch mit charon und IKEv2 geht, weiß ich momentan noch nicht. Auch weiß ich noch nicht, wie ich es mit laufendem charon zum laufen bekomme. Wichtig ist mir aber, dass IPSec mit Zertifikaten auf meinem Handy nun endlich geht.



config setup

   # klipsdebug=all

   # plutodebug=control

   plutostart=yes

   charonstart=no

   nat_traversal=yesconn %default

   keyingtries=2

   compress=yes

   pfs=yes

conn htc-eibo

   keyexchange=ikev1

   type=tunnel

   pfs=no

   xauth=server

   authby=xauthrsasig

   left=%defaultroute

   leftrsasigkey=%cert

   leftid="C=DE, L=Hamburg, O=Eibo Thieme, OU=gateway"

   leftcert=eibo.pem

   leftsendcert=always

   leftsubnet=0.0.0.0/0

   right=%any

   rightrsasigkey=%cert

   rightid="C=DE, L=Hamburg, O=Eibo Thieme, OU=htc"

   rightsourceip=192.168.99.1/32

   auto=add

PHP adodb NewADOConnection Benchmark

Filed in Linux, MySql, PHP

Da ich gerade am basteln bin und nicht gleich was im Netz fand, hab ich es einfach ausprobiert. In einer PHP-Anwendung, die ich gegenwärtig verwalte, wird für jedes SELECT eine neue Verbindung per NewADOConnection aufgemacht, die danach wieder geschlossen wird. Das kann doch nicht effizient sein, dachte ich mir, und siehe, ist es auch nicht. Auf meinem Rechner 35 Sekunden für 100000 SELECTS mit jeweils neuer Verbindung, 8 Sekunden mit einer, die recyclet wird.

Linux erkennt USB Stick nicht automatisch oder nur beim ersten Einstecken

Filed in Allgemein, KDE, Linux

Es gibt auch andere Fehlerursachen und mit diesen andere Lösungen. Diese Fehler traten bei einem Kunden unter Debian Lenny auf. Normalerweise soll unter KDE ein Fenster aufgehen, wenn man einen USB-Stick einsteckt, dies passierte aber auf diesem Rechner nicht immer, vor allem nie beim zweiten Einstecken des gleichen Sticks.

Zur Fehlersuche hatte ich hal im Debug-Modus gestartet (/etc/init.d/hal stop; hald –daemon=no –verbose=yes), hier fanden sich als Hinweise:

...
blockdev.c:1294: scsi.type is unknown
blockdev.c:1473: Not adding device object
...
blockdev.c:970: Ignoring hotplug event - no parent
blockdev.c:1473: Not adding device object
...

Hiernach gesucht fand ich die Lösung in folgendem comp.freedesktop.hal thread über die polnische digipedia:

cat /etc/udev/rules.d/05-udev-early.rules
# sysfs is populated after the event is sent
ACTION=="add", SUBSYSTEM=="scsi", WAIT_FOR_SYSFS="ioerr_cnt"

Die Datei fehlte bei mir, in /etc/udev/rules.d fand sich auch keine Datei mit „ioerr_cnt“. Erstellen einer Datei mit diesem Inhalt (und natürlich Beenden des hal-Debug sowie /etc/init.d/hal start) löste beide Probleme.

CUPS Unable to encrypt connection – A TLS fatal alert has been received

Filed in Allgemein

Der Fehler trat auf in Verbindung von Firefox 9.01 unter WinXP mit CUPS 1.4.4-7 unter Debian Squeeze. Behoben habe ich ihn durch explizites Eintragen des Zertifikates in den Firefox, also die Datei /etc/cups/ssl/server.crt an einen Platz legen, auf den der Firefox zugreifen kann, z.B. Samba-Freigabe oder Webserver, und diese dann aufrufen. Bei der dann folgenden Frage die Nutzung als Webserver-Zertifikat erlauben.

Brother 9420CN Toner Reset

Filed in Allgemein

Bei mir half:

Links und rechts an der Tonerkartusche sind kleine, runde Öffnungen, diese scheinen Sichtfenster zur Kontrolle des Tonerstandes zu sein.  Überkleben mit schwarzem Klebeband ließ die Meldung verschwinden. Achtung: vielleicht geht hierbei aber der Drucker kaputt! Die Ausdrucke sind jetzt zwar schlecht, ich kann aber zumindest den einen wichtigen Ausdruck noch machen.  Neuer Toner ist bestellt. 🙂

Der Drucker scheint also weder einen internen elektronischen noch einen mechanischen Hebel für den Füllstand zu haben, sondern einfach nachzusehen. Auf anderen Seiten wird das gleichzeitige Drücken von 1+7 oder  2+8 empfohlen, dies bietet aber nur die Möglichkeit den elektronischen Zähler für andere Verbrauchsmaterialien zurückzusetze. Macht man dies ohne wirklich die Komponente zu tauschen wird es meist auch nur schlechte Ausdrucke fabrizieren, vielleicht sogar den Drucker beschädigen. Auch das Abkleben könnte den Drucker beschädigen. Gut dahingegen ist: Nachbestellen wenn die Meldung dazu kommt!

Telekom IP Telefonie mit Asterisk

Filed in Allgemein, Asterisk, Linux, Netzwerk

Funktioniert hat es schließlich mit folgenden Einträgen:
sip.conf

[telekom-out]
type=friend
username=<Benutzername, wird z.B. zur Anmeldung im Kundencenter genutzt>
secret=<Kennwort, wie es zur Anmeldung im Kundencenter genutzt wird>
host=tel.t-online.de
fromdomain=tel.t-online.de
qualify=yes
canreinvite=no
allow = alaw
allow = g726
allow = gsm
allow = ulaw
dtmfmode=inband
insecure=invite

extensions.conf

exten => _XX.,1,Set(CALLERID(name)=<Tel.Nr.>
exten => _XX.,1,Set(CALLERID(num)=<Tel.Nr.>
exten => _XX.,n,Dial(SIP/${EXTEN}@telekom-out,30,tr)

In der extensions.conf kann man natürlich auch etwas mehr Funktionalität unterbringen, zum Beispiel mehrere Caller-ID:

exten => _XX.,1,Set(CALLERID(name)=${IF($[ ${SIPCHANINFO(peername)} = <Name aus sip.conf>] ? <Tel.Nr. 1> : <Tel.Nr. 2>)})
exten => _XX.,n,Set(CALLERID(num)=${IF($[ ${SIPCHANINFO(peername)} = <Name aus sip.conf>] ? <Tel.Nr. 1> : <Tel.Nr. 2>)})
exten => _XX.,n,Dial(SIP/${EXTEN}@telekom-out,30,tr)

Dumbatz

Filed in Allgemein

Simone hatte die schöne Idee, es könne ein anglizismus sein (»dumb ass«), wird aber leider wohl nicht so sein. Eine Möglichkeit, die mir dann schon plausibler scheint, ist die Herkunft von »Dummbart«, aufgeführt in Grimms Wörterbuch. Die Affrizierung des /t/ und der Fortfall des /r/ müsste man anderweitig prüfen, ob dies so vorkam, vorstellbar ist es schon, zumal der Wortbestandteil »Bart« sicherlich schon lange zur falschen Herkunftsdeutung geführt hat, die dann aber logisch sinnlos scheinen musste.

Oenology Post Formats
Click to view/hide
Posts Calendar
Click to view/hide
Dezember 2018
M D M D F S S
« Apr    
 12
3456789
10111213141516
17181920212223
24252627282930
31  
Archive
Click to view/hide
Letzte Beiträge
Click to view/hide