Re: Re: problem compiling KDar with libdar CVS

Johnathan Burchill <[email protected]> Wed, 03 Nov 2004 15:19:25 -0700
Newsgroups gmane.comp.sysutils.backup.dar.libdar
Organization Department of Physics and Astronomy, University of Calgary
Message-ID <[email protected]>
On Wednesday 03 November 2004 13:08, Denis Corbin wrote:
> Denis Corbin wrote:
> |[...]
> | I proposes the following API :
> |
> | ~    void cancel_thread(pthread_t tid);
> | ~    bool cancel_current(pthread_t & tid);
> | ~    void cancel_clear();
> |
> | where cancel_thread() is used to cancel the given thread. Which will
> | make libdar throw a Euser_abort exception, cleanly free memory and
> | release any mutex.
> |
> | cancel_current() return true and the tid of the thread that will be
> | canceled when execution will reach the next checkpoint, false if there
> | is not pending cancelation.
> |
> | cancel_clear() abort cancelation process if the thread has not already
> | terminated.
> |
> | Only one thread can be canceled at a time.
> |
> |
> |[...]
>
> Hello,
>
> This is implemented and tested. CVS is up to date. If you have no
> objections, The API is now frozen (version 3) for the release 2.2.0 that
> will come in december I hope. The points that remains to do before the
> pre-release phase are :
> - documentation (API, user guide, etc.)
> - password/key from file
> - password/key from keyboard out of command-line
> - some few other strong encryption algorithms
> - LZO compression
>
> the two password/key features do not have any impact on the API (these
> are command-line related feature). The LZO and the new cypher support
> only add some more values in the "enum compression" and "enum
> crypto_algo" enumeration types.

As far as I can tell from the latest cvs API, when I read an existing 
archive with the archive "read" constructor, I need to give it a "const 
std::string &pass" argument, i.e. the password. So it seems that the 
application has to know beforehand whether the user is opening an 
encrypted archive or an unencrypted archive.

I see that archive::archive calls "macro_tools_open_archive" which in turn 
calls dialog.warning(...) if the archive is encrypted and no password is 
given. Perhaps if "macro_tools_open_archive" could throw an Epassword() 
exception, that could be caught by the application, which could 
transparently ask the user for a password and try the read again.

Or, is there a way in the API to check the archive, before opening it, to 
see whether it is encrypted?

Cheers,
JB

>
> The pre-release target date is the beginning of december. Until that
> time, it is still time to fix API problem you could meet, so please give
> your feedback before pre-release phase.
>
> For short about API, waiting for an up to date documentation, all calls
> you need are in libdar.hpp and archive.hpp. The comments in the theses
> header files should help you understand the changes brought from API 2.
>
> Cheers,
> Denis.
>
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by:
> Sybase ASE Linux Express Edition - download now for FREE
> LinuxWorld Reader's Choice Award Winner for best database on Linux.
> http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
> _______________________________________________
> Dar-libdar_api mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/dar-libdar_api

-- 
Johnathan K. Burchill, Ph.D.
Department of Physics and Astronomy
University of Calgary
2500 University Drive N.W.
Calgary, AB T2N 1N4
Canada

(403) 217-4286
[email protected]


-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click