* Expunge between IMAP folders when polling multiple folders.
Sunil Shetye. (MA)
* Fix IMAP expunged message counting. Sunil Shetye. (MA)
+* Add full support for --service option. Matthias Andree
# INTERNAL CHANGES
* Switched to automake. Matthias Andree.
literal, for instance, 192.168.0.1</li>
<li>Make sure your <code>/etc/services</code> file (or other
services database) contains the necessary service entries. If you
- cannot fix the services database, use the --port option and give the
- numeric port address. Common port addresses
- are:<table>
+ cannot fix the services database, use the --service option and give the
+ numeric port address. Common port addresses are:<table>
<tr><th>service</th><th>port</th></tr>
<tr><td>IMAP</td><td>143</td></tr>
<tr><td>IMAP+SSL</td><td>993</td></tr>
depending on upstream server capabilities. Note also that this option
may be removed and forced enabled in a future fetchmail version.
+.TP
+.B \-\-service <servicename>
+(Keyword: service)
+The service option permits you to specify a service name to connect to.
+You can specify a decimal port number here, if your services database
+lacks the required service-port assignments. See the FAQ item R12 for
+details. This replaces the older \-\-port option.
.TP
.B \-P <portnumber> | \-\-port <portnumber>
(Keyword: port)
-The port option permits you to specify a TCP/IP port to connect on.
-This option will seldom be necessary as all the supported protocols have
-well-established default port numbers. On some older machines, however,
-the protocol <\-\-> port mappings are missing from the services database
-(often /etc/services), and this port can make fetchmail work for you
-even if you don't have system administrator privileges. See the FAQ item
-R12 for details.
+Obsolete version of \-\-service that does not take service names.
+.B Note:
+this option may be removed from a future version.
.TP
.B \-\-principal <principal>
(Keyword: principal)
#define LA_FETCHSIZELIMIT 61
#define LA_FASTUIDL 62
-
/* don't use 63-122: they could clash with short options */
-
#define LA_LIMITFLUSH 128
+#define LA_SERVICE 129
/* options still left: CDgGhHjJoORwWxXYz */
static const char *shortoptions =
{"proto", required_argument, (int *) 0, LA_PROTOCOL },
{"uidl", no_argument, (int *) 0, LA_UIDL },
{"port", required_argument, (int *) 0, LA_PORT },
+ {"service", required_argument, (int *) 0, LA_SERVICE },
{"auth", required_argument, (int *) 0, LA_AUTH},
{"timeout", required_argument, (int *) 0, LA_TIMEOUT },
{"envelope", required_argument, (int *) 0, LA_ENVELOPE },
break;
case 'P':
case LA_PORT:
+ case LA_SERVICE:
ctl->server.service = optarg;
break;
case LA_AUTH:
P(GT_(" -p, --protocol specify retrieval protocol (see man page)\n"));
P(GT_(" -U, --uidl force the use of UIDLs (pop3 only)\n"));
- P(GT_(" -P, --port TCP/IP service port to connect to\n"));
+ P(GT_(" -P, --port TCP port to connect to (obsolete, use --service)\n"));
+ P(GT_(" --service TCP service to connect to (can be numeric TCP port)\n"));
P(GT_(" --auth authentication type (password/kerberos/ssh/otp)\n"));
P(GT_(" -t, --timeout server nonresponse timeout\n"));
P(GT_(" -E, --envelope envelope address header\n"));
| SERVICE STRING {
current.server.service = $2;
}
+ | SERVICE NUMBER {
+ int port = $2;
+ char buf[10];
+ snprintf(buf, sizeof buf, "%d", port);
+ current.server.service = xstrdup(buf);
+ }
| PORT NUMBER {
int port = $2;
char buf[10];