I got a core dump, and determined that somehow this isn't about the kernel, but 
clearly something about the newer kernel
triggers a bug.
In pppd/utils.c, the vslprintf() trips up for a few reasons.
One is that pppd/options.c, print_option() seems to use printer()
with the wrong number of arguments.  I protected the dereference
of the char **, but that wasn't it, the result was also still NULL.

-                       if ((opt->flags & OPT_STATIC) == 0)
-                               p = *(char **)p;
-                       printer("%q", p);
+                       if ((opt->flags & OPT_STATIC) == 0) {
+                               if(p != NULL) {
+                                       p = *(char **)p;
+                               } else {
+                                       p = "NULL";
+                               }
+                       }
+                       printer(arg, "%q", p);

so I protected the %q against dereference of null:

@@ -309,6 +310,12 @@ vslprintf(buf, buflen, fmt, args)
        case 'q':               /* quoted string */
            quoted = c == 'q';
            p = va_arg(args, unsigned char *);
+            if(p==NULL) {
+               OUTCHAR('<');
+               OUTCHAR('0');
+               OUTCHAR('>');
+               continue;
+           }
            if (fillch == '0' && prec >= 0) {
                n = prec;
            } else {

The debug options were actually what made this fail, as it was about to
print something about the pppol2tp plugin:

Oct 25 13:48:14 l2tp-udesktop pppd[8515]: Plugin pppol2tp.so loaded.
Oct 25 13:48:14 l2tp-udesktop pppd[8515]: pppd MCR options in effect:
Oct 25 13:48:14 l2tp-udesktop pppd[8515]: debug debug debug debug 
debug#011#011# (from /etc/ppp/Checkpoint.options.xl2tpd)
Oct 25 13:48:14 l2tp-udesktop pppd[8515]: nodetach#011#011# (from command line)
Oct 25 13:48:14 l2tp-udesktop pppd[8515]: idle 72000#011#011# (from 
/etc/ppp/Checkpoint.options.xl2tpd)
Oct 25 13:48:14 l2tp-udesktop pppd[8515]: ktune#011#011# (from 
/etc/ppp/Checkpoint.options.xl2tpd)
Oct 25 13:48:14 l2tp-udesktop pppd[8515]: dump#011#011# (from 
/etc/ppp/Checkpoint.options.xl2tpd)
Oct 25 13:48:14 l2tp-udesktop pppd[8515]: plugin pppol2tp.so#011#011# (from 
command line)
Oct 25 13:48:14 l2tp-udesktop pppd[8515]: noauth#011#011# (from 
/etc/ppp/Checkpoint.options.xl2tpd)
Oct 25 13:48:14 l2tp-udesktop pppd[8515]: refuse-chap#011#011# (from 
/etc/ppp/Checkpoint.options.xl2tpd)
Oct 25 13:48:14 l2tp-udesktop pppd[8515]: refuse-mschap#011#011# (from 
/etc/ppp/Checkpoint.options.xl2tpd)
Oct 25 13:48:14 l2tp-udesktop pppd[8515]: refuse-mschap-v2#011#011# (from 
/etc/ppp/Checkpoint.options.xl2tpd)
Oct 25 13:48:14 l2tp-udesktop pppd[8515]: refuse-eap#011#011# (from 
/etc/ppp/Checkpoint.options.xl2tpd)
Oct 25 13:48:14 l2tp-udesktop pppd[8515]: name XXXX#011#011# (from 
/etc/ppp/Checkpoint.options.xl2tpd)
Oct 25 13:48:14 l2tp-udesktop pppd[8515]: password ??????#011#011# (from 
/etc/ppp/Checkpoint.options.xl2tpd)
Oct 25 13:48:14 l2tp-udesktop pppd[8515]: remotename #011#011# (from 
/etc/ppp/Checkpoint.options.xl2tpd)

HERE:
Oct 25 13:48:14 l2tp-udesktop pppd[8515]: pppol2tp <0>#011#011# (from command 
line)
Oct 25 13:48:14 l2tp-udesktop pppd[8515]: pppol2tp <0>#011#011# (from command 
line)
Oct 25 13:48:14 l2tp-udesktop pppd[8515]: asyncmap 0#011#011# (from 
/etc/ppp/Checkpoint.options.xl2tpd)
Oct 25 13:48:14 l2tp-udesktop pppd[8515]: passive#011#011# (from command line)
Oct 25 13:48:14 l2tp-udesktop pppd[8515]: lcp-echo-failure 4#011#011# (from 
/etc/ppp/options)

There are a lot of debian (and ubuntu) patches, which I would like collect into 
a ppp-2.5.0.
https://github.com/mcr/pppd

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1244714

Title:
  pppd on new Precise HWE kernels fails, but works on 3.2

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ppp/+bug/1244714/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to