Google Fi Activation fails with Error Code B050

If you get an error code of “B050” when trying to activate your “Google Fi” service, it is because you are identified as not being in the US right now. This was confirmed to my by Google Support on the phone a few minutes ago.

Whether this is being identified by your IP address or your phone’s location, I can’t tell (yet). Could be that I bring up a VPN to check… ūüėČ

2020-02-19 Update: I was just too curious, so only a day later I quickly wrapped up a VPN with a source IP from the US (thanks, AWS! :-)). And, presto, I could activate Google Fi. So it is crystal clear that they identify you by your IP address.

I could make calls via VoWiFi, but when I disabled WiFi I couldn’t attach to the mobile network. This is probably because I’ve never joined my “home (mobile) network” yet. I’ll be in Florida soon, then I will join the mobile network there. And I’m sure when I return to Germany I’ll be able to join German mobile networks as well…

Use SmartThings Multi-Purpose Sensor without Magnet

While browsing around in the SmartThings IDE I stumbled across a setting for the multi-purpose sensor called garageSensor.

Googling it turned out that you can manually put the sensor into a mode where it detects it has been tilted, and then reports this state as “open.” This can be used for sectional garage doors, in which case you don’t have to use the magnet, but just the main “sensor” part.

Mount the garage door sensor vertically so that when the garage door is vertical, it will read ‚Äúclosed.‚ÄĚ When horizontal, it will read ‚Äúopen.‚ÄĚ

To put the sensor into the “garage sensor” mode, open the device in the IDE, and then click on the “edit” link for the device preferences:

This could possibly also be used for windows which can only be tilted — it wouldn’t make much sense to use this setup for windows which can also be “turned” open (like most European-style windows).

This helped? Then please let me know… ūüôā

Das perfekte USB-C-Ladekabel zum Apple-Netzteil

K√ľrzlich habe ich ein neues MacBook Pro 13″ mit USB-C-Ladestecker erworben. Da ich das Netzteil nicht st√§ndig zwischen B√ľro und Zuhause hin und her schleppen m√∂chte, habe ich ein zus√§tzliches original Apple Netzteil bestellt. Zu meinem gro√üen √Ąrger ist im Lieferumfang (bei einem Preis von immerhin 75 EUR!) nicht einmal das USB-C-Ladekabel enthalten… ūüôĀ

Zugegeben, das war in der Angebotsbeschreibung so erl√§utert (wie ich dann hinterher feststellen musste), aber wer rechnet schon mit sowas und liest die Artikelbeschreibung f√ľr ein Netzteil bis ins letzte Detail durch???

Daher habe ich auf Amazon nach einem geeigneten 2 m USB-C-Kabel gesucht. Dabei bin ich auf dieses magnetische Kabel gesto√üen, von dem ich total begeistert bin, so dass ich mittlerweile drei St√ľck davon besitze. ūüėČ

Das tolle an dem Kabel ist die magnetische Kupplung, die ich schon bei den Magsafe-Netzteilen meiner vorigen MacBook Pros so geschätzt habe. Zieht man nämlich unabsichtlich am Kabel, z. B. weil jemand versehentlich in das Kabel hineintritt oder sich dort verheddert, so wird einfach die magnetische Kupplung des Kabels vom Laptop getrennt. Das Kabel reißt also nicht das teure Gerät vom Tisch oder Schoß herunter.

Continue reading Das perfekte USB-C-Ladekabel zum Apple-Netzteil

Xiaomi Mi A2 Testbericht

Einleitung

Heute möchte ich kurz das Xiaomi Mi A2, Modell: M1804D2SG, mit 6 GB RAM und 128 GB Flash-Speicher besprechen.

Das tolle an dem Gerät ist, dass es sich um ein Android One-Gerät handelt. Das bedeutet, dass diese Handys jeden Monat regelmäßige Sicherheitsupdates erhalten und damit etwa drei Jahre versorgt werden. Das Android-Betriebssystem ist dabei (fast) ein unverbasteltes Original-Android ohne Anpassungen des Herstellers. Die wenigen Zusatz-Apps, die Xiaomi vorinstalliert hat, können bis auf eine alle gelöscht werden. Auch sehr viele der vorinstallierten Google-Apps können gelöscht werden, wenn diese nicht benötigt werden.

Beim Test war eine Oreo 8.1-Firmware mit Stand der Sicherheitsupdates vom 05.11.2018 installiert. Android Pie (9.0) wird bereits ausgeliefert, ist auf diesem Gerät jedoch leider noch nicht angekommen.

Kommunikationsfähigkeiten

Leider unterst√ľtzt das Ger√§t kein NFC. F√ľr Viele ist das heutzutage f√ľr die kontaktlose Zahlung mit Google Pay sehr wichtig und ein Fehlen damit ein KO-Kriterium.

Das Ger√§t unterst√ľtzt Dual-4G-Standby (d. h. es kann mit zwei SIM-Karten gleichzeitig ins Netz eingebucht sein und auf SMS oder Anrufe reagieren) und eine Vielzahl von LTE-B√§ndern. Das (zumindest) f√ľr Vodafone-DE in l√§ndlichen Regionen extrem wichtige, langwellige Band 20 wird unterst√ľtzt, wie ich selber √ľberpr√ľfen konnte. Insgesamt soll das Handy die B√§nder 1, 2, 3, 4, 5, 7, 8, 20, 38, 40 unterst√ľtzen. Das w√§ren s√§mtliche in Europa vorkommenden B√§nder und noch einige dar√ľber hinaus.

Telefonie √ľber 4G/LTE ist m√∂glich, allerdings muss dazu einmalig nach Inbetriebnahme oder Reset ein “geheimer” Code zum Abschalten des “VoLTE Carrier Check” eingegeben werden. Dieser Code *#*#86583#*#* muss in der Telefon-Anwendung als “Telefonnummer” eingegeben werden. Danach erscheint in Einstellungen > Netzwerk & Internet > Mobilfunknetz > Erweitert eine neue Option Erweiterter 4G LTE-Modus, die den VoLTE-Modus einschaltet.

Ich habe mich durch einen Testanruf davon √ľberzeugt, dass das Handy tats√§chlich nicht auf den 3G-Modus zur√ľckf√§llt, sondern w√§hrend des Telefonats im 4G-Modus bleibt. Damit ist bewiesen, dass das Handy tats√§chlich VoLTE-f√§hig ist. Die Sprachqualit√§t war kristallklar!

WiFi ist auf beiden Bändern (2,4/5 GHz) möglich. Ich habe bei 5 GHz eine Nettodurchsatzrate von 300 MBit/s erreicht (Ookla Speedtest.net), was ein sehr guter Wert ist (ich habe einen 500 MBit/s Glasfaseranschluss, kann also tatsächlich leicht diese Datenraten erreichen). Die mit dem Access Point ausgehandelte Datenrate war dabei 433 MBit/s.

Das Ger√§t beherrscht Bluetooth 5.0, nat√ľrlich auch Bluetooth Low Energy (BLE). Ebenso beherrscht es GPS, Glonass (das russische Pendant) und BeiDou (das chinesische Satelliten-Navigationssystem).

Verschiedenes

Die Akkulaufzeit ist nur als “hervorragend” zu bezeichnen: Gut vier Tage hat das Handy durchgehalten. Dabei waren zwei SIM-Karten eingesetzt, das Handy war also mit beiden Mobilfunkmodulen st√§ndig im Standby-Betrieb. In der Zeit habe ich das Handy eingerichtet (Einstellungen-Men√ľ komplett durchgeschaut und viele √Ąnderungen vorgenommen, Apps installiert und diese getestet), weil ich es gerade erst (f√ľr meinen Vater) neu erworben habe. Au√üerdem habe ich sehr viel Facebook und Nachrichten gelesen.

Das tolle, große Display von sechs Zoll Größe macht einen hervorragenden Eindruck und ist sehr klar abzulesen. Mit seinem Qualcomm Snapdragon 660-Chipsatz gehört das Handy zu den derzeit schnellsten Handys.

Die Verarbeitung des Handys ist tadellos, das Ger√§t macht einen durchaus edlen Eindruck. Sehr positiv finde ich, dass es keinen Glasr√ľcken hat, da ein solcher bei St√ľrzen erfahrungsgem√§√ü sofort zerspringt.

Was ich ebenfalls sehr positiv fand ist, dass eine Silikon-/TPU-H√ľlle mitgeliefert wird. Diese ist relativ d√ľnn, bietet also wohl wenig Schutz gegen St√ľrze oder harte Schl√§ge, ist aber allemale gut geeignet um Kratzer vom Ger√§t fernzuhalten.

Fazit

F√ľr einen Preis von bereits um die 230 EUR erh√§lt man ein hervorragend ausgestattetes Handy der Oberklasse, dem lediglich NFC fehlt. F√ľr diejenigen, die damit leben k√∂nnen, kann ich nur eine absolute Kaufempfehlung aussprechen. Vielleicht f√ľr den einen oder anderen ein sch√∂nes Weihnachtsgeschenk? ūüėČ

PayPal schränkt nach Disput Konto ein

Ich bin seit √ľber 16 Jahren “Kunde” bei PayPal. Nach einem Disput mit PayPal selbst hat PayPal nun pl√∂tzlich meinen Account in einen “eingeschr√§nkten Zustand” versetzt.

Als jemand, der beruflich im Bereich IT-Sicherheit unterwegs ist, liegt mir dieses Thema nat√ľrlich gerade auch bei einem Finanzdienstleister wie PayPal sehr am Herzen. Daher benutze ich seit Einf√ľhrung bei PayPal einen “Sicherheitsschl√ľssel” (allgemein “Zwei-Faktor-Authentifizierung”, “two-factor authentication”, 2FA, TFA, MFA genannt) als zus√§tzliche Sicherung meines Accounts.¬† (Zu diesem Thema gibt es auch einige Artikel hier in meinem Blog!) Zun√§chst einen Hardware-Schl√ľssel in Form eines kleinen feuerzeuggro√üen elektronischen Ger√§ts, sp√§ter dann einen Software-Schl√ľssel in Form einer Handy-App.

Im Laufe der vielen Jahre der Nutzung von PayPal habe ich entsprechend oft einen neuen Sicherheitsschl√ľssel im PayPal-Account registriert, da ich diese Schl√ľssel jeweils auf meinen beiden (Privat- u. Dienst-) Handys benutze, und diese jeweils alle zwei Jahre durch neue Ger√§te ersetzt werden, so dass ich auch eine neue Schl√ľssel-App installieren und registrieren muss.

Dieser Fall war nun wieder eingetreten, und √ľberraschenderweise konnte ich nicht mehr einen neuen Schl√ľssel registrieren. Der PayPal-Support teilte mir zun√§chst mit, diese Software-Schl√ľssel w√ľrden in Deutschland nicht mehr unterst√ľtzt, daher k√∂nne man keine neuen Schl√ľssel registrieren.

Nach l√§ngerem Hinundher fand ich jedoch heraus (u. a. durch Unterst√ľtzung von Lesern meines eigenen Blogs und eigene Untersuchungen), dass mir PayPal offensichtlich (bewusst!) die Unwahrheit gesagt hatte. Die wahre Ursache ist ein Problem auf Seiten von PayPal, n√§mlich eine willk√ľrliche Beschr√§nkung auf zehn Sicherheitsschl√ľssel. Man kann diese Schl√ľssel deaktivieren, z. B. wenn sie defekt sind oder verloren gingen, aber man kann sie nicht aus dem Account “l√∂schen”. Erreicht man dadurch das Limit von zehn Schl√ľsseln, so kann man keine neuen Schl√ľssel registrieren.

Daher bat ich den Support, dass dieser die alten, bereits von mir deaktivierten Schl√ľssel l√∂schen m√∂ge. Dazu verlangte der Support, dass ich dort anrufen m√∂ge. Warum, das wurde mir auch auf ausdr√ľckliche Nachfrage bis heute nicht erkl√§rt. Insbesondere hat PayPal durch meinen Anruf keine gr√∂√üere Gewissheit, dass es sich tats√§chlich um meine Person handelt. Ich teilte PayPal mit, dass ich nach 20 min. in der Warteschleife aufgegeben habe, und dass ich ohnehin aus Beweisgr√ľnden eine Korrespondenz per Nachricht innerhalb meines PayPal-Accounts bevorzuge.

Nun hat PayPal pl√∂tzlich meinen Account in einen eingeschr√§nkten Zustand versetzt und verlangt von mir, dass ich ein Ausweisdokument hochlade sowie ein Dokument, welches meine aktuelle Adresse belegt. Ich lehne das Hochladen meines Personalausweises grunds√§tzlich ab wegen der drohenden Missbrauchsgefahr (siehe der aktuelle “Mariott”-Skandal, wo Daten von 500 Mio. Kunden gestohlen wurden, u. a. Ausweisnummern!). Au√üerdem ist es mir unverst√§ndlich, wieso PayPal nun pl√∂tzlich — fast sieben Jahre nach meinem letzten Umzug — meine Adresse verifiziert haben m√∂chte. Bei Umz√ľgen habe ich bisher immer einfach meine Adresse in meinem Account ge√§ndert, damit war der Fall erledigt.

Ich kann mich PayPal gegen√ľber nach wie vor durch Einloggen in meinen Account authentifizieren, da ich noch √ľber ein Handy verf√ľge, welches dort registriert ist. PayPal kann also keine ernsthaften Zweifel an meiner Identit√§t haben. Sehr negativ aus Sicherheitsgesichtspunkten ist die Tatsache, dass PayPal es erlaubt, den Sicherheitsschl√ľssel durch die Beantwortung von zwei Fragen (“Geburtsname meiner Mutter” und “Wohnort als “Kind) zu ersetzen. Es gibt eine Reihe von Personen au√üer mir selbst, die diese Fragen beantworten k√∂nnen. Die Sicherheit meines Accounts wird also stark geschw√§cht, und das Verfahren des Sicherheitsschl√ľssels ad absurdum gef√ľhrt.

Das Verhalten von PayPal — immerhin eine “Bank”, da das Unternehmen meines Wissens √ľber nach eine Bankenlizenz verf√ľgt! — finde ich unglaublich, geradezu “nach Gutsherrenart”. Daher werde ich mich nun bei diversen Organisationen des Verbraucherschutzes und der Finanzaufsicht √ľber PayPal beschweren.

Huawei P8 (GRA-L09) modding

This post about “modding” of a Huawei P8 aims to summarize most of the standard procedures you need when you want to modify the device software (also called “firmware”), because you are a developer or want to be more flexible in how you use your device.

Normally, in order to gain this knowledge, you have to read a lot of “geeky” posts on sites like xda developers, which is very time consuming, and sometimes even leads to complete failure (you end up “bricking” your device), because many people there don’t bother to post clear and comprehensive instructions, but simply assume people have some pre-knowledge and know how to do things.

I don’t yet consider this post “finalized” yet (it needs some “polishing”), but I would like to make it available already now to make sure it won’t be forgotten… ūüėČ

Fastboot Mode

“Fastboot” mode is a special mode your device can be put into in order to perform certain maintenance operations, such as (un-) locking your boot loader, flashing partition images, etc. The tool you use on your PC or Mac to communicate with the phone while it is in “fastboot” mode is also called fastboot. It is part of the Android platform tools which you can download here directly from Google.

Continue reading Huawei P8 (GRA-L09) modding

Ersatzbatterie f√ľr APC Back UPS PRO USV 900 VA – BR900GI

Nach knapp sechs Jahren hat es der originale Akkusatz f√ľr meine APC Back UPS PRO (BR900GI) nun hinter sich. Ich habe dies nur durch Zufall festgestellt, weil die USV pl√∂tzlich hektisch zu “schnattern” begann, als ich den angeschlossenen PC benutzte. Mit “Schnattern” meine ich ein hektisches, “abgebrochenes” Gepiepse, also kein anhaltender oder regelm√§√üiger Piepston.

Ich habe daher den PC herunter gefahren und die USV au√üer Betrieb genommen (abgekabelt). Dabei fiel mir ein unangenehmer Geruch auf. Ich √∂ffnete also das Batteriefach und bemerkte, dass die Akkus sehr hei√ü waren — so hei√ü, dass ich sie nicht mehr in der Hand halten konnte. Eine Temperaturmessung ergab rekordverd√§chtige 62,9 ¬įC:

Ich wage gar nicht dr√ľber nachzudenken was passiert w√§re, wenn ich das Versagen der Akkus nicht jetzt bemerkt h√§tte… ūüôĀ

Der Geruch kam wohl scheinbar daher, dass an einem Kontakt schon in geringem Ausmaß Batteriesäure austrat:

Obwohl das USB-Kabel der USV mit dem PC verbunden war und die USV von Windows 10 auch erkannt wurde, hat mich Windows nicht √ľber den schlechten Zustand der Akkus informiert. ūüôĀ

Continue reading Ersatzbatterie f√ľr APC Back UPS PRO USV 900 VA – BR900GI

Sommer Duo Vision 650 Laufwagen schließt nicht mehr das Tor

Mein Sektional-Garagentor ist mit einem Sommer Duo Vision 650 Garagentorantrieb ausgestattet. Dieser Antrieb machte nun pl√∂tzlich gut sechs Jahre nach Bau unseres Hauses und damit Installation des Antriebs √Ąrger. Sporadisch bei Bedienung fuhr das Tor zwar noch hoch, schloss sich aber nicht wieder. Einige Wochen nach Beginn der Probleme war die Schlie√üfunktion permanent ausgefallen, so dass ich die Notentriegelung benutzen musste, um das Tor manuell bedienen zu k√∂nnen.

Als technisch interessierter und vorgebildeter Mensch war mir das nat√ľrlich Ansporn, der Sache auf den Grund zu gehen. Also zun√§chst ein bisschen gemessen…

Das Geh√§use der Steuerung liess sich leicht von unten √∂ffnen, nachdem ich die Lichthaube nach oben abgeschoben und die zwei darunter liegenden Schrauben entfernt hatte. Zum Vorschein kam die Steuerplatine, die einfach nur √ľber einen Platinenstecker in einen entsprechenden Sockel eingesteckt ist. Auf dieser befinden sich zwei Relais, die jeweils die 24 V-Versorgungsspannung, die der Ringkerntrafo generiert, in der einen oder anderen Polung an die C-Schiene und Kette anlegt. Also einfach mal gemessen, ob die Spannungen zuverl√§ssig anliegen — das war der Fall. Als N√§chstes mal das Geh√§use des Laufwagens √∂ffnen und dort messen. Auch dort lagen die jeweiligen Spannungen bei Bedienung des Tasters an der Steuerung an.

Hmmm. Was konnte also das Problem sein? Kann ein Motor so kaputt sein, dass er sich noch in der einen Richtung dreht, in der Gegenrichtung aber nicht mehr? Das erschien mir sehr unwahrscheinlich. Was konnte es also sonst sein?! Ob es viellecht der Endschalter war, der das Ende des Schlie√üvorgangs verursacht? Also die Kontakte von der Motorplatine abgezogen und mit dem Multimeter gemessen — Bingo, in einer Stellung des Laufwagens, in der keiner der Endschalter bet√§tigt wurde, hatte der eine Endschalter Durchgang, der andere war ge√∂ffnet.

Also habe ich ein entsprechendes Ersatzteil bestellt und dies gestern Abend eingebaut. Der Einbau war nicht schwierig selbst f√ľr mich als nicht sehr ge√ľbten “Schrauber”, allerdings war doch der eine oder andere “Trick” erforderlich, was ich im Folgenden schildern werde.

Continue reading Sommer Duo Vision 650 Laufwagen schließt nicht mehr das Tor

ntp running in chroot stopped working after Debian Stretch upgrade

Today I upgraded my root server from Jessie to Stretch, and suddenly ntp stopped working.

I found errors like follows in the log, which were obviously due to failures in name resolution:

2018-05-31T07:44:48.900756+00:00 myhost ntpd[22855]: giving up resolving host 1.debian.pool.ntp.org: Servname not supported for ai_socktype (-8)

The solution to make this work was to bind-mount some files and directories essential for name resolution into the chroot jail.

First create some directories and some dummy files:

# mkdir /var/lib/ntp/etc /var/lib/ntp/lib /var/lib/ntp/proc
# mkdir /var/lib/ntp/usr /var/lib/ntp/usr/lib
# touch /var/lib/ntp/etc/resolv.conf /var/lib/ntp/etc/services

Then update your /etc/fstab as follows:

...
#ntpd chroot mounts
/etc/resolv.conf  /var/lib/ntp/etc/resolv.conf none bind 0 0
/etc/services	  /var/lib/ntp/etc/services none bind 0 0
/lib		  /var/lib/ntp/lib none bind 0 0
/usr/lib	  /var/lib/ntp/usr/lib none bind 0 0
/proc		  /var/lib/ntp/proc none bind 0 0

Finally mount all these binds:

# mount -a

Thanks to the ArchLinux guys where I found this.

To check whether your ntp is working again, you can use the following command which shows a list of peers known to your ntp server:

# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 0.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 1.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 2.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 3.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
*ptbtime1.ptb.de .PTB.            1 u   46   64  377   11.483   -0.411   0.201
+ptbtime2.ptb.de .PTB.            1 u   52   64  377   11.502   -0.533   1.069
+ptbtime3.ptb.de .PTB.            1 u   47   64  377   11.451   -0.510   3.866
#batleth.sapient 131.188.3.221    2 u   44   64  377    0.188    1.097   0.176
#5.199.135.170 ( 130.149.17.21    2 u   45   64  377   11.271    0.581   0.396
-mail.morbitzer. 193.175.73.151   2 u   47   64  377    2.760    0.556   0.278
#hotel.zq1.de    161.62.157.173   3 u   46   64  377    0.094    1.384   0.261
-ntp2.m-online.n 212.18.1.106     2 u   47   64  377    7.167   -0.333   0.190
#2a03:b0c0:3:d0: 81.94.123.16     3 u   49   64  377    6.288   -2.071   1.760
#touka.thehomeof 130.149.17.21    2 u   48   64  377    0.206    0.932   0.222
+maggo.info      124.216.164.14   2 u   42   64  377    0.278   -0.137   0.436
+weyoun4.cord.de 124.216.164.14   2 u   44   64  377    2.849   -0.255   0.409
+opnsense.sauff. 222.217.153.8    2 u   43   64  377    0.270   -0.617   0.167
-web1.sys.ccs-ba 192.53.103.104   2 u   35   64  377    0.173   -1.251   0.220
#uruz.org        122.227.206.195  3 u   49   64  377    0.216    1.694   0.309
#clients5.arcani 162.23.41.55     2 u   38   64  377    6.120   -1.500   0.130
+stratum2-1.NTP. 129.70.130.71    2 u   47   64  377   14.043    1.625   0.394

The following command confirms that your current time is actually correct (within certain limits, of course):

# ntpstat
synchronised to NTP server (192.53.103.108) at stratum 2
   time correct to within 15 ms
   polling server every 64 s

If this was helpful, I would be happy to hear from you.

Exim malware scanner issue after upgrade from Jessie to Stretch

Today I finally upgraded by personal root server from Debian Jessie to Stretch, thereby upgrading Exim from 4.84 to 4.89.

After the upgrade, I observed the following errors in mainlog:

2018-05-31 08:02:03 +0000 1fOIX5-0001rg-AM malware acl condition: cmdline  : scanner returned error code: 36096
2018-05-31 08:02:03 +0000 1fOIX5-0001rg-AM H=([IPv6:2a00:6020:1efc:ee20:8857:7824:6a49:8368]) [2a00:6020:1efc:ee20:8857:7824:6a49:8368]:48523 I=[2a01:4f8:141:429::2]:465 Warning: ACL "warn" statement skipped: condition test deferred
2018-05-31 08:02:04 +0000 1fOIX5-0001rg-AM malware acl condition: cmdline  : scanner returned error code: 13
2018-05-31 08:02:04 +0000 1fOIX5-0001rg-AM H=([IPv6:2a00:6020:1efc:ee20:8857:7824:6a49:8368]) [2a00:6020:1efc:ee20:8857:7824:6a49:8368]:48523 I=[2a01:4f8:141:429::2]:465 Warning: ACL "warn" statement skipped: condition test deferred
2018-05-31 08:02:05 +0000 1fOIX5-0001rg-AM malware acl condition: cmdline  : scanner returned error code: 13
2018-05-31 08:02:05 +0000 1fOIX5-0001rg-AM H=([IPv6:2a00:6020:1efc:ee20:8857:7824:6a49:8368]) [2a00:6020:1efc:ee20:8857:7824:6a49:8368]:48523 I=[2a01:4f8:141:429::2]:465 Warning: ACL "warn" statement skipped: condition test deferred

Each of the three cmdline scanners caused an error, as shown above.

It seems there was a change in Exim from upstream, as ‚Äčreported by another user. Somehow it seems that if you define a cmdline scanner that uses a chain of commands, when there was an error return code encountered in the middle of the chain, the whole chain is considered failed.

To “fix” this issue (or rather work-around it), I changed the three ACL clauses as follows:

   warn  message                = This message contains malware ($malware_name)
         set acl_m0      = cmdline:\
-                               /usr/lib/AntiVir/guard/avscan -s --batch --scan-mode=all %s; /bin/echo -e \N"\navira_retval $?"\N:\
+                               /usr/local/bin/avscan_wrapper %s:\
                                \N^avira_retval 1$\N:\
                                \N^.*ALERT::[ \t]+([^;]*)[ \t]+;.*$\N
         malware                = *

I created a “wrapper” that effectively hides error return codes, and forces a return code of 0. The above wrapper looks like this:

#!/bin/bash

ARG="$1"

/usr/lib/AntiVir/guard/avscan -s --batch --scan-mode=all "${ARG}"
/bin/echo -e "\navira_retval $?"

exit 0

To make sure I didn’t break the malware scanning by my changes, I downloaded the ‚ÄčEICAR test virus and sent it to myself. Exim caught the “virus” and ditched it.

Just another WordPress weblog