Beispiel #1
0
 HSPToken *expectIP(HSP *sp, HSPToken *tok, SFLAddress *addr, struct sockaddr *sa)
 {
   HSPToken *t = tok;
   t = t->nxt;
   if(t == NULL || lookupAddress(t->str, sa, addr, 0) == NO) {
     parseError(sp, tok, "expected hostname or IP", "");
     return NULL;
   }
   return t;
 }
Beispiel #2
0
// establish a client side connection
int establishConnection(struct socketDescriptor * sd) {

   // create a stream socket
   if (!sd->description) sd->description = "";
   sd->socket = socket(AF_INET, SOCK_STREAM, 0);
   sockaddr_in sinRemote;
   sinRemote.sin_family = AF_INET;
   if ((sinRemote.sin_addr.s_addr = lookupAddress(sd->host)) == INADDR_NONE)
      return FALSE;
   sinRemote.sin_port = htons(sd->port);
   
   char hostname[256];
   lookupName(inet_ntoa(sinRemote.sin_addr), hostname, sizeof(hostname));
   

   if (sd->socket==INVALID_SOCKET ||
       connect(sd->socket, (sockaddr*)&sinRemote, sizeof(sockaddr_in))==SOCKET_ERROR) {
      if (sd->lastError != WSAGetLastError()) {
         sd->lastError = WSAGetLastError();
         if (sd->lastError == WSAECONNREFUSED)
            printq("establishConnection %s: server %s refused connection request\n", szTime(), hostname);
         else if (sd->lastError == WSAETIMEDOUT)
            printq("establishConnection %s: server %s connection request timed out\n", szTime(), hostname);
         else if (!sd->exit)   
            printErrorMsg("establishConnection");
      }
      
      if (sd->socket != INVALID_SOCKET) {
         closesocket(sd->socket);
         sd->socket = INVALID_SOCKET;
      }   
      
      sd->connected=FALSE;
      return FALSE;
   } else {
      sd->lastError = NO_ERROR;
   }   

   printq("Client established connection to %s on socket %d\n", 
           hostname, 
           sd->socket);
           
   processServerConnect(sd->host);
   
   if (sd->reconnectMsg)
      sendMsg(sd, sd->reconnectMsg, sd->debugMsg);
   
   singleThreadSd = sd;
   sd->connected=TRUE;        
   return TRUE;                 
}
Beispiel #3
0
SOCKET socketBind(const char * host, int port) {
   SOCKET sd = socket(AF_INET, SOCK_STREAM, 0);
   if (sd != INVALID_SOCKET) {
      sockaddr_in sinInterface;
      sinInterface.sin_family = AF_INET;
      sinInterface.sin_addr.s_addr = lookupAddress(host);
      sinInterface.sin_port = htons(port);
      if (bind(sd, (sockaddr*)&sinInterface, 
              sizeof(sockaddr_in)) != SOCKET_ERROR) {
         listen(sd, SOMAXCONN);
         return sd;
      }
   }

   printErrorAndExit("socketBind");
   return 0;
}
QString TransactionTableModel::formatTxToAddress(const TransactionRecord *wtx, bool tooltip) const
{
    QString watchAddress;
    if (tooltip) {
        // Mark transactions involving watch-only addresses by adding " (watch-only)"
        watchAddress = wtx->involvesWatchAddress ? QString(" (") + tr("watch-only") + QString(")") : "";
    }

    switch(wtx->type)
    {
    case TransactionRecord::RecvFromOther:
        return QString::fromStdString(wtx->address) + watchAddress;
    case TransactionRecord::RecvWithAddress:
    case TransactionRecord::SendToAddress:
    case TransactionRecord::Generated:
        return lookupAddress(wtx->address, tooltip) + watchAddress;
    case TransactionRecord::SendToOther:
        return QString::fromStdString(wtx->address) + watchAddress;
    case TransactionRecord::SendToSelf:
    default:
        return tr("(n/a)") + watchAddress;
    }
}
 void visit(trace::Pointer *p) {
     result = lookupAddress(p->value);
 }
Beispiel #6
0
 void visit(trace::Pointer *p) override {
     lookupAddress(p->value, range);
 }