X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Ftransports%2Fappendfile.c;h=2d008d97d7915db65dd5fe6b7211e8e9478a892c;hb=753739fdef6d9753ee4a7e89afd959a4034d2ad9;hp=139f9a3ef95b67f8790cb76d40277cfc1fe9c298;hpb=5cd1d1356732d96d49a1f7c682d1b8a33b2576f9;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/transports/appendfile.c b/src/src/transports/appendfile.c index 139f9a3ef..2d008d97d 100644 --- a/src/src/transports/appendfile.c +++ b/src/src/transports/appendfile.c @@ -174,6 +174,9 @@ Arguments: Returns: OK, FAIL, or DEFER */ +void +open_logs(void); + static int appendfile_transport_setup(transport_instance *tblock, address_item *addrlist, transport_feedback *dummy, uid_t uid, gid_t gid, uschar **errmsg) @@ -183,6 +186,14 @@ appendfile_transport_options_block *ob = uschar *q = ob->quota; double default_value = 0.0; +addrlist = addrlist; /* Keep picky compilers happy */ +dummy = dummy; +uid = uid; +gid = gid; + +/* we can't wait until we're not privileged anymore */ +open_logs(); + if (ob->expand_maildir_use_size_file) ob->maildir_use_size_file = expand_check_condition(ob->expand_maildir_use_size_file, US"`maildir_use_size_file` in transport", tblock->name); @@ -1357,8 +1368,8 @@ if (!isdirectory) if (ob->create_directory && allow_creation_here) { uschar *p = Ustrrchr(path, '/'); - *p = '\0'; - if (!directory_make(NULL, path, ob->dirmode, FALSE)) + p = string_copyn(path, p - path); + if (!directory_make(NULL, p, ob->dirmode, FALSE)) { addr->basic_errno = errno; addr->message = @@ -1367,7 +1378,6 @@ if (!isdirectory) DEBUG(D_transport) debug_printf("%s transport: %s\n", tblock->name, path); return FALSE; } - *p = '/'; } /* If file_format is set we must check that any existing file matches one of