ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_parser.y
(Generate patch)

Comparing ircd-hybrid/trunk/src/conf_parser.y (file contents):
Revision 4498 by michael, Thu Aug 7 14:09:36 2014 UTC vs.
Revision 4499 by michael, Sat Aug 16 18:29:23 2014 UTC

# Line 475 | Line 475 | serverinfo_item:        serverinfo_name
475   serverinfo_ssl_certificate_file: SSL_CERTIFICATE_FILE '=' QSTRING ';'
476   {
477   #ifdef HAVE_LIBCRYPTO
478 <  if (conf_parser_ctx.pass == 2 && ConfigServerInfo.server_ctx)
478 >  if (conf_parser_ctx.pass == 2)
479    {
480      if (!ConfigServerInfo.rsa_private_key_file)
481      {
# Line 575 | Line 575 | serverinfo_rsa_private_key_file: RSA_PRI
575   serverinfo_ssl_dh_param_file: SSL_DH_PARAM_FILE '=' QSTRING ';'
576   {
577   #ifdef HAVE_LIBCRYPTO
578 <  if (conf_parser_ctx.pass == 2 && ConfigServerInfo.server_ctx)
578 >  if (conf_parser_ctx.pass == 2)
579    {
580      BIO *file = BIO_new_file(yylval.string, "r");
581  
# Line 604 | Line 604 | serverinfo_ssl_dh_param_file: SSL_DH_PAR
604   serverinfo_ssl_cipher_list: T_SSL_CIPHER_LIST '=' QSTRING ';'
605   {
606   #ifdef HAVE_LIBCRYPTO
607 <  if (conf_parser_ctx.pass == 2 && ConfigServerInfo.server_ctx)
607 >  if (conf_parser_ctx.pass == 2)
608      SSL_CTX_set_cipher_list(ConfigServerInfo.server_ctx, yylval.string);
609   #endif
610   };
# Line 612 | Line 612 | serverinfo_ssl_cipher_list: T_SSL_CIPHER
612   serverinfo_ssl_message_digest_algorithm: SSL_MESSAGE_DIGEST_ALGORITHM '=' QSTRING ';'
613   {
614   #ifdef HAVE_LIBCRYPTO
615 <  if (conf_parser_ctx.pass == 2 && ConfigServerInfo.server_ctx)
615 >  if (conf_parser_ctx.pass == 2)
616    {
617      if ((ConfigServerInfo.message_digest_algorithm = EVP_get_digestbyname(yylval.string)) == NULL)
618      {
# Line 630 | Line 630 | serverinfo_ssl_dh_elliptic_curve: SSL_DH
630    int nid = 0;
631    EC_KEY *key = NULL;
632  
633 <  if (conf_parser_ctx.pass == 2 && ConfigServerInfo.server_ctx)
633 >  if (conf_parser_ctx.pass == 2)
634    {
635      if ((nid = OBJ_sn2nid(yylval.string)) == 0)
636      {
# Line 1619 | Line 1619 | port_item: NUMBER
1619   {
1620    if (conf_parser_ctx.pass == 2)
1621    {
1622 + #ifndef HAVE_LIBCRYPTO
1623      if (block_state.flags.value & LISTENER_SSL)
1624 < #ifdef HAVE_LIBCRYPTO
1625 <      if (!ConfigServerInfo.server_ctx)
1624 >    {
1625 >      conf_error_report("SSL not available - port closed");
1626 >      break;
1627 >    }
1628   #endif
1626      {
1627        conf_error_report("SSL not available - port closed");
1628        break;
1629      }
1629      add_listener($1, block_state.addr.buf, block_state.flags.value);
1630    }
1631   } | NUMBER TWODOTS NUMBER
1632   {
1633    if (conf_parser_ctx.pass == 2)
1634    {
1635 + #ifndef HAVE_LIBCRYPTO
1636      if (block_state.flags.value & LISTENER_SSL)
1637 < #ifdef HAVE_LIBCRYPTO
1638 <      if (!ConfigServerInfo.server_ctx)
1637 >    {
1638 >      conf_error_report("SSL not available - port closed");
1639 >      break;
1640 >    }
1641   #endif
1640      {
1641        conf_error_report("SSL not available - port closed");
1642        break;
1643      }
1642  
1643      for (int i = $1; i <= $3; ++i)
1644        add_listener(i, block_state.addr.buf, block_state.flags.value);

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)