summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--am/ipv6.m456
-rw-r--r--configure.ac9
-rw-r--r--examples/.gitignore2
-rw-r--r--examples/Makefile.am1
-rw-r--r--examples/aclck.c89
-rw-r--r--examples/echosrv.c69
-rw-r--r--examples/sa.c93
-rw-r--r--include/mailutils/Makefile.am2
-rw-r--r--include/mailutils/acl.h8
-rw-r--r--include/mailutils/cidr.h61
-rw-r--r--include/mailutils/debug.h3
-rw-r--r--include/mailutils/mailutils.h2
-rw-r--r--include/mailutils/server.h12
-rw-r--r--include/mailutils/sockaddr.h78
-rw-r--r--include/mailutils/stream.h4
-rw-r--r--include/mailutils/types.hin3
-rw-r--r--include/mailutils/url.h9
-rw-r--r--libmailutils/Makefile.am4
-rw-r--r--libmailutils/cidr/Makefile.am27
-rw-r--r--libmailutils/cidr/fromsa.c101
-rw-r--r--libmailutils/cidr/fromstr.c128
-rw-r--r--libmailutils/cidr/match.c38
-rw-r--r--libmailutils/cidr/tosa.c78
-rw-r--r--libmailutils/cidr/tostr.c159
-rw-r--r--libmailutils/diag/debug.c1
-rw-r--r--libmailutils/diag/errors8
-rw-r--r--libmailutils/server/acl.c366
-rw-r--r--libmailutils/server/ipsrv.c83
-rw-r--r--libmailutils/server/msrv.c348
-rw-r--r--libmailutils/sockaddr/Makefile.am31
-rw-r--r--libmailutils/sockaddr/copy.c36
-rw-r--r--libmailutils/sockaddr/create.c47
-rw-r--r--libmailutils/sockaddr/free.c50
-rw-r--r--libmailutils/sockaddr/fromnode.c253
-rw-r--r--libmailutils/sockaddr/insert.c64
-rw-r--r--libmailutils/sockaddr/ipaddr.c88
-rw-r--r--libmailutils/sockaddr/str.c109
-rw-r--r--libmailutils/sockaddr/unlink.c45
-rw-r--r--libmailutils/sockaddr/url.c130
-rw-r--r--libmailutils/stream/tcp.c178
-rw-r--r--libmailutils/tests/.gitignore1
-rw-r--r--libmailutils/tests/Makefile.am1
-rw-r--r--libmailutils/tests/cidr.c77
-rw-r--r--libmailutils/tests/url-parse.c49
-rw-r--r--libmailutils/tests/url.at14
-rw-r--r--libmailutils/url/create.c57
-rw-r--r--libmu_cfg/acl.c135
-rw-r--r--libproto/mailer/smtp.c25
-rw-r--r--libproto/pop/mbox.c27
-rw-r--r--mu/acl.c40
-rw-r--r--mu/imap.c25
-rw-r--r--mu/pop.c47
-rw-r--r--testsuite/smtpsend.c25
53 files changed, 2416 insertions, 980 deletions
diff --git a/am/ipv6.m4 b/am/ipv6.m4
new file mode 100644
index 000000000..2357314b9
--- /dev/null
+++ b/am/ipv6.m4
@@ -0,0 +1,56 @@
1dnl This file is part of GNU Mailutils. -*- autoconf -*-
2dnl Copyright (C) 2011 Free Software Foundation, Inc.
3dnl
4dnl GNU Mailutils is free software; you can redistribute it and/or modify
5dnl it under the terms of the GNU General Public License as published by
6dnl the Free Software Foundation; either version 3 of the License, or
7dnl (at your option) any later version.
8dnl
9dnl GNU Mailutils is distributed in the hope that it will be useful,
10dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
11dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12dnl GNU General Public License for more details.
13dnl
14dnl You should have received a copy of the GNU General Public License
15dnl along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>.
16
17AC_DEFUN([MU_ENABLE_IPV6],
18 [AC_ARG_ENABLE(ipv6,
19 [AC_HELP_STRING([--enable-ipv6], [enable IPv6 support])],
20 [status_ipv6=$enableval],
21 [status_ipv6=maybe])
22
23 if test $status_ipv6 != no; then
24 working_ipv6=no
25 AC_EGREP_CPP(MAILUTILS_AF_INET6_DEFINED,[
26#include <sys/socket.h>
27#if defined(AF_INET6)
28MAILUTILS_AF_INET6_DEFINED
29#endif
30],[working_ipv6=yes])
31
32 AC_CHECK_TYPE([struct sockaddr_storage],
33 [working_ipv6=yes], [working_ipv6=no],
34 [#include <sys/socket.h>])
35 AC_CHECK_TYPE([struct sockaddr_in6],
36 [working_ipv6=yes], [working_ipv6=no],
37 [#include <sys/types.h>
38 #include <netinet/in.h>])
39 AC_CHECK_TYPE([struct addrinfo],
40 [working_ipv6=yes], [working_ipv6=no],
41 [#include <netdb.h>])
42 AC_CHECK_FUNC([getnameinfo],
43 [working_ipv6=yes], [working_ipv6=no],
44 [#include <netdb.h>])
45
46 if test $working_ipv6 = no; then
47 if test $status_ipv6 = yes; then
48 AC_MSG_ERROR([IPv6 support is required but not available])
49 fi
50 fi
51 status_ipv6=$working_ipv6
52 if test $status_ipv6 = yes; then
53 AC_DEFINE_UNQUOTED([MAILUTILS_IPV6],1,
54 [Define to 1 if IPv6 support is enabled])
55 fi
56 fi]) \ No newline at end of file
diff --git a/configure.ac b/configure.ac
index e03a4c3b3..2edb49459 100644
--- a/configure.ac
+++ b/configure.ac
@@ -541,6 +541,10 @@ AH_BOTTOM([
541]) 541])
542 542
543 543
544# IPv6 support
545MU_ENABLE_IPV6
546
547
544## FriBidi support 548## FriBidi support
545 549
546AC_CHECK_FUNCS(wcwidth) 550AC_CHECK_FUNCS(wcwidth)
@@ -1285,6 +1289,8 @@ LDAP support .................. $status_ldap
1285Radius support ................ $status_radius 1289Radius support ................ $status_radius
1286Support for virtual domains ... $status_virtual_domains 1290Support for virtual domains ... $status_virtual_domains
1287 1291
1292IPv6 support .................. $status_ipv6
1293
1288Interfaces: 1294Interfaces:
1289 1295
1290Guile ......................... $status_guile 1296Guile ......................... $status_guile
@@ -1332,6 +1338,7 @@ status_mh=$mu_cv_enable_mh
1332status_maildir=$mu_cv_enable_maildir 1338status_maildir=$mu_cv_enable_maildir
1333status_smtp=$mu_cv_enable_smtp 1339status_smtp=$mu_cv_enable_smtp
1334status_sendmail=$mu_cv_enable_sendmail 1340status_sendmail=$mu_cv_enable_sendmail
1341status_ipv6=$status_ipv6
1335]) 1342])
1336 1343
1337dnl Output Makefiles 1344dnl Output Makefiles
@@ -1382,6 +1389,8 @@ AC_CONFIG_FILES([
1382 libmailutils/auth/Makefile 1389 libmailutils/auth/Makefile
1383 libmailutils/base/Makefile 1390 libmailutils/base/Makefile
1384 libmailutils/address/Makefile 1391 libmailutils/address/Makefile
1392 libmailutils/sockaddr/Makefile
1393 libmailutils/cidr/Makefile
1385 libmailutils/cfg/Makefile 1394 libmailutils/cfg/Makefile
1386 libmailutils/diag/Makefile 1395 libmailutils/diag/Makefile
1387 libmailutils/filter/Makefile 1396 libmailutils/filter/Makefile
diff --git a/examples/.gitignore b/examples/.gitignore
index af4156be3..890812aae 100644
--- a/examples/.gitignore
+++ b/examples/.gitignore
@@ -11,6 +11,7 @@ iconv
11listop 11listop
12lsf 12lsf
13mailcap 13mailcap
14mblconv
14mimetest 15mimetest
15msg-send 16msg-send
16mta 17mta
@@ -20,5 +21,6 @@ muemail
20murun 21murun
21musocio 22musocio
22nntpclient 23nntpclient
24sa
23sfrom 25sfrom
24url-parse 26url-parse
diff --git a/examples/Makefile.am b/examples/Makefile.am
index e22a8d355..9df91ea62 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -43,6 +43,7 @@ noinst_PROGRAMS = \
43 murun\ 43 murun\
44 musocio\ 44 musocio\
45 $(NNTPCLIENT)\ 45 $(NNTPCLIENT)\
46 sa\
46 sfrom 47 sfrom
47 48
48EXTRA_PROGRAMS = nntpclient 49EXTRA_PROGRAMS = nntpclient
diff --git a/examples/aclck.c b/examples/aclck.c
index 57f5c0388..033c444b1 100644
--- a/examples/aclck.c
+++ b/examples/aclck.c
@@ -28,35 +28,9 @@
28#include <stdlib.h> 28#include <stdlib.h>
29#include <string.h> 29#include <string.h>
30 30
31struct sockaddr *target_sa; 31struct mu_sockaddr *target_sa;
32int target_salen;
33mu_acl_t acl; 32mu_acl_t acl;
34 33
35struct sockaddr *
36parse_address (int *psalen, char *str)
37{
38 struct sockaddr_in in;
39 struct sockaddr *sa;
40
41 in.sin_family = AF_INET;