Browse Source

Turn off errexit option when detecting the apg command

Commit f32ac38c2f
allows to use pwgen to generate the initial password at the first
installation. However it won't work when apg isn't installed because:

* the postinst script has errexit option set ("set -e")
* at the first installation of ss-libev, apg or pwgen will be called to
  generate the initial password in config.json
* when apg isn't installed, "pathfind apg" would return 1
* and the postinst script will immediately exit due to "set -e"

This commit temporarily turn off the errexit option for pathfind()
pull/1352/head
Rick Lei 7 years ago
committed by Max Lv
parent
commit
e63de4ce23
1 changed files with 2 additions and 0 deletions
  1. 2
      debian/shadowsocks-libev.postinst

2
debian/shadowsocks-libev.postinst

@ -26,12 +26,14 @@ case "$1" in
cap_net_bind_service+ep /usr/bin/ss-server \
cap_net_bind_service+ep /usr/bin/ss-tunnel
if [ ! -f /etc/shadowsocks-libev/config.json ]; then
set +e
pathfind apg
if [ $? -eq 0 ]; then
passwd=$(apg -n 1 -M ncl)
else
passwd=$(pwgen 12 1)
fi
set -e
mkdir -p /etc/shadowsocks-libev
sed "s/barfoo!/$passwd/" /usr/share/shadowsocks-libev/config.json \
> /etc/shadowsocks-libev/config.json

Loading…
Cancel
Save