QString QgsDataSourceURI::removePassword( const QString& aUri ) { QRegExp regexp; regexp.setMinimal( true ); QString safeName( aUri ); if ( aUri.contains( " password="******" password=.* " ); safeName.replace( regexp, " " ); } else if ( aUri.contains( ",password="******",password=.*," ); safeName.replace( regexp, "," ); } else if ( aUri.contains( "IDB:" ) ) { regexp.setPattern( " pass=.* " ); safeName.replace( regexp, " " ); } else if (( aUri.contains( "OCI:" ) ) || ( aUri.contains( "ODBC:" ) ) ) { regexp.setPattern( "/.*@" ); safeName.replace( regexp, "/@" ); } else if ( aUri.contains( "SDE:" ) ) { QStringList strlist = aUri.split( "," ); safeName = strlist[0] + "," + strlist[1] + "," + strlist[2] + "," + strlist[3]; } return safeName; }
NS_IMETHODIMP nsMsgMaildirStore::RenameFolder(nsIMsgFolder *aFolder, const nsAString & aNewName, nsIMsgFolder **aNewFolder) { NS_ENSURE_ARG_POINTER(aFolder); NS_ENSURE_ARG_POINTER(aNewFolder); // old path nsCOMPtr<nsIFile> oldPathFile; nsresult rv = aFolder->GetFilePath(getter_AddRefs(oldPathFile)); NS_ENSURE_SUCCESS(rv, rv); // old sbd directory nsCOMPtr<nsIFile> sbdPathFile; uint32_t numChildren; aFolder->GetNumSubFolders(&numChildren); if (numChildren > 0) { sbdPathFile = do_CreateInstance(NS_LOCAL_FILE_CONTRACTID, &rv); NS_ENSURE_SUCCESS(rv, rv); rv = sbdPathFile->InitWithFile(oldPathFile); NS_ENSURE_SUCCESS(rv, rv); GetDirectoryForFolder(sbdPathFile); } // old summary nsCOMPtr<nsIFile> oldSummaryFile; rv = aFolder->GetSummaryFile(getter_AddRefs(oldSummaryFile)); NS_ENSURE_SUCCESS(rv, rv); // Validate new name nsAutoString safeName(aNewName); NS_MsgHashIfNecessary(safeName); aFolder->ForceDBClosed(); // rename folder rv = oldPathFile->MoveTo(nullptr, safeName); NS_ENSURE_SUCCESS(rv, rv); if (numChildren > 0) { // rename "*.sbd" directory nsAutoString sbdName = safeName; sbdName += NS_LITERAL_STRING(FOLDER_SUFFIX); sbdPathFile->MoveTo(nullptr, sbdName); } // rename summary nsAutoString summaryName(safeName); summaryName += NS_LITERAL_STRING(SUMMARY_SUFFIX); oldSummaryFile->MoveTo(nullptr, summaryName); nsCOMPtr<nsIMsgFolder> parentFolder; rv = aFolder->GetParent(getter_AddRefs(parentFolder)); if (!parentFolder) return NS_ERROR_NULL_POINTER; return parentFolder->AddSubfolder(safeName, aNewFolder); }
NS_IMETHODIMP nsMsgBrkMBoxStore::RenameFolder(nsIMsgFolder *aFolder, const nsAString & aNewName, nsIMsgFolder **aNewFolder) { NS_ENSURE_ARG_POINTER(aFolder); NS_ENSURE_ARG_POINTER(aNewFolder); uint32_t numChildren; aFolder->GetNumSubFolders(&numChildren); nsString existingName; aFolder->GetName(existingName); nsCOMPtr<nsIFile> oldPathFile; nsresult rv = aFolder->GetFilePath(getter_AddRefs(oldPathFile)); if (NS_FAILED(rv)) return rv; nsCOMPtr<nsIMsgFolder> parentFolder; rv = aFolder->GetParent(getter_AddRefs(parentFolder)); if (!parentFolder) return NS_ERROR_NULL_POINTER; nsCOMPtr<nsISupports> parentSupport = do_QueryInterface(parentFolder); nsCOMPtr<nsIFile> oldSummaryFile; rv = aFolder->GetSummaryFile(getter_AddRefs(oldSummaryFile)); NS_ENSURE_SUCCESS(rv, rv); nsCOMPtr<nsIFile> dirFile; oldPathFile->Clone(getter_AddRefs(dirFile)); if (numChildren > 0) { rv = CreateDirectoryForFolder(dirFile); NS_ENSURE_SUCCESS(rv, rv); } nsAutoString safeName(aNewName); NS_MsgHashIfNecessary(safeName); nsAutoCString oldLeafName; oldPathFile->GetNativeLeafName(oldLeafName); nsCOMPtr<nsIFile> parentPathFile; parentFolder->GetFilePath(getter_AddRefs(parentPathFile)); NS_ENSURE_SUCCESS(rv,rv); bool isDirectory = false; parentPathFile->IsDirectory(&isDirectory); if (!isDirectory) { nsAutoString leafName; parentPathFile->GetLeafName(leafName); leafName.AppendLiteral(FOLDER_SUFFIX); rv = parentPathFile->SetLeafName(leafName); NS_ENSURE_SUCCESS(rv, rv); } aFolder->ForceDBClosed(); //save off dir name before appending .msf rv = oldPathFile->MoveTo(nullptr, safeName); if (NS_FAILED(rv)) return rv; nsString dbName(safeName); dbName += NS_LITERAL_STRING(SUMMARY_SUFFIX); oldSummaryFile->MoveTo(nullptr, dbName); if (numChildren > 0) { // rename "*.sbd" directory nsAutoString newNameDirStr(safeName); newNameDirStr += NS_LITERAL_STRING(".sbd"); dirFile->MoveTo(nullptr, newNameDirStr); } return parentFolder->AddSubfolder(safeName, aNewFolder); }