summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Rękorajski2021-10-23 21:39:28 (GMT)
committerJan Rękorajski2021-10-23 21:39:28 (GMT)
commit784bbef9de3496ac94122e61049e4a7cdd46ab19 (patch)
tree1dca4490e4f970ee7e7f31cc85cd5cc72d8bbbef
parent93e1987c4ed3806673a3c4f39ae85a5cca0bf715 (diff)
downloaddump-784bbef9de3496ac94122e61049e4a7cdd46ab19.zip
dump-784bbef9de3496ac94122e61049e4a7cdd46ab19.tar.gz
-rw-r--r--dump.spec16
-rw-r--r--openssl.patch82
2 files changed, 6 insertions, 92 deletions
diff --git a/dump.spec b/dump.spec
index 97a36b4..7dd8d5f 100644
--- a/dump.spec
+++ b/dump.spec
@@ -8,13 +8,12 @@ Summary(ru.UTF-8): Программы для резервного копиров
Summary(tr.UTF-8): dump/restore yedekleme sistemi
Summary(uk.UTF-8): Програми для резервного копіювання та відновлення файлових систем
Name: dump
-Version: 0.4b46
-Release: 2
+Version: 0.4b47
+Release: 1
License: BSD
Group: Applications/System
Source0: http://downloads.sourceforge.net/dump/%{name}-%{version}.tar.gz
-# Source0-md5: 4c463f797e7e8a1112fabf5cbf8e1855
-Patch0: openssl.patch
+# Source0-md5: 620f02f1a5c5e7954a2948f0331824d2
URL: http://dump.sourceforge.net/
BuildRequires: autoconf >= 2.57
BuildRequires: automake
@@ -153,7 +152,6 @@ ermt to wersja programu rmt z szyfrowaniem.
%prep
%setup -q
-%patch0 -p1
%build
%{__aclocal}
@@ -178,16 +176,14 @@ MYGRP=`id -rg`
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_sbindir},%{_mandir}/man8,%{_prefix}%{_sbindir}}
+install -d $RPM_BUILD_ROOT%{_sysconfdir}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-install rmt/ermt $RPM_BUILD_ROOT%{_prefix}/sbin
-
> $RPM_BUILD_ROOT%{_sysconfdir}/dumpdates
-ln -sf %{_sbindir}/rmt $RPM_BUILD_ROOT%{_sysconfdir}/rmt
+ln -sfr $RPM_BUILD_ROOT{%{_sbindir},%{_sysconfdir}}/rmt
%clean
rm -rf $RPM_BUILD_ROOT
@@ -213,4 +209,4 @@ rm -rf $RPM_BUILD_ROOT
%files -n ermt
%defattr(644,root,root,755)
-%attr(755,root,root) %{_prefix}/sbin/ermt
+%attr(755,root,root) %{_sbindir}/ermt
diff --git a/openssl.patch b/openssl.patch
deleted file mode 100644
index dff5b4c..0000000
--- a/openssl.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-diff -urN dump-0.4b46.org/common/transformation_ssl.c dump-0.4b46/common/transformation_ssl.c
---- dump-0.4b46.org/common/transformation_ssl.c 2016-06-08 07:01:45.000000000 +0200
-+++ dump-0.4b46/common/transformation_ssl.c 2018-09-20 12:09:51.499235266 +0200
-@@ -515,7 +515,7 @@
- //EVP_CIPHER_CTX_rand_key(ctx, t->state.ssl.key);
- //EVP_CIPHER_CTX_cleanup(ctx);
- //EVP_CIPHER_CTX_free(ctx);
-- RAND_bytes(t->state.ssl.key, t->state.ssl.cipher->key_len);
-+ RAND_bytes(t->state.ssl.key, EVP_CIPHER_key_length(t->state.ssl.cipher));
- } else {
- // how do we get keys?
- }
-diff -urN dump-0.4b46.org/rmt/cipher.c dump-0.4b46/rmt/cipher.c
---- dump-0.4b46.org/rmt/cipher.c 2016-06-07 20:09:12.000000000 +0200
-+++ dump-0.4b46/rmt/cipher.c 2018-09-20 12:17:23.936324758 +0200
-@@ -23,7 +23,7 @@
- char *
- cipher(char *buf, int buflen, int do_encrypt)
- {
-- static EVP_CIPHER_CTX ctx;
-+ static EVP_CIPHER_CTX *ctx;
- static char *out = NULL; /* return value, grown as necessary */
- static int outlen = 0;
- static int init = 0, which, blocksize;
-@@ -71,41 +71,52 @@
- }
- EVP_BytesToKey(cipher, EVP_md5(), NULL,
- buf, strlen(buf), 1, key, iv);
-- EVP_CIPHER_CTX_init(&ctx);
-- EVP_CipherInit_ex(&ctx, cipher, NULL, key, iv, do_encrypt);
-- EVP_CIPHER_CTX_set_padding(&ctx, 0); // -nopad
-+ ctx = EVP_CIPHER_CTX_new();
-+ if (ctx == NULL) {
-+ syslog(LOG_ERR, "Failed to allocate crypto context");
-+ errno = EINVAL;
-+ return NULL;
-+ }
-+ EVP_CIPHER_CTX_init(ctx);
-+ EVP_CipherInit_ex(ctx, cipher, NULL, key, iv, do_encrypt);
-+ EVP_CIPHER_CTX_set_padding(ctx, 0); // -nopad
- OPENSSL_cleanse(buf, sizeof buf);
- OPENSSL_cleanse(key, sizeof key);
- OPENSSL_cleanse(iv, sizeof iv);
-- blocksize = EVP_CIPHER_CTX_block_size(&ctx);
-+ blocksize = EVP_CIPHER_CTX_block_size(ctx);
- which = do_encrypt;
- init = 1;
- }
- if (which != do_encrypt) {
- syslog(LOG_ERR, "Cannot switch modes");
- errno = EINVAL;
-+ EVP_CIPHER_CTX_free(ctx);
- return NULL;
- }
- if ((buflen % blocksize) != 0) {
- syslog(LOG_ERR, "Buffer size is not a multiple of cipher block size");
- errno = EINVAL;
-+ EVP_CIPHER_CTX_free(ctx);
- return NULL;
- }
- if (outlen < buflen+blocksize) {
- outlen = (buflen+blocksize) * 2;
- out = realloc(out, outlen);
- }
-- if (!EVP_CipherUpdate(&ctx, out, &n, buf, buflen)) {
-+ if (!EVP_CipherUpdate(ctx, out, &n, buf, buflen)) {
- syslog(LOG_ERR, "EVP_CipherUpdate failed");
- errno = EINVAL;
-+ EVP_CIPHER_CTX_free(ctx);
- return NULL;
- }
- if (n != buflen) {
- syslog(LOG_ERR, "EVP_CipherUpdate: %d != %d", n, buflen);
- errno = EINVAL;
-+ EVP_CIPHER_CTX_free(ctx);
- return NULL;
- }
- // assert(ctx->buf_len == 0);
-+ EVP_CIPHER_CTX_free(ctx);
- return out;
- }
-