How to distinguish unsubscribed user from password-error user?

I have a client program whose server is based on JabberD1.4, in that case, when I use an unsubscribed user to log in, then the events are: “/session/connecting”>"/session/connected">"/session/noaccount". However, when I use this client program to log in the wildFire server with an unsubscribed user, or with a subscribed user, but with wrong password, then the events are: “/session/connecting”>"/session/connected">"/session/autherror"–>"/session/disconnect".

So how can I distinguish unsubscribed user from password-error user? And what should I do to accommodate this client program into the WildFire server?

Thanks. Answers are truely expected!