З'єднання TLS було належним чином припинено


17

Під час запуску package-list-packagesя отримую такі помилки:

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

Я запускаю Emacs 24.4 в Windows. До цього тижня завантаження пакунків відбувалося нормально.

Я спробував це керівництво щодо налаштування Emacs-GnuTLS-Windows. Я спробував запустити цей код із розділу Дивіться, чи працює він :

(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))

Я все-таки nilвставляю в буфер, без помилки перевірки, що відповідно до статті є ознакою успіху. Однак якщо я встановив (setq gnutls-log-level 2)і запустив код ще раз, я отримаю наступний вихід.

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

Тож це здається трохи дивним. Відповідно до цього списку розсилки , помилка зазвичай не є шкідливою. Тим не менш, я все ще не можу завантажити gnu.

Як я можу відновити нормальне отримання пакета?

Червневе оновлення

Хоча на GitHub є деякі пропозиції щодо того, що повідомлення про помилку є помилковим, gnuвсе-таки не вдається отримати. Я підтвердив це, перевіривши локальні версії пакетів з нещодавньо оновленими веб-сховищами .

Оновлення 24.5

Я не можу більше відтворювати проблему після оновлення до Emacs 24.5.


Це виглядає так, ніби сховище не було (сервер, що обслуговує пакунки, був офлайн). Чи можете ви отримати доступ до сервера іншими способами? (наприклад, через браузер).
wvxvw

Так. Це сховище: elpa.gnu.org/packages
Матвій Пізіак

Я отримую такий же вихід, припускаючи, що це не ознака помилки.
politza

Це теж моє враження, але я подумав, що слід опублікувати це для повноти.
Матвій Пізіак

Я також отримую цю помилку, але, здається, не завдає шкоди. Вибір пакетів працює добре.
Каушал Моді

Відповіді:


4

Здається, це помилка при взаємодії деяких версій emacs з деякими версіями gnutls:

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


Я можу прийняти цю відповідь, якщо відповідна інформація буде витягнута із посилання відповідно до meta.stackexchange.com/a/8259 , і якщо отримана відповідь є достатньою, щоб дати користувачам з тією ж проблемою гідний шанс виправити її.
Матвій Пізіак

2

Я не можу більше відтворювати проблему після оновлення до останнього стабільного Emacs (наразі 24,5). C-h Nпоказує, що в цій версії було внесено ряд змін до підписів пакетів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.