Exemple #1
0
int main(int quantiparametri,char* arg[])
{
    int i;
    int scaduto;  //per il timer
    long ret;
    int quanti=omp_get_num_procs();
    if (quantiparametri != 3)
    {
        printf ("devi passare 2 parametri : ip e porta \n");
        exit(1);
    }		
    help();
    connectserver(arg[1],arg[2]);
        ret=send(sk,(void*)&quanti,sizeof(int),0);  //gli mando prima quanto e' grande l'utente
        if (ret ==-1)
        {
            printf ("errore send numcores");
            exit(1);
        }
    printf ("connessi\n");
    help();
    FD_ZERO(&master);	//azzero master
    FD_ZERO(&read_fd);
    FD_SET(sk,&master);   //setto server
    FD_SET(0,&master);		//setto 0 per tastiera
   
        maxfd=sk;

    
    for (;;)
        
    {
        read_fd=master;  //perche la select mi 'danegerebbe' master
        fflush(stdout);
        scaduto=select(maxfd+1, &read_fd, NULL, NULL, NULL);
        if (scaduto==-1)
        {
            printf("errrore select\n");
            exit(1);
        }
       // printf("evento");
        for (i=0; i<=maxfd;i++)
        {	
            if(FD_ISSET(i, &read_fd))
            {
                if (i==0) //tastiera
                {
                    tastiera();	
                    
                }
                else
                if (i==sk) //mex dal server		
                    mexserver();
                
            }
        }
    }
    return 0;
}
Exemple #2
0
int
main(int argc, char *argv[])
{
	int		ch, p;
	char 		addr[HOSTMAX] = "localhost";
	char 		port[6] = "7326";

	setlocale(LC_ALL, "");

	while ((ch = getopt(argc, argv, "g:hn:p:v")) != -1) {
		switch (ch) {
		case 'g':
			strlcpy(group, optarg, sizeof(group));
			break;
		case 'n':
			strlcpy(nick, optarg, sizeof(nick));
			break;
		case 'p':
			p = atoi(optarg);
			if (p < 0 || p > 66535)
				(void) fprintf(stderr, "%s: Bogus port number, using 7326", __progname);
			else
				strlcpy(port, optarg, sizeof(port));
			break;
		case 'v':
			version();
			break;
		case 'h':
		default:
			usage();
			/* NOTREACHED */
		}
	}
	argc -= optind;
	argv += optind;

	if (argc > 1)
		usage();

	if (argv[0] != NULL)
		strlcpy(addr, argv[0], sizeof(addr));

	/* Connect to server.  */
	if ((connectserver(addr, port)) != 0) {
		fputs("Could not connect to server", stderr);
		exit(1);
	}
	setvbuf(stdout, NULL, _IONBF, 0);

	client();
	close(sockfd);

	return 0;
}
Exemple #3
0
void event_reconnect(struct eventhub * hub){
	struct list_head * head = connlist_get();
	if(!connlist_check(CONNSOCKETSERVER)){
		struct connection * serverconn = connectserver();
		if(serverconn){
			eventhub_register(hub,connection_getfd(serverconn));
		}
	}
	if(!connlist_check(CONNSERIALPORT)){
		struct connection * serialconn = connserialport();
		if(serialconn){
			eventhub_register(hub,connection_getfd(serialconn));
		}
	}
}
Exemple #4
0
int main(int argc, char **argv) {
char optchar, *exec = NULL, server[512] = "", *username = NULL, *password = NULL;
int s, retval = -1, port, target = 0;

if (argc < 2) {
helpme(argc, argv);
} else {
while ( (optchar = getopt(argc, argv, "h:t:u:p:e:")) != EOF ) {
switch(optchar) {
case 'h': sscanf(optarg, "%[^:]:%d", server, &port);
break;
case 'u': username = optarg;
break;
case 'p': password = optarg;
break;
case 't': target = atoi(optarg);
break;
case 'e': exec = optarg;
break;
}
}

if (!strcmp(server, "")) {
strcpy(server, "127.0.0.1");
port = 21;
}

if (!username) {
username = "******";
}

if (!password) {
password = "******";
}

if (!exec) {
exec = "id; killall msg; ";
}

fprintf(stderr, "[*] connecting %s:%d (%s/%s)...\n", server, port, username, password);
if (!connectserver(&s, server, port)) {
retval = attack(s, username, password, target, exec);
close(s);
}
}

return retval;
}
void dealonereq(void *arg)
{
    char buf[BUF_SIZE];
    char * pbuf = buf;
    int bytes;
    char recvbuf[BUF_SIZE];
    char hostname[256];
    int remotesocket;
    int accept_sockfd;
    accept_sockfd = *(int *)arg;
    pthread_detach(pthread_self());
    bzero(buf, BUF_SIZE);
    bzero(recvbuf, BUF_SIZE);
    printf("read data from client\n");
    fflush(stdout);
    bytes = read(accept_sockfd, buf, BUF_SIZE);
    printf("client data(xxxxxxxxxxxxxxxxxxxxxxxx):\n%s\nend.....\n", pbuf);
    modify_request_get(&pbuf, bytes);
    printf("client data:\n%s\nend.....\n", pbuf);

    if(bytes <= 0)
    {
        close(accept_sockfd);
        return;
    }
    gethostname_m(pbuf, hostname, bytes);

    if(sizeof(hostname) == 0)
    {
        printf("Invalid host name");
        close(accept_sockfd);
        return;
    }

    if(checkserver(hostname) == -1)
    {
        close(accept_sockfd);
        return;
    }

    remotesocket = connectserver(hostname);
    if(remotesocket == -1)
    {
        close(accept_sockfd);
        return;
    }
   
    send(remotesocket, pbuf, bytes, 0);
    printf("%s",pbuf);
    fflush(stdout);
    // free(pbuf);
    while(1)
    {
        int readSizeOnce = 0;
        printf("read data from server!\n");
        readSizeOnce = read(remotesocket, recvbuf, BUF_SIZE);
    
        printf("server data:\n%s\nend....\n ", recvbuf);
        if(readSizeOnce <= 0)
        {
            break;
        }
        printf("send data to client\n");
        send(accept_sockfd, recvbuf, readSizeOnce, 0);
        printf("结束.../");
    }

}
Exemple #6
0
int main (int argc, char *argv[])
{
  char sname[40], line[256], writebuf[256];
  char config_file[MAX_PATH_LEN];

  quitflag = 0;
  NATEMODE = 0;
  starttime = time (NULL);
  
  /* parse command args here */
  config_read(CONFIG_FILE);

#ifndef NOFORK
  if (fork ())
    exit (0);
#endif

  signal (SIGHUP, (void *) gotsignal);
  signal (SIGINT, (void *) gotsignal);
  signal (SIGILL, (void *) gotsignal);
  signal (SIGFPE, (void *) gotsignal);
  signal (SIGBUS, (void *) gotsignal);
#if 0
  signal (SIGSEGV, (void *) gotsignal);
#endif 
  signal (SIGPIPE, (void *) gotsignal);
  signal (SIGTERM, (void *) gotsignal);
  signal (SIGUSR1, (void *) gotsignal);
  signal (SIGUSR2, (void *) gotsignal);
  signal (SIGWINCH, (void *) (gotsignal2));    /* heehee */

  if ((ssock = open ("/dev/tty", O_RDONLY)) >= 0)
  {
    ioctl (ssock, TIOCNOTTY);
    close (ssock);
  }

  srandom ((unsigned) time (NULL));
  getpush = 1;
  readusers ();
  strcpy (sname, DEFAULTSERVER);
  strcpy (mynick, DEFAULTNICK);
  strcpy (mychan, HOMECHAN);
  setbuf (stdout, NULL);
  setbuf (stderr, NULL);
  setjmp (my_env);
#ifdef DEBUG
  printf ("Setup environment stuff\n");
#endif /* DEBUG */
  do
  {
    if ((ssock = connectserver (sname)) < 0)
    {
      sleep (60);
    }
    else
    {
#ifdef DEBUG
      printf ("Connected to server %s\n", sname);
#endif /* DEBUG */
      writeline ("PING td0");
#ifdef DEBUG
      printf ("Sent PING\n");
#endif
      readline (line);
#ifdef DEBUG
      printf ("Received PONG\n");
#endif /* DEBUG */
      sprintf(writebuf, "USER %s * * :%s", LOGINNAME, IRCUSER);
      writeline(writebuf);
      nick (mynick);
      sprintf (line, "MODE %s +i", mynick);
      writeline (line);
      join (mychan);
      setjmp (my_env2);
      waitforstuff ();
#ifdef DEBUG
      printf (stderr, "Connection got closed!\n");
#endif
      close (ssock);
    }
  }
  while (!quitflag);
#ifdef DEBUG
  printf ("Boom, I'm dead!\n");
#endif /* DEBUG */
  close (ssock);
  checkufile();
  exit (0);
}