[Webkit-unassigned] [Bug 13045] REGRESSION: Blackboard CourseWare Error with Nightlies after Mar 8

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Mar 12 15:15:01 PDT 2007


http://bugs.webkit.org/show_bug.cgi?id=13045





------- Comment #13 from ddkilzer at webkit.org  2007-03-12 15:15 PDT -------
(In reply to comment #12)
> Robert, does submitting a form fail every time you try it with r20107, or just
> sometimes?

It's probably going to fail every time.  Looking at a tcpdump of the form
submission provided by Robert via private email, the Content-Type header looks
like this:

Content-Type: multipart/form-data;
boundary=----WebKit-form-boundary-KQmgzhzOA3IPUXpI

The multipart/form-data looks fine as well (I abbreviated the actual data to
the first and last form items sent):

------WebKit-form-boundary-KQmgzhzOA3IPUXpI
Content-Disposition: form-data; name="action"

MODIFY
------WebKit-form-boundary-KQmgzhzOA3IPUXpI
Content-Disposition: form-data; name="restrict_end_date_am"

1
------WebKit-form-boundary-KQmgzhzOA3IPUXpI--

Within the body of the response, however, is a Java stack trace within an HTML
comment that starts like this:

java.io.IOException: Invalid data: no boundary string found.
        at
blackboard.platform.filesystem.FileSystemServiceImpl.processUpload(FileSystemServiceImpl.java:1104)
        at
blackboard.web.assignments.instructor.proc_005fedit_005fassignment_jsp._jspService(proc_005fedit_005fassignment_jsp.java:113)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
[...]

Unfortunately, it appears that Blackboard has rolled their own form processing
code (as opposed to using a robust open source library such as
commons-fileupload from the Jakarta project), which means that they will most
likely need to fix their implementation.  (If I had to guess, they probably
don't expect dash characters to appear after non-dash characters in the
boundary string.)

The only suggestion I have to try is to double-quote the boundary string in the
Content-Type header per RFC 2046, Section 5.1.1
(http://www.faqs.org/rfcs/rfc2046.html) in case Blackboard's implementation
handles that case:

   WARNING TO IMPLEMENTORS:  The grammar for parameters on the Content-
   type field is such that it is often necessary to enclose the boundary
   parameter values in quotes on the Content-type line.  This is not
   always necessary, but never hurts. Implementors should be sure to
   study the grammar carefully in order to avoid producing invalid
   Content-type fields.  Thus, a typical "multipart" Content-Type header
   field might look like this:

     Content-Type: multipart/mixed; boundary=gc0p4Jq0M2Yt08j34c0p

   But the following is not valid:

     Content-Type: multipart/mixed; boundary=gc0pJq0M:08jU534c0p

   (because of the colon) and must instead be represented as

     Content-Type: multipart/mixed; boundary="gc0pJq0M:08jU534c0p"


-- 
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list