Open Bug 1071122 Opened 8 years ago Updated 2 months ago

Quoted text with hard returns is reflowed

Categories

(Thunderbird :: Untriaged, defect)

31 Branch
x86_64
Linux
defect

Tracking

(Not tracked)

UNCONFIRMED

People

(Reporter: jimoe, Unassigned)

Details

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0
Build ID: 2014082900

Steps to reproduce:

Selected "technical" text for a reply.
Added reply text.
Sent the message.



Actual results:

The quoted text was reflowed when it was sent, producing an illegible or improperly quoted text block.



Expected results:

The text should not have been reflowed, or there should be a simple method for preventing the reflow.

Original quoted text:
> *|IF:PRODUCT=Product A|*
> mailchimp.com/download_product_a
> *|END:IF|*

After sending:
> 
> *|IF:PRODUCT=Product A|* mailchimp.com/download_product_a
> *|END:IF|*
>
I think this bug explains similar (possibly worse mangling).

I attempted to pass on information about shellshock, pasting the following text as a quotation:

Try this on a patched bash.

mkdir -p /tmp/shellshock
cd /tmp/shellshock
env -i  X='() { (a)=>\' bash -c 'echo curl -s https://bugzilla.redhat.com/'
ls -l 

What TB actually sent was this:


> Try this on a patched bash.
>
> mkdir -p /tmp/shellshock
> cd /tmp/shellshock
> env -i  X='() { (a)=>\' bash -c 'echo curl -shttps://bugzilla.redhat.com/'
> ls -l

The message appeared correctly formatted in the Compose window, i.e. it appeared as:

> Try this on a patched bash.
>
> mkdir -p /tmp/shellshock
> cd /tmp/shellshock
> env -i  X='() { (a)=>\' bash -c 'echo curl -s https://bugzilla.redhat.com/'
> ls -l

But that was critically different to what was *actually* sent.

To my mind, not being able to send text reliably is a critical bug: it means that you cannot rely on TB to send plain text correctly, you have to create an attachment if you want to transmit text (such as a snippet of source code) correctly.

Especially bad is that what is sent is not what is seen before you send it.  WYSINWYS.

I'm really struggling to make sense of what happens.  Here are 7 tests I performed, in TB 31.1.2, which should be repeatable.  There seem to be complex interactions between whether you are pasting into an area that is in preformat vs Body Text style, Paste or Paste Unformatted, and whether you change the style of the paragraph afterwards.

Note that in all these 7 tests, in the compose window the text looked correct (a space between the -s and the URL, but in tests 3, 4, and 6, the space was removed for some reason:

/1
Body Text, unquoted, looks fine:

Wow, TB messed that up! It's actually this:

mkdir -p /tmp/shellshock
cd /tmp/shellshock
env -i  X='() { (a)=>\' bash -c 'echo curl -s https://bugzilla.redhat.com/'
ls -l

/2
Body Text, quoted, looks fin:

> Wow, TB messed that up! It's actually this:
>
> mkdir -p /tmp/shellshock
> cd /tmp/shellshock
> env -i  X='() { (a)=>\' bash -c 'echo curl -s https://bugzilla.redhat.com/'
> ls -l 

/3
Preformat, unquoted, looks fine (but double-spaced):

Wow, TB messed that up! It's actually this:

mkdir -p /tmp/shellshock

cd /tmp/shellshock

env -i  X='() { (a)=>\' bash -c 'echo curl -shttps://bugzilla.redhat.com/'

ls -l


/4
Preformat, quoted, looks fine (but double-spaced):

> Wow, TB messed that up! It's actually this:
> mkdir -p /tmp/shellshock
> cd /tmp/shellshock
> env -i  X='() { (a)=>\' bash -c 'echo curl -shttps://bugzilla.redhat.com/'
> ls -l

/5
Body text, unquoted, trailing space removed, looks fine:

Wow, TB messed that up! It's actually this:

mkdir -p /tmp/shellshock
cd /tmp/shellshock
env -i  X='() { (a)=>\' bash -c 'echo curl -s https://bugzilla.redhat.com/'
ls -l

/6
Preformat, unquoted, trailing space removed, looks fine:

Wow, TB messed that up! It's actually this:

mkdir -p /tmp/shellshock

cd /tmp/shellshock

env -i  X='() { (a)=>\' bash -c 'echo curl -shttps://bugzilla.redhat.com/'

ls -l

/7
Preformat, unquoted, and pasted into an area that was set as preformat, rather than changing style after pasting (so: no trailing spaces), looks fine:

Wow, TB messed that up! It's actually this:

mkdir -p /tmp/shellshock
cd /tmp/shellshock
env -i  X='() { (a)=>\' bash -c 'echo curl -s https://bugzilla.redhat.com/'
ls -l

luke

I think this bug is actually a core issue with blockquote.

I see the same sort of incorrect text re flowing in blockquoted text on the Mozilla support site using Firefox and Chrome.

Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.