"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "doc/misc/emacs-gnutls.texi" between
emacs-25.3.tar.xz and emacs-26.1.tar.xz

About: GNU Emacs - the extensible, customizable, self-documenting real-time display editor.

emacs-gnutls.texi  (emacs-25.3.tar.xz):emacs-gnutls.texi  (emacs-26.1.tar.xz)
skipping to change at line 12 skipping to change at line 12
@set VERSION 0.3 @set VERSION 0.3
@setfilename ../../info/emacs-gnutls.info @setfilename ../../info/emacs-gnutls.info
@settitle Emacs GnuTLS Integration @value{VERSION} @settitle Emacs GnuTLS Integration @value{VERSION}
@include docstyle.texi @include docstyle.texi
@copying @copying
This file describes the Emacs GnuTLS integration. This file describes the Emacs GnuTLS integration.
Copyright @copyright{} 2012--2017 Free Software Foundation, Inc. Copyright @copyright{} 2012--2018 Free Software Foundation, Inc.
@quotation @quotation
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no any later version published by the Free Software Foundation; with no
Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,''
and with the Back-Cover Texts as in (a) below. A copy of the license and with the Back-Cover Texts as in (a) below. A copy of the license
is included in the section entitled ``GNU Free Documentation License''. is included in the section entitled ``GNU Free Documentation License''.
(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
skipping to change at line 97 skipping to change at line 97
Manual}). The two functions are equivalent, the first one being an Manual}). The two functions are equivalent, the first one being an
alias of the second. alias of the second.
There's one way to find out if GnuTLS is available, by calling There's one way to find out if GnuTLS is available, by calling
@code{gnutls-available-p}. This is a little bit trickier on the W32 @code{gnutls-available-p}. This is a little bit trickier on the W32
(Windows) platform, but if you have the GnuTLS DLLs (available from (Windows) platform, but if you have the GnuTLS DLLs (available from
@url{http://sourceforge.net/projects/ezwinports/files/} thanks to Eli @url{http://sourceforge.net/projects/ezwinports/files/} thanks to Eli
Zaretskii) in the same directory as Emacs, you should be OK. Zaretskii) in the same directory as Emacs, you should be OK.
@defun gnutls-available-p @defun gnutls-available-p
This function returns @code{t} if GnuTLS is available in this instance of Emacs. This function returns non-@code{nil} if GnuTLS is available in this
instance of Emacs, @code{nil} otherwise. If GnuTLS is available, the
value is a list of GnuTLS capabilities supported by the installed
GnuTLS library, which depends on the library version. The meaning of
the capabilities is documented in the doc string of this function.
@end defun @end defun
Oh, but sometimes things go wrong. Budgets aren't balanced, Oh, but sometimes things go wrong. Budgets aren't balanced,
television ads lie, and even TLS and SSL connections can fail to work television ads lie, and even TLS and SSL connections can fail to work
properly. Well, there's something to be done in the last case. properly. Well, there's something to be done in the last case.
@defvar gnutls-log-level @defvar gnutls-log-level
The @code{gnutls-log-level} variable sets the log level. 1 is The @code{gnutls-log-level} variable sets the log level. 1 is
verbose. 2 is very verbose. 5 is crazy. Crazy! Set it to 1 or 2 verbose. 2 is very verbose. 5 is crazy. Crazy! Set it to 1 or 2
and look in the @file{*Messages*} buffer for the debugging and look in the @file{*Messages*} buffer for the debugging
information. information.
@end defvar @end defvar
@defvar gnutls-algorithm-priority @defvar gnutls-algorithm-priority
The @code{gnutls-algorithm-priority} variable sets the GnuTLS priority The @code{gnutls-algorithm-priority} variable sets the GnuTLS priority
string. This is global, not per host name (although string. This is global, not per host name (although
@code{gnutls-negotiate} supports a priority string per connection so @code{gnutls-negotiate} supports a priority string per connection so
it could be done if needed). The priority string syntax is in the it could be done if needed). For details see the
@uref{http://www.gnu.org/software/gnutls/documentation.html, GnuTLS @uref{https://www.gnu.org/software/gnutls/documentation.html, GnuTLS
documentation}. documentation} and the
@uref{https://gnutls.org/manual/html_node/Priority-Strings.html,
GnuTLS priority string syntax and description}.
@end defvar @end defvar
@defvar gnutls-trustfiles @defvar gnutls-trustfiles
The @code{gnutls-trustfiles} variable is a list of trustfiles The @code{gnutls-trustfiles} variable is a list of trustfiles
(certificates for the issuing authorities). This is global, not per (certificates for the issuing authorities). This is global, not per
host name (although @code{gnutls-negotiate} supports a trustfile per host name (although @code{gnutls-negotiate} supports a trustfile per
connection so it could be done if needed). The trustfiles can be in connection so it could be done if needed). The trustfiles can be in
PEM or DER format and examples can be found in most Unix PEM or DER format and examples can be found in most Unix
distributions. By default the following locations are tried in this distributions. By default the following locations are tried in this
order: @file{/etc/ssl/certs/ca-certificates.crt} for Debian, Ubuntu, order: @file{/etc/ssl/certs/ca-certificates.crt} for Debian, Ubuntu,
skipping to change at line 176 skipping to change at line 182
should see that it's enabled in the @code{configure} output. If not, should see that it's enabled in the @code{configure} output. If not,
follow the standard procedure for finding out why a system library is follow the standard procedure for finding out why a system library is
not picked up by the Emacs compilation. On the W32 (Windows) not picked up by the Emacs compilation. On the W32 (Windows)
platform, installing the DLLs with a recent build should be enough. platform, installing the DLLs with a recent build should be enough.
Just use @code{open-protocol-stream} or @code{open-network-stream} Just use @code{open-protocol-stream} or @code{open-network-stream}
(the two are equivalent, the first one being an alias to the second). (the two are equivalent, the first one being an alias to the second).
You should not have to use the @file{gnutls.el} functions directly. You should not have to use the @file{gnutls.el} functions directly.
But you can test them with @code{open-gnutls-stream}. But you can test them with @code{open-gnutls-stream}.
@defun open-gnutls-stream name buffer host service @defun open-gnutls-stream name buffer host service &optional nowait
This function creates a buffer connected to a specific @var{host} and This function creates a buffer connected to a specific @var{host} and
@var{service} (port number or service name). The parameters and their @var{service} (port number or service name). The parameters and their
syntax are the same as those given to @code{open-network-stream} syntax are the same as those given to @code{open-network-stream}
(@pxref{Network,, Network Connections, elisp, The Emacs Lisp Reference (@pxref{Network,, Network Connections, elisp, The Emacs Lisp Reference
Manual}). The connection process is called @var{name} (made unique if Manual}). The connection process is called @var{name} (made unique if
necessary). This function returns the connection process. necessary). This function returns the connection process.
The @var{nowait} parameter means that the socket should be
asynchronous, and the connection process will be returned to the
caller before TLS negotiation has happened.
@lisp @lisp
;; open a HTTPS connection ;; open a HTTPS connection
(open-gnutls-stream "tls" "tls-buffer" "yourserver.com" "https") (open-gnutls-stream "tls" "tls-buffer" "yourserver.com" "https")
;; open a IMAPS connection ;; open a IMAPS connection
(open-gnutls-stream "tls" "tls-buffer" "imap.gmail.com" "imaps") (open-gnutls-stream "tls" "tls-buffer" "imap.gmail.com" "imaps")
@end lisp @end lisp
@end defun @end defun
@findex gnutls-asynchronous-parameters
If called with @var{nowait}, the process is returned immediately
(before connecting to the server). In that case, the process object
is told what parameters to use when negotiating the connection
by using the @code{gnutls-asynchronous-parameters} function.
The function @code{gnutls-negotiate} is not generally useful and it The function @code{gnutls-negotiate} is not generally useful and it
may change as needed, so please see @file{gnutls.el} for the details. may change as needed, so please see @file{gnutls.el} for the details.
@defun gnutls-negotiate spec @defun gnutls-negotiate spec
Please see @file{gnutls.el} for the @var{spec} details and for usage, Please see @file{gnutls.el} for the @var{spec} details and for usage,
but do not rely on this function's interface if possible. but do not rely on this function's interface if possible.
@end defun @end defun
@node GNU Free Documentation License @node GNU Free Documentation License
@appendix GNU Free Documentation License @appendix GNU Free Documentation License
 End of changes. 6 change blocks. 
6 lines changed or deleted 22 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)