Ejemplo n.º 1
0
/*Evalua si el id de un usuario ha sido repetido y de ser
asi pregunta por otro o cancela la creacion del proceso*/
int set_uid(users *front)
{
  int uid,flag = 0;
  users *f = front;
  if(front == NULL)
    uid = set_int("el id del nuevo usuario",0);
  else
  {
    uid = set_int("el id del nuevo usuario",0);
    do
    {
      if(uid == f->uid)
      {
        flag = FAIL;
        break;
      }
    }while(next_user(&f,front) != FAIL);
    if(flag == FAIL)
    {
      printf("%s\n",REP_FAIL);
      if(cancel("creacion del usuario") == 0)
        uid = set_uid(front);
      else
        uid = FAIL;
    }
  }

  return uid;
}
Ejemplo n.º 2
0
static void
change_uid (op_meta *om, lit_id_hash_table *lit_ids, uint16_t mask)
{
  for (uint8_t i = 0; i < 3; i++)
  {
    if (is_possible_literal (mask, i))
    {
      if (get_uid (om, i) == LITERAL_TO_REWRITE)
      {
        JERRY_ASSERT (om->lit_id[i].packed_value != MEM_CP_NULL);
        lit_cpointer_t lit_id = om->lit_id[i];
        idx_t *uid = (idx_t *) hash_table_lookup (lit_id_to_uid, &lit_id);
        if (uid == NULL)
        {
          hash_table_insert (lit_id_to_uid, &lit_id, &next_uid);
          lit_id_hash_table_insert (lit_ids, next_uid, global_oc, lit_id);
          uid = (idx_t *) hash_table_lookup (lit_id_to_uid, &lit_id);
          JERRY_ASSERT (uid != NULL);
          JERRY_ASSERT (*uid == next_uid);
          next_uid++;
        }
        set_uid (om, i, *uid);
      }
      else
      {
        JERRY_ASSERT (om->lit_id[i].packed_value == MEM_CP_NULL);
      }
    }
    else
    {
      JERRY_ASSERT (om->lit_id[i].packed_value == MEM_CP_NULL);
    }
  }
}
Ejemplo n.º 3
0
/* Opens the UDP socket, binds to the bootpc port and drops root privileges */
int init_socket()
{
	struct sockaddr_in addr;
	struct protoent *proto;
	int sock;
	int bcast = 1;

	memset(&addr, 0, sizeof(addr));
	addr.sin_family = AF_INET;
	addr.sin_addr.s_addr = INADDR_ANY;
	addr.sin_port = get_port("bootpc");

	if ((proto = getprotobyname("udp")) == NULL ||
		(sock = socket(AF_INET, SOCK_DGRAM, proto->p_proto)) == -1)
		exit(1);

	if (setsockopt(sock, SOL_SOCKET, SO_BROADCAST, &bcast, sizeof(bcast)) == -1 ||
		setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &bcast, sizeof(bcast)) == -1 ||
		bind(sock, (struct sockaddr *)&addr, sizeof(addr)) == -1)
		exit(1);

	if (set_gid(getgid()) != 0 || /* we don't need it anymore */
		set_uid(getuid()) != 0)
		exit(1);
	return sock;
}
Ejemplo n.º 4
0
 /**
  * Set named attribute.
  *
  * @param attr Name of the attribute (must be one of "id", "version",
  *             "changeset", "timestamp", "uid", "visible")
  * @param value Value of the attribute
  */
 void set_attribute(const char* attr, const char* value) {
     if (!strcmp(attr, "id")) {
         set_id(value);
     } else if (!strcmp(attr, "num_changes")) {
         set_num_changes(value);
     } else if (!strcmp(attr, "created_at")) {
         set_created_at(osmium::Timestamp(value));
     } else if (!strcmp(attr, "closed_at")) {
         set_closed_at(osmium::Timestamp(value));
     } else if (!strcmp(attr, "uid")) {
         set_uid(value);
     }
 }
Ejemplo n.º 5
0
 /**
  * Set named attribute.
  *
  * @param attr Name of the attribute (must be one of "id", "version", "changeset", "timestamp", "uid", "visible")
  * @param value Value of the attribute
  */
 void set_attribute(const char* attr, const char* value) {
     if (!strcmp(attr, "id")) {
         set_id(value);
     } else if (!strcmp(attr, "version")) {
         set_version(value);
     } else if (!strcmp(attr, "changeset")) {
         set_changeset(value);
     } else if (!strcmp(attr, "timestamp")) {
         set_timestamp(osmium::Timestamp(value));
     } else if (!strcmp(attr, "uid")) {
         set_uid(value);
     } else if (!strcmp(attr, "visible")) {
         set_visible(value);
     }
 }
Ejemplo n.º 6
0
/*Crea un nuevo usuario*/
void create_user(usersCtrl *ctrlU)
{
  int uid;
  char *name = create_string_mem(TAM_BUFF);
  if((uid = set_uid(ctrlU->front)) > 0)
  {
    printf("\n");
    if(set_name(name,"usuario") >= 0)//falta hacer que lo pida de uevo si pasa el tam
    {
      if(ctrlU->front == NULL)
      {
        ctrlU->front = create_user_mem();
        if(ctrlU->front != NULL)
        {
          strcpy(ctrlU->front->n, name);
          ctrlU->front->uid = uid;
          ctrlU->rear = ctrlU->front;
          free(name);
        }
        else printf("%s",MEM_FAIL);
      }
      else
      {
        ctrlU->rear->sense->next = create_user_mem();
        if(ctrlU->rear->sense->next != NULL)
        {
          ctrlU->rear->sense->next->sense->prev = ctrlU->rear; //?
          ctrlU->rear = ctrlU->rear->sense->next;

          strcpy(ctrlU->rear->n, name);
          ctrlU->rear->uid = uid;

          ctrlU->rear->sense->next = ctrlU->front;
          ctrlU->front->sense->prev = ctrlU->rear;
          free(name);
        }
        else printf("%s",MEM_FAIL);
      }
    }
  }
}
Ejemplo n.º 7
0
void loop_clone_rfid(uint8_t *menu, uint8_t *opmode)
{
    uint8_t data[80];
    uint8_t keyindex = 0;
    uint8_t block = 0;
    uint8_t tries = 0;
    int res, oid;

	get_firmware_version();

    while (block < BLOCKS) {
        if ( READ != *menu) { break; }
        res = mifare_reader_init(data, sizeof(data));

        if (tries >= KEYS) {
            tries = 0;
            block += 1;
        }

        if (res >= 0) {
            res = initiator_init(data, sizeof(data));

            if (res >= 11) {
                if (0x00 == data[3] && data[6] >= 0x04) {
                    memcpy(&oid, &data[7], sizeof(oid));
                    if (0x00 == block) {
                        debug_printf("MIFARE_CARD_ID:");
                        rfid_hexdump(&oid, sizeof(oid));
                    }

                    set_uid(data, oid);
                    set_key(data, keyindex);

                    res = mifare_authenticate_block(data, sizeof(data), block);

/*
                    debug_printf("res:");
                    rfid_hexdump(&res, sizeof(res));

                    debug_printf("data:");
                    rfid_hexdump(&data[0], sizeof(data));
*/

                    if (0x41 == data[0] && 0x00 == data[1]) {
                        debug_printf("Auth Succeeded.\n");
                        tries = 0;

                        switch (*opmode) {
                            case READ:
                                res = mifare_read_block(data, sizeof(data), block);

                                if (res == 18) {
                                    debug_printf("Block:");
                                    rfid_hexdump(&block, sizeof(block));
                                    debug_printf("Data:");
                                    rfid_hexdump(&data[2], BLOCK_SIZE);
                                    debug_printf("Key:");
                                    rfid_hexdump(&default_keys[keyindex], MIFARE_KEY_SIZE);

                                    memcpy(&mifare_card[block*BLOCK_SIZE], &data[2], BLOCK_SIZE);
                                    if (0x00 == (block+1) % 4) {
                                        memcpy(&mifare_card[block*BLOCK_SIZE], &default_keys[keyindex], MIFARE_KEY_SIZE);
                                        memcpy(&mifare_card[block*BLOCK_SIZE+6], &access_bytes[0], ACCESS_BYTES);
                                        memcpy(&mifare_card[block*BLOCK_SIZE+10], &key_b[0], MIFARE_KEY_SIZE);
                                    }
                                }
                            break;
                            case WRITE:
                                memcpy(&data[4], &mifare_card[block*BLOCK_SIZE], BLOCK_SIZE);
                                res = mifare_write_block(data, sizeof(data), block);
                                debug_printf("res:");
                                rfid_hexdump(&res, sizeof(res));
                            break;
                        }
                        block += 1;
                    } else if (0x41 == data[0] && 0x14 == data[1]) {
                        debug_printf("Auth Failed.\n");
                        keyindex = (keyindex + 1) % KEYS;
                        tries += 1;
                    }
                }
            }
        } else {
            turn_rf_off(data, sizeof(data));
        }
    }
    *menu = LIBNFC;
}
Ejemplo n.º 8
0
		virtual void replyData(std::shared_ptr<protocol::Invoke> invoke)
		{
			if (invoke->getListener() == "set_uid")
				set_uid(invoke->front()->getValue<int>());
		};
Ejemplo n.º 9
0
void UserBasicInfo::MergeFrom(const UserBasicInfo& from) {
  GOOGLE_CHECK_NE(&from, this);
  buyequipframe_.MergeFrom(from.buyequipframe_);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from.has_uid()) {
      set_uid(from.uid());
    }
    if (from.has_name()) {
      set_name(from.name());
    }
    if (from.has_level()) {
      set_level(from.level());
    }
    if (from.has_style()) {
      set_style(from.style());
    }
    if (from.has_wincount()) {
      set_wincount(from.wincount());
    }
    if (from.has_losecount()) {
      set_losecount(from.losecount());
    }
    if (from.has_winrate()) {
      set_winrate(from.winrate());
    }
    if (from.has_effect()) {
      mutable_effect()->::message::UserBasicInfo_EffectData::MergeFrom(from.effect());
    }
  }
  if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
    if (from.has_iconid()) {
      set_iconid(from.iconid());
    }
    if (from.has_successionwincount()) {
      set_successionwincount(from.successionwincount());
    }
    if (from.has_oncelong()) {
      set_oncelong(from.oncelong());
    }
    if (from.has_maximum()) {
      set_maximum(from.maximum());
    }
    if (from.has_totaltime()) {
      set_totaltime(from.totaltime());
    }
    if (from.has_roundsplayed()) {
      set_roundsplayed(from.roundsplayed());
    }
    if (from.has_throwstones()) {
      set_throwstones(from.throwstones());
    }
    if (from.has_thrownstones()) {
      set_thrownstones(from.thrownstones());
    }
  }
  if (from._has_bits_[16 / 32] & (0xffu << (16 % 32))) {
    if (from.has_colorcats()) {
      set_colorcats(from.colorcats());
    }
    if (from.has_consumegolds()) {
      set_consumegolds(from.consumegolds());
    }
    if (from.has_consumeitems1()) {
      set_consumeitems1(from.consumeitems1());
    }
    if (from.has_consumeitems2()) {
      set_consumeitems2(from.consumeitems2());
    }
    if (from.has_consumeitems3()) {
      set_consumeitems3(from.consumeitems3());
    }
    if (from.has_consumeitems4()) {
      set_consumeitems4(from.consumeitems4());
    }
    if (from.has_golds()) {
      set_golds(from.golds());
    }
    if (from.has_experience()) {
      set_experience(from.experience());
    }
  }
  if (from._has_bits_[24 / 32] & (0xffu << (24 % 32))) {
    if (from.has_maxexperience()) {
      set_maxexperience(from.maxexperience());
    }
  }
}