Skip to content

Instantly share code, notes, and snippets.

@ngsw
Created July 1, 2012 13:30
Show Gist options
  • Select an option

  • Save ngsw/3028431 to your computer and use it in GitHub Desktop.

Select an option

Save ngsw/3028431 to your computer and use it in GitHub Desktop.
cd /usr/local/src
wget http://archive.apache.org/dist/httpd/httpd-2.2.10.tar.gz
tar zxvf httpd-2.2.10.tar.gz
cd httpd-2.2.10
./configure --prefix=/usr/local/apache-2.2.10 \
--enable-module=so \
--enable-so \
--enable-ssl=static \
--with-ssl=/usr/local/openssl-1.0.0c/ssl
make > /dev/null #エラーメッセージだけを出力確認したいので便宜上 "> /dev/null" を付与した
ssl_engine_init.c: In function ‘ssl_init_ctx_verify’:
ssl_engine_init.c:549: error: ‘STACK’ undeclared (first use in this function)
ssl_engine_init.c:549: error: (Each undeclared identifier is reported only once
ssl_engine_init.c:549: error: for each function it appears in.)
ssl_engine_init.c:549: error: expected expression before ‘)’ token
ssl_engine_init.c: In function ‘ssl_init_FindCAList’:
ssl_engine_init.c:1129: warning: pointer type mismatch in conditional expression
make[3]: *** [ssl_engine_init.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
cd /usr/local/src
rm -rf httpd-2.2.10 #便宜上削除
tar zxvf httpd-2.2.10.tar.gz
cd httpd-2.2.10
cp -a modules/ssl/ssl_engine_init.c{,_orig} #比較用にbkup
vi modules/ssl/ssl_engine_init.c #以下diff
--- modules/ssl/ssl_engine_init.c_orig 2008-09-18 23:34:51.000000000 +0900
+++ modules/ssl/ssl_engine_init.c 2012-07-01 22:04:49.013164611 +0900
@@ -546,7 +546,7 @@
ssl_die();
}
- SSL_CTX_set_client_CA_list(ctx, (STACK *)ca_list);
+ SSL_CTX_set_client_CA_list(ctx, (_STACK *)ca_list);
}
/*
cp -a modules/ssl/ssl_util_ssl.c{,_orig} #比較用にbkup
vi modules/ssl/ssl_util_ssl.c #以下diff
--- modules/ssl/ssl_util_ssl.c_orig 2012-07-01 21:50:44.484166919 +0900
+++ modules/ssl/ssl_util_ssl.c 2012-07-01 22:02:47.005164981 +0900
@@ -294,7 +294,7 @@
#ifdef HAVE_SSL_X509V3_EXT_d2i
X509_EXTENSION *ext;
int ext_nid;
- STACK *sk;
+ _STACK *sk;
BOOL is_sgc;
int idx;
int i;
@@ -303,7 +303,7 @@
idx = X509_get_ext_by_NID(cert, NID_ext_key_usage, -1);
if (idx >= 0) {
ext = X509_get_ext(cert, idx);
- if ((sk = (STACK *)X509V3_EXT_d2i(ext)) != NULL) {
+ if ((sk = (_STACK *)X509V3_EXT_d2i(ext)) != NULL) {
for (i = 0; i < sk_num(sk); i++) {
ext_nid = OBJ_obj2nid((ASN1_OBJECT *)sk_value(sk, i));
if (ext_nid == NID_ms_sgc || ext_nid == NID_ns_sgc) {
@@ -467,7 +467,7 @@
X509 *x509;
unsigned long err;
int n;
- STACK *extra_certs;
+ _STACK *extra_certs;
if ((bio = BIO_new(BIO_s_file_internal())) == NULL)
return -1;
./configure --prefix=/usr/local/apache-2.2.10 \
--enable-module=so \
--enable-so \
--enable-ssl=static \
--with-ssl=/usr/local/openssl-1.0.0c/ssl
make > /dev/null #エラーメッセージだけを出力確認したいので便宜上 "> /dev/null" を付与した
cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
tar zxvf openssl-1.0.1c.tar.gz
cd openssl-1.0.1c
./config --prefix=/usr/local/openssl-1.0.0c/ssl \
--openssldir=/usr/local/openssl-1.0.0c shared
make && make install
echo '/usr/local/openssl-1.0.0c/ssl/lib' > /etc/ld.so.conf.d/openssl.conf
ldconfig
確認します
ldconfig -p |grep openssl-1.0.0c
libssl.so.1.0.0 (libc6,x86-64) => /usr/local/openssl-1.0.0c/ssl/lib/libssl.so.1.0.0
libssl.so (libc6,x86-64) => /usr/local/openssl-1.0.0c/ssl/lib/libssl.so
libcrypto.so.1.0.0 (libc6,x86-64) => /usr/local/openssl-1.0.0c/ssl/lib/libcrypto.so.1.0.0
libcrypto.so (libc6,x86-64) => /usr/local/openssl-1.0.0c/ssl/lib/libcrypto.so
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment