Hallo Herr Jung,

vielen Dank für die schnelle Antwort und angebotene Hilfe. 

Nach etwas Hilfe und dem Einsatz rudimentärer C++-Kenntnisse habe ich das Ganze 
noch zum kompilieren und laufen bekommen, dabei hat mir folgender Teil sehr 
geholfen http://mail-index.netbsd.org/pkgsrc-users/2009/08/25/msg010530.html

Ich habe um das Ganze zu lösen innerhalb der Dateien folgende Stellen angepasst:

modules/ssl/ssl_engine_init.c

> #ifdef SSL_OP_CIPHER_SERVER_PREFERENCE
>     if (sc->cipher_server_pref == TRUE) {
>         SSL_CTX_set_options(ctx, SSL_OP_CIPHER_SERVER_PREFERENCE);
>     }
> #endif
>
538c544
<         SSL_CTX_set_client_CA_list(ctx, (STACK *)ca_list);
---
>         SSL_CTX_set_client_CA_list(ctx, (STACK_OF(X509_NAME) *)ca_list);

modules/ssl/ ssl_util_ssl.c

469c469
<     STACK *extra_certs;
---
>     STACK_OF(X509) *extra_certs;

Erste SSL-Test liefen ohne Probleme.

Der Code scheint mir damals wohl nicht sehr einheitlich gepflegt worden zu sein 
bzw. die Stellen evtl. bei der Umstellung von STACK * auch Typisierung 
übersehen worden zu sein.

Viele Grüße,
André Wendel

-----Ursprüngliche Nachricht-----
Von: Rainer Jung [mailto:rainer.j...@kippdata.de] 
Gesendet: Mittwoch, 24. Juli 2013 17:30
An: users-de@httpd.apache.org
Betreff: Re: Probleme beim Kompilieren von Apache 2.0.65 mit OpenSSL 1.0.0k

Hallo Herr Wendel,

On 23.07.2013 14:35, andre.wen...@bmw.de wrote:
> Hallo,
> 
> Ich habe ein Problem beim kompilieren des Apache 2.0.65 in Verbindung mit der 
> OpenSSL Version 1.0.0k. Dabei wirft er folgenden Fehler, aus welchem ich 
> leider nicht weiter schlau werde:
> 
> /wwws/apache/apache2.0.65w/instroot/build/libtool --silent --mode=compile gcc 
>  -g -O2 -pthread    -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE 
> -DAP_HAVE_DESIGNATED_INITIALIZER   
> -I/wwws/apache/apache2.0.65w/instroot/include/apr-0 
> -I/wwws/apache/apache2.0.65w/openldap/include -I. 
> -I/wwws/apache/src/httpd-2.0.65/os/unix 
> -I/wwws/apache/src/httpd-2.0.65/server/mpm/worker 
> -I/wwws/apache/src/httpd-2.0.65/modules/http 
> -I/wwws/apache/src/httpd-2.0.65/modules/filters 
> -I/wwws/apache/src/httpd-2.0.65/modules/proxy 
> -I/wwws/apache/src/httpd-2.0.65/include 
> -I/wwws/apache/src/httpd-2.0.65/modules/generators 
> -I/wwws/apache/src/httpd-2.0.65/server 
> -I/wwws/apache/apache2.0.65w/openssl/include/openssl 
> -I/wwws/apache/apache2.0.65w/openssl/include 
> -I/wwws/apache/src/httpd-2.0.65/modules/dav/main -prefer-pic -c 
> ssl_engine_init.c && touch ssl_engine_init.slo
> ssl_engine_init.c: In function âssl_init_ctx_protocolâ:
> ssl_engine_init.c:392: warning: assignment discards qualifiers from pointer 
> target type
> ssl_engine_init.c:398: warning: assignment discards qualifiers from pointer 
> target type
> ssl_engine_init.c: In function âssl_init_ctx_verifyâ:
> ssl_engine_init.c:538: error: âSTACKâ undeclared (first use in this function)
> ssl_engine_init.c:538: error: (Each undeclared identifier is reported only 
> once
> ssl_engine_init.c:538: error: for each function it appears in.)
> ssl_engine_init.c:538: error: expected expression before â)â token
> ssl_engine_init.c: In function âssl_init_FindCAListâ:
> ssl_engine_init.c:1113: warning: pointer type mismatch in conditional 
> expression
> make[4]: *** [ssl_engine_init.slo] Error 1
> make[4]: Leaving directory 
> `/lfs/wwwmnt/wwws.nvgm042/apache/src/httpd-2.0.65/modules/ssl'
> make[3]: *** [shared-build-recursive] Error 1
> make[3]: Leaving directory 
> `/lfs/wwwmnt/wwws.nvgm042/apache/src/httpd-2.0.65/modules/ssl'
> make[2]: *** [shared-build-recursive] Error 1
> make[2]: Leaving directory 
> `/lfs/wwwmnt/wwws.nvgm042/apache/src/httpd-2.0.65/modules'
> make[1]: *** [shared-build-recursive] Error 1
> make[1]: Leaving directory `/lfs/wwwmnt/wwws.nvgm042/apache/src/httpd-2.0.65'
> make: *** [all-recursive] Error 1
> Making httpd was NOT SUCCESSFUL.
> 
> Ich hatte in älteren Versionen schon das Problem mit dem Fehler "inal link 
> failed: Bad value", auf welchen hin ich OpenSSL mit dem Parameter "shared" 
> gebaut habe und dies dann lief.
> 
> SuSe Linux 11SP1
> GCC Version aktuell: gcc (GCC) 4.1.2 20070115 (SUSE Linux)
> 
> OpenSSL:
> ./config \
>   --prefix=${prefix_openssl}     \
>   --openssldir=${prefix_openssl} \
>   shared
> 
> Apache:
> ./configure --prefix=${apache_prefix}/instroot \
> ...
> --enable-ssl \
> --with-ssl=${apache_prefix}/openssl \
> ...

Ich denke es handelt sich hier um die bekannte Inkompatibilität zwischen
Apache 2.0 und OpenSSL 1.0 oder höher:

https://issues.apache.org/bugzilla/show_bug.cgi?id=49034

Ich kann mir das einmal ansehen, aber wenn Ihnen eine Übersetzung mit
dem letzten OpenSSL 0.9.8 reicht wäre das einfacher. Noch besser wäre
natürlich auf Apache 2.2.25 oder 2.4.6 zu switchen :)

Allerdings passt die oben angegebene Zeilennummer 538 nicht auf eine
Stelle, die STACK verwendet. Deshalb zunächst die Fragen:

- welche Version hatten Sie zuletzt erfolgreich mit den gleichen
Rahmenbedingungen kompiliert?

- wurde die Datei modules/ssl/ssl_engine_init.c von Ihnen angepasst?
  In der Originaldatei steht in Zeile 538 der Aufruf zur Ausgabe der
Log-Meldung "Unable to determine list of available CA certificates for
client authentication", keine Spur von STACK.

Grüße sendet

Rainer Jung

-- 
kippdata
informationstechnologie GmbH   Tel: 0228 98549 -0
Bornheimer Str. 33a            Fax: 0228 98549 -50
53111 Bonn                     www.kippdata.de

HRB 8018 Amtsgericht Bonn / USt.-IdNr. DE 196 457 417
Geschäftsführer: Dr. Thomas Höfer, Rainer Jung, Sven Maurmann

---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-de-h...@httpd.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-de-h...@httpd.apache.org

Antwort per Email an