Tag: linux

fehler nach owncloud update: “zend_mm_heap corrupted”

nachdem ich heute meine owncloud installation auf 7.0.4 aktualisiert habe, gabs erstmal nur noch “500 Internal Server Error” 🙁

im apache error.log fand ich folgenden eintrag:

zend_mm_heap corrupted

und nach ein wenig googlen habe ich abhilfe gefunden:

after much trial and error, I found that if I increase the output_buffering= value in the php.ini file, this error goes away

hmm… gesagt – getan… funktioniert. nun muss ich nur noch weiter suchen und den hintergrund verstehen 😉

kurz notiert: postfix sslv3 deaktivieren

wieder eine keine notiz fuer mich selbst.. schon ein paar tage her, aber ich brauche es bestimmt nochmal 😉

in der /etc/postfix/main.cf einfuegen bzw. anpassen, wenn schon vorhanden:

smtpd_tls_mandatory_protocols = !SSLv2 !SSLv3
smtp_tls_mandatory_protocols = !SSLv2 !SSLv3
smtp_tls_protocols = !SSLv2, !SSLv3
smtpd_tls_protocols = !SSLv2 !SSLv3

…und pruefen, ob in der master.cf nicht auch noch was von diesen optionen drin steht… ggf. anpassen.

EDIT:

und testen kann man den spass dann damit:

openssl s_client -starttls smtp -crlf -ssl3 -connect mail.domain.tld:25

rauskommen sollte sowas mit “ssl handshake failure”:

CONNECTED(00000003)
140240541128360:error:14094410:SSL routines:SSL3_READ_BYTES:
sslv3 alert handshake failure:s3_pkt.c:1258:SSL alert number 40
140240541128360:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:
ssl handshake failure:s3_pkt.c:596:
[...]

automx and multiple domain names

in meinem ersten beitrag zu automx hatte ich ganz zum schluss geschrieben, dass es der autodiscover funktion von microsofts outlook noch ein bischen erklaerung bedarf. da die tage auf der automx mailingliste diese frage auftauchte, poste ich meine kurze antwort auch mal hier…

das wesentliche steht in einem technet blog.

autodiscover in seiner urspruenglichen variante fragt einen webserver nach den konfigurationsdaten fuer outlook ab. dabei wird der domainpart (microsoft nennt das “smtpdomain”) der mailadresse genutzt und in dieser reihenfolge nach der konfiguration gesucht:

https:///Autodiscover/Autodiscover.xml
https://autodiscover./Autodiscover/Autodiscover.xml
http://autodiscover./Autodiscover/Autodiscover.xml

fuer betreiber mehrerer domains (z.b. hoster) ist das mit dem ssl etwas schwierig, da fuer jede dieser domains ein eigener vhost mit einem eigenen zertifikat eingrichtet werden muesste. die variante ohne ssl verschluesselung will man nicht nutzen, da es um sensible daten geht.

seit outlook 2007 ist ein neues feature zum autodiscover mechanismus dazu gekommen, welches es mittels eines SRV dns eintrages erlaubt, eine weiterleitung zu einem autodiscover server zu machen, der z.b. nicht der “smtpdomain” der emailadresse entspricht. an der urspruenglichen reihenfolge des mechanismuses aendert sich nichts – der SRV record wird zum schluss abgefragt:

https:///Autodiscover/Autodiscover.xml
https://autodiscover./Autodiscover/Autodiscover.xml
http://autodiscover./Autodiscover/Autodiscover.xml
SRV record query for _autodiscover._tcp.

ein beispiel von der microsoft seite, wie dieser mechanismus greift:

    1. Autodiscover sendet an “https://contoso.com/Autodiscover/Autodiscover.xml”. Hierbei tritt ein Fehler auf.

    2. Autodiscover sendet an “https://autodiscover.contoso.com/Autodiscover/Autodiscover.xml. Hierbei tritt ein Fehler auf.

    3. Autodiscover führt die folgende Überprüfung auf automatische Umleitung durch:
    GET http://autodiscover.contoso.com/Autodiscover/Autodiscover.xml
    Hierbei tritt ein Fehler auf.

    4. Autodiscover verwendet die DNS-SRV-Suche für “_autodiscover._tcp.contoso.com”, und es wird “mail.contoso.com” zurückgegeben.

    5. Der Benutzer wird von Outlook aufgefordert zu bestätigen, dass Autodiscover weiterhin an “https://mail.contoso.com/autodiscover/autodiscover.xml” senden soll.

    6. Die POST-Anforderung von Autodiscover wird erfolgreich an “https://mail.contoso.com/autodiscover/autodiscover.xml” gesendet.

outlook bringt dann aber eine etwas unschoene meldung:

20140823_autodiscover

dazu gibt bei microsoft auch was zu lesen.

was auch unschoen ist: mit allen von mir getesteten outook versionen bekommt man nach dem autodiscover keine auswahl zwischen pop3 und imap (wenn man beides anbietet), sondern es wird der erste eintrag genommen. bei einem mailclient wie z.b. thunderbird kann man zwischen den beiden protokollen auswaehlen, wobei hier das erste in der autoconfig “auslieferung” der default wert ist. wer seinen benutzern imap als default anbieten will und den outlook nutzern pop3, der muss sich zwei instanzen von automx einrichten. dank verschiedener urls fuer outlook und den rest der welt stellt das kein problem dar. und es gibt sehr viele gute gruende, seinen outlook nutzern undbedingt pop3 statt imap vorschreiben zu wollen.

pimp my new old notebook

fuer den “groben” einsatz unterwegs mit erhoehtem diebstahlrisiko (also festivals und so) hatte ich mir ein billiges asus X200CA gekauft. darauf war ein ubuntu vorinstalliert und eigentlich reichte die ausstattung vollkommen fuer diese zwecke. nun musste ich das ding tatsaechlich schon zweimal benutzen und habe wegen der fuddeligen tastatur und dem echt katastrophalen trackpad bald die krise bekommen. also weg mit dem ding und was vernuenftigeres angeschafft… ein gut gebrauchtes ibm lenovo x61s fuer schlappe 100 euro. das teil ist robust und schnuggelisch und die ausstattung reicht auch vollkommen… bis auf die festplatte. schon bei der installation von ubuntu stand fest, dass die gegen eine ssd ausgetauscht werden muss. zum spass hab ich vorher und nachher mal eine 0815 performance messung gemacht…

mit der originalen 80gb platte:

20140815_x61s_original_hdd

und mit einer billigen 120gb ssd von samsung:

20140815_x61s_ssd

ich glaube, die investition von 60 euro fuer das update war es wert 😉

die festplatten sind beide verschluesselt… ich kann nicht beurteilen, wie sehr sich das auf diese messungen auswirkt.

im “thinkwiki” habe ich gelesen, dass die sata schnittstelle in dem geraet per software auf sata-1 gedrosselt ist und man mit einem inoffiziellen bios update sata-2 freischalten kann. mal sehen, ob ich das noch mache… eigentlich wuerde mit die momentane geschwindigkeit reichen… aber die neugier…

apt: signatures couldn’t be verified

damits hier auch mal geschrieben stehtn und ich mich nicht jedes mal durch fremde seiten wuehlen muss, wenns wieder passiert 😉

als beispiel…. wenn man ein “fremdes” repository in die “/etc/apt/sources.list” einbaut, wie z.b. das von opsview…

[..]
# Opsview packages
deb http://downloads.opsview.com/opsview-core/latest/apt squeeze main
[..]

…dann passiert es natuerlich auch mal, dass bei einem apt-get die signaturen der packages nicht geprueft werden koennen:

W: GPG error: http://downloads.opsview.com squeeze Release: 
The following signatures couldn't be verified because the 
public key is not available: NO_PUBKEY 327C70CD0FC6984B

und das bekommt man in den griff, in dem man einfach den passenden key runterlaedt..

gpg --keyserver pgpkeys.mit.edu --recv-key 327C70CD0FC6984B

..und importiert

gpg -a --export 327C70CD0FC6984B | apt-key add -

und feddich 🙂

gpt partition table kopieren

das selbstgebaute nas kistchen mit ein paar grossen platten drin hat vermeldet, dass eine platte in dem software raid kaputt ist. da ich i.d.r nicht so viel mit software raid und grossen platten mache, ist mir der kram mit den guid partition tables auch nicht so gelaeufig. deshalb hier mal aufgeschrieben. erst mal platte tauschen und dann…

frueher (mit “normalen” partitionstabellen) hab ich das kopieren der partition table so gemacht :

sfdisk -d /dev/quelle | sfdisk /dev/ziel

sfdisk kann aber nicht mit GPT. da brauchts das programm “gdisk”:

apt-get install gdisk

und dann einfach die beiden kommandos ausfuehren:

sgdisk --replicate=/dev/ziel /dev/quelle
sgdisk -G /dev/ziel

wobei man drauf achten sollte, dass man quelle und ziel nicht vertauscht!

dann noch das raid rebuild mit mdadm usw. usf. ….und jetzt sagt die kiste, dass sie 8 stunden braucht fuer 2TB rebuild … *seufz*

die ip des eigenen nat routers

um die eigene, “oeffentliche” ip raus zu bekommen, wenn man sich in einer “ueblichen” umgebung befindet, gibt es mehrere wege. uebliche umgebung meint 0815 dsl anschluss mit einem plasterouter, welcher nat macht und dahinter ein netz aus dem privaten adressbereich hat. wenn man diese ip automatisch fuer irgendwas verarbeiten will, muss man die mit igendwelchen tools abfragen. im router selbst steht die ip irgendwo drin. meist muss man sich aber am router erst authentifizieren, um diese auslesen zu koennen. eine weitere variante waere das aufrufen einer externen webseite, welche die ip anzeigt, z.b. mit wget. den output beider varianten musst man sich dann meist noch mit ein bischen grep und regex zauberei aus viel html gewurschtel rausiltern. eleganter gehts mit dm commandline tool “dig”:

dig myip.opendns.com @resolver1.opendns.com +short

der output ist eine zeile mit der (nur) der ipadresse

pruefen, ob webseite hsts unterstuetzt

das geht einfach so:

curl -s -D- https://www.domain.com/ | grep Strict

debian: in welchem paket steckt datei xy

schon oft gebraucht.. .jetzt hier notiert. wie kann man rausfinden, durch welches debian paket eine bestimmte datei installiert wurde? das geht ganz einfach so:

dpkg -S /usr/bin/strings

der output:

binutils: /usr/bin/strings

failed to bring up eth1

fuer die merkliste… ist mir schon ein paar mal passiert und jedes mal musste ich wieder google fragen. das ist die fehlermeldung:

$ /etc/init.d/networking restart
RTNETLINK answers: File exists
Failed to bring up eth1

so sieht die netzwerk konfiguration aus:

auto eth0 eth1
iface eth0 inet static
  address 192.168.1.10
  netmask 255.255.255.0
  gateway 192.168.1.1
iface eth1 inet static
  address 10.0.0.10
  netmask 255.255.255.0
  gateway 10.0.0.1

da ist zwei mal ein gateway eingetragen. das ergaebe dann zweimal eine default route. das geht natuerlich nicht, weshalb man dann einfach die route extra setzen sollte:

auto eth0 eth1
iface eth0 inet static
  address 192.168.1.10
  netmask 255.255.255.0
  gateway 192.168.1.1
iface eth1 inet static
  address 10.0.0.10
  netmask 255.255.255.0
  up route add -net 10.0.0.0/24 gw 10.0.0.1 dev eth1

(in diesem beispiel braucht man diese route eigentlich nicht extra zu setzen, wenn es sich nur um das eine subnet handelt. aber wenn noch weitere netze ueber diese verbindung geroutet werden sollen, braucht man extra routen)