Changeset 844

Show
Ignore:
Timestamp:
02/11/09 21:56:50 (13 months ago)
Author:
ykerherve
Message:

Configured SASL to use no_integrity/no_confidentiality as this
will probably not work with Danga::Socket (more tests required)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/DJabberd/lib/DJabberd/Stanza/SASL.pm

    r841 r844  
    7575    my $saslmgr; 
    7676    $vhost->run_hook_chain( phase => "GetSASLManager", 
    77                            args  => [ conn => $conn ], 
    78                            methods => { 
    79                                get => sub { 
    80                                     (undef, $saslmgr) = @_; 
    81                                }, 
    82                            }, 
    83                            fallback => $fallback, 
     77                            args  => [ conn => $conn ], 
     78                            methods => { 
     79                                get => sub { 
     80                                     (undef, $saslmgr) = @_; 
     81                                }, 
     82                            }, 
     83                            fallback => $fallback, 
    8484    ); 
    8585    die "no SASL" unless $saslmgr;  
     
    9090        unless $saslmgr->is_mechanism_supported($mechanism); 
    9191 
     92    ## we don't support it for now 
     93    my $opts = { no_integrity => 1 }; 
    9294    $saslmgr->mechanism($mechanism); 
    93     my $sasl_conn = $saslmgr->server_new("xmpp", $vhost->server_name); 
     95    my $sasl_conn = $saslmgr->server_new("xmpp", $vhost->server_name, $opts); 
    9496    $conn->{sasl} = $sasl_conn; 
    9597 
     
    153155    $conn->xmllog->info($xml); 
    154156    $conn->write(\$xml); 
     157    if ($sasl_conn->property('ssf') > 0) { 
     158        $conn->log->info("SASL: Securing socket"); 
     159        $conn->log->warn("This will probably NOT work"); 
     160        $sasl_conn->securesocket($conn); 
     161    } 
     162    else { 
     163        $conn->log->info("SASL: Not securing socket"); 
     164    } 
    155165    $conn->restart_stream; 
    156166}