* README-alpha: Update.
* auth/pam.c (mu_pam_module_init): Use struct. * include/mailutils/gocs.h (struct mu_gocs_pam): New data type. * include/mailutils/libcfg.h (mu_sieve_cfg_capa) (mu_daemon_cfg_capa,mu_auth_cfg_capa): New declarations. * libargp/common.c (mu_daemon_argp_parser): Handle ARGP_KEY_INIT. * libargp/pam.c (service_name): Remove. (pam_settings): Add new variable. (mu_pam_argp_parser): Reflect this. * libcfg/auth.c (mu_auth_section_parser): New function. (mu_auth_cfg_capa): New variable. * libcfg/common.c (mu_daemon_section_parser): Handle mu_cfg_section_start. * libcfg/init.c (cfg_capa_table): Add auth, sieve, daemon. (reserved_name): Remove auth and daemon. * mailbox/Makefile.am (EXTRA_DIST): Remove @MU_EXTRA_DIST@. * mailbox/daemon.c (mu_gocs_daemon_init): Remove extra checks. * mailbox/mu_auth.c (_add_module_list): Skip delimiters. * po/POTFILES.in: Update.
Showing
17 changed files
with
109 additions
and
101 deletions
1 | 2007-11-20 Sergey Poznyakoff <gray@gnu.org.ua> | ||
2 | |||
3 | * README-alpha: Update. | ||
4 | * auth/pam.c (mu_pam_module_init): Use struct. | ||
5 | * include/mailutils/gocs.h (struct mu_gocs_pam): New data type. | ||
6 | * include/mailutils/libcfg.h (mu_sieve_cfg_capa) | ||
7 | (mu_daemon_cfg_capa,mu_auth_cfg_capa): New declarations. | ||
8 | * libargp/common.c (mu_daemon_argp_parser): Handle ARGP_KEY_INIT. | ||
9 | * libargp/pam.c (service_name): Remove. | ||
10 | (pam_settings): Add new variable. | ||
11 | (mu_pam_argp_parser): Reflect this. | ||
12 | * libcfg/auth.c (mu_auth_section_parser): New function. | ||
13 | (mu_auth_cfg_capa): New variable. | ||
14 | * libcfg/common.c (mu_daemon_section_parser): Handle | ||
15 | mu_cfg_section_start. | ||
16 | * libcfg/init.c (cfg_capa_table): Add auth, sieve, daemon. | ||
17 | (reserved_name): Remove auth and daemon. | ||
18 | * mailbox/Makefile.am (EXTRA_DIST): Remove @MU_EXTRA_DIST@. | ||
19 | * mailbox/daemon.c (mu_gocs_daemon_init): Remove extra checks. | ||
20 | * mailbox/mu_auth.c (_add_module_list): Skip delimiters. | ||
21 | * po/POTFILES.in: Update. | ||
22 | |||
1 | 2007-11-19 Sergey Poznyakoff <gray@gnu.org.ua> | 23 | 2007-11-19 Sergey Poznyakoff <gray@gnu.org.ua> |
2 | 24 | ||
3 | * configure.ac: Add AM_PROG_LIBTOOL. | 25 | * configure.ac: Add AM_PROG_LIBTOOL. | ... | ... |
... | @@ -5,13 +5,10 @@ or CVS version of the package. See end of file for copying conditions. | ... | @@ -5,13 +5,10 @@ or CVS version of the package. See end of file for copying conditions. |
5 | * Introduction | 5 | * Introduction |
6 | 6 | ||
7 | This is a *pre-release* version, and not ready for production use | 7 | This is a *pre-release* version, and not ready for production use |
8 | yet. If you are taking source from CVS, you will need to have libtool, | 8 | yet. If you are taking source from CVS, you will need to have several |
9 | automake, and autoconf installed to help contribute. See the chapter | 9 | special tools to help contribute. See the file README-hacking for more |
10 | `Building' for the detailed instructions. The script autogen.sh is | 10 | information, See chapter `Building' for the detailed instructions on |
11 | provided to help autoconfigure mailutils from the cvs src. After you | 11 | how to build the package. |
12 | run autogen.sh, there should be a file 'INSTALL' with (generic) | ||
13 | installation instructions. Package-specific installation instructions | ||
14 | are set forth in the file README. | ||
15 | 12 | ||
16 | Please, note that the accompanying documentation may be inaccurate | 13 | Please, note that the accompanying documentation may be inaccurate |
17 | or incomplete. The ChangeLog file is the authoritative documentation of | 14 | or incomplete. The ChangeLog file is the authoritative documentation of |
... | @@ -33,35 +30,13 @@ contact the mailing list. | ... | @@ -33,35 +30,13 @@ contact the mailing list. |
33 | 30 | ||
34 | * Building | 31 | * Building |
35 | 32 | ||
36 | In order to build this you will first need to have right versions | 33 | Usual procedures apply: |
37 | of autotools and some auxiliary GNU programs. At the time of this | 34 | |
38 | writing these are: | 35 | ./configure |
39 | 36 | make | |
40 | Package Version (>=) | 37 | make install |
41 | ======== ============ | 38 | |
42 | automake 1.8.5 | 39 | See INSTALL and README for the detailed instructions. |
43 | autoconf 2.59 | ||
44 | libtool 1.5.8 | ||
45 | gettext 0.14.1 | ||
46 | gawk 3.1.3 | ||
47 | |||
48 | You will also need bison (or yacc) and flex. The grammar sources | ||
49 | were written so that any version of yacc or bison should be able to | ||
50 | handle them, however using recent bison is anyway recommended. The lex | ||
51 | sources could theoretically be compiled with AT&T lex. I have not | ||
52 | tested this, however, so using flex is higly recommended. I use flex | ||
53 | 2.5.4. | ||
54 | |||
55 | To prepare the package for building run autogen.sh. This may spit out | ||
56 | several warnings like: | ||
57 | |||
58 | pop3d_OBJECTS:.$(OBJEXT: non-POSIX variable name | ||
59 | |||
60 | Ignore them, these are due to the bug in automake. Then run | ||
61 | ./configure with the desired options (See INSTALL and README for the | ||
62 | detailed instructions). Finally, run make. Notice that the first make | ||
63 | of the package should be made in the source directory. Subsequent | ||
64 | makes can use build directory different from the source one. | ||
65 | 40 | ||
66 | * Debugging | 41 | * Debugging |
67 | 42 | ||
... | @@ -79,7 +54,7 @@ any of the mailutils programs. The option instructs the program to | ... | @@ -79,7 +54,7 @@ any of the mailutils programs. The option instructs the program to |
79 | sleep for a given number of seconds (3600 by default) right after | 54 | sleep for a given number of seconds (3600 by default) right after |
80 | startup. For example, to debug `mimeview' utility, run | 55 | startup. For example, to debug `mimeview' utility, run |
81 | 56 | ||
82 | mimeview --HANG [OTHER-OPTIONS] | 57 | mimeview --HANG [OTHER-OPTIONS] |
83 | 58 | ||
84 | Then switch to another terminal, get the PID of the ivoked utility and | 59 | Then switch to another terminal, get the PID of the ivoked utility and |
85 | attach to it using gdb: | 60 | attach to it using gdb: |
... | @@ -92,35 +67,6 @@ Once in gdb, issue the following command | ... | @@ -92,35 +67,6 @@ Once in gdb, issue the following command |
92 | 67 | ||
93 | Now set your breakpoints and proceed as usual. | 68 | Now set your breakpoints and proceed as usual. |
94 | 69 | ||
95 | * Importing gnulib files | ||
96 | |||
97 | Mailutils imports several source files from gnulib. These go | ||
98 | mainly to the conventional library libmuaux (directory lib/), but | ||
99 | several of them are incorporated into the main library libmailutils | ||
100 | (directory mailbox/). The imported sources are kept in the CVS | ||
101 | repository to avoid using eventually unstable versions appearing in | ||
102 | the main gnulib CVS. Once in a time we update the sources. The update | ||
103 | procedure is quite straightforward: change to the root directory of | ||
104 | the mailutils tree and run `gnulib-sync' script: | ||
105 | |||
106 | $ cd mailutils | ||
107 | $ scripts/gnulib-sync $HOME/src/gnulib | ||
108 | |||
109 | The script takes a single argument: the name of the directory with the | ||
110 | copy of gnulib source tree (see http://savannah.gnu.org/projects/gnulib | ||
111 | for information on how to obtain gnulib sources). After incorporating | ||
112 | the files, gnulib-sync leaves in the current directory two files named | ||
113 | gnulib.changelog and gnulib.cvs. The file gnulib.changelog contains | ||
114 | an entry to be prepended to ChangeLog, the file gnulib.cvs is a shell | ||
115 | script with the commands necessary to incorporate all the changes into | ||
116 | CVS. | ||
117 | |||
118 | If you need to add more gnulib modules to mailutils, add their | ||
119 | names to gnulib.modules file, following the instructions in its | ||
120 | heading comment. Please avoid placing modules in :mailutils section, as | ||
121 | this may lead to unwanted name clashes when linking user programs with | ||
122 | libmailutils. | ||
123 | |||
124 | * Copyright information: | 70 | * Copyright information: |
125 | 71 | ||
126 | Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc. | 72 | Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc. | ... | ... |
... | @@ -149,7 +149,10 @@ int | ... | @@ -149,7 +149,10 @@ int |
149 | mu_pam_module_init (void *data) | 149 | mu_pam_module_init (void *data) |
150 | { | 150 | { |
151 | if (data) | 151 | if (data) |
152 | mu_pam_service = strdup (data); | 152 | { |
153 | struct mu_gocs_pam *p = data; | ||
154 | mu_pam_service = p->service ? strdup (p->service) : p->service; | ||
155 | } | ||
153 | return 0; | 156 | return 0; |
154 | } | 157 | } |
155 | 158 | ... | ... |
... | @@ -68,6 +68,11 @@ struct mu_gocs_mailer | ... | @@ -68,6 +68,11 @@ struct mu_gocs_mailer |
68 | char *mailer; | 68 | char *mailer; |
69 | }; | 69 | }; |
70 | 70 | ||
71 | struct mu_gocs_pam | ||
72 | { | ||
73 | char *service; | ||
74 | }; | ||
75 | |||
71 | /* Auxiliary variables for use by libargp/libcfg */ | 76 | /* Auxiliary variables for use by libargp/libcfg */ |
72 | extern int mu_load_user_rcfile; | 77 | extern int mu_load_user_rcfile; |
73 | extern int mu_load_site_rcfile; | 78 | extern int mu_load_site_rcfile; | ... | ... |
... | @@ -92,6 +92,9 @@ extern struct mu_cfg_capa mu_radius_cfg_capa; | ... | @@ -92,6 +92,9 @@ extern struct mu_cfg_capa mu_radius_cfg_capa; |
92 | extern struct mu_cfg_capa mu_sql_cfg_capa; | 92 | extern struct mu_cfg_capa mu_sql_cfg_capa; |
93 | extern struct mu_cfg_capa mu_tls_cfg_capa; | 93 | extern struct mu_cfg_capa mu_tls_cfg_capa; |
94 | extern struct mu_cfg_capa mu_virtdomain_cfg_capa; | 94 | extern struct mu_cfg_capa mu_virtdomain_cfg_capa; |
95 | extern struct mu_cfg_capa mu_sieve_cfg_capa; | ||
96 | extern struct mu_cfg_capa mu_daemon_cfg_capa; | ||
97 | extern struct mu_cfg_capa mu_auth_cfg_capa; | ||
95 | 98 | ||
96 | #ifdef __cplusplus | 99 | #ifdef __cplusplus |
97 | } | 100 | } | ... | ... |
... | @@ -498,6 +498,10 @@ mu_daemon_argp_parser (int key, char *arg, struct argp_state *state) | ... | @@ -498,6 +498,10 @@ mu_daemon_argp_parser (int key, char *arg, struct argp_state *state) |
498 | daemon_settings.transcript = 1; | 498 | daemon_settings.transcript = 1; |
499 | break; | 499 | break; |
500 | 500 | ||
501 | case ARGP_KEY_INIT: | ||
502 | daemon_settings = mu_gocs_daemon; | ||
503 | break; | ||
504 | |||
501 | case ARGP_KEY_FINI: | 505 | case ARGP_KEY_FINI: |
502 | mu_gocs_store ("daemon", &daemon_settings); | 506 | mu_gocs_store ("daemon", &daemon_settings); |
503 | break; | 507 | break; | ... | ... |
... | @@ -23,7 +23,7 @@ | ... | @@ -23,7 +23,7 @@ |
23 | #include "mailutils/libargp.h" | 23 | #include "mailutils/libargp.h" |
24 | #include <mailutils/pam.h> | 24 | #include <mailutils/pam.h> |
25 | 25 | ||
26 | static char *service_name; | 26 | static struct mu_gocs_pam pam_settings; |
27 | 27 | ||
28 | static error_t | 28 | static error_t |
29 | mu_pam_argp_parser (int key, char *arg, struct argp_state *state) | 29 | mu_pam_argp_parser (int key, char *arg, struct argp_state *state) |
... | @@ -31,11 +31,11 @@ mu_pam_argp_parser (int key, char *arg, struct argp_state *state) | ... | @@ -31,11 +31,11 @@ mu_pam_argp_parser (int key, char *arg, struct argp_state *state) |
31 | switch (key) | 31 | switch (key) |
32 | { | 32 | { |
33 | case OPT_PAM_SERVICE: | 33 | case OPT_PAM_SERVICE: |
34 | service_name = arg; | 34 | pam_settings.service = arg; |
35 | break; | 35 | break; |
36 | 36 | ||
37 | case ARGP_KEY_FINI: | 37 | case ARGP_KEY_FINI: |
38 | mu_gocs_store ("pam", service_name); | 38 | mu_gocs_store ("pam", &pam_settings); |
39 | break; | 39 | break; |
40 | 40 | ||
41 | default: | 41 | default: | ... | ... |
... | @@ -54,5 +54,22 @@ static struct mu_cfg_param mu_auth_param[] = { | ... | @@ -54,5 +54,22 @@ static struct mu_cfg_param mu_auth_param[] = { |
54 | { NULL } | 54 | { NULL } |
55 | }; | 55 | }; |
56 | 56 | ||
57 | /* FIXME: init? */ | 57 | int |
58 | mu_auth_section_parser | ||
59 | (enum mu_cfg_section_stage stage, const mu_cfg_node_t *node, | ||
60 | void *section_data, void *call_data) | ||
61 | { | ||
62 | switch (stage) | ||
63 | { | ||
64 | case mu_cfg_section_start: | ||
65 | break; | ||
58 | 66 | ||
67 | case mu_cfg_section_end: | ||
68 | mu_auth_finish_setup (); | ||
69 | } | ||
70 | return 0; | ||
71 | } | ||
72 | |||
73 | struct mu_cfg_capa mu_auth_cfg_capa = { | ||
74 | "auth", mu_auth_param, mu_auth_section_parser | ||
75 | }; | ... | ... |
... | @@ -127,4 +127,24 @@ static struct mu_cfg_param mu_daemon_param[] = { | ... | @@ -127,4 +127,24 @@ static struct mu_cfg_param mu_daemon_param[] = { |
127 | { NULL } | 127 | { NULL } |
128 | }; | 128 | }; |
129 | 129 | ||
130 | DCL_CFG_CAPA (daemon); | 130 | int |
131 | mu_daemon_section_parser | ||
132 | (enum mu_cfg_section_stage stage, const mu_cfg_node_t *node, | ||
133 | void *section_data, void *call_data) | ||
134 | { | ||
135 | switch (stage) | ||
136 | { | ||
137 | case mu_cfg_section_start: | ||
138 | daemon_settings = mu_gocs_daemon; | ||
139 | break; | ||
140 | |||
141 | case mu_cfg_section_end: | ||
142 | mu_gocs_store ("daemon", &daemon_settings); | ||
143 | } | ||
144 | return 0; | ||
145 | } | ||
146 | |||
147 | struct mu_cfg_capa mu_daemon_cfg_capa = { | ||
148 | "daemon", mu_daemon_param, mu_daemon_section_parser | ||
149 | }; | ||
150 | ... | ... |
... | @@ -24,6 +24,7 @@ | ... | @@ -24,6 +24,7 @@ |
24 | 24 | ||
25 | struct mu_cfg_capa *cfg_capa_table[] = { | 25 | struct mu_cfg_capa *cfg_capa_table[] = { |
26 | #define S(c) &__mu_common_cat3__(mu_,c,_cfg_capa) | 26 | #define S(c) &__mu_common_cat3__(mu_,c,_cfg_capa) |
27 | S (auth), | ||
27 | S (mailbox), | 28 | S (mailbox), |
28 | S (locking), | 29 | S (locking), |
29 | S (address), | 30 | S (address), |
... | @@ -35,6 +36,8 @@ struct mu_cfg_capa *cfg_capa_table[] = { | ... | @@ -35,6 +36,8 @@ struct mu_cfg_capa *cfg_capa_table[] = { |
35 | S (sql), | 36 | S (sql), |
36 | S (tls), | 37 | S (tls), |
37 | S (virtdomain), | 38 | S (virtdomain), |
39 | S (sieve), | ||
40 | S (daemon), | ||
38 | NULL | 41 | NULL |
39 | }; | 42 | }; |
40 | 43 | ||
... | @@ -52,7 +55,7 @@ find_cfg_capa (const char *name) | ... | @@ -52,7 +55,7 @@ find_cfg_capa (const char *name) |
52 | static int | 55 | static int |
53 | reserved_name (const char *name) | 56 | reserved_name (const char *name) |
54 | { | 57 | { |
55 | static char *reserved[] = { "auth", "common", "daemon", "license", NULL }; | 58 | static char *reserved[] = { "common", "license", NULL }; |
56 | char **p; | 59 | char **p; |
57 | for (p = reserved; *p; p++) | 60 | for (p = reserved; *p; p++) |
58 | if (strcmp (name, *p) == 0) | 61 | if (strcmp (name, *p) == 0) | ... | ... |
1 | # intmax.m4 serial 3 (gettext-0.16) | 1 | # intmax.m4 serial 2 (gettext-0.14.2) |
2 | dnl Copyright (C) 2002-2005 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2005 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
... | @@ -22,10 +22,7 @@ AC_DEFUN([gt_TYPE_INTMAX_T], | ... | @@ -22,10 +22,7 @@ AC_DEFUN([gt_TYPE_INTMAX_T], |
22 | #if HAVE_INTTYPES_H_WITH_UINTMAX | 22 | #if HAVE_INTTYPES_H_WITH_UINTMAX |
23 | #include <inttypes.h> | 23 | #include <inttypes.h> |
24 | #endif | 24 | #endif |
25 | ], [intmax_t x = -1; | 25 | ], [intmax_t x = -1;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)]) |
26 | return !x;], | ||
27 | gt_cv_c_intmax_t=yes, | ||
28 | gt_cv_c_intmax_t=no)]) | ||
29 | if test $gt_cv_c_intmax_t = yes; then | 26 | if test $gt_cv_c_intmax_t = yes; then |
30 | AC_DEFINE(HAVE_INTMAX_T, 1, | 27 | AC_DEFINE(HAVE_INTMAX_T, 1, |
31 | [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.]) | 28 | [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.]) | ... | ... |
1 | # inttypes-pri.m4 serial 4 (gettext-0.16) | 1 | # inttypes-pri.m4 serial 2 (gettext-0.15) |
2 | dnl Copyright (C) 1997-2002, 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1997-2002, 2006 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
... | @@ -6,15 +6,13 @@ dnl with or without modifications, as long as this notice is preserved. | ... | @@ -6,15 +6,13 @@ dnl with or without modifications, as long as this notice is preserved. |
6 | 6 | ||
7 | dnl From Bruno Haible. | 7 | dnl From Bruno Haible. |
8 | 8 | ||
9 | AC_PREREQ(2.52) | ||
10 | |||
11 | # Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI* | 9 | # Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI* |
12 | # macros to non-string values. This is the case on AIX 4.3.3. | 10 | # macros to non-string values. This is the case on AIX 4.3.3. |
13 | 11 | ||
14 | AC_DEFUN([gt_INTTYPES_PRI], | 12 | AC_DEFUN([gt_INTTYPES_PRI], |
15 | [ | 13 | [ |
16 | AC_CHECK_HEADERS([inttypes.h]) | 14 | AC_REQUIRE([gl_HEADER_INTTYPES_H]) |
17 | if test $ac_cv_header_inttypes_h = yes; then | 15 | if test $gl_cv_header_inttypes_h = yes; then |
18 | AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], | 16 | AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], |
19 | gt_cv_inttypes_pri_broken, | 17 | gt_cv_inttypes_pri_broken, |
20 | [ | 18 | [ |
... | @@ -28,9 +26,5 @@ char *p = PRId32; | ... | @@ -28,9 +26,5 @@ char *p = PRId32; |
28 | if test "$gt_cv_inttypes_pri_broken" = yes; then | 26 | if test "$gt_cv_inttypes_pri_broken" = yes; then |
29 | AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, | 27 | AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, |
30 | [Define if <inttypes.h> exists and defines unusable PRI* macros.]) | 28 | [Define if <inttypes.h> exists and defines unusable PRI* macros.]) |
31 | PRI_MACROS_BROKEN=1 | ||
32 | else | ||
33 | PRI_MACROS_BROKEN=0 | ||
34 | fi | 29 | fi |
35 | AC_SUBST([PRI_MACROS_BROKEN]) | ||
36 | ]) | 30 | ]) | ... | ... |
1 | # inttypes_h.m4 serial 7 | 1 | # inttypes_h.m4 serial 6 |
2 | dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1997-2004 Free Software Foundation, Inc. |
3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
... | @@ -15,7 +15,7 @@ AC_DEFUN([gl_AC_HEADER_INTTYPES_H], | ... | @@ -15,7 +15,7 @@ AC_DEFUN([gl_AC_HEADER_INTTYPES_H], |
15 | [AC_TRY_COMPILE( | 15 | [AC_TRY_COMPILE( |
16 | [#include <sys/types.h> | 16 | [#include <sys/types.h> |
17 | #include <inttypes.h>], | 17 | #include <inttypes.h>], |
18 | [uintmax_t i = (uintmax_t) -1; return !i;], | 18 | [uintmax_t i = (uintmax_t) -1;], |
19 | gl_cv_header_inttypes_h=yes, | 19 | gl_cv_header_inttypes_h=yes, |
20 | gl_cv_header_inttypes_h=no)]) | 20 | gl_cv_header_inttypes_h=no)]) |
21 | if test $gl_cv_header_inttypes_h = yes; then | 21 | if test $gl_cv_header_inttypes_h = yes; then | ... | ... |
... | @@ -33,7 +33,7 @@ AM_CPPFLAGS = \ | ... | @@ -33,7 +33,7 @@ AM_CPPFLAGS = \ |
33 | -DSITE_VIRTUAL_PWDDIR=\"@SITE_VIRTUAL_PWDDIR@\"\ | 33 | -DSITE_VIRTUAL_PWDDIR=\"@SITE_VIRTUAL_PWDDIR@\"\ |
34 | -DLOCALEDIR=\"$(localedir)\" | 34 | -DLOCALEDIR=\"$(localedir)\" |
35 | 35 | ||
36 | EXTRA_DIST = @MU_EXTRA_DIST@ errors muerrno.cin parsedate.y fgetpwent.c cfg_parser.y cfg_parser.h inttostr.c | 36 | EXTRA_DIST = errors muerrno.cin parsedate.y fgetpwent.c cfg_parser.y cfg_parser.h inttostr.c inttostr.h |
37 | 37 | ||
38 | libmailutils_la_SOURCES = \ | 38 | libmailutils_la_SOURCES = \ |
39 | address.c\ | 39 | address.c\ | ... | ... |
... | @@ -87,12 +87,6 @@ mu_gocs_daemon_init (void *data) | ... | @@ -87,12 +87,6 @@ mu_gocs_daemon_init (void *data) |
87 | { | 87 | { |
88 | struct mu_gocs_daemon *cfg = data; | 88 | struct mu_gocs_daemon *cfg = data; |
89 | mu_gocs_daemon = *cfg; | 89 | mu_gocs_daemon = *cfg; |
90 | |||
91 | if (mu_gocs_daemon.maxchildren) | ||
92 | mu_gocs_daemon.mode = MODE_DAEMON; | ||
93 | |||
94 | if (mu_gocs_daemon.pidfile) | ||
95 | mu_gocs_daemon.mode = MODE_DAEMON; | ||
96 | } | 90 | } |
97 | return 0; | 91 | return 0; |
98 | } | 92 | } | ... | ... |
... | @@ -319,7 +319,7 @@ _add_module_list (const char *modlist, int (*fun)(const char *name)) | ... | @@ -319,7 +319,7 @@ _add_module_list (const char *modlist, int (*fun)(const char *name)) |
319 | exit (1); | 319 | exit (1); |
320 | } | 320 | } |
321 | 321 | ||
322 | for (i = 0; i < argc; i++) | 322 | for (i = 0; i < argc; i += 2) |
323 | { | 323 | { |
324 | if (fun (argv[i])) | 324 | if (fun (argv[i])) |
325 | { | 325 | { | ... | ... |
... | @@ -27,6 +27,9 @@ imap4d/login.c | ... | @@ -27,6 +27,9 @@ imap4d/login.c |
27 | imap4d/search.c | 27 | imap4d/search.c |
28 | imap4d/signal.c | 28 | imap4d/signal.c |
29 | imap4d/util.c | 29 | imap4d/util.c |
30 | lib/argp-help.c | ||
31 | lib/argp-parse.c | ||
32 | lib/getopt.c | ||
30 | lib/mailcap.c | 33 | lib/mailcap.c |
31 | lib/xmalloc.c | 34 | lib/xmalloc.c |
32 | libargp/mu_argp.c | 35 | libargp/mu_argp.c |
... | @@ -94,12 +97,9 @@ mail/summary.c | ... | @@ -94,12 +97,9 @@ mail/summary.c |
94 | mail/unalias.c | 97 | mail/unalias.c |
95 | mail/util.c | 98 | mail/util.c |
96 | mail/z.c | 99 | mail/z.c |
97 | mailbox/argp-help.c | ||
98 | mailbox/argp-parse.c | ||
99 | mailbox/errors | 100 | mailbox/errors |
100 | mailbox/file_stream.c | 101 | mailbox/file_stream.c |
101 | mailbox/filter_iconv.c | 102 | mailbox/filter_iconv.c |
102 | mailbox/getopt.c | ||
103 | mailbox/message.c | 103 | mailbox/message.c |
104 | mailbox/mu_auth.c | 104 | mailbox/mu_auth.c |
105 | mailbox/mutil.c | 105 | mailbox/mutil.c | ... | ... |
-
Please register or sign in to post a comment