diff options
| author | Manuel Mausz <manuel@mausz.at> | 2026-06-26 13:53:30 +0200 |
|---|---|---|
| committer | Manuel Mausz <manuel@mausz.at> | 2026-06-26 13:53:30 +0200 |
| commit | 663c6be564efdb355598b34b8f083f79a38c726d (patch) | |
| tree | 94f5eff36139e3e22f7d3a5f25cd49c14e8c5ca6 /realrcptto.c | |
| parent | 3e992e7fbf16c7f4249223bb807e13b56f078022 (diff) | |
| download | qmail-663c6be564efdb355598b34b8f083f79a38c726d.tar.gz qmail-663c6be564efdb355598b34b8f083f79a38c726d.tar.bz2 qmail-663c6be564efdb355598b34b8f083f79a38c726d.zip | |
Diffstat (limited to 'realrcptto.c')
| -rw-r--r-- | realrcptto.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/realrcptto.c b/realrcptto.c index 5ae9684..8f4d50e 100644 --- a/realrcptto.c +++ b/realrcptto.c | |||
| @@ -269,7 +269,7 @@ int depth; | |||
| 269 | && extension && !str_diffn(extension, "mailbox-", 8)) | 269 | && extension && !str_diffn(extension, "mailbox-", 8)) |
| 270 | username = extension + 8; | 270 | username = extension + 8; |
| 271 | 271 | ||
| 272 | /* remove plus-addressing */ | 272 | /* remove sub-addressing */ |
| 273 | username[str_chr(username, '+')] = '\0'; | 273 | username[str_chr(username, '+')] = '\0'; |
| 274 | 274 | ||
| 275 | env_put2("DTUSER", username); | 275 | env_put2("DTUSER", username); |
| @@ -316,6 +316,13 @@ int depth; | |||
| 316 | if (constmap(&maplocals,localpart.s + at + 1,localpart.len - at - 1)) { | 316 | if (constmap(&maplocals,localpart.s + at + 1,localpart.len - at - 1)) { |
| 317 | localpart.len = at; | 317 | localpart.len = at; |
| 318 | localpart.s[at] = '\0'; | 318 | localpart.s[at] = '\0'; |
| 319 | /* sub-addressing for local domains */ | ||
| 320 | for (i = 1; i < localpart.len - 1; ++i) { | ||
| 321 | if (localpart.s[i] == '+') { | ||
| 322 | localpart.s[i] = '-'; | ||
| 323 | break; | ||
| 324 | } | ||
| 325 | } | ||
| 319 | } else { | 326 | } else { |
| 320 | unsigned int xlen,newlen; | 327 | unsigned int xlen,newlen; |
| 321 | char *x; | 328 | char *x; |
