mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-29 01:13:08 +00:00
Add Alex Dupre's patch for SpamAssassin integration, conditional
on the WITH_SPAMASSASSIN knob. PR: 58503 Submitted by: Alex Dupre <sysadmin@alexdupre.com>
This commit is contained in:
parent
450b648c54
commit
f4a88d4c6c
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=92729
@ -55,6 +55,7 @@ CONFIGURE_ARGS= --enable-qmaildir=${QMAIL_DIR} \
|
||||
# WITHOUT_USERS_BIG_DIR - disables using big directories for users
|
||||
# WITHOUT_SEEKABLE - disables vdelivermail's attempt to make its input seekable
|
||||
# WITH_DOMAIN_QUOTAS - enable domain quotas
|
||||
# WITH_SPAMASSASSIN - enable SpamAssassin checks before Maildir delivery
|
||||
#
|
||||
# Set these to the values you'd prefer
|
||||
#
|
||||
@ -116,6 +117,33 @@ HARDQUOTA?= 10000000
|
||||
RELAYCLEAR?= 30
|
||||
LOGLEVEL?= y
|
||||
|
||||
.if defined(WITH_MYSQL)
|
||||
USE_MYSQL= yes
|
||||
CONFIGURE_ARGS+= --enable-mysql=y \
|
||||
--enable-incdir=${LOCALBASE}/include/mysql \
|
||||
--enable-libdir=${LOCALBASE}/lib/mysql
|
||||
.if defined(WITH_MYSQL_REPLICATION)
|
||||
CONFIGURE_ARGS+= --enable-mysql-replication=y
|
||||
.endif
|
||||
.if defined(WITH_MYSQL_LOG)
|
||||
CONFIGURE_ARGS+= --enable-mysql-logging=y
|
||||
.endif
|
||||
.if defined(WITH_MYSQL_LIMITS)
|
||||
CONFIGURE_ARGS+= --enable-mysql-limits=y
|
||||
.endif
|
||||
|
||||
WITH_MYSQL_SERVER?= localhost
|
||||
WITH_MYSQL_READ_SERVER?= ${WITH_MYSQL_SERVER}
|
||||
WITH_MYSQL_UPDATE_SERVER?= ${WITH_MYSQL_SERVER}
|
||||
WITH_MYSQL_USER?= vpopmail
|
||||
WITH_MYSQL_READ_USER?= ${WITH_MYSQL_USER}
|
||||
WITH_MYSQL_UPDATE_USER?= ${WITH_MYSQL_USER}
|
||||
WITH_MYSQL_PASSWD?= secret
|
||||
WITH_MYSQL_READ_PASSWD?= ${WITH_MYSQL_PASSWD}
|
||||
WITH_MYSQL_UPDATE_PASSWD?= ${WITH_MYSQL_PASSWD}
|
||||
WITH_MYSQL_DB?= vpopmail
|
||||
.endif
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
.if exists(${LOCALBASE}/qmail/bin/qmail-send)
|
||||
@ -168,33 +196,6 @@ CONFIGURE_ARGS+= --enable-clear-passwd=n
|
||||
CONFIGURE_ARGS+= --enable-learn-passwords=y
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MYSQL)
|
||||
USE_MYSQL= yes
|
||||
CONFIGURE_ARGS+= --enable-mysql=y \
|
||||
--enable-incdir=${LOCALBASE}/include/mysql \
|
||||
--enable-libdir=${LOCALBASE}/lib/mysql
|
||||
.if defined(WITH_MYSQL_REPLICATION)
|
||||
CONFIGURE_ARGS+= --enable-mysql-replication=y
|
||||
.endif
|
||||
.if defined(WITH_MYSQL_LOG)
|
||||
CONFIGURE_ARGS+= --enable-mysql-logging=y
|
||||
.endif
|
||||
.if defined(WITH_MYSQL_LIMITS)
|
||||
CONFIGURE_ARGS+= --enable-mysql-limits=y
|
||||
.endif
|
||||
|
||||
WITH_MYSQL_SERVER?= localhost
|
||||
WITH_MYSQL_READ_SERVER?= ${WITH_MYSQL_SERVER}
|
||||
WITH_MYSQL_UPDATE_SERVER?= ${WITH_MYSQL_SERVER}
|
||||
WITH_MYSQL_USER?= vpopmail
|
||||
WITH_MYSQL_READ_USER?= ${WITH_MYSQL_USER}
|
||||
WITH_MYSQL_UPDATE_USER?= ${WITH_MYSQL_USER}
|
||||
WITH_MYSQL_PASSWD?= secret
|
||||
WITH_MYSQL_READ_PASSWD?= ${WITH_MYSQL_PASSWD}
|
||||
WITH_MYSQL_UPDATE_PASSWD?= ${WITH_MYSQL_PASSWD}
|
||||
WITH_MYSQL_DB?= vpopmail
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SYBASE)
|
||||
CONFIGURE_ARGS+= --enable-sybase=y
|
||||
.endif
|
||||
@ -240,6 +241,11 @@ CONFIGURE_ARGS+= --enable-make-seekable=n
|
||||
CONFIGURE_ARGS+= --enable-domainquotas=y
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SPAMASSASSIN)
|
||||
BUILD_DEPENDS= spamc:${PORTSDIR}/mail/p5-Mail-SpamAssassin
|
||||
CONFIGURE_ARGS+= --enable-spamassassin=${LOCALBASE}/bin/spamc
|
||||
.endif
|
||||
|
||||
# autoconf and automake can remove our patches to the configure scripts.
|
||||
|
||||
post-patch:
|
||||
@ -309,5 +315,11 @@ post-install:
|
||||
>> ${PREFIX}/vpopmail/etc/vpopmail.mysql
|
||||
.endif
|
||||
${CHOWN} -R vpopmail:vchkpw ${PREFIX}/vpopmail/bin/ ${PREFIX}/vpopmail/etc/
|
||||
.if defined(WITH_SPAMASSASSIN)
|
||||
${ECHO_CMD} "***********************************************************************"
|
||||
${ECHO_CMD} "Now you should add the following options to your spamd.sh startup file:"
|
||||
${ECHO_CMD} "-v -u vpopmail"
|
||||
${ECHO_CMD} "***********************************************************************"
|
||||
.endif
|
||||
|
||||
.include <bsd.port.post.mk>
|
||||
|
12
mail/vpopmail-devel/files/patch-config.h.in
Normal file
12
mail/vpopmail-devel/files/patch-config.h.in
Normal file
@ -0,0 +1,12 @@
|
||||
--- config.h.in.orig Fri Oct 24 18:43:20 2003
|
||||
+++ config.h.in Fri Oct 24 18:43:45 2003
|
||||
@@ -89,6 +89,9 @@
|
||||
#undef QMAILNEWU
|
||||
|
||||
/* */
|
||||
+#undef SPAMC
|
||||
+
|
||||
+/* */
|
||||
#undef QMAILINJECT
|
||||
|
||||
/* */
|
@ -1,6 +1,15 @@
|
||||
--- configure.orig Thu Aug 28 21:09:47 2003
|
||||
+++ configure Fri Sep 5 00:13:14 2003
|
||||
@@ -1317,7 +1317,7 @@
|
||||
--- configure.orig Fri Oct 17 01:12:22 2003
|
||||
+++ configure Sat Oct 25 01:18:27 2003
|
||||
@@ -20,6 +20,8 @@
|
||||
ac_help="$ac_help
|
||||
--enable-qmail-newmrh=path Full path to qmail-newmrh program"
|
||||
ac_help="$ac_help
|
||||
+ --enable-spamassassin=path Enable SpamAssassin. Full path to spamc program. default /usr/local/bin/spamc"
|
||||
+ac_help="$ac_help
|
||||
--enable-vpopuser=vpopmail user vchkpw was installed as."
|
||||
ac_help="$ac_help
|
||||
--enable-vpopgroup=vchkpw group vchkpw was installed as."
|
||||
@@ -1317,7 +1319,7 @@
|
||||
;;
|
||||
esac
|
||||
|
||||
@ -9,7 +18,35 @@
|
||||
then
|
||||
echo "configure: warning: === vpopmail must be configured as root. ===" 1>&2
|
||||
echo "configure: warning: === please switch to the root user and ===" 1>&2
|
||||
@@ -1601,15 +1601,6 @@
|
||||
@@ -1446,6 +1448,27 @@
|
||||
EOF
|
||||
|
||||
|
||||
+# Check whether --enable-spamassassin or --disable-spamassassin was given.
|
||||
+if test "${enable_spamassassin+set}" = set; then
|
||||
+ enableval="$enable_spamassassin"
|
||||
+ spamc="$enableval"
|
||||
+
|
||||
+ case $spamc in
|
||||
+ 1*|y*|Y*)
|
||||
+ spamc="/usr/local/bin/spamc"
|
||||
+ ;;
|
||||
+ esac
|
||||
+
|
||||
+ if test ! -f "$spamc"
|
||||
+ then
|
||||
+ { echo "configure: error: Unable to find your spamc file, specify --enable-spamassassin=/full/path/to/spamc" 1>&2; exit 1; }
|
||||
+ fi
|
||||
+
|
||||
+ cat >> confdefs.h <<EOF
|
||||
+#define SPAMC "$spamc"
|
||||
+EOF
|
||||
+fi
|
||||
+
|
||||
|
||||
vpopuser="vpopmail"
|
||||
# Check whether --enable-vpopuser or --disable-vpopuser was given.
|
||||
@@ -1601,15 +1624,6 @@
|
||||
EOF
|
||||
|
||||
|
||||
@ -25,7 +62,7 @@
|
||||
# Check whether --enable-roaming-users or --disable-roaming-users was given.
|
||||
if test "${enable_roaming_users+set}" = set; then
|
||||
enableval="$enable_roaming_users"
|
||||
@@ -1671,17 +1662,7 @@
|
||||
@@ -1671,17 +1685,7 @@
|
||||
if test "${enable_tcpserver_file+set}" = set; then
|
||||
enableval="$enable_tcpserver_file"
|
||||
tcpserver_file="$enableval"
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- vdelivermail.c.orig Sat Nov 2 22:34:39 2002
|
||||
+++ vdelivermail.c Sat Nov 2 22:35:20 2002
|
||||
@@ -263,7 +263,7 @@
|
||||
--- vdelivermail.c.orig Mon Oct 20 20:59:57 2003
|
||||
+++ vdelivermail.c Fri Oct 24 18:31:45 2003
|
||||
@@ -257,7 +257,7 @@
|
||||
|
||||
/* check for wildcard if there's no match */
|
||||
if(tmpstr == NULL) {
|
||||
@ -9,3 +9,42 @@
|
||||
if(TheUser[i-1]=='-') {
|
||||
tmpuser[0] = '\0';
|
||||
strncat(tmpuser,TheUser,i);
|
||||
@@ -444,6 +444,7 @@
|
||||
int inject = 0;
|
||||
FILE *fs;
|
||||
char tmp_file[256];
|
||||
+ int pim[2];
|
||||
|
||||
/* check if the email is looping to this user */
|
||||
if ( is_looping( address ) == 1 ) {
|
||||
@@ -631,6 +632,30 @@
|
||||
}
|
||||
}
|
||||
|
||||
+#ifdef SPAMC
|
||||
+ /* fork the SpamAssassin client - patch by Alex Dupre */
|
||||
+ if (!pipe(pim)) {
|
||||
+ pid = vfork();
|
||||
+ switch (pid) {
|
||||
+ case -1:
|
||||
+ close(pim[0]);
|
||||
+ close(pim[1]);
|
||||
+ break;
|
||||
+ case 0:
|
||||
+ close(pim[0]);
|
||||
+ dup2(pim[1], 1);
|
||||
+ close(pim[1]);
|
||||
+ if (execl(SPAMC, SPAMC, "-u", maildir_to_email(address), 0) == -1) {
|
||||
+ while ((file_count=read(0, msgbuf, MSG_BUF_SIZE)) > 0)
|
||||
+ write(1, msgbuf, file_count);
|
||||
+ _exit(0);
|
||||
+ }
|
||||
+ }
|
||||
+ close(pim[1]);
|
||||
+ dup2(pim[0], 0);
|
||||
+ close(pim[0]);
|
||||
+ }
|
||||
+#endif
|
||||
|
||||
/* read it in chunks and write it to the new file */
|
||||
while((file_count=read(0,msgbuf,MSG_BUF_SIZE))>0) {
|
||||
|
@ -55,6 +55,7 @@ CONFIGURE_ARGS= --enable-qmaildir=${QMAIL_DIR} \
|
||||
# WITHOUT_USERS_BIG_DIR - disables using big directories for users
|
||||
# WITHOUT_SEEKABLE - disables vdelivermail's attempt to make its input seekable
|
||||
# WITH_DOMAIN_QUOTAS - enable domain quotas
|
||||
# WITH_SPAMASSASSIN - enable SpamAssassin checks before Maildir delivery
|
||||
#
|
||||
# Set these to the values you'd prefer
|
||||
#
|
||||
@ -116,6 +117,33 @@ HARDQUOTA?= 10000000
|
||||
RELAYCLEAR?= 30
|
||||
LOGLEVEL?= y
|
||||
|
||||
.if defined(WITH_MYSQL)
|
||||
USE_MYSQL= yes
|
||||
CONFIGURE_ARGS+= --enable-mysql=y \
|
||||
--enable-incdir=${LOCALBASE}/include/mysql \
|
||||
--enable-libdir=${LOCALBASE}/lib/mysql
|
||||
.if defined(WITH_MYSQL_REPLICATION)
|
||||
CONFIGURE_ARGS+= --enable-mysql-replication=y
|
||||
.endif
|
||||
.if defined(WITH_MYSQL_LOG)
|
||||
CONFIGURE_ARGS+= --enable-mysql-logging=y
|
||||
.endif
|
||||
.if defined(WITH_MYSQL_LIMITS)
|
||||
CONFIGURE_ARGS+= --enable-mysql-limits=y
|
||||
.endif
|
||||
|
||||
WITH_MYSQL_SERVER?= localhost
|
||||
WITH_MYSQL_READ_SERVER?= ${WITH_MYSQL_SERVER}
|
||||
WITH_MYSQL_UPDATE_SERVER?= ${WITH_MYSQL_SERVER}
|
||||
WITH_MYSQL_USER?= vpopmail
|
||||
WITH_MYSQL_READ_USER?= ${WITH_MYSQL_USER}
|
||||
WITH_MYSQL_UPDATE_USER?= ${WITH_MYSQL_USER}
|
||||
WITH_MYSQL_PASSWD?= secret
|
||||
WITH_MYSQL_READ_PASSWD?= ${WITH_MYSQL_PASSWD}
|
||||
WITH_MYSQL_UPDATE_PASSWD?= ${WITH_MYSQL_PASSWD}
|
||||
WITH_MYSQL_DB?= vpopmail
|
||||
.endif
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
.if exists(${LOCALBASE}/qmail/bin/qmail-send)
|
||||
@ -168,33 +196,6 @@ CONFIGURE_ARGS+= --enable-clear-passwd=n
|
||||
CONFIGURE_ARGS+= --enable-learn-passwords=y
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MYSQL)
|
||||
USE_MYSQL= yes
|
||||
CONFIGURE_ARGS+= --enable-mysql=y \
|
||||
--enable-incdir=${LOCALBASE}/include/mysql \
|
||||
--enable-libdir=${LOCALBASE}/lib/mysql
|
||||
.if defined(WITH_MYSQL_REPLICATION)
|
||||
CONFIGURE_ARGS+= --enable-mysql-replication=y
|
||||
.endif
|
||||
.if defined(WITH_MYSQL_LOG)
|
||||
CONFIGURE_ARGS+= --enable-mysql-logging=y
|
||||
.endif
|
||||
.if defined(WITH_MYSQL_LIMITS)
|
||||
CONFIGURE_ARGS+= --enable-mysql-limits=y
|
||||
.endif
|
||||
|
||||
WITH_MYSQL_SERVER?= localhost
|
||||
WITH_MYSQL_READ_SERVER?= ${WITH_MYSQL_SERVER}
|
||||
WITH_MYSQL_UPDATE_SERVER?= ${WITH_MYSQL_SERVER}
|
||||
WITH_MYSQL_USER?= vpopmail
|
||||
WITH_MYSQL_READ_USER?= ${WITH_MYSQL_USER}
|
||||
WITH_MYSQL_UPDATE_USER?= ${WITH_MYSQL_USER}
|
||||
WITH_MYSQL_PASSWD?= secret
|
||||
WITH_MYSQL_READ_PASSWD?= ${WITH_MYSQL_PASSWD}
|
||||
WITH_MYSQL_UPDATE_PASSWD?= ${WITH_MYSQL_PASSWD}
|
||||
WITH_MYSQL_DB?= vpopmail
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SYBASE)
|
||||
CONFIGURE_ARGS+= --enable-sybase=y
|
||||
.endif
|
||||
@ -240,6 +241,11 @@ CONFIGURE_ARGS+= --enable-make-seekable=n
|
||||
CONFIGURE_ARGS+= --enable-domainquotas=y
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SPAMASSASSIN)
|
||||
BUILD_DEPENDS= spamc:${PORTSDIR}/mail/p5-Mail-SpamAssassin
|
||||
CONFIGURE_ARGS+= --enable-spamassassin=${LOCALBASE}/bin/spamc
|
||||
.endif
|
||||
|
||||
# autoconf and automake can remove our patches to the configure scripts.
|
||||
|
||||
post-patch:
|
||||
@ -309,5 +315,11 @@ post-install:
|
||||
>> ${PREFIX}/vpopmail/etc/vpopmail.mysql
|
||||
.endif
|
||||
${CHOWN} -R vpopmail:vchkpw ${PREFIX}/vpopmail/bin/ ${PREFIX}/vpopmail/etc/
|
||||
.if defined(WITH_SPAMASSASSIN)
|
||||
${ECHO_CMD} "***********************************************************************"
|
||||
${ECHO_CMD} "Now you should add the following options to your spamd.sh startup file:"
|
||||
${ECHO_CMD} "-v -u vpopmail"
|
||||
${ECHO_CMD} "***********************************************************************"
|
||||
.endif
|
||||
|
||||
.include <bsd.port.post.mk>
|
||||
|
12
mail/vpopmail/files/patch-config.h.in
Normal file
12
mail/vpopmail/files/patch-config.h.in
Normal file
@ -0,0 +1,12 @@
|
||||
--- config.h.in.orig Fri Oct 24 18:43:20 2003
|
||||
+++ config.h.in Fri Oct 24 18:43:45 2003
|
||||
@@ -89,6 +89,9 @@
|
||||
#undef QMAILNEWU
|
||||
|
||||
/* */
|
||||
+#undef SPAMC
|
||||
+
|
||||
+/* */
|
||||
#undef QMAILINJECT
|
||||
|
||||
/* */
|
@ -1,6 +1,15 @@
|
||||
--- configure.orig Thu Aug 28 21:09:47 2003
|
||||
+++ configure Fri Sep 5 00:13:14 2003
|
||||
@@ -1317,7 +1317,7 @@
|
||||
--- configure.orig Fri Oct 17 01:12:22 2003
|
||||
+++ configure Sat Oct 25 01:18:27 2003
|
||||
@@ -20,6 +20,8 @@
|
||||
ac_help="$ac_help
|
||||
--enable-qmail-newmrh=path Full path to qmail-newmrh program"
|
||||
ac_help="$ac_help
|
||||
+ --enable-spamassassin=path Enable SpamAssassin. Full path to spamc program. default /usr/local/bin/spamc"
|
||||
+ac_help="$ac_help
|
||||
--enable-vpopuser=vpopmail user vchkpw was installed as."
|
||||
ac_help="$ac_help
|
||||
--enable-vpopgroup=vchkpw group vchkpw was installed as."
|
||||
@@ -1317,7 +1319,7 @@
|
||||
;;
|
||||
esac
|
||||
|
||||
@ -9,7 +18,35 @@
|
||||
then
|
||||
echo "configure: warning: === vpopmail must be configured as root. ===" 1>&2
|
||||
echo "configure: warning: === please switch to the root user and ===" 1>&2
|
||||
@@ -1601,15 +1601,6 @@
|
||||
@@ -1446,6 +1448,27 @@
|
||||
EOF
|
||||
|
||||
|
||||
+# Check whether --enable-spamassassin or --disable-spamassassin was given.
|
||||
+if test "${enable_spamassassin+set}" = set; then
|
||||
+ enableval="$enable_spamassassin"
|
||||
+ spamc="$enableval"
|
||||
+
|
||||
+ case $spamc in
|
||||
+ 1*|y*|Y*)
|
||||
+ spamc="/usr/local/bin/spamc"
|
||||
+ ;;
|
||||
+ esac
|
||||
+
|
||||
+ if test ! -f "$spamc"
|
||||
+ then
|
||||
+ { echo "configure: error: Unable to find your spamc file, specify --enable-spamassassin=/full/path/to/spamc" 1>&2; exit 1; }
|
||||
+ fi
|
||||
+
|
||||
+ cat >> confdefs.h <<EOF
|
||||
+#define SPAMC "$spamc"
|
||||
+EOF
|
||||
+fi
|
||||
+
|
||||
|
||||
vpopuser="vpopmail"
|
||||
# Check whether --enable-vpopuser or --disable-vpopuser was given.
|
||||
@@ -1601,15 +1624,6 @@
|
||||
EOF
|
||||
|
||||
|
||||
@ -25,7 +62,7 @@
|
||||
# Check whether --enable-roaming-users or --disable-roaming-users was given.
|
||||
if test "${enable_roaming_users+set}" = set; then
|
||||
enableval="$enable_roaming_users"
|
||||
@@ -1671,17 +1662,7 @@
|
||||
@@ -1671,17 +1685,7 @@
|
||||
if test "${enable_tcpserver_file+set}" = set; then
|
||||
enableval="$enable_tcpserver_file"
|
||||
tcpserver_file="$enableval"
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- vdelivermail.c.orig Sat Nov 2 22:34:39 2002
|
||||
+++ vdelivermail.c Sat Nov 2 22:35:20 2002
|
||||
@@ -263,7 +263,7 @@
|
||||
--- vdelivermail.c.orig Mon Oct 20 20:59:57 2003
|
||||
+++ vdelivermail.c Fri Oct 24 18:31:45 2003
|
||||
@@ -257,7 +257,7 @@
|
||||
|
||||
/* check for wildcard if there's no match */
|
||||
if(tmpstr == NULL) {
|
||||
@ -9,3 +9,42 @@
|
||||
if(TheUser[i-1]=='-') {
|
||||
tmpuser[0] = '\0';
|
||||
strncat(tmpuser,TheUser,i);
|
||||
@@ -444,6 +444,7 @@
|
||||
int inject = 0;
|
||||
FILE *fs;
|
||||
char tmp_file[256];
|
||||
+ int pim[2];
|
||||
|
||||
/* check if the email is looping to this user */
|
||||
if ( is_looping( address ) == 1 ) {
|
||||
@@ -631,6 +632,30 @@
|
||||
}
|
||||
}
|
||||
|
||||
+#ifdef SPAMC
|
||||
+ /* fork the SpamAssassin client - patch by Alex Dupre */
|
||||
+ if (!pipe(pim)) {
|
||||
+ pid = vfork();
|
||||
+ switch (pid) {
|
||||
+ case -1:
|
||||
+ close(pim[0]);
|
||||
+ close(pim[1]);
|
||||
+ break;
|
||||
+ case 0:
|
||||
+ close(pim[0]);
|
||||
+ dup2(pim[1], 1);
|
||||
+ close(pim[1]);
|
||||
+ if (execl(SPAMC, SPAMC, "-u", maildir_to_email(address), 0) == -1) {
|
||||
+ while ((file_count=read(0, msgbuf, MSG_BUF_SIZE)) > 0)
|
||||
+ write(1, msgbuf, file_count);
|
||||
+ _exit(0);
|
||||
+ }
|
||||
+ }
|
||||
+ close(pim[1]);
|
||||
+ dup2(pim[0], 0);
|
||||
+ close(pim[0]);
|
||||
+ }
|
||||
+#endif
|
||||
|
||||
/* read it in chunks and write it to the new file */
|
||||
while((file_count=read(0,msgbuf,MSG_BUF_SIZE))>0) {
|
||||
|
Loading…
Reference in New Issue
Block a user