> Well, we (the community) run the Wiki. What do you suggest? We can make the 
> changes if they seem like they would be helpful.

I would say that first of all the new visitor needs to be made aware that these 
pages exist. Because browsing through the wiki site you only see "Denis Bider's 
Crypto++ User Guide" which is very short and dated.
A hierarchical table of contents, or at least a categorized list of pages would 
be very good. That could be some work, but how about just flatly listing all 
the wiki pages in an html that's linked to from the web page. Just the 
directory listing, and perhaps other pages too if they are not all in the same 
directory. That should be straightforward to do.

You can also post a text on the main wiki page that says "if you search a class 
name in the search box below, you will get additional documentation", or "you 
can form URLs by adding a class name to "http://www.cryptopp.com/wiki/"".That 
still won't reveal pages such as http://www.cryptopp.com/wiki/ 
Authenticated_Encryption
but a full flat list will do.

>   Take consolation in the fact that the wiki has only been around since about 
> 2005 or so. It was quite painful before then :)I felt that pain full force, 
> as I had no idea anything else existed other than what's linked to from the 
> crypto++ home page and wiki page. And any newcomer is bound to experience the 
> same, guaranteed.
> Yes. On the Crypto++ homepage, see the link to "Manual" at the top. That's 
> the Doxygen markup for the annotated sources. But they are brief too.
Looking at them they seem to be generated directly from what comments exist in 
the source, via a doxygen-type documentation system. There are some class 
diagrams that could be useful, though they're not more than what a tool like 
Visual Studio can generate, which is not much, given the extensive use of the 
"inherit from template parameter (BASE)" scheme (this is the first time I see 
this kind of template usage, I assume this choice of design, taking 
generalization to this level, is needed/useful).
Thank you!      From: Jeffrey Walton <[email protected]>
 To: [email protected] 
Cc: [email protected]; [email protected]; 
[email protected] 
 Sent: Monday, April 6, 2015 12:20 AM
 Subject: Re: processing same stream in parallel
   


On Sunday, April 5, 2015 at 11:20:16 PM UTC-4, Maricel Gregoraschko wrote:

By the way, you are linking to wiki pages (Authenticated_Encryption, 
ChannelSwitch), that I see no way to get to from cryptopp main wiki 
pagehttp://www.cryptopp.com/wiki/ Main_Page - private

Well, we (the community) run the Wiki. What do you suggest? We can make the 
changes if they seem like they would be helpful.
 

I had no clue they existed, and it seems there are many more. I see no table of 
contents, no index and no search, how does one get to the documentation without 
knowing exact URL's of specific pages?
Yeah, once you know about the wiki and begin searching it, it gets a lot easier 
:)

Take consolation in the fact that the wiki has only been around since about 
2005 or so. It was quite painful before then :)


The source code is incredibly sparsely documented, is there annotated code 
elsewhere? Am I looking in the wrong place?
Yes. On the Crypto++ homepage, see the link to "Manual" at the top. That's the 
Doxygen markup for the annotated sources. But they are brief too.
 

How is one supposed to know what putMessage=true means in HashFilter()?
http://www.cryptopp.com/wiki/HashFilter
 
Or the fact that HashVerificationFilter() takes in the message + hash at the 
end if you use HashVerificationFilter:: HASH_AT_END and it outputs just the 
message with the hash stripped if you use HashVerificationFilter::PUT_ MESSAGE?
http://www.cryptopp.com/wiki/HashVerificationFilter
 

Or the fact that ChannelSwitch exists and what it's used for? People just 
browse through source code, look at classes and go "there it is! that's what 
I'm looking for!"? :)
http://www.cryptopp.com/wiki/ChannelSwitch
 

One more question, how does HashVerificationFilter check the hash, does it set 
a status somewhere? Because it doesn't throw an exception or anything for the 
wrong hash.Thank you very much for your time. It's truly appreciated.
OK, you can use PUT_RESULT here.

Or, you can tell the filter to throw with THROW_EXCEPTION. The example below 
should probably use THROW_EXCEPTION.

I don't believe you can use both PUT_RESULT and  THROW_EXCEPTION because 
there's only one sink. You have to sue the sink to recover the message, or use 
the sink to capture the result (true/false).

I think there's another way to jigger it with a Redirector:

    // Authenticate and decrypt data
    HashVerificationFilter hvf(hmac2,
                       new StreamTransformationFilter(decryptor,
                                                      new StringSink(recover)),
                       HASH_AT_END | PUT_MESSAGE);

    StringSource ss2(cipher, true /*pumpAll*/, new Redirector(hvf));

    if(!hvf.GetLastResult()) {
        cerr << "Failed to verify message" << endl;
        exit(1);
    }

And of course, Redirector is documented at 
http://www.cryptopp.com/wiki/Redirector.



Jeff

   
-- 
-- 
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.


  

-- 
-- 
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to