Add zip files with password encryption - #244

Merged
jeffhandley merged 1 commit into
dotnet:mainfrom
jeffhandley:jeffhandley/zippassword
May 31, 2022
Merged

Add zip files with password encryption#244
jeffhandley merged 1 commit into
dotnet:mainfrom
jeffhandley:jeffhandley/zippassword

Conversation

@jeffhandley

@jeffhandleyjeffhandley commented May 21, 2022

Copy link
Copy Markdown
Member

In preparation for a PR that implements dotnet/runtime#68897, adding an ZipArchiveEntry.IsEncrypted property, this PR adds 3 zip files for testing.

  • encrypted_entries_weak.zip includes 2 entries with "weak" (ZipCrypto) encryption and 2 entries that are unencrypted
  • encrypted_entries_aes256.zip includes 2 entries with "strong" (AES-256) encryption and 2 entries that are unencrypted
  • encrypted_entries_mixed.zip includes 1 entry with "weak", 1 entry with "strong", and 2 entries with no encryption

For each encrypted entry, there is a comment on the entry indicating what the password for that entry is. Each file contains a small amount of content, with simply FileName: <filename-without-ext>.

@jeffhandley
jeffhandley requested a review from jozkeeMay 21, 2022 00:24
@jeffhandley
jeffhandley enabled auto-merge (squash) May 21, 2022 00:32
@jozkee

Copy link
Copy Markdown
Member
  1. I see the entries are blank, which is OK for ZipArchiveEntry.IsEncrypted, but if the files were not empty, we could re-use the assets for the tests of the rest of the Zip entryption APIs (check the contents are correctly preserved/not garbled).
  2. encrypted_entries_mixed.zip doesn't have the password in the Comment.
    image

@jeffhandley
jeffhandleyforce-pushed the jeffhandley/zippassword branch from e58779b to 0a8df49CompareMay 29, 2022 00:37
@jeffhandley

Copy link
Copy Markdown
MemberAuthor

@jozkee Thanks for the feedback on this. I updated the zips to:

  1. Put contents into each file (simply Filename: <filename-without-extension>)
  2. Rename the "strong" file to "aes256" in case we want to extend the coverage later
  3. Ensure all encrypted files have comments with their passwords (and changed the "mixed" passwords to be different between encrypted entries)

@jeffhandley

Copy link
Copy Markdown
MemberAuthor

Here's the branch where the feature is implemented and the tests can be seen:
https://github.com/dotnet/runtime/compare/main...jeffhandley:jeffhandley/zippassword?expand=1

@jeffhandley
jeffhandley merged commit 0920468 into dotnet:mainMay 31, 2022

@jozkeejozkee left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@jeffhandley@jozkee
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Add zip files with password encryption - #244

Merged
jeffhandley merged 1 commit into
dotnet:mainfrom
jeffhandley:jeffhandley/zippassword
May 31, 2022
Merged

Add zip files with password encryption#244
jeffhandley merged 1 commit into
dotnet:mainfrom
jeffhandley:jeffhandley/zippassword

Conversation

@jeffhandley

@jeffhandleyjeffhandley commented May 21, 2022

Copy link
Copy Markdown
Member

In preparation for a PR that implements dotnet/runtime#68897, adding an ZipArchiveEntry.IsEncrypted property, this PR adds 3 zip files for testing.

  • encrypted_entries_weak.zip includes 2 entries with "weak" (ZipCrypto) encryption and 2 entries that are unencrypted
  • encrypted_entries_aes256.zip includes 2 entries with "strong" (AES-256) encryption and 2 entries that are unencrypted
  • encrypted_entries_mixed.zip includes 1 entry with "weak", 1 entry with "strong", and 2 entries with no encryption

For each encrypted entry, there is a comment on the entry indicating what the password for that entry is. Each file contains a small amount of content, with simply FileName: <filename-without-ext>.

@jeffhandley
jeffhandley requested a review from jozkeeMay 21, 2022 00:24
@jeffhandley
jeffhandley enabled auto-merge (squash) May 21, 2022 00:32
@jozkee

Copy link
Copy Markdown
Member
  1. I see the entries are blank, which is OK for ZipArchiveEntry.IsEncrypted, but if the files were not empty, we could re-use the assets for the tests of the rest of the Zip entryption APIs (check the contents are correctly preserved/not garbled).
  2. encrypted_entries_mixed.zip doesn't have the password in the Comment.
    image

@jeffhandley
jeffhandleyforce-pushed the jeffhandley/zippassword branch from e58779b to 0a8df49CompareMay 29, 2022 00:37
@jeffhandley

Copy link
Copy Markdown
MemberAuthor

@jozkee Thanks for the feedback on this. I updated the zips to:

  1. Put contents into each file (simply Filename: <filename-without-extension>)
  2. Rename the "strong" file to "aes256" in case we want to extend the coverage later
  3. Ensure all encrypted files have comments with their passwords (and changed the "mixed" passwords to be different between encrypted entries)

@jeffhandley

Copy link
Copy Markdown
MemberAuthor

Here's the branch where the feature is implemented and the tests can be seen:
https://github.com/dotnet/runtime/compare/main...jeffhandley:jeffhandley/zippassword?expand=1

@jeffhandley
jeffhandley merged commit 0920468 into dotnet:mainMay 31, 2022

@jozkeejozkee left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@jeffhandley@jozkee
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Add zip files with password encryption - #244

Merged
jeffhandley merged 1 commit into
dotnet:mainfrom
jeffhandley:jeffhandley/zippassword
May 31, 2022
Merged

Add zip files with password encryption#244
jeffhandley merged 1 commit into
dotnet:mainfrom
jeffhandley:jeffhandley/zippassword

Conversation

@jeffhandley

@jeffhandleyjeffhandley commented May 21, 2022

Copy link
Copy Markdown
Member

In preparation for a PR that implements dotnet/runtime#68897, adding an ZipArchiveEntry.IsEncrypted property, this PR adds 3 zip files for testing.

  • encrypted_entries_weak.zip includes 2 entries with "weak" (ZipCrypto) encryption and 2 entries that are unencrypted
  • encrypted_entries_aes256.zip includes 2 entries with "strong" (AES-256) encryption and 2 entries that are unencrypted
  • encrypted_entries_mixed.zip includes 1 entry with "weak", 1 entry with "strong", and 2 entries with no encryption

For each encrypted entry, there is a comment on the entry indicating what the password for that entry is. Each file contains a small amount of content, with simply FileName: <filename-without-ext>.

@jeffhandley
jeffhandley requested a review from jozkeeMay 21, 2022 00:24
@jeffhandley
jeffhandley enabled auto-merge (squash) May 21, 2022 00:32
@jozkee

Copy link
Copy Markdown
Member
  1. I see the entries are blank, which is OK for ZipArchiveEntry.IsEncrypted, but if the files were not empty, we could re-use the assets for the tests of the rest of the Zip entryption APIs (check the contents are correctly preserved/not garbled).
  2. encrypted_entries_mixed.zip doesn't have the password in the Comment.
    image

@jeffhandley
jeffhandleyforce-pushed the jeffhandley/zippassword branch from e58779b to 0a8df49CompareMay 29, 2022 00:37
@jeffhandley

Copy link
Copy Markdown
MemberAuthor

@jozkee Thanks for the feedback on this. I updated the zips to:

  1. Put contents into each file (simply Filename: <filename-without-extension>)
  2. Rename the "strong" file to "aes256" in case we want to extend the coverage later
  3. Ensure all encrypted files have comments with their passwords (and changed the "mixed" passwords to be different between encrypted entries)

@jeffhandley

Copy link
Copy Markdown
MemberAuthor

Here's the branch where the feature is implemented and the tests can be seen:
https://github.com/dotnet/runtime/compare/main...jeffhandley:jeffhandley/zippassword?expand=1

@jeffhandley
jeffhandley merged commit 0920468 into dotnet:mainMay 31, 2022

@jozkeejozkee left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@jeffhandley@jozkee
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Add zip files with password encryption - #244

Merged
jeffhandley merged 1 commit into
dotnet:mainfrom
jeffhandley:jeffhandley/zippassword
May 31, 2022
Merged

Add zip files with password encryption#244
jeffhandley merged 1 commit into
dotnet:mainfrom
jeffhandley:jeffhandley/zippassword

Conversation

@jeffhandley

@jeffhandleyjeffhandley commented May 21, 2022

Copy link
Copy Markdown
Member

In preparation for a PR that implements dotnet/runtime#68897, adding an ZipArchiveEntry.IsEncrypted property, this PR adds 3 zip files for testing.

  • encrypted_entries_weak.zip includes 2 entries with "weak" (ZipCrypto) encryption and 2 entries that are unencrypted
  • encrypted_entries_aes256.zip includes 2 entries with "strong" (AES-256) encryption and 2 entries that are unencrypted
  • encrypted_entries_mixed.zip includes 1 entry with "weak", 1 entry with "strong", and 2 entries with no encryption

For each encrypted entry, there is a comment on the entry indicating what the password for that entry is. Each file contains a small amount of content, with simply FileName: <filename-without-ext>.

@jeffhandley
jeffhandley requested a review from jozkeeMay 21, 2022 00:24
@jeffhandley
jeffhandley enabled auto-merge (squash) May 21, 2022 00:32
@jozkee

Copy link
Copy Markdown
Member
  1. I see the entries are blank, which is OK for ZipArchiveEntry.IsEncrypted, but if the files were not empty, we could re-use the assets for the tests of the rest of the Zip entryption APIs (check the contents are correctly preserved/not garbled).
  2. encrypted_entries_mixed.zip doesn't have the password in the Comment.
    image

@jeffhandley
jeffhandleyforce-pushed the jeffhandley/zippassword branch from e58779b to 0a8df49CompareMay 29, 2022 00:37
@jeffhandley

Copy link
Copy Markdown
MemberAuthor

@jozkee Thanks for the feedback on this. I updated the zips to:

  1. Put contents into each file (simply Filename: <filename-without-extension>)
  2. Rename the "strong" file to "aes256" in case we want to extend the coverage later
  3. Ensure all encrypted files have comments with their passwords (and changed the "mixed" passwords to be different between encrypted entries)

@jeffhandley

Copy link
Copy Markdown
MemberAuthor

Here's the branch where the feature is implemented and the tests can be seen:
https://github.com/dotnet/runtime/compare/main...jeffhandley:jeffhandley/zippassword?expand=1

@jeffhandley
jeffhandley merged commit 0920468 into dotnet:mainMay 31, 2022

@jozkeejozkee left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@jeffhandley@jozkee
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Add zip files with password encryption - #244

Merged
jeffhandley merged 1 commit into
dotnet:mainfrom
jeffhandley:jeffhandley/zippassword
May 31, 2022
Merged

Add zip files with password encryption#244
jeffhandley merged 1 commit into
dotnet:mainfrom
jeffhandley:jeffhandley/zippassword

Conversation

@jeffhandley

@jeffhandleyjeffhandley commented May 21, 2022

Copy link
Copy Markdown
Member

In preparation for a PR that implements dotnet/runtime#68897, adding an ZipArchiveEntry.IsEncrypted property, this PR adds 3 zip files for testing.

  • encrypted_entries_weak.zip includes 2 entries with "weak" (ZipCrypto) encryption and 2 entries that are unencrypted
  • encrypted_entries_aes256.zip includes 2 entries with "strong" (AES-256) encryption and 2 entries that are unencrypted
  • encrypted_entries_mixed.zip includes 1 entry with "weak", 1 entry with "strong", and 2 entries with no encryption

For each encrypted entry, there is a comment on the entry indicating what the password for that entry is. Each file contains a small amount of content, with simply FileName: <filename-without-ext>.

@jeffhandley
jeffhandley requested a review from jozkeeMay 21, 2022 00:24
@jeffhandley
jeffhandley enabled auto-merge (squash) May 21, 2022 00:32
@jozkee

Copy link
Copy Markdown
Member
  1. I see the entries are blank, which is OK for ZipArchiveEntry.IsEncrypted, but if the files were not empty, we could re-use the assets for the tests of the rest of the Zip entryption APIs (check the contents are correctly preserved/not garbled).
  2. encrypted_entries_mixed.zip doesn't have the password in the Comment.
    image

@jeffhandley
jeffhandleyforce-pushed the jeffhandley/zippassword branch from e58779b to 0a8df49CompareMay 29, 2022 00:37
@jeffhandley

Copy link
Copy Markdown
MemberAuthor

@jozkee Thanks for the feedback on this. I updated the zips to:

  1. Put contents into each file (simply Filename: <filename-without-extension>)
  2. Rename the "strong" file to "aes256" in case we want to extend the coverage later
  3. Ensure all encrypted files have comments with their passwords (and changed the "mixed" passwords to be different between encrypted entries)

@jeffhandley

Copy link
Copy Markdown
MemberAuthor

Here's the branch where the feature is implemented and the tests can be seen:
https://github.com/dotnet/runtime/compare/main...jeffhandley:jeffhandley/zippassword?expand=1

@jeffhandley
jeffhandley merged commit 0920468 into dotnet:mainMay 31, 2022

@jozkeejozkee left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@jeffhandley@jozkee
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Add zip files with password encryption - #244

Merged
jeffhandley merged 1 commit into
dotnet:mainfrom
jeffhandley:jeffhandley/zippassword
May 31, 2022
Merged

Add zip files with password encryption#244
jeffhandley merged 1 commit into
dotnet:mainfrom
jeffhandley:jeffhandley/zippassword

Conversation

@jeffhandley

@jeffhandleyjeffhandley commented May 21, 2022

Copy link
Copy Markdown
Member

In preparation for a PR that implements dotnet/runtime#68897, adding an ZipArchiveEntry.IsEncrypted property, this PR adds 3 zip files for testing.

  • encrypted_entries_weak.zip includes 2 entries with "weak" (ZipCrypto) encryption and 2 entries that are unencrypted
  • encrypted_entries_aes256.zip includes 2 entries with "strong" (AES-256) encryption and 2 entries that are unencrypted
  • encrypted_entries_mixed.zip includes 1 entry with "weak", 1 entry with "strong", and 2 entries with no encryption

For each encrypted entry, there is a comment on the entry indicating what the password for that entry is. Each file contains a small amount of content, with simply FileName: <filename-without-ext>.

@jeffhandley
jeffhandley requested a review from jozkeeMay 21, 2022 00:24
@jeffhandley
jeffhandley enabled auto-merge (squash) May 21, 2022 00:32
@jozkee

Copy link
Copy Markdown
Member
  1. I see the entries are blank, which is OK for ZipArchiveEntry.IsEncrypted, but if the files were not empty, we could re-use the assets for the tests of the rest of the Zip entryption APIs (check the contents are correctly preserved/not garbled).
  2. encrypted_entries_mixed.zip doesn't have the password in the Comment.
    image

@jeffhandley
jeffhandleyforce-pushed the jeffhandley/zippassword branch from e58779b to 0a8df49CompareMay 29, 2022 00:37
@jeffhandley

Copy link
Copy Markdown
MemberAuthor

@jozkee Thanks for the feedback on this. I updated the zips to:

  1. Put contents into each file (simply Filename: <filename-without-extension>)
  2. Rename the "strong" file to "aes256" in case we want to extend the coverage later
  3. Ensure all encrypted files have comments with their passwords (and changed the "mixed" passwords to be different between encrypted entries)

@jeffhandley

Copy link
Copy Markdown
MemberAuthor

Here's the branch where the feature is implemented and the tests can be seen:
https://github.com/dotnet/runtime/compare/main...jeffhandley:jeffhandley/zippassword?expand=1

@jeffhandley
jeffhandley merged commit 0920468 into dotnet:mainMay 31, 2022

@jozkeejozkee left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@jeffhandley@jozkee
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Add zip files with password encryption - #244

Merged
jeffhandley merged 1 commit into
dotnet:mainfrom
jeffhandley:jeffhandley/zippassword
May 31, 2022
Merged

Add zip files with password encryption#244
jeffhandley merged 1 commit into
dotnet:mainfrom
jeffhandley:jeffhandley/zippassword

Conversation

@jeffhandley

@jeffhandleyjeffhandley commented May 21, 2022

Copy link
Copy Markdown
Member

In preparation for a PR that implements dotnet/runtime#68897, adding an ZipArchiveEntry.IsEncrypted property, this PR adds 3 zip files for testing.

  • encrypted_entries_weak.zip includes 2 entries with "weak" (ZipCrypto) encryption and 2 entries that are unencrypted
  • encrypted_entries_aes256.zip includes 2 entries with "strong" (AES-256) encryption and 2 entries that are unencrypted
  • encrypted_entries_mixed.zip includes 1 entry with "weak", 1 entry with "strong", and 2 entries with no encryption

For each encrypted entry, there is a comment on the entry indicating what the password for that entry is. Each file contains a small amount of content, with simply FileName: <filename-without-ext>.

@jeffhandley
jeffhandley requested a review from jozkeeMay 21, 2022 00:24
@jeffhandley
jeffhandley enabled auto-merge (squash) May 21, 2022 00:32
@jozkee

Copy link
Copy Markdown
Member
  1. I see the entries are blank, which is OK for ZipArchiveEntry.IsEncrypted, but if the files were not empty, we could re-use the assets for the tests of the rest of the Zip entryption APIs (check the contents are correctly preserved/not garbled).
  2. encrypted_entries_mixed.zip doesn't have the password in the Comment.
    image

@jeffhandley
jeffhandleyforce-pushed the jeffhandley/zippassword branch from e58779b to 0a8df49CompareMay 29, 2022 00:37
@jeffhandley

Copy link
Copy Markdown
MemberAuthor

@jozkee Thanks for the feedback on this. I updated the zips to:

  1. Put contents into each file (simply Filename: <filename-without-extension>)
  2. Rename the "strong" file to "aes256" in case we want to extend the coverage later
  3. Ensure all encrypted files have comments with their passwords (and changed the "mixed" passwords to be different between encrypted entries)

@jeffhandley

Copy link
Copy Markdown
MemberAuthor

Here's the branch where the feature is implemented and the tests can be seen:
https://github.com/dotnet/runtime/compare/main...jeffhandley:jeffhandley/zippassword?expand=1

@jeffhandley
jeffhandley merged commit 0920468 into dotnet:mainMay 31, 2022

@jozkeejozkee left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@jeffhandley@jozkee
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Add zip files with password encryption - #244

Merged
jeffhandley merged 1 commit into
dotnet:mainfrom
jeffhandley:jeffhandley/zippassword
May 31, 2022
Merged

Add zip files with password encryption#244
jeffhandley merged 1 commit into
dotnet:mainfrom
jeffhandley:jeffhandley/zippassword

Conversation

@jeffhandley

@jeffhandleyjeffhandley commented May 21, 2022

Copy link
Copy Markdown
Member

In preparation for a PR that implements dotnet/runtime#68897, adding an ZipArchiveEntry.IsEncrypted property, this PR adds 3 zip files for testing.

  • encrypted_entries_weak.zip includes 2 entries with "weak" (ZipCrypto) encryption and 2 entries that are unencrypted
  • encrypted_entries_aes256.zip includes 2 entries with "strong" (AES-256) encryption and 2 entries that are unencrypted
  • encrypted_entries_mixed.zip includes 1 entry with "weak", 1 entry with "strong", and 2 entries with no encryption

For each encrypted entry, there is a comment on the entry indicating what the password for that entry is. Each file contains a small amount of content, with simply FileName: <filename-without-ext>.

@jeffhandley
jeffhandley requested a review from jozkeeMay 21, 2022 00:24
@jeffhandley
jeffhandley enabled auto-merge (squash) May 21, 2022 00:32
@jozkee

Copy link
Copy Markdown
Member
  1. I see the entries are blank, which is OK for ZipArchiveEntry.IsEncrypted, but if the files were not empty, we could re-use the assets for the tests of the rest of the Zip entryption APIs (check the contents are correctly preserved/not garbled).
  2. encrypted_entries_mixed.zip doesn't have the password in the Comment.
    image

@jeffhandley
jeffhandleyforce-pushed the jeffhandley/zippassword branch from e58779b to 0a8df49CompareMay 29, 2022 00:37
@jeffhandley

Copy link
Copy Markdown
MemberAuthor

@jozkee Thanks for the feedback on this. I updated the zips to:

  1. Put contents into each file (simply Filename: <filename-without-extension>)
  2. Rename the "strong" file to "aes256" in case we want to extend the coverage later
  3. Ensure all encrypted files have comments with their passwords (and changed the "mixed" passwords to be different between encrypted entries)

@jeffhandley

Copy link
Copy Markdown
MemberAuthor

Here's the branch where the feature is implemented and the tests can be seen:
https://github.com/dotnet/runtime/compare/main...jeffhandley:jeffhandley/zippassword?expand=1

@jeffhandley
jeffhandley merged commit 0920468 into dotnet:mainMay 31, 2022

@jozkeejozkee left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@jeffhandley@jozkee