aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-08-09Really, just a lot of documenting.Mike Buland
2009-08-04***IMPORTANT*** The function Bu::Md5::getResult no longer returns a hex string,Mike Buland
it returns the raw binary string that makes up the md5 sum, this matches the original goal of the API and makes the whole system more general and transportable. I have added a handy helper function named getHexResult that will return the same classic hex md5 string we're used to, change anything in your code that uses getResult to getHexResult now. I've also added a handy function to the CryptoHash to write the result to a stream, writeResult. I've fixed some more things in the formatter, and added a cryptPass function that works very much like the system crypt function, md5 and base64. If I knew more about the glibc implementation I could probably make them compatible. For now there are some subtle differences in the formatting and the salting algorithm, also the output mantains it's base64 trailer (==) wheras the system function chops those off. There's also another helper that will only work on linux for now, that only takes the password, and generates a salt for you using urandom.
2009-08-03Hey, buffer has some good tweaks, added some stuff and fixed stuff in formatterMike Buland
and base64 no longer accidentally complains about properly formatted streams, as much...
2009-07-31I switched the Bu::Stream::isEOS function to be named Bu::Stream::isEos, andMike Buland
also made sure the copyright is at the top of all the files, it's been too long. Anyway, this may effect some code, but not much, and it's an easy enough fix.
2009-07-31david - added base64 to the windows buildDavid
2009-07-31Wow, Bu::Base64 had a bug about premature end of stream / not base64 data, nowMike Buland
it throws exceptions. It'll still try to process bad data for a while though. Also, it turns out that Bu::File never reported EOS, now it does, appropriately. I'm about to change Bu::Stream::isEOS to be Bu::Stream::isEos, this is your warning.
2009-07-31Fixed Bu::Process' close function, it wasn't closing, now it actually closesMike Buland
the pipes and waits for the child process like it should. It doesn't force the child to close right now, I'm not sure it should, we'll figure that out later.
2009-07-31Silly, the new g++ complained about some "style." Now it doesn't.Mike Buland
2009-07-31Added a character based splitting function to FBasicString and made more of theMike Buland
parsing functions publicly accessible in Url, and added some more helpers.
2009-07-30I think I fixed a bug in Bu::Base64, we'll see what happens.Mike Buland
2009-07-30Bu::Buffer actually works, and works really well. I dig it. Bu::BZip2 nowMike Buland
follows the new filter guidelines, where read and write report the amount of data consumed, not the amount processed. I.e. when writing, it reports how much of your incoming data it used, not how many bytes it wrote on the other end.
2009-07-29Decoding now skips whitespaceMike Buland
sweet.
2009-07-29Base64, now more clever with fewer options.Mike Buland
2009-07-29Wow, socket, as it turned out, was not able to close after the remote endMike Buland
disconnected. It now automatically closes down the local end when the remote end dies.
2009-07-16Client code is even cooler, it supports flushing data in case of buffering inMike Buland
the filter chain, I'm going to go ahead and make that optional coming up.
2009-06-30Bu::Client now gives you the option to add additional filters to the filterMike Buland
chain on the base stream, which for the moment is a socket. I also demonstrate this in the new rot13 test, with a rot13 filter, and a simple echo protocol.
2009-06-28Added the Bu::ListHash class, it's a really simple wrapper for Bu::Hash thatMike Buland
puts all of the values in a Bu::List assosiated with the key. When you insert, it will append to the list at that key, and create a list if it needs to. When erasing, getting, etc, you operate on the whole list, not just one element.
2009-06-26Fixed a couple of things up, now build creates a shared object as well as a nonMike Buland
shared, checkinst.sh makes sure that symlinks are in /usr/lib and /usr/include so that you don't need a libbu++ symlink in any directories. If you still want the static version, then just delete the shared object, or switch your link line to do this: -Wl,-Bstatic -lbu++ -Wl,-Bdynamic Instead of just -lbu++, it'll include libbu++ as static, and everything else as dynamic. You could always just use -static, but then the whole thing is going to be static. Also, the dynamic library is already linked against all the extra libs you need, so no need to link against pthread or libbz2.
2009-06-18Added a new enum value to Bu::File, Bu::File::WriteNew which combines Write,Mike Buland
Truncate, and Create, the flags used most commonly when writing a new file. Also added the Bu::Base64 filter class, it does base64 encoding and decoding, it may need a couple more interfaces added, but for the most part, it's solid.
2009-06-16The Bu::FBasicString::iterator and const_iterator didn't have != comparsionMike Buland
functions for comparing with chr type.
2009-06-15Changed a couple of comparison functions to const.Mike Buland
2009-06-03Minor updates to FastCGI, I changed the interface a bit and commented out someMike Buland
debugging code.
2009-06-02Huh, cgiutil was mostly a waste, url handles it all already. I still needMike Buland
something for mime eventually, meh.
2009-06-02Updates to the cgi system, and I'm putting the general CGI related stuff likeMike Buland
encoding and decoding and uri encoded splitting etc in one class.
2009-05-28The cache can now efficiently report how many items are stored in it, butMike Buland
there's no way to find out how many are in memory now, I may add something for that later, but it seems more or less unimportant (except maybe for fine-tuning and making interesting looking displays).
2009-05-28Added some helpers to the Bu::Cache::Ptr, you can clear them now, and cast toMike Buland
bool to see if they're bound, you still have to use isValid to see if they're valid or not. Also, fixed a bug in libbu++ that's been around for a while, apparently, in the Bu::Socket code. Non-blocking reading wasn't working correctly, when data wasn't waiting on the line, it would return immediately with zero bytes read. That was sure stupid. This should fix a lot of things.
2009-05-22daivd - got rid of posix source thingDavid
2009-05-21Added some more helpers to Bu::Formatter::Fmt, make it a little easier to use.Mike Buland
2009-05-15Made the plugger a little more friendly.Mike Buland
2009-05-15daivd - -D_POSIX_SOURCEDavid
2009-05-07Yeah, more or less like I thought, O_BINARY doesn't really exist on linux, atMike Buland
least, most of them. Now if it does exist, it's used.
2009-05-04david - got bzip2 building for windows... also added default O_BINARY on ↵David
Bu::File
2009-04-23Hey, FBasicString throws exceptions when you try to use the index operator andMike Buland
the index operator is out of range...
2009-04-23Made floats work (sorta'), they use vsprintf via Bu::FString, it's not great,Mike Buland
it uses a lot of memory and overhead, but...it'll work (sorta') for now.
2009-04-20david - added md5 + cryptohash to the windows buildDavid
2009-04-20Stupid cache pointer assignment operator not actually returning itself properly.Mike Buland
2009-04-17More updates to the Bu::List::iterator and Bu::List::const_iterator, assignemntMike Buland
now works correctly, and they don't worry about which list they're assosiated with. Better errors too.
2009-04-16Hey, the list code is better, also, I fixed some stuff in socket (theMike Buland
isBlocking function was backward), and fastcgi is actually working now! Also added comparison functions to FString.
2009-04-13Ok, that was strange, somehow the archive class didn't actually supoprt float,Mike Buland
double, or long double...now it does.
2009-04-13Just updating the ignores to include nidstoolMike Buland
2009-04-10Added some new goodness to the fbasicstring, fixing some inconsistancies andMike Buland
adding some more helpers. Hopefully this won't affect anything, but if it complains about any functions not working the way they used to, see if they're returning an int or an iterator. I made several functions handle iterators instead of ints, the int versions have an "Idx" suffix added now. I'm trying to switch entirely to iterators to reduce flattening and increase performance and stability. Also...something must have changed in the cache code...
2009-04-06david - some new windows filesDavid
2009-04-06david - some odd problems with old gccDavid
2009-04-06Ok, I rearranged some things, we have a tools dir now, those build by default.Mike Buland
Also I added a bunch of classes that I've been tinkering with that are almost ready for use, so I figured I may as well throw them in here.
2009-04-02Array iterators' validity testing was actually reversed. That was a seriousMike Buland
problem. Also, arrays now have a formatter.
2009-04-02Removed some uses of printf in libbu++, I would like to get rid of all of themMike Buland
some day, but I'm not in much of a rush, I just wanted to do a quick survey. Also added the Formatter::flush special stream value, so now you can do a: sio << "hello" << sio.flush; and it'll flush output immediately. I also tweaked a few things in the cachestore and cache so that they actually throw exceptions and the like instead of just printing out some garbage.
2009-03-26Added some more constructors to the ServerSocket, and also switched the writeMike Buland
function in Bu::Formatter to take a void *, what was I thinking?
2009-03-16Added some experimental indenting code to the formatter, not sure I quite digMike Buland
it yet, I'd recommend not using it much for now, the API could change drastically.
2009-02-27Fixed a bug in Bu::FString, it wouldn't concatinate properly when using the +Mike Buland
operator and the left-hand-side FString was const. Also, added a formatter << operator for Bu::List. The other containers should get their own formatter << operators soon too.
2009-02-24david - apparently the mingw compiler has a couple issues...David
1) i had to make iterator and const_iterator friends of each other so they could see each other's private constructors 2) apparently there is a bug in the name-lookup related to inline typedef structs and the friend keyword... had to move the typedef struct const_iterator to after the actual struct.