static void err_list_add(int code, char *buf, int len)
{
struct err_list *el;
- el = (struct err_list *)malloc(sizeof(*el));
+ el = new(struct err_list);
if (!el) exit_cleanup(RERR_MALLOC);
el->next = NULL;
- el->buf = malloc(len+4);
+ el->buf = new_array(char, len+4);
if (!el->buf) exit_cleanup(RERR_MALLOC);
memcpy(el->buf+4, buf, len);
SIVAL(el->buf, 0, ((code+MPLEX_BASE)<<24) | len);
#endif
}
-void log_open()
+void log_open(void)
{
if (logfname && !logfile) {
extern int orig_umask;
}
}
-void log_close()
+void log_close(void)
{
if (logfile) {
fclose(logfile);
return;
}
- /* next, if we are a server but not in daemon mode, and multiplexing
- * is enabled, pass it to the other side. */
- if (am_server && !am_daemon && io_multiplex_write(code, buf, len)) {
+ /* next, if we are a server and multiplexing is enabled,
+ * pass it to the other side. */
+ if (am_server && io_multiplex_write(code, buf, len)) {
return;
}
* side because we don't want the client to see most errors for
* security reasons. We do want early messages when running daemon
* mode over a remote shell to go to the remote side; those will
- * fall through to the next case. */
+ * fall through to the next case.
+ * Note that this is only for the time before multiplexing is enabled.
+ */
if (am_daemon && (!am_server || log_initialised)) {
static int depth;
int priority = LOG_INFO;
name, code, file, line);
}
}
-
-/*
- * Log the incoming transfer of a file for interactive use,
- * this will be called at the end where the client was run.
- * Called when a file starts to be transferred.
- */
-void log_transfer(struct file_struct *file, const char *fname)
-{
- extern int verbose;
-
- if (!verbose) return;
-
- rprintf(FINFO, "%s\n", fname);
-}