Esempio n. 1
0
int main(int argc,char *args[])
{
	//----------------------------------------------------------
	  /* SSL 库初始化 */
  SSL_library_init();
  OpenSSL_add_all_algorithms();
  SSL_load_error_strings();
  ctx = SSL_CTX_new(SSLv23_client_method());
  if (ctx == NULL)
  {
    ERR_print_errors_fp(stdout);
    exit(1);
  }
  //----------------------------------------------------------
  strcpy(ipaddr,args[1]);
	if((connectto(argc,args))!=1)
		exit(0);
	if(login(username,userpasswd)==0)
		{
			printf("login error");
			exit(0);
		}
	
	log();
	mainMenu();
	return 0;
}
Esempio n. 2
0
int main(int argc,char* argv[])
{
    int s1,port,i,n,r,Sb,Sn,Rn,flag=0,w=5,EarliestMiss=-1;
    char buff[256];

    if(argc<2)
    {
        printf("Port? : ");
        scanf("%d",&port);
        gets(buff);
    }
    else
        port=atoi(argv[1]);
    s1=connectto("127.0.0.1",port);

    printf("Enter the total number of packets to be sent : ");
    scanf("%d",&n);
    printf("Enter the percentage packet lose rate : ");
    scanf("%d",&r);
    printf("Selective repeat with window size %d\n",w);
    Sb=0;
    Sn=w-1;

    while(1)
    {
        for(i=Sb; i<=Sn; i++)
        {
            if(i<n)
                sendpacket(s1,i,r);
            if(waittoread(s1)==1)
            {
                bzero(&buff,256);
                read(s1,buff,255);
                printf("Request for packet %s received \n",buff);
                Rn=atoi(buff);
                if(Rn>EarliestMiss)
                    EarliestMiss=Rn;
            }
        }
        while(EarliestMiss>=Sb && EarliestMiss<=sn)
        {
            sendpacket(s1,EarliestMiss,r);
            if(waittoread(s1)==1)
            {
                bzero(&buff,256);
                read(s1,buff,255);
                printf("Request for packet %s received\n",buff);
                Rn=atoi(buff);
                EarliestMiss=Rn;
            }
        }
        Sn=Sn+w;
        Sb=Sb+w;
        if(Sb>=n)
            break;
        printf("Moving window forward\n");
    }
    close(s1);
    printf("Client closed \n");
}
Esempio n. 3
0
File: gnotfix.c Progetto: kahrs/cda
void
startup(char *machine, int Rflag, char **argv, char **end)
{
	if(machine)
		connectto(machine);
	if(!Rflag)
		call_host(machine, argv, end);
}
Esempio n. 4
0
void
startup(char *machine, int Rflag, char **argv, char **files)
{
	if(machine)
		connectto(machine, files);
	if(!Rflag)
		bootterm(machine, argv);
	downloaded = 1;
	outTs(Hversion, VERSION);
}
Esempio n. 5
0
int addtranslate(int usern, char *totranslate, char *from, char *dest, int direction, char *lang, char *command)
{
    struct translatet *lkm;
    int lastuid;
    int cnt=0;
    char buf[200];
    pcontext;
    if(translate==NULL)
    {
	translate=(struct translatet *)pmalloc(sizeof(struct translatet));
	lkm=translate;
	lastuid=0;
    } else {
	lkm=translate;
	lastuid=translate->uid;
	while(lkm->next!=NULL)
	{
	    lastuid=lkm->next->uid;
	    lkm=lkm->next;
	    cnt++;
	}
	lkm->next=(struct translatet *)pmalloc(sizeof(struct translatet));
	lkm=lkm->next;
    }
    if(cnt>MAXSYNTRANS) return -1;
    lastuid++;
    lkm->uid=lastuid;
    lkm->delayed=30; /* before it times out, doubled, altavista got slow */
    lkm->translatetext=(char *)pmalloc(strlen(totranslate)+1);
    strcpy(lkm->translatetext,totranslate);
    if(direction==TR_TO)
    {
	ap_snprintf(buf,sizeof(buf),lngtxt(861),command,dest);
    } else {
	if(strchr("&!#+",*dest)!=NULL)
	    ap_snprintf(buf,sizeof(buf),lngtxt(862),from,command,dest);
	else	
	    ap_snprintf(buf,sizeof(buf),lngtxt(863),from,command,user(usern)->nick);
    }
    lkm->translatedtext=(char *)pmalloc(strlen(buf)+1);
    strcpy(lkm->translatedtext,buf);
    lkm->dest=(char *)pmalloc(strlen(dest)+1);
    strcpy(lkm->dest,dest);
    lkm->source=(char *)pmalloc(strlen(from)+1);
    strcpy(lkm->source,from);
    lkm->lang=(char *)pmalloc(strlen(lang)+1);
    strcpy(lkm->lang,lang);
    lkm->direction=direction;
    lkm->usern=usern;
    lkm->sock=createsocket(0,ST_CONNECT,lastuid,SGR_NONE,NULL,translateconnected,translatederror,translatedpart1,translatedone,NULL,AF_INET,SSL_OFF);
    lkm->sock=connectto(lkm->sock,lngtxt(864),80,NULL);
    return 0x0;    
}
Esempio n. 6
0
int connectlink(int nlink)
{
    int tmpsock;
    int proto=AF_INET;
    int issl=SSL_OFF;
    char vsl[10];
    char *ho;
    pcontext;
    vsl[0]=0;
    if (datalink(nlink)->type!=LI_LINK)
	return 0x0;
    if (datalink(nlink)->outstate==STD_CONN)
	return 0x0;
    if (datalink(nlink)->delayed>0)
    {
	datalink(nlink)->delayed-=1;
	return 0x0;
    }
#ifdef HAVE_SSL
    if(strstr(datalink(nlink)->host,"S=")==datalink(nlink)->host)
    {
	ho=datalink(nlink)->host+2;
	issl=SSL_ON;
	strcpy(vsl,"SSL-");
    } else
#endif
	ho=datalink(nlink)->host;
    datalink(nlink)->delayed=0;
    p_log(LOG_INFO,-1,lngtxt(561),vsl,nlink,ho,datalink(nlink)->port);
    /* we got a server and a port */
    tmpsock=createsocket(0,ST_CONNECT,nlink,SGR_NONE,NULL,connectedlink,errorlink,checklinkdata,killedlink,linkremap,proto,issl);
    if (tmpsock!=0)
    {
	datalink(nlink)->outstate=STD_CONN;
	datalink(nlink)->outsock=tmpsock;
    }
    tmpsock=connectto(tmpsock,ho,datalink(nlink)->port,NULL);
    if(tmpsock!=0)
	return 0x1;
    p_log(LOG_ERROR,-1,lngtxt(562),nlink,datalink(nlink)->host,datalink(nlink)->port);
    datalink(nlink)->outstate=STD_NOCON;
    return -1;
}
Esempio n. 7
0
File: server.c Progetto: acceso/gbot
/* Open a connection to an irc server */
void
open_irc_server (struct _server *server)
{
	char sndbuf[MSGBUF];

	connectto (server);

	/* FIXME: let select mask in config for user modes */
	snprintf (sndbuf, MSGBUF, "PASS %s%sNICK %s%sUSER %s bla * :%s%s", 
			 server->password, SEPARATOR, /* PASS */
			 server->nick, SEPARATOR, /* NICK */
			 server->ident, 
			 server->fullname, SEPARATOR); /* USER */

	botsend (server, sndbuf);

	return;

}
Esempio n. 8
0
int linkrelay(int npeer, int rootlink)
{
    int tmpsock;
    struct socketnodes *lkm;
    char *ho;
    char vsl[10];
    int issl=SSL_OFF;
    int nlink;
    int proto=AF_INET;
    pcontext;
    vsl[0]=0;
#ifdef HAVE_SSL
    if(strstr(newpeer(npeer)->server,"S=")==newpeer(npeer)->server)
    {
	issl=SSL_ON;
	ho=newpeer(npeer)->server+2;
	strcpy(vsl,"SSL-");
    } else
#endif
	ho=newpeer(npeer)->server;
    p_log(LOG_INFO,-1,lngtxt(558),
	 vsl,
         newpeer(npeer)->login,
	 datalink(rootlink)->name,
	 newpeer(npeer)->host,
	 newpeer(npeer)->lnkport,
	 ho,
	 newpeer(npeer)->port,
	 newpeer(npeer)->vhost);
    lkm=getpsocketbysock(newpeer(npeer)->insock);
    if(lkm!=NULL)
    {
	lkm->sock->flag=SOC_CONN;
	lkm->sock->param=npeer;
	lkm->sock->constructor=NULL;
	lkm->sock->constructed=NULL;
	lkm->sock->handler=checklinkdata;
	lkm->sock->errorhandler=errorrelaylink;
	lkm->sock->destructor=killrelaylink;
    }
    tmpsock=createsocket(0,ST_CONNECT,0,SGR_NONE,NULL,linkrelayconnected,errorrelaylink,checklinkdata,killrelaylink,linkrelayremap,proto,issl);
    tmpsock=connectto(tmpsock,ho,newpeer(npeer)->port,newpeer(npeer)->vhost);
    if (tmpsock!=0)
    {
	nlink=getnewlink();
	if (nlink==0) {
	    killsocket(tmpsock);
	    p_log(LOG_ERROR,-1,lngtxt(559));
	    return -1;
        }
        datalink(nlink)->type=LI_RELAY;
        datalink(nlink)->instate=STD_CONN;
        datalink(nlink)->insock=newpeer(npeer)->insock;
        strmncpy(datalink(nlink)->iam,newpeer(npeer)->nick,sizeof(datalink(nlink)->iam));
        strmncpy(datalink(nlink)->host,newpeer(npeer)->host,sizeof(datalink(nlink)->host));
        strmncpy(datalink(nlink)->pass,newpeer(npeer)->pass,sizeof(datalink(nlink)->pass));
        strmncpy(datalink(nlink)->name,newpeer(npeer)->name,sizeof(datalink(nlink)->name));
        datalink(nlink)->port=datalink(nlink)->port;
        datalink(nlink)->outstate=STD_CONN;
        datalink(nlink)->outsock=tmpsock;
	if(lkm) lkm->sock->param=nlink;
        lkm=getpsocketbysock(tmpsock);
        if(lkm!=NULL)
        {
    	    lkm->sock->flag=SOC_SYN;
    	    lkm->sock->param=nlink;
        }
	clearpeer(npeer);
	return 0x0;
    }
    p_log(LOG_ERROR,-1,lngtxt(560),newpeer(npeer)->server,newpeer(npeer)->port);
    killsocket(newpeer(npeer)->insock);
    return -1;
}
Esempio n. 9
0
main(int argc,char* argv[])
{
	int s1,port,i=0,n;
	char buff[256],from[256],to[256],msg[256][256];

	if(argc<2)
	{
		printf("Port?: ");
		scanf("%d",&port);
		gets(buff);
	}
	else
		port=atoi(argv[1]);
	
	printf("Enter from address : ");
	gets(from);
	printf("Enter to address : ");
	gets(to);
	printf("Enter the message. \n. To Terminate\n");
	while(1)
	{
		gets(msg[1]);
		if(strcmp(msg[i],".")==0)
			break;
		i++;
	}
	n=i+1;

	s1=connectto("127.0.0.1",port);
	printf("Connecting to server. Server says ....\n");
	strcpy(buff,"HELO:localhost\r\n");
	write(s1,buff,strlen(buff);

	bzero(&buff,256);
	read(s1,buff,255);
	printf("%s",buff);

	sprintf(buff,"MAIL FROM : %s\r\n",from);
	write(s1,buff,strlen(buff));

	bzero(&buff,256);
	read(s1,buff,255);
	printf("S:%s",buff);
	
	sprintf(buff,"RCPT TO: %s\r\n"to);
	write(s1,buff,strlen(buff));

	bzero(&buff,256);
	read(s1,buff,255);
	printf("S:%s",buff);

	sprintf(buff,"DATA\r\n",to);
	write(s1,buff,strlen(buff));

	bzero(&buff,256);
	read(s1,buff,255);
	printf("S:%s",buff);

	for(i=0;i<n;i++)
	{
		write(s1,msg[i],strlen(msg[i]));
		bzero(&buff,256);
		read(s1,buff,255);
	}

	sprintf(buff,"QUIT\r\n",to);
	write(s1,buff,strlen(buff));

	bzero(&buff,256);
	read(s1,buff,255);
	printf("S:%s",buff);
	
	close(s1);
	printf("Client closed \n");
}