From ff651fa9483a59cccc59d78d1a78d2b946bb552f Mon Sep 17 00:00:00 2001 From: Gregory Anders Date: Mon, 3 May 2021 17:33:02 -0600 Subject: [PATCH] Simplify CSP --- content/blog/caching-ldap-queries-in-mutt.md | 31 +++++++++++++++++++- netlify.toml | 9 ++---- 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/content/blog/caching-ldap-queries-in-mutt.md b/content/blog/caching-ldap-queries-in-mutt.md index 00b7659..6294d00 100644 --- a/content/blog/caching-ldap-queries-in-mutt.md +++ b/content/blog/caching-ldap-queries-in-mutt.md @@ -17,7 +17,36 @@ future recipients can be found in the aliases file, which is significantly faster. The following script does exactly this: -{{< gist gpanders e700b59c49d26528a93246a4c3c8facf >}} + +```bash +#!/bin/bash +# Query lbdbq and save results to Mutt alias file + +set -e + +# Mutt aliases file to save results to +ALIASES="$HOME/.cache/mutt/aliases" + +# Only save email addresses from $DOMAIN. Leave empty to save all email addresses +DOMAIN="example.com" + +query_and_cache() { + results=$(lbdbq "$@" 2>/dev/null) + + printf '%s\n' "$results" + + # Remove first line from results + results=$(sed '1d' <<< "$results") + + # Format results like mutt aliases + sed -E $'s/^([[:alnum:]_.]+)@([[:alnum:]_.]+)\t([[:alnum:] -]+)/alias \\1 \\1@\\2 (\\3)/' <<< "$results" | awk -v domain="$DOMAIN" '$3 ~ domain {$2=tolower($2);print}' >> "$ALIASES" + + # Sort and remove duplicates + sort -u -o "$ALIASES" "$ALIASES" + +} +query_and_cache "$@" +``` The script queries your LDAP server using `lbdbq` and returns those "raw" results to Mutt so that you can make your selection. However, it also reformats diff --git a/netlify.toml b/netlify.toml index 4eca1ff..1a7aedb 100644 --- a/netlify.toml +++ b/netlify.toml @@ -16,16 +16,11 @@ [[headers]] for = "/*" [headers.values] - Content-Security-Policy = "default-src 'self'; script-src 'self' 'sha256-8S1XWfApyYBGTRzR9CQ2UBCcYX34oUCUVY/1zndCEd4='; img-src 'self' https://stats.gpanders.com/count" + Content-Security-Policy = "default-src 'self'; script-src 'self' 'sha256-8S1XWfApyYBGTRzR9CQ2UBCcYX34oUCUVY/1zndCEd4='" X-Content-Type-Options = "nosniff" X-Frame-Options = "SAMEORIGIN" -[[headers]] - for = "/blog/caching-ldap-queries-in-mutt/" - [headers.values] - Content-Security-Policy = "default-src 'self'; script-src 'self' 'sha256-8S1XWfApyYBGTRzR9CQ2UBCcYX34oUCUVY/1zndCEd4='; img-src 'self' https://stats.gpanders.com/count; script-src 'self' https://gist.github.com; style-src 'self' 'unsafe-inline' https://github.githubassets.com" - [[headers]] for = "/blog/introducing-ijq/" [headers.values] - Content-Security-Policy = "default-src 'self'; script-src 'self' 'sha256-8S1XWfApyYBGTRzR9CQ2UBCcYX34oUCUVY/1zndCEd4='; img-src 'self' https://stats.gpanders.com/count https://asciinema.org" + Content-Security-Policy = "default-src 'self'; script-src 'self' 'sha256-8S1XWfApyYBGTRzR9CQ2UBCcYX34oUCUVY/1zndCEd4='" -- 2.38.5