Commit Graph
18 Commits
Author SHA1 Message Date
Moonchild 0ec89257db [devtools] Further improve "Copy as cURL"
Don't escape unicode control characters. While these characters would
break commands if present (i.e. non functional cURL) and could potentially
be sanitized to spaces, that would likely just move the goalposts again.
Following Mozilla here.
2025-12-15 17:21:18 +01:00
Moonchild d7ae6c9f06 [devtools] Further improve "Copy as cURL"
Collapse whitespaces.
2025-12-15 16:00:02 +01:00
Moonchild 8b9323b330 [devtools] Remove newline kludge from "Copy as cURL" on Windows 2025-10-14 21:06:33 +02:00
Moonchild e91be25a86 [devtools] Further improve special character escaping in "copy as curl".
Follow-up to 15335ce39d

Trying to cross-platform sanitize causes issues escaping too much and
as a result mangling the curl commands that get spit out.
This reverts previously added Windows-specific escaping on POSIX and
vice versa.
Since we do not offer cross-platform copying as a curl command in devtools
anyway, it makes little sense to sanitize for the O.S. we're not running on
as we would not be using the command processor in such environments that
could trip over characters for the other O.S. This was previously added
as a defense-in-depth in case we would start offering this, but I see no
real reason to do so, anyway.

Also decided to in-line comments for readability instead of a bulleted
list in the function head.

Mozilla has taken similar steps because of fall-out, but they do offer
cross-platform "copy as curl" for corner cases, so they will have to
find solutions for a problem we won't have.
2025-07-04 22:41:03 +02:00
Moonchild c6a8c16f73 [devtools] Stop escaping special characters in cURL URLs.
Follow-up to [c117ee9d29]
2025-06-11 12:14:32 +02:00
Moonchild c117ee9d29 [devtools] Improve special character escaping for curl 2025-05-28 13:28:07 +02:00
Moonchild 2243a2f026 [devtools] Escape some more characters for copying as cURL on Posix. 2025-04-30 11:42:20 +02:00
Moonchild bd9042426a [devtools] Improve Copy as cURL
Windows commonly fails to work because of --compressed, and its string
escaping needed improvement because of the complexities of argument
parsing in command windows.
2023-01-18 19:21:26 +01:00
Moonchild ab5f44b61d [devtools] Escape backtick characters 2022-04-08 15:03:43 +02:00
Moonchild a680bdc637 Issue #1656 - Part 1: Nuke most vim config lines in the tree.
Since these are just interpreted comments, there's 0 impact on actual code.
This removes all lines that match /* vim: set(.*)tw=80: */ with S&R -- there are
a few others scattered around which will be removed manually in a second part.
2020-09-23 13:55:00 +00:00
Moonchild c0401ee701 [devtools] Port various upstream fixes 2020-05-06 00:17:32 +00:00
wolfbeast 90a4813d17 [devtools] Properly escape method arguments for curl. 2020-03-19 07:33:05 +01:00
Brian Grinstead 3cfdf908cc Escape '!' to '\041' in posix strings ($'...') 2019-03-23 10:56:30 +01:00
Gaming4JC c5c9445e3a backport mozbug 1334776 - CVE-2017-7797 Header name interning leaks across origins
Potential attack: session supercookie.

[Moz Notes](https://bugzilla.mozilla.org/show_bug.cgi?id=1334776#c5):
"The problem is that for unknown header names we store the first one we see and then later we case-insensitively match against that name *globally*. That means you can track if a user agent has already seen a certain header name used (by using a different casing and observing whether it gets normalized). This would allow you to see if a user has used a sensitive service that uses custom header names, or allows you to track a user across sites, by teaching the browser about a certain header case once and then observing if different casings get normalized to that.

What we should do instead is only store the casing for a header name for each header list and not globally. That way it only leaks where it's expected (and necessary) to leak."

[Moz fix note](https://bugzilla.mozilla.org/show_bug.cgi?id=1334776#c8):
"nsHttpAtom now holds the old nsHttpAtom and a string that is case sensitive (only for not standard headers).
So nsHttpAtom holds a pointer to a header name. (header names are store on a static structure). This is how it used to be. I left that part the same but added a nsCString which holds a string that was used to resoled the header name. So when we parse headers we call ResolveHeader with a char*. If it is a new header name the char* will be stored in a HttpHeapAtom, nsHttpAtom::_val will point to HttpHeapAtom::value and the same strings will be stored in mLocalCaseSensitiveHeader. For the first resolve request they will be the same but for the following maybe not. At the end this nsHttpAtom will be stored in nsHttpHeaderArray. For all operation we will used the old char* except when we are returning it to a script using VisitHeaders."
2018-09-25 23:03:28 -04:00
janekptacijarabaci 25b78dfa6e Copy as cURL (PATCH)
Issue #44
2018-03-04 23:36:49 +01:00
janekptacijarabaci 60edea0203 DevTools - network - Copy as cURL (POST)
https://github.com/MoonchildProductions/moebius/pull/167
2018-03-01 13:35:53 +01:00
janekptacijarabaci 814bfaddb9 [regression] DevTools - network - Copy as cURL (http versions) 2018-02-12 15:30:02 +01:00
Matt A. Tobin 5f8de423f1 Add m-esr52 at 52.6.0 2018-02-02 04:16:08 -05:00