return SSH_NO_ERROR;
}
+static int return_quote_error(struct Curl_easy *data,
+ struct ssh_conn *sshc)
+{
+ failf(data, "Suspicious data after the command line");
+ Curl_safefree(sshc->quote_path1);
+ Curl_safefree(sshc->quote_path2);
+ myssh_to(data, sshc, SSH_SFTP_CLOSE);
+ sshc->nextstate = SSH_NO_STATE;
+ sshc->actualcode = CURLE_QUOTE_ERROR;
+ return SSH_NO_ERROR;
+}
+
static int myssh_in_SFTP_QUOTE(struct Curl_easy *data,
struct ssh_conn *sshc,
struct SSHPROTO *sshp)
sshc->actualcode = result;
return SSH_NO_ERROR;
}
+ if(*cp)
+ return return_quote_error(data, sshc);
sshc->quote_attrs = NULL;
myssh_to(data, sshc, SSH_SFTP_QUOTE_STAT);
return SSH_NO_ERROR;
sshc->actualcode = result;
return SSH_NO_ERROR;
}
+ if(*cp)
+ return return_quote_error(data, sshc);
myssh_to(data, sshc, SSH_SFTP_QUOTE_SYMLINK);
return SSH_NO_ERROR;
}
else if(!strncmp(cmd, "mkdir ", 6)) {
+ if(*cp)
+ return return_quote_error(data, sshc);
/* create dir */
myssh_to(data, sshc, SSH_SFTP_QUOTE_MKDIR);
return SSH_NO_ERROR;
sshc->actualcode = result;
return SSH_NO_ERROR;
}
+ if(*cp)
+ return return_quote_error(data, sshc);
myssh_to(data, sshc, SSH_SFTP_QUOTE_RENAME);
return SSH_NO_ERROR;
}
else if(!strncmp(cmd, "rmdir ", 6)) {
/* delete dir */
+ if(*cp)
+ return return_quote_error(data, sshc);
myssh_to(data, sshc, SSH_SFTP_QUOTE_RMDIR);
return SSH_NO_ERROR;
}
else if(!strncmp(cmd, "rm ", 3)) {
+ if(*cp)
+ return return_quote_error(data, sshc);
myssh_to(data, sshc, SSH_SFTP_QUOTE_UNLINK);
return SSH_NO_ERROR;
}
#ifdef HAS_STATVFS_SUPPORT
else if(!strncmp(cmd, "statvfs ", 8)) {
+ if(*cp)
+ return return_quote_error(data, sshc);
myssh_to(data, sshc, SSH_SFTP_QUOTE_STATVFS);
return SSH_NO_ERROR;
}
return result;
}
+static CURLcode return_quote_error(struct Curl_easy *data,
+ struct ssh_conn *sshc)
+{
+ failf(data, "Suspicious data after the command line");
+ Curl_safefree(sshc->quote_path1);
+ Curl_safefree(sshc->quote_path2);
+ return CURLE_QUOTE_ERROR;
+}
+
static CURLcode sftp_quote(struct Curl_easy *data,
struct ssh_conn *sshc,
struct SSHPROTO *sshp)
Curl_safefree(sshc->quote_path1);
return result;
}
+ if(*cp)
+ return_quote_error(data, sshc);
+
memset(&sshp->quote_attrs, 0, sizeof(LIBSSH2_SFTP_ATTRIBUTES));
myssh_state(data, sshc, SSH_SFTP_QUOTE_STAT);
return result;
Curl_safefree(sshc->quote_path1);
return result;
}
+ if(*cp)
+ return_quote_error(data, sshc);
myssh_state(data, sshc, SSH_SFTP_QUOTE_SYMLINK);
return result;
}
else if(!strncmp(cmd, "mkdir ", 6)) {
+ if(*cp)
+ return_quote_error(data, sshc);
/* create dir */
myssh_state(data, sshc, SSH_SFTP_QUOTE_MKDIR);
return result;
Curl_safefree(sshc->quote_path1);
return result;
}
+ if(*cp)
+ return_quote_error(data, sshc);
myssh_state(data, sshc, SSH_SFTP_QUOTE_RENAME);
return result;
}
else if(!strncmp(cmd, "rmdir ", 6)) {
+ if(*cp)
+ return_quote_error(data, sshc);
/* delete dir */
myssh_state(data, sshc, SSH_SFTP_QUOTE_RMDIR);
return result;
}
else if(!strncmp(cmd, "rm ", 3)) {
+ if(*cp)
+ return_quote_error(data, sshc);
myssh_state(data, sshc, SSH_SFTP_QUOTE_UNLINK);
return result;
}
else if(!strncmp(cmd, "statvfs ", 8)) {
+ if(*cp)
+ return_quote_error(data, sshc);
myssh_state(data, sshc, SSH_SFTP_QUOTE_STATVFS);
return result;
}