|
@@ -959,6 +959,23 @@ function monkeysphere_sign_server_keys {
|
959
|
959
|
exit 0
|
960
|
960
|
}
|
961
|
961
|
|
|
962
|
+function blog_hash {
|
|
963
|
+ # produces a hash corresponding to a blog password
|
|
964
|
+ pass="$1"
|
|
965
|
+ BLOGHASH_FILENAME=/usr/bin/bloghash
|
|
966
|
+
|
|
967
|
+ echo '<?php' > $BLOGHASH_FILENAME
|
|
968
|
+ echo 'parse_str(implode("&", array_slice($argv, 1)), $_GET);' >> $BLOGHASH_FILENAME
|
|
969
|
+ echo '$password = $_GET["password"];' >> $BLOGHASH_FILENAME
|
|
970
|
+ echo '$hash = password_hash($password, PASSWORD_BCRYPT);' >> $BLOGHASH_FILENAME
|
|
971
|
+ echo 'if (password_verify($password, $hash)) {' >> $BLOGHASH_FILENAME
|
|
972
|
+ echo ' echo $hash;' >> $BLOGHASH_FILENAME
|
|
973
|
+ echo '}' >> $BLOGHASH_FILENAME
|
|
974
|
+ echo '?>' >> $BLOGHASH_FILENAME
|
|
975
|
+
|
|
976
|
+ php $BLOGHASH_FILENAME password="$pass"
|
|
977
|
+}
|
|
978
|
+
|
962
|
979
|
function show_help {
|
963
|
980
|
echo ''
|
964
|
981
|
echo "${PROJECT_NAME}-sec"
|
|
@@ -972,6 +989,7 @@ function show_help {
|
972
|
989
|
echo $' -r --refresh Refresh GPG keys for all users'
|
973
|
990
|
echo $' -s --sign Sign monkeysphere server keys'
|
974
|
991
|
echo $' --register [domain] Register a https domain with monkeysphere'
|
|
992
|
+ echo $' -b --bloghash [password] Returns the hash of a password for the blog'
|
975
|
993
|
echo ''
|
976
|
994
|
exit 0
|
977
|
995
|
}
|
|
@@ -1011,6 +1029,12 @@ case $key in
|
1011
|
1029
|
shift
|
1012
|
1030
|
monkeysphere_sign_server_keys
|
1013
|
1031
|
;;
|
|
1032
|
+ # get a hash of the given blog password
|
|
1033
|
+ -b|--bloghash)
|
|
1034
|
+ shift
|
|
1035
|
+ blog_hash "$1"
|
|
1036
|
+ exit 0
|
|
1037
|
+ ;;
|
1014
|
1038
|
*)
|
1015
|
1039
|
# unknown option
|
1016
|
1040
|
;;
|