Package net.sf.jml.impl

Examples of net.sf.jml.impl.MsnOwnerImpl


                if (switchboard != null) {
                    ((AbstractMessenger) messenger)
                            .fireSwitchboardStarted(switchboard);
                }
            } else { //login success to NS
                MsnOwnerImpl owner = (MsnOwnerImpl) messenger.getOwner();
                owner.setVerified(isVerified());
                owner.fSetDisplayName(getDisplayName());
                ((AbstractMessenger) messenger).fireLoginCompleted();

                // obtaining contact list with syn packet has been dropped after
                // MSN13
                if(protocol.before(MsnProtocol.MSNP13))
                {
                    OutgoingSYN message = new OutgoingSYN(protocol);
                    message.setCachedVersion(messenger.getContactList()
                            .getVersion());
                    messenger.send(message);
                }
                else
                {
                    // call for contact list
                    session.getContactList().dispatch();
                }
            }
        } else { //auth
//            log.debug("MSNDEBUG: We are doing auth, opening a thread to handle it");
            //SSL is slow, open new thread to do this
            new Thread() {

                private String getPassportUrlSlow() throws IOException {
//                    log.debug("MSNDEBUG: Lets ask the nexus what passport url to use");
                    HttpsURLConnection conn = null;
                    try {
                        conn = (HttpsURLConnection) new URL(
                                "https://nexus.passport.com/rdr/pprdr.asp")
                                .openConnection();
                        conn.setUseCaches(false);
//                        log.debug("MSNDEBUG: Got password urls: "+conn.getHeaderField("PassportURLs"));
                        Matcher matcher = passportUrlPattern.matcher(conn
                                .getHeaderField("PassportURLs"));
                        if (matcher.matches()) {
//                            log.debug("MSNDEBUG: We're going to use url: "+matcher.group(1));
                            return "https://" + matcher.group(1);
                        }
//                        log.debug("MSNDEBUG: Crap, no url found?!");
                        return null;
                    } finally {
                        if (conn != null)
                            conn.disconnect();
                    }
                }

                private String getPassportUrl() throws IOException {
//                    log.debug("MSNDEBUG: Retrieving passport url");
                    if (JmlConstants.FAST_SSL_LOGIN)
                        return "https://login.live.com/login2.srf";
                    return getPassportUrlSlow();
                }

                private String getLoginTicket(String visitUrl, String passport,
                        String password, String challengeStr)
                        throws IOException {
//                    log.debug("MSNDEBUG: Retrieving the login ticket from url "+visitUrl+" and passport "+passport);
                    HttpsURLConnection conn = null;
                    try {
                        conn = (HttpsURLConnection) new URL(visitUrl)
                                .openConnection();
                        conn.setUseCaches(false);
//                        log.debug("MSNDEBUG: Setting request property");
                        conn.setRequestProperty("Authorization",
//                                "Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in="
                                "Passport1.4 OrgVerb=GET,OrgURL="
                                        + StringUtils.urlEncode(visitUrl)
                                        + ",sign-in="
                                        + StringUtils.urlEncode(passport)
                                        + ",pwd="
                                        + StringUtils.urlEncode(password) + ","
                                        + challengeStr);
//                        log.debug("MSNDEBUG: Request property is "+conn.getRequestProperty("Authorization"));
                        switch (conn.getResponseCode()) {
                            case 200: //success
//                                log.debug("MSNDEBUG: Response code is 200, success!");
                                Matcher matcher = ticketPattern.matcher(conn
                                        .getHeaderField("Authentication-Info"));
                                if (matcher.matches()) {
                                    return matcher.group(1);
                                }
                                return null;
                            case 302: //redirect
//                                log.debug("MSNDEBUG: Response code is 302, being redirected!");
                                visitUrl = conn.getHeaderField("Location");
//                                log.debug("MSNDEBUG: Redirect to "+visitUrl);
                                return getLoginTicket(visitUrl, passport, password,
                                        challengeStr);
                            case 401: //failed
//                                log.debug("MSNDEBUG: Response code is 401, we failed?");
                                return null;
                            default:
//                                log.debug("MSNDEBUG: Response code (unknown) was "+conn.getResponseCode());
                        }
                    } finally {
                        if (conn != null) {
                            conn.disconnect();
                        }
                    }
                    return null;
                }

                @Override
                public void run()
                {
                    try
                    {
                        if(protocol.before(MsnProtocol.MSNP13))
                        {
                            OutgoingUSRAuthNS outgoing = new OutgoingUSRAuthNS(
                                    protocol);
                            //log.debug("MSNDEBUG: Time to request the login ticket for auth");
                            String ticket = getLoginTicket(getPassportUrl(),
                                    messenger.getOwner().getEmail()
                                            .getEmailAddress(),
                                    ((MsnOwnerImpl) messenger.getOwner())
                                            .getPassword(), getAuthStr());
                            if (ticket == null) {
                                ((AbstractMessenger) messenger)
                                        .fireExceptionCaught(new IncorrectPasswordException());
                                return;
                            }
                            outgoing.setTicket(ticket);
                            messenger.send(outgoing);
                        }
                        else
                        {
                            String nonce = getNonce();
                            String policy = getPolicy();

                            // must logout and throw exception or something
                            if(nonce == null)
                            {
                                ((AbstractMessenger)messenger).
                                    fireExceptionCaught(
                                        new LoginException(
                                            "Login Failed, nonce is missing!"));
                                ((AbstractMessenger)messenger).logout();

                                return;
                            }

                            MsnOwner owner = session.getMessenger().getOwner();

                            if(!(owner instanceof MsnOwnerImpl))
                                return;

                            String username = owner.getEmail().getEmailAddress();
                            String pass = ((MsnOwnerImpl)owner).getPassword();

                            SSO sso = session.createSSO(username, pass, policy, nonce);

                            String ticket = sso.getTicket();
View Full Code Here


    @Override
  protected void messageReceived(MsnSession session) {
        super.messageReceived(session);

        MsnOwnerImpl owner = (MsnOwnerImpl) session.getMessenger().getOwner();
        owner.fSetClientId(MsnClientId.parseInt(getClientId()));
        owner.fSetStatusF(getStatus());
       
       
        ((AbstractMessenger) session.getMessenger()).fireOwnerStatusChanged();

        //The first send CHG, when received response, should send PNG to judge the response is completed
View Full Code Here

    }

    @Override
  protected void messageReceived(MsnSession session) {
        super.messageReceived(session);
        MsnOwnerImpl owner = (MsnOwnerImpl) session.getMessenger().getOwner();
        owner.fSetOnlyNotifyAllowList(isOnlyNotifyAllowList());
       
    }
View Full Code Here

    @Override
  protected void messageReceived(MsnSession session) {
        super.messageReceived(session);

        MsnOwnerImpl owner = (MsnOwnerImpl) session.getMessenger().getOwner();
        owner.fSetClientId(MsnClientId.parseInt(getClientId()));
        owner.fSetStatusF(getStatus());
       
       
        ((AbstractMessenger) session.getMessenger()).fireOwnerStatusChanged();

        //The first send CHG, when received response, should send PNG to judge the response is completed
View Full Code Here

    @Override
  protected void messageReceived(MsnSession session) {
        super.messageReceived(session);
        MsnContactList contactList = session.getMessenger().getContactList();
        if (session.getMessenger().getOwner().getEmail().toString().equals(getId())) {
            MsnOwnerImpl owner = (MsnOwnerImpl) session.getMessenger().getOwner();
            owner.fSetDisplayName(getFriendlyName());
            ((AbstractMessenger) session.getMessenger()).fireOwnerDisplayNameChanged();
        }
        else {
            MsnContact contact = contactList.getContactById(getId());
            if (contact != null) {
View Full Code Here

            MsnUserPropertiesImpl properties = (MsnUserPropertiesImpl) session
                    .getMessenger().getOwner().getProperties();
            properties.setProperty(propType, prop);

            if (propType.equals(MsnUserPropertyType.MFN)) {
                MsnOwnerImpl owner = (MsnOwnerImpl) session.getMessenger().getOwner();
                owner.fSetDisplayName(prop);
            }
        }
    }
View Full Code Here

    }

    @Override
  protected void messageReceived(MsnSession session) {
        super.messageReceived(session);
        MsnOwnerImpl owner = (MsnOwnerImpl) session.getMessenger().getOwner();
        owner.fSetNotifyMeWhenSomeoneAddedMe(isNotifyMeWhenSomeoneAddedMe());
    }
View Full Code Here

                if (switchboard != null) {
                    ((AbstractMessenger) messenger)
                            .fireSwitchboardStarted(switchboard);
                }
            } else { //login success to NS
                MsnOwnerImpl owner = (MsnOwnerImpl) messenger.getOwner();
                owner.setVerified(isVerified());
                owner.fSetDisplayName(getDisplayName());
                ((AbstractMessenger) messenger).fireLoginCompleted();

                // obtaining contact list with syn packet has been dropped after
                // MSN13
                if(protocol.before(MsnProtocol.MSNP13))
                {
                    OutgoingSYN message = new OutgoingSYN(protocol);
                    message.setCachedVersion(messenger.getContactList()
                            .getVersion());
                    messenger.send(message);
                }
                else
                {
                    // call for contact list
                    session.getContactList().dispatch();
                }
            }
        } else { //auth
//            log.debug("MSNDEBUG: We are doing auth, opening a thread to handle it");
            //SSL is slow, open new thread to do this
            new Thread() {

                private String getPassportUrlSlow() throws IOException {
//                    log.debug("MSNDEBUG: Lets ask the nexus what passport url to use");
                    HttpsURLConnection conn = null;
                    try {
                        conn = (HttpsURLConnection) new URL(
                                "https://nexus.passport.com/rdr/pprdr.asp")
                                .openConnection();
                        conn.setUseCaches(false);
//                        log.debug("MSNDEBUG: Got password urls: "+conn.getHeaderField("PassportURLs"));
                        Matcher matcher = passportUrlPattern.matcher(conn
                                .getHeaderField("PassportURLs"));
                        if (matcher.matches()) {
//                            log.debug("MSNDEBUG: We're going to use url: "+matcher.group(1));
                            return "https://" + matcher.group(1);
                        }
//                        log.debug("MSNDEBUG: Crap, no url found?!");
                        return null;
                    } finally {
                        if (conn != null)
                            conn.disconnect();
                    }
                }

                private String getPassportUrl() throws IOException {
//                    log.debug("MSNDEBUG: Retrieving passport url");
                    if (JmlConstants.FAST_SSL_LOGIN)
                        return "https://login.live.com/login2.srf";
                    return getPassportUrlSlow();
                }

                private String getLoginTicket(String visitUrl, String passport,
                        String password, String challengeStr)
                        throws IOException {
//                    log.debug("MSNDEBUG: Retrieving the login ticket from url "+visitUrl+" and passport "+passport);
                    HttpsURLConnection conn = null;
                    try {
                        conn = (HttpsURLConnection) new URL(visitUrl)
                                .openConnection();
                        conn.setUseCaches(false);
//                        log.debug("MSNDEBUG: Setting request property");
                        conn.setRequestProperty("Authorization",
//                                "Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in="
                                "Passport1.4 OrgVerb=GET,OrgURL="
                                        + StringUtils.urlEncode(visitUrl)
                                        + ",sign-in="
                                        + StringUtils.urlEncode(passport)
                                        + ",pwd="
                                        + StringUtils.urlEncode(password) + ","
                                        + challengeStr);
//                        log.debug("MSNDEBUG: Request property is "+conn.getRequestProperty("Authorization"));
                        switch (conn.getResponseCode()) {
                            case 200: //success
//                                log.debug("MSNDEBUG: Response code is 200, success!");
                                Matcher matcher = ticketPattern.matcher(conn
                                        .getHeaderField("Authentication-Info"));
                                if (matcher.matches()) {
                                    return matcher.group(1);
                                }
                                return null;
                            case 302: //redirect
//                                log.debug("MSNDEBUG: Response code is 302, being redirected!");
                                visitUrl = conn.getHeaderField("Location");
//                                log.debug("MSNDEBUG: Redirect to "+visitUrl);
                                return getLoginTicket(visitUrl, passport, password,
                                        challengeStr);
                            case 401: //failed
//                                log.debug("MSNDEBUG: Response code is 401, we failed?");
                                return null;
                            default:
//                                log.debug("MSNDEBUG: Response code (unknown) was "+conn.getResponseCode());
                        }
                    } finally {
                        if (conn != null) {
                            conn.disconnect();
                        }
                    }
                    return null;
                }

                @Override
                public void run()
                {
                    try
                    {
                        if(protocol.before(MsnProtocol.MSNP13))
                        {
                            OutgoingUSRAuthNS outgoing = new OutgoingUSRAuthNS(
                                    protocol);
                            //log.debug("MSNDEBUG: Time to request the login ticket for auth");
                            String ticket = getLoginTicket(getPassportUrl(),
                                    messenger.getOwner().getEmail()
                                            .getEmailAddress(),
                                    ((MsnOwnerImpl) messenger.getOwner())
                                            .getPassword(), getAuthStr());
                            if (ticket == null) {
                                ((AbstractMessenger) messenger)
                                        .fireExceptionCaught(new IncorrectPasswordException());
                                return;
                            }
                            outgoing.setTicket(ticket);
                            messenger.send(outgoing);
                        }
                        else
                        {
                            String nonce = getNonce();
                            String policy = getPolicy();

                            // must logout and throw exception or something
                            if(nonce == null)
                            {
                                ((AbstractMessenger)messenger).
                                    fireExceptionCaught(
                                        new LoginException(
                                            "Login Failed, nonce is missing!"));
                                // let client do the logout, may need to do it
                                // asynchronous from here
                                //messenger.logout();

                                return;
                            }

                            MsnOwner owner = session.getMessenger().getOwner();

                            if(!(owner instanceof MsnOwnerImpl))
                                return;

                            String username = owner.getEmail().getEmailAddress();
                            String pass = ((MsnOwnerImpl)owner).getPassword();

                            SSO sso = session.createSSO(username, pass, policy, nonce);

                            String ticket = sso.getTicket();
View Full Code Here

    @Override
    protected void messageReceived(MsnSession session)
    {
        super.messageReceived(session);
       
        MsnOwnerImpl owner = (MsnOwnerImpl)session.getMessenger().getOwner();
        OutgoingUSRInitNS usr = new OutgoingUSRInitNS(protocol);
        usr.setEmail(owner.getEmail());
        session.sendAsynchronousMessage(usr);
    }
View Full Code Here

TOP

Related Classes of net.sf.jml.impl.MsnOwnerImpl

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.