+2004-10-12 Simon Josefsson <jas@extundo.com>
+
+ * net/tls.el (tls-certtool-program): New variable.
+ (tls-certificate-information): New function, based on
+ ssl-certificate-information.
+
2004-10-12 Katsumi Yamaoka <yamaoka@jpl.org>
* compface.el: Move the version of ELisp-based uncompface program
;;; tls.el --- TLS/SSL support via wrapper around GnuTLS
-;; Copyright (C) 2003 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2003, 2004 Free Software Foundation, Inc.
;; Author: Simon Josefsson <simon@josefsson.org>
;; Keywords: comm, tls, gnutls, ssl
:type 'regexp
:group 'tls)
+(defcustom tls-certtool-program (executable-find "certtool")
+ "Name of GnuTLS certtool.
+Used by `tls-certificate-information'."
+ :type '(repeat string)
+ :group 'tls)
+
+(defun tls-certificate-information (der)
+ "Parse X.509 certificate in DER format into an assoc list."
+ (let ((certificate (concat "-----BEGIN CERTIFICATE-----\n"
+ (base64-encode-string der)
+ "\n-----END CERTIFICATE-----\n"))
+ (exit-code 0))
+ (with-current-buffer (get-buffer-create " *certtool*")
+ (erase-buffer)
+ (insert certificate)
+ (setq exit-code (condition-case ()
+ (call-process-region (point-min) (point-max)
+ tls-certtool-program
+ t (list (current-buffer) nil) t
+ "--certificate-info")
+ (error -1)))
+ (if (/= exit-code 0)
+ nil
+ (let ((vals nil))
+ (goto-char (point-min))
+ (while (re-search-forward "^\\([^:]+\\): \\(.*\\)" nil t)
+ (push (cons (match-string 1) (match-string 2)) vals))
+ (nreverse vals))))))
+
(defun open-tls-stream (name buffer host service)
"Open a TLS connection for a service to a host.
Returns a subprocess-object to represent the connection.
+2004-10-10 Juri Linkov <juri@jurta.org>
+
+ * gnus.texi (Top, Marking Articles): Join two menus in one node
+ because a node can have only one menu.
+
+2004-10-09 Juri Linkov <juri@jurta.org>
+
+ * gnus.texi (Fancy Mail Splitting): Remove backslash in the
+ example of nnmail-split-fancy.
+
2004-10-12 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-faq.texi ([5.9]): Improve code for reply-in-news.
* Unread Articles:: Marks for unread articles.
* Read Articles:: Marks for read articles.
* Other Marks:: Marks that do not affect readedness.
-
-Marking Articles
-
-* Setting Marks:: How to set and remove marks.
-* Generic Marking Commands:: How to customize the marking.
-* Setting Process Marks:: How to mark articles for later processing.
+* Setting Marks:: How to set and remove marks.
+* Generic Marking Commands:: How to customize the marking.
+* Setting Process Marks:: How to mark articles for later processing.
Threading
In addition, you also have marks that do not affect readedness.
-@menu
-* Unread Articles:: Marks for unread articles.
-* Read Articles:: Marks for read articles.
-* Other Marks:: Marks that do not affect readedness.
-@end menu
-
@ifinfo
-There's a plethora of commands for manipulating these marks:
+There's a plethora of commands for manipulating these marks.
@end ifinfo
@menu
-* Setting Marks:: How to set and remove marks.
-* Generic Marking Commands:: How to customize the marking.
-* Setting Process Marks:: How to mark articles for later processing.
+* Unread Articles:: Marks for unread articles.
+* Read Articles:: Marks for read articles.
+* Other Marks:: Marks that do not affect readedness.
+* Setting Marks:: How to set and remove marks.
+* Generic Marking Commands:: How to customize the marking.
+* Setting Process Marks:: How to mark articles for later processing.
@end menu
;; @r{the bugs- list, but allow cross-posting when the}
;; @r{message was really cross-posted.}
(any "bugs-mypackage@@somewhere" "mypkg.bugs")
- (any "mypackage@@somewhere\" - "bugs-mypackage" "mypkg.list")
+ (any "mypackage@@somewhere" - "bugs-mypackage" "mypkg.list")
;; @r{People@dots{}}
(any "larsi@@ifi\\.uio\\.no" "people.Lars_Magne_Ingebrigtsen"))
;; @r{Unmatched mail goes to the catch all group.}