annotate lisp/w3/url-pgp.el @ 80:1ce6082ce73f r20-0b90

Import from CVS: tag r20-0b90
author cvs
date Mon, 13 Aug 2007 09:06:37 +0200
parents 9ee227acff29
children 0293115a14e9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
1 ;;; url-pgp.el --- PGP encapsulation of HTTP
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
2 ;; Author: wmperry
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
3 ;; Created: 1996/10/09 19:00:59
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
4 ;; Version: 1.2
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
5 ;; Keywords: comm, data, processes
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
6
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
7 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
8 ;;; Copyright (c) 1993-1996 by William M. Perry (wmperry@cs.indiana.edu)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
9 ;;; Copyright (c) 1996 Free Software Foundation, Inc.
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
10 ;;;
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
11 ;;; This file is not part of GNU Emacs, but the same permissions apply.
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
12 ;;;
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
13 ;;; GNU Emacs is free software; you can redistribute it and/or modify
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
14 ;;; it under the terms of the GNU General Public License as published by
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
15 ;;; the Free Software Foundation; either version 2, or (at your option)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
16 ;;; any later version.
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
17 ;;;
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
18 ;;; GNU Emacs is distributed in the hope that it will be useful,
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
19 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
20 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
21 ;;; GNU General Public License for more details.
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
22 ;;;
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
23 ;;; You should have received a copy of the GNU General Public License
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
24 ;;; along with GNU Emacs; see the file COPYING. If not, write to the
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
25 ;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
26 ;;; Boston, MA 02111-1307, USA.
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
27 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
28
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
29 (require 'url-vars)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
30 (require 'url-parse)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
31
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
32 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
33 ;;; UUencoding
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
34 ;;; ----------
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
35 ;;; These functions are needed for the (RI)PEM encoding. PGP can
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
36 ;;; handle binary data, but (RI)PEM requires that it be uuencoded
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
37 ;;; first, or it will barf severely. How rude.
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
38 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
39 (defun url-uuencode-buffer (&optional buff)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
40 "UUencode buffer BUFF, with a default of the current buffer."
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
41 (setq buff (or buff (current-buffer)))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
42 (save-excursion
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
43 (set-buffer buff)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
44 (url-lazy-message "UUencoding...")
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
45 (call-process-region (point-min) (point-max)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
46 url-uuencode-program t t nil "url-temp-file")
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
47 (url-lazy-message "UUencoding... done.")))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
48
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
49 (defun url-uudecode-buffer (&optional buff)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
50 "UUdecode buffer BUFF, with a default of the current buffer."
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
51 (setq buff (or buff (current-buffer)))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
52 (let ((newname (url-generate-unique-filename)))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
53 (save-excursion
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
54 (set-buffer buff)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
55 (goto-char (point-min))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
56 (re-search-forward "^begin [0-9][0-9][0-9] \\(.*\\)$" nil t)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
57 (replace-match (concat "begin 600 " newname))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
58 (url-lazy-message "UUdecoding...")
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
59 (call-process-region (point-min) (point-max) url-uudecode-program)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
60 (url-lazy-message "UUdecoding...")
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
61 (erase-buffer)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
62 (insert-file-contents-literally newname)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
63 (url-lazy-message "UUdecoding... done.")
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
64 (condition-case ()
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
65 (delete-file newname)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
66 (error nil)))))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
67
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
68 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
69 ;;; Decoding PGP/PEM responses
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
70 ;;; --------------------------
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
71 ;;; A PGP/PEM encrypted/signed response contains all the real headers,
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
72 ;;; so this is just a quick decrypt-then-reparse hack.
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
73 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
74 (defun url-decode-pgp/pem (arg)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
75 "Decode a pgp/pem response from an HTTP/1.0 server.
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
76 This expects the decoded message to contain all the necessary HTTP/1.0 headers
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
77 to correctly act on the decoded message (new content-type, etc)."
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
78 (mc-decrypt-message)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
79 (url-parse-mime-headers))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
80
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
81 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
82 ;;; PGP/PEM Encryption
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
83 ;;; ------------------
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
84 ;;; This implements the highly secure PGP/PEM encrypted requests, as
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
85 ;;; specified by NCSA and CERN.
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
86 ;;;
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
87 ;;; The complete online spec of this scheme was done by Tony Sanders
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
88 ;;; <sanders@bsdi.com>, and can be seen at
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
89 ;;; http://www.bsdi.com/HTTP:TNG/ripem-http.txt
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
90 ;;;
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
91 ;;; This section of code makes use of the EXCELLENT mailcrypt.el
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
92 ;;; package by Jin S Choi (jsc@mit.edu)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
93 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
94
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
95 (defun url-public-key-exists (entity scheme)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
96 "Return t iff a key for ENTITY exists using public key system SCHEME.
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
97 ENTITY is the username/hostname combination we are checking for.
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
98 SCHEME is a symbol representing what public key encryption program to use.
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
99 Currently only 'pgp (Pretty Good Privacy) and 'pem (RIPEM) are
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
100 recognized."
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
101 (let (retval)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
102 (save-excursion
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
103 (cond
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
104 ((eq 'pgp scheme) ; PGP encryption
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
105 (set-buffer (get-buffer-create " *keytmp*"))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
106 (erase-buffer)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
107 (call-process mc-pgp-path nil t nil "+batchmode" "-kxaf" entity)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
108 (goto-char (point-min))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
109 (setq retval (search-forward mc-pgp-key-begin-line nil t)))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
110 ((eq 'pem scheme) ; PEM encryption
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
111 (set-buffer (find-file-noselect mc-ripem-pubkeyfile))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
112 (goto-char (point-min))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
113 (setq retval (search-forward entity nil t)))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
114 (t
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
115 (url-warn 'security
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
116 (format
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
117 "Bad value for SCHEME in url-public-key-exists %s"
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
118 scheme))))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
119 (kill-buffer (current-buffer)))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
120 retval))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
121
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
122 (defun url-get-server-keys (entity &optional scheme)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
123 "Make sure the key for ENTITY exists using SCHEME.
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
124 ENTITY is the username/hostname combination to get the info for.
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
125 This should be a string you could pass to 'finger'.
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
126 SCHEME is a symbol representing what public key encryption program to use.
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
127 Currently only 'pgp (Pretty Good Privacy) and 'pem (RIPEM) are
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
128 recognized."
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
129 (or scheme (setq scheme mc-default-scheme))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
130 (save-excursion
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
131 (cond
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
132 ((url-public-key-exists entity scheme) nil)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
133 (t
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
134 (string-match "\\([^@]+\\)@\\(.*\\)" entity)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
135 (let ((url-working-buffer " *url-get-keys*"))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
136 (url-retrieve (format "gopher://%s:79/0%s/w" (url-match entity 1)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
137 (url-match entity 2)))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
138 (mc-snarf-keys)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
139 (kill-buffer url-working-buffer))))))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
140
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
141 (defun url-fetch-with-pgp (url recipient type)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
142 "Retrieve a document with public-key authentication.
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
143 URL is the url to request from the server.
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
144 RECIPIENT is the server's entity name (usually webmaster@host)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
145 TYPE is a symbol representing what public key encryption program to use.
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
146 Currently only 'pgp (Pretty Good Privacy) and 'pem (RIPEM) are
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
147 recognized."
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
148 (or noninteractive (require 'mailcrypt))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
149 (let ((request (url-create-mime-request url "PGP-Redirect"))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
150 (url-request-data nil)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
151 (url-request-extra-headers nil))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
152 (save-excursion
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
153 (url-get-server-keys recipient type)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
154 (set-buffer (get-buffer-create " *url-encryption*"))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
155 (erase-buffer)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
156 (insert "\n\n" mail-header-separator "\n" request)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
157 (mc-encrypt-message recipient type)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
158 (goto-char (point-min))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
159 (if (re-search-forward (concat "\n" mail-header-separator "\n") nil t)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
160 (delete-region (point-min) (point)))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
161 (setq url-request-data (buffer-string)
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
162 url-request-extra-headers
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
163 (list (cons "Authorized" (format "%s entity=\"%s\""
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
164 (cond
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
165 ((eq type 'pgp) "PGP")
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
166 ((eq type 'pem) "PEM"))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
167 url-pgp/pem-entity))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
168 (cons "Content-type" (format "application/x-www-%s-reply"
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
169 (cond
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
170 ((eq type 'pgp) "pgp")
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
171 ((eq type 'pem) "pem")))))))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
172 (kill-buffer " *url-encryption*")
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
173 (url-retrieve (url-expand-file-name "/") t)))
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
174
9ee227acff29 Import from CVS: tag r19-15b90
cvs
parents:
diff changeset
175 (provide 'url-pgp)