<feed xmlns='http://www.w3.org/2005/Atom'>
<title>viewer.git/indra/llcommon/llstreamtools.cpp, branch cef_147</title>
<subtitle>Megapahit's fork of the Second Life viewer.
</subtitle>
<id>https://www.megapahit.org/viewer.git/atom?h=cef_147</id>
<link rel='self' href='https://www.megapahit.org/viewer.git/atom?h=cef_147'/>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/'/>
<updated>2024-04-29T04:56:09Z</updated>
<entry>
<title>#824 Process source files in bulk: replace tabs with spaces, convert CRLF to LF, and trim trailing whitespaces as needed</title>
<updated>2024-04-29T04:56:09Z</updated>
<author>
<name>Andrey Lihatskiy</name>
<email>alihatskiy@productengine.com</email>
</author>
<published>2024-04-29T04:43:28Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=1b68f71348ecf3983b76b40d7940da8377f049b7'/>
<id>urn:sha1:1b68f71348ecf3983b76b40d7940da8377f049b7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>SL-18330: Fix per PR review comments.</title>
<updated>2023-02-15T22:29:48Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2023-02-15T22:29:48Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=292bb3991b589d39d61cf721b82fe7bdae460785'/>
<id>urn:sha1:292bb3991b589d39d61cf721b82fe7bdae460785</id>
<content type='text'>
</content>
</entry>
<entry>
<title>SL-18330: Merge branch 'contribute' into sl-18330-merge</title>
<updated>2023-02-15T20:11:35Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2023-02-15T20:11:35Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=aec39a0f9f7f16a7970e96bad552ca684af57e3f'/>
<id>urn:sha1:aec39a0f9f7f16a7970e96bad552ca684af57e3f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>DRTVWR-575: Defend unescape_string() against empty line.</title>
<updated>2022-12-06T20:46:05Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2022-12-06T20:46:05Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=9a7e638b67cda4bb1174a4d46fb7769290472ebc'/>
<id>urn:sha1:9a7e638b67cda4bb1174a4d46fb7769290472ebc</id>
<content type='text'>
The unsigned index arithmetic was problematic in that case.
</content>
</entry>
<entry>
<title>SL-18330: Make LLSDSerialize::deserialize() default to notation.</title>
<updated>2022-11-22T21:21:44Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2022-11-22T21:21:44Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=abe62c23d74d5319691a49881719b03cc9b5b090'/>
<id>urn:sha1:abe62c23d74d5319691a49881719b03cc9b5b090</id>
<content type='text'>
LLSDSerialize::serialize() emits a header string, e.g. "&lt;? llsd/notation ?&gt;"
for notation format. Until now, LLSDSerialize::deserialize() has required that
header to properly decode the input stream.

But none of LLSDBinaryFormatter, LLSDXMLFormatter or LLSDNotationFormatter
emit that header themselves. Nor do any of the Python llsd.format_binary(),
format_xml() or format_notation() functions. Until now, you could not use
LLSD::deserialize() to parse an arbitrary-format LLSD stream serialized by
anything but LLSDSerialize::serialize().

Change LLSDSerialize::deserialize() so that if no header is recognized,
instead of failing, it attempts to parse as notation. Add tests to exercise
this case.

The tricky part about this processing is that deserialize() necessarily reads
some number of bytes from the input stream first, to try to recognize the
header. If it fails to do so, it must prepend the bytes it has already read to
the rest of the input stream since they're probably the beginning of the
serialized data.

To support this use case, introduce cat_streambuf, a std::streambuf subclass
that (virtually) concatenates other std::streambuf instances. When read by a
std::istream, the sequence of underlying std::streambufs appears to the
consumer as a single continuous stream.
</content>
</entry>
<entry>
<title>DRTVWR-575: Fix llcommon assumptions that size_t fits in 4 bytes.</title>
<updated>2022-11-03T18:58:32Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2022-11-03T18:58:32Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=9522a0b7c16414fce2103cf58bfdd63aaf0cb01b'/>
<id>urn:sha1:9522a0b7c16414fce2103cf58bfdd63aaf0cb01b</id>
<content type='text'>
It's a little distressing how often we have historically coded S32 or U32 to
pass a length or index.

There are more such assumptions in other viewer subdirectories, but this is a
start.
</content>
</entry>
<entry>
<title>remove execute permission from many files that should not have it</title>
<updated>2015-11-10T14:48:56Z</updated>
<author>
<name>Oz Linden</name>
<email>oz@lindenlab.com</email>
</author>
<published>2015-11-10T14:48:56Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=c8726aba303bcf1207b730a344536e25491420bc'/>
<id>urn:sha1:c8726aba303bcf1207b730a344536e25491420bc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update Mac and Windows breakpad builds to latest</title>
<updated>2013-03-29T14:50:08Z</updated>
<author>
<name>Graham Madarasz</name>
<email>graham@lindenlab.com</email>
</author>
<published>2013-03-29T14:50:08Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=bf6182daa8b4d7cea79310547f71d7a3155e17b0'/>
<id>urn:sha1:bf6182daa8b4d7cea79310547f71d7a3155e17b0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Change license from GPL to LGPL (version 2.1)</title>
<updated>2010-08-13T11:24:57Z</updated>
<author>
<name>Oz Linden</name>
<email>oz@lindenlab.com</email>
</author>
<published>2010-08-13T11:24:57Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=06b0d72efa96b6a0ed665f7cd46f358c48929e7b'/>
<id>urn:sha1:06b0d72efa96b6a0ed665f7cd46f358c48929e7b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>svn merge -r117314:117337</title>
<updated>2009-04-16T23:45:35Z</updated>
<author>
<name>Adam Moss</name>
<email>moss@lindenlab.com</email>
</author>
<published>2009-04-16T23:45:35Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=b01c75cb423f07a3d3354f8bd62f265f80062b3b'/>
<id>urn:sha1:b01c75cb423f07a3d3354f8bd62f265f80062b3b</id>
<content type='text'>
svn+ssh://svn.lindenlab.com/svn/linden/branches/moss/mv13a-merge-1

QAR-1343 maint-viewer-13a+libcurlexploitfix-3-3 combo merge
</content>
</entry>
</feed>
