--- mcore-src/trunk/mcore-tools/src/include/common.global.class.in 2015/08/24 10:12:37 2349 +++ mcore-src/trunk/mcore-tools/src/include/common.global.class.in 2015/09/03 12:09:58 2429 @@ -149,9 +149,9 @@ # this wrapper runs a command in the xsession of the unpriv_user x11runas() { - if [[ -n $(pidof X) ]] + if [[ -n $(pidof X) ]] || [[ -n $(pidof Xorg) ]] then - su - "${MCORE_UNPRIV_USER}" -c "DISPLAY=${MCORE_XORG_DISPLAY} '$@'" + su - "${MCORE_UNPRIV_USER}" -c "DISPLAY=${MCORE_XORG_DISPLAY} $@" fi } @@ -253,3 +253,118 @@ chroot ${MROOT} ${cmd} } + +# gets interface used to reach given ip +iface_for_remote_addr() +{ + set -- $(ip -o route get to $1) + echo $5 +} + +# get ip from dns name +dns_to_ip() +{ + set -- $(getent hosts $1) + echo $1 +} + +iface_for_ip() +{ + set -- $(ip -o addr show to $1) + echo $2 +} + +iface_for_mac() +{ + local interface="" mac="$(echo $1 | sed 'y/ABCDEF/abcdef/')" + for interface in /sys/class/net/*; do + if [ $(cat $interface/address) = "$mac" ]; then + echo ${interface##*/} + fi + done +} + +mac_for_iface() +{ + local iface="$1" + if [ -f /sys/class/net/${iface}/address ] + then + cat /sys/class/net/${iface}/address + fi +} + +certificate_fingerprint() +{ + local cert_fingerprint + local retval + + if [[ ! -f ${MCORE_CERT_FILE} ]] + then + eecho "MCORE_CERT_FILE '${MCORE_CERT_FILE}' does not exist." + return 1 + fi + + cert_fingerprint=$(openssl x509 -noout -modulus -in "${MCORE_CERT_FILE}" | openssl sha1 | sed 's:(stdin)=\ ::') + retval="$?" + + if [[ ${retval} != 0 ]] + then + eecho "Error '${retval}' while generating cert_fingerprint." + return 1 + fi + + if [[ -z ${cert_fingerprint} ]] + then + eecho "Error: cert_fingerprint is empty" + return 1 + else + echo "${cert_fingerprint}" + fi +} + +key_fingerprint() +{ + local key_fingerprint + local retval + + if [[ ! -f ${MCORE_KEY_FILE} ]] + then + eecho "MCORE_KEY_FILE '${MCORE_KEY_FILE}' does not exist." + return 1 + fi + + key_fingerprint=$(openssl rsa -noout -modulus -in "${MCORE_KEY_FILE}" | openssl sha1 | sed 's:(stdin)=\ ::') + retval="$?" + + if [[ ${retval} != 0 ]] + then + eecho "Error '${retval}' while generating key_fingerprint." + return 1 + fi + + if [[ -z ${key_fingerprint} ]] + then + eecho "Error: key_fingerprint is empty" + return 1 + else + echo "${key_fingerprint}" + fi +} + +nsslsay() +{ + nssl "${SSLSAY_IP}" "${SSLSAY_PORT}" << EOF +auth ${SSLSAY_USER} ${SSLSAY_PASS} +$@ +quit +EOF +} + +nsslsay_fingerprint() +{ + nssl "${SSLSAY_IP}" "${SSLSAY_PORT}" << EOF +certauth $(certificate_fingerprint) +$@ +quit +EOF +}