#endif
extern int tls_write(void *, const uschar *, size_t, BOOL);
extern uschar *tls_validate_require_cipher(void);
-extern void tls_version_report(FILE *);
+extern gstring *tls_version_report(gstring *);
# ifdef SUPPORT_DANE
extern int tlsa_lookup(const host_item *, dns_answer *, BOOL);
#endif
extern void debug_logging_activate(uschar *, uschar *);
-extern void debug_logging_stop(void);
+extern void debug_logging_stop(BOOL);
extern void debug_print_argv(const uschar **);
extern void debug_print_ids(uschar *);
extern void debug_printf_indent(const char *, ...) PRINTF_FUNCTION(1,2);
extern void enq_end(uschar *);
extern BOOL enq_start(uschar *, unsigned);
#ifndef DISABLE_EVENT
-extern uschar *event_raise(uschar *, const uschar *, uschar *);
+extern uschar *event_raise(uschar *, const uschar *, uschar *, int *);
extern void msg_event_raise(const uschar *, const address_item *);
#endif
extern void sha1_end(hctx *, const uschar *, int, uschar *);
extern void sha1_mid(hctx *, const uschar *);
extern void sha1_start(hctx *);
+extern void show_string(BOOL, gstring *);
extern int sieve_interpret(uschar *, int, uschar *, uschar *, uschar *,
uschar *, address_item **, uschar **);
extern void sigalrm_handler(int);
extern void unspool_mbox(void);
#endif
#ifdef SUPPORT_I18N
-extern void utf8_version_report(FILE *);
+extern gstring *utf8_version_report(gstring *);
#endif
extern int verify_address(address_item *, FILE *, int, int, int, int,
string_get_tainted_trc(unsigned size, BOOL tainted, const char * func, unsigned line)
{
gstring * g = store_get_3(sizeof(gstring) + size, tainted, func, line);
-g->size = size;
+g->size = size; /*XXX would be good if we could see the actual alloc size */
g->ptr = 0;
g->s = US(g + 1);
return g;
static inline dns_answer *
store_get_dns_answer_trc(const uschar * func, unsigned line)
{
-/* return store_get_3(sizeof(dns_answer), TRUE, CCS func, line); use tainted mem */
return store_malloc_3(sizeof(dns_answer), CCS func, line);
}