Compare commits
22 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bdf265f0c7 | ||
|
|
f7ec37931d | ||
|
|
25b55b8455 | ||
|
|
6907e38534 | ||
|
|
992cdc42ec | ||
|
|
70fdd0f5fb | ||
|
|
b8e83dfc6b | ||
|
|
97c2600acc | ||
|
|
620e46bb97 | ||
|
|
122dd374d0 | ||
|
|
9abc6c9446 | ||
|
|
f217ef7f0c | ||
|
|
7e0f8778df | ||
|
|
044cc254ff | ||
|
|
e29b9ed40b | ||
|
|
518d27ca76 | ||
|
|
d97984b6f4 | ||
|
|
298c67279d | ||
|
|
953c8a7595 | ||
|
|
356cb15a25 | ||
|
|
aac1c0632d | ||
|
|
d52512aa1f |
6 changed files with 179 additions and 163 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -3,3 +3,4 @@ uperf-1.0.3-beta.tar.gz
|
|||
/uperf-1.0.5.tar.gz
|
||||
/v1.0.6.tar.gz
|
||||
/1.0.7.tar.gz
|
||||
/v1.0.8.tar.gz
|
||||
|
|
|
|||
90
0001-Remove-obsolete-SSL-engine-support.patch
Normal file
90
0001-Remove-obsolete-SSL-engine-support.patch
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
From c271800aeb027f3f8c0b1f2463a06e3f5a948f20 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Terje=20R=C3=B8sten?= <terjeros@gmail.com>
|
||||
Date: Thu, 6 Aug 2026 19:46:04 +0200
|
||||
Subject: [PATCH] Remove obsolete SSL engine support
|
||||
|
||||
---
|
||||
src/ssl.c | 31 +++++--------------------------
|
||||
1 file changed, 5 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/src/ssl.c b/src/ssl.c
|
||||
index f5bee81..77fc923 100644
|
||||
--- a/src/ssl.c
|
||||
+++ b/src/ssl.c
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "../config.h"
|
||||
#endif /* HAVE_CONFIG_H */
|
||||
|
||||
+#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/socket.h> /* basic socket definitions */
|
||||
@@ -36,7 +37,7 @@
|
||||
#include <netinet/tcp.h>
|
||||
#include <inttypes.h>
|
||||
#include <openssl/ssl.h>
|
||||
-#include <openssl/engine.h>
|
||||
+#include <openssl/err.h>
|
||||
#include <pthread.h>
|
||||
#include <string.h>
|
||||
#include "logging.h"
|
||||
@@ -67,7 +68,7 @@ static protocol_t *protocol_ssl_new();
|
||||
static SSL_CTX *initialize_ctx(char *keyfile, char *password,
|
||||
const char *method);
|
||||
static int pwd_cb(char *buf, int num, int rwflag, void *userdata);
|
||||
-static int load_engine(const char *engine_id);
|
||||
+static int load_engine(const char *engine_id __attribute__((unused)));
|
||||
static SSL_CTX *ctx;
|
||||
|
||||
|
||||
@@ -137,12 +138,6 @@ file_present(char *file)
|
||||
return (0);
|
||||
}
|
||||
|
||||
-static void
|
||||
-ssl_cleanup(void)
|
||||
-{
|
||||
- ENGINE_cleanup();
|
||||
-}
|
||||
-
|
||||
/* Called only once during beginning of the program */
|
||||
int
|
||||
ssl_init(void *arg)
|
||||
@@ -173,12 +168,6 @@ ssl_init(void *arg)
|
||||
}
|
||||
CRYPTO_set_id_callback((unsigned long (*)())id_function);
|
||||
CRYPTO_set_locking_callback((void (*)())locking_function);
|
||||
-
|
||||
- /*
|
||||
- * We also register an atexit function to cleanup the ENGINE
|
||||
- * datastructures
|
||||
- */
|
||||
- atexit(ssl_cleanup);
|
||||
return (0);
|
||||
}
|
||||
|
||||
@@ -434,19 +423,9 @@ pwd_cb(char *buf, int num, int rwflag, void *userdata)
|
||||
}
|
||||
|
||||
static int
|
||||
-load_engine(const char *engine_id)
|
||||
+load_engine(const char *engine_id __attribute__((unused)))
|
||||
{
|
||||
- ENGINE *e;
|
||||
-
|
||||
- if (!engine_id)
|
||||
- return (-1);
|
||||
- ENGINE_load_builtin_engines();
|
||||
- e = ENGINE_by_id(engine_id);
|
||||
- if (!e) {
|
||||
- return (-1);
|
||||
- }
|
||||
- ENGINE_register_complete(e);
|
||||
- return (0);
|
||||
+ return (-1);
|
||||
}
|
||||
|
||||
static protocol_t *
|
||||
--
|
||||
2.55.0
|
||||
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (1.0.7.tar.gz) = 27ee5e5852e8cb702c84958e4f00a8ab0df004681944e6a267e04fbb1e9448d011537ffdfcbb9d68b2a42eb59571ebed9579b9fcfa7947c6fc2a26bf80b34d59
|
||||
SHA512 (v1.0.8.tar.gz) = 7a6c2b6518f6e4e7281fcd527e6c9cd98f095dcbc6824803733341168fed572d3f632d0123b69e4042aed7926d499c93167828d06dfec4598f2f4d3c23c111ab
|
||||
|
|
|
|||
|
|
@ -1,105 +0,0 @@
|
|||
$ git diff v1.0.6..09fbbdb93 src > ../uperf-1.0.6-09fbbdb93.patch
|
||||
|
||||
diff --git a/src/parse.c b/src/parse.c
|
||||
index aedab06..bdedd0c 100644
|
||||
--- a/src/parse.c
|
||||
+++ b/src/parse.c
|
||||
@@ -774,6 +774,7 @@ build_worklist(struct symbol *list)
|
||||
int txnid = 0;
|
||||
int fid = 0;
|
||||
int in_group = 0;
|
||||
+ int in_txn = 0;
|
||||
|
||||
w.ngrp = 0;
|
||||
bzero(&w, sizeof (workorder_t));
|
||||
@@ -799,6 +800,12 @@ build_worklist(struct symbol *list)
|
||||
in_group = 0;
|
||||
break;
|
||||
case TOKEN_TXN_START:
|
||||
+ if (!in_group) {
|
||||
+ snprintf(err, sizeof (err),
|
||||
+ "No current group");
|
||||
+ add_error(err);
|
||||
+ return (NULL);
|
||||
+ }
|
||||
curr_grp->ntxn++;
|
||||
if (curr_txn == 0) {
|
||||
curr_grp->tlist = calloc(1, sizeof (txn_t));
|
||||
@@ -813,10 +820,18 @@ build_worklist(struct symbol *list)
|
||||
curr_txn->iter = 1;
|
||||
curr_flowop = 0;
|
||||
fid = 0;
|
||||
+ in_txn = 1;
|
||||
break;
|
||||
case TOKEN_TXN_END:
|
||||
+ in_txn = 0;
|
||||
break;
|
||||
case TOKEN_FLOWOP_START:
|
||||
+ if (!in_txn) {
|
||||
+ snprintf(err, sizeof (err),
|
||||
+ "No current transaction");
|
||||
+ add_error(err);
|
||||
+ return (NULL);
|
||||
+ }
|
||||
curr_txn->nflowop++;
|
||||
if (curr_flowop == NULL) {
|
||||
curr_txn->flist = calloc(1, sizeof (flowop_t));
|
||||
@@ -839,6 +854,12 @@ build_worklist(struct symbol *list)
|
||||
}
|
||||
break;
|
||||
case TOKEN_ITERATIONS:
|
||||
+ if (!in_txn) {
|
||||
+ snprintf(err, sizeof (err),
|
||||
+ "No current transaction");
|
||||
+ add_error(err);
|
||||
+ return (NULL);
|
||||
+ }
|
||||
curr_txn->iter = string2int(list->symbol);
|
||||
break;
|
||||
case TOKEN_TYPE:
|
||||
@@ -858,14 +879,32 @@ build_worklist(struct symbol *list)
|
||||
flowop_parse_options(list->symbol, curr_flowop);
|
||||
break;
|
||||
case TOKEN_RATE:
|
||||
+ if (!in_txn) {
|
||||
+ snprintf(err, sizeof (err),
|
||||
+ "No current transaction");
|
||||
+ add_error(err);
|
||||
+ return (NULL);
|
||||
+ }
|
||||
strlcpy(curr_txn->rate_str, list->symbol, NAMELEN);
|
||||
curr_txn->rate_count = string2int(list->symbol);
|
||||
break;
|
||||
case TOKEN_DURATION:
|
||||
+ if (!in_txn) {
|
||||
+ snprintf(err, sizeof (err),
|
||||
+ "No current transaction");
|
||||
+ add_error(err);
|
||||
+ return (NULL);
|
||||
+ }
|
||||
curr_txn->duration = string2nsec(list->symbol);
|
||||
curr_txn->iter = 1;
|
||||
break;
|
||||
case TOKEN_NTHREADS:
|
||||
+ if (!in_group) {
|
||||
+ snprintf(err, sizeof (err),
|
||||
+ "No current group");
|
||||
+ add_error(err);
|
||||
+ return (NULL);
|
||||
+ }
|
||||
curr_grp->nthreads = string2int(list->symbol);
|
||||
curr_grp->strand_flag |= STRAND_TYPE_THREAD;
|
||||
break;
|
||||
@@ -876,6 +915,12 @@ build_worklist(struct symbol *list)
|
||||
add_error(err);
|
||||
return (NULL);
|
||||
#else
|
||||
+ if (!in_group) {
|
||||
+ snprintf(err, sizeof (err),
|
||||
+ "No current group");
|
||||
+ add_error(err);
|
||||
+ return (NULL);
|
||||
+ }
|
||||
curr_grp->nthreads = string2int(list->symbol);
|
||||
curr_grp->strand_flag |= STRAND_TYPE_PROCESS;
|
||||
break;
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
diff --git a/src/ssl.c b/src/ssl.c
|
||||
index 1352434..6507f26 100644
|
||||
--- a/src/ssl.c
|
||||
+++ b/src/ssl.c
|
||||
@@ -25,6 +25,8 @@
|
||||
#endif /* HAVE_CONFIG_H */
|
||||
|
||||
#include <stdio.h>
|
||||
+#include <string.h>
|
||||
+#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/socket.h> /* basic socket definitions */
|
||||
#include <netdb.h>
|
||||
@@ -152,11 +154,11 @@ ssl_init(void *arg)
|
||||
int i;
|
||||
|
||||
if (IS_MASTER(options)) {
|
||||
- if (file_present("server.pem") == 0)
|
||||
- ctx = initialize_ctx("server.pem", PASS, NULL);
|
||||
+ if (file_present("/usr/share/uperf/server.pem") == 0)
|
||||
+ ctx = initialize_ctx("/usr/share/uperf/server.pem", PASS, NULL);
|
||||
} else {
|
||||
- if (file_present("client.pem") == 0)
|
||||
- ctx = initialize_ctx("client.pem", PASS, NULL);
|
||||
+ if (file_present("/usr/share/uperf/client.pem") == 0)
|
||||
+ ctx = initialize_ctx("/usr/share/uperf/client.pem", PASS, NULL);
|
||||
}
|
||||
if (ctx == NULL)
|
||||
return (1);
|
||||
@@ -394,7 +396,7 @@ initialize_ctx(char *keyfile, char *password, const char *method)
|
||||
#else
|
||||
SSL_METHOD *meth;
|
||||
#endif
|
||||
- SSL_CTX *ctx;
|
||||
+ SSL_CTX *ctx = NULL;
|
||||
|
||||
SSL_library_init();
|
||||
|
||||
106
uperf.spec
106
uperf.spec
|
|
@ -1,36 +1,44 @@
|
|||
Summary: Network performance tool with modelling and replay support
|
||||
Name: uperf
|
||||
Version: 1.0.7
|
||||
Release: 1%{?dist}
|
||||
License: GPLv3
|
||||
URL: http://www.uperf.org/
|
||||
Source0: https://github.com/uperf/uperf/archive/%{version}.tar.gz
|
||||
Patch1: uperf-1.0.6-ssl-crash.patch
|
||||
BuildRequires: gcc
|
||||
BuildRequires: lksctp-tools-devel
|
||||
BuildRequires: openssl-devel
|
||||
Summary: Network performance tool with modelling and replay support
|
||||
Name: uperf
|
||||
Version: 1.0.8
|
||||
Release: 11%{?dist}
|
||||
# Automatically converted from old format: GPLv3 - review is highly recommended.
|
||||
License: GPL-3.0-only
|
||||
URL: http://www.uperf.org/
|
||||
Source0: https://github.com/uperf/uperf/archive/v%{version}.tar.gz
|
||||
Patch: 0001-Remove-obsolete-SSL-engine-support.patch
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: gcc
|
||||
BuildRequires: lksctp-tools-devel
|
||||
BuildRequires: make
|
||||
BuildRequires: openssl-devel
|
||||
%if 0%{?fedora} > 40 && 0%{?fedora} < 45
|
||||
BuildRequires: openssl-devel-engine
|
||||
%endif
|
||||
%description
|
||||
Network performance tool that supports modelling and replay of various
|
||||
networking patterns.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}-%{version}
|
||||
%patch1 -p1
|
||||
find src -type f -print0 | xargs --null chmod 0644
|
||||
find workloads -type f -print0 | xargs --null chmod 0644
|
||||
chmod 0644 AUTHORS ChangeLog COPYING README
|
||||
%autosetup -N
|
||||
%if 0%{?fedora} > 44
|
||||
%autopatch -p1
|
||||
%endif
|
||||
chmod 0644 workloads/{tcp-change-cc.xml,sctp-over-udp.xml,tcp-freebsd-change-stack.xml}
|
||||
|
||||
%build
|
||||
autoreconf --install
|
||||
%configure \
|
||||
--enable-cpc \
|
||||
--enable-netstat \
|
||||
--enable-udp \
|
||||
--enable-sctp \
|
||||
--enable-ssl
|
||||
make %{?_smp_mflags}
|
||||
%make_build
|
||||
|
||||
%install
|
||||
make install DESTDIR=%{buildroot}
|
||||
%make_install
|
||||
|
||||
# Move stuff to own subdir
|
||||
install -d -m 0755 %{buildroot}%{_datadir}/%{name}
|
||||
|
|
@ -40,11 +48,71 @@ rm -rf %{buildroot}%{_datadir}/*.xml %{buildroot}%{_datadir}/doc
|
|||
|
||||
%files
|
||||
%license COPYING
|
||||
%doc AUTHORS ChangeLog README
|
||||
%doc AUTHORS ChangeLog README.md
|
||||
%{_bindir}/uperf
|
||||
%{_datadir}/uperf
|
||||
|
||||
%changelog
|
||||
* Thu Aug 06 2026 Terje Røsten <terjeros@gmail.com> - 1.0.8-11
|
||||
- Newer OpenSSL has removed engine support
|
||||
|
||||
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.8-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
|
||||
|
||||
* Sat Jun 13 2026 Yaakov Selkowitz <yselkowi@redhat.com> - 1.0.8-9
|
||||
- Rebuilt for openssl 4.0
|
||||
|
||||
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.8-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
|
||||
|
||||
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.8-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.8-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Mon Jul 29 2024 Miroslav Suchý <msuchy@redhat.com> - 1.0.8-5
|
||||
- convert license to SPDX
|
||||
|
||||
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.8-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Sun Jul 07 2024 Terje Rosten <terje.rosten@ntnu.no> - 1.0.8-3
|
||||
- Fix build deps after openssl changes
|
||||
|
||||
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.8-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sun Sep 10 2023 Terje Rosten <terje.rosten@ntnu.no> - 1.0.8-1
|
||||
- 1.0.8
|
||||
|
||||
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.7-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.7-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Fri Nov 25 2022 Florian Weimer <fweimer@redhat.com> - 1.0.7-8
|
||||
- Fix sendfilev configure glitch with C99 compilers
|
||||
|
||||
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.7-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.7-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 1.0.7-5
|
||||
- Rebuilt with OpenSSL 3.0.0
|
||||
|
||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.7-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.7-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.7-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Fri Apr 17 2020 Terje Rosten <terje.rosten@ntnu.no> - 1.0.7-1
|
||||
- 1.0.7
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue