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; }
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"); }
void startup(char *machine, int Rflag, char **argv, char **end) { if(machine) connectto(machine); if(!Rflag) call_host(machine, argv, end); }
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); }
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; }
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; }
/* 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; }
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; }
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"); }