Exemplo n.º 1
0
void _update_user_http(char * user_id) {

	const char  * cmd=" wget --post-data=\"updateuser=1&user_id=%s\" --load-cookies=cookie --save-cookies=cookie --keep-session-cookies -q -O - \"%s/admin/problem_judge.php\"";
	FILE * fjobs=read_cmd_output(cmd,user_id,http_baseurl);
	//fscanf(fjobs,"%d",&ret);
	pclose(fjobs);
}
Exemplo n.º 2
0
/* Runs the command in shell and returns its output (joined standard output and
 * standard error streams).  All trailing newline characters are stripped to
 * allow easy appending to command output.  Returns the output. */
static var_t
system_builtin(const call_info_t *call_info)
{
	var_t result;
	char *cmd;
	FILE *cmd_stream;
	size_t cmd_out_len;
	var_val_t var_val;

	cmd = var_to_string(call_info->argv[0]);
	cmd_stream = read_cmd_output(cmd);
	free(cmd);

	ui_cancellation_enable();
	var_val.string = read_nonseekable_stream(cmd_stream, &cmd_out_len);
	ui_cancellation_disable();
	fclose(cmd_stream);

	if(var_val.string == NULL)
	{
		var_val.string = "";
		return var_new(VTYPE_STRING, var_val);
	}

	/* Remove trailing new line characters. */
	while(cmd_out_len != 0U && var_val.string[cmd_out_len - 1] == '\n')
	{
		var_val.string[cmd_out_len - 1] = '\0';
		--cmd_out_len;
	}

	result = var_new(VTYPE_STRING, var_val);
	free(var_val.string);
	return result;
}
Exemplo n.º 3
0
void _addreinfo_http(int solution_id) {

	char reinfo[(1 << 16)], *rend;
	char * reinfo_encode;
	FILE *fp = fopen("error.out", "r");

	rend = reinfo;
	while (fgets(rend, 1024, fp)) {
		rend += strlen(rend);
		if (rend - reinfo > 40000)
			break;
	}
	fclose(fp);
	reinfo_encode=url_encode(reinfo);
	FILE * re=fopen("re.post","w");
	fprintf(re,"addreinfo=1&sid=%d&reinfo=%s",solution_id,reinfo_encode);
	fclose(re);
	free(reinfo_encode);

	const char  * cmd=" wget --post-file=\"re.post\" --load-cookies=cookie --save-cookies=cookie --keep-session-cookies -q -O - \"%s/admin/problem_judge.php\"";
	FILE * fjobs=read_cmd_output(cmd,http_baseurl);
	//fscanf(fjobs,"%d",&ret);
	pclose(fjobs);


}
Exemplo n.º 4
0
void login(){
	if(!check_login()){
		const char * cmd="wget --post-data=\"user_id=%s&password=%s\" --load-cookies=cookie --save-cookies=cookie --keep-session-cookies -q -O - \"%s/login.php\"";
		FILE * fjobs=read_cmd_output(cmd,http_username,http_password,http_baseurl);
		//fscanf(fjobs,"%d",&ret);
		pclose(fjobs);
	}

}
Exemplo n.º 5
0
bool check_login(){
	const char  * cmd=" wget --post-data=\"checklogin=1\" --load-cookies=cookie --save-cookies=cookie --keep-session-cookies -q -O - \"%s/admin/problem_judge.php\"";
	int ret=0;
	FILE * fjobs=read_cmd_output(cmd,http_baseurl);
	fscanf(fjobs,"%d",&ret);
	pclose(fjobs);

	return ret;
}
Exemplo n.º 6
0
void _get_problem_info_http(int p_id, int & time_lmt, int & mem_lmt, int & isspj) {
	//login();

	const char  * cmd="wget --post-data=\"getprobleminfo=1&pid=%d\" --load-cookies=cookie --save-cookies=cookie --keep-session-cookies -q -O - \"%s/admin/problem_judge.php\"";
	FILE * pout=read_cmd_output(cmd,p_id,http_baseurl);
	fscanf(pout,"%d",&time_lmt);
	fscanf(pout,"%d",&mem_lmt);
	fscanf(pout,"%d",&isspj);
	pclose(pout);
}
Exemplo n.º 7
0
FILE *
use_info_prog(const char viewer[])
{
	FILE *fp;
	char *cmd;

	cmd = get_viewer_command(viewer);
	fp = read_cmd_output(cmd);
	free(cmd);

	return fp;
}
Exemplo n.º 8
0
void _get_solution_info_http(int solution_id, int & p_id, char * user_id, int & lang) {

	login();

	const char  * cmd="wget --post-data=\"getsolutioninfo=1&sid=%d\" --load-cookies=cookie --save-cookies=cookie --keep-session-cookies -q -O - \"%s/admin/problem_judge.php\"";
	FILE * pout=read_cmd_output(cmd,solution_id,http_baseurl);
	fscanf(pout,"%d",&p_id);
	fscanf(pout,"%s",user_id);
	fscanf(pout,"%d",&lang);
	pclose(pout);

}
Exemplo n.º 9
0
void _get_solution_http(int solution_id, char * work_dir, int lang) {
	char  src_pth[BUFFER_SIZE];

	// create the src file
	sprintf(src_pth, "Main.%s", lang_ext[lang]);
	if (DEBUG)
		printf("Main=%s", src_pth);

	//login();

	const char  * cmd2="wget --post-data=\"getsolution=1&sid=%d\" --load-cookies=cookie --save-cookies=cookie --keep-session-cookies -q -O %s \"%s/admin/problem_judge.php\"";
	FILE * pout=read_cmd_output(cmd2,solution_id,src_pth,http_baseurl);

	pclose(pout);

}
Exemplo n.º 10
0
void _update_solution_http(int solution_id, int result, int time, int memory,int sim, int sim_s_id,double pass_rate) {
	const char  * cmd=" wget --post-data=\"update_solution=1&sid=%d&result=%d&time=%d&memory=%d&sim=%d&simid=%d&pass_rate=%f\" --load-cookies=cookie --save-cookies=cookie --keep-session-cookies -q -O - \"%s/admin/problem_judge.php\"";
	FILE * fjobs=read_cmd_output(cmd,solution_id,result,  time,  memory, sim, sim_s_id,pass_rate,http_baseurl);
	//fscanf(fjobs,"%d",&ret);
	pclose(fjobs);
}