summaryrefslogtreecommitdiff
path: root/plugins/!NotAdopted/Xfire/xfiretest/clientloginpacket.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/!NotAdopted/Xfire/xfiretest/clientloginpacket.cpp')
-rw-r--r--plugins/!NotAdopted/Xfire/xfiretest/clientloginpacket.cpp120
1 files changed, 0 insertions, 120 deletions
diff --git a/plugins/!NotAdopted/Xfire/xfiretest/clientloginpacket.cpp b/plugins/!NotAdopted/Xfire/xfiretest/clientloginpacket.cpp
deleted file mode 100644
index 30a28cc7eb..0000000000
--- a/plugins/!NotAdopted/Xfire/xfiretest/clientloginpacket.cpp
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * xfirelib - C++ Library for the xfire protocol.
- * Copyright (C) 2006 by
- * Beat Wolf <asraniel@fryx.ch> / http://gfire.sf.net
- * Herbert Poul <herbert.poul@gmail.com> / http://goim.us
- * http://xfirelib.sphene.net
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "stdafx.h"
-#include "clientloginpacket.h"
-#include "xfireutils.h"
-#include "SHA1.h"
-#include <string.h>
-#include <iostream>
-
-namespace xfirelib {
- using namespace std;
-
- int ClientLoginPacket::getPacketContent(char *packet) {
- int index = 0;
- /*Username*/
-
- index = XFireUtils::addAttributName(packet,index, "name");/*add username attribute*/
- packet[index] = 0x01;
- packet[index+1] = (char)name.length();
- packet[index+2] = 0x00;
- index +=3;
- std::copy(name.begin(),name.end(),packet+index);
- index += name.size();
-
- /*Crypted Password*/
- unsigned char pass[41];
- pass[40] = 0x00;
- cryptPassword(pass);
- index = XFireUtils::addAttributName(packet,index, "password");/*add username attribute*/
- packet[index] = 0x01;
- packet[index+1] = (char)40;
- packet[index+2] = 0x00;
- index += 3;
-
- memcpy(packet+index,pass,40);
- index += 40;
-
- VariableValue val;
- val.setName( "flags" );
- index += val.writeName( packet, index );
- packet[index++] = 0x02;
- packet[index++] = 0x00;
- packet[index++] = 0x00;
- packet[index++] = 0x00;
- packet[index++] = 0x00;
-
- val.setName( "sid" );
- index += val.writeName( packet, index );
- packet[index++] = 0x03;
-
- for(int i=0;i<16;i++)
- {
- packet[index++] = 0x0;
- }
-
- length = index;
- return index;
- }
-
- int ClientLoginPacket::getPacketAttributeCount() {
- return 3;
- }
-
- void ClientLoginPacket::cryptPassword(unsigned char *crypt){
- std::string total;
- char temp[81];
- CSHA1 sha1;
-
- total = name+password+"UltimateArena";
- hashSha1(total.c_str(),crypt);
- memcpy(temp,crypt,40);
- memcpy(temp+40,salt->getValue(),40);
- temp[80] = 0x00;
-
- hashSha1(temp,crypt);
- }
-
-
-
-/*give string and you will get the hash*/
-void ClientLoginPacket::hashSha1(const char *string, unsigned char *sha){
-
- char result[41];
- unsigned char temp[1024];
- CSHA1 sha1;
- sha1.Reset();
- sha1.Update((UINT_8 *)string, strlen(string));
- sha1.Final();
- sha1.GetHash(temp);
-
- result[0] = 0;
- char szTemp[16];
- for(int i = 0 ; i < 20 ; i++) {
- sprintf(szTemp, "%02x", temp[i]);
- strcat(result,szTemp);
- }
- memcpy(sha,result,40);
- sha[40] = 0x00;
-}
-}