Quote: |
ELF binary type "0" not known.
-bash: ./ssbilling2-linux: cannot execute binary file |
Code: Show/Hide -(qwerty@shadow)-(08:22:48)- -(~)- cd subspace -(qwerty@shadow)-(08:22:52)- -(~/subspace)- cd ssbilling2 -(qwerty@shadow)-(08:22:54)- -(~/subspace/ssbilling2)- make -v make: don't know how to make all-before. Stop -(qwerty@shadow)-(08:22:57)- -(~/subspace/ssbilling2)- make make: don't know how to make all-before. Stop -(qwerty@shadow)-(08:23:00)- -(~/subspace/ssbilling2)- make --version make: illegal option -- - usage: make [-BPSXeiknqrstv] [-C directory] [-D variable] [-d flags] [-E variable] [-f makefile] [-I directory] [-j max_jobs] [-m directory] [-V variable] [variable=value] [target ...] -(qwerty@shadow)-(08:23:05)- -(~/subspace/ssbilling2)- gmake --version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for i386-portbld-freebsd6.1 -(qwerty@shadow)-(08:23:17)- -(~/subspace/ssbilling2)- -(qwerty@shadow)-(08:23:27)- -(~/subspace/ssbilling2)- gmake gcc-3.4 -c main.cpp -o main.o -D_REENTRANT gmake: gcc-3.4: Command not found gmake: *** [main.o] Error 127 -(qwerty@shadow)-(08:24:20)- -(~/subspace/ssbilling2)- |
Quote: | |
|
Code: Show/Hide ./ssbilling2-linux& |
L.C. wrote: |
If you add & to the end of any binary when executing it, it makes that binary run as a background? |
Code: Show/Hide [Core]
PacketSilenceLimit=2000 MaxReliableInTransit=3 ChunkSize=496 ClusterMode=0 MaxHosts=20 [CPU] SlowIteration=300 IterationSleepTime=5 [Zone] SweepTime=500 DropLimit=10 ReclaimDelay=24 InitialHighPing=300 [Directory] IP=ssdir.playsubspace.com dir.cz.sshq.net sscentral.sscuservers.net DownloadTime=5 StatsFile=stats.txt StatsWriteMinutes=5 |
L.C. wrote: |
I did notice one minor bug or inconsistency with the mirroring function though. Does it only check the first IP/address unless the first given one doesn't work? |
L.C. wrote: |
EDIT :: Running ./ddirserv& didn't make it run in the background. It stopped as soon as I closed Putty. So I reconnected and started a screen to run it. Works fine for me if just use screen. |
Quote: |
EDIT :: Running ./ddirserv& didn't make it run in the background. It stopped as soon as I closed Putty. So I reconnected and started a screen to run it. Works fine for me if just use screen. sa_tongue.gif |
Code: Show/Hide ssc_billing and make billing to ;billing |
Code: Show/Hide [Billing] ServerID=27015 GroupId=1 ScoreID=27015 |
Code: Show/Hide long GetLong(BYTE * Message, const SHORT Offset) { // Get a long from a char * return *(long*)&(Message[Offset]); } |
Code: Show/Hide Uint32 GetLong(BYTE * Message, const SHORT Offset) { // Get a long from a char * return *(Uint32*)&(Message[Offset]); } |
Code: Show/Hide Uint32 GetLong(char * Message, const SHORT Offset) { // Get a long from a char * return *(Uint32*)&(Message[Offset]); } |
Code: Show/Hide void operator=(const int); // l-string = r-int; |
Code: Show/Hide void operator=(const unsigned int); // l-string = r-uint; |
Code: Show/Hide void operator+=(const int); // l-string += r-int; |
Code: Show/Hide void operator+=(const unsigned int); // l-string += r-uint; |
Code: Show/Hide _string operator+(const int); // l-string + r-int; |
Code: Show/Hide _string operator+(const unsigned int); // l-string + r-uint; |
Code: Show/Hide void _string::operator=(const unsigned int Number) { char Message[50]; itoa(Number, Message, 10); delete Text; Text = new char[ (Length = strlen(Message)) + 1 ]; memcpy(Text, Message, Length + 1); } |
Code: Show/Hide void _string::operator+=(const unsigned int Number) { char Message[50]; itoa(Number, Message, 10); char * new_pointer; new_pointer = new char[ (Length + strlen(Message)) + 1 ]; memcpy(new_pointer, Text, Length); memcpy(&new_pointer[Length], Message, strlen(Message) + 1); delete Text; Text = new_pointer; Length += strlen(Message); } |
Code: Show/Hide _string _string::operator+(const unsigned int Number) { char Message[50]; itoa(Number, Message, 10); _string S; S.Text = new char[ (S.Length = Length + strlen(Message)) + 1 ]; memcpy(S.Text, Text, Length); memcpy(&S.Text[Length], Message, strlen(Message) + 1); return S; } |
Code: Show/Hide bool InvalidMachineID(long MachineID) { /*if (MachineID == 101) return false; if (MachineID < 0) return true; if (MachineID < 2000) return true; */ return false; } |
Code: Show/Hide #ifndef ENCRYPTION_H #define ENCRYPTION_H #endif // Packet encryption void Host::InitializeEncryption(unsigned int Key) { if (SentKey == Key) { SSEncrTable.SSKey = 0; return; } SSEncrTable.SSKey = Key; // Do the ASM thing (Assembly rips provided by Coconut Emulator) // Initialize calculations //It's a regular pseudo-random number with +123 extra -fatrolls int SKey = (int)Key; int counter = 0; int remaining = 260; //sizeof(SSBuf) = 520 / 2 = 260. do { SKey = 16807 * (SKey % 127773) - 2836 * (SKey / 127773) + 123; if ( SKey <= 0 ) SKey += 2147483647; SSEncrTable.SSBuf[counter] = (SKey & 0xFF); SSEncrTable.SSBuf[counter+1] = (SKey >> 8) & 0xFF; counter += 2; --remaining; } while (remaining); } void Host::Encrypt(char * Message, unsigned short Length) { if (SSEncrTable.SSKey == 0) return; unsigned int IV = SSEncrTable.SSKey; char buffer[520]; memset(buffer, 0, 520); if (Message[0] == 0) memcpy(buffer, &Message[2], Length - 2); else memcpy(buffer, &Message[1], Length - 1); for (unsigned short Counter = 0; Counter < 520; Counter += 4) { IV = GetLong(buffer, Counter) ^ GetLong(SSEncrTable.SSBuf, Counter) ^ IV; *(unsigned int*)&buffer[Counter] = IV; } if (Message[0] == 0) memcpy(&Message[2], buffer, Length - 2); else memcpy(&Message[1], buffer, Length - 1); } void Host::Decrypt(char * Message, unsigned short Length) { if (SSEncrTable.SSKey == 0) return; unsigned int IV = SSEncrTable.SSKey; unsigned int ESI; unsigned int EDX; char buffer[520]; memset(buffer, 0, 520); if (Message[0] == 0) memcpy(buffer, &Message[2], Length - 2); else memcpy(buffer, &Message[1], Length - 1); for (unsigned short Counter = 0; Counter < 520; Counter += 4) { EDX = GetLong(buffer, Counter); ESI = GetLong(SSEncrTable.SSBuf, Counter) ^ IV ^ EDX; IV = EDX; *(unsigned int*)&buffer[Counter] = ESI; } if (Message[0] == 0) memcpy(&Message[2], buffer, Length - 2); else memcpy(&Message[1], buffer, Length - 1); } // One-way encryption algorithms void HashPassword(char * Password) { size_t StrLen = strlen((char*)Password); unsigned short Factor = 0; char Char; size_t L = 0; for (L = 0; L < StrLen; L++) Factor ^= Password[L]; for (L = 0; L < StrLen; L++) { Char = (Password[L] ^= Factor); Factor = (Factor ^ (Char << (Char & 3))) & 255; if (Password[L] == 0) Password[L] = 0xED; } } unsigned long HashModemInfo(char * Info) { unsigned long h = 0, g; for (short i = 0; i < 608; i++) { h = ( h << 4 ) + *Info++; if ( g = h & 0xF0000000 ) h ^= g >> 24; h &= ~g; } return h; } |
Code: Show/Hide [root@test biller]# make all [root@test biller]# g++ -c main.cpp -o main.o -D_REENTRANT -m64 -g [root@test biller]# g++ main.o -o "ssbilling2-linux" -lpthread -m64 -g [root@test biller]# |
SpaceHiker wrote: |
fatrolls, can you tell me your gcc --version and your g++ --version?
Thanks |
Code: Show/Hide [root@test~]# g++ --version (GCC) 3.4.6 20060404 (Red Hat 3.4.6-19.el6) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |