mirror of
https://github.com/yacy/yacy_search_server.git
synced 2024-09-19 00:01:41 +02:00
Updated Debian package post install script admin password encoding.
To fit the now default HTTP authentication method set to Digest in
commit f7fce1b
.
Also fixed unauthenticated access from localhost setting when first
installing the Debian package and letting the prompted password field
empty.
This commit is contained in:
parent
7623d7728f
commit
b297f5bdbe
53
debian/postinst
vendored
53
debian/postinst
vendored
|
@ -44,16 +44,20 @@ CONFIGFILE=/var/lib/yacy/SETTINGS/yacy.conf
|
||||||
|
|
||||||
. /usr/share/debconf/confmodule
|
. /usr/share/debconf/confmodule
|
||||||
|
|
||||||
# Generate config file, if it doesn't exist.
|
if [ -e $CONFIGFILE ]; then
|
||||||
if [ ! -e $CONFIGFILE ]; then
|
ADMIN_LOGIN=$(grep ^adminAccountUserName= "$CONFIGFILE" | cut -d= -f2 | tr -d '\r\n')
|
||||||
mkdir -p /var/lib/yacy/SETTINGS
|
ADMIN_REALM=$(grep "^adminRealm=" "$CONFIGFILE" | cut -d= -f2 | tr -d '\r\n')
|
||||||
echo "# Initial configfile from debconf" > $CONFIGFILE
|
else
|
||||||
echo "peerName=$HOSTNAME" >> $CONFIGFILE
|
ADMIN_LOGIN=$(grep ^adminAccountUserName= /usr/share/yacy/defaults/yacy.init | cut -d= -f2 | tr -d '\r\n')
|
||||||
echo "adminAccountBase64MD5=" >> $CONFIGFILE
|
ADMIN_REALM=$(grep "^adminRealm=" /usr/share/yacy/defaults/yacy.init | cut -d= -f2 | tr -d '\r\n')
|
||||||
echo "network.unit.definition=defaults/yacy.network.freeworld.unit" >> $CONFIGFILE
|
fi
|
||||||
echo "adminAccountForLocalhost=false" >> $CONFIGFILE
|
|
||||||
echo "javastart_Xmx=Xmx600m" >> $CONFIGFILE
|
# admin user name and realm should not be empty : by the way, in that case use the same default values as in YaCy application
|
||||||
echo "javastart_Xms=Xmx600m" >> $CONFIGFILE
|
if [ -z "$ADMIN_LOGIN" ]; then
|
||||||
|
ADMIN_LOGIN="admin"
|
||||||
|
fi
|
||||||
|
if [ -z "$ADMIN_REALM" ]; then
|
||||||
|
ADMIN_REALM="YaCy"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Substitute in the values from the debconf db.
|
# Substitute in the values from the debconf db.
|
||||||
|
@ -65,13 +69,33 @@ PEERNAME="$RET"
|
||||||
db_get yacy/password
|
db_get yacy/password
|
||||||
PASSWORD="$RET"
|
PASSWORD="$RET"
|
||||||
if [ "$PASSWORD" != "" ]; then
|
if [ "$PASSWORD" != "" ]; then
|
||||||
BASE64=$(java -cp /usr/share/java/yacy/yacycore.jar net.yacy.cora.order.Base64Order -es "admin:$PASSWORD")
|
B64MD5=$(java -cp /usr/share/java/yacy/yacycore.jar net.yacy.cora.order.Digest -strfhex "$ADMIN_LOGIN:$ADMIN_REALM:$PASSWORD" | head -n 1)
|
||||||
B64MD5=$(java -cp /usr/share/java/yacy/yacycore.jar net.yacy.cora.order.Digest -strfhex "$BASE64")
|
PASSWORD_HASH="MD5:$B64MD5"
|
||||||
PASSWORD_HASH=$(echo $B64MD5 | sed "s/\(\S\) .*/\1/")
|
# When entered password is not empty always disable unauthenticated admin access from localhost
|
||||||
|
ADMIN_ACCOUNT_LOCALHOST="false"
|
||||||
db_set yacy/password ""
|
db_set yacy/password ""
|
||||||
else
|
else
|
||||||
PASSWORD_HASH=$(grep "^adminAccountBase64MD5=" $CONFIGFILE | sed -e "s/^adminAccountBase64MD5=\(.*\)/\1/")
|
if [ -e $CONFIGFILE ]; then
|
||||||
|
PASSWORD_HASH=$(grep "^adminAccountBase64MD5=" $CONFIGFILE | sed -e "s/^adminAccountBase64MD5=\(.*\)/\1/" | tr -d '\r\n')
|
||||||
|
ADMIN_ACCOUNT_LOCALHOST=$(grep "^adminAccountForLocalhost=" "$CONFIGFILE" | cut -d= -f2 | tr -d '\r\n')
|
||||||
|
else
|
||||||
|
PASSWORD_HASH=""
|
||||||
|
ADMIN_ACCOUNT_LOCALHOST="true"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Generate config file, if it doesn't exist.
|
||||||
|
if [ ! -e $CONFIGFILE ]; then
|
||||||
|
mkdir -p /var/lib/yacy/SETTINGS
|
||||||
|
echo "# Initial configfile from debconf" > $CONFIGFILE
|
||||||
|
echo "peerName=$HOSTNAME" >> $CONFIGFILE
|
||||||
|
echo "adminAccountBase64MD5=" >> $CONFIGFILE
|
||||||
|
echo "adminAccountForLocalhost=$ADMIN_ACCOUNT_LOCALHOST" >> $CONFIGFILE
|
||||||
|
echo "network.unit.definition=defaults/yacy.network.freeworld.unit" >> $CONFIGFILE
|
||||||
|
echo "javastart_Xmx=Xmx600m" >> $CONFIGFILE
|
||||||
|
echo "javastart_Xms=Xmx600m" >> $CONFIGFILE
|
||||||
|
fi
|
||||||
|
|
||||||
db_get yacy/network
|
db_get yacy/network
|
||||||
NETWORK="$RET"
|
NETWORK="$RET"
|
||||||
|
|
||||||
|
@ -97,6 +121,7 @@ cp -a -f $CONFIGFILE $CONFIGFILE.tmp
|
||||||
|
|
||||||
sed -e "s,^ *peerName=.*,peerName=$PEERNAME," \
|
sed -e "s,^ *peerName=.*,peerName=$PEERNAME," \
|
||||||
-e "s,^ *adminAccountBase64MD5=.*,adminAccountBase64MD5=$PASSWORD_HASH," \
|
-e "s,^ *adminAccountBase64MD5=.*,adminAccountBase64MD5=$PASSWORD_HASH," \
|
||||||
|
-e "s,^ *adminAccountForLocalhost=.*,adminAccountForLocalhost=$ADMIN_ACCOUNT_LOCALHOST," \
|
||||||
-e "s,^ *network\.unit\.definition=.*,network\.unit\.definition=$NETWORK," \
|
-e "s,^ *network\.unit\.definition=.*,network\.unit\.definition=$NETWORK," \
|
||||||
-e "s,^ *javastart_Xms=.*,javastart_Xms=Xms${MEMORY_START}m," \
|
-e "s,^ *javastart_Xms=.*,javastart_Xms=Xms${MEMORY_START}m," \
|
||||||
-e "s,^ *javastart_Xmx=.*,javastart_Xmx=Xmx${MEMORY_MAX}m," \
|
-e "s,^ *javastart_Xmx=.*,javastart_Xmx=Xmx${MEMORY_MAX}m," \
|
||||||
|
|
Loading…
Reference in New Issue
Block a user