deprecate -A command line option

This commit is contained in:
Rainer Gerhards 2014-11-27 13:10:37 +01:00
parent 79b7c05331
commit 7902f04ea7
3 changed files with 18 additions and 10 deletions

View File

@ -88,6 +88,8 @@ typedef struct _instanceData {
int iRebindInterval; /* rebind interval */ int iRebindInterval; /* rebind interval */
# define FORW_UDP 0 # define FORW_UDP 0
# define FORW_TCP 1 # define FORW_TCP 1
/* following fields for UDP-based delivery */
int bSendToAll;
/* following fields for TCP-based delivery */ /* following fields for TCP-based delivery */
TCPFRAMINGMODE tcp_framing; TCPFRAMINGMODE tcp_framing;
int bResendLastOnRecon; /* should the last message be re-sent on a successful reconnect? */ int bResendLastOnRecon; /* should the last message be re-sent on a successful reconnect? */
@ -156,6 +158,7 @@ static struct cnfparamdescr actpdescr[] = {
{ "streamdriverauthmode", eCmdHdlrGetWord, 0 }, { "streamdriverauthmode", eCmdHdlrGetWord, 0 },
{ "streamdriverpermittedpeers", eCmdHdlrGetWord, 0 }, { "streamdriverpermittedpeers", eCmdHdlrGetWord, 0 },
{ "resendlastmsgonreconnect", eCmdHdlrBinary, 0 }, { "resendlastmsgonreconnect", eCmdHdlrBinary, 0 },
{ "udp.sendtoall", eCmdHdlrBinary, 0 },
{ "template", eCmdHdlrGetWord, 0 }, { "template", eCmdHdlrGetWord, 0 },
}; };
static struct cnfparamblk actpblk = static struct cnfparamblk actpblk =
@ -435,7 +438,7 @@ static rsRetVal UDPSend(wrkrInstanceData_t *__restrict__ const pWrkrData,
rs_strerror_r(lasterrno, errStr, sizeof(errStr))); rs_strerror_r(lasterrno, errStr, sizeof(errStr)));
} }
} }
if (lsent == len && !send_to_all) if (lsent == len && !pWrkrData->pData->bSendToAll)
break; break;
} }
/* finished looping */ /* finished looping */
@ -911,6 +914,7 @@ setInstParamDefaults(instanceData *pData)
pData->iStrmDrvrMode = 0; pData->iStrmDrvrMode = 0;
pData->iRebindInterval = 0; pData->iRebindInterval = 0;
pData->bResendLastOnRecon = 0; pData->bResendLastOnRecon = 0;
pData->bSendToAll = -1; /* unspecified */
pData->pPermPeers = NULL; pData->pPermPeers = NULL;
pData->compressionLevel = 9; pData->compressionLevel = 9;
pData->strmCompFlushOnTxEnd = 1; pData->strmCompFlushOnTxEnd = 1;
@ -1033,6 +1037,8 @@ CODESTARTnewActInst
pData->errsToReport = (int) pvals[i].val.d.n; pData->errsToReport = (int) pvals[i].val.d.n;
} else if(!strcmp(actpblk.descr[i].name, "resendlastmsgonreconnect")) { } else if(!strcmp(actpblk.descr[i].name, "resendlastmsgonreconnect")) {
pData->bResendLastOnRecon = (int) pvals[i].val.d.n; pData->bResendLastOnRecon = (int) pvals[i].val.d.n;
} else if(!strcmp(actpblk.descr[i].name, "udp.sendtoall")) {
pData->bSendToAll = (int) pvals[i].val.d.n;
} else if(!strcmp(actpblk.descr[i].name, "template")) { } else if(!strcmp(actpblk.descr[i].name, "template")) {
pData->tplName = (uchar*)es_str2cstr(pvals[i].val.d.estr, NULL); pData->tplName = (uchar*)es_str2cstr(pvals[i].val.d.estr, NULL);
} else if(!strcmp(actpblk.descr[i].name, "compression.stream.flushontxend")) { } else if(!strcmp(actpblk.descr[i].name, "compression.stream.flushontxend")) {
@ -1073,6 +1079,14 @@ CODESTARTnewActInst
tplToUse = ustrdup((pData->tplName == NULL) ? getDfltTpl() : pData->tplName); tplToUse = ustrdup((pData->tplName == NULL) ? getDfltTpl() : pData->tplName);
CHKiRet(OMSRsetEntry(*ppOMSR, 0, tplToUse, OMSR_NO_RQD_TPL_OPTS)); CHKiRet(OMSRsetEntry(*ppOMSR, 0, tplToUse, OMSR_NO_RQD_TPL_OPTS));
if(pData->bSendToAll == -1) {
pData->bSendToAll = send_to_all;
} else {
if(pData->protocol == FORW_TCP) {
errmsg.LogError(0, RS_RET_PARAM_ERROR, "omfwd: paramter udp.sendToAll "
"cannot be used with tcp transport -- ignored");
}
}
CODE_STD_FINALIZERnewActInst CODE_STD_FINALIZERnewActInst
cnfparamvalsDestruct(pvals, &actpblk); cnfparamvalsDestruct(pvals, &actpblk);
ENDnewActInst ENDnewActInst

View File

@ -93,15 +93,6 @@ the error element is ignored. It is tried to parse the rest of the line.
.LP .LP
.SH OPTIONS .SH OPTIONS
.TP .TP
.BI "\-A"
When sending UDP messages, there are potentially multiple paths to
the target destination. By default,
.B rsyslogd
only sends to the first target it can successfully send to. If -A
is given, messages are sent to all targets. This may improve
reliability, but may also cause message duplication. This option
should be enabled only if it is fully understood.
.TP
.B "\-D" .B "\-D"
Runs the Bison config parser in debug mode. This may help when hard to find Runs the Bison config parser in debug mode. This may help when hard to find
syntax errors are reported. Please note that the output generated is deeply syntax errors are reported. Please note that the output generated is deeply

View File

@ -1117,6 +1117,9 @@ initAll(int argc, char **argv)
glbl.SetDefPFFamily(PF_INET6); glbl.SetDefPFFamily(PF_INET6);
break; break;
case 'A': case 'A':
fprintf (stderr, "rsyslogd: the -A command line option will go away "
"soon.\n"
"Please use the omfwd paramter \"upd.sendToAll\" instead.\n");
send_to_all++; send_to_all++;
break; break;
case 'S': /* Source IP for local client to be used on multihomed host */ case 'S': /* Source IP for local client to be used on multihomed host */