Beispiel #1
0
int
m_nick(user_t *cptr, int parc, char **parv)
{
	/* :irc.lslandgirls.org NICK Flat-Line 1 1007155636 flatline islandgirls.org irc.islandgirls.org :blah blah */
	/* :wiz NICK blah :1007165553 */
	/* NICK wiz6 1 1021703400 +iw jason rr.wiz.cx h6.wiz.cx :monkey mushroom */

	if (parc < 7)
		return change_user_nick(parv[0], parv[1]);

	switch (me.servtype) {
		case SERV_IRCNN:
			if (strncasecmp(parv[6], "services", 8) == 0) {
				add_user(parv[1], parv[4], parv[5], parv[7], parv[6], NOKILL);
				return 1;
			}
			if (match_snuggle(parv[1], parv[4], parv[5], parv[7]))
				return 1;

			check_clone(parv[1], parv[5]);
			if (!(cptr = add_user(parv[1], parv[4], parv[5], parv[7], parv[6], NOPRIV)))
				break;
			break;
		case SERV_HYBRD:
			if (match_snuggle(parv[1], parv[5], parv[6], parv[8]))
				return 1;

			check_clone(parv[1], parv[6]);
			if (!(cptr = add_user(parv[1], parv[5], parv[6], parv[8], parv[7], NOPRIV)))
				break;
			parse_mode(cptr, parv[4]);
			break;
	}
	return 1;
}
Beispiel #2
0
int main() {
    add_user(1, "Vinay");
    add_user(2, "Sanjekar");
    print_users();
    add_product(1, "Macbook");
    add_product(2, "iPad");
    print_products();
}
Beispiel #3
0
user_data *wait_username(list rooms, int socket) {
   user_data *ud = NULL;
   if ((ud = malloc(sizeof(user_data))) == NULL) {
      perror("Malloc failed");
		write(socket, "server: There was an error in the server.", MAX_PACK_SIZE);
		close(socket); //end of connection
		return NULL;
   }
   char buffer[MAX_PACK_SIZE];
   bzero(buffer, MAX_PACK_SIZE);
   int read_size;
   box *user = NULL;
   if ((read_size = recv(socket, buffer, MAX_PACK_SIZE, 0)) > 0) {
      pthread_mutex_lock(&mutex);
      char *user_name;
      if ((user_name =  malloc(sizeof(char)*read_size)) == NULL) {
         perror("Malloc failed");
			write(socket, "server: There was an error in the server.", MAX_PACK_SIZE);
			close(socket); //end of connection
			return NULL;
      }
		memset(user_name, 0, read_size);
      int i;
      for (i = 0; i < read_size; i++) 
         user_name[i] = buffer[i];
      ud = create_user_data(user_name, socket);	
      user = add_user(rooms, ((room *)rooms->first->elem)->name, ud);	
      pthread_mutex_unlock(&mutex);
   }
   return ud;	
}
Beispiel #4
0
void sus(char *roomname, user_data *ud) {
   list subs_rooms = ud->subscribed_rooms;
   if (get_room(rooms, roomname) == NULL) {
      write(get_socket(ud), 
				"Sorry, this room does not exist", 
				MAX_PACK_SIZE);
      return;
   }
	if (is_in(get_room(rooms, roomname), subs_rooms)) {
		write(get_socket(ud), 
				"You are already subscribed to this room", 
				MAX_PACK_SIZE);
		return;
	}
   add_user(rooms, roomname, ud);
   add(subs_rooms, get_room(rooms, roomname));

	char *buffer;
	if ((buffer = malloc(sizeof(char)*256)) == NULL) {
		perror("Malloc failed");
		write(get_socket(ud), "You are now subscribed to the room!", 256);
		return;
	}
	memset(buffer, 0, 256);
	strcat(buffer, "You are now subscribed to the room '");	
	strcat(buffer, roomname);
	strcat(buffer,"'!");
	write(get_socket(ud), buffer, 256);
	free(buffer);
}
Beispiel #5
0
int main() {

	char *installationChoice = (char *) malloc(sizeof(installationChoice));

	int choice;
	
	printf("### Subuntu Login Menu ###\n");
	printf("### 1. Unlock System ###\n");
	printf("### 2. Add New User ###\n");
	printf("### 3. Delete User ###\n");
	printf("### 4. Change Password ###\n");
	printf("### 5. Exit ###\n");
	
	printf("Please enter your choice: ");
	scanf("%d", &choice);

	if(choice == 1) {
		login_diffuser();
	} else if(choice == 2) {
		add_user();
	} else if(choice == 3) {
		delete_user();
	} else if(choice == 4) {
		change_password();
	} else if(choice == 5) {
		exit(0);
	} else {
		printf("Invalid Option!\n");
		printf("Please enter your choice: ");
		scanf("%d", &choice);
	}
}
 void add_comment(osmium::Timestamp date, osmium::user_id_type uid, const char* user) {
     assert(!m_comment && "You have to always call both add_comment() and then add_comment_text() in that order for each comment!");
     m_comment = reserve_space_for<osmium::ChangesetComment>();
     new (m_comment) osmium::ChangesetComment(date, uid);
     add_size(sizeof(ChangesetComment));
     add_user(*m_comment, user, std::strlen(user));
 }
Beispiel #7
0
int setupDB() {
	int retval;
	sqlite3 *handle;

	printf("SETTING UP DATABASE\n");
	getConnection(DBNAME, &handle);

	retval = sqlite3_exec(handle, ddl_create_table_users, 0, 0, 0);
	if (retval == -1) {
		perror("ERROR: Cannot setup the database");
		freeConnection(handle);
		return(-1);
	}

	retval = sqlite3_exec(handle, ddl_create_table_mails, 0, 0, 0);
	if (retval == -1) {
		perror("ERROR: Cannot setup the database");
		freeConnection(handle);
		return(-1);
	}

	retval = sqlite3_exec(handle, ddl_create_table_mailboxes, 0, 0, 0);
	if (retval == -1) {
		perror("ERROR: Cannot setup the database");
		freeConnection(handle);
		return(-1);
	}

	printf("SETTING UP DATABASE...DONE\n");

	add_user(handle);

	freeConnection(handle);
	return (0);
}
Beispiel #8
0
static void
add_users (const char *filename, unsigned n)
{
    krb5_error_code ret;
    int i;
    void *kadm_handle;
    krb5_context context;
    unsigned nwords;
    char **words;

    ret = krb5_init_context(&context);
    if (ret)
	errx (1, "krb5_init_context failed: %d", ret);
    ret = kadm5_s_init_with_password_ctx(context,
					 KADM5_ADMIN_SERVICE,
					 NULL,
					 KADM5_ADMIN_SERVICE,
					 NULL, 0, 0,
					 &kadm_handle);
    if(ret)
	krb5_err(context, 1, ret, "kadm5_init_with_password");

    nwords = read_words (filename, &words);

    for (i = 0; i < n; ++i)
	add_user (context, kadm_handle, nwords, words);
    kadm5_destroy(kadm_handle);
    krb5_free_context(context);
}
Beispiel #9
0
int			run_serveur(t_serv *serv)
{
  t_user		*user_list;
  fd_set		readfd;
  int			max;
  int			socks;
  char			*buff;

  max = serv->s;
  user_list = NULL;
  if ((buff = malloc(4096 * sizeof(char))) == NULL)
    return (EXIT_FAILURE);
  while (1)
    {
      reset_list(&readfd, user_list, serv, max);
      if (FD_ISSET(serv->s, &readfd))
	{
	  accept_connect(&socks, serv);
	  if (read_client(socks, buff) != 0)
	    {
	      client_connexion(&max, socks, &readfd);
	      add_user(&user_list, DEFAULT_USER, socks, NULL);
	    }
	}
      else
	send_rcv(&user_list, &readfd);
    }
}
    void way(const shared_ptr< Osmium::OSM::Way const > &way) {
        m_numWays++;
        if (way->user_is_anonymous()) return;
        m_numUWays++;

        add_user(way->uid(), way->user());
    }
    void relation(const shared_ptr< Osmium::OSM::Relation const > &relation) {
        m_numRels++;
        if (relation->user_is_anonymous()) return;
        m_numURels++;

        add_user(relation->uid(), relation->user());
    }
    void node(const shared_ptr<Osmium::OSM::Node const> &node) {
        m_numNodes++;
        if (node->user_is_anonymous()) return;
        m_numUNodes++;

        add_user(node->uid(), node->user());
    }
Beispiel #13
0
int add_room (char *room_name, user admin) {

    if (is_room_used (room_name)) {
        return -1;
    }

    // Création d'un salon et initialisation des champs
    room r;
    r = (room) malloc (sizeof(struct ROOM));
    if (strcpy (r->name, room_name) == NULL) {
        return -1;
    }

    r->admin = admin;
    r->users = create_user_map ();
    r->k = NULL;

    if (admin != NULL)
        add_user (admin, r->users);

    // Ajout du salon dans la map
    int index = hash_room_name (room_name);
    room_list l = rooms[index];
    room_list t;

    t = (room_list) malloc (sizeof(struct ROOM_LIST));
    t->current = r;
    t->next = l;
    rooms[index] = t;

    return 0;
}
Beispiel #14
0
void login_main()
{
int choice;
clrscr();
load_users();
clrscr();

printf("********* MAIN MENU *********\n\n1. Login\n2. Register\n3. Stats\n4. Exit\n\nEnter your choice : ");
scanf("%d",&choice);
switch(choice)
{
case 1 : login();
	break;
case 2 : add_user();
	login_main();
	break;
case 3 : stats();
	login_main();
	break;
case 4 : break;
}
getch();

//loaddatabase();
//menu_exit();

}
Beispiel #15
0
void BakedLightmapData::_set_user_data(const Array &p_data) {

	ERR_FAIL_COND((p_data.size() % 3) != 0);

	for (int i = 0; i < p_data.size(); i += 3) {
		add_user(p_data[i], p_data[i + 1], p_data[i + 2]);
	}
}
Beispiel #16
0
/*解析消息线程*/
void *pthread_func()
{
    head_user = (struct user_info *)malloc(sizeof(struct user_info));
    head_user->next = NULL;

    struct user_info *tmp; // 循环变量,用于便利在线用户链表将其发送给第一次登录的或者有刷新请求的客户端
    struct  servmsg *free_tmp;

    int ret= -1;
    while(1)
    {
        while(H->next != NULL)
        {
            //                   free_tmp = H;
            H = H->next; //消息头,处理玩就往后移动
            //                   free(free_tmp);//将处理完的消息所占内存释放掉
            //                   free_tmp = NULL;
            printf("消息链表首地址H :%p\n",H);
            printf("准备解析消息---\n");
            printf("消息来自%s:\tIP:%s(%d)\n",H->recvmsg.self_name,inet_ntoa(H->addr.sin_addr),ntohs(H->addr.sin_port));
            if(H->recvmsg.type == REGISTER)
            {
                register_user();
                continue;
            }
            if(H->recvmsg.type == LOG_IN )
            {
                check_user(); //
                if(find)
                {
                    add_user(head_user,H);// add 
                }
                continue;
            }          
            if(H->recvmsg.type == REFRESH){
                printf("%s刷新消息\n",H->recvmsg.self_name);
                //usleep(50000);
                send_all_online(H->addr);
                continue;
            }
            if (H->recvmsg.type == OFFLINE){
                printf("%s下线\n",H->recvmsg.self_name);
                delete_user(H->recvmsg.self_name);
            }
            if (H->recvmsg.type == CHAT_PRI){
                printf("%s私聊消息\n",H->recvmsg.self_name);
                printf("目标:%s\n",H->recvmsg.dst_name);
                chat_private();
            }
            if(H->recvmsg.type == CHAT_ALL){
                printf("%s群聊消息\n",H->recvmsg.self_name);
                chat_toall();
            }

            printf("-----------------------------------\n");
        }//end while(H)
    }
}
Beispiel #17
0
void
intro_nicks(u_short nicknum)
{
	short i = nicknum;

	if (i == ALL)
		i--;

	switch (me.servtype) {
	case SERV_IRCNN:
	for (; i >= 0; i--)
	{
		toserv(":%s NICK %s 1 %lu %s %s %s :%s\r\n", me.servname, me.sclients[i].nick, time(NULL),
			me.sclients[i].username, me.servname, me.servname, me.sclients[i].realname);
		toserv(":%s MODE %s :+ko\r\n", me.sclients[i].nick, me.sclients[i].nick);
		me.opers++;
		add_user(me.sclients[i].nick, me.sclients[i].username, me.servname, me.sclients[i].realname,
			 me.servname, NOKILL);

		/* XXX - lame services will kill operserv2 if not identified */
		if (i == OS)
			toserv(":%s PRIVMSG NickServ :identify abcd123\r\n", me.sclients[i].nick);
		if (nicknum != ALL)
			break;
	}
	break;

	case SERV_HYBRD:
	for (; i >= 0; i--)
	{
		/* NICK wiz6 1 1021703400 +iw jason rr.wiz.cx h6.wiz.cx :monkey mushroom */
		toserv(":%s NICK %s 1 %lu +omw %s %s %s :%s\r\n", me.servname, me.sclients[i].nick, time(NULL),
			me.sclients[i].username, me.servname, me.servname, me.sclients[i].realname);
		add_user(me.sclients[i].nick, me.sclients[i].username, me.servname, me.sclients[i].realname,
			 me.servname, NOKILL);
		me.htmtime = time(NULL);
		if (me.eob == 1)
			join_channels(i);

		if (nicknum != ALL)
			break;
	}
	break;
	}
}
Beispiel #18
0
int
main (int argc, char *argv[])
{
  char in[10];
  int id = 1;
  User *s;
  unsigned num_users;

  while (1)
    {
      printf ("1. add user\n");
      printf ("2. find user\n");
      printf ("3. delete user\n");
      printf ("4. delete all users\n");
      printf ("5. sort items by name\n");
      printf ("6. sort items by id\n");
      printf ("7. print users\n");
      printf ("8. count users\n");
      gets (in);
      switch (atoi (in))
	{
	case 1:
	  printf ("name?\n");
	  add_user (id++, gets (in));
	  break;
	case 2:
	  printf ("id?\n");
	  s = find_user (atoi (gets (in)));
	  printf ("user: %s\n", s ? s->name : "unknown");
	  break;
	case 3:
	  printf ("id?\n");
	  s = find_user (atoi (gets (in)));
	  if (s)
	    delete_user (s);
	  else
	    printf ("id unknown\n");
	  break;
	case 4:
	  delete_all ();
	  break;
	case 5:
	  sort_by_name ();
	  break;
	case 6:
	  sort_by_id ();
	  break;
	case 7:
	  print_users ();
	  break;
	case 8:
	  num_users = HASH_COUNT (users);
	  printf ("there are %u users\n", num_users);
	  break;
	}
    }
}
Beispiel #19
0
/* 
 * Read and process calendar commands
 * Return:  -1 for quit command
 *          0 otherwise
 */
int process_args(int cmd_argc, char **cmd_argv, Calendar **calendar_list_ptr, User **user_list_ptr) {

    Calendar *calendar_list = *calendar_list_ptr; 
    User *user_list = *user_list_ptr;

    if (cmd_argc <= 0) {
        return 0;
    } else if (strcmp(cmd_argv[0], "quit") == 0 && cmd_argc == 1) {
        return -1;
        
    } else if (strcmp(cmd_argv[0], "add_calendar") == 0 && cmd_argc == 2) {
        if (add_calendar(calendar_list_ptr, cmd_argv[1]) == -1) {
            error("Calendar by this name already exists");
        }
        
    } else if (strcmp(cmd_argv[0], "list_calendars") == 0 && cmd_argc == 1) {
        printf("%s", list_calendars(calendar_list));
        
    } else if (strcmp(cmd_argv[0], "add_event") == 0 && cmd_argc >= 4) {
        // Parameters for convert_time are the values in the array
        // cmd_argv but starting at cmd_argv[3]. The first 3 are not
        // part of the time.
        // So subtract these 3 from the count and pass the pointer 
        // to element 3 (where the first is element 0).
        time_t time = convert_time(cmd_argc-3, &cmd_argv[3]);

        if (add_event(calendar_list, cmd_argv[1], cmd_argv[2], time) == -1) {
           error("Calendar by this name does not exist");
        }

    } else if (strcmp(cmd_argv[0], "list_events") == 0 && cmd_argc == 2) {
        printf("%s", list_events(calendar_list, cmd_argv[1]));

    } else if (strcmp(cmd_argv[0], "add_user") == 0 && cmd_argc == 2) {
        if (add_user(user_list_ptr, cmd_argv[1]) == -1) {
                error("User by this name already exists");
        }

    } else if (strcmp(cmd_argv[0], "list_users") == 0 && cmd_argc == 1) {
        printf("%s", list_users(user_list));
        
    } else if (strcmp(cmd_argv[0], "subscribe") == 0 && cmd_argc == 3) {
        int return_code = subscribe(user_list, calendar_list, cmd_argv[1], cmd_argv[2]);
        if (return_code == -1) {
           error("User by this name does not exist");
        } else if (return_code == -2) {
           error("Calendar by this name does not exist");
        } else if (return_code == -3) {
           error("This user is already subscribed to this calendar");
        }
      
    } else {
        error("Incorrect syntax");
    }
    return 0;
}
Beispiel #20
0
User* DataHandler::create_new_user()
{
    auto result = dserver->command( new CreateEmployeeCmd() );
    if( result->size() ) {
        result = dserver->command( new ReadEmployeeCmd(result->items[0]->property<int>("id")) );
        return add_user( std::move(result->items[0]) );
    }

    return nullptr;
}
Beispiel #21
0
void
add_all_users(int which)
{
	object *all;
	int j;

	all = users();
	for (j = 0; j < sizeof(all); j++) {
		add_user(all[j], which);
	}
}
            /**
             * Initialize area attributes from the attributes of the given object.
             */
            void initialize_from_object(const osmium::OSMObject& source) {
                osmium::Area& area = object();
                area.set_id(osmium::object_id_to_area_id(source.id(), source.type()));
                area.set_version(source.version());
                area.set_changeset(source.changeset());
                area.set_timestamp(source.timestamp());
                area.set_visible(source.visible());
                area.set_uid(source.uid());

                add_user(source.user());
            }
static void
on_user_added (GdmUserManager       *manager,
               GdmUser              *user,
               GdmUserChooserWidget *widget)
{
        /* wait for all users to be loaded */
        if (! widget->priv->loaded) {
                return;
        }
        add_user (widget, user);
}
Beispiel #24
0
struct user_data *User_Data_Tools::get_or_add_user(u_int32_t *search_saddr, unsigned int *vlan_id) {
	struct user_data *u_data;
	u_data = get_user(search_saddr,vlan_id);
	if (u_data == NULL) {
		u_data = (struct user_data*)malloc(sizeof(struct user_data));
		memset(u_data,0,sizeof(struct user_data));
		u_data->saddr = (*search_saddr);
		u_data->vlan_id = (*vlan_id);
		add_user(u_data,(*vlan_id));
	};
	return u_data;
}
int p_add_user(request *rqt, int client_sockfd){
    response rsp;
    memset(&rsp, '\0', sizeof(response));

    if(add_user(&rqt->u))
        rsp.rs = rs_success;
    else
        rsp.rs = rs_failure;

    return srv_send_response(&rsp, client_sockfd);

}
Beispiel #26
0
int add_group(char *group){
    struct group *grp=list_find(groups,group);
    list *usr;
    if(!grp){
        printf("no such group %s\n",group);
        return -1;
    }
    usr=grp->users;
    while(usr){
        add_user(usr->key);
        usr=usr->next;
    }
    return 0;
}
Beispiel #27
0
void Session::reconsider(Server& server) {
    try {
        dbo::Transaction t(*this);
        createTables();
        std::cerr << "Created database" << std::endl;
        t.commit();
    } catch (std::exception& e) {
        std::cerr << e.what() << std::endl;
        std::cerr << "Using existing database" << std::endl;
    }
    {
        dbo::Transaction t(*this);
        UserPtr admin = add_user(server, "admin", "123");
        if (admin) {
            admin.modify()->set_rights(ADMIN);
        }
        add_user(server, "user", "123");
    }
    dbo::Transaction t2(*this);
    Games games = find<Game>().where("state < ?").bind(Game::MIN_ENDED);
    BOOST_FOREACH (const GamePtr& game, games) {
        t_task(GAME, game.id());
    }
Beispiel #28
0
int main (int argc, char *argv[]) {
  int i;
  for (i = 0; i < MAX_SIZE; i++) {
    struct user new_user;
    new_user.id = i;
    new_user.name = "Username";
    new_user.email = "*****@*****.**";
    if (add_user(new_user)) {
      printf("Error!\n");
    }
  }
  print_users();
  return 0;
}
void update_score(Leaderboard *leaderboard, char *username, bool win)
{
	Score *score;

	if (contains_user(leaderboard, username)) {
		score = get_score(leaderboard, username);
	} else {
		score = add_user(leaderboard, username);
	}

	score->games_played++;
	score->games_won += win;

	sort_leaderboard(leaderboard);
}
Beispiel #30
0
int main()
{
	FILE *temp;
	char temp1[8], temp2[8];
/*
	temp = fopen("temp.txt", "r");
	fscanf(temp, "%s\t%s", temp1, temp2);
	printf("temp1:%s\n", temp1);
	printf("temp2:%s\n", temp2);
	fscanf(temp, "%s\t%s", temp1, temp2);
	printf("temp1:%s\n", temp1);
	printf("temp2:%s\n", temp2);
*/

	create_database();
	add_user("ameyam", "passwd");
	add_user("more", "pwd");
	update_passwd("ameyam", "pppp");
	update_passwd("upenn", "sd");
	add_user("upenn","td");
	printf("%d\n", match("more", "pwd"));
	printf("%d\n", match("mia", "pwd"));
	printf("%d\n", match("upenn", "uu"));
}