Bug 1394823

Summary: voms breaks with OpenSSL version in Rawhide (1.1.0c)
Product: [Fedora] Fedora Reporter: Alejandro Alvarez <a.alvarezayllon>
Component: vomsAssignee: Mattias Ellert <mattias.ellert>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: andrea.manzi, mattias.ellert, rocha.porto, steve.traylen
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Unspecified   
Whiteboard:
Fixed In Version: voms-2.1.0-0.rc0.fc26 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-01-26 08:13:18 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Alejandro Alvarez 2016-11-14 13:57:45 UTC
Description of problem:
asn1_mac.h is marked as obsolete.
Missing DECL_STACK declarations.


Version-Release number of selected component (if applicable):
2.0.14


How reproducible:
Always. Just compile on Rawhide.


Actual results:
```
In file included from /usr/include/voms/newformat.h:37:0,
                 from /usr/include/voms/voms_api.h:50,
                 from /root/fts3/src/cred/CredUtility.cpp:28:
/usr/include/voms/newformat.h:134:1: error: expected constructor, destructor, or type conversion before ‘extern’
 DECL_STACK(AC_TARGET)
 ^
/usr/include/voms/newformat.h:135:1: error: expected constructor, destructor, or type conversion before ‘extern’
 DECL_STACK(AC_TARGETS)
```

...

Comment 1 Alejandro Alvarez 2016-11-14 13:58:50 UTC
Because of this, FTS won't build on Rawhide.

Comment 2 Alejandro Alvarez 2016-11-14 14:39:35 UTC
This seems to be enough to make it work


diff -u -r /usr/include/voms/acstack.h /tmp/voms/acstack.h
--- /usr/include/voms/acstack.h	2016-09-19 22:40:35.000000000 +0200
+++ /tmp/voms/acstack.h	2016-11-14 15:38:01.162709074 +0100
@@ -55,7 +55,7 @@
    void   sk_##type##_pop_free (STACK_OF(type) *st, void (*func)(type *)) { sk_pop_free(st, (void (*)(void *))func); }
 
 #define DECL_STACK(type) \
-   PREDECLARE_STACK_OF(type) \
+   STACK_OF(type); \
    extern STACK_OF(type) *sk_##type##_new (int (*)(const type * const *, const type * const *)); \
    extern STACK_OF(type) *sk_##type##_new_null (); \
    extern void   sk_##type##_free (STACK_OF(type) *); \
@@ -81,5 +81,4 @@
    extern STACK_OF(type) *ASN1_seq_unpack_##type (unsigned char *, int, type *(*)(), void (*)(type *)) ;
 
 
-
 #endif
diff -u -r /usr/include/voms/newformat.h /tmp/voms/newformat.h
--- /usr/include/voms/newformat.h	2016-09-19 22:40:35.000000000 +0200
+++ /tmp/voms/newformat.h	2016-11-14 15:38:01.161709088 +0100
@@ -28,7 +28,6 @@
 
 #include <openssl/evp.h>
 #include <openssl/asn1.h>
-#include <openssl/asn1_mac.h>
 #include <openssl/x509.h>
 #include <openssl/x509v3.h>
 #include <openssl/stack.h>