Coder Social home page Coder Social logo

backon's People

Contributors

pookjw avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

backon's Issues

runUpdate 버그

BackOn에서 runUpdate를 실행하면 UpdaterVersion2이면 installUpdate를 실행하고, 1이면 installUpdate_old를 실행하도록 되어 있습니다. (이렇게 나누는 이유가 BackOn의 업데이트로 업데이트 방식이 바뀌면서 이전 업데이트 방식은 installUpdate_old로 바꿨고, 새롭게 바뀐 업데이트 방식은 installUpdate에 넣었습니다. installUpdate_old가 새로 바뀐 update-script에 잘 호환하는지 확인하기 위함입니다.)

그리고 DevSettings에서 UpdaterVersion의 값을 1, 2가 아닌 다른 값으로 설정하고 runUpdate를 실행하면

echo -e "ERROR! (UpdaterVersion is wrong.)"

명령어가 실행됩니다. 근데 제가 여기에 깜박하고 PA2CKey ('계속하려면 아무 키나 누르십시오...'를 출력하는 function) 추가를 안해서(...) 저 문구가 묻혀버리는 버그가 발생합니다.

DevSettings 관련한 버그라 큰 문제가 아니긴 한데, 그래도 혹시 모르니 적어둡니다.

Library 백업/복원 버그

Library 백업, 복원에 버그가 있습니다. BackOn의 모든 버전이 해당되는 버그입니다.

일단 Library 백업의 버그부터 쓰자면,

Library 백업은 /var/mobile/Library의 디렉토리를 백업 타겟으로 합니다. 다만 백업 입력란(read)에 **..**를 이용하면 타겟 디렉토리 변경이 가능한 버그가 있습니다.

예를 들어 **../../../**을 입력하면 하위 디렉토리로 이동하게 되어 백업 타겟이 **/**로 설정되어 버립니다. 따라서 **/**이 /tmp/BackOn/Backup/백업이름/Library로 통째로 백업되는 일이 발생합니다.

Library 복원 부분에서도 마찬가지인데, 여기선 치명적입니다.

Library 복원은 /tmp/BackOn/Restore/Library의 디렉토리에 있는 파일들을 복원 타겟으로 삼아 /var/mobile/Library에 복사하는 게 원칙입니다.

다만 마찬가지로 **../../../../**를 입력해 버리면 **/**이 /var/mobile/Library로 통째로 복사되는 일이 발생합니다. Library 백업에서는 단순히 /tmp/BackOn 폴더를 지우면 끝나는 문제인데, 복원에서는 이런 버그가 발생하면 복구가 어렵습니다.

저는 이 버그를 고칠 방법을 아직 잘 모르겠으며, 업데이트를 중단한 이유로 수정 계획이 없습니다.

따라서 Library 백업 및 복원에서 **..**의 사용에 유의하셨으면 합니다.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.