emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

file error bug in smtpmail / starttls (smtpmail maintainer indicates it'


From: John Owens
Subject: file error bug in smtpmail / starttls (smtpmail maintainer indicates it's an emacs bug)
Date: Thu, 20 Nov 2003 08:54:18 -0800

I am trying to get smtpmail with queueing working with starttls. This
is on OS X 10.3.1 with the latest (yesterday) CVS version of emacs. I
have had an email discussion with the smtpmail maintainer Simon
Josefsson and he has indicated it's an emacs internal error (listed at
the very end of the message), and suggested I send it to the emacs dev
list. I am including as much information below as I can including an
edebug run. Please let me know if there's anything more I can provide.

The server is saying STARTTLS but it doesn't seem to be doing anything
on my client. I have credentials (no certs) set for starttls but
nothing for auth (since I want starttls).

Any suggestions anyone may have would be appreciated.

JDO

==========

220 strat.ece.ucdavis.edu ESMTP Sendmail 8.12.8/8.12.8; Fri, 31 Oct
2003 18:19:46 -0800
EHLO fanta.ece.ucdavis.edu
250-strat.ece.ucdavis.edu Hello fanta.ece.ucdavis.edu [169.237.74.29],
pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH LOGIN PLAIN
250-STARTTLS
250-DELIVERBY
250 HELP
VERB
250 2.0.0 Verbose mode
MAIL FROM:<jowens <at> ece.ucdavis.edu> SIZE=323
250 2.1.0 <jowens <at> ece.ucdavis.edu>... Sender ok
RCPT TO:<jowens <at> graphics.stanford.edu>
550 5.7.1 <jowens <at> graphics.stanford.edu>... Relaying denied.
Proper
authentication required.
QUIT
221 2.0.0 strat.ece.ucdavis.edu closing connection

==========

(setq user-full-name "John Owens"
      user-mail-address "jowens <at> ece.ucdavis.edu"
      smtpmail-default-smtp-server "strat.ece.ucdavis.edu"
      smtpmail-smtp-server "strat.ece.ucdavis.edu"
      smtpmail-smtp-service 587
      smtpmail-starttls-credentials
      '(("strat.ece.ucdavis.edu" 587 nil nil)) ;; have also tried with
                                               ;; "" "" instead of nil nil
      starttls-program "/usr/local/bin/starttls"
      mail-host-address "ece.ucdavis.edu"
      smtpmail-local-domain nil
      smtpmail-sendto-domain nil
      smtpmail-smtp-service "smtp"
      smtpmail-code-conv-from nil
      smtpmail-queue-mail t
      send-mail-function 'smtpmail-send-it
      message-send-mail-function 'smtpmail-send-it
      smtpmail-debug-info t ; only to debug problems
      smtpmail-debug-verb t ; only to debug problems
      vm-frame-per-composition     nil
      )

==========

[fanta:~] jowens% which starttls
/usr/local/bin/starttls
[fanta:~] jowens% starttls
starttls (starttls) 0.9
Copyright (C) 1999 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

Usage: starttls [options] host port

Options:

 --cert-file [file]      specify certificate file
 --key-file [file]       specify private key file
 --verify [level]        set verification level
[fanta:~] jowens% find /usr/local -name starttls\* -print
/usr/local/bin/starttls
/usr/local/share/emacs/21.3.50/lisp/gnus/starttls.el
/usr/local/share/emacs/21.3.50/lisp/gnus/starttls.elc
/usr/local/share/emacs/site-lisp/starttls.el
/usr/local/share/emacs/site-lisp/starttls.elc



(I'm marking all the places edebug stops with a [#] and the values 
emitted there below the elisp function.)

(defun smtpmail-open-stream (process-buffer host port)
  (let ((cred (smtpmail-find-credentials
               smtpmail-starttls-credentials [1] host [2] port [3])[4]))
    (if (null (and cred [5] (condition-case ()
                            (progn
                              (require 'starttls)
                              (call-process
                               starttls-program))
                          (error nil)))[6])[7]
        ;; The normal case.
        (open-network-stream "SMTP" process-buffer [8] host [9] port [10])
      (let* ((cred-key (smtpmail-cred-key cred))
             (cred-cert (smtpmail-cred-cert cred))
             (starttls-extra-args
              (when (and (stringp cred-key) (stringp
                                             cred-cert)
                         (file-regular-p
                          (setq cred-key
                                (expand-file-name cred-key)))
                         (file-regular-p
                          (setq cred-cert
                                (expand-file-name cred-cert))))
                (list "--key-file" cred-key "--cert-file"
                      cred-cert))))
        (starttls-open-stream "SMTP" process-buffer host port)))))

[1]: (("strat.ece.ucdavis.edu" 587 "" ""))
[2]: "strat.ece.ucdavis.edu"
[3]: "smtp"
[4]: nil
[5]: nil
[6]: nil
[7]: t
[8]: #<buffer *trace of SMTP session to strat.ece.ucdavis.edu*>
[9]: "strat.ece.ucdavis.edu"
[10]: "smtp"

Then the following:

File error: "make client process failed", "connection refused", :name,
"SMTP", :buffer, #<buffer *trace of SMTP session to
strat.ece.ucdavis.edu*>, :host,
"strat.ece.ucdavis.edu", :service, "smtp"




reply via email to

[Prev in Thread] Current Thread [Next in Thread]