- r= mkdir(realsockdir, 0700);
- if (r) NOCONTROL("mkdir real socket dir %s", realsockdir);
-
- } else {
- uid_t self= geteuid();
- if (!S_ISDIR(stab.st_mode) ||
- stab.st_uid != self ||
- stab.st_mode & 0007) {
- warn("no control socket, because real socket directory"
- " is somehow wrong (ISDIR=%d, uid=%lu (exp.%lu), mode %lo)",
- !!S_ISDIR(stab.st_mode),
- (unsigned long)stab.st_uid, (unsigned long)self,
- (unsigned long)stab.st_mode & 0777UL);
- goto nocontrol;
- }
- }
-
- real= xasprintf("%s/s%lx.%lx", realsockdir,
- (unsigned long)xtime(), (unsigned long)self_pid);
- int reallen= strlen(real);
+ int pathlen= strlen(path_cli);
+ if (pathlen > maxlen) {
+ warn("no cli listener, because cli socket path %s too long (%d>%d)",
+ path_cli, pathlen, maxlen);
+ return;
+ }