void CNetRender::SetClient(QString address, int portNo) { DeleteServer(); deviceType = netRender_CLIENT; status = netRender_NEW; this->address = address; this->portNo = portNo; ResetMessage(&msgFromServer); clientSocket = new QTcpSocket(this); reconnectTimer = new QTimer; reconnectTimer->setInterval(1000); connect(reconnectTimer, SIGNAL(timeout()), this, SLOT(TryServerConnect())); connect(clientSocket, SIGNAL(disconnected()), this, SLOT(ServerDisconnected())); connect(clientSocket, SIGNAL(readyRead()), this, SLOT(ReceiveFromServer())); reconnectTimer->start(); WriteLog("NetRender - Client Setup, link to server: " + address + ", port: " + QString::number(portNo)); emit NotifyStatus(); if(systemData.noGui) { QTextStream out(stdout); out << "NetRender - Client Setup, link to server: " + address + ", port: " + QString::number(portNo) + "\n"; } }
void DoJupeSquit(char *serv, char *reason, char *who) { struct Server *tempserv, *prev; char *servptr; int nowild; /* check for wildcards */ for (servptr = serv; *servptr != '\0' && !IsMWildChar(*servptr); servptr++) ; nowild = (*servptr == '\0'); for (tempserv = ServerList; tempserv; ) { if (match(serv, tempserv->name)) { /* squit the server */ toserv("SQUIT %s :Juped: %s (%s)\r\n", tempserv->name, reason, who); prev = tempserv->next; DeleteServer(tempserv); /* remove server from list */ tempserv = prev; /* If the fake server is introduced before the remote server has quited, * we get "server already exists" and services get SQUIT'ed, * so we'll introduce it in s_squit() */ if (nowild) return; } else tempserv = tempserv->next; } /* we don't want to introduce servers such as "irc.*" */ if (nowild) FakeServer(serv, reason); } /* DoJupeSquit() */
void CheckJupes() { struct Server *tempserv, *next; if (!Me.sptr) return; for (tempserv = ServerList; tempserv; ) { /* * Make sure tempserv is using us as an uplink, which * would qualify it as a pseudo-server. But also make * sure it's not OUR current hub server - we never * want to squit our hub. */ if ((tempserv->uplink == Me.sptr) && (Me.hub != tempserv)) { /* * We found a server who has us as a hub - check if there * is a J: line for it */ if (!IsJupe(tempserv->name)) { toserv("SQUIT %s :Unjuped\r\n", tempserv->name); next = tempserv->next; DeleteServer(tempserv); tempserv = next; } else tempserv = tempserv->next; } else tempserv = tempserv->next; } } /* CheckJupes() */
void CNetRender::SetServer(qint32 portNo) { DeleteClient(); DeleteServer(); this->portNo = portNo; server = new QTcpServer(this); WriteLog("NetRender - starting server."); if(!server->listen(QHostAddress::Any, portNo)) { if(server->serverError() == QAbstractSocket::AddressInUseError) { cErrorMessage::showMessage( QObject::tr("NetRender - address already in use.\n\nIs there already a mandelbulber server instance running on this port?"), cErrorMessage::errorMessage, gMainInterface->mainWindow); } else { cErrorMessage::showMessage( QObject::tr("NetRender - SetServer Error:\n\n") + server->errorString(), cErrorMessage::errorMessage, gMainInterface->mainWindow); } deviceType = netRender_UNKNOWN; } else { connect(server, SIGNAL(newConnection()), this, SLOT(HandleNewConnection())); deviceType = netRender_SERVER; WriteLog("NetRender - Server Setup on localhost, port: " + QString::number(portNo)); if(systemData.noGui) { QTextStream out(stdout); out << "NetRender - Server Setup on localhost, port: " + QString::number(portNo) + "\n"; } status = netRender_NEW; emit NewStatusServer(); } }
int CheckJuped(char *name) { struct Jupe *tempjupe; struct Server *tempserv; char sendstr[MAXLINE + 1], **arv; for (tempjupe = JupeList; tempjupe; tempjupe = tempjupe->next) { if (match(tempjupe->name, name)) { if (tempjupe->isnick) { struct Luser *lptr; if (!(lptr = FindClient(name))) return 0; /* its a nick jupe, not a server jupe */ #ifdef DANCER ircsprintf(sendstr, "NICK %s 1 %ld +i juped juped.com %s %lu :%s\r\n", tempjupe->name, #ifdef NICKSERVICES (long) (lptr->nick_ts - 1), #else (long) (lptr->since - 1), #endif /* NICKSERVICES */ Me.name, 0xffffffffL, tempjupe->reason ? tempjupe->reason : "Jupitered Nickname"); #else /* collide the nickname */ ircsprintf(sendstr, "NICK %s 1 %ld +i %s %s %s :%s\r\n", tempjupe->name, #ifdef NICKSERVICES (long) (lptr->nick_ts - 1), #else (long) (lptr->since - 1), #endif /* NICKSERVICES */ JUPED_USERNAME, JUPED_HOSTNAME, Me.name, tempjupe->reason ? tempjupe->reason : "Jupitered Nickname"); #endif /* DANCER */ toserv("%s", sendstr); DeleteClient(lptr); SplitBuf(sendstr, &arv); AddClient(arv); MyFree(arv); if (Me.sptr) Me.sptr->numoperkills++; Network->TotalOperKills++; #ifdef STATSERVICES if (Network->TotalOperKills > Network->OperKillsT) Network->OperKillsT = Network->TotalOperKills; #endif } else { toserv("SQUIT %s :Juped: %s (%s)\r\n", name, tempjupe->reason, tempjupe->who); tempserv = FindServer(name); DeleteServer(tempserv); /* If the fake server is introduced before the remote server has quited, * we get "server already exists" and services get SQUIT'ed, * so we'll introduce it in s_squit() */ } return 1; } } return 0; } /* CheckJuped */
CNetRender::~CNetRender() { DeleteServer(); DeleteClient(); }