From Marco D'Itri.
authorPaul Mackerras <paulus@samba.org>
Tue, 22 Mar 2005 09:53:53 +0000 (09:53 +0000)
committerPaul Mackerras <paulus@samba.org>
Tue, 22 Mar 2005 09:53:53 +0000 (09:53 +0000)
This is a fix for #294232.

If pppd recognized the peer not to ask for encryption in
his initial offer, it refused any further negotiation.

This change tells the peer using a ConfNak what
encryption options we're able to accept.
This makes the peer send a new ConfReq, usually with
one of the options we're able to accept.

pppd/ccp.c

index fd51952e02bb21eaf14339a587db1baaac3ec06b..1f8fd73868210351499e88b5ae6c992dd1ada61a 100644 (file)
@@ -28,7 +28,7 @@
  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-#define RCSID  "$Id: ccp.c,v 1.48 2004/11/13 02:28:15 paulus Exp $"
+#define RCSID  "$Id: ccp.c,v 1.49 2005/03/22 09:53:53 paulus Exp $"
 
 #include <stdlib.h>
 #include <string.h>
@@ -1158,8 +1158,11 @@ ccp_reqci(f, p, lenp, dont_nak)
                    }
                } else {
                    /* Neither are set. */
-                   newret = CONFREJ;
-                   break;
+                   /* We cannot accept this.  */
+                   newret = CONFNAK;
+                   /* Give the peer our idea of what can be used,
+                      so it can choose and confirm */
+                   ho->mppe = ao->mppe;
                }
 
                /* rebuild the opts */