equal
deleted
inserted
replaced
209 ret = ParseNoWildSubstPtr1(aRequest, aRequest->Src()); |
209 ret = ParseNoWildSubstPtr1(aRequest, aRequest->Src()); |
210 if (ret!=KErrNone) |
210 if (ret!=KErrNone) |
211 return(ret); |
211 return(ret); |
212 } |
212 } |
213 aRequest->SetScratchValue(monitorAllDrives); |
213 aRequest->SetScratchValue(monitorAllDrives); |
214 ret = PathCheck(aRequest,aRequest->Src().FullName().Mid(2),&KCapFsNotifyChangeEx, __PLATSEC_DIAGNOSTIC_STRING("Extended Change Notifier")); |
214 ret = PathCheck(aRequest->Message(),aRequest->Src().FullName().Mid(2),&KCapFsNotifyChangeEx, __PLATSEC_DIAGNOSTIC_STRING("Extended Change Notifier")); |
215 return(ret); |
215 return(ret); |
216 } |
216 } |
217 |
217 |
218 TInt TFsNotifyChangeCancel::DoRequestL(CFsRequest* aRequest) |
218 TInt TFsNotifyChangeCancel::DoRequestL(CFsRequest* aRequest) |
219 // |
219 // |
592 { |
592 { |
593 TInt r = CheckDiskSpace(KMinFsCreateObjTreshold, aRequest); |
593 TInt r = CheckDiskSpace(KMinFsCreateObjTreshold, aRequest); |
594 if(r != KErrNone) |
594 if(r != KErrNone) |
595 return r; |
595 return r; |
596 |
596 |
597 TFileName volumeName; |
|
598 aRequest->ReadL(KMsgPtr0,volumeName); |
|
599 if (volumeName.Length()>KMaxVolumeNameLength) // KMaxVolumeNameLength = 11 |
|
600 return(KErrBadName); |
|
601 |
|
602 // Validate name - return KErrBadName if it contains illegal characters such as * ? / | > < |
597 // Validate name - return KErrBadName if it contains illegal characters such as * ? / | > < |
603 TNameChecker checker(volumeName); |
598 TPtrC volumeName(aRequest->Dest().FullName()); |
|
599 TNameChecker checker(volumeName); |
604 TText badChar; |
600 TText badChar; |
605 if (checker.IsIllegalName(badChar)) |
601 if (checker.IsIllegalName(badChar)) |
606 return(KErrBadName); |
602 return(KErrBadName); |
607 |
603 |
608 return(aRequest->Drive()->SetVolume(volumeName)); |
604 return(aRequest->Drive()->SetVolume(volumeName)); |
615 // |
611 // |
616 { |
612 { |
617 TInt r=ValidateDriveDoSubst(aRequest->Message().Int1(),aRequest); |
613 TInt r=ValidateDriveDoSubst(aRequest->Message().Int1(),aRequest); |
618 if (r!=KErrNone) |
614 if (r!=KErrNone) |
619 return(r); |
615 return(r); |
|
616 TFileName volumeName; |
|
617 TRAP(r,aRequest->ReadL(KMsgPtr0,volumeName)); |
|
618 if(r!=KErrNone) |
|
619 return r; |
|
620 if (volumeName.Length()>KMaxVolumeNameLength) // KMaxVolumeNameLength = 11 |
|
621 return(KErrBadName); |
|
622 |
|
623 r = aRequest->Dest().Set(volumeName,NULL,NULL); |
|
624 if(r!=KErrNone) |
|
625 return r; |
|
626 |
620 if (!KCapFsSetVolume.CheckPolicy(aRequest->Message(), __PLATSEC_DIAGNOSTIC_STRING("Set Volume"))) |
627 if (!KCapFsSetVolume.CheckPolicy(aRequest->Message(), __PLATSEC_DIAGNOSTIC_STRING("Set Volume"))) |
621 return KErrPermissionDenied; |
628 return KErrPermissionDenied; |
622 return KErrNone; |
629 return KErrNone; |
623 } |
630 } |
624 |
631 |
669 pD->SetSubst(NULL); |
676 pD->SetSubst(NULL); |
670 pD->SetAtt(0); |
677 pD->SetAtt(0); |
671 pD->SetSubstedDrive(NULL); |
678 pD->SetSubstedDrive(NULL); |
672 return(KErrNone); |
679 return(KErrNone); |
673 } |
680 } |
674 r=PathCheck(aRequest,aRequest->Src().FullName().Mid(2),&KCapFsSysSetSubst,&KCapFsPriSetSubst,&KCapFsROSetSubst, __PLATSEC_DIAGNOSTIC_STRING("Set Subst")); |
681 r=PathCheck(aRequest->Message(),aRequest->Src().FullName().Mid(2),&KCapFsSysSetSubst,&KCapFsPriSetSubst,&KCapFsROSetSubst, __PLATSEC_DIAGNOSTIC_STRING("Set Subst")); |
675 if (r!=KErrNone) |
682 if (r!=KErrNone) |
676 return(r); |
683 return(r); |
677 if (pD->Att()&(KDriveAttLocal|KDriveAttRom|KDriveAttRedirected|KDriveAttSubsted)) |
684 if (pD->Att()&(KDriveAttLocal|KDriveAttRom|KDriveAttRedirected|KDriveAttSubsted)) |
678 return(KErrGeneral); |
685 return(KErrGeneral); |
679 if (pD==aRequest->Drive()) |
686 if (pD==aRequest->Drive()) |
708 // |
715 // |
709 { |
716 { |
710 TInt r=ParseSubstPtr0(aRequest,aRequest->Src()); |
717 TInt r=ParseSubstPtr0(aRequest,aRequest->Src()); |
711 if (r!=KErrNone) |
718 if (r!=KErrNone) |
712 return(r); |
719 return(r); |
713 r=PathCheck(aRequest,aRequest->Src().FullName().Mid(2),&KCapFsSysRealName,&KCapFsPriRealName, __PLATSEC_DIAGNOSTIC_STRING("Real Name")); |
720 r=PathCheck(aRequest->Message(),aRequest->Src().FullName().Mid(2),&KCapFsSysRealName,&KCapFsPriRealName, __PLATSEC_DIAGNOSTIC_STRING("Real Name")); |
714 if (r!=KErrNone) |
721 if (r!=KErrNone) |
715 return(r); |
722 return(r); |
716 TFileName substName; |
723 TFileName substName; |
717 if (aRequest->Drive()->Att()&KDriveAttRedirected) |
724 if (aRequest->Drive()->Att()&KDriveAttRedirected) |
718 substName=aRequest->Drive()->Subst(); // DANGER? |
725 substName=aRequest->Drive()->Subst(); // DANGER? |
867 { |
874 { |
868 TParse parse; |
875 TParse parse; |
869 TInt r=ParsePathPtr0(aRequest,parse); |
876 TInt r=ParsePathPtr0(aRequest,parse); |
870 if (r!=KErrNone && r!=KErrInUse) |
877 if (r!=KErrNone && r!=KErrInUse) |
871 return(r); |
878 return(r); |
872 r=PathCheck(aRequest,parse.FullName().Mid(2),&KCapFsSysSetSessionPath,&KCapFsPriSetSessionPath, __PLATSEC_DIAGNOSTIC_STRING("Set Session Path")); |
879 r=PathCheck(aRequest->Message(),parse.FullName().Mid(2),&KCapFsSysSetSessionPath,&KCapFsPriSetSessionPath, __PLATSEC_DIAGNOSTIC_STRING("Set Session Path")); |
873 if (r!=KErrNone) |
880 if (r!=KErrNone) |
874 return(r); |
881 return(r); |
875 if (IsIllegalFullName(parse.FullName())) |
882 if (IsIllegalFullName(parse.FullName())) |
876 return(KErrBadName); |
883 return(KErrBadName); |
877 HBufC* pP=parse.FullName().Alloc(); |
884 HBufC* pP=parse.FullName().Alloc(); |