Uploaded image for project: 'James Server'
  1. James Server
  2. JAMES-72

SMTP Handler DATA buffering issue

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Resolution: Fixed
    • 2.1
    • 2.2.0
    • SMTPServer
    • None
    • Operating System: Other
      Platform: Other
    • 15579

    Description

      When I'm working on James, what I usually do is put the following into the buffer...

      -------------------
      HELO localhost
      MAIL FROM: <sergek@localhost>
      RCPT TO: <sergek@localhost>
      DATA
      Subject: Testing

      This is a test
      .
      QUIT
      -------------------

      Then whenever I want to run tests, I telnet to port 25, and paste what's in the
      buffer.

      Unfortunately the new SMTPHandler code doesn't like this, during the DATA
      command it skips what's in the input stream and waits to process that later
      until DATA is complete. This is somewhat hard to explain, but here's what you
      see when you do this...

      ---------------------
      220 STACCATO SMTP Server (JAMES SMTP Server 2.1) ready Fri, 20 Dec 2002 11:49:22
      -0500 (EST)
      HELO localhost
      MAIL FROM: <sergek@localhost>
      RCPT TO: <sergek@localhost>
      DATA
      Subject: Testing

      This is a test
      .
      QUIT
      250 STACCATO Hello localhost (127.0.0.1 [127.0.0.1])
      250 Sender <sergek@localhost> OK
      250 Recipient <sergek@localhost> OK
      354 Ok Send data ending with <CRLF>.<CRLF>
      ---------------------
      It then hangs waiting for you to type the data for the message. So you type
      something again, and finish with "CRLF.CRLF". Once you do, you then get...
      ---------------------
      .
      250 Message received
      500 STACCATO Syntax error, command unrecognized: SUBJECT:
      500 STACCATO Syntax error, command unrecognized:
      500 STACCATO Syntax error, command unrecognized: THIS
      500 STACCATO Syntax error, command unrecognized: .
      221 STACCATO Service closing transmission channel
      ----------------------

      So basically what it looks like is you're creating that separate stream (or
      however it's handling the DATA command), and it's not reading the buffer of the
      underlying input stream and pushing that data into the forked input stream.

      Attachments

        1. ASF.LICENSE.NOT.GRANTED--bugzilla_15579.tgz
          0.5 kB
          Juha Torkkel
        2. ASF.LICENSE.NOT.GRANTED--smtp diff.txt
          2 kB
          Serge Knystautas

        Issue Links

          Activity

            People

              Unassigned Unassigned
              serge Serge Knystautas
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: