# # # patch "debian/examples/hooks.lua" # from [8515f74188693e01a8229d6e4776cfa7bb860d1d] # to [35101902cf533dcaa328221e80bcf65a4b5b3072] # # patch "debian/monotone-server.config" # from [38136433339c76f732f01da4c21a0cad7a58a5d7] # to [b6ba33d256ae2e8df67ad7bab9a82d7960567278] # # patch "debian/monotone-server.postinst" # from [54c914a14353a0ba4813bdaf338696ae0e82554a] # to [5de45041c31f76408b2a661336beb84d49d7213b] # ============================================================ --- debian/examples/hooks.lua 8515f74188693e01a8229d6e4776cfa7bb860d1d +++ debian/examples/hooks.lua 35101902cf533dcaa328221e80bcf65a4b5b3072 @@ -8,7 +8,7 @@ end local line = permfile:read() while (line ~= nil) do - local _, _, key, passphrase = string.find(line, "%s*([^%s]*)%s*([^%s]*)%s*") + local _, _, key, passphrase = string.find(line, "%s*([^%s]*)%s*\"(.*)\"%s*") if keypair_id == key then return passphrase end line = permfile:read() end ============================================================ --- debian/monotone-server.config 38136433339c76f732f01da4c21a0cad7a58a5d7 +++ debian/monotone-server.config b6ba33d256ae2e8df67ad7bab9a82d7960567278 @@ -39,23 +39,45 @@ # make sure we should manage things db_get monotone-server/manage-db - if [ "$RET" = false ]; then - exit 0 - fi + if [ "$RET" = "true" ]; then - db_input low monotone-server/key || true - db_input low monotone-server/passphrase || true - db_go || true + db_input low monotone-server/key || true + db_input low monotone-server/passphrase || true + db_go || true - # no passphrase was entered, generate one - # make sure this is the initial configuration - db_get monotone-server/passphrase - if [ -z "$RET" ] && [ -z "$2" ]; then - gen_pass - db_set monotone-server/passphrase "$PASS" + # no passphrase was entered, generate one + # make sure this is the initial configuration + db_get monotone-server/passphrase + if [ -z "$RET" ] && [ -z "$2" ]; then + gen_pass + db_set monotone-server/passphrase "$PASS" + fi fi ;; reconfigure) + db_input medium monotone-server/manage-db || true + db_go || true + + # make sure we should manage things + db_get monotone-server/manage-db + if [ "$RET" = "true" ]; then + db_input low monotone-server/key || true + db_input low monotone-server/passphrase || true + db_go || true + + # Now let's store the passphrase and key in a file. We only do + # this on reconfigure, postinst handles this in all other cases. + MTN_CONFDIR=/etc/monotone + + db_get monotone-server/key + MTN_KEY="$RET" + + db_get monotone-server/passphrase + MTN_KEY_PASSWD="$RET" + + echo "$MTN_KEY \"$MTN_KEY_PASSWD\"" > $MTN_CONFDIR/passphrases + db_set monotone-server/passphrase "" + fi ;; *) echo "config called with unknown argument \`$1'" >&2 ============================================================ --- debian/monotone-server.postinst 54c914a14353a0ba4813bdaf338696ae0e82554a +++ debian/monotone-server.postinst 5de45041c31f76408b2a661336beb84d49d7213b @@ -57,15 +57,14 @@ db_get monotone-server/manage-db if [ "$RET" = "true" ]; then + db_get monotone-server/key + MTN_KEY=$RET # read our passphrase from a file if [ -e "$MTN_CONFDIR/passphrases" ]; then - db_set monotone-server/passphrase "`cat $MTN_CONFDIR/passphrases | awk '{print $2}'`" + db_set monotone-server/passphrase "`grep "$MTN_KEY" $MTN_CONFDIR/passphrases | awk -F ' "|" "|" |"' '{print $2}'`" fi - db_get monotone-server/key - MTN_KEY=$RET - db_get monotone-server/passphrase MTN_KEY_PASSWD=$RET @@ -118,7 +117,7 @@ information on manually upgrading your database." >&2) fi - echo "$MTN_KEY $MTN_KEY_PASSWD" > $MTN_CONFDIR/passphrases + echo "$MTN_KEY \"$MTN_KEY_PASSWD\"" > $MTN_CONFDIR/passphrases chown monotone:monotone $MTN_CONFDIR/passphrases chmod 0400 $MTN_CONFDIR/passphrases db_set monotone-server/passphrase ""