1 2005-02-28 Clinton Ebadi <clinton@unknownlamer.org>
3 * source/Utils.C (to_upper): Applied patch from Jos Hulzink
5 (trim_str): Appled patch from Jos Hulzink <josh@stack.nl> (fixes
6 counters and substr call)
8 * source/StringTokenizer.C (next_token): Applied patch from Jos
9 Hulzink <josh@stack.nl> (fixes substr call)
10 (rest): Applied patch from Jos Hulzink <josh@stack.nl> (fixes
13 2005-02-27 Clinton Ebadi <clinton@unknownlamer.org>
15 * source/Bot.H (COPYRIGHT_STRING): Remove Michael Wilson because
16 he is a lazy bum and never submitted the String replacing patch
18 * source/String.C: remove
19 * source/String.H: remove
21 2005-01-23 Clinton Ebadi <clinton@unknownlamer.org>
23 * configure.ac: Remove CC++ test
24 Changed version to 2.1.6CVS (2.1.5 released)
26 * bobot++.texinfo: Updated copyright
28 2005-01-16 Clinton Ebadi <clinton@unknownlamer.org>
30 * TODO (General): Added TODO items
31 (2.2): Moved a few items here from 2.4
33 * README (NOTE): Mention boost requirement
35 2005-01-13 Clinton Ebadi <clinton@unknownlamer.org>
37 * ChangeLog Updated copryight
39 * source/User.H: Removed forward declaration of Utils
41 * source/Bot.H: Removed forward declaration of Utils
43 * source/ChannelList.H: Removed forward declaration of Utils
45 * source/UserListItem.H: Removed forward declaration of Utils
47 * source/Utils.H: Removed class Utils, replaced with a namspace
48 (it only contained static methods)
50 * source/Bot.H (COPYRIGHT_STRING): Added 2005 and Michael Wilson
51 (he is replacing String)
53 2005-01-12 Clinton Ebadi <clinton@unknownlamer.org>
55 * source/BotConfig.C (set_option_value): Put watcher calling
56 inside of if (cf_iter != end()) to fix a segfault (if the cf_iter
57 = end then there are no watchers since this is a new value and
58 references cf_iter->second segfaults)
60 * source/Utils.C (trim_str): Fixed bug (last non-space character
63 * source/BotConfig.C (read_config): Made to use set_option_value
64 instead of manipulating options_db directly
66 * source/BotConfig.H (class BotConfig): Add set_option_value that
67 takes a t_value instead of t_value_list (most uss of
68 set_option_value will be to add a single value so this is very useful)
70 * source/BotConfig.C (set_option_value): Implemented
72 * source/UserList.C: Made to work with new Utils/StringTokenizer names
74 * source/UserCommands.C: Made to work with new
75 Utils/StringTokenizer names
77 * source/ShitList.C: Uses Utils.H now (Utils::trim_str & friends)
79 2005-01-11 Clinton Ebadi <clinton@unknownlamer.org>
81 * source/ShitList.C: Made to work with new StringTokenizer names
83 * source/ServerQueueItem.C: Made to work with new StringTokenizer names
85 * source/ServerQueue.C: Made to work with new Utils names
87 * source/ScriptCommands.C: Made work with new Utils names
89 * source/Person.C (getNick): Made work with new Utils names
91 * source/String.H: Added substr prototypes
93 * source/String.C (substr): Added substr as an alias of subString
94 (for compat with std::string before the transition)
96 * source/Parser.C: Made to work with new Utils/StringTokenizer names
98 * source/DCCParser.C: Made to work with new Utils names
100 * source/DCCChatConnection.C: Made to work new Utils names
102 * source/Commands.C: Made to work with new Utils names
104 * source/Channel.C: Made to work with new Utils names
106 * source/BotInterp.C: Made to work with new Utils
108 * source/Bot.C: Made to work with new Utils/StringTokenizer names
110 * source/String.C (operator=): Unremoved operator=(std::string)
112 * source/String.H: Unremoved operator=(std::string)
114 * source/BotConfig.C (read_config): Use Utils::trim_str
116 * source/String.C (trim): Fixed bug (p->s[i] == '\r', s/i/j/)
118 * source/Utils.C (trim_str): Implemented
120 * source/Utils.H: Added tim_str (replaces String::trim)
122 * source/BotConfig.C: Made everything work with new
123 StringTokenizer and Utils names
125 * source/Utils.H: Added to_lower
128 * source/StringTokenizer.C (rest): uses std::isspace instead of
129 checking st[pos] against ' ' and '\t'
131 * source/StringTokenizer.H: Removed CamelCasing
132 Renamed hasMoreTokens to more_tokens_p
134 * source/StringTokenizer.C: Converted to use std::string
136 * source/StringTokenizer.H: Converted to use std::string
138 * source/String.C: Removed operator=(std::string)
140 * source/String.H: Removed operator=(std::string)
142 * source/Utils.C: Added copyright
143 Reformatted to match GNU coding standard more closely
144 Converted everything to use std::string
145 (get_nick): Renamed from getNick
146 (get_userhost): Renamed from getUserHost
147 (get_key): Renamed from getKey
148 (IP_p): Renamed from isIP
149 (make_wildcard): Renamed from makeWildcard
150 (channel_p): Renamed from isChannel
151 (wildcard_p): Renamed from isWildcard
152 (valid_channel_name_p): Renamed from isValidChannelName
153 (valid_nickname_p): Renamed from isValidNickName
154 (get_level): Renamed from getLevel
155 (str2time): Renamed from strToTime
156 (str2time): Fixed potential buffer overflow (num[512] => std::string)
157 (level2str): Renamed from levelToStr
158 (prot2str): Renamed from protToStr
159 (bool2str): Renamed from boolToStr
160 (long2str): Implemented
161 (scm2str): Renamed from scm2String
162 (str2scm): Renamed from string2SCM
164 * source/BotConfig.C: Reformatted to fit GNU coding style more closely
166 * source/Utils.H: Added long2str (long int -> std::string)
168 * source/String.H: Added 2003 copyright (the year I last modified
171 * source/String.C: Added 2002 copyright (the year I last modified
174 * source/Utils.H: Updated Copyright
175 s/String/std::string/g
176 Removed camel casing and is* = *_p
179 * source/BotConfig.C: Updated Copyright
181 * source/BotConfig.H: Updated copyright
183 2005-01-08 Clinton Ebadi <clinton@unknownlamer.org>
185 * source/BotConfig.C (set_option_value): Take care of the case
186 where key is not already in the db
187 (add_watcher): Implemented
188 (read_config): Removed ',' token parsing (not needed)
190 * configure.ac: Add AC_LANG([C++]) so we can check for C++ libs
191 AC_CHECK_LIB ccgnu2 (CommonC++2)
193 * README: Updated README (reformatted, adding info, etc.)
195 2005-01-07 Clinton Ebadi <clinton@unknownlamer.org>
197 * source/BotConfig.C (set_option_value): call watcher list
198 (run_fun_): Added to support watcher list calling
200 2005-01-06 Clinton Ebadi <clinton@unknownlamer.org>
202 * source/BotConfig.C (set_option_value): Fuck you STL
203 (push_back_): Reimplemented so that it doesn't need std::bind1st
204 because the STL is being stupid
206 2004-12-26 Clinton Ebadi <clinton@unknownlamer.org>
208 * source/BotConfig.C (read_config): Implemented properly
209 (get_option_values): Implemented properly
210 (set_config_file): Fixed
212 2004-07-10 Clinton Ebadi <clinton@unknownlamer.org>
214 * bobot++.texinfo (Built-In Commands): Added empty stubs to the
217 2004-06-22 Clinton Ebadi <clinton@unknownlamer.org>
219 * source/BotConfig.C: New file (implementation of configuration database)
221 * source/BotConfig.H: New File (semi-generic configuration database)
223 2004-06-17 Clinton Ebadi <clinton@unknownlamer.org>
225 * bobot++.texinfo (Starting the Bot): New section
227 2004-06-14 Clinton Ebadi <clinton@unknownlamer.org>
229 * bobot++.texinfo (Protection): Added Section
230 (User Levels): Rewrote section to be useful
231 (bot.users): Added section
233 2004-06-12 Clinton Ebadi <clinton@unknownlamer.org>
235 * source/DCCChatConnection.C (connect): Checks to make sure the
236 person initiating a DCC CHAT with the bot is at least a FRIEND of
239 * README: Fixed a typo
241 * scripts/bobot-utils.scm (ctcp-quote): Implemented ctcp-quote
242 (bot:ctcp-quote): Renamed ctcp-quote to bot:ctcp-quite (whoops)
244 2004-05-28 Clinton Ebadi <clinton@unknownlamer.org>
246 * bobot++.texinfo (bot.conf): Finished section
247 (server syntax): New section, documents the bot.conf SERVER syntax
248 (channel syntax): New section, documentes the bot.conf CHANNEL syntax
250 2004-05-13 Clinton Ebadi <clinton@unknownlamer.org>
252 * source/Main.C (real_main): std::exit instead of exit
254 2004-05-12 Clinton Ebadi <clinton@unknownlamer.org>
256 * source/DCCConnection.C (DCCConnection): Intialized `nuh' in the
257 constructor with `n' This should fix the segfaulting.
259 2004-01-28 Clinton Ebadi <clinton@unknownlamer.org>
261 * ChangeLog: Updated copyright notice
263 2004-01-09 Clinton Ebadi <clinton@unknownlamer.org>
265 * source/Interp.C (interp_init_helper): Register
266 bot:change-command-level
268 * source/ScriptCommands.C (ChangeCommandLevel): Added
269 ChangeCommandLevel to change the level a user needs to be to run a
272 * source/ScriptCommands.H: Added ChangeCommandLevel
274 2003-10-12 Clinton Ebadi <clinton@unknownlamer.org>
276 * source/String.H: Changed #define STRING_H to BSTRING_H
278 2003-08-04 Clinton Ebadi <clinton@unknownlamer.org>
280 * scripts/bobot-utils.scm (bot:sent-to-me?): New procedure, used
281 to see if a message was sent to the bot (this is better than
282 bot:match-to-me because the hook isn't invalidated when the bot's
285 * source/DCCConnection.H: Added `nuh' back and added an
287 Added setter `set_autoRemove(bool)'
289 * source/DCCConnection.H: Removed all friends
290 Added accessors (get_bot, get_lastSpoken, get_autoRemove; get_bot
291 reveals the pointer to the bot [PRIVATE POINTER] which probably
292 isn't so nice, but there isn't much to be done about it with the
293 current design of the bot)
295 * source/DCCChatConnection.H: Removed all friends
297 * source/DCCConnection.H: DCCConnection is now a pure virtual
298 class with the subclass DCCChatConnection
300 2003-07-29 Clinton Ebadi <clinton@unknownlamer.org>
302 * source/Socket.C (connect): log errors to the bot log instead of
305 2003-07-23 Clinton Ebadi <clinton@unknownlamer.org>
307 * source/Parser.C (parseMessage): use the find method of std::map
308 to find the command to call instead of [] and then extract the
309 pointer to the userFunction from that if it exists. This appears
310 to fix the crash when one uses an undefined command followed by
313 2003-04-09 Clinton Ebadi <clinton@unknownlamer.org>
315 * source/Interp.C (interp_init_helper): Bind bot:setfloodrate to
316 ScriptCommands::SetFloodRate
318 * source/ScriptCommands.C (SetFloodRate): New Method: SetFloodRate
320 * source/Bot.C (init_user_functions): Make SETFLOODRATE available
323 * source/Bot.H: Made MAX_MESSAGES writeable
325 * source/UserCommands.H: New method: SetFloodRate
327 * source/Commands.H: New method: SetFloodRate
329 2003-04-03 Clinton Ebadi <clinton@unknownlamer.org>
331 * configure.ac: Merged all AC_OUTPUTs at the end
333 2003-04-02 Clinton Ebadi <clinton@unknownlamer.org>
335 * scripts/bobot-utils.scm: Make exported symbols from
336 the-bot-module available in the guile-user module so that scripts
337 loaded with Interp::Load function.
339 2003-03-30 Clinton Ebadi <clinton@unknownlamer.org>
341 * scripts/bobot-utils.scm (bot:load-module): Loads a file from the
342 %bot:loadpath into its own module and returns that (unnamed) module
343 (bot:use-module): Calls bot:load-module and then adds the newly
344 loaded module to the (current-module)'s use-list
346 * source/Interp.C (interp_init_helper): New procedure to initialize
347 the-bot-module (this is the old Interp::Startup verbatim)
348 (interp_post_startup_helper): New procedure to export
349 the-bot-module from bot_module
350 (Startup): Now calls interp_init_helper and
351 interp_post_startup_helper to initalize the bot module system
353 * source/Interp.H: Added private variable bot_module to Interp
355 2002-11-04 Clinton Ebadi <clinton@unknownlamer.org>
357 * scripts/bobot-utils.scm: Added bot: to regex functions (yes,
358 this breaks existing scripts, this is the unstable tree after all)
360 2002-11-03 Clinton Ebadi <clinton@unknownlamer.org>
362 * source/Mask.C (match): Made Mask::match case insensitive
364 2002-09-23 Clinton Ebadi <clinton@unknownlamer.org>
366 * source/Interp.C (scm_apply_wrapper): turned off locking of
367 Interp::mutex to see if this makes the bot work again...and it
370 2002-09-07 Clinton Ebadi <clinton@unknownlamer.org>
372 * configure.ac: Removed arguments to AM_INIT_AUTOMAKE and updated
373 everything to use aclocal/automake 1.6
375 2002-08-27 Clinton Ebadi <clinton@unknownlamer.org>
377 * source/DCCPerson.H (class DCCPerson): Added
378 UserCommands::DCCList as a friend (friends are better than the old
379 DCC() function at least).
381 * source/DCCManager.H (class DCCManager): Added
382 UserCommands::DCCList as a friend
384 * source/Interp.H (class Interp): Made function scm_apply_wrapper
385 a friend so it can lock Interp::mutex
387 * source/Interp.C (scm_apply_wrapper): Lock Interp::mutex if
388 MULTITHREAD is defined (it is always defined when scripting is
389 enabled) so that Sockets can be made multithreaded using
392 * source/DCCPerson.H: Removed DCC method and made Bot a friend
393 Made DCCManager a friend
395 * source/DCCManager.H (class DCCManager): Removed MAP() method
396 and made Bot a friend of DCCManager
398 2002-08-18 Clinton Ebadi <clinton@unknownlamer.org>
400 * source/Interp.C (Startup): Renamed bot:DCC-chat-send to
403 * bobot++.texinfo (Hook Types): Fixed a typo (I wrote
404 user!nick@host instead of the correct nick!user@host).
406 * source/Interp.C (Startup): Register bot:DCC-chat-send
408 * source/ScriptCommands.C (sendDCCChatMessage): Added method again
410 2002-08-08 Clinton Ebadi <clinton@unknownlamer.org>
412 * source/String.C (String): The std::string copy constructor now
413 extracts the c_str of the std::string and then takes the strlen of
414 that before copying it. This fixes a bug with DCC where if you did
415 e.g. "!help" the bot would reply with "No TOPIC PRIVMSG FOUND" or
416 something like that, depending on what the last message was
417 because Socket will insert a \0 into its semi-static buffer, so
418 the len of the String will not equal the strlen of its char*.
420 2002-08-07 Clinton Ebadi <clinton@unknownlamer.org>
422 * source/DCCPerson.H: Removed destructor (I = idiot)
424 * source/DCCConnection.H: DCCManager is now a friend of
425 DCCConnection (ugh, the bot has way too many friends).
427 * source/DCCPerson.H: Added DCC member that returns a const
428 DCCConnection* (the dcc connection). This isn't saved anywhere
429 because when a DCCPerson is destroyed, its connection is also
432 * source/Bot.H: dccConnections is now a DCCManager
434 * source/DCCPerson.H: Added destructor
435 Added handleInput method
437 * source/DCCManager.C: New file
438 (addConnection): Wrote method, add a DCCConection to the manager
440 * source/DCCManager.H: New file
442 * source/Interp.C (Startup): Register bot:DCC-chat-send
443 (Startup): Removed sendDCCChatMessage stuff
445 * source/ScriptCommands.C (sendDCCChatMessage): New method:
446 sendDCCChatMessage (to, message) sends message to to.
448 * source/DCCConnection.C (connect): Run DCC_CHAT_BEGIN hook with
449 one arg: from (user!nick@host).
451 * source/DCCParser.C (parseLine): Runs DCC_CHAT_MESSAGE hook with
452 two args: from (user!nick@host) and line
454 2002-08-06 Clinton Ebadi <clinton@unknownlamer.org>
456 * source/Interp.C (Startup): Two new Scheme values:
457 hooks/dcc/chat-begin and hooks/dcc/chat-message for the
458 DCC_CHAT_BEGIN and DCC_CHAT_MESSAGE hooks.
460 * source/BotInterp.H: Added two new enum values to Hook:
461 DCC_CHAT_BEGIN and DCC_CHAT_MESSAGE for the DCC chat start and DCC
464 2002-08-05 Clinton Ebadi <clinton@unknownlamer.org>
466 * source/Parser.C (parseCTCP): Removed call to htonl and fixed
467 DCC! Ack, sockets take their arguments in network byte order so
468 there is no need to convert to host...now DCC _sort of_ works.
470 2002-08-04 Clinton Ebadi <clinton@unknownlamer.org>
472 * source/UserList.C (save): Increment iterator twice to get around
475 * source/ServerQueue.C: Now sends SEND_* hooks instead of
476 triggered general hooks.
478 * source/Interp.C (Startup): New scheme side defines: hooks/send/*
479 (* = the new SEND_ hooks, but lowercase).
481 * source/BotInterp.H: New hook types (SEND_..., ... = ACTION,
482 CTCP, PUBLIC, MESSAGE). These are triggered on send messages.
484 2002-08-01 Clinton Ebadi <clinton@unknownlamer.org>
486 * source/Bot.C (set_log_file): Oops! Fixed logging. Now the bot
489 * source/Socket.C (readLine): Now uses a static std::string that
490 starts out with 512 chars. This will never need to be resized for
491 usualy IRC messages, but might be for DCC messages
493 2002-07-31 Clinton Ebadi <clinton@unknownlamer.org>
495 * scripts/bobot-utils.scm (not-from-me): New syntax.
497 * source/ScriptCommands.C (AddHook): Now takes another optional
498 arg--name that will name the hook (see the hooks section in the
499 manual for what this does).
501 * source/BotInterp.H: Added name field to Hook
503 2002-07-29 Clinton Ebadi <clinton@unknownlamer.org>
505 * source/ServerQueue.C (sendPrivmsg): Now calls hooks on own
506 PRIVMSGes because the IRC server doesn't echo them back to the
507 bot. This could be useful for something (e.g. log script).
509 2002-07-27 Clinton Ebadi <clinton@unknownlamer.org>
511 * source/Interp.C (Shutdown): Runs bot:exit-hook hooks
512 (Startup): New var for Scheme: bot:exit-hook. Calls the thunks
513 associated with the hook when Interp::Shutdown is called (bot exit).
515 2002-07-23 Clinton Ebadi <clinton@unknownlamer.org>
517 * source/BotInterp.H (Hook<): Changed behavior of Hook's <. If a
518 hook is greater than or less than the other hook, only the
519 priority is considered. However, if both hooks have the same
520 priority, then the fallthru-ness is considered, with fallthru
521 hooks being greater than non-fallthru hooks.
523 * source/BotInterp.C (hptr_lt): Added this static function to be
524 used to sort the hooks list (now hooks should be sorted using
525 Hook's operator < instead of using pointer comparision, meaning
526 the new hook system will work correctly)
528 * scripts/bobot-utils.scm: Make bot:log use for-each instead of
529 map because we don't need the result of the displays (this would
530 just be a list of #<undefined> values and is a waste of memory).
532 2002-07-13 Clinton Ebadi <clinton@unknownlamer.org>
534 * source/Bot.C (Bot): userFunctions is now a map for efficiency
535 (worst case search is now NlogN instead of N). This improvement is
536 not as drastic as the one gained by making the Parser functions
537 list a map (because we don't scan this map for every message), but
538 it helps to clean up the code
540 2002-07-12 Clinton Ebadi <clinton@unknownlamer.org>
542 * source/Parser.H: Removed userFunctionsStruct
544 * source/Interp.C (Startup): ScriptCommands::sendCTCP registered
545 as bot:send-CTCP for Scheme
547 * source/ScriptCommands.C (sendCTCP): Wrote sendCTCP
549 2002-07-11 Clinton Ebadi <clinton@unknownlamer.org>
551 * source/ServerQueue.C (sendUser): Changed . . in USER command to
552 0 * (which is the Right Way to because <mode> must be a number...)
554 * source/Parser.C (init): New method of Parse. This initalizes the
555 functions map. functions replaces the old functions array, and
556 should yield better performance (since the functions array had to
557 be scanned for every incoming message)
559 * source/Parser.H: New member, functions (private)
561 2002-07-10 Clinton Ebadi <clinton@unknownlamer.org>
563 * source/Interp.C (Startup): New symbols: bot:user-*
564 [none|user|trusted|friend|master] are defined in Scheme as the
565 different levels of the users.
566 (Startup): All bot-* variables are now bot:*
568 2002-07-09 Clinton Ebadi <clinton@unknownlamer.org>
570 * source/Bot.H: Made some variables private because they shouldn't
571 be changed at runtime
573 * source/Parser.C (parseCTCP): Reneabled DCC CHAT (I want to test
574 this out to see if it works and make it work)
576 * source/Bot.C (Bot::Bot): New var: logs_dir. Set to the log file
579 * scripts/bobot-utils.scm: Fixed a typo (I forgot the / after
580 scripts in the user scripts dir) that made bobot++ not able to
581 load scripts from the user scripts dir
583 2002-07-08 Clinton Ebadi <clinton@unknownlamer.org>
585 * source/BotInterp.C (RunHooks): Changed iterators to
586 reverse_iterators because the hooks list is sorted in ascending
587 order--higher priority and fallthrough hooks appear _after_ the
588 lower priority and non-fallthrough hooks.
590 * source/Main.C (print_long_help): Added function
591 (print_short_help): Renamed from printUsage
592 (namespace): Most stuff in here is now defined in an anonymouse
593 namespace so it doesn't have external linkage
594 (real_main): Uses getopt_long instead of getopt. Added several
595 command line arguments (bobotpp --help for a full list).
597 * scripts/bobot-utils.scm (bot-load): Function moved from
600 * source/Interp.C (Startup): Autoloads
601 PREFIX/bobotpp/scripts/bobot-utils.scm now
602 (Startup): New Scheme variable: bot-sys-scripts-dir (system
605 * source/bobot-scheme.scm.in: Removed
607 * source/Makefile.am: Removed bobot-scheme.scm compiliation
609 * configure.ac (PREFIX): configure.ac defined prefix now
611 * source/Main.C (real_main): Default configuration is now read
612 from /etc/bobotpp/default
613 * source/bobot-scheme.scm.in: Added file. This defines the
614 'bot-load' procedure which will load a file from
615 $HOME/.bobotpp/scripts/ or @datadir@/bobotpp/scripts/ if the
616 script doesn't exist in the user script dir.
618 2002-07-01 Clinton Ebadi <clinton@unknownlamer.org>
620 * bobot++.texinfo: Started docs (just a skeleton right now)
622 * source/ScriptCommands.C (AddHook): Now takes pri and fall opt
623 args to set a hooks priority and whether or not it will
624 fallthrough. These args are optional.
626 * source/Interp.C (Startup): addhook now takes 3 req and 2 opt args
628 * source/BotInterp.C (AddHook): Now uses priority and fallthrough
629 (RunHooks): exec fallthrough hooks first.
631 * source/BotInterp.H: Changed Hooks to have priority
632 Added fhooksMap to BotInterp (fallthrough)
634 * source/UserCommands.C (AddShit): Converted to use Commands
636 2002-06-21 Clinton Ebadi <clinton@unknownlamer.org>
638 * source/Commands.C (AddUser): Fixed a one-off (function call was
639 before a brace instead of after one) that caused a segfault when
640 the user mask was a wildcard
642 2002-06-20 Clinton Ebadi <clinton@unknownlamer.org>
644 * all files: Updated address of the FSF
646 * source/UserCommands.C (AddUser): Uses Commands now instead of
647 manipulating the bot directly
649 2002-06-18 Clinton Ebadi <clinton@unknownlamer.org>
651 * source/ScriptCommands.C (AddShit): Filled in function.
653 * source/Interp.C (Startup): Bind bot-adduser to
654 ScriptCommands::AddUser instead of Action
655 (Startup): Bind bot-addshit to ScriptCommands::AddShit
657 * source/ScriptCommands.C (AddUser): Filled in function
659 * source/ServerList.C (delServer): Changed (n - 1) to n...n-1
660 would have caused problems if you used more than one server
662 * source/Parser.H: Changed const char* to String in userFunctionStruct
664 * source/String.H: Added std::string compatibility members
666 * configure.ac: You can now disable Crypt and scripting
668 * source/*: Added #include "config.h" where needed
670 * configure.ac: Added AM_CONFIG_HEADER
672 * config.h.in: added file
674 * source/Queue.C: Didn't notice iostream.h here! Fixed
677 Copyright 2002,2003,2004,2005 Clinton Ebadi
678 Copying and distribution of this file, with or without modification, are
679 permitted provided the copyright notice and this notice are preserved.