Połączenie TLS zostało nieprawidłowo zakończone


17

Podczas pracy package-list-packagesotrzymuję następujące błędy:

Failed to download `gnu' archive.
gnutls.c: [0] (Emacs) fatal error: The TLS connection was non-properly terminated.

Używam Emacsa 24.4 w systemie Windows. Do tego tygodnia pobieranie pakietów odbywało się normalnie.

Wypróbowałem ten przewodnik na temat konfigurowania Emacs-GnuTLS-Windows. Próbowałem uruchomić ten kod z sekcji Sprawdź, czy działa :

(condition-case e
    (delete-process
     (gnutls-negotiate
      :process (open-network-stream "test" nil "www.google.com" 443)
      :hostname "www.google.com"
      :verify-error t))
  (error e))

Dostaję nilsię do bufora bez błędu sprawdzania poprawności, co według artykułu jest oznaką sukcesu. Jeśli jednak ustawię (setq gnutls-log-level 2)i uruchomię kod ponownie, otrzymam następujące dane wyjściowe.

gnutls.c: [1] (Emacs) allocating credentials
gnutls.c: [2] (Emacs) allocating x509 credentials
gnutls.c: [2] (Emacs) using default verification flags
gnutls.c: [1] (Emacs) setting the trustfile:  c:/gnutls/cacert.pem
gnutls.c: [1] (Emacs) gnutls callbacks
gnutls.c: [1] (Emacs) gnutls_init
gnutls.c: [1] (Emacs) got non-default priority string: NORMAL
gnutls.c: [1] (Emacs) setting the priority string
gnutls.c: [audit] Note that the security level of the Diffie-Hellman key exchange has been lowered to 256 bits and this may allow decryption of the session data

gnutls.c: [1] (Emacs) non-fatal error: Resource temporarily unavailable, try again. [1428 times]
gnutls.c: [2] (Emacs) Deallocating x509 credentials

To wydaje się trochę dziwne. Według tej listy mailingowej błąd zwykle nie jest szkodliwy. Niemniej jednak nadal nie mogę pobrać gnu.

Jak mogę przywrócić normalne pobieranie pakietów?

Aktualizacja czerwcowa

Chociaż istnieją pewne sugestie na GitHub, że komunikat o błędzie jest fałszywy, gnunadal nie można go pobrać. Potwierdziłem to, sprawdzając lokalne wersje pakietów z najnowszymi aktualizacjami repozytorium online .

Aktualizacja 24.5

Nie mogę już odtworzyć problemu po aktualizacji do Emacsa 24.5.


Wygląda to tak, jakby repozytorium było wyłączone (serwer obsługujący pakiety był w trybie offline). Czy możesz uzyskać dostęp do serwera w inny sposób? (np. przez przeglądarkę).
wvxvw

Tak. To jest repozytorium: elpa.gnu.org/packages
Matthew Piziak

Otrzymuję ten sam rodzaj danych wyjściowych, co sugeruje, że nie jest to znak błędu.
politza

Takie jest też moje wrażenie, ale pomyślałem, że powinienem opublikować to dla kompletności.
Matthew Piziak

Ten błąd też pojawia się, ale nie wydaje się, aby powodował jakąkolwiek szkodę. Pobieranie pakietów działa dobrze.
Kaushal Modi

Odpowiedzi:


4

Wygląda na to, że jest to błąd związany z interakcją niektórych wersji emacsa z niektórymi wersjami gnutl:

https://github.com/nicferrier/elmarmalade/issues/55#issuecomment-75377455


Mogę zaakceptować tę odpowiedź, jeśli odpowiednie informacje zostaną pobrane z linku zgodnie z meta.stackexchange.com/a/8259 i jeśli wynikowa odpowiedź jest wystarczająca, aby dać użytkownikom z tym samym problemem przyzwoitą szansę na ich naprawienie.
Matthew Piziak,

2

Nie mogę już odtworzyć problemu po aktualizacji do najnowszej stabilnej wersji Emacsa (obecnie 24.5). C-h Npokazuje, że w tej wersji wprowadzono szereg zmian w podpisach pakietów.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.