Release truecrypt port

Discussion in 'Software Releases' started by id10t, Feb 17, 2011.

  1. id10t

    id10t Member

    Joined:
    Oct 20, 2006
    Messages:
    108
    Tags:
  2. TJSomething

    TJSomething Still Fresh

    Joined:
    Apr 29, 2008
    Messages:
    52
    No problem. An older version was ported a while back, but I figured that I would port the new version.
     
  3. id10t

    id10t Member

    Joined:
    Oct 20, 2006
    Messages:
    108
    Hey, Can you tell me how you did the port?


    I haven't coded (excluding perl/sh) since the Amiga days,


    but the panda has got me interested again.


    I setup a Ubuntu based dev toolchain and tested it worked with


    the SDL sample image display program.


    I compiled truecrypt from source for my Ubuntu box and it works


    under Ubuntu, but I'm not quite sure how to re-compile with


    the panda as the target.


    I changed the default Makefile to use the arm-gcc and got


    a partial compile which bombed out at the "fuse" stage, but


    I know I have missed some ENV settings.


    Can you post a copy of the Makefile you used for the panda port?


    I'd like to see the "right" includes and ENV settings I


    should be using.


    cheers,


    ID
     
  4. eksasol

    eksasol Member

    Joined:
    Apr 23, 2008
    Messages:
    162
    I don't know anything about coding, but this alone is a big reason to get a Pandora. It's surprising the development rate of this platform when things are more open. The Nokia N900 Truecrypt version doesn't even have a GUI and only read encryption from older version.


    So I can connect my external Truecrypt hdd to the Pandora and read the files, wow. But first I need to get a Pandora.
     
    Last edited by a moderator: Mar 2, 2011
  5. id10t

    id10t Member

    Joined:
    Oct 20, 2006
    Messages:
    108
    Yeh - I'm already doing it. It's not 100% click and go, as you have to do a modprobe fuse.


    But I want to build my own pnd and since I use truecrypt over different platforms,


    I'd like to be able to build it myself when there's a new version.


    Regarding the rate of porting, it's fantastic considering there must be < 2000 end users


    with the hardware in their hands.


    There is so much potential in the Panda, I hope the new price doesn't put off new adapters.


    I have shown mine to unix devs here, who ooh, but then ahh at the new price.


    ID
     
  6. TJSomething

    TJSomething Still Fresh

    Joined:
    Apr 29, 2008
    Messages:
    52
    I'm glad I checked this. Anyway, I used Yactfeau to compile Truecrypt, which set all of the environment variables for me.


    When I diffed the directory I used, against the original source, this was the only difference:



    Code:
    --- truecrypt-7.0a-source1/Makefile     2011-02-03 00:23:12 -0800
    
    +++ truecrypt-7.0a-source/Makefile      2010-09-05 07:32:10 -0700
    
    @@ -292,7 +292,7 @@
    
            rm -rf "$(WX_BUILD_DIR)"
    
            mkdir -p "$(WX_BUILD_DIR)"
    
            @echo Configuring wxWidgets library...
    
    -       cd "$(WX_BUILD_DIR)" && "pndconfigure" $(WX_CONFIGURE_FLAGS) >/dev/null
    
    +       cd "$(WX_BUILD_DIR)" && "$(WX_ROOT)/configure" $(WX_CONFIGURE_FLAGS) >/d
    
    ev/null
    
    
            @echo Building wxWidgets library...
    
            cd "$(WX_BUILD_DIR)" && $(MAKE)


    I don't even know if that worked. Maybe my .bash_history will help, but I doubt it.



    Code:
    cd wxrelease/
    
    # Came up with this by mashing pndconfigure and the wx configure command in the Makefile together.
    
    ../../wxGTK-2.8.11/configure --host=arm-angstrom-linux-gnueabi --prefix /home/tommy/Pandora/truecrypt/  --enable-unicode -disable-shared --disable-dependency-tracking --disable-compat26 --enable-exceptions --enable-std_string --enable-dataobj --enable-mimetype --disable-protocol --disable-protocols --disable-url --disable-ipc --disable-sockets --disable-fs_inet --disable-ole --disable-docview --disable-clipboard --disable-help --disable-html --disable-mshtmlhelp --disable-htmlhelp --disable-mdi --disable-metafile --disable-webkit --disable-xrc --disable-aui --disable-postscript --disable-printarch --disable-arcstream --disable-fs_archive --disable-fs_zip --disable-tarstream --disable-zipstream --disable-animatectrl --disable-bmpcombobox --disable-calendar --disable-caret --disable-checklst --disable-collpane --disable-colourpicker --disable-comboctrl --disable-datepick --disable-display --disable-dirpicker --disable-filepicker --disable-fontpicker --disable-grid  --disable-dataviewctrl --disable-listbook --disable-odcombobox --disable-sash  --disable-searchctrl --disable-slider --disable-splitter --disable-togglebtn --disable-toolbar --disable-tbarnative --disable-treebook --disable-toolbook --disable-tipwindow --disable-popupwin --disable-commondlg --disable-aboutdlg --disable-coldlg --disable-finddlg --disable-fontdlg --disable-numberdlg --disable-splash --disable-tipdlg --disable-progressdlg --disable-wizarddlg --disable-miniframe --disable-tooltips --disable-splines --disable-palette --disable-richtext --disable-dialupman --disable-debugreport --disable-filesystem --disable-graphics_ctx --disable-sound --disable-mediactrl --disable-joystick --disable-apple_ieee --disable-gif --disable-pcx --disable-tga --disable-iff --disable-gif --disable-pnm --without-expat --without-libtiff --without-libjpeg --without-libpng -without-regex --without-zlib --disable-debug_flag --disable-debug_gdb --disable-debug_info
    
    make
    
    cd ..
    
    PKCS11_INC=/home/tommy/Pandora/truecrypt/pkcs-h make NOASM=1 WXSTATIC=1
    
    ls
    
    cd Release/
    
    ls
    
    cd ..
    
    # Trying to find which Makefile is using the wrong strip command
    
    man grep
    
    grep -R strip
    
    grep -r strip
    
    less Build/Include/Makefile.inc 
    
    find -name Make*
    
    find -name Make*|less
    
    less ./Common/Makefile
    
    find -name Make*|grep strip
    
    find -name Make*|grep -i strip
    
    find -name Make*|xargs -v grep -i strip
    
    find -name Make*|xargs --verbose grep -i strip
    
    find -name Make*|xargs --verbose grep strip
    
    PKCS11_INC=/home/tommy/Pandora/truecrypt/pkcs-h make NOASM=1 WXSTATIC=1

    I know that there was a bug where Truecrypt wouldn't compile if I disabled ASM because it called an ASM function to determine some CPU functionality (i.e. accelerated AES) at runtime. However, since I knew that that didn't exist, I was able to replace it with a 0 and it worked.


    Part of the reason that I can't help much is because I'm in Windows, and I don't feel like booting Linux to replicate what I did right now.
     
    Nintendo likes this.
  7. id10t

    id10t Member

    Joined:
    Oct 20, 2006
    Messages:
    108
    I got it past the compilation stage, but then got stuck again at the linking.


    By coincidence I had downloaded Yactfeau just before you posted. I was using the


    original djwillis chain, but there's a fair bit of sidework to track down libs


    and headers. Maybe Yactfeau will sort that.


    I know what you mean about the dual-boot, but after 10 years of dual booting Win/Lin


    this month I finally killed my Lin partitions and went with Win7-64b as my main boot running


    VirtualBox to host Ubuntu.


    I got fed up having to reboot when I wanted to check something on the other OS, and so


    far this seems a pretty good solution. I just got a PhenomII 4x, and I tend to use Ubuntu


    for more routine unix stuff, with Windows for graphics and media work, and it was time


    to rebuild the box.


    Running a vbox ubuntu doesn't seem to lose me any functionality, and makes switching


    between win/lin a simple screen select. Seamless mode is pretty nice too.


    It also means I can have a CentOS VM available and each OS takes up less


    disk space than a fixed partition, and they can share the same /home virtual disk.


    Now, if only I had the spare time to play!


    ID
     
  8. hmc

    hmc Active Member

    Joined:
    Dec 19, 2011
    Messages:
    786
    Location:
    Bavaria, Germany
    That was me :)


    I know I'm a bit late on replying here, but I just re-joined the Pandora world now and plan to actively port some productivity tools.


    Good to see that someone cared about a TrueCrypt update :)


    This was the first thing I had on my current Todo list.


    With version 6.3a of TrueCrypt, which I ported last year, I had some problems at first.


    Here I will provide my notes about that, in case these problems still persist and someone (TJSomething?) can make use of my notes.


    Unfortunately I lost my devel directory from back then, so I really only have those notes and my fading memory:


    Problem 1:


    "Operation not permitted": writing ./.TrueCrypt/Configuration.xml


    --> I wrote a wrapper script, which generates that file on first start from a default configuration file.


    Problem 2:


    "Operation not permitted" on writing the lock file. (FAT-FS Problem)


    --> I had redefined home directory to some other directory in some way (probably the appdata directory? Don't remember). My note said: Don't redefine home directory.


    Problem 3:


    Module "fuse" is needed. Truecrypt only works after doing "modprobe fuse".


    What I did to solve that issue: Wrote a wrapper script, which makes module fuse load automatically on request:


    - generates file "fuse" in /etc/modutils, which contains the string "fuse"


    - gksudo update-modules (rewrites /etc/modules file)


    In case you like to see that wrapper script, I (or you) need to disassemble that PND I created and extract the script.


    Since I am at the very beginning of re-creating my Pandora on-board devel tool environment, I can't easily do this right now.


    Here is my PND:


    http://repo.openpandora.org/?page=detail&app=TrueCrypt


    Daniel
     
    Last edited by a moderator: Dec 19, 2011
  9. Lobo

    Lobo Member

    Joined:
    May 9, 2006
    Messages:
    526
    Ever since hotfix 6 (full flash) I've been getting an annoying error about permissions on a lock file, both with the previous version and also now with the new one. Truecrypt still works though: just annoying getting the message everytime.


    BTW, big thanks to both of the devs who ported both versions! I use TrueCrypt a lot on both Windows and Pandora!
     
  10. Kosmos

    Kosmos Member

    Joined:
    Apr 10, 2012
    Messages:
    228
    I keep ending up with an unencrypted version of my volume in my home directory.


    I also had the LOCK file problem and had to resort to grabing the truecrypt.sh file from the pnd and editing the last line to


    sudo ./truecrypt


    then saving that sh file into the TrueCrypt appsdata folder.
     
  11. hmc

    hmc Active Member

    Joined:
    Dec 19, 2011
    Messages:
    786
    Location:
    Bavaria, Germany
    Interesting...


    Does starting the PND now ask you for a password, or does the PND system start ./truecrypt with root permissions without asking for a password?


    The latter would be convenient, but it would be a huge security problem.


    It would open the door for severe malware PNDs...


    Daniel
     
  12. Kosmos

    Kosmos Member

    Joined:
    Apr 10, 2012
    Messages:
    228
    Well without modifying the sh it still mostly worked but that lock error was quite annoying. It NEVER asked for a password as my username is in the sudoers file anyway. But it would not be able to access the Lock file.


    Adding sudo did fix that. Security? Possibly an issue but it will take a new port of TrueCrypt 7 and some figuring.


    But at least you now know what I did. Works now and I am happy as I use TC on the Windows machine as well.


    Now as long as I never forget my TrueCrypt passwords........
     
  13. Mr Rob

    Mr Rob Active Member

    Joined:
    Apr 23, 2011
    Messages:
    805
    Location:
    Fargo, North Dakota, USA.
  14. hmc

    hmc Active Member

    Joined:
    Dec 19, 2011
    Messages:
    786
    Location:
    Bavaria, Germany
    Hi Mr Rob,


    does TrueCrypt-hmc work all right as expected now?


    No, I have never done performance metrics, but I use it all the time, and I never experienced any performance problems. However I use it mainly for small files, so for me there is not much of a problem anyway, even if encryption or decryption slow down reading/writing of the files.


    I think, if it is really too slow for someone, choosing a different encryption algorithm at container creation might help.


    IIRC by default, containers are encrypted using two cascaded encryptions. Using only one would probably have a positive effect on performance.


    Daniel
     
    Last edited by a moderator: Jun 11, 2012
  15. Mr Rob

    Mr Rob Active Member

    Joined:
    Apr 23, 2011
    Messages:
    805
    Location:
    Fargo, North Dakota, USA.
    Ah, okay. I'll have to try it sometime (though I rarely take my Pandora out of my apartment). I'll give it a go sometime. :D
     
  16. dimag0g

    dimag0g Very Active Member

    Joined:
    Jan 12, 2011
    Messages:
    607
    Location:
    Strasbourg, France
    At long last the version 7.1a made it to the repo, just when we should be migrating to VeraCrypt ;)
     
  17. dimag0g

    dimag0g Very Active Member

    Joined:
    Jan 12, 2011
    Messages:
    607
    Location:
    Strasbourg, France
    Actually, I just have compiled VeraCrypt and I'm quite displeased with it. First, it's not actually woking - the decryption process seems to go well, but some later code throws an exception, so the volume is never actually mounted. Perhaps that's just me not configuring wxWidgets right, so I don't count it as an argument.

    Second, it is painfully slow with key derivation (minutes of waiting). I don't quite see the point of improving security this way: if the key derivation algorithm is not cracked, it doesn't matter too much how many thousand years the brute force attack takes exactly, it'll still be unfeasible. If, however, the algorithm itself is broken some day, it won't matter how many times you apply it.

    Staying in front of the printer for 2 full minutes waiting for a PDF document to open wouldn't make me feel cool at all.

    Finally, while VeraCrypt is based on audited TrueCrypt code, it is not audited itself.
     
    Last edited by a moderator: Feb 12, 2015

Share This Page

Loading...