Browse Source

update to bitcoin-git

miguelfreitas
Wladimir J. van der Laan 14 years ago
parent
commit
85663f2c18
  1. 13
      TODO
  2. 4
      core/include/base58.h
  3. 5
      core/include/net.h
  4. 3
      core/include/util.h
  5. 10
      core/src/net.cpp

13
TODO

@ -66,17 +66,20 @@ AboutDialog
Done: Done:
Compatibility with Qt, and some more modularity To be able to make an external GUI, I am working on modularizing bitcoin into a library. This is basic code
plumbing, 100% no functional changes.
- Put guard statements around header files. - Put guard statements around header files.
- Removed macro foreach: conflicts with Qt keyword foreach, replaced back with BOOST_FOREACH - Removed macro foreach: conflicts with Qt4 keyword `foreach`, replaced with BOOST_FOREACH.
- Prefix stdlib structures and functions with std:: in headers; "using namespace" in header files is - Prefix stdlib structures and functions with std:: in headers; "using namespace" in header files is
generally frowned upon generally frowned upon. These are moved to the implementation files.
- Modularity: base48.h and most other header files can now be included without the other shebang
(useful for linking external GUI to bitcoin core, part of GUI separation).
The include files that need each other now include each other.
- Modularity: base48.h can now be included without including all the headers
(useful for linking external GUI to bitcoin core, part of GUI separation)
Todo: Todo:

4
core/include/base58.h

@ -7,7 +7,7 @@
// Why base-58 instead of standard base-64 encoding? // Why base-58 instead of standard base-64 encoding?
// - Don't want 0OIl characters that look the same in some fonts and // - Don't want 0OIl characters that look the same in some fonts and
// could be used to create visually identical looking account numbers. // could be used to create visually identical looking account numbers.
// - A std::string with non-alphanumeric characters is not as easily accepted as an account number. // - A string with non-alphanumeric characters is not as easily accepted as an account number.
// - E-mail usually won't line-break if there's no punctuation to break at. // - E-mail usually won't line-break if there's no punctuation to break at.
// - Doubleclicking selects the whole number as one word if it's all alphanumeric. // - Doubleclicking selects the whole number as one word if it's all alphanumeric.
// //
@ -74,7 +74,7 @@ inline bool DecodeBase58(const char* psz, std::vector<unsigned char>& vchRet)
while (isspace(*psz)) while (isspace(*psz))
psz++; psz++;
// Convert big endian std::string to bignum // Convert big endian string to bignum
for (const char* p = psz; *p; p++) for (const char* p = psz; *p; p++)
{ {
const char* p1 = strchr(pszBase58, *p); const char* p1 = strchr(pszBase58, *p);

5
core/include/net.h

@ -6,9 +6,12 @@
#include <deque> #include <deque>
#include <boost/array.hpp> #include <boost/array.hpp>
#include <arpa/inet.h>
#include <openssl/rand.h> #include <openssl/rand.h>
#ifndef __WXMSW__
#include <arpa/inet.h>
#endif
class CMessageHeader; class CMessageHeader;
class CAddress; class CAddress;
class CInv; class CInv;

3
core/include/util.h

@ -5,11 +5,12 @@
#define BITCOIN_UTIL_H #define BITCOIN_UTIL_H
#include "uint256.h" #include "uint256.h"
//#include "cryptopp/sha.h"
#ifndef __WXMSW__
#include <sys/types.h> #include <sys/types.h>
#include <sys/time.h> #include <sys/time.h>
#include <sys/resource.h> #include <sys/resource.h>
#endif
#include <map> #include <map>
#include <vector> #include <vector>
#include <string> #include <string>

10
core/src/net.cpp

@ -133,6 +133,8 @@ bool ConnectSocket(const CAddress& addrConnect, SOCKET& hSocketRet)
bool Lookup(const char *pszName, vector<CAddress>& vaddr, int nServices, int nMaxSolutions, bool fAllowLookup, int portDefault, bool fAllowPort) bool Lookup(const char *pszName, vector<CAddress>& vaddr, int nServices, int nMaxSolutions, bool fAllowLookup, int portDefault, bool fAllowPort)
{ {
vaddr.clear(); vaddr.clear();
if (pszName[0] == 0)
return false;
int port = portDefault; int port = portDefault;
char psz[256]; char psz[256];
char *pszHost = psz; char *pszHost = psz;
@ -158,11 +160,11 @@ bool Lookup(const char *pszName, vector<CAddress>& vaddr, int nServices, int nMa
} }
} }
struct in_addr addrIP; unsigned int addrIP = inet_addr(pszHost);
if (inet_aton(pszHost, &addrIP)) if (addrIP != INADDR_NONE)
{ {
// valid IP address passed // valid IP address passed
vaddr.push_back(CAddress(addrIP.s_addr, port, nServices)); vaddr.push_back(CAddress(addrIP, port, nServices));
return true; return true;
} }
@ -1527,7 +1529,7 @@ void StartNode(void* parg)
if (gethostname(pszHostName, sizeof(pszHostName)) != SOCKET_ERROR) if (gethostname(pszHostName, sizeof(pszHostName)) != SOCKET_ERROR)
{ {
vector<CAddress> vaddr; vector<CAddress> vaddr;
if (NameLookup(pszHostName, vaddr, nLocalServices)) if (Lookup(pszHostName, vaddr, nLocalServices, -1, true))
BOOST_FOREACH (const CAddress &addr, vaddr) BOOST_FOREACH (const CAddress &addr, vaddr)
if (addr.GetByte(3) != 127) if (addr.GetByte(3) != 127)
{ {

Loading…
Cancel
Save