Example #1
0
EventLogItem::EventLogItem( const int Type, const int ID, const char *From, const char *Message, IRCServer *pServer, IRCChannel *pChannel)
{
  m_Type = Type;
  m_ID = ID;
  m_From = From ? strdup(From) : NULL;
  m_Message = Message ? stripcodes(strdup(Message)) : NULL;
  char *networkname = NULL;
  char *serverstr = NULL;

  if (pServer && pServer->m_pDetails)
  {
    networkname = GetNetworkName(pServer->m_pDetails->m_NetworkID);
    serverstr = HydraIRC_BuildString(strlen(pServer->m_pDetails->m_Name) + strlen(networkname),
      "%s (%s)",
      pServer->m_pDetails->m_Name,
      networkname);

    m_NetworkID = pServer->m_pDetails->m_NetworkID;
  }
  else
  {
    m_NetworkID = -1;
  }

  m_pServer = pServer;
  m_ServerName = serverstr;

  m_ChannelName = pChannel ? strdup(pChannel->m_pProperties->m_Name) : NULL;
  m_pChannel = pChannel;
  time(&m_Time);
}
Example #2
0
const char *BeaconPayload::ToInfoString(char *aBuf, uint16_t aSize) const
{
    const uint8_t *xpanid = GetExtendedPanId();

    snprintf(aBuf, aSize, "name:%s, xpanid:%02x%02x%02x%02x%02x%02x%02x%02x, id:%d ver:%d, joinable:%s, native:%s",
             GetNetworkName(), xpanid[0], xpanid[1], xpanid[2], xpanid[3], xpanid[4], xpanid[5], xpanid[6], xpanid[7],
             GetProtocolId(), GetProtocolVersion(), IsJoiningPermitted() ? "yes" : "no", IsNative() ? "yes" : "no");

    return aBuf;
}
Example #3
0
void TextQueueItem::Initialise( const char *From, char *Message, IRCServer *pServer)
{
  m_From = strdup(From);
  m_Message = stripcodes(strdup(Message));

  char *networkname = GetNetworkName(pServer->m_pDetails->m_NetworkID);
  char *serverstr = HydraIRC_BuildString(strlen(pServer->m_pDetails->m_Name) + strlen(networkname),
    "%s (%s)",
    pServer->m_pDetails->m_Name,
    networkname);

  m_ServerName = serverstr;
  m_NetworkID = pServer->m_pDetails->m_NetworkID;
  m_pServer = pServer;
  time(&m_Time);
}
Example #4
0
long wxLuaDebuggerBase::StartClient()
{
    if (m_debuggeeProcess == NULL)
    {
        m_debuggeeProcess = new wxLuaDebuggerProcess(this, ID_WXLUA_DEBUGGEE_PROCESS);
        wxString command = wxString::Format(wxT("%s -d%s:%u"),
                                            GetProgramName().c_str(),
                                            GetNetworkName().c_str(),
                                            m_port_number);

        m_debuggeeProcessID = wxExecute(command, wxEXEC_ASYNC|wxEXEC_MAKE_GROUP_LEADER, m_debuggeeProcess);

        if (m_debuggeeProcessID < 1)
            KillDebuggee();
    }

    return m_debuggeeProcessID;
}
Example #5
0
static UniValue GetNetworksInfo()
{
    UniValue networks(UniValue::VARR);
    for(int n=0; n<NET_MAX; ++n)
    {
        enum Network network = static_cast<enum Network>(n);
        if(network == NET_UNROUTABLE || network == NET_INTERNAL)
            continue;
        proxyType proxy;
        UniValue obj(UniValue::VOBJ);
        GetProxy(network, proxy);
        obj.pushKV("name", GetNetworkName(network));
        obj.pushKV("limited", IsLimited(network));
        obj.pushKV("reachable", IsReachable(network));
        obj.pushKV("proxy", proxy.IsValid() ? proxy.proxy.ToStringIPPort() : std::string());
        obj.pushKV("proxy_randomize_credentials", proxy.randomize_credentials);
        networks.push_back(obj);
    }
    return networks;
}
Example #6
0
void IRCQuery::UpdateLogger( void )
{
  DWORD LoggingFlags = LOGF_NONE;
  char *Folder;

  if (BOOLPREF(PREF_bCreateNetworkLogFolder))
  {    
    Folder = HydraIRC_BuildString(MAX_PATH,"%s\\%s",PATHPREF(PREF_pLogRootFolder),GetNetworkName(m_pServer->m_pDetails->m_NetworkID));
  }
  else
  {
    Folder = strdup(PATHPREF(PREF_pLogRootFolder));
  }
  m_Logger.SetPaths(Folder,HydraIRC_BuildString(MAX_PATH,"Query_%s.txt",m_OtherNick));

  if (BOOLPREF(PREF_bLogging) && BOOLPREF(PREF_bQueryLogging)) LoggingFlags |= LOGF_ENABLED;
  if (BOOLPREF(PREF_bStripCodesFromQueryLogs)) LoggingFlags |= LOGF_STRIPCODES;

  // update the settings and start logging!
  m_Logger.UpdateSettings(LoggingFlags);
}
Example #7
0
bool wxLuaDebuggerCServer::StopServer()
{
    // NO checks, can always call stop server

    // Set the shutdown flag
    m_shutdown = true;

    // try to nicely stop the socket if it exists
    if (m_acceptedSocket)
    {
        Reset();
        wxMilliSleep(500);
    }

    // close the session socket, but first NULL it so we won't try to use it
    //m_acceptSockCritSect.Enter();
    wxLuaSocket *acceptedSocket = m_acceptedSocket;
    //m_acceptedSocket = NULL;
    //m_acceptSockCritSect.Leave();

    if (acceptedSocket != NULL)
    {
        if (!acceptedSocket->Shutdown(SD_BOTH))
        {
            wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR, this);
            debugEvent.SetMessage(acceptedSocket->GetErrorMsg(true));
            AddPendingEvent(debugEvent);
        }

        wxMilliSleep(500);
        //m_acceptedSocket = NULL;
        //delete acceptedSocket;
    }

    // close the server socket, if accepted socket created it will already
    // have been deleted
    if (m_serverSocket != NULL)
    {
        wxLuaSocket *serverSocket = m_serverSocket;
        m_serverSocket = NULL;

        // close the server socket by connecting to the socket, thus
        // completing the 'accept'. If a client has not connected, this
        // code will satisfy the accept the m_shutdown flag will be set
        // so the thread will not loop and instead will just destroy the
        // session socket object and return.
        wxLuaSocket closeSocket;
        closeSocket.m_name = wxString::Format(wxT("wxLuaDebuggerCServer closeSocket (%ld)"), (long)wxGetProcessId());

        if (!closeSocket.Connect(GetNetworkName(),  m_port_number) ||
            !closeSocket.Shutdown(SD_BOTH))
        {
            wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR, this);
            debugEvent.SetMessage(serverSocket->GetErrorMsg(true));
            AddPendingEvent(debugEvent);
        }

        wxMilliSleep(100);

        delete serverSocket;
    }

    // One of the above two operations terminates the thread. Wait for it to stop.
    if ((m_pThread != NULL) && m_pThread->IsRunning())
        m_pThread->Wait();

    delete m_pThread;
    m_pThread = NULL;

    return true;
}
Example #8
0
void CTransfersView::AddItem(CDCCTransfer *pDCCTransfer)
{
  if (!pDCCTransfer)
    return;

  char SizeStr[11];
  BuildSizeString(SizeStr,sizeof(SizeStr)-1,(double)pDCCTransfer->m_Size);
  /*
  if (pDCCTransfer->m_Size > 1024 * 1024)
    _snprintf(SizeStr,10,"%.2fMB",(double)pDCCTransfer->m_Size / (double)(1024 * 1024));
  else
    _snprintf(SizeStr,10,"%.2fKB",(double)pDCCTransfer->m_Size / 1024);
  */

  tm *t = localtime(&pDCCTransfer->m_Time);

  /*
  char *DirectionStr;
  if (pDCCTransfer->m_Type == DCC_RECEIVE)
    DirectionStr = "Receive";
  else
    DirectionStr = "Send";
  */

  int itemnum = m_TransfersListCtrl.InsertItem(0,""/*DirectionStr*/,pDCCTransfer->m_Type == DCC_SEND ? TILN_SEND : TILN_RECEIVE);
  if (itemnum != -1)
  {
    m_TransfersListCtrl.AddItem(itemnum,1,pDCCTransfer->m_FileName);
    m_TransfersListCtrl.AddItem(itemnum,2,pDCCTransfer->m_OtherNick);
    m_TransfersListCtrl.AddItem(itemnum,3,pDCCTransfer->m_StatusStr);
    m_TransfersListCtrl.AddItem(itemnum,4,"");
    m_TransfersListCtrl.AddItem(itemnum,5,"");
    m_TransfersListCtrl.AddItem(itemnum,6,pDCCTransfer->m_Size > 0 ? SizeStr : "Unknown");
    m_TransfersListCtrl.AddItem(itemnum,7,stripcrlf(asctime(t)));
    m_TransfersListCtrl.AddItem(itemnum,8,pDCCTransfer->m_IPAddressString);
    if (pDCCTransfer->m_pServer && (g_ServerList.Find(pDCCTransfer->m_pServer) >= 0))
    {
      char *serverstr = HydraIRC_BuildString(128,"%s (%s)",
        pDCCTransfer->m_pServer->m_pDetails->m_Name,
        GetNetworkName(pDCCTransfer->m_pServer->m_pDetails->m_NetworkID));
      if (serverstr)
      {
        m_TransfersListCtrl.AddItem(itemnum,9,serverstr);
        free(serverstr);
      }
    }
    else
      m_TransfersListCtrl.AddItem(itemnum,9,"N/A");

    m_TransfersListCtrl.SetItemData(itemnum,(DWORD_PTR)pDCCTransfer);
  }

  TransferStats_t *pTS = (TransferStats_t *)malloc(sizeof (TransferStats_t));
  if (pTS)
  {
    ZeroMemory(pTS,sizeof (TransferStats_t));
    pTS->pDCCTransfer = pDCCTransfer;
    CNode *pNode = new CNode(pTS);
    m_TransferStats.AddTail(pNode);
    ResetStats(pDCCTransfer);
  }
}