~ chicken-core (chicken-5) 72ce83d159afc15d9ffe30bf8707a7151a0f5640


commit 72ce83d159afc15d9ffe30bf8707a7151a0f5640
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Thu Dec 2 08:32:12 2010 -0500
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Thu Dec 2 08:32:12 2010 -0500

    removed broken mail-sending stuff from chicken-bug

diff --git a/chicken-bug.scm b/chicken-bug.scm
index dc25d4a7..60fb0cc0 100644
--- a/chicken-bug.scm
+++ b/chicken-bug.scm
@@ -29,14 +29,6 @@
 
 (define-constant +bug-report-file+ "chicken-bug-report.~a-~a-~a")
 
-(define-constant +fallbackdestinations+ 
-  "chicken-janitors@nongnu.org\nchicken-hackers@nongnu.org\nchicken-users@nongnu.org")
-
-(define-constant +destination+ "chicken-janitors@nongnu.org")
-(define-constant +mxservers+ '() ; XXX temporarily disabled 
-  #;(list "mx10.gnu.org" "mx20.gnu.org"))
-(define-constant +send-tries+ 3)
-
 (define-foreign-variable +cc+ c-string "C_TARGET_CC")
 (define-foreign-variable +cxx+ c-string "C_TARGET_CXX")
 (define-foreign-variable +c-include-path+ c-string "C_INSTALL_INCLUDE_HOME")
@@ -150,122 +142,16 @@ EOF
 	  (begin
 	    (print msg)
 	    (collect-info))
-	  (try-mail
-	   +mxservers+
+	  (generate-report 
 	   (sprintf +bug-report-file+ (+ 1900 yr) (justify mon) (justify day))
-	   (mail-headers)
 	   (with-output-to-string
 	     (lambda ()
 	       (print msg)
 	       (collect-info))))))))
-      ;(let* ((file (sprintf +bug-report-file+ (+ 1900 yr) (justify mon) (justify day)))
-	;     (port (if stdout (current-output-port) (open-output-file file))))
-	;(with-output-to-port port
-	;  (lambda ()
-	;    (print msg)
-	;    (collect-info) ) )
-	;(unless stdout
-	;  (close-output-port port)
-	;  (print "\nA bug report has been written to `" file "'. Please send it to")
-	;  (print "one of the following addresses:\n\n" +destinations+) ) ) ) ) )
-
-(define (try-mail servs fname hdrs msg)
-    (if (null? servs)
-        (begin
-            (with-output-to-file fname
-                (lambda () (print msg)))
-            ;XXX temporarily disabled:
-	    ;(print "\nCould not send mail automatically!\n")
-	    (print "\nA bug report has been written to `" fname "'.  Please send it to")
-            (print "one of the following addresses:\n\n" +fallbackdestinations+))
-        (or (send-mail (car servs) msg hdrs fname)
-            (try-mail (cdr servs) fname hdrs msg))))
-
-(define (mail-date-str tm)
-    (string-append
-        (case (vector-ref tm 6)
-            ((0) "Sun, ")
-            ((1) "Mon, ")
-            ((2) "Tue, ")
-            ((3) "Wed, ")
-            ((4) "Thu, ")
-            ((5) "Fri, ")
-            ((6) "Sat, "))
-        (string-pad (number->string (vector-ref tm 3)) 2 #\0)
-        (case (vector-ref tm 4)
-            ((0)  " Jan ")
-            ((1)  " Feb ")
-            ((2)  " Mar ")
-            ((3)  " Apr ")
-            ((4)  " May ")
-            ((5)  " Jun ")
-            ((6)  " Jul ")
-            ((7)  " Aug ")
-            ((8)  " Sep ")
-            ((9)  " Oct ")
-            ((10) " Nov ")
-            ((11) " Dec "))
-        (number->string (+ 1900 (vector-ref tm 5)))
-        " "
-        (string-pad (number->string (vector-ref tm 2)) 2 #\0)
-        ":"
-        (string-pad (number->string (vector-ref tm 1)) 2 #\0)
-        ":"
-        (string-pad (number->string (vector-ref tm 0)) 2 #\0)
-        " +0000"))
-
-(define (mail-headers)
-    (string-append
-        "Date: " (mail-date-str (seconds->utc-time (current-seconds))) "\r\n"
-        "From: \"chicken-bug user\" <chicken-bug-command@callcc.org>\r\n"
-        "To: \"Chicken Janitors\" <chicken-janitors@nongnu.org>\r\n"
-        "Subject: Automated chicken-bug output -- "))
-
-(define (mail-read i o)
-    (let ((v   (condition-case (read-line i)
-                   (var () (close-input-port i) (close-output-port o) #f))))
-        (if v
-            (if (char-numeric? (string-ref v 0))
-                (string->number (substring v 0 3))
-                (mail-read i o))
-            #f)))
-
-(define (mail-write i o m)
-    (let ((v   (condition-case (display m o)
-                   (var () (close-input-port i) (close-output-port o) #f))))
-        (if v
-            (mail-read i o)
-            #f)))
-
-(define (mail-check i o v e k)
-    (if (and v (= v e))
-        #t
-        (begin
-            (close-input-port i)
-            (close-output-port o)
-            (k #f))))
 
-(define (send-mail serv msg hdrs fname)
-  (call/cc 
-   (lambda (return)
-     (do ((try 1 (add1 try)))
-	 ((> try +send-tries+))
-       (print* "connecting to " serv ", try #" try " ...")
-       (receive (i o)
-	   (tcp-connect serv 25)
-	 (call-with-current-continuation
-	  (lambda (k)
-	    (mail-check i o (mail-read i o) 220 k)
-	    (mail-check i o (mail-write i o "HELO callcc.org\r\n") 250 k)
-	    (mail-check i o (mail-write i o "MAIL FROM:<chicken-bug-command@callcc.org>\r\n") 250 k)
-	    (mail-check i o (mail-write i o "RCPT TO:<chicken-janitors@nongnu.org>\r\n") 250 k)
-	    (mail-check i o (mail-write i o "DATA\r\n") 354 k)
-	    (mail-check i o (mail-write i o (string-append hdrs fname "\r\n\r\n" msg "\r\n.\r\n")) 250 k)
-	    (display "QUIT" o)
-	    (close-input-port i)
-	    (close-output-port o)
-	    (print "ok.\n\nBug report successfully mailed to the Chicken maintainers.\nThank you very much!\n\n")
-	    (return #t))))
-       (print " failed.")))))
+(define (generate-report fname msg)
+  (with-output-to-file fname
+    (lambda () (print msg)))
+  (print "\nA bug report has been written to `" fname "'."))
 
 (main (command-line-arguments))
Trap