Some fixes on replying to gate
This commit is contained in:
parent
5c40b1a909
commit
9db1f26785
@ -12,6 +12,9 @@ ______________________________________________________________________
|
||||
Notes for GoldED+ 1.1.5, /snapshot/
|
||||
______________________________________________________________________
|
||||
|
||||
- Some fixes for replying through the gate. If someone use
|
||||
"INTERNETREPLY NO" please report if it get broken with this changes.
|
||||
|
||||
! AREALISTGROUPORDER now supports #num format entries.
|
||||
|
||||
! You can now use area groups in the *SCAN* keywords: just prepend the
|
||||
|
@ -365,7 +365,10 @@ int EditHeaderinfo(int mode, GMsgHeaderView &view, bool doedithdr) {
|
||||
to_addr = msg->idest;
|
||||
}
|
||||
else {
|
||||
to_name = (*msg->iaddr and not *msg->igate) ? msg->iaddr : msg->to;
|
||||
if(AA->isnet())
|
||||
to_name = (*msg->iaddr and not *msg->igate) ? msg->iaddr : msg->to;
|
||||
else
|
||||
to_name = msg->to;
|
||||
if(msg->dest.valid())
|
||||
msg->dest.make_string(to_addr, msg->ddom);
|
||||
}
|
||||
@ -490,7 +493,7 @@ int EditHeaderinfo(int mode, GMsgHeaderView &view, bool doedithdr) {
|
||||
strcpy(msg->iaddr, to_name.c_str());
|
||||
}
|
||||
else {
|
||||
if(to_name.length() > 34) {
|
||||
if(to_name.length() >= sizeof(Name)) {
|
||||
strcpy(msg->to, "UUCP");
|
||||
strcpy(msg->iaddr, to_name.c_str());
|
||||
}
|
||||
@ -503,6 +506,15 @@ int EditHeaderinfo(int mode, GMsgHeaderView &view, bool doedithdr) {
|
||||
else
|
||||
strcpy(msg->to, to_name.c_str());
|
||||
|
||||
if(not CFG->switches.get(internetreply)) {
|
||||
if(*msg->iaddr and (strlen(msg->iaddr) < sizeof(Name))) {
|
||||
if(not *msg->realto)
|
||||
strcpy(msg->to, msg->realto);
|
||||
strcpy(msg->to, msg->iaddr);
|
||||
*msg->iaddr = NUL;
|
||||
}
|
||||
}
|
||||
|
||||
if(*msg->iaddr) {
|
||||
if(not (CFG->internetgateexp == RFCAddress) and *msg->To() and (strpbrk(msg->iaddr, "<>()\"") == NULL) and not isuucp(msg->To())) {
|
||||
Name name;
|
||||
|
@ -927,24 +927,16 @@ void MakeMsg(int mode, GMsg* omsg, bool ignore_replyto) {
|
||||
throw_free(msg->inreplyto);
|
||||
msg->inreplyto = throw_strdup(omsg->messageid);
|
||||
}
|
||||
if(CFG->switches.get(internetreply) or (*omsg->iaddr and (strlen(omsg->iaddr) >= sizeof(Name)))) {
|
||||
strcpy(msg->iaddr, omsg->iaddr);
|
||||
strcpy(msg->igate, omsg->igate);
|
||||
if(*msg->igate) {
|
||||
msg->dest.set(msg->igate);
|
||||
char* ptr = strchr(msg->igate, ' ');
|
||||
if(ptr) {
|
||||
if(not isuucp(msg->to))
|
||||
strcpy(msg->realto, msg->to);
|
||||
strcpy(msg->to, strskip_wht(ptr));
|
||||
}
|
||||
strcpy(msg->igate, omsg->igate);
|
||||
if(*msg->igate) {
|
||||
msg->dest.set(msg->igate);
|
||||
char* ptr = strchr(msg->igate, ' ');
|
||||
if(ptr) {
|
||||
if(not isuucp(msg->to))
|
||||
strcpy(msg->realto, msg->to);
|
||||
strcpy(msg->to, strskip_wht(ptr));
|
||||
}
|
||||
}
|
||||
else if(not AA->isinternet() and *omsg->iaddr and (strlen(omsg->iaddr) < sizeof(Name))) {
|
||||
if(not isuucp(msg->to))
|
||||
strcpy(msg->realto, msg->to);
|
||||
strcpy(msg->to, omsg->iaddr);
|
||||
}
|
||||
}
|
||||
else {
|
||||
int reflen = omsg->references ? strlen(omsg->references) : 0;
|
||||
|
Reference in New Issue
Block a user