Windows 7 - What does HEADER LINE TO LONG mean?

Asked By Jeff Strickland on 18-Jul-12 06:57 PM
I am posting in another newsgroup, and I get an error that the header line
is too long. The upload aborts when this happens. I can still post to other
conversations, but I cannot post to this particular discussion because the
header line is too long.

Why am I getting this, and is there anything I can do to make the error go
away?


VanguardLH replied to Jeff Strickland on 18-Jul-12 10:17 PM
So how deep in number of posts are you under a subthread?  Every post
(except the first one) contains a References header.  It is used to
trace the parent-child relationship between posts so they can be
threaded into a hierarchy (i.e., a tree structure).  That lets you see
who replied to who and in what order.  If you are in a subthread that has
hundreds of replies in the chain then the References header can get
rather huge.  Plus the Message ID used to define each post in the chain
is variable in length because the clients or servers define those
strings and they contain variable lengthed domain domains and different
lengthed tokens on the left side of the at-sign.

The recommended maximum length for any line, including headers, is 998
bytes.  This is due to some servers or hosts truncating headers that
exceed that length.  Programs run in memory, memory is limited, so
buffers to hold data in a message cannot be infinitely long.  See
http://tools.ietf.org/html/rfc5322, section 2.1.1.

Continuation of a header is denoted by a space character in column 1
(actually I believe it is indentation using any number of whitespace
characters), so:

Headername: headervalue ....
morevalues ...
somemorevalue ...

is one header over 2 lines.  However, I do not know that continuation
permits a [header] line to exceed the 998 character limit.  It appears
mostly a readability feature, not a means of exceeding a length
limitation.  The program will have to still deal with the total value of
the header (headerName + ": " + headerValue).  While the header gets
folded into multiple lines, it is still handled as one header line.

One example of a header that too often violates the 998-character limit
is the X-Face header.  Users of that header do not even consider how long
is that header but simply let their NNTP client figure out the value for
that ego-stroking superfluous header.  The length of the X-Face header
could easily exceed the length of that poster's message.  While my
newsreader supports the X-Face header (although I wish it had an option
to ignore it), it does support user-defined scripts which I may use to
strip out this garbage header (but scripts take time to modify the
content of received articles).

Since you did not bother to give the MID (message ID) of the post to
which you are attempting to reply, no one will know how long are the
headers in that post which your reply would make longer.  If you want
something less than vague answers regarding a vague situation, you need
which you want to reply but which results in your NNTP client generating
an excessively long header line.
Jeff Strickland replied to VanguardLH on 19-Jul-12 02:46 PM
You did a pretty good job. I think that somebody has one of those X-face
headers that is mucking up the works. I have been in far deeper message
threads than what I have encountered here that caused me to ask such a
nebulous question -- sorry for that, by the way.

I am not really interested in fixing anything, I was just involved in a
conversation that suddenly I can not participate in any longer because the
message header is too long, and I wondered why. I like to think I know more
than the average bear when it comes to my computer, but I had never seen
this error before -- well, I have seen it but not for a long time -- and I
thought I would vent my frustration that technology is so limited. ;-)

The error message comes from my news server, and they also limit the number
of crossposts that are allowed. The cross posting limit makes a little bit
of sense when the poster (me) initiates a thread, and the server wants to
limit the distribution for whatever reason. But when there is a thread that
my server delivers to me that has too many crossposts, then it should allow
me to reply with all of the participating crossposts remaining on the
distribution list. I also find that some idiots -- bigger idiots than me --
reply to a conversation and ADD NEW newsgroups to the distribution list,
then I get the reply and make my own response with the newly added groups,
and my servers will not deliver because there are too many crossposts.
VanguardLH replied to Jeff Strickland on 19-Jul-12 10:35 PM
Adding the X-Face header would be why YOU cannot post (if it was too
long).  That someone else posted with an X-Face header will not affect your
reply.  You do not add their headers into your reply.  You create your
own headers (in addition to those added by the NNTP server you use).
That their post exists means their X-Face header was not too long.  Only
if YOU are using the X-Face header and it is too long would that be the
cause of the overly long header problem.  You're using Outlook Express.
it does not support inclusion of the X-Face header in your posts.  Only
if you are using some external proxy to modify your posts before
submission could the X-Face header appear in your posts.

No matter how long are the headers in their post, that they exist means
they were not exceeding the maximum length.  Note that peering of
articles does not necessarily require cohering to any NNTP server's
limitations.  Articles that are banned at one NNTP server may be allowed
at another.  The other NNTP server then peers its allowed article which
eventually reaches the first NNTP server that will accept it, too.  it is
one *submission* that restrictions at a particular NNTP server are
enforced.  Of course, there are exceptions.  I forget which troll it is
in my filter that I found my NNTP server will not allow to peer from
other NNTP servers.  That is, the troll's posts will show up at his NNTP
server and to some to which it peers but they get filtered out before
getting to my NNTP server.  If I use a different NNTP server then I can
see this troll's posts.  So you could be hitting a limitation imposed by
the NNTP server that you are using that is not imposed at other NNTP
servers.  You might see posts peered to your NNTP server that exceed the
maximum header length imposed by your NNTP server.  The same goes for
cross-posting (your other complaint that I snipped out): one NNTP server
may not impose any restriction on the number of groups included in a
cross posted article while another will not permit on *submission* to it a
cross-post to more than 3 groups.  Likewise, some NNTP servers do not
care if you use the FollowUp-To header (vastly abused to rudely yank
away a discussion from a group to which the article was posted) and some
mandate you must use it if you cross-post.  There is no RFC standard
(which is merely a suggestion, not a law) that requires all NNTP servers
to impose the same set of restrictions.

it is your post that is exceeding the maximum length (permitted by that
particular NNTP server).  Doesn't matter how long are the headers in the
post to which you reply.  I mentioned the 998 character maximum since
that is an RFC standard.  The NNTP server might impose a different
limit.  It is when YOU add to an existing header that it could get too
long.  With an immensely deep thread, there could be so many MIDs
(message IDs) in the References header that you appending another MID
onto YOUR References header could exceed the NNTP server's limit for
header length.  However, when you start to get into a thread path that
has that many articles within it then it is probably arguing about
fluff, arguing just to argue, or has gone way off-topic.  When they get
really deep, they are usually of no value or should have started their own
new thread.
Julie Bove replied to Jeff Strickland on 20-Jul-12 01:01 AM
I get that too and nobody that I know of has been able to figure out why.
It does seem to occur when a lot of replies have happened to a particular
post.  But snipping the post does not help at all.  I hope someone has an
answer!
Paul replied to Julie Bove on 20-Jul-12 03:14 AM
Install Wireshark and log the attempt to upload ?

Maybe that will show what you have sent, just before the
error comes back and stops it cold.

I use port 119 on Thunderbird, and if you use Wireshark, the
entire session is in plaintext for easy examination. You can
examine the packets one at a time, and see what was sent.

http://en.wikipedia.org/wiki/Wireshark

Alternately, use a USENET client program, which displays
the header contents before transmission. I could do that
years ago, with a Unix client, but do not know enough about
current client programs to know the right one to use for the
job.

Once you know which line it is, whether its "References:"
or an XFace:, it is quite another matter how you fix it.
The client software should be designed to both worry about
standards, and also keep the stuff running. Dropping an XFace
line would seem perfectly acceptable. I do not know how you would
deal with References, without there being side effects.

Paul
VanguardLH replied to Julie Bove on 20-Jul-12 08:10 AM
Jeff did not provide an example parent post for when his reply to it
caused the "header too long" error.  Do you have an example post to
which you get this error when you try to reply?

Snipping the body of the post does not address the length of *headers* in
your reply.