[431] in BarnOwl Developers

home help back first fref pref prev next nref lref last post

[D-O-H] r562 - in trunk: . owl/perl/modules

daemon@ATHENA.MIT.EDU (nelhage@MIT.EDU)
Thu Oct 29 18:06:04 2009

Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
Date: Wed, 24 Jan 2007 16:12:26 -0500
To: dirty-owl-hackers@mit.edu
From: nelhage@MIT.EDU
Reply-To: dirty-owl-hackers@MIT.EDU

Author: nelhage
Date: 2007-01-24 16:12:25 -0500 (Wed, 24 Jan 2007)
New Revision: 562

Modified:
   trunk/
   trunk/owl/perl/modules/jabber.pl
Log:
 r18185@phanatique:  nelhage | 2007-01-24 16:12:20 -0500
 Guess an account for jwrite based on whether the JID is in one of your
 account's rosters.



Property changes on: trunk
___________________________________________________________________
Name: svk:merge
   - bb873fd7-8e23-0410-944a-99ec44c633eb:/branches/owl/filter-rewrite:15925
bb873fd7-8e23-0410-944a-99ec44c633eb:/local/d-o-h/trunk:18175
   + bb873fd7-8e23-0410-944a-99ec44c633eb:/branches/owl/filter-rewrite:15925
bb873fd7-8e23-0410-944a-99ec44c633eb:/local/d-o-h/trunk:18185

Modified: trunk/owl/perl/modules/jabber.pl
===================================================================
--- trunk/owl/perl/modules/jabber.pl	2007-01-24 07:24:13 UTC (rev 561)
+++ trunk/owl/perl/modules/jabber.pl	2007-01-24 21:12:25 UTC (rev 562)
@@ -399,7 +399,7 @@
     my $cmd = shift;
     my $jid = new Net::XMPP::JID;
     $jid->SetJID(shift);
-    my $password = undef;
+    my $password = '';
     $password = shift if @_;
     
     my $uid           = $jid->GetUserID();
@@ -421,7 +421,6 @@
     my ( $server, $port ) = getServerFromJID($jid);
 
     $vars{jlogin_jid} = $jidStr;
-    $vars{jlogin_password} = $password;
     $vars{jlogin_connhash} = {
         hostname      => $server,
         tls           => 1,
@@ -559,7 +558,7 @@
     my $jwrite_sid     = "";
     my $jwrite_thread  = "";
     my $jwrite_subject = "";
-    my $to;
+    my ($to, $from);
     my $jwrite_type    = "chat";
 
     my @args = @_;
@@ -569,7 +568,7 @@
     GetOptions(
         'thread=s'  => \$jwrite_thread,
         'subject=s' => \$jwrite_subject,
-        'account=s' => \$jwrite_from,
+        'account=s' => \$from,
         'id=s'     =>  \$jwrite_sid,
     );
     $jwrite_type = 'groupchat' if $gc;
@@ -583,14 +582,18 @@
         $to = shift @ARGV;
     }
 
-    ($jwrite_from, $jwrite_to, $jwrite_type) = guess_jwrite($jwrite_from, $to);
+    ($jwrite_from, $jwrite_to, $jwrite_type) = guess_jwrite($from, $to);
     
     unless($jwrite_to) {
         die("Unable to resolve JID $to");
     }
 
     unless($jwrite_from) {
-        die("Unable to resolve account");
+        if(!$from) {
+            die("You must specify an account with -a");
+        } else {
+            die("Unable to resolve account $from");
+        }
     }
     
     $vars{jwrite} = {
@@ -1295,14 +1298,15 @@
 
 sub resolveDestJID {
     my ($to, $from) = @_;
-    return $to if $to =~ /@/;
     my $jid = Net::Jabber::JID->new($to);
 
     my $roster = $conn->getRosterFromJID($from);
     my @jids = $roster->jids('all');
     for my $j (@jids) {
-        if($roster->query($j, 'name') eq $to) {
+        if(($roster->query($j, 'name') || "") eq $to) {
             return $j->GetJID('full');
+        } elsif($j->GetJID('base') eq baseJID($to)) {
+            return $j->GetJID('full');
         }
     }
 
@@ -1312,6 +1316,7 @@
 sub resolveType {
     my $to = shift;
     my $from = shift;
+    return unless $from;
     my @mucs = $conn->getConnectionFromJID($from)->MUCs;
     if(grep {$_->BaseJID eq $to } @mucs) {
         return 'groupchat';
@@ -1328,10 +1333,6 @@
         $from_jid = resolveConnectedJID($from);
         die("Unable to resolve account $from") unless $from_jid;
         $to_jid = resolveDestJID($to, $from_jid);
-    } elsif($to =~ /@/) {
-        $to_jid = $to;
-        $from_jid = defaultJID();
-        die("You must specify an account with -a") unless $from_jid;
     } else {
         for my $f ($conn->getJids) {
             $to_jid = resolveDestJID($to, $f);
@@ -1339,6 +1340,7 @@
                 $from_jid = $f;
             }
         }
+        $to_jid = $to if $to =~ /@/;
         die("Unable to resolve JID $to") unless $to_jid;
     }
 


home help back first fref pref prev next nref lref last post