Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 366400 Details for
Bug 375879
mail-mta/netqmail: Add SMTP authentication support (AUTH LOGIN) to qmail-remote
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
remote-auth patch for netqmail-1.06-r2
remote-auth-1.06r2.patch (text/plain), 4.26 KB, created by
dio
on 2013-12-29 01:01:07 UTC
(
hide
)
Description:
remote-auth patch for netqmail-1.06-r2
Filename:
MIME Type:
Creator:
dio
Created:
2013-12-29 01:01:07 UTC
Size:
4.26 KB
patch
obsolete
>--- qmail-remote.c.orig 2013-12-29 00:14:52.121231962 +0100 >+++ qmail-remote.c 2013-12-29 01:32:19.031320981 +0100 >@@ -43,6 +43,8 @@ > struct constmap maproutes; > stralloc host = {0}; > stralloc sender = {0}; >+stralloc auth_smtp_user = {0}; >+stralloc auth_smtp_pass = {0}; > > saa reciplist = {0}; > >@@ -523,6 +525,7 @@ > unsigned long code; > int flagbother; > int i; >+ stralloc slop = {0}; > > #ifndef PORT_SMTP > /* the qmtpc patch uses smtp_port and undefines PORT_SMTP */ >@@ -570,11 +573,42 @@ > #ifdef EHLO > } > #endif >- >- substdio_puts(&smtpto,"MAIL FROM:<"); >- substdio_put(&smtpto,sender.s,sender.len); >- substdio_puts(&smtpto,">\r\n"); >- substdio_flush(&smtpto); >+ >+ i = 0; >+ /* >+ while((i += str_chr(smtptext.s+i,'\n') + 1) && (i+14 < smtptext.len) && >+ str_diffn(smtptext.s+i+4,"AUTH LOGIN\n",11) && >+ str_diffn(smtptext.s+i+4,"AUTH LOGIN ",11) && >+ str_diffn(smtptext.s+i+4,"AUTH PLAIN LOGIN\n",17) && >+ str_diffn(smtptext.s+i+4,"AUTH PLAIN LOGIN ",17) && >+ str_diffn(smtptext.s+i+4,"AUTH=LOGIN\n",11) && >+ str_diffn(smtptext.s+i+4,"AUTH=LOGIN ",11)); */ >+ if (/*(i+14 < smtptext.len) && */auth_smtp_user.len && auth_smtp_pass.len) { >+ substdio_puts(&smtpto,"AUTH LOGIN\r\n"); >+ substdio_flush(&smtpto); >+ if (smtpcode() != 334) quit("ZConnected to "," but authentication was rejected (AUTH LOGIN)"); >+ if (b64encode(&auth_smtp_user,&slop) < 0) temp_nomem(); >+ substdio_put(&smtpto,slop.s,slop.len); >+ substdio_puts(&smtpto,"\r\n"); >+ substdio_flush(&smtpto); >+ if (smtpcode() != 334) quit("ZConnected to "," but authentication was rejected (username)"); >+ if (b64encode(&auth_smtp_pass,&slop) < 0) temp_nomem(); >+ substdio_put(&smtpto,slop.s,slop.len); >+ substdio_puts(&smtpto,"\r\n"); >+ substdio_flush(&smtpto); >+ if (smtpcode() != 235) quit("ZConnected to "," but authentication was rejected (password)"); >+ substdio_puts(&smtpto,"MAIL FROM:<"); >+ substdio_put(&smtpto,sender.s,sender.len); >+ substdio_puts(&smtpto,"> AUTH=<"); >+ substdio_put(&smtpto,auth_smtp_user.s,auth_smtp_user.len); >+ substdio_puts(&smtpto,">\r\n"); >+ substdio_flush(&smtpto); >+ } else { >+ substdio_puts(&smtpto,"MAIL FROM:<"); >+ substdio_put(&smtpto,sender.s,sender.len); >+ substdio_puts(&smtpto,">\r\n"); >+ substdio_flush(&smtpto); >+ } > code = smtpcode(); > if (code >= 500) quit("DConnected to "," but sender was rejected"); > if (code >= 400) quit("ZConnected to "," but sender was rejected"); >@@ -672,7 +706,7 @@ > char **argv; > { > static ipalloc ip = {0}; >- int i; >+ int i,j; > unsigned long random; > char **recips; > unsigned long prefme; >@@ -687,6 +721,8 @@ > > > if (!stralloc_copys(&host,argv[1])) temp_nomem(); >+ if (!stralloc_copys(&auth_smtp_user,"")) temp_nomem(); >+ if (!stralloc_copys(&auth_smtp_pass,"")) temp_nomem(); > > relayhost = 0; > for (i = 0;i <= host.len;++i) >@@ -696,6 +732,16 @@ > if (relayhost && !*relayhost) relayhost = 0; > > if (relayhost) { >+ i = str_chr(relayhost,' '); >+ if (relayhost[i]) { >+ j = str_chr(relayhost + i + 1,' '); >+ if (relayhost[j]) { >+ relayhost[i] = 0; >+ relayhost[i + j + 1] = 0; >+ if (!stralloc_copys(&auth_smtp_user,relayhost + i + 1)) temp_nomem(); >+ if (!stralloc_copys(&auth_smtp_pass,relayhost + i + j + 2)) temp_nomem(); >+ } >+ } > i = str_chr(relayhost,':'); > if (relayhost[i]) { > scan_ulong(relayhost + i + 1,&port); >--- Makefile.orig 2013-12-29 00:14:52.081231961 +0100 >+++ Makefile 2013-12-29 00:28:05.461247159 +0100 >@@ -1445,13 +1445,13 @@ > load qmail-remote.o control.o constmap.o timeoutread.o timeoutwrite.o \ > timeoutconn.o tcpto.o now.o dns.o ip.o ipalloc.o ipme.o quote.o \ > ndelay.a case.a sig.a open.a lock.a seek.a getln.a stralloc.a alloc.a \ >-substdio.a error.a str.a fs.a auto_qmail.o dns.lib socket.lib >+substdio.a error.a str.a fs.a auto_qmail.o base64.o dns.lib socket.lib > ./load qmail-remote control.o constmap.o timeoutread.o \ > timeoutwrite.o timeoutconn.o tcpto.o now.o dns.o ip.o \ > tls.o ssl_timeoutio.o -L/usr/local/ssl/lib -lssl -lcrypto \ > ipalloc.o ipme.o quote.o ndelay.a case.a sig.a open.a \ > lock.a seek.a getln.a stralloc.a alloc.a substdio.a error.a \ >- str.a fs.a auto_qmail.o `cat dns.lib` `cat socket.lib` >+ str.a fs.a auto_qmail.o base64.o `cat dns.lib` `cat socket.lib` > > qmail-remote.0: \ > qmail-remote.8
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 375879
:
280527
|
280529
| 366400