Annotation of truecrypt/volume/volumepasswordcache.cpp, revision 1.1

1.1     ! root        1: /*
        !             2:  Copyright (c) 2008 TrueCrypt Foundation. All rights reserved.
        !             3: 
        !             4:  Governed by the TrueCrypt License 2.4 the full text of which is contained
        !             5:  in the file License.txt included in TrueCrypt binary and source code
        !             6:  distribution packages.
        !             7: */
        !             8: 
        !             9: #include "VolumePasswordCache.h"
        !            10: 
        !            11: namespace TrueCrypt
        !            12: {
        !            13:        CachedPasswordList VolumePasswordCache::GetPasswords ()
        !            14:        {
        !            15:                CachedPasswordList passwords;
        !            16: 
        !            17:                foreach_ref (const VolumePassword &password, CachedPasswords)
        !            18:                        passwords.push_back (make_shared <VolumePassword> (VolumePassword (password)));
        !            19: 
        !            20:                return passwords;
        !            21:        }
        !            22: 
        !            23:        void VolumePasswordCache::Store (const VolumePassword &newPassword)
        !            24:        {
        !            25:                CachedPasswordList::iterator iter = CachedPasswords.begin();
        !            26:                foreach_ref (const VolumePassword &password, CachedPasswords)
        !            27:                {
        !            28:                        if (newPassword == password)
        !            29:                        {
        !            30:                                CachedPasswords.erase (iter);
        !            31:                                break;
        !            32:                        }
        !            33:                        iter++;
        !            34:                }
        !            35: 
        !            36:                CachedPasswords.push_front (make_shared <VolumePassword> (VolumePassword (newPassword)));
        !            37: 
        !            38:                if (CachedPasswords.size() > Capacity)
        !            39:                        CachedPasswords.pop_back();
        !            40:        }
        !            41: 
        !            42:        CachedPasswordList VolumePasswordCache::CachedPasswords;
        !            43: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.