Beispiel #1
0
        public override GPError Parse()
        {
            var flag = base.Parse();

            if (flag != GPError.NoError)
            {
                return(flag);
            }

            string md5Password;

            if (!PasswordEncoder.ProcessPassword(_rawRequest, out md5Password))
            {
                return(GPError.NewUserBadPasswords);
            }
            Password = md5Password;

            if (!_rawRequest.ContainsKey("nick") || !_rawRequest.ContainsKey("email") || Password == null)
            {
                return(GPError.Parse);
            }


            if (!GameSpyUtils.IsEmailFormatCorrect(_rawRequest["email"]))
            {
                return(GPError.CheckBadMail);
            }

            Nick  = _rawRequest["nick"];
            Email = _rawRequest["email"];

            return(GPError.NoError);
        }
        protected override void CheckRequest()
        {
            base.CheckRequest();

            if (!_recv.ContainsKey("nick"))
            {
                _errorCode = GPErrorCode.Parse;
                return;
            }

            if (!_recv.ContainsKey("email") || !GameSpyUtils.IsEmailFormatCorrect(_recv["email"]))
            {
                _errorCode = GPErrorCode.Parse;
                return;
            }

            if (!_recv.ContainsKey("passenc"))
            {
                _errorCode = GPErrorCode.Parse;
                return;
            }

            if (_recv.ContainsKey("uniquenick"))
            {
                _uniquenick = _recv["uniquenick"];
            }
        }
Beispiel #3
0
        protected override void CheckRequest(GPSPSession session)
        {
            base.CheckRequest(session);

            if (!_recv.ContainsKey("nick"))
            {
                _errorCode = GPErrorCode.Parse;
                return;
            }
            if (!_recv.ContainsKey("email") || !GameSpyUtils.IsEmailFormatCorrect(_recv["email"]))
            {
                _errorCode = GPErrorCode.Parse;
                return;
            }

            if (!_recv.ContainsKey("passenc"))
            {
                _errorCode = GPErrorCode.Parse;
                return;
            }

            if (_recv.ContainsKey("uniquenick"))
            {
                _CreateUserWithUniquenick = true;
                _uniquenick = _recv["uniquenick"];
            }
        }
        public override GPError Parse()
        {
            var flag = base.Parse();

            if (flag != GPError.NoError)
            {
                return(flag);
            }

            if (!_rawRequest.ContainsKey("email") && !GameSpyUtils.IsEmailFormatCorrect(_rawRequest["email"]))
            {
                return(GPError.Parse);
            }

            Email = _rawRequest["email"];

            if (_rawRequest.ContainsKey("namespaceid"))
            {
                uint namespaceID;
                if (!uint.TryParse(_rawRequest["namespaceid"], out namespaceID))
                {
                    return(GPError.Parse);
                }

                NamespaceID = namespaceID;
            }
            return(GPError.NoError);
        }
Beispiel #5
0
        /// <summary>
        /// check if a email is exist in database
        /// </summary>
        /// <param name="client"></param>
        /// <param name="dict"></param>
        public static void IsEmailValid(GPSPClient client, Dictionary <string, string> dict)
        {
            if (!dict.ContainsKey("email"))
            {
                GameSpyUtils.SendGPError(client, GPErrorCode.Parse, "There was an error parsing an incoming request.");
                return;
            }

            try
            {
                if (GameSpyUtils.IsEmailFormatCorrect(dict["email"]))
                {
                    if (ValidQuery.IsEmailValid(dict))
                    {
                        client.Send(@"\vr\1\final\");
                    }
                    else
                    {
                        client.Send(@"\vr\0\final\");
                    }

                    //client.Stream.Dispose();
                }
                else
                {
                    client.Send(@"\vr\0\final\");
                    //client.Stream.Dispose();
                }
            }
            catch (Exception ex)
            {
                LogWriter.Log.WriteException(ex);
                GameSpyUtils.SendGPError(client, GPErrorCode.DatabaseError, "This request cannot be processed because of a database error.");
            }
        }
Beispiel #6
0
        public override void Parse()
        {
            base.Parse();
            Password = PasswordEncoder.ProcessPassword(RequestKeyValues);

            if (!RequestKeyValues.ContainsKey("nick"))
            {
                throw new GPParseException("nickname is missing.");
            }
            if (!RequestKeyValues.ContainsKey("email"))
            {
                throw new GPParseException("email is missing.");
            }
            if (!GameSpyUtils.IsEmailFormatCorrect(RequestKeyValues["email"]))
            {
                throw new GPParseException("email format is incorrect.");
            }
            Nick  = RequestKeyValues["nick"];
            Email = RequestKeyValues["email"];

            if (RequestKeyValues.ContainsKey("uniquenick") && RequestKeyValues.ContainsKey("namespaceid"))
            {
                if (RequestKeyValues.ContainsKey("namespaceid"))
                {
                    int namespaceID;
                    if (!int.TryParse(RequestKeyValues["namespaceid"], out namespaceID))
                    {
                        throw new GPParseException("namespaceid is incorrect.");
                    }
                    NamespaceID = namespaceID;
                }
                Uniquenick = RequestKeyValues["uniquenick"];
            }
            ParseOtherInfo();
        }
Beispiel #7
0
 protected override void CheckRequest(GPSPSession session)
 {
     if (!_recv.ContainsKey("email"))
     {
         _errorCode = GPErrorCode.Parse;
     }
     if (!GameSpyUtils.IsEmailFormatCorrect(_recv["email"]))
     {
         _errorCode = GPErrorCode.Parse;
     }
 }
        protected override void CheckRequest()
        {
            if (!_recv.ContainsKey("nick") || !_recv.ContainsKey("email") || !_recv.ContainsKey("passenc"))
            {
                _errorCode = GPErrorCode.Parse;
            }

            if (!GameSpyUtils.IsEmailFormatCorrect(_recv["email"]))
            {
                _errorCode = GPErrorCode.CheckBadMail;
            }
        }
Beispiel #9
0
        public override GPError Parse()
        {
            var flag = base.Parse();

            if (flag != GPError.NoError)
            {
                return(flag);
            }
            string md5Password;

            if (!PasswordEncoder.ProcessPassword(_rawRequest, out md5Password))
            {
                return(GPError.NewUserBadPasswords);
            }
            Password = md5Password;

            if (!_rawRequest.ContainsKey("nick"))
            {
                return(GPError.Parse);
            }

            if (!_rawRequest.ContainsKey("email") || !GameSpyUtils.IsEmailFormatCorrect(_rawRequest["email"]))
            {
                return(GPError.Parse);
            }

            Nick  = _rawRequest["nick"];
            Email = _rawRequest["email"];

            if (_rawRequest.ContainsKey("uniquenick") && _rawRequest.ContainsKey("namespaceid"))
            {
                if (_rawRequest.ContainsKey("namespaceid"))
                {
                    uint namespaceID;
                    if (!uint.TryParse(_rawRequest["namespaceid"], out namespaceID))
                    {
                        return(GPError.Parse);
                    }

                    NamespaceID = namespaceID;
                }
                Uniquenick = _rawRequest["uniquenick"];
            }
            return(ParseOtherInfo());
        }
        public override void Parse()
        {
            base.Parse();
            Password = PasswordEncoder.ProcessPassword(RequestKeyValues);
            if (!RequestKeyValues.ContainsKey("nick") || !RequestKeyValues.ContainsKey("email") || Password is null)
            {
                throw new GPParseException("check request is incompelete.");
            }

            if (!GameSpyUtils.IsEmailFormatCorrect(RequestKeyValues["email"]))
            {
                throw new GPParseException("email format is incorrect");
            }

            Nick  = RequestKeyValues["nick"];
            Email = RequestKeyValues["email"];

            if (RequestKeyValues.ContainsKey("partnerid"))
            {
                PartnerId = int.Parse(RequestKeyValues["partnerid"]);
            }
        }
        public override void Parse()
        {
            base.Parse();


            if (!RequestKeyValues.ContainsKey("email") && !GameSpyUtils.IsEmailFormatCorrect(RequestKeyValues["email"]))
            {
                throw new GPParseException("valid request is incomplete.");
            }

            Email = RequestKeyValues["email"];

            if (RequestKeyValues.ContainsKey("namespaceid"))
            {
                int namespaceID;
                if (!int.TryParse(RequestKeyValues["namespaceid"], out namespaceID))
                {
                    throw new GPParseException("namespaceid is incorrect.");
                }

                NamespaceID = namespaceID;
            }
        }
        public static GPErrorCode IsRequestContainAllKeys(Dictionary <string, string> dict)
        {
            if (!dict.ContainsKey("nick"))
            {
                return(GPErrorCode.Parse);
            }
            if (!dict.ContainsKey("email") || !GameSpyUtils.IsEmailFormatCorrect(dict["email"]))
            {
                return(GPErrorCode.Parse);
            }
            if (!dict.ContainsKey("passenc"))
            {
                if (!dict.ContainsKey("pass"))
                {
                    return(GPErrorCode.Parse);
                }
            }

            if (!dict.ContainsKey("productid"))
            {
                return(GPErrorCode.Parse);
            }
            return(GPErrorCode.NoError);
        }
        /// <summary>
        /// Validates a user's info, without logging into the account.
        /// </summary>
        /// <param name="client"></param>
        /// <param name="dict"></param>
        public static void CheckProfileid(GPSPClient client, Dictionary <string, string> dict)
        {
            // \check\\nick\<nick>\email\<email>\partnerid\0\passenc\<passenc>\gamename\gmtest\final\
            //\cur\pid\<pid>\final
            //check is request recieved correct and convert password into our MD5 type
            bool isContiansAllKey = dict.ContainsKey("nick") && dict.ContainsKey("email") && (dict.ContainsKey("passenc") || dict.ContainsKey("pass"));

            if (!isContiansAllKey)
            {
                GameSpyUtils.SendGPError(client, GPErrorCode.Parse, "Parsing error, please check input.");
                return;
            }
            bool isEmailCorrect = GameSpyUtils.IsEmailFormatCorrect(dict["email"]);

            if (!isEmailCorrect)
            {
                GameSpyUtils.SendGPError(client, GPErrorCode.Parse, "Email format not correct.");
                return;
            }


            //Search pid in our database and return whether exist
            string sendingBuffer;
            int    profileid = CheckQuery.GetProfileidFromNickEmailPassword(dict);

            if (profileid != -1)
            {
                sendingBuffer = string.Format(@"\cur\0\pid\{0}\final\", profileid);
                client.Stream.SendAsync(sendingBuffer);
            }
            else
            {
                sendingBuffer = "No math found";
                GameSpyUtils.SendGPError(client, GPErrorCode.DatabaseError, sendingBuffer);
            }
        }