void ftp_list(t_client *client, char *str) { FILE *fd; int client_fd; struct sockaddr_in cliaddr; socklen_t clilen; char *arg; char buff[4096]; arg = get_cmd(str, 4); if (!is_passive(client)) return; clilen = sizeof(cliaddr); if (!is_authorized_path(client, arg)) return (bad_path(client)); client_fd = accept(client->pasv_sck, (struct sockaddr *)&cliaddr, &clilen); write(client->fd, "150 Accepted data connection\r\n", strlen("150 Accepted data connection\r\n")); sprintf(buff, "ls -la %s > /tmp/.result", arg); system(buff); if (!(fd = fopen("/tmp/.result", "r"))) return (cond_is_ok(client, client_fd)); end_list(client, fd, client_fd); }
std::map<int32_t, int32_t> Skillbook::collect_passives() const { std::map<int32_t, int32_t> passives; for (auto& iter : skillentries) { bool passive = is_passive(iter.first); if (passive) { passives.emplace(iter.first, iter.second.level); } } return passives; }
static int ppro_check_ctrs(unsigned int const cpu, struct op_msrs const * const msrs, struct cpu_user_regs const * const regs) { u64 val; int i; int ovf = 0; unsigned long eip = regs->eip; int mode = xenoprofile_get_mode(current, regs); struct arch_msr_pair *msrs_content = vcpu_vpmu(current)->context; for (i = 0 ; i < num_counters; ++i) { if (!reset_value[i]) continue; rdmsrl(msrs->counters[i].addr, val); if (CTR_OVERFLOWED(val)) { xenoprof_log_event(current, regs, eip, mode, i); wrmsrl(msrs->counters[i].addr, -reset_value[i]); if ( is_passive(current->domain) && (mode != 2) && vpmu_is_set(vcpu_vpmu(current), VPMU_PASSIVE_DOMAIN_ALLOCATED) ) { if ( IS_ACTIVE(msrs_content[i].control) ) { msrs_content[i].counter = val; if ( IS_ENABLE(msrs_content[i].control) ) ovf = 2; } } if ( !ovf ) ovf = 1; } } /* Only P6 based Pentium M need to re-unmask the apic vector but it * doesn't hurt other P6 variant */ apic_write(APIC_LVTPC, apic_read(APIC_LVTPC) & ~APIC_LVT_MASKED); return ovf; }
static int is_profiled(struct domain *d) { return (is_active(d) || is_passive(d)); }