Open
Bug 119964
(yEnc)
Opened 23 years ago
Updated 2 years ago
Support yEnc encoding (including multipart)
Categories
(MailNews Core :: MIME, enhancement)
MailNews Core
MIME
Tracking
(Not tracked)
NEW
People
(Reporter: John.planb, Unassigned)
References
(Blocks 2 open bugs, )
Details
Attachments
(6 files, 1 obsolete file)
48.05 KB,
text/plain
|
Details | |
46.23 KB,
image/jpeg
|
Details | |
48.05 KB,
message/rfc822
|
Details | |
24.07 KB,
patch
|
KaiE
:
review-
|
Details | Diff | Splinter Review |
1.74 KB,
patch
|
Details | Diff | Splinter Review | |
3.12 KB,
patch
|
Bienvenu
:
review+
mscott
:
superreview+
|
Details | Diff | Splinter Review |
There's a new encoding format (similar in design to UU but without it's
30% overhead, and with built in error checkign) being batted around and
adopted by a few newsreaders. It's an 8 bit encoding (minus a few
escaped characters; CR, LF, Nul), and is thus allows faster
up/downloading and is less of a hit on the servers (allowing them to carry
more articles).
Reporter | ||
Updated•23 years ago
|
Severity: normal → enhancement
Comment 1•23 years ago
|
||
Has word of this reached USEFOR yet?
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment 2•23 years ago
|
||
Can somebody attach a sample message using this encoding. Also, would be nice to
have the corresponding RFC. Thanks
Status: NEW → ASSIGNED
Target Milestone: --- → Future
Reporter | ||
Comment 3•23 years ago
|
||
Reporter | ||
Comment 4•23 years ago
|
||
Reporter | ||
Comment 5•23 years ago
|
||
It was brought to USEFOR's attention, and the consensus there was that
encoding methods weren't to be described by USEFOR.
There is no RFC, just the website and the programs using it (although it
was discussed in news.software.nntp).
Reporter | ||
Comment 6•23 years ago
|
||
I don't think the previous attempted worked (I tried to use plain-text and it
looks like the text was "normalized").
Reporter | ||
Comment 7•23 years ago
|
||
Doesn't look like the latest attempt to upload the attachment worked either
(or at least I can't see how to download it without it having been changed).
Thoth and Xnews can post yEncoded binaries, so if anyone wants test
articles posted to a specific group just ask (or has some idea as to how I
could upload a non-image binary file that doesn't get trashed by bugzilla)
just email me.
Comment 8•23 years ago
|
||
*** Bug 128837 has been marked as a duplicate of this bug. ***
Comment 9•23 years ago
|
||
Please support this: some porn is in yEnc form. :-)
Comment 10•23 years ago
|
||
yEnc multipart postings should also be supported
http://bugzilla.mozilla.org/show_bug.cgi?id=60981
Comment 11•23 years ago
|
||
http://groups.google.com/groups?q=yEnc&hl=en For some juicy discussion on yEnc
Comment 12•23 years ago
|
||
More food for thought:
http://www.exit109.com/~jeremy/news/yenc.html
Comment 13•23 years ago
|
||
I suggest this be WONTFIXED. We shouldn't be encouraging people who devise crap
protocols like this without bothering to correct important deficiencies in them,
or to take the 6 months or so to work with the IETF and make them actually
interoperable. (Yes, I'm biased. OTOH, the author of the document referenced
in Comment #12 certainly knows more about handling binaries on Usenet than any
of us, and probably more than the author of yEnc :-) Bottom line: encouraging
the fast-and-sloppy approach to protocols sticks in my craw.)
Comment 14•23 years ago
|
||
If you aren't planning on implementing this, throw it over to me. yEnc looks
like a pretty simple standard. As far as how to implement encoding schemes in
MailNews, I can probably figure it out. Any info would be helpful.
Comment 15•23 years ago
|
||
Chris: yEnc is still on sub version 2. I imagine it can be improved in future
versions. I'm glad someone had the guts to do this, although I haven't liked not
being able to see binaries anymore on Outlook Express. If mozilla supports this
and also bug 60981, I imagine we can pull the rug out from under Outlook Express
if they are slow in implementing it.
Comment 16•23 years ago
|
||
/. article on yEnc. http://slashdot.org/article.pl?sid=02/03/23/2154235
Jean, if you don't have time to implement this - I'll take it and either do it
myself or find someone to do it.
Comment 17•23 years ago
|
||
Remember this URL? http://www.exit109.com/~jeremy/news/yenc.html
"If you agree with me, what can you do to help? If you are the author of a
Usenet newsreader, you probably have to implement yEnc at least for decoding,
but you can leave out posting support to try to prevent this from spreading any
more. At the very least, if a MIME yEnc specification arrives but bypasses the
standards process, please, don't implement it. If you are a user, you can refuse
to post in yEnc."
I believe that he has a good idea here, as the proper place for the new 8-bit
encoding is MIME. I propose we only provide reading capabilities.
Comment 18•23 years ago
|
||
I may have underestimated the demand for the need to encode yEnc. It seems that
a lot of people are looking for this feature. Upon reflection, it appears to me
that not including it might be a bad idea. We can always rip it out once MIME is
made 8-bit.
Reporter | ||
Comment 19•23 years ago
|
||
Well, if you're interested in usage -- the server I use has various virtual
groups, based upon article content, the group with formfeeds has gone
from less than a thousand articles a day to more than 500 thousand
articles a day.
So, I'd say that currently the posting volume is about 500,000 articles a
day in yEnc format, and increasing as new clients are able to handle it.
Comment 20•23 years ago
|
||
Here is a quote from Juergen Helbring, creator of yEnc in reply to my email.
(He gave me permission):
The eMail I've received right before yours was from a Netscape user
(Mac) who wanted to post and receive yEncoded posts. I told him to
send a feature request to Netscape. More and more people will follow.
On the "classical" music group there is meanwhile 100% of the binaries
in yEncoded format (They were the first who started yEnc'ing in
January 2002 - 12 weeks ago).
For Windows there are enough tools available to post binaries in yEnc.
Other platforms are not so well supported. Implementing also a
yEncoder might help people there.
If you need a _good_ reason why to implement also "encoding" - and
sending:
There is no sign that any other binary format than yEnc will be
created in the next few years (and I believe even in the next decade).
Those who are complaining most have not a single hour of time to do
constructive work on their own proposals.
Even my biggets hope (Russ Albery - who said me he would write the doc
for "Content-Transfer-Encoding: yEnc" finally gave up and said that he
does not have the time do it - and he said that he does not have the
knowledge to do it).
Decide yourself what you are doing:
If you implement also sending (encoding) then the job is quickly - and
easily done. You'll have peace for the next few years.
If you dont do it now, then you will do it later.
All the "formal work" related to a change of the software will be
necessary again - and I am sure that also for you the "overhead" of
creating a new version is far more work than the 2-5 hours it will
take to expand the encoding/posting functions by yEnc.
If there would have been a _single_ step by the anti-yEnc'ies - a
single announcement, a single idea when anything else would be done,
then I'd say: Forget about yEnc. (I would have deleted yEnc instantly
and used something better).
But I see no chance for alternatives from their side.
So it is all up to you.
If you want a "tip" for the implementation:
I would recommend to implement the de/encoder in a way that it is a
module which could be also used if yEnc comes as a CTE: x-yEnc
It might contain =ybegin, =ypart, =yend lines.
btw.: I did spent some hours on the "RFC" process - and I am now
pretty sure that yEnc will never become an RFC. The actual version is
not sophisticated enough - and the "next version" must be far better.
So it would take years.
Good luck !
--
Juergen
Comment 21•23 years ago
|
||
Sorry, that's Helbing.
Comment 22•23 years ago
|
||
As for usage, over the last few months I've noticed a large increase in the
usage of Yenc.
Some people love it and some people hate it. It seems most of the people who
hate it can't view it with their software.
So adding support for Yenc into Mozilla would be a useful feature for all who
uses newsgroups.
Comment 23•23 years ago
|
||
People are using this a lot lately. Supporting it will make a lot of
people happy - its as easy as that. Supporting it doesnt mean that you
*have* to use it. Those whining about what a crap protocol this is should
first come up with a better solution *and* get it accepted at least as
widely as yEnc.
And ... dont forget why VHS won over Video2000 :)
Comment 24•23 years ago
|
||
If somebody have some spare time to implement a yEnc decoder in Mime, he/she is
welcometo do it... and I would be happy to review it.
Keywords: helpwanted
Comment 25•23 years ago
|
||
I would like to suggest moving this to a mozdev project.
Most news reading folks don't hunt binaries, and those that do probably want a
way to combine multiple posts like yEnc supports.
Implementing the decoder is pretty easy, I have rudimentary code for a while.
Finding the right user interface is the tricky part, and I doubt that we can create
a UI that is so hidden that it doesn't distract/confuse non-binary users and at
the same time exposes the functionality that binary-hunters want.
Having a optional package like a sidebar or something sounds like the way to go
for me. And people able to get porn from news servers find mozdev, too.
(Btw, I implemented my code as protocol handler, so that works only for single
part (if at all, it's been some time since I looked at it))
Comment 26•23 years ago
|
||
I'm adding the project to Mozdev.org
Comment 27•22 years ago
|
||
As a huge newsgroup fan, I can give some insight into what's going on in the
big yEnc/Anti-yEnc battle. In nearly all large binary groups (those with
movies, games, cd images, etc.), yEnc has pretty much 100% saturation, but in
picture groups, UUencoding and base64 are still King b/c there is little
incentive to switch. Apparently, the difference between 5 hours and 3.5 hours
is much more noticable than 5 seconds and 3.5 seconds ;-) I would very much
like Mozilla to support yEnc, as it is 30% or more faster for posts & RFC or
not, it's being widely used. Thanks!
Comment 28•22 years ago
|
||
yEnc considered harmful: http://www.faerber.muc.de/temp/20020304-yenc-harmful.html
Comment 29•22 years ago
|
||
Jonas, so what? That yEnc is widely used for some groups is a fact. Nobody
has come up yet with something that has only a fraction of the acceptance.
If Mozilla supports the format, as ugly and bad it might be, it will be
a reason for many people to use it in the current situation, if not it will
be a reason to drop it.
I would propose to restrict this article to issues concerning the fix to this
bug. Everybody is free not to use the feature once it is implemented.
Comment 30•22 years ago
|
||
You people are behaving as idiotic as some of the Usenet users, that's really a
shame. You say yEnc is bad, but every argument you use against it is also an
argument against UUEncode. Do you support UUEncode? Yes. Can users post with
UUEncode? Yes. So this is a completely moronic hypocrisy! If you were really
concerned about that, you should have never implemented UUEncode in the first
place. yEnc is pretty much like UUEncode, it just encodes data differently,
that's the only difference. Whether yEnc will ever become MIME or not, who
cares? Right now it's not MIME, it is used in some binary NGs *EXCLUSIVELY* and
people are angry because it is not there in Mozilla. I permantnly rant about how
retarded Micro$oft is, just to see you are as retarted as them.
All the Usenet clients are supporting it, the only ones that are not is Outhouse
Excess and the Mozilla/Netscape client. That throws a very poor light on a
client that is otherwise known to always support the latest standards (like the
latest HTML/XML/CSS, picture formats, etc.) and it's a good reason to not use
Mozilla as news client in the first place.
Comment 31•22 years ago
|
||
http://yenc.mozdev.org/
I have been on vacation and haven't gotten around to creating the content such
as goals and plan yet. As soon as I do that, I will announce the project, and
we can get going on this. I need to talk to a few people on how best to
implement this first, though.
Comment 32•22 years ago
|
||
What's the latest on the development of yEnc compatability in Mozilla? yEnc
has become the standard for posting binary files on usenet, save a few picture
groups where they are slow to switch due to the number of Outlook Express, AOL,
and WEBTV users that like to surf for pics. (in other words, dial-up users
largely that don't see much improvement with yEnc b/c they d/l small files one
at a time anyway & they use **** software).
Comment 33•22 years ago
|
||
*** Bug 175428 has been marked as a duplicate of this bug. ***
Comment 34•22 years ago
|
||
#30: that the majority of Usenet readers have implemented something does NOT
make it a standard. You shouldn't just do something because it can be done (or
has been done already). It exactly that way of thinking that Mozilla is trying
to combat: if you do something, do it right, if there is a standard you can use,
use it, if not, make one.
Comment 35•22 years ago
|
||
re comment #34 : Sorry, but this is just rubbish - a newsreader is a program that
should enable people to read news. If mozilla wants to provide functionality for
this it cannot ignore something that is extremely widely used. I doubt that
Mozilla is designed as a tool to force people to "do it the right way" whatever
that should be. Dont forget that even Mozilla programmers might have varying views
of what "the right way" is, and it might become even more varied when we look
at the view of potential users. But this is a rather academical discussion,
because forcing "the right way" or "some way whatsoever" on people can only
be done by a product that is very widely used - and therefore definitely
not by mozilla. So please dont patronize people and their way how to do things.
You are free not to use yenc as long as you wish even if it were implemented in
mozilla. This is tool, not a bible.
Comment 36•22 years ago
|
||
leaving this up for the trolls.
I read this bug as a "fine as a mozdev project", and there it is.
If you want it, go there, contribute code.
Comment 37•22 years ago
|
||
mozdev has an yenc component.
Also, there are newsgroups that try to combat yenc encoding.
Reporter | ||
Comment 38•22 years ago
|
||
I wouldn't say there are groups where people are "combatting" it so much
as there are groups where OE is the primary newsreader and they don't
like it because OE doesn't support it. Of course there are some objecting
because they are using Netscape and it doesn't support it either, but
Netscape users seem (to me) more willing to either install the proxy
server or use a different program.
Comment 39•22 years ago
|
||
Comment 40•22 years ago
|
||
Mind you, the author of the first link you posted
(http://www.exit109.com/~jeremy/news/yenc.html) says he has moved on from when
he wrote the article, and just accepts that yEnc is the predominant scheme for
encoding binaries on Usenet.
I'd say that we should support yEnc now, since it's the current (defacto)
standard, and that if and when someone writes something better than can be used
in more than just Mozilla, we can support that as well. I don't see how
supporting every encoding standard that comes along can be construed as a bad
idea: it lets the users make the choice as to what they want to use.
Comment 41•22 years ago
|
||
Well, one could argue that for Mozilla we might only want to use "real"
standards, standards that have passed through and approved by a standards body.
Look where the first years of HTML's unlimited growth has led us: the leading
browser in the world still doesn't supoort all the standards and no browser
seems to render exacty the same.
I don't say that this is the same ball park and supporting yEnc will inevitably
lead to problems but I do think that saying "it's a defacto standard" or
"everybody does it" is not reason enough to go and add it to the core.
But one thing I do know "just supporting every 'standard' that comes along" will
get us into trouble (and we would probably have to rename our Mozilla monster to
Hydra).
But.... realisticly speaking I do think we can hardly get around implementing
yEnc in some way or the other.
Comment 42•22 years ago
|
||
Okay, I agree with your comments on the general disarray of standards right now,
I was thinking more in terms of just simple encoding options (for instance, like
how file compression tools will support arj, rar, zip, sit, etc), we should try
to implement any and all encoding/decoding schemes that won't 'cause problems
for other parts of the browser. Sure yEnc isn't the best thought out scheme, but
I haven't seen any arguements saying that including support is going to break
other things in the browser.
Comment 43•22 years ago
|
||
If someone wants to take http://yenc.mozdev.org/ just post a preliminary patch
in this bug before I start working on it (which won't be for a long while) and
its yours.
Updated•22 years ago
|
Updated•22 years ago
|
Comment 44•22 years ago
|
||
It's been a year since this bug was posted, so why isn't Mozilla yEnc compatable
yet? Most news clients switched to yEnc within a few months of its appearance,
so I assumed that this would be implimented rather quickly. Nearly all files I
download on Usenet use yEnc. I've been suggesting Xnews (free download from
http://xnews.newsguy.com/ ) as an option for those who don't care to pay for the
agent version which supports yEnc and don't want to use yProxy for Outlook
Express... from what I have seen, most people are using Xnews now in the groups
I visit. I don't see the purpose of having a newsreader bundled with mozilla
if it's not capable of downloading binaries. Sooner or later, yEnc will likely
be the only posting format on Usenet. The only place I see MIME or UUE is in
picture groups these days, and it's vanishing there quickly.
Comment 45•22 years ago
|
||
Wayne: Many news readers also have combine and decode abilities, yet Mozmail
doesn't. Multipart news messages have been around a lot longer and aren't
controversial. Therefore, there is no developer interest at the moment among the
main developers to implement this. If you want this done, find someone who
doesn't have many patches to write to make a preliminary patch and attach it
here and I will help them get set up using the http://yenc.mozdev.org/ Mozdev
project for a Mozilla extension.
Axel: Since the code for encoding is in c++, is there any way to make a c++ xpi
plugin?
Comment 46•22 years ago
|
||
So is anyone actually finally working on yenc support?
Comment 47•22 years ago
|
||
Not that I know of. If anyone wants to work on it, give me a buzz and I'll help
you get set up using: http://yenc.mozdev.org/
Comment 48•22 years ago
|
||
I have a basic implemetation of a yenc decoded in Mozilla. It doesn't support
multipart. It does not check the crc or the size of the data as this is a real
time stream decoder which does not bufferrize the data. The time we detect
something was wrong, the decoded data has been already pushed to the image
library and displayed to the user.
I'll cleanup my patch and post it soon...
Comment 49•22 years ago
|
||
Jean: You the man!
Do you want the Yenc mozdev project space I'm squatting on, or is your intent to
give what you've done so far so someone else can complete it?
Updated•22 years ago
|
Attachment #64985 -
Attachment mime type: application/octet-stream → text/plain
Updated•22 years ago
|
Attachment #64985 -
Attachment mime type: text/plain → message/rfc822
Comment 50•22 years ago
|
||
Updated•22 years ago
|
Keywords: helpwanted
Whiteboard: have fix
Updated•22 years ago
|
Attachment #115174 -
Flags: superreview?(sspitzer)
Attachment #115174 -
Flags: review?(cavin)
Comment 51•22 years ago
|
||
So, does this mean the next version of Mozilla will be able to display yEnc files?
The darn things seem to be everywhere..
Updated•22 years ago
|
Attachment #115174 -
Flags: review?(cavin) → review?(ssu)
Comment 52•22 years ago
|
||
would be nice if it make it... Reassign to ssu
Assignee: ducarroz → ssu
Status: ASSIGNED → NEW
Comment 53•22 years ago
|
||
(disclaimer)I'm not a reviewer(/disclaimer) I looked over the patch and it looks
clean to me. Personally, I like how it makes the MimeDecoder more generic and
removes the assumption that UUDecoding is the only form of embeded text encoding.
Nice work Jean-Francois!
Any ideas on how to increase the visiblity for this?
It is a problem because it is not assigned and has no target milestone? 1.4b
seems like a reasonable milestone now that we have a patch....
I along with many others have been waiting patiently (a month and a half) for
this patch to be commited (or even formally reviewed). I'm sure many people
would like to give it a spin. What do we need to do to get this on the radar
for a r/sr?
Thanks again to Jean-Francois.
Comment 54•22 years ago
|
||
1)
+ if (out[-1] == nsCRT::CR || out[-1] == nsCRT::LF)
out is a char, and nsCRT::CR / ::LF are PRUnichar
2a)
+ if ((endOfLine - line) >= 13 && !nsCRT::strncmp (line, "=ybegin line=", 13))
use strncmp() instead of nsCRT::strcmp()
2b)
instead of 13 and "=ybegin line=", let's see some #defines:
#define YENC_BEGIN_LINE "=ybegin line="
#define YENC_BEGIN_LINE_LEN 13
3)
+ c= (unsigned char)*src;
+ if (c == 0x0A || c == 0x0D || c == 0x00)
+ break;
why cast to unsigned char? those are \r \n and null.
4)
+ PR_ASSERT(!uty->open_subpart);
remember, PR_ASSERT() calls abort() in debug builds. is that what you want? I
recommend NS_ASSERTION()
5)
+ /* take off newline. */
+ if (name[strlen(name)-1] == nsCRT::LF) name[strlen(name)-1] = 0;
+ if (name[strlen(name)-1] == nsCRT::CR) name[strlen(name)-1] = 0;
why not this?
int lastCharPos = strlen(name)-1;
if (name[lastCharPos] == '\n')
name[lastCharPos] = 0;
else if (name[lastCharPos] == '\r')
name[lastCharPos] = 0;
also, do we have to worry about both CRLF together??
Assignee: ssu → sspitzer
Comment 55•22 years ago
|
||
sorry, I take it back, nsCRT::CR and LF are not PRUnichar.
from nsCRT.h
class NS_COM nsCRT {
public:
enum {
TAB='\t' /* Horizontal Tab */,
LF='\n' /* Line Feed */,
VTAB='\v' /* Vertical Tab */,
FF='\f' /* Form Feed */,
CR='\r' /* Carriage Return */
};
I'll take the patch, and drive it in.
Comment 56•22 years ago
|
||
doh!
we need it like this:
if (name[strlen(name)-1] == nsCRT::LF) name[strlen(name)-1] = 0;
if (name[strlen(name)-1] == nsCRT::CR) name[strlen(name)-1] = 0;
that works for CR, LF and CRLF
notice that we'd string the LF first, then the CR.
it's important to have the strlens(), and the length of the string can change!
Comment 57•22 years ago
|
||
Attachment #115174 -
Attachment is obsolete: true
Updated•22 years ago
|
Attachment #115174 -
Flags: superreview?(sspitzer)
Attachment #115174 -
Flags: review?(ssu)
Updated•22 years ago
|
Attachment #120031 -
Flags: review?(kaie)
Comment 58•22 years ago
|
||
this works, but I get assertions.
###!!! ASSERTION: nothing to write!: 'dest >= line && dest < src', file c:/trees
/mozilla/mailnews/mime/src/mimeenc.cpp, line 734
NS_ASSERTION(dest >= line && dest < src, "nothing to write!");
when I assert, dest == src.
ducarroz, any ideas?
note, as jfd explained, this only works for messages that are complete (not
parts).
here's what I used to test:
news://news.mcom.com:119/kgsp8vcj8na2f0nsudr229h9ma7uapvh3q@4ax.com
after I reviewed, tested (and landed), I realized that kaie has the strongest
mime fu since ducarroz left.
kaie, can you review? if you find any issues, we'll fix them.
Target Milestone: Future → mozilla1.4beta
Comment 59•22 years ago
|
||
> since ducarroz left
I should say, since ducarroz no longer works on mozilla, full time.
but he still reviews and hacks!
Comment 60•22 years ago
|
||
1.)
===
+ /* take off newline. */
+ if (name[strlen(name)-1] == nsCRT::LF) name[strlen(name)-1] = 0;
+ if (name[strlen(name)-1] == nsCRT::CR) name[strlen(name)-1] = 0;
+
+ /* Now try and figure out a type.
+ */
+ if (opt && opt->file_type_fn)
+ type = opt->file_type_fn(name, opt->stream_closure);
+ else
+ type = 0;
+
+ if (name_ret)
+ *name_ret = name;
+ else
+ PR_FREEIF(name);
+
+ if (type_ret)
+ *type_ret = type;
+ else
+ PR_FREEIF(type);
What about this instead? Can save a few cycles.
/* take off newline. */
size_t name_len = strlen(name);
if (name[name_len-1] == nsCRT::LF) name[--name_len] = 0;
if (name[name_len-1] == nsCRT::CR) name[--name_len] = 0;
/* Now try and figure out a type.
*/
if (type_ret)
if (opt && opt->file_type_fn)
*type_ret = opt->file_type_fn(name, opt->stream_closure);
if (name_ret)
*name_ret = name;
else
PR_FREEIF(name);
2.)
===
+ char *line_end = data->line_buffer + data->line_buffer_size - 1;
Please declare as "const char*".
3.)
===
Let's declare a const for the 1000 == BUFFER_SIZE
Is the 997 value derived from the 1000 ?
Please use the constant if it is.
4.)
===
+ {
+ char *out = line + strlen(line);
It took me a while to understand why you are doing this.
Please add a comment where you say, this is necessary, because the buffer
might contain partial data from a previous call to the function.
5.)
===
Since we are not implementing an official standard,
what about attaching the draft of what you are implementing to this bug,
and add a comment to the sourcecode where you refer to the bug number?
Are you implementing this: http://www.yenc.org/yenc-draft.1.3.txt ?
6.)
===
+ if (new_line_size > data->line_buffer_size && new_line_size <= 997)
/* don't let bad value hurt us! */
I think you want to protect yourself from allocating a large block of memory.
But what happens in the case where new_line_size is indeed > 997?
Won't your code continue to process the data and write to a buffer that is too
small and corrupt memory?
Should processing be stopped in that situation?
Comment 61•22 years ago
|
||
And a question out of curiosity: The drafts I found do not mention "x-yencode",
where did you find that?
Updated•22 years ago
|
Attachment #120031 -
Flags: review?(kaie) → review-
Comment 62•22 years ago
|
||
yencode is not yet a standard. Therefore I choose to use the prefix "x-".
Anyway, this is only used internaly by Mozilla, could have been
"x-no-more-yencode-complain"
Comment 63•22 years ago
|
||
I don't know about the assert! does it happens only once per image! maybe it's
at the end of the decoding and this is a valid case where we should not assert?
Comment 64•22 years ago
|
||
Many yenc attachments are a single part but have a multipart format.
This patch against CVS adds support for these attachments..
It also handles part 1 of a multipart post (but this is just a side
effect).
This is NOT a complete multipart handler,
just a quick patch intended for single part attachments
which include the 'part=1' tag.
Comment 65•22 years ago
|
||
So, did the patch make it into 1.4b? I installed the beta, but I don't see it.
Comment 66•21 years ago
|
||
This does pretty much the same as Mark's patch (which I saw after I started on
this). It ignores the additional multipart headers & part=val pairs. It also
will ignore any future (and therefore unsupported) yenc directives by ignoring
all lines that start with =y except =yend.
Comment 67•21 years ago
|
||
*** Bug 212453 has been marked as a duplicate of this bug. ***
Comment 68•21 years ago
|
||
Regarding comment 67, either bug 212453 is not a duplicate
or the description of this bug needs to change, I think.
It seems that the encoding is already supported just not
multipart.
It seems we should mark this bug as fixed and reopen
(undup) bug 212453 OR change the description of this bug to
mention multipart messages OR I'm confused.
Comment 69•21 years ago
|
||
Am I incorrect in saying that none of the patches attached to this bug have been
reviewed/super-reviewed/checked in? Bug 212453 comment 2 seems to indicate
otherwise.
If it is the case that the patches are not checked in, it would be a mistake to
mark this bug fixed, as it isn't fixed :)
In any case, multipart messages are part of the yEnc spec - if you don't support
multipart, you don't support yEnc. Thusly, multipart decoding is implicit in the
title "support new USENET encoding -- yEnc'. Having one bug for one part of
yEnc, and another for another part seems a bit unnecessary.
Comment 70•21 years ago
|
||
What is the difference between multipart yEnc and any other multipart message?
We don't handle any multipart, isn't that correct? That is covered in bug 60981,
right?
Comment 71•21 years ago
|
||
Problem is not that Mozilla can not handle multipart yencoded messages, but
problem is that many and many of singlepart yencoded messages encoded in
miltipart format (see more in comment #64
http://bugzilla.mozilla.org/show_bug.cgi?id=119964#c64).
Comment 72•21 years ago
|
||
So basically to the user, a multipart yEnc message should appear as a single
message header? In that case we will only grab the first part and the rest will
be ignored without the user knowing?
This is different than a split file sent in multiple postings that the user
would see like 100 headers and have to select something akin to "Combine and
decode" like in OE or "Join" in Agent, right? What I mean is that though it
would be sent as a multipart, it should be reconstructed and transparent to the
user, right?
I'm all for fully implementing a "standard" instead of partial. What additional
steps will it take?
Comment 73•21 years ago
|
||
Brian, I think what Alexander was getting at in comment 71 was that with yEnc,
it's quite possible to create a multipart message with one part, delivered as
one message. Some clients create multiparts as a matter of course. This is quite
valid according to the spec (http://www.yenc.org/yEnc-draft-1.txt). So even if
mozilla can't join message parts together automatically, it should be able to
parse yEnc's multipart format.
Attachment 121855 [details] [diff] allows mozilla to deal with such messages.
A single part multipart message looks something like this:
=ybegin part=1 line=128 size=100000 name=mybinary.dat
=ypart begin=1 end=100000
.... data
=yend size=100000 part=1 pcrc32=abcdef12 crc32=abcdef12
Comment 74•21 years ago
|
||
Ok, I think I get. So how would that appear to the user? In this case, it will
only appear as one header to the user but still have the multipart as we see
it (which we ignore), but if its a true multipart message, it will appear as
multiple headers, with the main one looking correct but the rest looking like
garbage to the average user?
Two examples:
1 multipart message sent as 1 message - this will appear correctly
1 multipart message sent as 5 messages - we can't deal with this and the user
will get 5 headers. Let's say its a .mpeg file, then they will only see the
first 10 K (assuming a message is 10K long in this example), and therefore,
its an .mpeg, they will only have the first 10K of the movie.
Is this correct?
Comment 75•21 years ago
|
||
The situation with these bugs is rather untidy.
This bug was for implementing yEnc, which has been done, so I guess it should be
marked fixed. Bug 60981 is about combining multipart messages. Bug 212453 was
opened for multipart yEnc but then duped to this.
Will fixing bug 60981 make multipart yEnc work? If so, then bug 212453 is a
dupe of that bug, not this one. If not, then we should either morph this bug
into being about multipart yEnc, or reopen bug 212453.
Comment 76•21 years ago
|
||
Fixing bug 60981 will not make multipart yEnc work.
The terminology surrounding multipart and yEnc is a bit ambiguous - simple
protocols (UUE, for instance) produce multiparts by generating a single part
encoding, and then splitting it amongst several messages. More complex (and
robust) protocols, such as yEnc and MIME, produce a multi-part encoding, which
is then posted, (often with) one part per message.
Bug 60981 is concerned with automatically concatenating messages together; With
simple protocols, this will produce a single-part message. With protocols that
understand multipart, it will produce a single stream containing a multipart
encoding of several parts. As it stands, mozilla cannot parse these for yEnc,
only multipart yEnc encodings with a single part.
To implement yEnc, a client must be able to parse both the single-part and
multipart encodings, as it is not illegal (merely unusual) to post multipart
yEnc coding (even with multiple parts) in a single message.
Bug 212453 was opened for the multipart yEnc encoding, however yEnc is not a
layered standard like MIME, MNG or MP[1-3]. It is not a valid implementation of
the standard to implement only a subset (such as single-part decoding).
So, in my opinion, bug 212453 is rightly marked as a duplicate. Bug 119964
should not be marked fixed until mozilla can parse multipart yEnc (and anything
else in the spec that doesn't work yet), contained within a single stream
(message body). If mozilla can do this, then a fix for bug 60981 will
automatically work for yEnc as well.
Comment 77•21 years ago
|
||
ok, cool. So we're clear that this bug is for multipart as well.
No longer blocks: 212453
Summary: RFE: Support new USENET encoding -- yEnc → Support yEnc encoding (including multipart)
Whiteboard: have fix
Comment 78•21 years ago
|
||
Sounds like we should keep the existing code in the tree hush-hush then and
continue onto the multipart before people notice :-)
Comment 79•21 years ago
|
||
I'm curious... It seems that people sometimes post split files in yEnc (i.e.
yEnc of pre-split files). Those would fall under single part files that would
need to be joined using bug 60981 and would still work OK, right?
It seems there are 3 ways a very large file could be posted:
- Pre split files posted individually in multiple messages of any encoding - bug
60981
- Server split messages of one large posting - would be joined via bug 60981,
then handled via the patch in this bug
- One large file that either was reconstructed by the server, or never split by
any server - would be fully handled via the patch in this bug
Did I miss anything? Sorry about the questions... I knew the answers to these
last year, but since have forgotten them or gotten confused. I'm not asking you
via private mail since ths can help other people. Usenet is one hell of a hacked
"standard" if you ask me :-)
Comment 80•21 years ago
|
||
I hope by 'Server split' you're not implying that the NNTP server is cutting the
message up? When an NNTP server encounters a message that is too large, it
doesn't split it, it throws it in the bin. Streams are always split into
messages by the client before being passed to the server.
There are several ways that a large file can be posted (from my memory,
apologies for omissions and inaccuracies) :
--- decodable at the moment ---
- Encoded as a single chunk using dumb protocol (UUE, base64) , chunk posted in
one message body.
- Encoded as a single chunk using MIME, chunk posted in one message body.
- Encoded as a many chunks using MIME, chunks all posted in one message body.
- Encoded as a single chunk using single part yEnc, chunk posted in one message
body.
--- decodable if message bodies are joined together (bug 60981) ---
- Encoded as a single chunk using dumb protocol (UUE, base64) , chunk split into
regular sections, and posted as several message bodies.
- Encoded using MIME, split into sections, and posted as several message bodies.
(as mozilla includes a full MIME parser. I think.)
- Encoded as a single chunk using single part yEnc, chunk split into regular
sections, and posted as several message bodies. (No client on earth posts like
this, and would probably end up on the 'broken tools' list if it did.
--- decodable using attachment 121855 [details] [diff] [review] ---
- Encoded as a single chunk using multipart yEnc, chunk posted in one message
body. (Some broken tools post like this)
--- not decodable with anything attached to bugzilla ---
- Encoded as as more than one chunk using multipart yEnc, chunks posted in same
message body (nothing posts like this)
- Encoded as as more than one chunk using multipart yEnc, chunks posted in
separate message bodies (almost every tool posts large files like this)
As it stands, mozilla cannot parse multipart yEnc messages with more than one
part, even if every part is in the same message body. Joining the messages
together (bug 60981) is not enough for multipart yEnc support, as mozilla must
also parse the structure of the multipart yEnc stream and decode the file. In
excatly the same way, joining all the message bodies together is not sufficient
to decode multipart MIME; you must also understand the structure of the encoding
method. Mozilla's MIME parser can understand MIME in multipart mode; Mozilla's
yEnc parser does not yet understand yEnc in multipart mode.
BTW, the term is "de-facto standard" :)
Comment 81•21 years ago
|
||
There is one other that you forgot (I'm just providing this for anyone reading)
that should be covered by bug 60981 -- pre-split files that are split as follows:
foo.bar.1
foo.bar.2
foo.bar.3
...
and then posted and individually encoded. We can handle such cases by allowing
people to select each attachment (or perhaps contect-click one file and select
"join similiar"), and choose "join" which would provide a list of files,
pre-sorted by filename, and allow the user to move the ordering around. Then it
would individually encode each attachment and combine it. Result would be:
foo.bar
I've never seen this done by a client, but there are tools out there for posting
of binaries for people who don't want to sit there while its done that do this
kind of thing and its pretty common in some groups (each group has its own rules).
Comment 82•21 years ago
|
||
There have been no new comments in four, almost five, months, so I thought I'd
ask... where do we stand with yEnc so far? I have no coding skills whatsoever
or I'd help out with this myself, as I know it is stopping at least one person
from switching to Mozilla Mail and/or Mozilla Thunderbird.
Comment 83•21 years ago
|
||
yenc support in Mozilla 1.6 is almost useless, as about 50% of yenc posts use
the part 1 of 1 multipart format ("=ybegin part=1") which Mozilla just displays
as text. The patch has been posted here, so why can't it be checked in to the
code so that it will be included in the next binary release?
Comment 84•21 years ago
|
||
patches can't be checked in until they've been successfully reviewed. As far as
I can see nobody has even requested a review on the newer patches yet. So what's
needed is for someone to check that the patches still work, request reviews and
then do any necessary follow-up work.
Comment 85•20 years ago
|
||
*** Bug 258828 has been marked as a duplicate of this bug. ***
Comment 86•20 years ago
|
||
OK I just tried attachment 121855 [details] [diff] [review] and it still works in Thunderbird, on single
posts encoded using multipart yEnc. This is a big step in the right direction
(although not supporting >1 part), and I think it should be applied.
Who should review this?
Comment 87•20 years ago
|
||
Comment on attachment 127193 [details] [diff] [review]
yet another robustness patch
Seth, who isn't reading bugmail.
Attachment #127193 -
Flags: review?(sspitzer)
Comment 88•20 years ago
|
||
Andy: Can you try attachment 127193 [details] [diff] [review], also? It's newer.
Comment 89•20 years ago
|
||
attachment 127193 [details] [diff] [review] applies and works just like the other one.
Comment 90•20 years ago
|
||
Andy: Did you send an email to the newsgroups?
Comment 91•20 years ago
|
||
Will do
Comment 92•20 years ago
|
||
Comment on attachment 127193 [details] [diff] [review]
yet another robustness patch
passing the review buck to david b.
Attachment #127193 -
Flags: review?(sspitzer) → review?(bienvenu)
Updated•20 years ago
|
Product: MailNews → Core
Updated•20 years ago
|
Assignee: sspitzer → bienvenu
Comment 93•20 years ago
|
||
Comment on attachment 127193 [details] [diff] [review]
yet another robustness patch
+ if ((endofline - s) < 5 || strncmp(s, "line=", 5)) return PR_FALSE;
can you put the return on its own line? That's the style we use, mostly so you
can set breakpoints on the return. Other than that, it looks OK.
Attachment #127193 -
Flags: superreview?(mscott)
Attachment #127193 -
Flags: review?(bienvenu)
Attachment #127193 -
Flags: review+
Comment 94•20 years ago
|
||
Comment on attachment 127193 [details] [diff] [review]
yet another robustness patch
modulo david's comments
Attachment #127193 -
Flags: superreview?(mscott) → superreview+
Comment 95•20 years ago
|
||
*** Bug 276826 has been marked as a duplicate of this bug. ***
Comment 96•20 years ago
|
||
I think my original report that Thunderbird did not support yEnc decoding was in
error. The problem really appears to be that Thunderbird does not identify
posts that are actually incomplete multipart posts. I checked some posts that
failed to decode under Thunderbird with my main email client Forte Agent and
that identified them as incomplete posts (so you know you cant decode them) with
an "incomplete" icon. When all parts are available on the server, Agent
changes the icon to a "complete" icon. Posts with "complete" icons are
automatically decoded by agent when downloaded. Thunderbird does not appear to
identify incomplete multipart posts on the server so downloading the post just
shows garbage. Using Agent I identified a couple of complete yEnc encoded posts
and then downloaded them using Thunderbird. They decoded OK. So can
Thunderbird identify incomplete multi-part posts on the server so you know not
to download them yet?
Comment 97•20 years ago
|
||
*** Bug 280850 has been marked as a duplicate of this bug. ***
Comment 98•20 years ago
|
||
*** Bug 277641 has been marked as a duplicate of this bug. ***
Comment 99•18 years ago
|
||
I have never seen a more moronic response since the beta-max/VHS wars. It doesn't matter that YENC is not a formal standard. When you have easily 90 percent of all binaries encoded in yenc in the news groups, it is completely idiotic to not support it in thunderbird. I use FireFox for my browser, but will not use thunderbird for this specific reason. To the "purists" developers at mozilla, please grow up. You are cutting off your nose to spite your face. Yenc is NOT going away in the near future and you are deliberately stunting the growth of the thunderbird product. The attitude that you can’t support every protocol that comes along is just silly. That is like saying that you won’t support personal computers 30 years ago because only mainframes were “real” computers.
Comment 100•18 years ago
|
||
William: Mostly everyone agrees it would be a very nice-to-have and that it's a de-facto standard. However, the latest patch is from 2003, without multipart support (as far as I know). If you are interested in getting this fixed, please provide a patch or find someone who has time to write one. Obviously, without a patch, it's not going to happen. The developers are all very busy, lots of times on security issues and things like that which are all higher priority than yEnc support. However, it would be a nice thing to have.
Please don't abdicate in bugs (a lot of people already mirror your views) but instead voice your concerns about these things on the Mozillazine forums.
Comment 101•18 years ago
|
||
Abdicate wasn't the word I was looking for. Please don't make aggressive statements like that, attacking developers you don't really know, and saying things that have already been said in other comments in the bug.
Comment 102•18 years ago
|
||
My apologies, I was frustrated with 20 Yenc attachments in a row failing to decode. I originally looked in Mozillazine and they had one message that said, in effect, nothing. I discovered this bug and vented. It won't happen again.
Comment 104•17 years ago
|
||
- Mozilla 1.4 beta is long gone => Resetting target milestone.
- David, are you still interested in working on this bug? If you do, please take it again (I suppose esther-at-formerly-netscape is not a valid QA anymore).
Assignee: bienvenu → nobody
QA Contact: esther → mime
Target Milestone: mozilla1.4beta → ---
Comment 105•17 years ago
|
||
heippa
noniina@gmail.com
taasen
This might not be legal but anyhow -:
Btw part of the linux code was actually "copied" from ddj about 1988-1990 by ...
Some approach would be using part of winvn yenc source c/c++ source
Try ex google
Assignee | ||
Updated•16 years ago
|
Product: Core → MailNews Core
Comment 107•14 years ago
|
||
This bug is 9 years old, it has not been fixed up to now and lets face it, it won't ever gets fixed because nobody wants to work on it or maybe the Thunderbird developers are happy with the fact that Thunderbird is an inferior news client. So why don't we just close this bug. Pretty much all people seriously using Usenet have most likely stopped using TB years ago (just like I did) because it's pointless. I suggest setting status to resolved => won't fix.
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•