Changeset 19 in Main


Ignore:
Timestamp:
Sep 14, 2024, 9:51:41 AM (2 months ago)
Author:
Nishi
Message:

add fallback option

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Server/config.c

    r18 r19  
    3535                config.vhosts[i].sslkey = NULL;
    3636                config.vhosts[i].sslcert = NULL;
     37                config.vhosts[i].root = NULL;
    3738        }
    3839        config.root.sslkey = NULL;
    3940        config.root.sslcert = NULL;
     41        config.root.root = NULL;
    4042        config.vhost_count = 0;
    4143        config.module_count = 0;
     
    130132                                                        current->sslcert = cm_strdup(r[1]);
    131133                                                }
     134                                        } else if(cm_strcaseequ(r[0], "DocumentRoot")) {
     135                                                if(r[1] == NULL) {
     136                                                        cm_log("Config", "Missing path at line %d", ln);
     137                                                        stop = 1;
     138                                                } else {
     139                                                        if(current->root != NULL) free(current->root);
     140                                                        current->root = cm_strdup(r[1]);
     141                                                }
    132142                                        } else if(cm_strcaseequ(r[0], "ServerRoot")) {
    133143                                                if(r[1] == NULL) {
  • trunk/Server/server.c

    r18 r19  
    216216                tw_write(ssl, sock, (unsigned char*)doc + incr, size < 128 ? size : 128);
    217217                incr += 128;
     218                if(size <= 128) break;
    218219                size -= 128;
    219                 if(size <= 0) break;
    220220        }
    221221}
  • trunk/Server/ssl.c

    r16 r19  
    2626                SSL_use_certificate_file(ssl, e->sslcert, SSL_FILETYPE_PEM);
    2727                return 1;
     28        } else if(config.root.sslkey != NULL && config.root.sslcert != NULL) {
     29                SSL_use_PrivateKey_file(ssl, config.root.sslkey, SSL_FILETYPE_PEM);
     30                SSL_use_certificate_file(ssl, config.root.sslcert, SSL_FILETYPE_PEM);
    2831        } else {
    2932                return 0;
  • trunk/Server/tw_config.h

    r18 r19  
    1515        char* sslkey;
    1616        char* sslcert;
     17        char* root;
    1718};
    1819
  • trunk/example.conf

    r17 r19  
    1010SSLCertificate cert.pem
    1111
     12DocumentRoot /var/www
     13
    1214BeginVirtualHost nishinbsd-ssd
    1315EndVirtualHost
Note: See TracChangeset for help on using the changeset viewer.