On Nov 28, 2004, at 6:59 AM, Robin Bowes wrote:
Can you you point me to a link to this patch - I can't seem to find
it on vpopmail.sf.net.
I guess I was mistaken -- the patch never made it to SourceForge. Here
it is. I declined to add it because it runs cp via a system() call.
I'd prefer to have vpopmail manage the copying itself.
Patch from David Winkler to copy a set of files into the home directory
of newly created users.
Index: vpopmail.c
===
RCS file: /cvsroot/vpopmail/vpopmail/vpopmail.c,v
retrieving revision 1.2
diff -u -r1.2 vpopmail.c
--- vpopmail.c 14 Sep 2003 22:17:30 - 1.2
+++ vpopmail.c 23 Sep 2003 19:12:45 -
@@ -1655,6 +1655,7 @@
struct vqpasswd *mypw;
char calling_dir[MAX_BUFF];
char domain_dir[MAX_BUFF];
+ char tmpbuf[MAX_BUFF];
verrori = 0;
/* record the dir where the command was run from */
@@ -1701,6 +1702,7 @@
return(NULL);
}
+#ifndef ENABLE_VPOPMAIL_SKEL
if (mkdir(Maildir,VPOPMAIL_DIR_MODE) == -1){
/* back out of changes made above */
chdir(domain_dir); chdir(user_hash); vdelfiles(username);
@@ -1743,6 +1745,12 @@
/* set permissions on the user's dir */
chdir(../..);
+#else
+ sprintf(tmpbuf, cp -rf %s/etc/skel/* %s/%s,
VPOPMAILDIR,domain_dir,username);
+ system(tmpbuf);
+ chdir(../);
+#endif
+
r_chown(username, uid, gid);
/* see if the user already exists in the auth backend */
Index: acconfig.h
===
RCS file: /cvsroot/vpopmail/vpopmail/acconfig.h,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 acconfig.h
--- acconfig.h 10 Sep 2003 20:43:14 - 1.1.1.1
+++ acconfig.h 23 Sep 2003 19:12:45 -
@@ -1,3 +1,5 @@
+#undef ENABLE_VPOPMAIL_SKEL
+
#undef PS_COMMAND
#undef ENABLE_PASSWD
Index: Makefile.am
===
RCS file: /cvsroot/vpopmail/vpopmail/Makefile.am,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 Makefile.am
--- Makefile.am 10 Sep 2003 20:43:12 - 1.1.1.1
+++ Makefile.am 23 Sep 2003 19:12:45 -
@@ -94,6 +94,12 @@
$(DESTDIR)@vpopmaildir@/@domains_dir@
$(INSTALL) -d $(DESTDIR)@vpopmaildir@/etc
+ $(INSTALL) -d $(DESTDIR)@vpopmaildir@/etc/skel
+ $(INSTALL) -d $(DESTDIR)@vpopmaildir@/etc/skel/Maildir
+ $(INSTALL) -d $(DESTDIR)@vpopmaildir@/etc/skel/Maildir/new
+ $(INSTALL) -d $(DESTDIR)@vpopmaildir@/etc/skel/Maildir/cur
+ $(INSTALL) -d $(DESTDIR)@vpopmaildir@/etc/skel/Maildir/tmp
+
echo [EMAIL PROTECTED]@/include @vpopmaildir@/etc/inc_deps
echo [EMAIL PROTECTED]@/lib -lvpopmail @auth_libs@
@vpopmaildir@/etc/lib_deps
Index: configure.in
===
RCS file: /cvsroot/vpopmail/vpopmail/configure.in,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 configure.in
--- configure.in10 Sep 2003 20:43:11 - 1.1.1.1
+++ configure.in23 Sep 2003 19:12:45 -
@@ -342,6 +342,23 @@
;;
esac
+AC_ARG_ENABLE(vpopmail-skel,
+ [ --enable-vpopmail-skel=y|nTurn on (y) or off (n,
default) to use
+vpopmail skeleton for new users.],
+ ENABLE_VPOPMAIL_SKEL=$enableval,
+ [
+ ENABLE_VPOPMAIL_SKEL=n
+ ])
+
+case $ENABLE_VPOPMAIL_SKEL in
+1*|y*|Y*)
+ ENABLE_VPOPMAIL_SKEL=1
+
AC_DEFINE_UNQUOTED(ENABLE_VPOPMAIL_SKEL,$ENABLE_VPOPMAIL_SKEL)
+ ;;
+*)
+ ;;
+esac
+
AC_ARG_ENABLE(md5-passwords,
[ --enable-md5-passwords=y|n Turn on (y default ) or off (n)
to store encrypted passwords as md5.],
ENABLE_MD5_PASSWORDS=$enableval,
@@ -1315,6 +1332,15 @@
;;
esac
+case $ENABLE_VPOPMAIL_SKEL in
+1*|y*|Y*)
+echo vpop skel = ON --enable-vpopmail-skel=y
+echo --enable-vpopmail-skel=y \\ vpopmail.config.sh
+ ;;
+*)
+echo vpop skel = OFF --enable-vpopmail-skel=n (default)
+ ;;
+esac
case $ENABLE_LOGGING in
1*|y*|Y*)
--
Tom Collins - [EMAIL PROTECTED]
QmailAdmin: http://qmailadmin.sf.net/ Vpopmail: http://vpopmail.sf.net/
Info on the Sniffter hand-held Network Tester: http://sniffter.com/