diff -u sendxmpp-1.14/sendxmpp sendxmpp-1.14.patched/sendxmpp --- sendxmpp-1.14/sendxmpp 2008-12-18 03:37:49.000000000 +0100 +++ sendxmpp-1.14.patched/sendxmpp 2008-12-18 04:47:07.000000000 +0100 @@ -290,14 +290,15 @@ componentname => $comp }; $arghash->{port} = $port if ($port); - if (!$port) { - @res = $cnx->Connect(%$arghash); - error_exit ("Could not connect to server '$host': $@") unless @res; - } else { - @res = $cnx->Connect(%$arghash); - error_exit ("Could not connect to '$host' on port $port: $@") unless @res; - } + @res = $cnx->Connect(%$arghash); + if (!@res) { + my $err = $cnx->GetErrorCode(); + $err = $@ unless $err; + $err = ($err->{'text'} ? $err->{'text'} : $err->{'type'}) unless (ref $err ne "HASH"); + error_exit ("Could not connect to server '$host'" . ($port ? " on port $port" : "") . ($err ? ": $err" : ".")) unless @res; + } + xmpp_check_result("Connect",\@res,$cnx); if ($comp) { root@devil:/usr/src/xmpp/sendxmpp-1.14/patches# cat add_cmdline_type.patch diff -ur sendxmpp-1.14.orig/sendxmpp sendxmpp-1.14/sendxmpp --- sendxmpp-1.14.orig/sendxmpp 2008-12-18 03:37:49.000000000 +0100 +++ sendxmpp-1.14/sendxmpp 2008-12-18 15:52:41.000000000 +0100 @@ -201,7 +201,7 @@ usage() unless (scalar(@ARGV)); - my ($subject,$file,$resource,$jserver,$port,$username,$password,$component, + my ($subject,$file,$resource,$jserver,$port,$username,$password,$type,$component, $message, $chatroom, $headline, $debug, $tls, $interactive, $help, $raw, $verbose); my $res = GetOptions ('subject|s=s' => \$subject, 'file|f=s' => \$file, @@ -211,6 +211,7 @@ 'username|u=s' => \$username, 'password|p=s' => \$password, 'message|m=s' => \$message, + 'type|y=s' => \$type, 'headline|l' => \$headline, 'chatroom|c' => \$chatroom, 'tls|t' => \$tls, @@ -251,6 +252,7 @@ 'username' => ($username or ''), 'password' => ($password or ''), 'chatroom' => ($chatroom or 0), + 'type' => ($type or ''), 'headline' => ($headline or 0), 'interactive' => ($interactive or 0), 'tls' => ($tls or 0), @@ -332,7 +334,7 @@ $_, #$$cmdline{'recipient'}, $$cmdline{'component'} || $$config{'component'}, $$cmdline{'subject'}, - $$cmdline{'headline'}, + $$cmdline{'type'} || ($$cmdline{'headline'} ? 'headline' : 'message'), $txt) } @{$$cmdline{'recipient'}}; } @@ -373,13 +375,8 @@ # sub xmpp_send_message ($$$$$$) { - my ($cnx,$rcpt,$comp,$subject,$headline,$msg) = @_; + my ($cnx,$rcpt,$comp,$subject,$type,$msg) = @_; - my $type = 'message'; - if ($headline) { - $type='headline'; - } - # for some reason, MessageSend does not return anything $cnx->MessageSend('to' => $rcpt . ( $comp ? "\@$comp" : '' ), 'type' => $type, @@ -565,6 +562,10 @@ Connect securely, using TLS +=item B<-y>,B<--type> I + +Use specific message type. The default is 'message'. + =item B<-l>,B<--headline> Send a headline type message (not stored in offline messages)