GithubHelp home page GithubHelp logo

jabber-net's People

Watchers

 avatar

jabber-net's Issues

Ignored: AutoLogin = false

What steps will reproduce the problem?

Create a new jabberClient instance, set the proper server and host, and set 
AutoLogin to false.  
Also, setup OnReadText and OnWriteText so you can see what's actually 
happening.  Then simply 
call Connect();

What is the expected output? What do you see instead?

You would expect the jabber client to create a proper connection, but stop 
short of trying to 
authenticate.  Especially since we didn't set a username and password.

What version of the product are you using? On what operating system?
1.0.1  on Windows Vista.

Please provide any additional information below.

After configuring the jabber client as stated above, with AutoLogin = false, I 
get this output:

ExecuteConnect
jabberClient_OnConnect
Warning: overriding existing packet factory
SND: <stream:stream xmlns:stream="http://etherx.jabber.org/streams" 
id="28c38991" 
xmlns="jabber:client" to="robbiehanson.com" version="1.0">
RCV: <?xml version='1.0'?><stream:stream xmlns='jabber:client' 
xmlns:stream='http://etherx.jabber.org/streams' id='1008840260' 
from='robbiehanson.com' 
version='1.0' xml:lang='en'>
RCV: <stream:features><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-
sasl'><mechanism>DIGEST-
MD5</mechanism><mechanism>PLAIN</mechanism></mechanisms><register 
xmlns='http://jabber.org/features/iq-register'/></stream:features>
SND: <auth mechanism="DIGEST-MD5" xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />
RCV: <challenge xmlns='urn:ietf:params:xml:ns:xmpp-
sasl'>bm9uY2U9IjI3NjY5MDk2MTYiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09b
WQ1LXNlc3M=</challenge>
jabberClient_OnError: jabber.connection.sasl.SASLException: Missing SASL 
username directive

Original issue reported on code.google.com by [email protected] on 30 Mar 2008 at 3:35

problem re-connecting after disconnect

What steps will reproduce the problem?
1. connect to gtalk (maybe other services too)
2. disable/enable internet connection
3. reconnect (using the same instance of the application)
4. send and/or receive an im

What is the expected output? What do you see instead?
Expect session to work as normal, instead I get various failures.  One I
caught specifically was in the XmppStream.Write, m_stanzas is null causing
a NullReferenceException.

What version of the product are you using? On what operating system?
Jabber-Net 1.0 Source Feb 15 4.7 MB 3452
Windows XP

Please provide any additional information below.
I tried recreating the object before reconnecting and still had the same
problem.  If I exit the app and re-run it seems connect and work as expected.

Original issue reported on code.google.com by [email protected] on 2 Apr 2008 at 2:51

bug in confernece manager with proposed fix

What steps will reproduce the problem?
1. join room where you are not the owner
2. other user in room who is owner grants you owner affiliation
3. the presenece packet that is sent form the server is swallowed and is 
not bubbled

What is the expected output? What do you see instead?
I expect the presence packed to be bulbled via the 

OnParticipantPresenceChange event so that my app can be aware that right 
have been granted:


In the file ConferenceManager.cs
In the method:
private void m_stream_OnProtocol(object sender, System.Xml.XmlElement rp)

change:

Current:
                // if this is ours
                if (p.From == m_jid)
                {
                    switch (m_state)
                    {
                    case STATE.join:
                        OnJoinPresence(p);
                        break;
                    case STATE.leaving:
                        OnLeavePresence(p);
                        break;
                    case STATE.running:
                        if (p.Type == PresenceType.unavailable)
                            OnLeavePresence(p);
                        break;
                    }
                }

Proposed:
                // if this is ours
                if (p.From == m_jid)
                {
                    switch (m_state)
                    {
                    case STATE.join:
                        OnJoinPresence(p);
                        break;
                    case STATE.leaving:
                        OnLeavePresence(p);
                        break;
                    case STATE.running:
                        if (p.Type == PresenceType.unavailable)
                        {
                            OnLeavePresence(p);
                        }
                        else if(mod == 
ParticipantCollection.Modification.NONE)
                        {
                            if (OnParticipantPresenceChange != null)
                                OnParticipantPresenceChange(this, party);

                        }
                        break;
                    }
                }

Original issue reported on code.google.com by [email protected] on 28 Oct 2008 at 3:45

HTTP-Binding with Openfire -> Never get an response

What steps will reproduce the problem?
1. Connect to an Openfire XMPP Server with activated HTTP-Binding
2. Connect with Example.exe (latest from repository, the release does not
support HTTP-Binding)
3. Nothing happens. When using e.g. HTTPFiddler as Proxy to see the traffic
, the server returns an response.

When I connect via JSJac (JavaScript XPMM Client) everything works fine.

What is the expected output? What do you see instead?
I expect to work jabber-net with OpenFire XMPP Server.

What version of the product are you using? On what operating system?
Jabber-Net from Repository. Windows Vista SP1.



Original issue reported on code.google.com by [email protected] on 15 May 2008 at 2:48

Pubsub 'owner' use cases not implemented

Various pubsub operations are being done under the wrong namespace. For 
example, deleting a node sends this:

 <iq id="42" type="set" to="pubsub.example.com">
   <pubsub xmlns="http://jabber.org/protocol/pubsub">
     <delete node="the_node" />
   </pubsub>

The namespace on the pubsub nodes used for deletions should be 
http://jabber.org/protocol/pubsub#owner.

Original issue reported on code.google.com by [email protected] on 21 Mar 2008 at 12:25

ProhibitedCharacterException

This is not necessarily a bug, but i would like to understand what causes 
this error. 

My code:

private void _jabberClient_OnAuthError(object sender, XmlElement rp)
{
    _jabberClient.Register(new JID(_username, _chatserver, null));
}


************** Exception Text **************
stringprep.steps.ProhibitedCharacterException: Step XMPP Node prohibits 
string (character U+0040).
   at stringprep.steps.ProhibitStep.Prepare(StringBuilder result)
   at stringprep.Profile.Prepare(StringBuilder result)
   at jabber.JID..ctor(String user, String server, String resource)
   at MyApplication.Main._jabberClient_OnAuthError(Object sender, 
XmlElement rp)
   at jabber.protocol.ProtocolHandler.Invoke(Object sender, XmlElement rp)


Can you identify exactly what is failing? What are allowed characters for 
jabberClient.Register()?

Thanks

Original issue reported on code.google.com by [email protected] on 3 May 2008 at 5:53

SASL Processors aren't "thread safe"

What steps will reproduce the problem?
1. Create a JabberClient on multiple threads.
2. Call Connect() on each.

What is the expected output? What do you see instead?

Each client should connect properly. Instead, some internal system errors 
are thrown (and then rethrown as SASLExceptions) such as "Safe handle has 
been closed". Upon further research, some SASLProcessor implementations 
(e.g. MD5Processor) are using private static .NET objects for their 
processing.

.NET's thread safety states that non-static methods are usually not thread-
safe. Using these objects as static objects violates that. The bug would 
be fixed by removing the 'static' decorator from those fields (the 
MD5CryptoServiceProvider and Regex). This would ensure that those objects 
aren't being used by multiple XmppStream objects.

Original issue reported on code.google.com by [email protected] on 5 Aug 2008 at 12:06

gtalk & socks5 proxy

What steps will reproduce the problem?
1. jabber-net compiled with gmcs ver1.2.6.0 
2. tor socks5 proxy
3. launch "mono Program.exe"

What is the expected output? What do you see instead?
SEND: <stream:stream xmlns:stream="http://etherx.jabber.org/streams"
id="1568b3e5" xmlns="jabber:client" to="gmail.com" version="1.0">
RECV: <?xml version="1.0" encoding="UTF-8"?><stream:stream from="gmail.com"
id="320F66EF3382104B" version="1.0"
xmlns:stream="http://etherx.jabber.org/streams"
xmlns="jabber:client"><stream:features><starttls
xmlns="urn:ietf:params:xml:ns:xmpp-tls"><required/></starttls><mechanisms
xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>X-GOOGLE-TOKEN</mechanism></
mechanisms></stream:features>
SEND: <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls" />
RECV: <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
Error: System.IO.IOException: The authentication or decryption has failed.
---> System.IO.IOException: Read failure --->
System.Net.Sockets.SocketException: Operation on non-blocking socket would
block
  at System.Net.Sockets.Socket.Receive (System.Byte[] buf, Int32 offset,
Int32 size, SocketFlags flags) [0x00000]
  at System.Net.Sockets.NetworkStream.Read (System.Byte[] buffer, Int32
offset, Int32 size) [0x00000] --- End of inner exception stack trace ---

  at System.Net.Sockets.NetworkStream.Read (System.Byte[] buffer, Int32
offset, Int32 size) [0x00000]
  at Mono.Security.Protocol.Tls.RecordProtocol.ReadStandardRecordBuffer
(System.IO.Stream record) [0x00000]
  at Mono.Security.Protocol.Tls.RecordProtocol.ReadRecordBuffer (Int32
contentType, System.IO.Stream record) [0x00000]
  at
Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback
(IAsyncResult asyncResult) [0x00000] --- End of inner exception stack trace ---

  at Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback
(IAsyncResult asyncResult) [0x00000]
Error: System.Exception: Unexpected exception --->
System.NullReferenceException: Object reference not set to an instance of
an object
  at jabber.connection.XmppStream.SendNewStreamHeader () [0x00000]
  at jabber.connection.XmppStream.OnElement (System.Object sender,
System.Xml.XmlElement tag) [0x00000]
  at jabber.client.JabberClient.OnElement (System.Object sender,
System.Xml.XmlElement tag) [0x00000]
  at
jabber.connection.XmppStream.jabber.connection.IStanzaEventListener.StanzaReceiv
ed
(System.Xml.XmlElement elem) [0x00000]
  at jabber.connection.SocketStanzaStream.m_elements_OnElement
(System.Object sender, System.Xml.XmlElement rp) [0x00000]
  at jabber.protocol.ElementStream.FireOnElement (System.Xml.XmlElement
elem) [0x00000]
  at jabber.protocol.AsynchElementStream.EndTag (System.Byte[] buf, Int32
offset, xpnet.ContentToken ct, TOK tok) [0x00000]
  at jabber.protocol.AsynchElementStream.Push (System.Byte[] buf, Int32
offset, Int32 length) [0x00000] --- End of inner exception stack trace ---

  at jabber.protocol.AsynchElementStream.Push (System.Byte[] buf, Int32
offset, Int32 length) [0x00000]
  at
jabber.connection.SocketStanzaStream.bedrock.net.ISocketEventListener.OnRead
(bedrock.net.BaseSocket sock, System.Byte[] buf, Int32 offset, Int32
length) [0x00000]


What version of the product are you using? On what operating system?
jabber-net 2.1.0.710 on Mandrivalinux 2008

Please provide any additional information below.

Program.cs:
/*
 * Created by SharpDevelop.
 * User: debe
 * Date: 20/09/2008
 * Time: 16.39
 * 
 * To change this template use Tools | Options | Coding | Edit Standard
Headers.
 */
#define DEBUG

using System;
using System.Threading;
using jabber;
using jabber.client;

namespace AutmConferenceMono
{
    class Program
    {
        // we will wait on this event until we're done sending
        static ManualResetEvent done = new ManualResetEvent(false);
        const string TARGET = "[email protected]";
        static JabberClient j = new JabberClient();
        static RosterManager rm= new RosterManager();
        static PresenceManager pm = new PresenceManager();

        static void Main(string[] args)
        {

            // what user/pass to log in as
            j.User = "user"
            j.Server = "gmail.com";  // use gmail.com for GoogleTalk
            j.Password = "password";
            j.NetworkHost = "talk.l.google.com";
            j.Port = 5222;

            //auth settings

            j.AutoStartTLS = true;
            //j.KeepAlive = 5;
            j.Resource = "resource";
            //j.Priority = 24;



            //Proxy settings
            j.Proxy = jabber.connection.ProxyType.Socks5;
            j.ProxyHost = "127.0.0.1";
            j.ProxyPort = 9050;


            // don't do extra stuff, please.
            j.AutoPresence = false;
            j.AutoRoster = true;
            j.AutoReconnect = 0;

            rm.Stream = j;
            pm.Stream = j;


            // listen for errors.  Always do this!
            j.OnError += new bedrock.ExceptionHandler(j_OnError);

            // what to do when login completes
            j.OnAuthenticate += new bedrock.ObjectHandler(j_OnAuthenticate);

            //listen for message
            j.OnMessage += new MessageHandler(j_OnMessage);

            // listen for XMPP wire protocol
            #if DEBUG
            j.OnReadText += new bedrock.TextHandler(j_OnReadText);
            j.OnWriteText += new bedrock.TextHandler(j_OnWriteText);
            #endif

            //Per non farsi rompere i maroni col certificato!!
            j.OnInvalidCertificate += new
System.Net.Security.RemoteCertificateValidationCallback(j_OnInvalidCertificate);

            // Set everything in motion
            j.Connect();

            // wait until sending a message is complete
            done.WaitOne();

            // logout cleanly
            j.Close();

            //aspetta tutti i metodi...
            Thread.Sleep(3);
        }

        static void j_OnMessage(object sender, jabber.protocol.client.Message msg)
        {
            if (msg.Body.StartsWith("/quit"))
            {
                //� la fine
                done.Set();
            }
            else if (msg.Body.StartsWith("/who"))
            {
                String WhoMsg = "";
                foreach (JID user in rm)
                {
                    if (pm.IsAvailable(user))
                    {
                        jabber.protocol.client.Presence pres = pm[user];
                        // prendo il nome giusto
                        String NomeUtente = rm[user.Bare].Nickname;
                        if (NomeUtente == null)
                        {
                            //se non c'� il nickname uso il nome utente
                            NomeUtente = user.Bare;
                        }
                        switch (pres.Show)
                        {
                            case "dnd":
                                WhoMsg = WhoMsg + "*"+ NomeUtente + "*" + "\n";
                                break;
                            case "away":
                                WhoMsg = WhoMsg + "_"+ NomeUtente + "_" + "\n";
                                break;
                            default:
                                WhoMsg = WhoMsg + NomeUtente + "\n";
                                break;
                        }
                    }
                }
                j.Message(msg.From, WhoMsg);
            }
            else if (msg.Body.StartsWith("/status"))
            {
                //imposta la frase di stato del bot
                //la lunghezza di "/status" � 7 + 1 spazio
                String statusMsg = msg.Body.Remove(0, 8);
                j.Presence(jabber.protocol.client.PresenceType.available, statusMsg,
"available", 0);
            }
            else
            {
                foreach (JID user in rm)
                {
                    //se non sono quello che l'ha mandato
                    if (user.ToString() != msg.From.Bare)
                    {
                        //ottengo il roster item che � pi� informativo
                        jabber.protocol.iq.Item rosterItem = rm[user];
                        //tipo il nickname
                        String FromUserName = rm[msg.From.Bare].Nickname;
                        if (FromUserName == null)
                        {
                            //se non c'� il nickname uso il nome utente
                            FromUserName = msg.From.User;
                        }
                        //il presence mi serve per sapere...
                        jabber.protocol.client.Presence pres = pm[user];

                        //se l'utente � online
                        if (pm.IsAvailable(user))
                        {
                            //ok � disponibile 
                            //ma magari non vuole essere disturbato dnd = Do not disturb
                            if (pres.Show != "dnd")
                            {
                                //message in a bottle!
                                #if DEBUG
                                j.Message(TARGET, "*" + FromUserName + ":* " + msg.Body + " to: " +
user.Bare.ToString());
                                #else
                                j.Message(user, "*" + FromUserName + ":* " + msg.Body);
                                #endif
                            }
                        }
                        else
                        {
                            //nulla
                        }
                    }
                }
            }           
        }

        static bool j_OnInvalidCertificate(object sender,
System.Security.Cryptography.X509Certificates.X509Certificate certificate,
System.Security.Cryptography.X509Certificates.X509Chain chain,
System.Net.Security.SslPolicyErrors sslPolicyErrors)
        {
            //Sono malato , ho il certificato!
            return true;
        }

        #if DEBUG
        static void j_OnWriteText(object sender, string txt)
        {
            if (txt == " ") return;  // ignore keep-alive spaces
            Console.WriteLine("SEND: " + txt);
        }

        static void j_OnReadText(object sender, string txt)
        {
            if (txt == " ") return;  // ignore keep-alive spaces
            Console.WriteLine("RECV: " + txt);
        }
        #endif

        static void j_OnAuthenticate(object sender)
        {
            //dico che sono online!!
            j.Presence(jabber.protocol.client.PresenceType.available, "conference
Bot", "available", 0);
        }

        static void j_OnError(object sender, Exception ex)
        {
            // There was an error!
            Console.WriteLine("Error: " + ex.ToString());

            // Shut down.
            done.Set();
        }
    }
}



Original issue reported on code.google.com by debe.mechero on 22 Sep 2008 at 11:03

Exception in AsynchElementStream: invalid end tag

In an effort to determine which of my available contacts supports what, I'm
using a DiscoManager to request disco#info the first time a <presence>
element for a particular JID arrives.  It looks like there might be some
crosstalk with so much data coming in at the same time.

I'm emailing a full dump of the sent and received data, and the exception
stack trace, to hildjj at gmail.com - emailing rather attaching because it
contains JIDs and so forth.

============ Offending code follows ============

/// <summary>
/// Requests discovery of features for the specified JID
/// </summary>
private void DiscoverFeatures(JID jid)
{
    discoManager.BeginGetFeatures(jid, "", discoManager_GetFeatures, null);
}

...

/// <summary>
/// Processes a presence update event
/// </summary>
private void jabberSession_OnPresence(object sender,
jabber.protocol.client.Presence pres)
{
    if (!HaveFeaturesBeenDiscovered(pres.From))
    {
        DiscoverFeatures(pres.From);
    }
}

============ Code ends ============

If you look at the dump file sent around line 200, there appears to be very
strange things going on with the Blackberry client on the roster - it
redeclares all the usual xml namespaces in its initial presence
notification.  Maybe that's what's causing the choke?

Original issue reported on code.google.com by [email protected] on 13 Sep 2008 at 6:38

Certificate does not comply with policy.

Error: 

Errors: RemoteCertificateNameMismatch, RemoteCertificateChainErrors
bedrock.net.CertificateException: Certificate does not comply with policy.
   at bedrock.net.AsyncSocket.StartTLS() in
i:\Code\Jabber\bedrock\net\AsyncSock
et.cs:line 1009
   at jabber.connection.SocketStanzaStream.StartTLS() in
i:\Code\Jabber\jabber\c
onnection\SocketStanzaStream.cs:line 384
   at jabber.connection.XmppStream.StartTLS() in
i:\Code\Jabber\jabber\connectio
n\XmppStream.cs:line 1370


I receive this error when connecting to any Jabber server.
I am using the latest subversion build, using .net 2.0 in sharp dev.
I am going to look through the code and see what exactly is causing this
problem, but before i did that id figured i would ask if you have seen this
error, and know a work around. I have also attached a text file with the
console client output thanks.

Dave.



Original issue reported on code.google.com by [email protected] on 25 Nov 2007 at 5:57

Attachments:

room presence

just two little suggestion (or request...)
I receive the presence from a room (conference) with
JabberClient.OnPresence also when an user join/leave a room.
The problem I'm encountering is that when i receive OnPresence unavailable
for a user "x" the user x has been already removed from room.Participants
so i can't anymore get the user's realJid. 
Isn't it better to fire the event before removing the partecipant?
Another thing: is it possible to have some event on the room like
OnParticipantJoin, OnParticipantLeave to better manage the room (and
without having to store someway in my software the link jid - room)?
thank you

Original issue reported on code.google.com by [email protected] on 4 Feb 2008 at 3:12

Your Email?



What steps will reproduce the problem?
1. I need your email
2.
3. €100

What is the expected output? What do you see instead?


What version of the product are you using? On what operating system?


Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 4 Mar 2008 at 5:25

discomanager clearcache needed

What steps will reproduce the problem?
1. DiscoManager.BeginFindServiceWithFeature(URI.MUC, ...) 
2. DiscoManager.BeginGetItems(...) 

What is the expected output? What do you see instead?
the output is in some way chached and is always the same, although the real
data is changed
(i'm retreiving room list and if either i remove or create a new room the
result is always the same)

Is it possible to implement a clear chache function or add a parameter to
this function meaning "force discovery (ignore cache)"

thanks

Original issue reported on code.google.com by [email protected] on 16 Apr 2008 at 6:37

Closing a client that's still trying to connect

What steps will reproduce the problem?
Setup a jabber client to connect to some host that doesn't exist.  e.g 
"randomHost15F7389D"
Then wait a moment (the client still won't be connected), and tell it to close.

What is the expected output? What do you see instead?
One would expect to see the connection attempt immediately stop, and a call to 
the OnError 
method.  It seems to do nothing instead.

What version of the product are you using? On what operating system?
1.0.1 on Windows Vista.

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 30 Mar 2008 at 7:30

Google chat user can not be TLS authenticated [explained]

What steps will reproduce the problem?
1. Have an account at google mail.
2. As described here: http://code.google.com/apis/talk/open_communications.html
try to connect using console client. Network server: talk.google.com;
Server gmail.com; user name and password, initiate TLS;
3. You will receive mismatch CN exception.

Debugging shows that google returns certificate for "gmail.com", not
"talk.google.com". Perhaps TLS is considered a connection to "logical"
server, not to the "network" one.

What version of the product are you using? On what operating system?
I compiled the library from trunk. Windows 2003, VS-2003.

Original issue reported on code.google.com by [email protected] on 15 Dec 2007 at 11:59

problem with JabberClient.GetRoster after joined a conference

Hi all,
I'm having a problem when receiving the answer from my server if calling
JabberClient.GetRoster after having created and joined a conference with
Room.DefaultConfig = true.
I'm using openfire 3.4.3 as jabber server.
First i had a "bad jid" exception in ConferenceManager.m_stream_OnProtocol
on JID from = (JID)rp.GetAttribute("from");. I solved temporarily this
problem by adding this line before the previous:  
if (rp.GetAttribute("from") == "")return;
Now the code seem to work but sometime I get again an exception
(System.ArgumentException {"An item with the same key has already been
added."}) in AsynchElementStream.EndTag but i couldn't debug deeply.
I have the same problem if i leave the conference before doing GetRoster.
No problem instead if doing GetRoster without having never created or
joined a conference.

Original issue reported on code.google.com by [email protected] on 4 Feb 2008 at 9:57

Need error handling check in Time.Utc getter

Gaim returns the <utc> element in a jabber:iq:time query result, but
doesn't fill it in.  The XEP says the <utc> element is required, but the
data in it is only a SHOULD, so I guess this is valid.  At any rate, I
suppose we should be liberal in what we accept and not crash with a NRE.

The packet:
<iq type="result" from="[email protected]/Home"
to="[email protected]/Test" id="JN_13"><query xmlns="jabber:iq:time"><utc
/><tz>CST</tz><display /></query></iq>

StackTrace:
System.NullReferenceException occurred
  Message="Object reference not set to an instance of an object."
  Source="jabber-net"
  StackTrace:
       at jabber.protocol.Element.JabberDate(String dt) in
D:\Documents\Visual Studio
2005\Projects\jabber-net\jabber\protocol\Element.cs:line 481

Original issue reported on code.google.com by [email protected] on 14 Feb 2008 at 10:18

CapsManager sets Disco node

What steps will reproduce the problem?
1. Send a Disco Info request to a JabberClient running CapsManager for no-
node.
2. Send a Disco Info request to a JabberClient running CapsManager for 
node="the#caps#manager#hash".

For both responses, the node is set to "the#caps#manager#hash", when it 
should be left blank for the first case.

This prevents requestors from seeing valid information on the nodeless JID.

To fix, comment out : info.Node = NodeVer in CapsManager.cs's IQ handler.


Original issue reported on code.google.com by [email protected] on 4 Aug 2008 at 7:59

RosterManager missing InvokeControl

What steps will reproduce the problem?
Setup a jabber client and set it's InvokeControl to the proper form.  Now 
create an associated 
roster manager, and set it's Client to the jabber client.  Add a delegate for 
OnSubscription.  
Notice that it get's called in a background thread.

What is the expected output? What do you see instead?
Since the RosterManager class is dependent on a JabberClient, one might expect 
it to follow the 
configuration from the JabberClient.  Or provide it's own InvokeControl.

What version of the product are you using? On what operating system?
1.0.1 on Windows Vista.

Please provide any additional information below.
Also very confused about "jabber.client.RosterManager.Client is obsolete: Use 
the stream 
property instead".  Why?  How do I get the stream from the client?

Original issue reported on code.google.com by [email protected] on 7 Apr 2008 at 5:41

Test issue

This is a test to figure out if I will get reports when issues are filed.

Original issue reported on code.google.com by [email protected] on 29 May 2007 at 8:30

Makefile is missing some files

Hey, the Makefile is missing a few files. I got most of them in this patch.

A few files still remain missing... I'm not sure if they are important
though. Here's the horrible command I came up with:

eric@coal ~/sources/jabber-net-read-only $ find . -name \*.cs -exec echo -n
"{} " \; -exec grep -c {} Makefile \;  | grep -v ^./test | grep -v
^./Example | grep 0$

Thanks!

Original issue reported on code.google.com by [email protected] on 7 Aug 2008 at 6:21

Attachments:

Jabber-Net sends two times msg.body

What steps will reproduce the problem?
i have a jabber-net i c# and i send messages to another contact in spark
client, the first time i send a message i receive in spark only one but the
next message send it's received twice in spark

What is the expected output? What do you see instead?
i expect to see only one message every time but i see the message twice,
it's like jabber-net send it two times every message


What version of the product are you using? On what operating system?


Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 23 Jun 2008 at 6:00

JOSL deprecated

It's great that this project is dual licensed so that corporates may us it
(and hopefully donate/contribute back). However JOSL was deprecated back in
2005 (http://www.jabber.org/about/josl.shtml). Would it be possible to
relicense under something similar but is currently recognised?

Cheers

Original issue reported on code.google.com by [email protected] on 23 Feb 2008 at 10:09

Add support for XEP-0084: User Avatar

Hello,

Please add support for "XEP-0084: User Avatar". Perhaps an AvatarManager
that has a simple directory cache. May need to fall back to
XEP-0008/XEP-0153 depending on what clients support these days.

Thanks!

Original issue reported on code.google.com by [email protected] on 12 Nov 2008 at 6:13

JabberClient does not reconnect when network connectivity connection to the server is lost.

I had an OnError event get fired when what appears to be a connection issue
occurred between the JabberClient and server. It looks like I lost network
connectivity for a short while and the JabberClient did not reconnect to
the JabberServer. 

** What steps will reproduce the problem?
1. Connect to Jabber server using JabberClient with AutoReconnect set to
the default 30 seconds.
2. Disable the client machine's network adapter.
3. Re-enable the network adapter.

What is the expected output? What do you see instead?

I expected the JabberClient to reconnect to the server.

Attached is a log file with details of the error thrown during the network
disconnection.

** What version of the product are you using? On what operating system?

Revision 667

I think the issue I am seeing is related to the XmppStream.FireOnError
method. m_reconnect is set to false during the error handling. Preventing
server re-connections to be tried. 

I do not yet understand the code well enough to recommend a patch. 

** Please provide any additional information below.

My interest is in a service that has no user interaction so I cannot prompt
the user when connectivity is lost. I assumed that the client would
reconnect due to lost connectivity. What usage scenarios is the
AutoReconnection feature targeted for? 

A possible workaround I can think up would be to have the OnError handle
attempt to create a new JabberClient.


Original issue reported on code.google.com by [email protected] on 21 Apr 2008 at 8:03

Attachments:

Unable to connect to Google Talk

What steps will reproduce the problem?

I have the following basic code for connecting to gtalk:

JabberClient client = new JabberClient();
client.Server = "gmail.com";
client.User = "alabala";
client.Password = "koko";
client.Connect();

What is the expected output? What do you see instead?

The program is throwing exception when trying to retrieve DNS records
(DnsQuery) - "DNS Query Fails". I have tried to provide the network host by
setting:

client.NetworkHost = "talk.l.google.com";

but then I get a different exception in IPAddress.InternalParse method
saying "An invalid IP address was specified."

I have run the *nslookup* to see what is going on and when following the
instructions at http://code.google.com/p/jabber-net/wiki/FAQ_GoogleTalk
I have problems getting the SRV DNS records. Only after I specify:

set class=ANY

it is able to provide the records.

What version of the product are you using? On what operating system?

Jabber-Net.2005.r1.0.1.msi
jabber-net.dll, 2.0.0.609
netlib.Dns.dll, 1.1.2972.29006

Original issue reported on code.google.com by [email protected] on 24 Jun 2008 at 8:38

Implement XEP-0048: Bookmarks

Hey,

It would be awesome is jabber-net supported 'XEP-0048: Bookmarks' for
bookmarking MUCs.

http://www.xmpp.org/extensions/xep-0048.html

Thanks!
 - Eric

Original issue reported on code.google.com by [email protected] on 7 Aug 2008 at 6:55

GTalk login fails

What steps will reproduce the problem?
1. try to connect to talk.google.com

What is the expected output? What do you see instead?
expected successful login, instead I get an error:
Set the 'to' attribute of stream element to the domain part of the user's
JID. Example: to='gmail.com'.

What version of the product are you using? On what operating system?
Jabber-Net 1.0 Source Feb 15 4.7 MB 3452
Windows XP

Please provide any additional information below.

Original issue reported on code.google.com by [email protected] on 19 Mar 2008 at 4:29

In-band registration

I'm using jabber-net with provided c# client example.
This is the output

SEND: <stream:stream xmlns:stream="http://etherx.jabber.org/streams"
id="a8fe7fa2" xmlns="jabber:client" to="localhost" version="1.0">
New state: jabber.connection.NonSASLAuthState
New state: jabber.client.GetAuthState
RECV: <?xml version='1.0' encoding='UTF-8' ?><stream:stream
xmlns='jabber:client' from='localhost' id='5C39D4'
xmlns:stream='http://etherx.jabber.org/streams'>
SEND: <iq id="JN_1" type="get"><query
xmlns="jabber:iq:auth"><username>test</username></query></iq>
RECV: <iq id='JN_1' type='error'>
<query xmlns='jabber:iq:auth' type='error'>
<error code='404'>
User not found
</error>
</query>
</iq>
SEND: <iq id="JN_2" type="get" to="localhost"><query
xmlns="jabber:iq:register"><username>test</username></query></iq>
RECV: <iq from='localhost' type='result' id='JN_2'>
<username/>
<password/>
<hash/>
</iq>
---- DEBUG ASSERTION FAILED ----
---- Assert Short Message ----

---- Assert Long Message ----


    at JabberClient.OnGetRegister(Object sender, IQ iq, Object data) 
D:\VS.NET\JabberSolutions\Jabber-Net\jabber\client\JabberClient.cs(598)
    at IQTracker.OnIQ(Object sender, XmlElement elem) 
D:\VS.NET\JabberSolutions\Jabber-Net\jabber\connection\IQTracker.cs(87)
    at RuntimeMethodHandle._InvokeMethodFast(Object target, Object[]
arguments, SignatureStruct& sig, MethodAttributes methodAttributes,
RuntimeTypeHandle typeOwner)  
    at RuntimeMethodHandle.InvokeMethodFast(Object target, Object[]
arguments, Signature sig, MethodAttributes methodAttributes,
RuntimeTypeHandle typeOwner)  
    at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder
binder, Object[] parameters, CultureInfo culture, Boolean
skipVisibilityChecks)  
    at Delegate.DynamicInvokeImpl(Object[] args)  
    at Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)  
    at Control.InvokeMarshaledCallbackHelper(Object obj)  
    at ExecutionContext.runTryCode(Object userData)  
    at RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code,
CleanupCode backoutCode, Object userData)  
    at ExecutionContext.RunInternal(ExecutionContext executionContext,
ContextCallback callback, Object state)  
    at ExecutionContext.Run(ExecutionContext executionContext,
ContextCallback callback, Object state)  
    at Control.InvokeMarshaledCallback(ThreadMethodEntry tme)  
    at Control.InvokeMarshaledCallbacks()  
    at Control.WndProc(Message& m)  
    at ScrollableControl.WndProc(Message& m)  
    at ContainerControl.WndProc(Message& m)  
    at Form.WndProc(Message& m)  
    at ControlNativeWindow.OnMessage(Message& m)  
    at ControlNativeWindow.WndProc(Message& m)  
    at NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr
wparam, IntPtr lparam)  
    at UnsafeNativeMethods.DispatchMessageW(MSG& msg)  
    at
ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.F
PushMessageLoop(Int32
dwComponentID, Int32 reason, Int32 pvLoopData)  
    at ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext
context)  
    at ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)  
    at Application.Run(Form mainForm)  
    at MainForm.Main()  \Jabber-Net\Example\MainForm.cs(602)

Original issue reported on code.google.com by [email protected] on 15 Jan 2008 at 10:19

Stream Error occurs in Release build, but not in Debug build - when connecting to google talk

What version of the product are you using? On what operating system?

JabberNet-2.1.0.710 (source) / Windows Vista / C# Compiler 3.5.21022.8
(Visual Studio 2008)

What steps will reproduce the problem?

1. Run (Release build) "ConsoleClient.exe /j:[email protected] /p:mypassword"

What is the expected output? What do you see instead?

DEBUG VERSION output (result as expected):
    ...
    SENT: <iq id="JN_1" type="set" to="gmail.com"><b...
    ...

RELEASE VERSION:
    ...
    SENT: <iq id="JN_1" type="" to="gmail.com"><bind...
    RECV: <stream:error><not-authorized xmlns="urn:i...
    Stream ERROR: <stream:error xmlns:stream="http:/...
    ...

Note that the type attribute is null in the release version.  This is the
cause of the error shown in the output above.  It was also causing my GUI
client to lose connection with the server.

I traced the problem to the fact that in the release build the string
representation of an enum value was not being returned as expected because
a crucial piece of code was inside a Debug.Assert call.

To fix the problem on my machine I modified the Jabber-Net source code in
the ToString method of the EnumParser class
("/jabber/protocol/EnumParser.cs") to bring the TryGetValue call outside of
Debug.Assert.

  Original Code :
     public static string ToString(object value)
     {
         ...
         Dictionary<object, string> map = GetStringHash(t);
         string val = null;
         Debug.Assert(map.TryGetValue(value, out val));
         return val;
     }

  Modified Code:

     public static string ToString(object value)
     {
         ...
         Dictionary<object, string> map = GetStringHash(t);
         string val = null;
         bool valueWasRetrieved = map.TryGetValue(value, out val);
         Debug.Assert(valueWasRetrieved);
         return val;
     }

While this fixed the problem for me I do wonder why no one else seems to
have the same problem.

Original issue reported on code.google.com by [email protected] on 12 Aug 2008 at 10:32

xpnet.PartialTokenException thrown on large presence packet

I recently upgraded from about a year old jabber-net to the SVN version. 
When I log in to my account, I get:

xpnet.PartialTokenException occurred
  Message="Exception of type 'xpnet.PartialTokenException' was thrown."
  Source="jabber-net"
  StackTrace:
       at xpnet.Encoding.scanAtts(Int32 nameStart, Byte[] buf, Int32 off,
Int32 end, ContentToken token) in D:\Documents\Visual Studio
2005\Projects\jabber-net\xpnet\Encoding.cs:line 1479

The packet it seems to be dying on is attached.

I have another account with just a few contacts on it that works as expected.

Target account is @jabber.org.

Client system is VS2k5, Vista 64bit.

Original issue reported on code.google.com by [email protected] on 14 Feb 2008 at 6:03

Attachments:

Help file contents are not opening

What steps will reproduce the problem?
1. Downloaded the chm file & opened it

What is the expected output? What do you see instead?
Helpfile shyould llist out the content, but it displays 'page cannot be 
found error'

Original issue reported on code.google.com by [email protected] on 5 Mar 2008 at 9:09

"Presence only" connection receives ims

What steps will reproduce the problem?
1. Login to gtalk with JabberClient.Priority = -1
2. Send an IM to the client
3. client receives the IM

What is the expected output? What do you see instead?
A presence-only connection should not receive ims.  

What version of the product are you using? On what operating system?
not sure (will download the newest version tomorrow and try again)

Please provide any additional information below.
Not sure if this is a problem with the jabber client or gtalk, since
gtalk's interface does not have the option. pos.

Original issue reported on code.google.com by [email protected] on 25 Jun 2008 at 4:38

Unable to login on jabberd (2) server

What steps will reproduce the problem?
1.
Just use the ConsoleClient app to connect to the server
2.
3.

What is the expected output? What do you see instead?
Expect to continue the challenge but SASLException raised
ERROR: jabber.connection.sasl.SASLException: Missing nonce directive

What version of the product are you using? On what operating system?
Downloaded source archive (Release 1.0)
Windows Server 2003, .NET 2.0 , VS 2008

Please provide any additional information below.
ConsoleClient.exe /n web2003 /j TestJabber1@web2003 /p jabber1 /r /i /u
Connecting
Connected
SENT: <stream:stream xmlns:stream="http://etherx.jabber.org/streams"
id="c2458d70" xmlns="jabber:client" to="web2003" version="1.0">
RECV: <?xml version='1.0'?><stream:stream
xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client'
from='web2003' version='1.0'
id='u7qhffel7mgjyx4gdaiql3rc7ftxal83hnj48a8b'><stream:features
xmlns:stream='http://
etherx.jabber.org/streams'><starttls
xmlns='urn:ietf:params:xml:ns:xmpp-tls'/><mechanisms
xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>PLAIN</mechanism><mechanism>
DIGEST-MD5</mechanism></mechanisms><auth
xmlns='http://
jabber.org/features/iq-auth'/><register
xmlns='http://jabber.org/features/iq-register'/></stream:features>
SENT: <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls" />
RECV: <proceed xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
Invalid certificate (RemoteCertificateChainErrors):
[Version]
  V1

[Subject]
  E=root@localhost, CN=localhost, OU=localhost, O=Localhost, L=Localhost,
S=Localhost, C=PL
  Simple Name: localhost
  Email Name: root@localhost
  DNS Name: localhost

[Issuer]
  E=root@localhost, CN=localhost, OU=localhost, O=Localhost, L=Localhost,
S=Localhost, C=PL
  Simple Name: localhost
  Email Name: root@localhost
  DNS Name: localhost

[Serial Number]
  01

[Not Before]
  20/05/2007 21:48:41

[Not After]
  19/05/2009 21:48:41

[Thumbprint]
  26CE2FD2588125922EAC36DAA03F841257194D52

[Signature Algorithm]
  md5RSA(1.2.840.113549.1.1.4)

[Public Key]
  Algorithm: RSA
  Length: 1024
  Key Blob: 30 81 89 02 81 81 00 d3 d0 8a ef b9 1e 16 13 22 a2 15 e9 18 36
ec ac 22 91 63 22 0a e1 fd 15 5f 24 25 6b 5c 4b 44 f5 ba 3c 2b 1e 2c 68 69
57 1f 46 67 5d ef f9 c3 90 7b 1e 1d b6 43 87 0a ec e2 8b 04 4f d5 b8 8f af
e9 f3 04 56 dc 31 8e 38 d1 5a 6d 56 8b af 32 7c e6 60 80 dd b3 b3 e0 7c cb
71 00 73 13 62 c7 53 19 90 21 b3 30 bc ab b4 ed e3 72 3f 2d 64 c2 e7 76 1e
6b 31 96 a3 bc 0c 6f b3 44 69 aa 74 8c d5 02 03 01 00 01
  Parameters: 05 00

SENT: <stream:stream xmlns:stream="http://etherx.jabber.org/streams"
id="31b98ca8" xmlns="jabber:client" to="web2003" version="1.0">
RECV: <?xml version='1.0'?><stream:stream
xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client'
from='web2003' version='1.0' id='gf7ijlrqewpdx0ucnlh9ms41bkx6cr0zfbr3e5hi'>
RECV: <stream:features
xmlns:stream='http://etherx.jabber.org/streams'><mechanisms
xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>PLAIN</mechanism><mechanism>
DIGEST-MD5</mechanism></mechanisms><auth
xmlns='http://jabber.
org/features/iq-auth'/><register
xmlns='http://jabber.org/features/iq-register'/></stream:features>
SENT: <auth mechanism="DIGEST-MD5" xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />
RECV: <challenge
xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>cmVhbG09IndlYjIwMDMiLCBub25jZT0iWWE0anV
NYzU0SG9UWDBPa1VPRDFvQT09IiwgcW9wPSJhdXRoLCBhdXRoLWludCIsIGNoYXJzZXQ9dXRmLTgsIGF
sZ29yaXRobT1tZDUtc2Vzcw==</challenge>
ERROR: jabber.connection.sasl.SASLException: Missing nonce directive


Original issue reported on code.google.com by [email protected] on 27 May 2008 at 3:03

jabber-net compliance with rfc 3920 and rfc 3921

hi all, 

i am trying to find out what is the level of compliance of the jabber-net
with rfc 3920 and with rfc 3921. does anyone can answer this question? is
there anything left out of these two rfcs that is not supported in
jabber-net? i would really appreciate if i get any kind of feedback related
with this matter. 

thank you,
O.

Original issue reported on code.google.com by [email protected] on 13 Oct 2008 at 5:21

jabber-net.csproj referencing non-existant files

jabber-net.csproj seems to reference the non-existing files
bedrock\net\JEP124Socket.cs and bedrock\net\JEP25Socket.cs. The quite
obvious fix of that non-changed reference is attached.

It might be better to concentrate on one .sln and/or clean up those old
2005-jabber-net.* and *.old.* files, because they really irritated me on
the first glance. ;)

Original issue reported on code.google.com by [email protected] on 4 Jun 2007 at 8:28

Attachments:

XmppStream.RemoveCallback enhancement

XmppStream.AddCallback, to match any element via XPath, is very
useful.

However, in some cases you only need to temporarily look for a
specific node. It would be helpful to call RemoveCallback. The most
logical place to call this is in the callback's own handler. The
problem is that you can't call RemoveCallback from within a handler,
since that would modify the XmppStream.m_callbacks list, which is
being used in XmppStream.CheckAll(), and it throws an exception.

Is there any chance this type of calling pattern can be accomodated,
or suggest 'where' one should call RemoveCallback? It may not be a
trivial fix. 

Original issue reported on code.google.com by [email protected] on 6 Oct 2008 at 1:53

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.