Changeset 3737

Show
Ignore:
Timestamp:
06/28/06 22:50:15 (2 years ago)
Author:
hdm
Message:

Consistency, backedout previous commit

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • framework2/trunk/lib/Pex/DCERPC.pm

    r3736 r3737  
    825825        my $s = Pex::Socket::Tcp->new('PeerAddr' => $host, 'PeerPort' => $port); 
    826826        if ($s->IsError) { 
    827             $self->{'error'} = "Socket error: " . $s->GetError(); 
    828             return; 
     827                        return ('SOCKET: '.$s->GetError()); 
    829828        } 
    830829         
     
    834833            $x->SMBSessionRequest($target_name); 
    835834            if ($x->Error) { 
    836                 $self->{'error'} = "Session request failed for $target_name : " . $x->Error; 
    837                 return; 
     835                return ('FAILED SESSION REQUEST: '. $x->Error); 
    838836            } 
    839837        } 
     
    841839        $x->SMBNegotiate(); 
    842840        if ($x->Error) { 
    843             $self->{'error'} = 'Negotiate failed: ' . $x->Error; 
    844             return; 
     841            return ('FAILED NEGOTIATE: '. $x->Error); 
    845842        } 
    846843         
     
    852849 
    853850        if ($x->Error) { 
    854             $self->{'error'} = 'Failed to establish a null session: ' . $x->Error; 
    855             return; 
     851            return ('FAILED TO CREATE NULL SESSION: '. $x->Error); 
    856852        } 
    857853         
     
    862858        $x->SMBTConnect($ipc); 
    863859        if ($x->Error) { 
    864             $self->{'error'} = 'Failed to connect to the IPC share:' . $x->Error; 
    865             return; 
     860                        return ('FAILED TO CONNECT TO IPC: '. $x->Error); 
    866861        } 
    867862 
     
    869864        $x->SMBCreate($pipe); 
    870865        if ($x->Error) { 
    871             $self->{'error'} = "Failed to create pipe to $pipe: " . $x->Error; 
    872             return; 
     866            return ('FAILED TO CREATE PIPE: '. $x->Error); 
    873867        } 
    874868 
     
    877871        $x->SMBTransNP($x->LastFileID, $bind); 
    878872        if ($x->Error) { 
    879             $self->{'error'} = "Failed to bind to $uuid over DCE RPC: " . $x->Error; 
    880             return; 
     873            return ('BIND FAILURE: '. $x->Error); 
    881874        } 
    882875        $self->{'_handles'}{$handle}{'connection'} = $x; 
     
    887880        my $s = Pex::Socket::Tcp->new('PeerAddr' => $host, 'PeerPort' => $port); 
    888881        if ($s->IsError) { 
    889             $self->{'error'} = "Socket error: " . $s->GetError(); 
    890             return; 
     882            return ('SOCKET: '.$s->GetError()); 
    891883        } 
    892884        my ($bind, $ctx) = &$bind($self, $self->UUID_to_Bin($uuid), $version); 
     
    894886        my $ret = $s->Send($bind); 
    895887        if (! $ret ) { 
    896             $self->{'error'} = 'service closed connection'; 
    897             return; 
     888            return ('CONNECTION CLOSED'); 
    898889        } 
    899890 
    900891        my $response = $self->ReadResponse($s); 
    901892        if (!$response) { 
    902             $self->{'error'} = 'service failed to respond to bind request'; 
    903             return; 
     893            return('NO RESPONSE TO BIND'); 
    904894        } 
    905895        $self->{'_handles'}{$handle}{'connection'} = $s; 
    906896        $self->{'_handles'}{$handle}{'context_id'} = $ctx; 
    907897    } else { 
    908         $self->{'error'} = "no support for $protocol yet!"; 
    909         return; 
     898                return('NO PROTOCOL SUPPORT'); 
    910899    } 
    911900 
     
    951940            $self->DecodeResponse($response->Get('data_bytes')); 
    952941            if ($self->{'response'}->{'Type'} eq 'fault') { 
    953                 return ('DCE/RPC FAULT => ' . $self->{'response'}->{'Error'}); 
     942                return ('FAULT: ' . sprintf("0x%.8x", $self->{'response'}->{'Error'})); 
    954943            } else { 
    955                 return ('RESPONSE => ' . $self->{'response'}->{'Type'},"STUB DATA = " .  $self->bin2hex($self->{'response'}->{'StubData'})); 
     944                return ('RESPONSE: ' . $self->{'response'}->{'Type'}, "STUB DATA: " .  $self->bin2hex($self->{'response'}->{'StubData'})); 
    956945            } 
    957946        } else { 
    958947                        $response ||= ''; 
    959             $self->{'error'} = "response => $response"
     948            return ('NO RESPONSE')
    960949        } 
    961950    } elsif ($protocol eq 'ncacn_ip_tcp') { 
     
    964953            my $ret = $connection->Send($DCE); 
    965954            if (! $ret ) { 
    966                $self->{'error'} = 'SERVER CLOSED CONNECTION'; 
    967                 return; 
     955                                return ('CONNECTION CLOSED'); 
    968956            } 
    969957        } 
     
    979967        } 
    980968        if ($self->{'response'}->{'Type'} eq 'fault') { 
    981             return ('DCE/RPC FAULT => ' . $self->{'response'}->{'Error'}); 
     969            return ('FAULT: ' . sprintf("0x%.8x",$self->{'response'}->{'Error'})); 
    982970        }  
    983971 
    984         return ('RESPONSE => ' . $self->{'response'}->{'Type'},"STUB DATA = " .  $self->bin2hex($self->{'response'}->{'StubData'})); 
     972        return ('RESPONSE: ' . $self->{'response'}->{'Type'},"STUB DATA = " .  $self->bin2hex($self->{'response'}->{'StubData'})); 
    985973    } else { 
    986         $self->{'error'} = "ACK, no support for $protocol yet!"; 
    987         return; 
     974        return('NO PROTOCOL SUPPORT'); 
    988975    } 
    989976}