nginx-0.0.7-2004-07-25-22:34:14 import
This commit is contained in:
parent
442b4cc6e4
commit
8e298b340d
11 changed files with 89 additions and 32 deletions
|
@ -7,6 +7,10 @@ if [ $USE_MD5 = YES ]; then
|
||||||
. auto/lib/md5/conf
|
. auto/lib/md5/conf
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ $USE_OPENSSL = YES ]; then
|
||||||
|
. auto/lib/openssl/conf
|
||||||
|
fi
|
||||||
|
|
||||||
if [ $USE_ZLIB = YES ]; then
|
if [ $USE_ZLIB = YES ]; then
|
||||||
. auto/lib/zlib/conf
|
. auto/lib/zlib/conf
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -7,6 +7,10 @@ if [ $MD5 != NONE -a $MD5 != NO -a $MD5 != YES ]; then
|
||||||
. auto/lib/md5/make
|
. auto/lib/md5/make
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ $OPENSSL != NONE -a $OPENSSL != NO -a $OPENSSL != YES ]; then
|
||||||
|
. auto/lib/openssl/make
|
||||||
|
fi
|
||||||
|
|
||||||
if [ $ZLIB != NONE -a $ZLIB != NO -a $ZLIB != YES ]; then
|
if [ $ZLIB != NONE -a $ZLIB != NO -a $ZLIB != YES ]; then
|
||||||
. auto/lib/zlib/make
|
. auto/lib/zlib/make
|
||||||
fi
|
fi
|
||||||
|
|
40
auto/lib/openssl/conf
Normal file
40
auto/lib/openssl/conf
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
|
||||||
|
if [ $OPENSSL != NONE ]; then
|
||||||
|
CORE_INCS="$CORE_INCS $OPENSSL/include"
|
||||||
|
CORE_DEPS="$CORE_DEPS $OPENSSL_DEPS"
|
||||||
|
CORE_SRCS="$CORE_SRCS $OPENSSL_SRCS"
|
||||||
|
|
||||||
|
case "$CC" in
|
||||||
|
*)
|
||||||
|
have=NGX_OPENSSL . auto/have
|
||||||
|
LINK_DEPS="$LINK_DEPS $OPENSSL/libssl.a $OPENSSL/libcrypto.a"
|
||||||
|
CORE_LIBS="$CORE_LIBS $OPENSSL/libssl.a $OPENSSL/libcrypto.a"
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
if [ $PLATFORM != win32 ]; then
|
||||||
|
OPENSSL=NO
|
||||||
|
ngx_lib_cflags=
|
||||||
|
|
||||||
|
ngx_lib_inc="#include <openssl/ssl.h>"
|
||||||
|
ngx_lib="OpenSSL library"
|
||||||
|
ngx_lib_test="SSL_library_init()"
|
||||||
|
ngx_libs="-lssl -lcrypto"
|
||||||
|
. auto/lib/test
|
||||||
|
|
||||||
|
|
||||||
|
if [ $ngx_found = yes ]; then
|
||||||
|
have=NGX_OPENSSL . auto/have
|
||||||
|
CORE_DEPS="$CORE_DEPS $OPENSSL_DEPS"
|
||||||
|
CORE_SRCS="$CORE_SRCS $OPENSSL_SRCS"
|
||||||
|
CORE_LIBS="$CORE_LIBS $ngx_libs"
|
||||||
|
OPENSSL=YES
|
||||||
|
ngx_found=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
13
auto/lib/openssl/make
Normal file
13
auto/lib/openssl/make
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
|
||||||
|
case $PLATFORM in
|
||||||
|
*)
|
||||||
|
echo "$OPENSSL/libssl.a:" >> $MAKEFILE
|
||||||
|
echo " cd $OPENSSL \\" >> $MAKEFILE
|
||||||
|
echo " && CC=\"\$(CC)\" \\" >> $MAKEFILE
|
||||||
|
echo " ./config threads no-shared \\" >> $MAKEFILE
|
||||||
|
echo " && \$(MAKE)" >> $MAKEFILE
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo >> $MAKEFILE
|
11
auto/modules
11
auto/modules
|
@ -101,16 +101,17 @@ if [ $HTTP_REWRITE = YES -a $USE_PCRE != DISABLED ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $HTTP_SSL = YES ]; then
|
if [ $HTTP_SSL = YES ]; then
|
||||||
|
USE_OPENSSL=YES
|
||||||
|
have=NGX_HTTP_SSL . auto/have
|
||||||
HTTP_MODULES="$HTTP_MODULES $HTTP_SSL_MODULE"
|
HTTP_MODULES="$HTTP_MODULES $HTTP_SSL_MODULE"
|
||||||
HTTP_DEPS="$HTTP_DEPS $HTTP_SSL_DEPS"
|
HTTP_DEPS="$HTTP_DEPS $HTTP_SSL_DEPS"
|
||||||
HTTP_SRCS="$HTTP_SRCS $HTTP_SSL_SRCS"
|
HTTP_SRCS="$HTTP_SRCS $HTTP_SSL_SRCS"
|
||||||
|
|
||||||
# STUB: move to auto/libs/ssl after md5
|
# STUB: move to auto/libs/ssl after md5
|
||||||
have=NGX_HTTP_SSL . auto/have
|
#have=NGX_OPENSSL . auto/have
|
||||||
have=NGX_OPENSSL . auto/have
|
#CORE_DEPS="$CORE_DEPS $OPENSSL_DEPS"
|
||||||
CORE_DEPS="$CORE_DEPS $OPENSSL_DEPS"
|
#CORE_SRCS="$CORE_SRCS $OPENSSL_SRCS"
|
||||||
CORE_SRCS="$CORE_SRCS $OPENSSL_SRCS"
|
#CORE_LIBS="$CORE_LIBS -lssl -lcrypto"
|
||||||
CORE_LIBS="$CORE_LIBS -lssl -lcrypto"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $HTTP_PROXY = YES ]; then
|
if [ $HTTP_PROXY = YES ]; then
|
||||||
|
|
|
@ -42,6 +42,9 @@ USE_PCRE=NO
|
||||||
PCRE=NONE
|
PCRE=NONE
|
||||||
PCRE_OPT=
|
PCRE_OPT=
|
||||||
|
|
||||||
|
USE_OPENSSL=NO
|
||||||
|
OPENSSL=NONE
|
||||||
|
|
||||||
USE_MD5=NO
|
USE_MD5=NO
|
||||||
MD5=NONE
|
MD5=NONE
|
||||||
MD5_OPT=
|
MD5_OPT=
|
||||||
|
@ -103,6 +106,8 @@ do
|
||||||
--with-pcre=*) PCRE="$value" ;;
|
--with-pcre=*) PCRE="$value" ;;
|
||||||
--with-pcre-opt=*) PCRE_OPT="$value" ;;
|
--with-pcre-opt=*) PCRE_OPT="$value" ;;
|
||||||
|
|
||||||
|
--with-openssl=*) OPENSSL="$value" ;;
|
||||||
|
|
||||||
--with-md5=*) MD5="$value" ;;
|
--with-md5=*) MD5="$value" ;;
|
||||||
--with-md5-opt=*) MD5_OPT="$value" ;;
|
--with-md5-opt=*) MD5_OPT="$value" ;;
|
||||||
--with-md5-asm) MD5_ASM=YES ;;
|
--with-md5-asm) MD5_ASM=YES ;;
|
||||||
|
|
|
@ -22,6 +22,13 @@ case $MD5 in
|
||||||
*) echo " + using md5 library: $MD5" ;;
|
*) echo " + using md5 library: $MD5" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
case $OPENSSL in
|
||||||
|
YES) echo " + using system OpenSSL library" ;;
|
||||||
|
NONE) echo " + OpenSSL library is not used" ;;
|
||||||
|
NO) echo " + OpenSSL library is not found" ;;
|
||||||
|
*) echo " + using OpenSSL library: $OPENSSL" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
case $ZLIB in
|
case $ZLIB in
|
||||||
YES) echo " + using system zlib library" ;;
|
YES) echo " + using system zlib library" ;;
|
||||||
NONE) echo " + zlib library is not used" ;;
|
NONE) echo " + zlib library is not used" ;;
|
||||||
|
|
|
@ -132,7 +132,6 @@ typedef struct {
|
||||||
|
|
||||||
|
|
||||||
#define NGX_CHAIN_ERROR (ngx_chain_t *) NGX_ERROR
|
#define NGX_CHAIN_ERROR (ngx_chain_t *) NGX_ERROR
|
||||||
#define NGX_CHAIN_AGAIN (ngx_chain_t *) NGX_AGAIN
|
|
||||||
|
|
||||||
|
|
||||||
#define ngx_buf_in_memory(b) (b->temporary || b->memory || b->mmap)
|
#define ngx_buf_in_memory(b) (b->temporary || b->memory || b->mmap)
|
||||||
|
|
|
@ -108,6 +108,7 @@ struct ngx_connection_s {
|
||||||
|
|
||||||
unsigned log_error:2; /* ngx_connection_log_error_e */
|
unsigned log_error:2; /* ngx_connection_log_error_e */
|
||||||
|
|
||||||
|
unsigned buffered:1;
|
||||||
unsigned single_connection:1;
|
unsigned single_connection:1;
|
||||||
unsigned pipeline:1;
|
unsigned pipeline:1;
|
||||||
unsigned unexpected_eof:1;
|
unsigned unexpected_eof:1;
|
||||||
|
|
|
@ -118,13 +118,13 @@ ngx_chain_t *ngx_ssl_send_chain(ngx_connection_t *c, ngx_chain_t *in,
|
||||||
off_t limit)
|
off_t limit)
|
||||||
{
|
{
|
||||||
int n;
|
int n;
|
||||||
ngx_uint_t flush, last;
|
ngx_uint_t flush;
|
||||||
ssize_t send, size;
|
ssize_t send, size;
|
||||||
ngx_buf_t *buf;
|
ngx_buf_t *buf;
|
||||||
|
|
||||||
buf = c->ssl->buf;
|
buf = c->ssl->buf;
|
||||||
|
|
||||||
if (in && in->next == NULL && buf->pos == buf->last && !c->ssl->buffer) {
|
if (in && in->next == NULL && !c->buffered && !c->ssl->buffer) {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* we avoid a buffer copy if the incoming buf is a single,
|
* we avoid a buffer copy if the incoming buf is a single,
|
||||||
|
@ -148,14 +148,12 @@ ngx_chain_t *ngx_ssl_send_chain(ngx_connection_t *c, ngx_chain_t *in,
|
||||||
|
|
||||||
send = 0;
|
send = 0;
|
||||||
flush = (in == NULL) ? 1 : 0;
|
flush = (in == NULL) ? 1 : 0;
|
||||||
last = (in == NULL) ? 1 : 0;
|
|
||||||
|
|
||||||
for ( ;; ) {
|
for ( ;; ) {
|
||||||
|
|
||||||
while (in && buf->last < buf->end) {
|
while (in && buf->last < buf->end) {
|
||||||
if (in->buf->last_buf) {
|
if (in->buf->last_buf) {
|
||||||
flush = 1;
|
flush = 1;
|
||||||
last = 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ngx_buf_special(in->buf)) {
|
if (ngx_buf_special(in->buf)) {
|
||||||
|
@ -226,15 +224,9 @@ ngx_chain_t *ngx_ssl_send_chain(ngx_connection_t *c, ngx_chain_t *in,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (in) {
|
c->buffered = (buf->pos < buf->last) ? 1 : 0;
|
||||||
return in;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (buf->pos == buf->last || !last) {
|
return in;
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return NGX_CHAIN_AGAIN;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -7,9 +7,6 @@
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
ngx_chain_t *out;
|
ngx_chain_t *out;
|
||||||
|
|
||||||
/* unsigned flush:1; */
|
|
||||||
ngx_uint_t flush;
|
|
||||||
} ngx_http_write_filter_ctx_t;
|
} ngx_http_write_filter_ctx_t;
|
||||||
|
|
||||||
|
|
||||||
|
@ -119,7 +116,7 @@ ngx_int_t ngx_http_write_filter(ngx_http_request_t *r, ngx_chain_t *in)
|
||||||
return NGX_AGAIN;
|
return NGX_AGAIN;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (size == 0 && !ctx->flush) {
|
if (size == 0 && !c->buffered) {
|
||||||
if (!last) {
|
if (!last) {
|
||||||
ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0,
|
ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0,
|
||||||
"the http output chain is empty");
|
"the http output chain is empty");
|
||||||
|
@ -146,19 +143,13 @@ ngx_int_t ngx_http_write_filter(ngx_http_request_t *r, ngx_chain_t *in)
|
||||||
return NGX_ERROR;
|
return NGX_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (chain == NGX_CHAIN_AGAIN) {
|
ctx->out = chain;
|
||||||
ctx->out = NULL;
|
|
||||||
ctx->flush = 1;
|
if (chain || c->buffered) {
|
||||||
return NGX_AGAIN;
|
return NGX_AGAIN;
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx->out = chain;
|
return NGX_OK;
|
||||||
|
|
||||||
if (chain == NULL) {
|
|
||||||
return NGX_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
return NGX_AGAIN;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue