X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=debian%2Fpostinst;h=03b2c5e9393a8153683a4315bcc3da3e173dd63e;hb=cf0875041dff339d73329a343469d685de7ef62b;hp=b7049bf0595e0e7842e83f503d6423ea53c820df;hpb=0b427c0c03e09ecf0a3099318d5578419de74916;p=bacula-cn.git diff --git a/debian/postinst b/debian/postinst index b7049bf..03b2c5e 100644 --- a/debian/postinst +++ b/debian/postinst @@ -33,7 +33,7 @@ generate_fd_config() { fi echo Generating $FD_CONFIG - CONFIG_CHANGED=1 + rm -f $REQUEST_FILE cat >$FD_CONFIG <$BCONSOLE_CONFIG < $REQUEST_FILE < $DF_FILE -# attachment: disk sizes -cat >> $REQUEST_FILE <> $REQUEST_FILE - -# attachment: client config -cat >> $REQUEST_FILE <$DB_FILE 2>/dev/null || true + fi - cat <> $REQUEST_FILE + # generate client config + FD_FILE=$(mktemp bacula-cn.XXXXXXXXXX) + cat >> $FD_FILE <> $REQUEST_FILE <> $REQUEST_FILE + # client certificate + PEM_FILE=$(mktemp bacula-cn.XXXXXXXXXX) + sed -n '/BEGIN CERTIFICATE/,/END CERTIFICATE/p' \ + /etc/bacula/bacula-fd.pem > $PEM_FILE + + # send using web service + echo Sending sysbackup request. + [ -s $DB_FILE ] && DB_PARAM="-F db=@$DB_FILE;filename=db.txt" + if curl --fail --silent --show-error \ + -F "contact=$CONTACT" \ + -F "host=$HOST" \ + -F "ip=$IP" \ + -F "df=@$DF_FILE;filename=df.txt" \ + $DB_PARAM \ + -F "fd=@$FD_FILE;filename=$HOST-fd.conf" \ + -F "pem=@$PEM_FILE;filename=$HOST-fd.pem" \ + --cacert /etc/ssl/certs/ca-certificates.crt \ + https://sysbackup.carnet.hr/bacapp.php >/dev/null + then + touch $REQUEST_FILE + fi -cat >> $REQUEST_FILE <*} - db_stop - - PASS_FD=$( head -20 /dev/urandom | openssl dgst -sha1 ) - PASS_BCONSOLE=$( head -20 /dev/urandom | openssl dgst -sha1 ) + PASS_FD=$( random_string ) + PASS_BCONSOLE=$( random_string ) DATE=$( date '+%Y-%m-%d' ) - CONFIG_CHANGED= + REQUEST_FILE=/etc/bacula/bacula-fd.txt } case "$1" in @@ -305,7 +288,9 @@ case "$1" in generate_bconsole_config restart_bacula - send_mail + send_request + + db_stop ;; abort-upgrade|abort-remove|abort-deconfigure)