RSS Feed

Czerwiec, 2012

  1. Windows update, błąd 80244018 i jak go naprawić

    Czerwiec 22, 2012 by 0verlord

    Problem okazał się dość trywialny. Po tym, jak nie zadziałały wszystkie sugestie, które w tym temacie ma internet (włączyć inteligentny transfer w tle, włączyć windows update, opuścić zaporę, uruchomić MS Fixit’a), poszukałem głębiej.

    Windows update i jego inteligentny transfer w tle, to nic innego jak pobieranie cabów z aktualizacjami po http.
    A ten numer błędu oznacza, że zamiast otrzymać odpowiedź 200 OK, system dostał 403 Permission Idź Precz.

    Tylko skąd to się wzięło i dlaczego np. Windows XP, który stoi zaraz obok, aktualizuje się bez problemów?
    Po drodze mam Squida, więc zajrzałem w logi, a tam np. takie coś:

    1340345769.540 0 ipek TCP_DENIED/403 361 HEAD http://download.windowsupdate.com/msdownload/update/software/updt/2011/04/windows6.1-kb2506928-v2-x64-express_23d6b471222697d7fba8e25c305ab6d661dd4324.cab - NONE/- text/html
    1340345769.628 0 ipek TCP_DENIED/403 361 HEAD http://download.windowsupdate.com/msdownload/update/software/updt/2011/04/windows6.1-kb982018-v3-x64-express_6daea780a222e001dc64d67b979af052bce270c3.cab - NONE/- text/html
    1340345769.712 0 ipek TCP_DENIED/403 361 HEAD http://download.windowsupdate.com/msdownload/update/software/secu/2012/04/graph-x-none_5df373440beed2576fe78d0ef0ebc6b90db3fc8c.cab - NONE/- text/html
    1340345769.783 0 ipek TCP_DENIED/403 361 HEAD http://download.windowsupdate.com/msdownload/update/software/secu/2012/04/excel-x-none_efe9948d82dfd419d0cf40aa4c0d1912104a50e8.cab - NONE/- text/html
    1340345769.876 0 ipek TCP_DENIED/403 361 HEAD http://download.windowsupdate.com/msdownload/update/software/secu/2012/04/vviewer-x-none_0dbaa8870c042c1a99faa4c5425d311252c34984.cab - NONE/- text/html
    1340345770.029 0 ipek TCP_DENIED/403 361 HEAD http://download.windowsupdate.com/msdownload/update/software/crup/2011/11/proof-en-us_47e02b746959bae289bf3061847380074a801d52.cab - NONE/- text/html
    1340345770.078 0 ipek TCP_DENIED/403 361 HEAD http://download.windowsupdate.com/msdownload/update/software/crup/2011/11/proof-de-de_440d1b4f0aa94495b9dda1e1c9b4a81f0ac554b9.cab - NONE/- text/html
    1340345770.080 0 ipek TCP_DENIED/403 361 HEAD http://download.windowsupdate.com/msdownload/update/software/crup/2011/11/proof-pl-pl_d326a19a46259642c5edf4acca2e155bfc42e1dc.cab - NONE/- text/html
    1340345770.177 0 ipek TCP_DENIED/403 361 HEAD http://download.windowsupdate.com/msdownload/update/software/secu/2012/03/windows6.1-kb2653956-x64_5cfdaba5a52326088faab671f21fcd807c8b8768.cab - NONE/- text/html
    1340345770.275 0 ipek TCP_DENIED/403 361 HEAD http://download.windowsupdate.com/msdownload/update/software/secu/2012/05/windows6.1-kb2659262-x64-express_16922c62a2473b40cf0d69a45f4f9162ef5ce6d2.cab - NONE/- text/html

    Kluczowe jest tutaj, dlaczego HEAD powoduje 403? Ano dlatego, że (jak sobie już przypomniałem), kiedyś musiałem przejść przez dość wrednie napisaną witrynę, która wygaszała sesję php jak wget -m posyłał jej HEAD, żeby sprawdzić, czy już pobrał zawartość, czy nie pobrał. Regułka w Squidzie wygląda tak:

    acl Safe_method method CONNECT GET POST
    http_access deny !Safe_method

    Nie ma HEAD? Nie ma. No to deny. I w ten oto sposób pokonałem się sam. Żeby było wszystko jasne, tej regułki nie ma domyślnie w konfigu Squida, została dodana na potrzeby tamtej krzywej strony.