Hello community,

here is the log from the commit of package trinity for openSUSE:Factory checked 
in at 2017-08-16 16:15:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/trinity (Old)
 and      /work/SRC/openSUSE:Factory/.trinity.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "trinity"

Wed Aug 16 16:15:07 2017 rev:42 rq:516837 version:1.7+git.20170813

Changes:
--------
--- /work/SRC/openSUSE:Factory/trinity/trinity.changes  2017-07-25 
11:41:17.272789442 +0200
+++ /work/SRC/openSUSE:Factory/.trinity.new/trinity.changes     2017-08-16 
16:15:23.407264461 +0200
@@ -1,0 +2,9 @@
+Mon Aug 14 13:34:40 UTC 2017 - [email protected]
+
+- Update to version 1.7+git.20170813:
+  * dump_pid_stack: fix uninitialised variable
+  * beginnings of TCP_ULP support.
+  * add tls header
+  * only Werror on gcc7+
+
+-------------------------------------------------------------------

Old:
----
  trinity-1.7+git.20170712.tar.xz

New:
----
  trinity-1.7+git.20170813.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ trinity.spec ++++++
--- /var/tmp/diff_new_pack.dK7y8T/_old  2017-08-16 16:15:24.455117376 +0200
+++ /var/tmp/diff_new_pack.dK7y8T/_new  2017-08-16 16:15:24.467115691 +0200
@@ -16,9 +16,9 @@
 #
 
 
-%define version_unconverted 1.7+git.20170712
+%define version_unconverted 1.7+git.20170813
 Name:           trinity
-Version:        1.7+git.20170712
+Version:        1.7+git.20170813
 Release:        0
 Summary:        A Linux System call fuzz tester
 License:        GPL-2.0

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.dK7y8T/_old  2017-08-16 16:15:24.659088744 +0200
+++ /var/tmp/diff_new_pack.dK7y8T/_new  2017-08-16 16:15:24.671087060 +0200
@@ -1,4 +1,4 @@
 <servicedata>
 <service name="tar_scm">
             <param name="url">git://github.com/kernelslacker/trinity</param>
-          <param 
name="changesrevision">37ae2cceddb7e4cd055b2cf40ad25d57e00c4f80</param></service></servicedata>
\ No newline at end of file
+          <param 
name="changesrevision">2ce77d8b298b883836867414fc5d71bf0ae0f548</param></service></servicedata>
\ No newline at end of file

++++++ trinity-1.7+git.20170712.tar.xz -> trinity-1.7+git.20170813.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trinity-1.7+git.20170712/Makefile 
new/trinity-1.7+git.20170813/Makefile
--- old/trinity-1.7+git.20170712/Makefile       2017-07-12 23:06:12.000000000 
+0200
+++ new/trinity-1.7+git.20170813/Makefile       2017-08-13 23:55:08.000000000 
+0200
@@ -22,11 +22,11 @@
 CCSTD := $(shell if $(CC) -std=gnu11 -S -o /dev/null -xc /dev/null >/dev/null 
2>&1; then echo "-std=gnu11"; else echo "-std=gnu99"; fi)
 CFLAGS += $(CCSTD)
 
-# -Werror only enabled during development, and on gcc 5.1+
+# -Werror only enabled during development, and on gcc 7+
 ifeq ($(DEVEL), 1)
 CPP_MAJOR := $(shell $(CPP) -dumpversion 2>&1 | cut -d'.' -f1)
 CPP_MINOR := $(shell $(CPP) -dumpversion 2>&1 | cut -d'.' -f2)
-WERROR := $(shell if [ $(CPP_MAJOR) -eq 5 -a $(CPP_MINOR) -ge 1 ] || [ 
$(CPP_MAJOR) -ge 6 ] ; then echo "-Werror"; else echo ""; fi)
+WERROR := $(shell if [ $(CPP_MAJOR) -ge 7 ] ; then echo "-Werror"; else echo 
""; fi)
 CFLAGS += $(WERROR)
 endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trinity-1.7+git.20170712/include/compat.h 
new/trinity-1.7+git.20170813/include/compat.h
--- old/trinity-1.7+git.20170712/include/compat.h       2017-07-12 
23:06:12.000000000 +0200
+++ new/trinity-1.7+git.20170813/include/compat.h       2017-08-13 
23:55:08.000000000 +0200
@@ -805,6 +805,10 @@
 #define SOL_RFCOMM      18
 #endif
 
+#ifndef SOL_TLS
+#define SOL_TLS                282
+#endif
+
 /* net/bluetooth/hci.h */
 #ifndef HCI_DATA_DIR
 #define HCI_DATA_DIR    1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trinity-1.7+git.20170712/include/tls.h 
new/trinity-1.7+git.20170813/include/tls.h
--- old/trinity-1.7+git.20170712/include/tls.h  1970-01-01 01:00:00.000000000 
+0100
+++ new/trinity-1.7+git.20170813/include/tls.h  2017-08-13 23:55:08.000000000 
+0200
@@ -0,0 +1,32 @@
+#pragma once
+
+/* From linux/tls.h */
+struct tls_crypto_info {
+       unsigned short version;
+       unsigned short cipher_type;
+};
+
+#define TLS_CIPHER_AES_GCM_128_IV_SIZE 8
+#define TLS_CIPHER_AES_GCM_128_KEY_SIZE 16
+#define TLS_CIPHER_AES_GCM_128_SALT_SIZE 4
+#define TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE 8
+
+#define TLS_VERSION_MINOR(ver)  ((ver) & 0xFF)
+#define TLS_VERSION_MAJOR(ver)  (((ver) >> 8) & 0xFF)
+#define TLS_VERSION_NUMBER(id)  ((((id##_VERSION_MAJOR) & 0xFF) << 8) | \
+                                 ((id##_VERSION_MINOR) & 0xFF))
+#define TLS_1_2_VERSION_MAJOR   0x3
+#define TLS_1_2_VERSION_MINOR   0x3
+#define TLS_1_2_VERSION         TLS_VERSION_NUMBER(TLS_1_2)
+
+#define TLS_CIPHER_AES_GCM_128 51
+
+#define TLS_TX 1
+
+struct tls12_crypto_info_aes_gcm_128 {
+       struct tls_crypto_info info;
+       unsigned char iv[TLS_CIPHER_AES_GCM_128_IV_SIZE];
+       unsigned char key[TLS_CIPHER_AES_GCM_128_KEY_SIZE];
+       unsigned char salt[TLS_CIPHER_AES_GCM_128_SALT_SIZE];
+       unsigned char rec_seq[TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE];
+};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trinity-1.7+git.20170712/main.c 
new/trinity-1.7+git.20170813/main.c
--- old/trinity-1.7+git.20170712/main.c 2017-07-12 23:06:12.000000000 +0200
+++ new/trinity-1.7+git.20170813/main.c 2017-08-13 23:55:08.000000000 +0200
@@ -260,7 +260,7 @@
 
        while (!(feof(fp))) {
                size_t n = 0;
-               char *line;
+               char *line = NULL;
                if (getline(&line, &n, fp) != -1) {
                        output(0, "pid %d stack: %s", pid, line);
                        free(line);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trinity-1.7+git.20170712/net/proto-ipv4.c 
new/trinity-1.7+git.20170813/net/proto-ipv4.c
--- old/trinity-1.7+git.20170712/net/proto-ipv4.c       2017-07-12 
23:06:12.000000000 +0200
+++ new/trinity-1.7+git.20170813/net/proto-ipv4.c       2017-08-13 
23:55:08.000000000 +0200
@@ -20,6 +20,7 @@
 #include "compat.h"
 #include "net.h"
 #include "random.h"
+#include "tls.h"
 #include "uid.h"
 #include "utils.h"     // ARRAY_SIZE
 
@@ -319,14 +320,34 @@
        ip_setsockopt(so, triplet);
 }
 
+static void call_ulp_sso_ptr(struct sockopt *so)
+{
+       // For now, we only support TLS sockets. Extend if/when more ULPs 
appear.
+
+       struct tls12_crypto_info_aes_gcm_128 *crypto_info;
+
+       crypto_info = (struct tls12_crypto_info_aes_gcm_128 *) so->optval;
+
+       crypto_info->info.version = TLS_1_2_VERSION;
+       crypto_info->info.cipher_type = TLS_CIPHER_AES_GCM_128;
+
+       so->level = SOL_TLS;
+       so->optname = TLS_TX;
+       so->optlen = sizeof(struct tls12_crypto_info_aes_gcm_128);
+}
+
 static void inet_setsockopt(struct sockopt *so, struct socket_triplet *triplet)
 {
        so->level = SOL_IP;
 
-       if (RAND_BOOL())
-               ip_setsockopt(so, triplet);
-       else
-               call_inet_sso_ptr(so, triplet);
+       switch (rnd() % 3) {
+       case 0: ip_setsockopt(so, triplet);
+               break;
+       case 1: call_inet_sso_ptr(so, triplet);
+               break;
+       case 2: call_ulp_sso_ptr(so);
+               break;
+       }
 }
 
 static struct socket_triplet ipv4_triplets[] = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trinity-1.7+git.20170712/net/proto-ipv6.c 
new/trinity-1.7+git.20170813/net/proto-ipv6.c
--- old/trinity-1.7+git.20170712/net/proto-ipv6.c       2017-07-12 
23:06:12.000000000 +0200
+++ new/trinity-1.7+git.20170813/net/proto-ipv6.c       2017-08-13 
23:55:08.000000000 +0200
@@ -1,4 +1,3 @@
-
 #ifdef USE_IPV6
 #include <sys/types.h>
 #include <sys/socket.h>
@@ -16,6 +15,7 @@
 #include "arch.h"
 #include "net.h"
 #include "random.h"
+#include "tls.h"
 #include "utils.h"     // ARRAY_SIZE
 #include "uid.h"
 #include "compat.h"
@@ -162,7 +162,7 @@
        { .name = IPV6_RECVFRAGSIZE, },
 };
 
-static void inet6_setsockopt(struct sockopt *so, __unused__ struct 
socket_triplet *triplet)
+static void __inet6_setsockopt(struct sockopt *so)
 {
        unsigned char val;
 
@@ -191,7 +191,29 @@
        case IPV6_XFRM_POLICY:
                so->optlen = rnd() % page_size;
                break;
+       }
+}
+
+static void inet6_ulp_setsockopt(struct sockopt *so)
+{
+       // For now, we only support TLS sockets. Extend if/when more ULPs 
appear.
+       struct tls12_crypto_info_aes_gcm_128 *crypto_info;
 
+       crypto_info = (struct tls12_crypto_info_aes_gcm_128 *) so->optval;
+       crypto_info->info.version = TLS_1_2_VERSION;
+       crypto_info->info.cipher_type = TLS_CIPHER_AES_GCM_128;
+
+       so->level = SOL_TLS;
+       so->optname = TLS_TX;
+       so->optlen = sizeof(struct tls12_crypto_info_aes_gcm_128);
+}
+
+static void inet6_setsockopt(struct sockopt *so, __unused__ struct 
socket_triplet *triplet)
+{
+       if (RAND_BOOL()) {
+               __inet6_setsockopt(so);
+       } else {
+               inet6_ulp_setsockopt(so);
        }
 }
 


Reply via email to