fix/proftpd: socket created in software
When proftpd software release is tested locally, the socket named /srv/slapgrid/slappart76/srv/runner/instance/slappart1/tmp/soft/91d420e3970a2088e648d2eb86e155ea/parts/prof is created but never removed. First it is not an appropriated directory to create a socket and then not removing this socket leads to an error if tests are run a second time :
subprocess.CalledProcessError: Command '('ldd', '/srv/slapgrid/slappart76/srv/runner/instance/slappart1/tmp/soft/91d420e3970a2088e648d2eb86e155ea/parts/prof')' returned non-zero exit status 1.
Ran 0 tests in 9.914s
FAILED (errors=1)
This is due to code in https://github.com/proftpd/proftpd/blob/master/src/ctrls.c :
const char *socket_path = PR_RUN_DIR "/test.sock";
/*
socket_path="/srv/slapgrid/slappart76/srv/runner/instance/slappart1/tmp/soft/91d420e3970a2088e648d2eb86e155ea/parts/proftp/var/test.sock"
*/
sstrncpy(sockun.sun_path, socket_path, sizeof(sockun.sun_path));
/*
sockun.sun_path="/srv/slapgrid/slappart76/srv/runner/instance/slappart1/tmp/soft/91d420e3970a2088e648d2eb86e155ea/parts/prof"
*/
where sun_path
is limited to UNIX_PATH_MAX (108 characters): char sun_path[UNIX_PATH_MAX]; https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/un.h#L9