Hello..
My domains are located somewhere else then ~vpopmail/domains/somedomain.com
(each system user has his own domains/ directory in his homedir).
Since vpopmaild doesn't allow a server admin to use the
read_file/list_dir/write_file ... functions for those domains, I wrote a
small patch.
Imho a serveradmin account should be able to access ALL domains handled by
vpopmail, so I think this patch should get included in the next release.
Patch is for vpopmail-5.4.18
--
Best Regards
---------------------------------------------------------------------------
Justin Heesemann ionium Technologies
[EMAIL PROTECTED] www.ionium.org
*** vpopmaild.old.c 2006-12-17 07:53:39.000000000 +0100
--- vpopmaild.c 2007-02-15 13:51:51.000000000 +0100
*************** int validate_path(char *newpath, char *p
*** 1239,1244 ****
--- 1239,1245 ----
return(2);
}
+ int valid_domain_path = 0;
/* expand the path */
if ( path[0] == '/' ) {
snprintf(newpath, MAXPATH, path);
*************** int validate_path(char *newpath, char *p
*** 1300,1310 ****
}
snprintf(newpath, MAXPATH, thedir);
strncat(newpath, &path[i], MAXPATH );
}
}
if ( AuthVpw.pw_gid & SA_ADMIN ) {
! if ( strncmp(TheVpopmailDomains, newpath, strlen(TheVpopmailDomains))!=0 ) {
snprintf(WriteBuf,sizeof(WriteBuf),
RET_ERR "1510 unauthorized directory" RET_CRLF);
return(10);
--- 1301,1312 ----
}
snprintf(newpath, MAXPATH, thedir);
strncat(newpath, &path[i], MAXPATH );
+ valid_domain_path = 1;
}
}
if ( AuthVpw.pw_gid & SA_ADMIN ) {
! if ( valid_domain_path == 0 && strncmp(TheVpopmailDomains, newpath, strlen(TheVpopmailDomains))!=0 ) {
snprintf(WriteBuf,sizeof(WriteBuf),
RET_ERR "1510 unauthorized directory" RET_CRLF);
return(10);