X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=common-src%2Fsecurity.c;h=54c6b99b1b2f9b96c09f46ceadb4b9486305429f;hb=b6ea83cedbf3e034fa91d66a7f180f788f34f907;hp=795d64eda86df73eacd91f34a4f2de0c586a9e33;hpb=1194fb66aa28d9929c3f2bef3cc6c1c3f40a60a4;p=debian%2Famanda diff --git a/common-src/security.c b/common-src/security.c index 795d64e..54c6b99 100644 --- a/common-src/security.c +++ b/common-src/security.c @@ -24,7 +24,7 @@ * file named AUTHORS, in the root directory of this distribution. */ /* - * $Id: security.c,v 1.26 2004/03/16 19:09:39 martinea Exp $ + * $Id: security.c,v 1.28 2006/05/25 01:47:12 johnfranks Exp $ * * Security driver interface for the Amanda backup system. */ @@ -49,6 +49,13 @@ extern const security_driver_t rsh_security_driver; #ifdef SSH_SECURITY extern const security_driver_t ssh_security_driver; #endif +#ifdef BSDTCP_SECURITY +extern const security_driver_t bsdtcp_security_driver; +#endif +#ifdef BSDUDP_SECURITY +extern const security_driver_t bsdudp_security_driver; +#endif +extern const security_driver_t local_security_driver; static const security_driver_t *drivers[] = { #ifdef BSD_SECURITY @@ -66,23 +73,35 @@ static const security_driver_t *drivers[] = { #ifdef SSH_SECURITY &ssh_security_driver, #endif +#ifdef BSDTCP_SECURITY + &bsdtcp_security_driver, +#endif +#ifdef BSDUDP_SECURITY + &bsdudp_security_driver, +#endif + &local_security_driver, }; -#define NDRIVERS (sizeof(drivers) / sizeof(drivers[0])) +#define NDRIVERS (size_t)(sizeof(drivers) / sizeof(drivers[0])) /* * Given a name of a security type, returns the driver structure */ const security_driver_t * -security_getdriver(name) - const char *name; +security_getdriver( + const char * name) { - int i; + size_t i; assert(name != NULL); - for (i = 0; i < NDRIVERS; i++) - if (strcasecmp(name, drivers[i]->name) == 0) + for (i = 0; i < NDRIVERS; i++) { + if (strcasecmp(name, drivers[i]->name) == 0) { + dbprintf(_("security_getdriver(name=%s) returns %p\n"), + name, drivers[i]); return (drivers[i]); + } + } + dbprintf(_("security_getdriver(name=%s) returns NULL\n"), name); return (NULL); } @@ -90,33 +109,39 @@ security_getdriver(name) * For the drivers: initialize the common part of a security_handle_t */ void -security_handleinit(handle, driver) - security_handle_t *handle; - const security_driver_t *driver; +security_handleinit( + security_handle_t * handle, + const security_driver_t * driver) { - + dbprintf(_("security_handleinit(handle=%p, driver=%p (%s))\n"), + handle, driver, driver->name); handle->driver = driver; - handle->error = stralloc("unknown protocol error"); + handle->error = stralloc(_("unknown protocol error")); } printf_arglist_function1(void security_seterror, security_handle_t *, handle, const char *, fmt) { - static char buf[256]; + static char buf[1024]; va_list argp; assert(handle->error != NULL); arglist_start(argp, fmt); - vsnprintf(buf, sizeof(buf), fmt, argp); + g_vsnprintf(buf, SIZEOF(buf), fmt, argp); arglist_end(argp); handle->error = newstralloc(handle->error, buf); + dbprintf(_("security_seterror(handle=%p, driver=%p (%s) error=%s)\n"), + handle, handle->driver, + handle->driver->name, handle->error); } void -security_close(handle) - security_handle_t *handle; +security_close( + security_handle_t * handle) { - + dbprintf(_("security_close(handle=%p, driver=%p (%s))\n"), + handle, handle->driver, + handle->driver->name); amfree(handle->error); (*handle->driver->close)(handle); } @@ -125,34 +150,35 @@ security_close(handle) * For the drivers: initialize the common part of a security_stream_t */ void -security_streaminit(stream, driver) - security_stream_t *stream; - const security_driver_t *driver; +security_streaminit( + security_stream_t * stream, + const security_driver_t * driver) { - + dbprintf(_("security_streaminit(stream=%p, driver=%p (%s))\n"), + stream, driver, driver->name); stream->driver = driver; - stream->error = stralloc("unknown stream error"); + stream->error = stralloc(_("unknown stream error")); } printf_arglist_function1(void security_stream_seterror, security_stream_t *, stream, const char *, fmt) { - static char buf[256]; + static char buf[1024]; va_list argp; - assert(stream->error != NULL); arglist_start(argp, fmt); - vsnprintf(buf, sizeof(buf), fmt, argp); + g_vsnprintf(buf, SIZEOF(buf), fmt, argp); arglist_end(argp); stream->error = newstralloc(stream->error, buf); + dbprintf(_("security_stream_seterr(%p, %s)\n"), stream, stream->error); } void -security_stream_close(stream) - security_stream_t *stream; +security_stream_close( + security_stream_t * stream) { - + dbprintf(_("security_stream_close(%p)\n"), stream); amfree(stream->error); (*stream->driver->stream_close)(stream); }