"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/auths/heimdal_gssapi.c" between
exim-4.91.tar.xz and exim-4.92.tar.xz

About: Exim is a message transfer agent (MTA).

heimdal_gssapi.c  (exim-4.91.tar.xz):heimdal_gssapi.c  (exim-4.92.tar.xz)
skipping to change at line 84 skipping to change at line 84
US"$primary_hostname", /* server_hostname */ US"$primary_hostname", /* server_hostname */
NULL, /* server_keytab */ NULL, /* server_keytab */
US"smtp", /* server_service */ US"smtp", /* server_service */
}; };
#ifdef MACRO_PREDEF #ifdef MACRO_PREDEF
/* Dummy values */ /* Dummy values */
void auth_heimdal_gssapi_init(auth_instance *ablock) {} void auth_heimdal_gssapi_init(auth_instance *ablock) {}
int auth_heimdal_gssapi_server(auth_instance *ablock, uschar *data) {return 0;} int auth_heimdal_gssapi_server(auth_instance *ablock, uschar *data) {return 0;}
int auth_heimdal_gssapi_client(auth_instance *ablock, smtp_inblock *inblock, int auth_heimdal_gssapi_client(auth_instance *ablock, void * sx,
smtp_outblock *outblock, int timeout, uschar *buffer, int buffsize) {return 0; int timeout, uschar *buffer, int buffsize) {return 0;}
}
void auth_heimdal_gssapi_version_report(FILE *f) {} void auth_heimdal_gssapi_version_report(FILE *f) {}
#else /*!MACRO_PREDEF*/ #else /*!MACRO_PREDEF*/
/* "Globals" for managing the heimdal_gssapi interface. */ /* "Globals" for managing the heimdal_gssapi interface. */
/* Utility functions */ /* Utility functions */
static void static void
exim_heimdal_error_debug(const char *, krb5_context, krb5_error_code); exim_heimdal_error_debug(const char *, krb5_context, krb5_error_code);
static int static int
skipping to change at line 530 skipping to change at line 530
/* Auth succeeded, check server_condition */ /* Auth succeeded, check server_condition */
return auth_check_serv_cond(ablock); return auth_check_serv_cond(ablock);
} }
static int static int
exim_gssapi_error_defer(uschar *store_reset_point, exim_gssapi_error_defer(uschar *store_reset_point,
OM_uint32 major, OM_uint32 minor, OM_uint32 major, OM_uint32 minor,
const char *format, ...) const char *format, ...)
{ {
va_list ap; va_list ap;
uschar buffer[STRING_SPRINTF_BUFFER_SIZE];
OM_uint32 maj_stat, min_stat; OM_uint32 maj_stat, min_stat;
OM_uint32 msgcontext = 0; OM_uint32 msgcontext = 0;
gss_buffer_desc status_string; gss_buffer_desc status_string;
gstring * g;
va_start(ap, format); HDEBUG(D_auth)
if (!string_vformat(buffer, sizeof(buffer), format, ap)) {
log_write(0, LOG_MAIN|LOG_PANIC_DIE, va_start(ap, format);
"exim_gssapi_error_defer expansion larger than %lu", g = string_vformat(NULL, TRUE, format, ap);
sizeof(buffer)); va_end(ap);
va_end(ap); }
auth_defer_msg = NULL; auth_defer_msg = NULL;
do { do {
maj_stat = gss_display_status(&min_stat, maj_stat = gss_display_status(&min_stat,
major, GSS_C_GSS_CODE, GSS_C_NO_OID, major, GSS_C_GSS_CODE, GSS_C_NO_OID, &msgcontext, &status_string);
&msgcontext, &status_string);
if (auth_defer_msg == NULL) { if (!auth_defer_msg)
auth_defer_msg = string_copy(US status_string.value); auth_defer_msg = string_copy(US status_string.value);
}
HDEBUG(D_auth) debug_printf("heimdal %s: %.*s\n", HDEBUG(D_auth) debug_printf("heimdal %s: %.*s\n",
buffer, (int)status_string.length, CS status_string.value); string_from_gstring(g), (int)status_string.length,
CS status_string.value);
gss_release_buffer(&min_stat, &status_string); gss_release_buffer(&min_stat, &status_string);
} while (msgcontext != 0); } while (msgcontext != 0);
if (store_reset_point) if (store_reset_point)
store_reset(store_reset_point); store_reset(store_reset_point);
return DEFER; return DEFER;
} }
/************************************************* /*************************************************
* Client entry point * * Client entry point *
*************************************************/ *************************************************/
/* For interface, see auths/README */ /* For interface, see auths/README */
int int
auth_heimdal_gssapi_client( auth_heimdal_gssapi_client(
auth_instance *ablock, /* authenticator block */ auth_instance *ablock, /* authenticator block */
smtp_inblock *inblock, /* connection inblock */ void * sx, /* connection */
smtp_outblock *outblock, /* connection outblock */
int timeout, /* command timeout */ int timeout, /* command timeout */
uschar *buffer, /* buffer for reading response */ uschar *buffer, /* buffer for reading response */
int buffsize) /* size of buffer */ int buffsize) /* size of buffer */
{ {
HDEBUG(D_auth) HDEBUG(D_auth)
debug_printf("Client side NOT IMPLEMENTED: you should not see this!\n"); debug_printf("Client side NOT IMPLEMENTED: you should not see this!\n");
/* NOT IMPLEMENTED */ /* NOT IMPLEMENTED */
return FAIL; return FAIL;
} }
 End of changes. 9 change blocks. 
17 lines changed or deleted 14 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)