Fossil

Check-in [50ff741f6f]
Login

Check-in [50ff741f6f]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Work around missing BIO_set_conn_ip_family() API in LibreSSL. This fixes [forum:/forumpost/a52cbed8f228397e|forum post a52cbed8f], I'm told.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 50ff741f6ffb4f4f15e73dc43fc975e790ca2a63865ef9bedd0d49357418de14
User & Date: drh 2025-03-21 23:29:54.598
Context
2025-03-22
09:38
Simplify the verify-comments setting to have just "on", "off", and "preview" options. Rename the function that implements this feature to "verify_comment()". Reimplement that function so that it uses the new error reporting mechanism in wiki_convert(). ... (check-in: 072125b0ec user: drh tags: trunk)
2025-03-21
23:29
Work around missing BIO_set_conn_ip_family() API in LibreSSL. This fixes [forum:/forumpost/a52cbed8f228397e|forum post a52cbed8f], I'm told. ... (check-in: 50ff741f6f user: drh tags: trunk)
19:46
Enhancements to wiki_convert() that can optionally mark questionable text. ... (check-in: f0d9fe2b0c user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/http_ssl.c.
450
451
452
453
454
455
456

457



458
459
460
461
462
463
464

  ssl_global_init_client();
  if( pUrlData->useProxy ){
    int rc;
    char *connStr = mprintf("%s:%d", g.url.name, pUrlData->port);
    BIO *sBio = BIO_new_connect(connStr);
    if( g.fIPv4 ){

      BIO_set_conn_ip_family(sBio, BIO_FAMILY_IPV4);



    }
    fossil_free(connStr);
    if( BIO_do_connect(sBio)<=0 ){
      ssl_set_errmsg("SSL: cannot connect to proxy %s:%d (%s)",
            pUrlData->name, pUrlData->port,
            ERR_reason_error_string(ERR_get_error()));
      ssl_close_client();







>

>
>
>







450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468

  ssl_global_init_client();
  if( pUrlData->useProxy ){
    int rc;
    char *connStr = mprintf("%s:%d", g.url.name, pUrlData->port);
    BIO *sBio = BIO_new_connect(connStr);
    if( g.fIPv4 ){
#ifdef BIO_FAMILY_IPV4
      BIO_set_conn_ip_family(sBio, BIO_FAMILY_IPV4);
#else
      fossil_warning("The --ipv4 option is not supported in this build\n");
#endif
    }
    fossil_free(connStr);
    if( BIO_do_connect(sBio)<=0 ){
      ssl_set_errmsg("SSL: cannot connect to proxy %s:%d (%s)",
            pUrlData->name, pUrlData->port,
            ERR_reason_error_string(ERR_get_error()));
      ssl_close_client();
506
507
508
509
510
511
512

513



514
515
516
517
518
519
520
#endif

  if( !pUrlData->useProxy ){
    char *connStr = mprintf("%s:%d", pUrlData->name, pUrlData->port);
    BIO_set_conn_hostname(iBio, connStr);
    fossil_free(connStr);
    if( g.fIPv4 ){

      BIO_set_conn_ip_family(iBio, BIO_FAMILY_IPV4);



    }
    if( BIO_do_connect(iBio)<=0 ){
      ssl_set_errmsg("SSL: cannot connect to host %s:%d (%s)",
         pUrlData->name, pUrlData->port,
         ERR_reason_error_string(ERR_get_error()));
      ssl_close_client();
      return 1;







>

>
>
>







510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
#endif

  if( !pUrlData->useProxy ){
    char *connStr = mprintf("%s:%d", pUrlData->name, pUrlData->port);
    BIO_set_conn_hostname(iBio, connStr);
    fossil_free(connStr);
    if( g.fIPv4 ){
#ifdef BIO_FAMILY_IPV4
      BIO_set_conn_ip_family(iBio, BIO_FAMILY_IPV4);
#else
      fossil_warning("The --ipv4 option is not supported in this build\n");
#endif
    }
    if( BIO_do_connect(iBio)<=0 ){
      ssl_set_errmsg("SSL: cannot connect to host %s:%d (%s)",
         pUrlData->name, pUrlData->port,
         ERR_reason_error_string(ERR_get_error()));
      ssl_close_client();
      return 1;