added vpopmail_error to report error string (vpopmail_errno global var)
put exec functions back in with _ex (vpopmail_add_domain_ex)
rewritten README to help users keep secure
fixed protos to state bool instead void return type
@ used. (Andrei)
@- Added EXTR_PREFIX_INVALID flag to extract() to automatically prefix
@ string keys that do not constitute valid variable names. (Andrei)
a large object, and the pg_lotell call, which can be used to find the
current file offset for a large object (Submitted by: Adam Haberlach
<adam@newsnipple.com>).
@- Added the pg_lolseek and pg_lotell functions (Derick)
vpopmail executables
implemented vaddaliasdomain natively
global variable to store whether vpopmail was used and only vclose() if
necessary
return the functions to returning true/false for success/failure rather than
some arbitrary vpopmail return value
return the functions to not doing everything at once as you then lose
fine-grain control over its operation
change C++ comments to C
removed unneccessary php.ini calls and defines
removed module_init, shutdown, request_init declarations and references
added request_shutdown to close mysql/other db connection
(a must in apache module)
added defines for external binaries from vpopmail
changed functions to present more consistent api from user's point of view
so that in one call more stuff is done
added more comprehensive MINFO function helping users debug their case
added static int vpopmail_exec(char *cmd) [will change to php_Exec soon]
@ vpopmail extension updated to working alfa. give it a try but keep in
@ mind that it is not ready for production environments (Boian Bonev)
guys, always remember that every function that *generates output* could cause a
bailout if ignore_user_abort is set to false (and the user _aborts_ the
connection). in this case a longjump will be performed and our function (in
this case readfile) will have no chance to clean-up. having said that it's a
good idea to register all opened files using REGISTER_RESOURCE - that way the
engine will make sure they get closed on request end.