Hopefully an example ssh config will follow.
[WayBack] Jeroen Pluimers on Twitter: “Would you mind sharing a trimmed down version of your ~/.ssh/config file? The bits from your posts are a bit fragmented now, so I’ve lost the overview (:”
–jeroen
Posted by jpluimers on 2021/08/10
Hopefully an example ssh config will follow.
[WayBack] Jeroen Pluimers on Twitter: “Would you mind sharing a trimmed down version of your ~/.ssh/config file? The bits from your posts are a bit fragmented now, so I’ve lost the overview (:”
–jeroen
Posted in *nix, Communications Development, Development, Internet protocol suite, Power User, SSH, ssh/sshd, TCP | Leave a Comment »
Posted by jpluimers on 2021/08/10
*n*x:
# nslookup -type=TXT amazonses.com | grep "v=spf1" amazonses.com text = "v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:76.223.180.0/23 ip4:76.223.188.0/24 ip4:76.223.189.0/24 ip4:76.223.190.0/24 -all"I
Windows
C:\>nslookup -type=TXT amazonses.com | find "v=spf1" Non-authoritative answer: "v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:76.223.180.0/23 ip4:76.223.188.0/24 ip4:76.223.189.0/24 ip4:76.223.190.0/24 -all"
These addresses use a compact CIDR notation to denote ranges of networks containing ranges of network IPv4 addresses.
(this is linux sendmail only)
Converting the nslookup outout to a CIDR based sendmail /etc/mail/access excerpt goes via a pipe sequence of multiple sed
commands:
# nslookup -type=TXT amazonses.com | grep "v=spf1" | sed 's/\(^.*"v=spf1 ip4:\| -all"$\)//g' | sed 's/\ ip4:/\n/g' | xargs -I {} sh -c "prips {} | sed 's/$/\tRELAY/g'" 199.255.192.0 RELAY 199.255.192.1 RELAY ... 76.223.190.254 RELAY 76.223.190.255 RELAY
What happens here is this:
spf1
records using grep
..*v=spf1 ip4:
) and tail ( -all"
) of the output, see [WayBack] use of alternation “|” in sed’s regex – Super User. ip4:
with newlines (so the output get split over multiple lines), see [WayBack] linux – splitting single line into multiple line in numbering format using awk – Stack Overflow.xargs
with the sh
trick to split the CIDR list into separate arguments, and prips
(which prints the IP addresses for a CIDR); see:
xargs
with sh
: [WayBack] shell – Piping commands after a piped xargs – Unix & Linux Stack Exchangeprips
: [WayBack] prips / Prips · GitLab and [WayBack] Sendmail Open Source FAQs 0 (PDF).cidrexpand
(which requires Perl), see [WayBack] sendmail access file and cidrexpand and [WayBack] cidrexpand in sendmail | source code search engine$
) with a tab followed by RELAY
, see
You can append the output of this command to /etc/mail/access
, then re-generate /etc/mail/access.db
and restart sendmail
; see for instance [WayBack] sendmail access.db by example | LinuxWebLog.com.
Without the xargs
, the output would look like this:
# nslookup -type=TXT amazonses.com | grep "v=spf1" | sed 's/\(^.*"v=spf1 ip4:\| -all"$\)//g' | sed 's/\ ip4:/\n/g' 199.255.192.0/22 199.127.232.0/22 54.240.0.0/18 69.169.224.0/20 76.223.180.0/23 76.223.188.0/24 76.223.189.0/24 76.223.190.0/24
–jeroen
Posted in *nix, *nix-tools, Amazon SES, Amazon.com/.de/.fr/.uk/..., Cloud, Communications Development, Development, Infrastructure, Internet protocol suite, Power User, sendmail, SMTP, Software Development | Leave a Comment »
Posted by jpluimers on 2021/08/10
There is a very tricky compiler and IDE issue in Delphi 10.2 and up that on the compiler site behaves differently from Delphi 1.10.1 Berlin, and on the IDE side stays the same from Delphi 2005 on.
The issue baffled me, as lot’s features were not added in the Delphi compiler because of backward compatibility reasons.
The problem is that the compiler now favours the unit search path over the paths specified in the .dpr. This breaks compatibility with earlier versions and the IDE: the IDE still thinks pathnames in the .dpr files are the ones to follow.
There are some permutations on this problem, of which a few ones below.
This results in Delphi 1..10.1 Berlin to error on compiling the project (because the unit is not found), but 10.2 and up succeeding (because the unit is found).
Another permutation is this one:
Yet another permutation:
This works the same in all versions of Delphi: the unit file referenced in the .dpr is compiled.
Via: [WayBack] Jeroen Pluimers on Twitter: “Delphi 10.2 Tokyo and 10.3 Rio compilers break Delphi 1…10.1 Berlin behaviour. Still reproducing and researching the consequences. It for instance means stuff suddenly compiles when it should not, or breaks when it should not. Preliminary reproduction at “
[WayBack] wiert.me / public / delphi / DelphiConsoleProjectWithMissingProjectUnitThatIsOnTheSearchPath · GitLab
–jeroen
Posted in Delphi, Development, Software Development | Leave a Comment »