annotate lisp/net/tls.el @ 66573:e65b759c6906

Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-630 Merge from gnus--rel--5.10 Patches applied: * gnus--rel--5.10 (patch 149-151) - Merge from emacs--cvs-trunk--0 - Update from CVS 2005-10-27 Reiner Steib <Reiner.Steib@gmx.de> * lisp/gnus/flow-fill.el (fill-flowed-encode-tests): Restore trailing whitespace removed in revision 7.8. Use concatenated string to protect trailing whitespace. 2005-10-27 Jouni K Seppanen <jks@iki.fi> (tiny change) * lisp/gnus/nnimap.el (nnimap-search-uids-not-since-is-evil): Add variable. (nnimap-request-expire-articles): Use it to avoid sending 'UID SEARCH UID ... NOT SINCE' queries, for inefficient servers like Courier IMAP ("some version from 2004"). Mostly based on similar code in the same function. 2005-10-26 Katsumi Yamaoka <yamaoka@jpl.org> * lisp/gnus/message.el (message-display-completion-list): New function. (message-expand-group): Use it; make sure the Completions buffer is modifiable.
author Miles Bader <miles@gnu.org>
date Mon, 31 Oct 2005 07:07:28 +0000
parents 34bd8e434dd7
children 1c477099d3ac edf295560b5a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
50313
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
1 ;;; tls.el --- TLS/SSL support via wrapper around GnuTLS
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
2
64701
34bd8e434dd7 Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64085
diff changeset
3 ;; Copyright (C) 1996, 1997, 1998, 1999, 2002, 2003, 2004,
34bd8e434dd7 Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64085
diff changeset
4 ;; 2005 Free Software Foundation, Inc.
50313
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
5
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
6 ;; Author: Simon Josefsson <simon@josefsson.org>
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
7 ;; Keywords: comm, tls, gnutls, ssl
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
8
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
9 ;; This file is part of GNU Emacs.
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
10
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
11 ;; GNU Emacs is free software; you can redistribute it and/or modify
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
12 ;; it under the terms of the GNU General Public License as published by
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
13 ;; the Free Software Foundation; either version 2, or (at your option)
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
14 ;; any later version.
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
15
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
16 ;; GNU Emacs is distributed in the hope that it will be useful,
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
19 ;; GNU General Public License for more details.
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
20
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
21 ;; You should have received a copy of the GNU General Public License
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
22 ;; along with GNU Emacs; see the file COPYING. If not, write to the
64085
18a818a2ee7c Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 62437
diff changeset
23 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18a818a2ee7c Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 62437
diff changeset
24 ;; Boston, MA 02110-1301, USA.
50313
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
25
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
26 ;;; Commentary:
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
27
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
28 ;; This package implements a simple wrapper around "gnutls-cli" to
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
29 ;; make Emacs support TLS/SSL.
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
30 ;;
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
31 ;; Usage is the same as `open-network-stream', i.e.:
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
32 ;;
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
33 ;; (setq tmp (open-tls-stream "test" (current-buffer) "news.mozilla.org" 563))
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
34 ;; ...
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
35 ;; #<process test>
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
36 ;; (process-send-string tmp "mode reader\n")
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
37 ;; 200 secnews.netscape.com Netscape-Collabra/3.52 03615 NNRP ready ...
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
38 ;; nil
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
39 ;; (process-send-string tmp "quit\n")
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
40 ;; 205
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
41 ;; nil
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
42
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
43 ;; To use this package as a replacement for ssl.el by William M. Perry
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
44 ;; <wmperry@cs.indiana.edu>, you need to evaluate the following:
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
45 ;;
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
46 ;; (defalias 'open-ssl-stream 'open-tls-stream)
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
47
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
48 ;;; Code:
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
49
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
50 (eval-and-compile
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
51 (autoload 'format-spec "format-spec")
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
52 (autoload 'format-spec-make "format-spec"))
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
53
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
54 (defgroup tls nil
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
55 "Transport Layer Security (TLS) parameters."
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
56 :group 'comm)
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
57
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
58 (defcustom tls-program '("gnutls-cli -p %p %h"
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
59 "gnutls-cli -p %p %h --protocols ssl3")
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
60 "List of strings containing commands to start TLS stream to a host.
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
61 Each entry in the list is tried until a connection is successful.
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
62 %s is replaced with server hostname, %p with port to connect to.
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
63 The program should read input on stdin and write output to
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
64 stdout. Also see `tls-success' for what the program should output
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
65 after successful negotiation."
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
66 :type '(repeat string)
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
67 :group 'tls)
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
68
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
69 (defcustom tls-process-connection-type nil
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents: 52401
diff changeset
70 "*Value for `process-connection-type' to use when starting TLS process."
59996
aac0a33f5772 Change release version from 21.4 to 22.1 throughout.
Kim F. Storm <storm@cua.dk>
parents: 57856
diff changeset
71 :version "22.1"
50313
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
72 :type 'boolean
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
73 :group 'tls)
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
74
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
75 (defcustom tls-success "- Handshake was completed"
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
76 "*Regular expression indicating completed TLS handshakes.
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
77 The default is what GNUTLS's \"gnutls-cli\" outputs."
59996
aac0a33f5772 Change release version from 21.4 to 22.1 throughout.
Kim F. Storm <storm@cua.dk>
parents: 57856
diff changeset
78 :version "22.1"
50313
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
79 :type 'regexp
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
80 :group 'tls)
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
81
57448
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
82 (defcustom tls-certtool-program (executable-find "certtool")
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
83 "Name of GnuTLS certtool.
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
84 Used by `tls-certificate-information'."
59996
aac0a33f5772 Change release version from 21.4 to 22.1 throughout.
Kim F. Storm <storm@cua.dk>
parents: 57856
diff changeset
85 :version "22.1"
57448
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
86 :type '(repeat string)
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
87 :group 'tls)
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
88
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
89 (defun tls-certificate-information (der)
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
90 "Parse X.509 certificate in DER format into an assoc list."
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
91 (let ((certificate (concat "-----BEGIN CERTIFICATE-----\n"
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
92 (base64-encode-string der)
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
93 "\n-----END CERTIFICATE-----\n"))
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
94 (exit-code 0))
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
95 (with-current-buffer (get-buffer-create " *certtool*")
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
96 (erase-buffer)
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
97 (insert certificate)
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
98 (setq exit-code (condition-case ()
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
99 (call-process-region (point-min) (point-max)
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
100 tls-certtool-program
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
101 t (list (current-buffer) nil) t
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
102 "--certificate-info")
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
103 (error -1)))
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
104 (if (/= exit-code 0)
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
105 nil
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
106 (let ((vals nil))
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
107 (goto-char (point-min))
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
108 (while (re-search-forward "^\\([^:]+\\): \\(.*\\)" nil t)
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
109 (push (cons (match-string 1) (match-string 2)) vals))
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
110 (nreverse vals))))))
821d95294db5 (tls-certtool-program): New variable.
Simon Josefsson <jas@extundo.com>
parents: 56927
diff changeset
111
50313
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
112 (defun open-tls-stream (name buffer host service)
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
113 "Open a TLS connection for a service to a host.
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
114 Returns a subprocess-object to represent the connection.
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
115 Input and output work as for subprocesses; `delete-process' closes it.
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
116 Args are NAME BUFFER HOST SERVICE.
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
117 NAME is name for process. It is modified if necessary to make it unique.
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
118 BUFFER is the buffer (or buffer-name) to associate with the process.
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
119 Process output goes at end of that buffer, unless you specify
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
120 an output stream or filter function to handle the output.
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
121 BUFFER may be also nil, meaning that this process is not associated
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
122 with any buffer
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
123 Third arg is name of the host to connect to, or its IP address.
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
124 Fourth arg SERVICE is name of the service desired, or an integer
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
125 specifying a port number to connect to."
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
126 (let ((cmds tls-program) cmd done)
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
127 (message "Opening TLS connection to `%s'..." host)
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
128 (while (and (not done) (setq cmd (pop cmds)))
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
129 (message "Opening TLS connection with `%s'..." cmd)
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
130 (let* ((process-connection-type tls-process-connection-type)
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
131 (process (start-process
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
132 name buffer shell-file-name shell-command-switch
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
133 (format-spec
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
134 cmd
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
135 (format-spec-make
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
136 ?h host
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
137 ?p (if (integerp service)
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
138 (int-to-string service)
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
139 service)))))
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
140 response)
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
141 (while (and process
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
142 (memq (process-status process) '(open run))
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
143 (save-excursion
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
144 (set-buffer buffer) ;; XXX "blue moon" nntp.el bug
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
145 (goto-char (point-min))
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
146 (not (setq done (re-search-forward tls-success nil t)))))
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
147 (accept-process-output process 1)
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
148 (sit-for 1))
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
149 (message "Opening TLS connection with `%s'...%s" cmd
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
150 (if done "done" "failed"))
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
151 (if done
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
152 (setq done process)
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
153 (delete-process process))))
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
154 (message "Opening TLS connection to `%s'...%s"
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
155 host (if done "done" "failed"))
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
156 done))
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
157
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
158 (provide 'tls)
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
159
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 50313
diff changeset
160 ;;; arch-tag: 5596d1c4-facc-4bc4-94a9-9863b928d7ac
50313
59ddec11881f Initial revision
Simon Josefsson <jas@extundo.com>
parents:
diff changeset
161 ;;; tls.el ends here