+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.
+
2004-10-12 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus.texi (X-Face): Revert 2004-02-17 change.
@example
-(defadvice gnus-summary-reply (around reply-in-news activate)
+(eval-after-load "gnus-msg"
+ '(unless (boundp 'gnus-confirm-mail-reply-to-news)
+ (defadvice gnus-summary-reply (around reply-in-news activate)
+ "Request confirmation when replying to news."
(interactive)
- (when (or (not (gnus-news-group-p gnus-newsgroup-name))
- (y-or-n-p "Really reply? "))
- ad-do-it))
+ (when (or (not (gnus-news-group-p gnus-newsgroup-name))
+ (y-or-n-p "Really reply by mail to article author? "))
+ ad-do-it))))
@end example
@ifnottex
* Unread Articles:: \e$BL$FI5-;v$X$N0u\e(B
* Read Articles:: \e$B4{FI5-;v$X$N0u\e(B
* Other Marks:: \e$B9XFIEY$K1F6A$7$J$$0u\e(B
-
-Marking Articles
-
* Setting Marks:: \e$B0u$NIU$1J}$H>C$7J}\e(B
* Generic Mark Commands:: \e$B0u$r$I$N$h$&$K%+%9%?%^%$%:$9$k$+\e(B
* Setting Process Marks:: \e$B8e$N<B9T$N$?$a$N5-;v$N0u$NIU$1J}\e(B
\e$B2C$($F!"9XFIEY$K1F6A$7$J$$0u$b$"$j$^$9!#\e(B
-@menu
-* Unread Articles:: \e$BL$FI5-;v$X$N0u\e(B
-* Read Articles:: \e$B4{FI5-;v$X$N0u\e(B
-* Other Marks:: \e$B9XFIEY$K1F6A$7$J$$0u\e(B
-@end menu
-
@ifinfo
\e$B$3$l$i$N0u$rA`:n$9$k2a>j$J$/$i$$$NL?Na$,$"$j$^$9\e(B:
@end ifinfo
@menu
+* Unread Articles:: \e$BL$FI5-;v$X$N0u\e(B
+* Read Articles:: \e$B4{FI5-;v$X$N0u\e(B
+* Other Marks:: \e$B9XFIEY$K1F6A$7$J$$0u\e(B
* Setting Marks:: \e$B0u$NIU$1J}$H>C$7J}\e(B
* Generic Mark Commands:: \e$B0u$r$I$N$h$&$K%+%9%?%^%$%:$9$k$+\e(B
* Setting Process Marks:: \e$B8e$N<B9T$N$?$a$N5-;v$N0u$NIU$1J}\e(B
;; @r{\e$B$&$K$7$F$$$^$9!#$7$+$7K\Ev$KAj8_Ej9F$5$l$?5-;v$rAj8_Ej9F\e(B}
;; @r{\e$B$9$k$3$H$O5v$7$F$$$^$9!#\e(B}
(any "bugs-mypackage@@somewhere" "mypkg.bugs")
- (any "mypackage@@somewhere\" - "bugs-mypackage" "mypkg.list")
+ (any "mypackage@@somewhere" - "bugs-mypackage" "mypkg.list")
;; @r{\e$B?M!9\e(B@dots{}}
(any "larsi@@ifi\\.uio\\.no" "people.Lars_Magne_Ingebrigtsen"))
;; @r{\e$B9gCW$7$J$+$C$?%a!<%k$OA4$F$rJa$^$($k%0%k!<%W$X9T$-$^$9!#\e(B}
* 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.}