3,611 karma · joined April 24, 2011
Vim and emacs also have their own shortcuts for accessing the clipboard buffer.
[1] http://www.nongnu.org/autocutsel/
[2] Sample .zshrc to map edit-command-line to Ctrl-x e:
autoload edit-command-line
zle -N edit-command-line
bindkey '^Xe' edit-command-line
edit: fixed shortcut for bashedit: forgot about my .zshrc
Back to the original topic, I think auto-save and undo obsolete the save button.
[1] https://developer.apple.com/technologies/safari/developer-to...
[2] this site has chrome screenshots, but it's what safari 5 dev tools looked like: https://developers.google.com/chrome-developer-tools/docs/ov...
The registrar I'm using is about $48/year [1] with no price bumps for renewals.
currentDateEpoch=$(date +%s)
expirationDate=$(openssl x509 -in $my_cert -enddate -noout | sed 's/notAfter=//' | date -f -)
expirationDateEpoch=$(date -d "$expirationDate" +%s)
diff=$((expirationDateEpoch - currentDateEpoch))
oneMonthInSeconds=$((30 * 24 * 3600))
oneWeekInSeconds=$((7 * 24 * 3600))
if [ "$diff" -lt $oneWeekInSeconds ]; then
printf "Certificate $my_cert needs to be renewed! Expires on $(date -d "$expirationDate" +"%B %_d, %Y")\n" >&2
exit 3
fi
if [ "$diff" -lt $oneMonthInSeconds ]; then
printf "Certificate $my_cert expires in less than a month! Expires on $(date -d "$expirationDate" +"%B %_d, %Y")\n" >&2
else
printf "Note: certificate $my_cert expires on $(date -d "$expirationDate" +"%B %_d, %Y")\n" >&2
fiThe dev branch is officially upgraded to stable infrequently, maybe once a year.
[1] http://cdn.gottabemobile.com/wp-content/uploads/2012/05/thin...
[1] https://developer.mozilla.org/en-US/docs/HTTP/X-Frame-Option...
It sounds a lot nicer than it is, much like "we never charge for bandwidth".
It doesn't seem so ludicrous if it works.
No key derivation function will protect from very short passwords, which is effectively the scenario here as the author is helping the attacker narrow number of possible passwords to 22472.
As a side note, my interpretation is that the author's password is longer than 6 characters, and he cannot remember 6 of the characters.
The relevant commit [2] and an explanations of equivalent vulnerabilities [3][4]
[1] http://www.youtube.com/watch?v=ehxjAq59xEw
[2] https://github.com/rack/rack/commit/0cd7e9aa397f8ebb3b8481d6...
[3] http://rdist.root.org/2009/05/28/timing-attack-in-google-key...
Both kdf and cipher are used during single file encryption with openssl and the scrypt command line utility. Openssl implicitly uses a md5 as a kdf during encryption [1.1][1.2]. Cast5 requires a 128bit key, and the kdf helps stretch the user's password to fit this key requirement.
I can understand the confusion, as scrypt is typically referenced in kdf discussions. It's actually somewhat difficult to extract the kdf functionality from the scrypt source code because the code is geared towards single file encryption. See this post for a confused q&a with scrypt's author [2]. Wrappers around scrypt like this python package[3] have made the "mistake" of using the entire encryption pipeline when they just wanted the kdf. Using scrypt in this manner should still be safe, but it will waste some cpu cycles on aes.
[1.1] http://www.openssl.org/docs/apps/enc.html
[1.2] http://www.openssl.org/docs/crypto/EVP_BytesToKey.html
The disadvantage is that you'll need to compile scrypt from source.
[1] http://www.tarsnap.com/scrypt.html
[2] slide 20: http://www.tarsnap.com/scrypt/scrypt-slides.pdf
[3] slide 19: http://www.tarsnap.com/scrypt/scrypt-slides.pdf
> Is the event data incorrect? Then the problem is in the code that triggers the event.
> Is the event data correct? Then the problem is in the code listening to the event.
It's difficult to reason about the event triggering code when it's call stack is not available. For a larger code base where an event is trigger in multiple locations with different logic in each location, it may be difficult to pinpoint the triggering code, let alone reason about that code. Direct function calls are much easier to debug because you can walk up the chain of calls and inspect the variables and state of each frame.
You're correct that this won't protect against a MITM during this first visit and will cause confusion if an attacker pins his fraudulent public key. However, I would argue that pinning provides a large net security gain in practice. The same model of vulnerable initial visit but secure subsequent visits is used in HSTS to prevent ssl stripping attacks.