Subversion Repositories wimsdev

Rev

Rev 17457 | Rev 18000 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 17457 Rev 17822
Line 1024... Line 1024...
1024
void set_init_parm(void)
1024
void set_init_parm(void)
1025
{
1025
{
1026
  char *rq, rqv[MAX_LINELEN*2+2], *u, *sh, *seedr, *exotrymax;
1026
  char *rq, rqv[MAX_LINELEN*2+2], *u, *sh, *seedr, *exotrymax;
1027
  char *shname, *dirname;
1027
  char *shname, *dirname;
1028
  int public_sheet, freework_sheet;
1028
  int public_sheet, freework_sheet;
-
 
1029
  int len;
1029
 
1030
 
1030
  if(isexam) return;
1031
  if(isexam) return;
1031
  /* reset sheet number and exo nomber for a sheet */
1032
  /* reset sheet number and exo nomber for a sheet */
1032
  force_setvar("wims_sheet",""); force_setvar("wims_exo","");
1033
  force_setvar("wims_sheet",""); force_setvar("wims_exo","");
1033
  /* reset freework number and exo number for a freework */
1034
  /* reset freework number and exo number for a freework */
Line 1037... Line 1038...
1037
    empty:
1038
    empty:
1038
    setvar("module_init_parm",""); return;
1039
    setvar("module_init_parm",""); return;
1039
  }
1040
  }
1040
  if(strlen(rq)>=MAX_LINELEN*2) goto empty;
1041
  if(strlen(rq)>=MAX_LINELEN*2) goto empty;
1041
  _http2env(rqv,rq); prep_init_parm(rqv);
1042
  _http2env(rqv,rq); prep_init_parm(rqv);
-
 
1043
  /*XSS PROTECTION see also config.c*/
-
 
1044
  len=strcspn(rqv, "<>'\"\\"); rqv[len]=0;
1042
  setvar("module_init_parm",rqv); public_sheet=0; freework_sheet=0;
1045
  setvar("module_init_parm",rqv); public_sheet=0; freework_sheet=0;
1043
/* seedrepeat=1 or an integer
1046
/* seedrepeat=1 or an integer
1044
  must be in the url and seedrepeat
1047
  must be in the url and seedrepeat
1045
  in the var.def of the module to be used */
1048
  in the var.def of the module to be used */
1046
  seedr=getvar("seedrepeat");
1049
  seedr=getvar("seedrepeat");