Mailbox Rufnummer

Filed in Allgemein

Lange gesucht, endlich gefunden: Eine Liste mit den Telefonnumern der Mailbox für die unterschiedlichen Anbieter. Entscheidend für mich war, dass portierte Rufnummern ihre Mailboxnummer behalten!
0151-13-… T-Mobile
0160-13-… T-Mobile
0162-55-… Vodafone
0163-99-… EPlus
0170-13-… T-Mobile
0171-13-… T-Mobile
0172-55-… T-Mobile
0173-55-… Vodafone
0174-55-… Vodafone
0175-13-… T-Mobile
0176-33-… o2
0177-99-… EPlus
0178-99-… EPlus
0179-33-… o2
01520-55-… Vodafone
01570-99-… EPlus
01577-99-… EPlus

Gefunden habe ich diese Aufstellung hier:
http://board.gulli.com/thread/630351-t-mobile-mailbox-anrufen-nicht-die-eigene/

Flash Plugin Linux not Working

Filed in Linux

Bei mir gingen Videos in Facebook nicht mehr, andere Dinge liefen. Die Lösung war das Umbenennen des Konfigurationsverzeichnisses:

mv $HOME/.macromedia $HOME/.macromedia.bak

IPSec mit Mac OS 10.9 und Strongswan

Filed in Allgemein, IPSec, Netzwerk

Eigentlich kein Problem, wird auf der Strongswan Seite beschrieben. Zusätzlich muss man aber das Zertifikat auf dem Mac noch freigeben, wie im Apple Forum angedeutet wird. Das Programm heißt auf Englisch Keychain Access und auf Deutsch Schlüsselbundverwaltung und befindet sich in /Programme/Dienstprogramme, hier muss das Zertifikat ausgewählt werden und nach Doppelklick muss hier unter Zugriff /usr/sbin/racoon zur Liste der berechtigten Programme hinzugefügt werden. Falls schon /usr nicht sichtbar ist, CMD-SHIFT-. zeigt versteckte Dateien an.

HTC Explorer mit /data auf SD-Card

Filed in Android

Das HTC Explorer, auch bekannt unter dem Namen HTC Pico, kostet nur sehr wenig, hat passable Prozessor- und Grafikleistung, aber leider nur 150 MB Speicher für Anwendungen, was die Freude schnell erlahmen lässt. Glücklicherweise gibt es Abhilfe. Mein erster Versuch war mit Link2SD, dies kann viele Teile von Anwendungen auf  eine zweite Partititon auf der SD-Karte verschieben. Allerdings benötigt man root Zugriff, was aber beim HTC Explorer kein Problem darstellt. Ich habe es nur gerootet, das System wurde nicht ausgetauscht. Aus diesem Grund konnte die zweite Partition nicht im empfohlenen EXT2 Dateisystem genutzt werden, da das Explorer nur VFAT unterstützt, was aber auch anstandslos funktioniert.

Wie gesagt, Link2SD verschiebt vieles, aber nicht alles. Die Facebook-App gehört zu den Anwendungen, die nach einiger Zeit doch wieder die 150 MB Grenze erreichen lässt.

Der nächste Versuch war mit Mount2sd. Dies lies sich aus dem Playstore installieren, lief aber nicht, weil das System keine init.d Unterstützung hat. Jetzt wurde es Zeit, eine Backup-Lösung einzurichten. Diese konnte aber relativ leicht wie hier beschrieben eingerichtet werden, die Installation lief zwar nicht sauber durch, konnte aber relativ leicht von Hand per adb shell nachvollzogen werden. Leider lief es nicht, weil die Busybox-Instalation des Explorer keine run-scripts Unterstützung hat. Also installiert man eine andere Busybox Version darüber (Augen zu und durch), aber mittlerweile war klar, dass Mount2SD auf jeden Fall EXT2-Dateisystem-Unterstützung haben möchte. Aber hier war auch schnell eine Lösung gefunden, einfach einen anderen Kernel wie hier beschrieben installiert, das wars. Wohlgemerkt, es ist immer noch das gleiche Standardsystem, es ist nur einiges ausgetauscht. Jetzt kann man endlich Mount2SD installieren, es läuft, aber im Safe-Mode. Das hindert einen daran, viel zu verschieben. Neue Sicherung erstellt, und mutig Safe-Mode abgeschaltet, jetzt geht auch /data/data und /data/dalvic-cache, von den 150MB sind nur noch ca. 17 MB belegt. Der Neustart ist zwar wackelig, der Behelf für den abgeschalteten Safe-Mode ist wohl wirklich ein Hack, es wirkte zuerst so, als ginge es, nach einem Tag war aber klar, dass es sowohl instabile als auch langsam ist.

Zurück auf Los. Warum eigentlich ist das ganze so schwierig? Warum kann ich nicht einfach die Startskripte so ändern, dass beim Einschalten die Partition auf der SD-Karte gemounted wird. Einige Seiten später verstand ich das Problem. Beim Einschalten wird zuerst ein Linux mit einer initrd Umgebung gestartet, diese steckt tief verborgen in der Datei, die beim Einspielen eines neuen Betriebssystems vom Telefon geladen wird. Nachdem bereits alle Hoffnung fahren gelassen war, installierte ich zuerst ein sauberes Cyanogenmod was soweit auch schon mal ganz gut aussah, wenn auch die Platzprobleme die gleichen bleiben. Nun packte ich als nächstes alles aus, änderte das Startskript, packte alles wieder ein und versuchte diese Datei zu installieren, was leider nicht so einfach funktionierte. Es finden sich extrem viele Anleitungen zum Bearbeiten der initrd von Android im Netz, leider versteht man meist nicht, was dort passiert, vermutlich wusste es der  jeweilige Autor auch nicht. Hier jetzt meine Schritte unter Debian Linux:

sudo apt-get install abootimg

Oder jede andere Art, dies Paket zu installieren. Dies Programm funktioniert, im Gegensatz zu allen anderen Programmen im Netz, außerdem kommt es aus verlässlichen Quellen und man bekommt den Quellcode. Dann lädt man das richtige Cyanogenmod ROM herunter und es geht weiter.

mkdir ROM
cd ROM
unzip ../cm-10.2-20131018-UNOFFICIAL-pico.zip
mkdir ../BOOT
cd ../BOOT
abootimg -x ../ROM/boot.img
mkdir ../INITRD
cd ../INITRD
gzip -d < initrd.img | cpio -i
vi init.rc

Dort ändert man wie auf XDA-Developers von ph03n!x beschrieben dieses Start-Skript ab. Für das Pico müssen dann noch viele (50?) Kommentarzeilen, also die Zeilen mit # am Anfang, gelöscht werden, da sonst die initrd zu groß wird! Danach wird eingepackt:


find . | cpio -o -H newc | gzip > ../BOOT/boot.img-ramdisk.gz
cd ../BOOT
abootimg -u boot.img -r boot.img-ramdisk.gz
fastboot flash boot boot.img

Wobei letzteres Programm natürlich nur geht, wenn das Telefon im fastboot Modus ist (ausschalten, bei gedrückter „leiser“ Taste einschalten, mit „lauter“/“leiser“ zu fastboot navigieren, mit Ausschaltknopf auswählen) und das adb sdk installiert ist.

Android SDK
abootimg man page
boot.img mit fastboot installieren
Fastboot Intro
init-rc Komandos

Zertifikate auf Android übetragen Passwort falsch

Filed in Android, IPSec, OpenVPN

Der Versuch, ein PKCS12 Zertifikat auf einem Samsung Galaxy von der SD-Karte zu installieren schlug immer wieder fehl, das Passwort wurde immer wieder neu abgefragt, weil es angeblich falsch sei. Die Lösung war einfach, der Weg über Google Drive und ES Dateiexplorer war das Problem, einfach das Zertifikat auf einem Webserver ablegen, mit dem Browser ansteuern, die Passwort-Abfrage kommt und funktioniert.

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.

Oenology Post Formats
Click to view/hide
Posts Calendar
Click to view/hide
April 2024
M D M D F S S
« Dez    
1234567
891011121314
15161718192021
22232425262728
2930  
Archive
Click to view/hide
Letzte Beiträge
Click to view/hide