Using strchr() was splitting login and host at the first
occurrence of '@' which leads to troublesome behaviour.
When calling strace one would notice the misbehaviour:
execve("/usr/sbin/ssh", ["ssh", "-lthomas", "domain.org@10.8.13.2"
using strrch() however splits login and host at the last occurrence
of '@'.
Signed-off-by: Thomas Reifferscheid
---
src/doveadm/doveadm-dsync.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/doveadm/doveadm-dsync.c b/src/doveadm/doveadm-dsync.c
index caf569f1d..3b8d4549a 100644
--- a/src/doveadm/doveadm-dsync.c
+++ b/src/doveadm/doveadm-dsync.c
@@ -479,7 +479,7 @@ parse_ssh_location(const char *location, const char *username)
{
const char *host, *login;
- host = strchr(location, '@');
+ host = strrchr(location, '@');
if (host != NULL)
login = t_strdup_until(location, host++);
else {
--
2.11.0