void VkAuthManager::handleGotForm () { auto reply = qobject_cast<QNetworkReply*> (sender ()); reply->deleteLater (); if (reply->error () != QNetworkReply::NoError) { qWarning () << Q_FUNC_INFO << reply->error () << reply->errorString (); IsRequesting_ = false; if (!IsRequestScheduled_) { IsRequestScheduled_ = true; ScheduleTimer_->start (30000); } return; } const auto& location = reply->header (QNetworkRequest::LocationHeader).toUrl (); if (location.isEmpty ()) { reauth (); return; } if (CheckReply (location)) return; RequestURL (location); }
void VkAuthManager::RequestAuthKey () { if (IsRequesting_) return; RequestURL (URL_); IsRequesting_ = true; }
void VkAuthManager::RequestAuthKey () { if (IsRequestScheduled_ && ScheduleTimer_->isActive ()) ScheduleTimer_->stop (); if (IsRequesting_) return; RequestURL (URL_); IsRequesting_ = true; }
void VkAuthManager::handleGotForm () { auto reply = qobject_cast<QNetworkReply*> (sender ()); reply->deleteLater (); const auto& location = reply->header (QNetworkRequest::LocationHeader).toUrl (); if (location.isEmpty ()) { Reauth (); return; } if (CheckIsBlank (location)) return; RequestURL (location); }
static void MonitorFormParse(int fd,URL *Url,char *request_args,Body *request_body) { int i,mfd=-1; char **args,*url=NULL; URL *monUrl; char mofy[13]="NNNNNNNNNNNN",*dofm=NULL,dofw[8]="NNNNNNN",*hofd=NULL; char MofY[13],DofM[32],DofW[8],HofD[25]; if(!request_args && !request_body) { HTMLMessage(fd,404,"WWWOFFLE Monitor Form Error",NULL,"MonitorFormError", "body",NULL, NULL); return; } if(request_body) { char *form=URLRecodeFormArgs(request_body->content); args=SplitFormArgs(form); free(form); } else args=SplitFormArgs(request_args); for(i=0;args[i];i++) { if(!strncmp("url=",args[i],(size_t)4)) url=TrimArgs(URLDecodeFormArgs(args[i]+4)); else if(!strncmp("mofy1=",args[i],(size_t)6)) mofy[0]=args[i][6]; else if(!strncmp("mofy2=",args[i],(size_t)6)) mofy[1]=args[i][6]; else if(!strncmp("mofy3=",args[i],(size_t)6)) mofy[2]=args[i][6]; else if(!strncmp("mofy4=",args[i],6)) mofy[3]=args[i][6]; else if(!strncmp("mofy5=",args[i],(size_t)6)) mofy[4]=args[i][6]; else if(!strncmp("mofy6=",args[i],(size_t)6)) mofy[5]=args[i][6]; else if(!strncmp("mofy7=",args[i],(size_t)6)) mofy[6]=args[i][6]; else if(!strncmp("mofy8=",args[i],(size_t)6)) mofy[7]=args[i][6]; else if(!strncmp("mofy9=",args[i],(size_t)6)) mofy[8]=args[i][6]; else if(!strncmp("mofy10=",args[i],(size_t)7)) mofy[9]=args[i][7]; else if(!strncmp("mofy11=",args[i],(size_t)7)) mofy[10]=args[i][7]; else if(!strncmp("mofy12=",args[i],(size_t)7)) mofy[11]=args[i][7]; else if(!strncmp("dofm=",args[i],(size_t)5)) dofm=args[i]+5; else if(!strncmp("dofw0=",args[i],(size_t)6)) dofw[0]=args[i][6]; else if(!strncmp("dofw1=",args[i],(size_t)6)) dofw[1]=args[i][6]; else if(!strncmp("dofw2=",args[i],(size_t)6)) dofw[2]=args[i][6]; else if(!strncmp("dofw3=",args[i],(size_t)6)) dofw[3]=args[i][6]; else if(!strncmp("dofw4=",args[i],(size_t)6)) dofw[4]=args[i][6]; else if(!strncmp("dofw5=",args[i],(size_t)6)) dofw[5]=args[i][6]; else if(!strncmp("dofw6=",args[i],(size_t)6)) dofw[6]=args[i][6]; else if(!strncmp("hofd=",args[i],(size_t)5)) hofd=args[i]+5; else PrintMessage(Warning,"Unexpected argument '%s' seen decoding form data for URL '%s'.",args[i],Url->name); } if(url==NULL || *url==0) { HTMLMessage(fd,404,"WWWOFFLE Monitor Form Error",NULL,"MonitorFormError", "body",request_body?request_body->content:request_args, NULL); if(url) free(url); free(args[0]); free(args); return; } monUrl=SplitURL(url); free(url); /* Parse the requested time */ strcpy(MofY,"000000000000"); for(i=0;i<12;i++) if(mofy[i]=='Y') MofY[i]='1'; if(!dofm || !*dofm) strcpy(DofM,"1111111111111111111111111111111"); else { int d,any=0,range=0,lastd=0; char *p=dofm; strcpy(DofM,"0000000000000000000000000000000"); while(*p) { while(*p && !isdigit(*p)) { if(*p=='*') { strcpy(DofM,"1111111111111111111111111111111"); any=1; } if(*p=='-') range=1; p++; } if(!*p) break; d=atoi(p)-1; if(range) { if(d>30) d=30; for(;lastd<=d;lastd++) DofM[lastd]='1'; range=0; any++; } else if(d>=0 && d<31) { DofM[d]='1'; any++; lastd=d; } while(isdigit(*p)) p++; } if(range) for(;lastd<=30;lastd++) DofM[lastd]='1'; else if(!any) strcpy(DofM,"1111111111111111111111111111111"); } strcpy(DofW,"0000000"); for(i=0;i<7;i++) if(dofw[i]=='Y') DofW[i]='1'; if(!hofd || !*hofd) strcpy(HofD,"100000000000000000000000"); else { int h,any=0,range=0,lasth=0; char *p=hofd; strcpy(HofD,"000000000000000000000000"); while(*p) { while(*p && !isdigit(*p)) { if(*p=='*') { strcpy(HofD,"111111111111111111111111"); any=1; } if(*p=='-') range=1; p++; } if(!*p) break; h=atoi(p); if(range) { if(h>23) h=23; for(;lasth<=h;lasth++) HofD[lasth]='1'; range=0; any++; } else if(h>=0 && h<24) { HofD[h]='1'; any++; lasth=h; } while(isdigit(*p)) p++; } if(range) for(;lasth<=23;lasth++) HofD[lasth]='1'; else if(!any) strcpy(HofD,"100000000000000000000000"); } mfd=CreateMonitorSpoolFile(monUrl,MofY,DofM,DofW,HofD); if(mfd==-1) HTMLMessage(fd,500,"WWWOFFLE Server Error",NULL,"ServerError", "error","Cannot open file to store monitor request", NULL); else { Header *new_request_head=RequestURL(monUrl,NULL); char *head=HeaderString(new_request_head); init_io(mfd); write_string(mfd,head); finish_io(mfd); close(mfd); HTMLMessage(fd,200,"WWWOFFLE Monitor Will Get",NULL,"MonitorWillGet", "url",monUrl->name, NULL); free(head); FreeHeader(new_request_head); } free(args[0]); free(args); FreeURL(monUrl); }