summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorStoyan Minaev2019-10-03 14:56:24 +0300
committerStoyan Minaev2019-10-03 14:56:24 +0300
commitfd5c706fcdd197ec9f881e519f19a5eb9aa414e3 (patch)
tree6229bb5a867f468b0f041c66afc0df456003f887
downloadaur-fd5c706fcdd197ec9f881e519f19a5eb9aa414e3.tar.gz
Initial commit
-rw-r--r--.SRCINFO17
-rw-r--r--PKGBUILD26
-rw-r--r--cryptoplugin.install209
3 files changed, 252 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..76e963b65a4d
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,17 @@
+pkgbase = cryptoplugin
+ pkgdesc = PrivatBank Crypto Plugin
+ pkgver = 1.2.2
+ pkgrel = 1
+ install = cryptoplugin.install
+ arch = any
+ license = custom
+ depends = glibc
+ depends = gtk2
+ depends = pcsclite
+ source = https://master.dl.sourceforge.net/project/host-privatbank-cryptoplugin/cryptoplugin-1.2.2-all.deb
+ source = cryptoplugin.install
+ md5sums = 0d8173b4f5c0c23616d6f4b90ca5b589
+ md5sums = dbd0b80e618c8bee39b65c444eb05240
+
+pkgname = cryptoplugin
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..ddd0a3a7cc3b
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,26 @@
+# Author PrivatBank <acsk@privatbank.ua>
+# Maintainer Stoyan Minaev <stoyan.minaev@gmail.com>
+
+pkgname=cryptoplugin
+pkgver=1.2.2
+pkgrel=1
+pkgdesc="PrivatBank Crypto Plugin"
+license=('custom')
+source=(
+ "https://master.dl.sourceforge.net/project/host-privatbank-cryptoplugin/$pkgname-$pkgver-all.deb"
+ "cryptoplugin.install"
+)
+arch=('any')
+md5sums=(
+ '0d8173b4f5c0c23616d6f4b90ca5b589'
+ 'dbd0b80e618c8bee39b65c444eb05240'
+)
+depends=(glibc gtk2 pcsclite)
+install=cryptoplugin.install
+
+package() {
+ cd $srcdir
+ tar xf data.tar.gz -C $pkgdir/
+}
+
+#vim: syntax=sh
diff --git a/cryptoplugin.install b/cryptoplugin.install
new file mode 100644
index 000000000000..246d382d3d20
--- /dev/null
+++ b/cryptoplugin.install
@@ -0,0 +1,209 @@
+X32_DIR=linux_32
+X64_DIR=linux_64
+LOG_DIR="/etc/cryptoplugin/log-dir"
+LOG_FILE="$LOG_DIR/cryptoplugin.log"
+
+# Install plugin for mozilla
+install_mozilla() {
+ echo "mkdir -p $1" >> $LOG_FILE
+ mkdir -p $1
+
+ echo "dd if=$INST_DIR/$LIB_FILE bs=1 count=$SIZE_LIB skip=2 of=$1/libnpcryptoplugin.so" >> $LOG_FILE
+ dd if=$INST_DIR/$LIB_FILE bs=1 count=$SIZE_LIB skip=2 of=$1/libnpcryptoplugin.so > /dev/null 2>&1
+ chmod 0644 $1/libnpcryptoplugin.so
+
+ echo "dd if=$INST_DIR/$BIN_FILE bs=1 count=$SIZE_BIN skip=2 of=$1/nmcryptoplugin" >> $LOG_FILE
+ dd if=$INST_DIR/$BIN_FILE bs=1 count=$SIZE_BIN skip=2 of=$1/nmcryptoplugin > /dev/null 2>&1
+ chmod 0755 $1/nmcryptoplugin
+}
+
+# Install plugin for Google Chrome
+install_nmapi() {
+ echo "mkdir -p $1" >> $LOG_FILE
+ mkdir -p $1
+
+ echo "cp -f $INST_DIR/$2 $1" >> $LOG_FILE
+ cp -f $INST_DIR/$2 $1
+}
+
+# Remove plugin for mozilla
+remove_mozilla() {
+ echo "Remove mozilla in dir $1" >> $LOG_FILE
+
+ if [ -f "$1/$LIB_FILE" ]; then
+ echo "rm -f $1/$LIB_FILE" >> $LOG_FILE
+ rm -f $1/$LIB_FILE
+ fi
+
+ if [ -f "$1/$BIN_FILE" ]; then
+ echo "rm -f $1/$BIN_FILE" >> $LOG_FILE
+ rm -f $1/$BIN_FILE
+ fi
+}
+
+post_install() {
+
+ # Create log.
+ mkdir -p $LOG_DIR
+
+ echo "Install cryptoplugin." >> $LOG_FILE
+ date >> $LOG_FILE
+
+ HOST_CPU=`uname -m`
+ case $HOST_CPU in
+ i[3456]86) CPU=x32 ;;
+ x86_64) CPU=x64 ;;
+ *)
+ echo Detected unsupported CPU: $HOST_CPU
+ print_supported_platform
+ exit 1 ;;
+ esac
+
+ echo "Host type: $HOST_CPU." >> $LOG_FILE
+
+ # The file NPAPI plugin
+ case $CPU in
+ x32) LIB_FILE=$X32_DIR/libnpcryptoplugin.so ;;
+ x64) LIB_FILE=$X64_DIR/libnpcryptoplugin.so ;;
+ esac
+ echo "Lib NPAPI: $LIB_FILE" >> $LOG_FILE
+
+ # The file NMAPI plugin
+ case $CPU in
+ x32) BIN_FILE=$X32_DIR/nmcryptoplugin ;;
+ x64) BIN_FILE=$X64_DIR/nmcryptoplugin ;;
+ esac
+ echo "Bin NMAPI: $BIN_FILE" >> $LOG_FILE
+
+ # The file manifest NMAPI
+ MANIFEST_FILE="com.privatbank.cryptoplugin.json"
+ echo "Manifest: $MANIFEST_FILE" >> $LOG_FILE
+
+ # The installation directory
+ INST_DIR="/usr/lib/cryptoplugin"
+ echo "Install dir: $INST_DIR" >> $LOG_FILE
+
+ echo "Find and remove local install." >> $LOG_FILE
+
+ find /home/*/.mozilla/ -name nmcryptoplugin >> $LOG_FILE || true
+ find /home/*/.mozilla/ -name libnpcryptoplugin.so >> $LOG_FILE || true
+ find /home/*/.mozilla/ -name com.privatbank.cryptoplugin.json >> $LOG_FILE || true
+ find /home/*/.config/ -name com.privatbank.cryptoplugin.json >> $LOG_FILE || true
+
+ find /home/*/.mozilla/ -name nmcryptoplugin -delete || true
+ find /home/*/.mozilla/ -name libnpcryptoplugin.so -delete || true
+ find /home/*/.mozilla/ -name com.privatbank.cryptoplugin.json -delete || true
+ find /home/*/.config/ -name com.privatbank.cryptoplugin.json -delete || true
+
+ #Policy governs the access confined processes have to files. (Create files)
+ setsebool -P unconfined_mozilla_plugin_transition 0 > /dev/null 2>&1 || true
+
+ # The installation directory of plugin Google Chrome
+ CHROME_DIR="/etc/opt/chrome/native-messaging-hosts"
+ echo "Chrome dir: $CHROME_DIR" >> $LOG_FILE
+
+ # The installation directory of plugin Google Chrome
+ MOZILLA_DIR="/usr/lib/mozilla/native-messaging-hosts"
+ echo "Mozilla dir: $MOZILLA_DIR" >> $LOG_FILE
+
+ # The installation directory of plugin Chromium"
+ CHROMIUM_DIR="/etc/chromium/native-messaging-hosts"
+ echo "Chromium dir: $CHROMIUM_DIR" >> $LOG_FILE
+
+ SIZE_LIB=$(wc -c $INST_DIR/$LIB_FILE | sed 's/ .*//g')
+ SIZE_BIN=$(wc -c $INST_DIR/$BIN_FILE | sed 's/ .*//g')
+
+ # Install plugin for mozilla
+ if [ -d "/usr/lib64" ]; then
+ install_mozilla "/usr/lib64/mozilla/plugins"
+ fi
+
+ install_mozilla "/usr/lib/mozilla/plugins"
+
+ # Install plugin for Google Chrome
+ install_nmapi "$CHROME_DIR" "$MANIFEST_FILE"
+ install_nmapi "$CHROMIUM_DIR" "$MANIFEST_FILE"
+ install_nmapi "$MOZILLA_DIR" "mozilla/$MANIFEST_FILE"
+
+ # Install firefox extension
+ echo "mkdir -p /usr/lib/firefox-addons/extensions" >> $LOG_FILE
+ mkdir -p /usr/lib/firefox-addons/extensions
+ echo "cp -f $INST_DIR/mozilla/cryptoplugin_ext_id@privatbank.ua.xpi /usr/lib/firefox-addons/extensions" >> $LOG_FILE
+ cp -f $INST_DIR/mozilla/cryptoplugin_ext_id@privatbank.ua.xpi /usr/lib/firefox-addons/extensions
+
+ # Kill NM API process
+ PID_NM=$(echo $(pidof nmcryptoplugin))
+ echo "Find pid $PID_NM" >> $LOG_FILE
+
+ if [ "$PID_NM" != "" ]; then
+ echo "kill $PID_NM" >> $LOG_FILE
+ kill $PID_NM
+ fi
+
+ echo "Install cryptoplugin finish." >> $LOG_FILE
+
+}
+
+pre_remove() {
+
+ # Create log.
+ LOG_DIR="/etc/cryptoplugin/log-dir"
+ LOG_FILE="$LOG_DIR/cryptoplugin.log"
+ mkdir -p $LOG_DIR
+
+ echo "PostUninstall cryptoplugin." >> $LOG_FILE
+ date >> $LOG_FILE
+
+ # The file NPAPI plugin
+ LIB_FILE="libnpcryptoplugin.so"
+ echo "Lib NPAPI: $LIB_FILE" >> $LOG_FILE
+
+ # The file NMAPI plugin
+ BIN_FILE="nmcryptoplugin"
+ echo "Bin NMAPI: $BIN_FILE" >> $LOG_FILE
+
+ # The file manifest NMAPI
+ MANIFEST_FILE="com.privatbank.cryptoplugin.json"
+ echo "Manifest: $MANIFEST_FILE" >> $LOG_FILE
+
+ # The installation directory
+ INST_DIR="/usr/lib/cryptoplugin"
+ echo "Install dir: $INST_DIR" >> $LOG_FILE
+
+ # The installation directory of plugin Google Chrome
+ CHROME_DIR="/etc/opt/chrome/native-messaging-hosts"
+ echo "Chrome dir: $CHROME_DIR" >> $LOG_FILE
+
+ # The installation directory of plugin Mozilla
+ MOZILLA_DIR="/usr/lib/mozilla/native-messaging-hosts"
+ echo "Mozilla dir: $MOZILLA_DIR" >> $LOG_FILE
+
+ # The installation directory of plugin Chromium
+ CHROMIUM_DIR="/etc/chromium/native-messaging-hosts"
+ echo "Chromium dir: $CHROMIUM_DIR" >> $LOG_FILE
+
+ # The installation directory of plugin Mozilla Firefox
+ if [ -d "/usr/lib64" ]; then
+ remove_mozilla "/usr/lib64/mozilla/plugins"
+ fi
+
+ remove_mozilla "/usr/lib/mozilla/plugins"
+
+ # Remove plugin Google Chrome
+ echo "rm -f $CHROME_DIR/$MANIFEST_FILE" >> $LOG_FILE
+ rm -f $CHROME_DIR/$MANIFEST_FILE
+
+ # Remove plugin Mozilla
+ echo "rm -f $MOZILLA_DIR/$MANIFEST_FILE" >> $LOG_FILE
+ rm -f $MOZILLA_DIR/$MANIFEST_FILE
+
+ echo "rm -f /usr/lib/firefox-addons/extensions/cryptoplugin_ext_id@privatbank.ua.xpi" >> $LOG_FILE
+ rm -f /usr/lib/firefox-addons/extensions/cryptoplugin_ext_id@privatbank.ua.xpi
+
+ # Remove plugin Chromium
+ echo "rm -f $CHROMIUM_DIR/$MANIFEST_FILE" >> $LOG_FILE
+ rm -f $CHROMIUM_DIR/$MANIFEST_FILE
+
+ echo "Uninstall cryptoplugin finish." >> $LOG_FILE
+
+}