add fallback option
git-svn-id: file:///raid/svn-personal/tewi/trunk@19 8739d7e6-ffea-ec47-b151-bdff447c6205
This commit is contained in:
parent
3da7713d32
commit
fb2de8c01f
|
@ -34,9 +34,11 @@ void tw_config_init(void) {
|
|||
for(i = 0; i < MAX_VHOSTS; i++) {
|
||||
config.vhosts[i].sslkey = NULL;
|
||||
config.vhosts[i].sslcert = NULL;
|
||||
config.vhosts[i].root = NULL;
|
||||
}
|
||||
config.root.sslkey = NULL;
|
||||
config.root.sslcert = NULL;
|
||||
config.root.root = NULL;
|
||||
config.vhost_count = 0;
|
||||
config.module_count = 0;
|
||||
config.extension = NULL;
|
||||
|
@ -129,6 +131,14 @@ int tw_config_read(const char* path) {
|
|||
if(current->sslcert != NULL) free(current->sslcert);
|
||||
current->sslcert = cm_strdup(r[1]);
|
||||
}
|
||||
} else if(cm_strcaseequ(r[0], "DocumentRoot")) {
|
||||
if(r[1] == NULL) {
|
||||
cm_log("Config", "Missing path at line %d", ln);
|
||||
stop = 1;
|
||||
} else {
|
||||
if(current->root != NULL) free(current->root);
|
||||
current->root = cm_strdup(r[1]);
|
||||
}
|
||||
} else if(cm_strcaseequ(r[0], "ServerRoot")) {
|
||||
if(r[1] == NULL) {
|
||||
cm_log("Config", "Missing path at line %d", ln);
|
||||
|
|
|
@ -215,8 +215,8 @@ void tw_process_page(SSL* ssl, int sock, const char* status, const char* type, c
|
|||
while(1) {
|
||||
tw_write(ssl, sock, (unsigned char*)doc + incr, size < 128 ? size : 128);
|
||||
incr += 128;
|
||||
if(size <= 128) break;
|
||||
size -= 128;
|
||||
if(size <= 0) break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -25,6 +25,9 @@ int tw_ssl_cert_cb(SSL* ssl, void* arg) {
|
|||
SSL_use_PrivateKey_file(ssl, e->sslkey, SSL_FILETYPE_PEM);
|
||||
SSL_use_certificate_file(ssl, e->sslcert, SSL_FILETYPE_PEM);
|
||||
return 1;
|
||||
} else if(config.root.sslkey != NULL && config.root.sslcert != NULL) {
|
||||
SSL_use_PrivateKey_file(ssl, config.root.sslkey, SSL_FILETYPE_PEM);
|
||||
SSL_use_certificate_file(ssl, config.root.sslcert, SSL_FILETYPE_PEM);
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@ struct tw_config_entry {
|
|||
int port;
|
||||
char* sslkey;
|
||||
char* sslcert;
|
||||
char* root;
|
||||
};
|
||||
|
||||
struct tw_config {
|
||||
|
|
|
@ -9,5 +9,7 @@ ListenSSL 8443 8444 8445 8446 8447
|
|||
SSLKey key.pem
|
||||
SSLCertificate cert.pem
|
||||
|
||||
DocumentRoot /var/www
|
||||
|
||||
BeginVirtualHost nishinbsd-ssd
|
||||
EndVirtualHost
|
||||
|
|
Loading…
Reference in New Issue
Block a user