Hello community,

here is the log from the commit of package ppp for openSUSE:Factory checked in 
at 2014-08-25 11:03:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ppp (Old)
 and      /work/SRC/openSUSE:Factory/.ppp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ppp"

Changes:
--------
--- /work/SRC/openSUSE:Factory/ppp/ppp.changes  2014-03-23 22:29:37.000000000 
+0100
+++ /work/SRC/openSUSE:Factory/.ppp.new/ppp.changes     2014-08-25 
11:03:31.000000000 +0200
@@ -1,0 +2,11 @@
+Thu Aug 21 12:15:41 UTC 2014 - m...@suse.com
+
+- Update to 2.4.7:
+  * Fixed a potential security issue in parsing option files
+    (CVE-2014-3158, bnc#891489).
+  * There is a new "stop-bits" option, which takes an argument of
+    1 or 2, indicating the number of stop bits to use for async serial
+    ports.
+  * Various bug fixes.
+
+-------------------------------------------------------------------

Old:
----
  ppp-2.4.6.tar.gz

New:
----
  ppp-2.4.7.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ppp.spec ++++++
--- /var/tmp/diff_new_pack.zxc19r/_old  2014-08-25 11:03:32.000000000 +0200
+++ /var/tmp/diff_new_pack.zxc19r/_new  2014-08-25 11:03:32.000000000 +0200
@@ -21,7 +21,7 @@
 BuildRequires:  linux-atm-devel
 BuildRequires:  pam-devel
 Url:            http://ppp.samba.org/
-Version:        2.4.6
+Version:        2.4.7
 Release:        0
 Summary:        The Point to Point Protocol for Linux
 License:        BSD-3-Clause and LGPL-2.1+ and GPL-2.0+
@@ -109,6 +109,7 @@
 %patch23 -p1
 sed -i -e '1s/local\///' scripts/secure-card
 find scripts -type f | xargs chmod a-x
+find -type f -name '*.orig' | xargs rm -f
 
 %build
 # Remove local copy that is out of sync and use the one from linux-header

++++++ ppp-2.4.2-cifdefroute.diff ++++++
--- /var/tmp/diff_new_pack.zxc19r/_old  2014-08-25 11:03:32.000000000 +0200
+++ /var/tmp/diff_new_pack.zxc19r/_new  2014-08-25 11:03:32.000000000 +0200
@@ -169,8 +169,8 @@
 --- pppd/sys-linux.c
 +++ pppd/sys-linux.c
 @@ -206,6 +206,8 @@
- 
  static int    if_is_up;       /* Interface has been marked up */
+ static int    if6_is_up;      /* Interface has been marked up for IPv6, to 
help differentiate */
  static int    have_default_route;     /* Gateway for default route added */
 +static struct rtentry old_def_rt;       /* Old default route */
 +static int       default_rt_repl_rest;  /* replace and restore old default rt 
*/

++++++ ppp-2.4.6.tar.gz -> ppp-2.4.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ppp-2.4.6/README new/ppp-2.4.7/README
--- old/ppp-2.4.6/README        2014-01-02 05:42:08.000000000 +0100
+++ new/ppp-2.4.7/README        2014-08-09 14:31:39.000000000 +0200
@@ -61,9 +61,20 @@
 authenticating itself to you, of course.)
 
 
-What's new in ppp-2.4.6.
+What's new in ppp-2.4.7.
 ************************
 
+* Fixed a potential security issue in parsing option files (CVE-2014-3158).
+
+* There is a new "stop-bits" option, which takes an argument of 1 or 2,
+  indicating the number of stop bits to use for async serial ports.
+
+* Various bug fixes.
+
+
+What was new in ppp-2.4.6.
+**************************
+
 * Man page updates.
 
 * Several bug fixes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ppp-2.4.6/pppd/chap_ms.c new/ppp-2.4.7/pppd/chap_ms.c
--- old/ppp-2.4.6/pppd/chap_ms.c        2014-01-02 05:42:08.000000000 +0100
+++ new/ppp-2.4.7/pppd/chap_ms.c        2014-08-09 14:31:39.000000000 +0200
@@ -382,7 +382,7 @@
                      unsigned char *private)
 {
        const struct chapms2_response_cache_entry *cache_entry;
-       unsigned char auth_response[MS_AUTH_RESPONSE_LENGTH];
+       unsigned char auth_response[MS_AUTH_RESPONSE_LENGTH+1];
 
        challenge++;    /* skip length, should be 16 */
        *response++ = MS_CHAP2_RESPONSE_LEN;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ppp-2.4.6/pppd/ipv6cp.c new/ppp-2.4.7/pppd/ipv6cp.c
--- old/ppp-2.4.6/pppd/ipv6cp.c 2014-01-02 05:42:08.000000000 +0100
+++ new/ppp-2.4.7/pppd/ipv6cp.c 2014-08-09 14:31:39.000000000 +0200
@@ -249,10 +249,8 @@
     { "ipv6cp-use-ipaddr", o_bool, &ipv6cp_allowoptions[0].use_ip,
       "Use (default) IPv4 address as interface identifier", 1 },
 
-#if defined(SOL2) || defined(__linux__)
     { "ipv6cp-use-persistent", o_bool, &ipv6cp_wantoptions[0].use_persistent,
       "Use uniquely-available persistent value for link local address", 1 },
-#endif /* defined(SOL2) */
 
     { "ipv6cp-restart", o_int, &ipv6cp_fsm[0].timeouttime,
       "Set timeout for IPv6CP", OPT_PRIO },
@@ -1088,7 +1086,6 @@
     if (!ipv6cp_protent.enabled_flag)
        return;
 
-#if defined(SOL2) || defined(__linux__)
     /*
      * Persistent link-local id is only used when user has not explicitly
      * configure/hard-code the id
@@ -1108,7 +1105,6 @@
            wo->opt_local = 1;
        }
     }
-#endif
 
     if (!wo->opt_local) {      /* init interface identifier */
        if (wo->use_ip && eui64_iszero(wo->ourid)) {
@@ -1146,15 +1142,8 @@
 {
     ipv6cp_options *wo = &ipv6cp_wantoptions[u];
 
-#if defined(__linux__) || defined(SOL2) || (defined(SVR4) && (defined(SNI) || 
defined(__USLC__)))
-#if defined(SOL2)
     if (!sif6up(u))
        return 0;
-#else
-    if (!sifup(u))
-       return 0;
-#endif /* defined(SOL2) */
-#endif    
     if (!sif6addr(u, wo->ourid, wo->hisid))
        return 0;
 #if !defined(__linux__) && !(defined(SVR4) && (defined(SNI) || 
defined(__USLC__)))
@@ -1247,43 +1236,20 @@
        sifnpmode(f->unit, PPP_IPV6, NPMODE_PASS);
 
     } else {
-       /*
-        * Set LL addresses
-        */
-#if !defined(__linux__) && !defined(SOL2) && !(defined(SVR4) && (defined(SNI) 
|| defined(__USLC__)))
-       if (!sif6addr(f->unit, go->ourid, ho->hisid)) {
-           if (debug)
-               warn("sif6addr failed");
-           ipv6cp_close(f->unit, "Interface configuration failed");
-           return;
-       }
-#endif
-
        /* bring the interface up for IPv6 */
-#if defined(SOL2)
        if (!sif6up(f->unit)) {
            if (debug)
-               warn("sifup failed (IPV6)");
+               warn("sif6up failed (IPV6)");
            ipv6cp_close(f->unit, "Interface configuration failed");
            return;
        }
-#else
-       if (!sifup(f->unit)) {
-           if (debug)
-               warn("sifup failed (IPV6)");
-           ipv6cp_close(f->unit, "Interface configuration failed");
-           return;
-       }
-#endif /* defined(SOL2) */
 
-#if defined(__linux__) || defined(SOL2) || (defined(SVR4) && (defined(SNI) || 
defined(__USLC__)))
        if (!sif6addr(f->unit, go->ourid, ho->hisid)) {
            if (debug)
                warn("sif6addr failed");
            ipv6cp_close(f->unit, "Interface configuration failed");
            return;
        }
-#endif
        sifnpmode(f->unit, PPP_IPV6, NPMODE_PASS);
 
        notice("local  LL address %s", llv6_ntoa(go->ourid));
@@ -1340,16 +1306,14 @@
     } else {
        sifnpmode(f->unit, PPP_IPV6, NPMODE_DROP);
 #if !defined(__linux__) && !(defined(SVR4) && (defined(SNI) || 
defined(__USLC)))
-#if defined(SOL2)
        sif6down(f->unit);
-#else
-       sifdown(f->unit);
-#endif /* defined(SOL2) */
 #endif
        ipv6cp_clear_addrs(f->unit, 
                           ipv6cp_gotoptions[f->unit].ourid,
                           ipv6cp_hisoptions[f->unit].hisid);
-#if defined(__linux__) || (defined(SVR4) && (defined(SNI) || defined(__USLC)))
+#if defined(__linux__)
+       sif6down(f->unit);
+#elif defined(SVR4) && (defined(SNI) || defined(__USLC))
        sifdown(f->unit);
 #endif
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ppp-2.4.6/pppd/ipv6cp.h new/ppp-2.4.7/pppd/ipv6cp.h
--- old/ppp-2.4.6/pppd/ipv6cp.h 2014-01-02 05:42:08.000000000 +0100
+++ new/ppp-2.4.7/pppd/ipv6cp.h 2014-08-09 14:31:39.000000000 +0200
@@ -154,9 +154,7 @@
     int opt_local;             /* ourtoken set by option */
     int opt_remote;            /* histoken set by option */
     int use_ip;                        /* use IP as interface identifier */
-#if defined(SOL2) || defined(__linux__)
     int use_persistent;                /* use uniquely persistent value for 
address */
-#endif /* defined(SOL2) */
     int neg_vj;                        /* Van Jacobson Compression? */
     u_short vj_protocol;       /* protocol value to use in VJ option */
     eui64_t ourid, hisid;      /* Interface identifiers */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ppp-2.4.6/pppd/options.c new/ppp-2.4.7/pppd/options.c
--- old/ppp-2.4.6/pppd/options.c        2014-01-02 05:42:08.000000000 +0100
+++ new/ppp-2.4.7/pppd/options.c        2014-08-09 14:31:39.000000000 +0200
@@ -776,10 +776,13 @@
        if (opt->flags & OPT_STATIC) {
            strlcpy((char *)(opt->addr), *argv, opt->upper_limit);
        } else {
+           char **optptr = (char **)(opt->addr);
            sv = strdup(*argv);
            if (sv == NULL)
                novm("option argument");
-           *(char **)(opt->addr) = sv;
+           if (*optptr)
+               free(*optptr);
+           *optptr = sv;
        }
        break;
 
@@ -1289,9 +1292,10 @@
            /*
             * Store the resulting character for the escape sequence.
             */
-           if (len < MAXWORDLEN-1)
+           if (len < MAXWORDLEN) {
                word[len] = value;
-           ++len;
+               ++len;
+           }
 
            if (!got)
                c = getc(f);
@@ -1329,9 +1333,10 @@
        /*
         * An ordinary character: store it in the word and get another.
         */
-       if (len < MAXWORDLEN-1)
+       if (len < MAXWORDLEN) {
            word[len] = c;
-       ++len;
+           ++len;
+       }
 
        c = getc(f);
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ppp-2.4.6/pppd/patchlevel.h 
new/ppp-2.4.7/pppd/patchlevel.h
--- old/ppp-2.4.6/pppd/patchlevel.h     2014-01-02 05:42:08.000000000 +0100
+++ new/ppp-2.4.7/pppd/patchlevel.h     2014-08-09 14:31:39.000000000 +0200
@@ -1,2 +1,2 @@
-#define VERSION                "2.4.6"
-#define DATE           "2 January 2014"
+#define VERSION                "2.4.7"
+#define DATE           "9 August 2014"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ppp-2.4.6/pppd/plugins/Makefile.linux 
new/ppp-2.4.7/pppd/plugins/Makefile.linux
--- old/ppp-2.4.6/pppd/plugins/Makefile.linux   2014-01-02 05:42:08.000000000 
+0100
+++ new/ppp-2.4.7/pppd/plugins/Makefile.linux   2014-08-09 14:31:39.000000000 
+0200
@@ -14,6 +14,13 @@
 SUBDIRS += radius
 PLUGINS := minconn.so passprompt.so passwordfd.so winbind.so
 
+# This setting should match the one in ../Makefile.linux
+MPPE=y
+
+ifdef MPPE
+CFLAGS   += -DMPPE=1
+endif
+
 # include dependencies if present
 ifeq (.depend,$(wildcard .depend))
 include .depend
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ppp-2.4.6/pppd/plugins/pppol2tp/pppol2tp.c 
new/ppp-2.4.7/pppd/plugins/pppol2tp/pppol2tp.c
--- old/ppp-2.4.6/pppd/plugins/pppol2tp/pppol2tp.c      2014-01-02 
05:42:08.000000000 +0100
+++ new/ppp-2.4.7/pppd/plugins/pppol2tp/pppol2tp.c      2014-08-09 
14:31:39.000000000 +0200
@@ -74,8 +74,6 @@
 
 static void (*old_snoop_recv_hook)(unsigned char *p, int len) = NULL;
 static void (*old_snoop_send_hook)(unsigned char *p, int len) = NULL;
-static void (*old_ip_up_hook)(void) = NULL;
-static void (*old_ip_down_hook)(void) = NULL;
 
 /* Hook provided to allow other plugins to handle ACCM changes */
 void (*pppol2tp_send_accm_hook)(int tunnel_id, int session_id,
@@ -436,22 +434,18 @@
  * Interface up/down events
  *****************************************************************************/
 
-static void pppol2tp_ip_up_hook(void)
+static void pppol2tp_ip_up(void *opaque, int arg)
 {
-       if (old_ip_up_hook != NULL)
-               (*old_ip_up_hook)();
-
+       /* may get called twice (for IPv4 and IPv6) but the hook handles that 
well */
        if (pppol2tp_ip_updown_hook != NULL) {
                (*pppol2tp_ip_updown_hook)(pppol2tp_tunnel_id,
                                           pppol2tp_session_id, 1);
        }
 }
 
-static void pppol2tp_ip_down_hook(void)
+static void pppol2tp_ip_down(void *opaque, int arg)
 {
-       if (old_ip_down_hook != NULL)
-               (*old_ip_down_hook)();
-
+       /* may get called twice (for IPv4 and IPv6) but the hook handles that 
well */
        if (pppol2tp_ip_updown_hook != NULL) {
                (*pppol2tp_ip_updown_hook)(pppol2tp_tunnel_id,
                                           pppol2tp_session_id, 0);
@@ -478,14 +472,6 @@
                snoop_recv_hook = pppol2tp_lcp_snoop_recv;
                snoop_send_hook = pppol2tp_lcp_snoop_send;
        }
-
-       /* Hook up ip up/down hooks to send indicator to openl2tpd
-        * that the link is up
-        */
-       old_ip_up_hook = ip_up_hook;
-       ip_up_hook = pppol2tp_ip_up_hook;
-       old_ip_down_hook = ip_down_hook;
-       ip_down_hook = pppol2tp_ip_down_hook;
 }
 
 /* Called just before pppd exits.
@@ -509,6 +495,14 @@
        fatal("No PPPoL2TP support on this OS");
 #endif
        add_options(pppol2tp_options);
+
+       /* Hook up ip up/down notifiers to send indicator to openl2tpd
+        * that the link is up
+        */
+       add_notifier(&ip_up_notifier, pppol2tp_ip_up, NULL);
+       add_notifier(&ip_down_notifier, pppol2tp_ip_down, NULL);
+       add_notifier(&ipv6_up_notifier, pppol2tp_ip_up, NULL);
+       add_notifier(&ipv6_down_notifier, pppol2tp_ip_down, NULL);
 }
 
 struct channel pppol2tp_channel = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ppp-2.4.6/pppd/plugins/radius/radrealms.c 
new/ppp-2.4.7/pppd/plugins/radius/radrealms.c
--- old/ppp-2.4.6/pppd/plugins/radius/radrealms.c       2014-01-02 
05:42:08.000000000 +0100
+++ new/ppp-2.4.7/pppd/plugins/radius/radrealms.c       2014-08-09 
14:31:39.000000000 +0200
@@ -28,7 +28,8 @@
 char radrealms_config[MAXPATHLEN] = "/etc/radiusclient/realms";
 
 static option_t Options[] = {
-    { "realms-config-file", o_string, &radrealms_config },
+    { "realms-config-file", o_string, &radrealms_config,
+      "Configuration file for RADIUS realms", OPT_STATIC, NULL, MAXPATHLEN },
     { NULL }
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ppp-2.4.6/pppd/pppd.h new/ppp-2.4.7/pppd/pppd.h
--- old/ppp-2.4.6/pppd/pppd.h   2014-01-02 05:42:08.000000000 +0100
+++ new/ppp-2.4.7/pppd/pppd.h   2014-08-09 14:31:39.000000000 +0200
@@ -279,6 +279,7 @@
 extern int     default_device; /* Using /dev/tty or equivalent */
 extern char    devnam[MAXPATHLEN];     /* Device name */
 extern int     crtscts;        /* Use hardware flow control */
+extern int     stop_bits;      /* Number of serial port stop bits */
 extern bool    modem;          /* Use modem control lines */
 extern int     inspeed;        /* Input/Output speed requested */
 extern u_int32_t netmask;      /* IP netmask to set on interface */
@@ -657,6 +658,8 @@
                                /* Reset i/f IP addresses */
 #ifdef INET6
 int  ether_to_eui64(eui64_t *p_eui64); /* convert eth0 hw address to EUI64 */
+int  sif6up __P((int));                /* Configure i/f up for IPv6 */
+int  sif6down __P((int));      /* Configure i/f down for IPv6 */
 int  sif6addr __P((int, eui64_t, eui64_t));
                                /* Configure IPv6 addresses for i/f */
 int  cif6addr __P((int, eui64_t, eui64_t));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ppp-2.4.6/pppd/sys-linux.c 
new/ppp-2.4.7/pppd/sys-linux.c
--- old/ppp-2.4.6/pppd/sys-linux.c      2014-01-02 05:42:08.000000000 +0100
+++ new/ppp-2.4.7/pppd/sys-linux.c      2014-08-09 14:31:39.000000000 +0200
@@ -205,6 +205,7 @@
 static unsigned char inbuf[512]; /* buffer for chars read from loopback */
 
 static int     if_is_up;       /* Interface has been marked up */
+static int     if6_is_up;      /* Interface has been marked up for IPv6, to 
help differentiate */
 static int     have_default_route;     /* Gateway for default route added */
 static u_int32_t proxy_arp_addr;       /* Addr for proxy arp entry added */
 static char proxy_arp_dev[16];         /* Device for proxy arp entry */
@@ -239,6 +240,7 @@
 static int set_kdebugflag(int level);
 static int ppp_registered(void);
 static int make_ppp_unit(void);
+static int setifstate (int u, int state);
 
 extern u_char  inpacket_buf[]; /* borrowed from main.c */
 
@@ -338,6 +340,9 @@
        if_is_up = 0;
        sifdown(0);
     }
+    if (if6_is_up)
+       sif6down(0);
+
 /*
  * Delete any routes through the device.
  */
@@ -966,6 +971,9 @@
        break;
     }
 
+    if (stop_bits >= 2)
+       tios.c_cflag |= CSTOPB;
+
     speed = translate_speed(inspeed);
     if (speed) {
        cfsetospeed (&tios, speed);
@@ -2252,25 +2260,12 @@
 
 int sifup(int u)
 {
-    struct ifreq ifr;
+    int ret;
 
-    memset (&ifr, '\0', sizeof (ifr));
-    strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
-    if (ioctl(sock_fd, SIOCGIFFLAGS, (caddr_t) &ifr) < 0) {
-       if (! ok_error (errno))
-           error("ioctl (SIOCGIFFLAGS): %m (line %d)", __LINE__);
-       return 0;
-    }
+    if ((ret = setifstate(u, 1)))
+       if_is_up++;
 
-    ifr.ifr_flags |= (IFF_UP | IFF_POINTOPOINT);
-    if (ioctl(sock_fd, SIOCSIFFLAGS, (caddr_t) &ifr) < 0) {
-       if (! ok_error (errno))
-           error("ioctl(SIOCSIFFLAGS): %m (line %d)", __LINE__);
-       return 0;
-    }
-    if_is_up++;
-
-    return 1;
+    return ret;
 }
 
 /********************************************************************
@@ -2281,11 +2276,59 @@
 
 int sifdown (int u)
 {
-    struct ifreq ifr;
-
     if (if_is_up && --if_is_up > 0)
        return 1;
 
+#ifdef INET6
+    if (if6_is_up)
+       return 1;
+#endif /* INET6 */
+
+    return setifstate(u, 0);
+}
+
+#ifdef INET6
+/********************************************************************
+ *
+ * sif6up - Config the interface up for IPv6
+ */
+
+int sif6up(int u)
+{
+    int ret;
+
+    if ((ret = setifstate(u, 1)))
+       if6_is_up = 1;
+
+    return ret;
+}
+
+/********************************************************************
+ *
+ * sif6down - Disable the IPv6CP protocol and config the interface
+ *           down if there are no remaining protocols.
+ */
+
+int sif6down (int u)
+{
+    if6_is_up = 0;
+
+    if (if_is_up)
+       return 1;
+
+    return setifstate(u, 0);
+}
+#endif /* INET6 */
+
+/********************************************************************
+ *
+ * setifstate - Config the interface up or down
+ */
+
+static int setifstate (int u, int state)
+{
+    struct ifreq ifr;
+
     memset (&ifr, '\0', sizeof (ifr));
     strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
     if (ioctl(sock_fd, SIOCGIFFLAGS, (caddr_t) &ifr) < 0) {
@@ -2294,7 +2337,10 @@
        return 0;
     }
 
-    ifr.ifr_flags &= ~IFF_UP;
+    if (state)
+       ifr.ifr_flags |= IFF_UP;
+    else
+       ifr.ifr_flags &= ~IFF_UP;
     ifr.ifr_flags |= IFF_POINTOPOINT;
     if (ioctl(sock_fd, SIOCSIFFLAGS, (caddr_t) &ifr) < 0) {
        if (! ok_error (errno))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ppp-2.4.6/pppd/sys-solaris.c 
new/ppp-2.4.7/pppd/sys-solaris.c
--- old/ppp-2.4.6/pppd/sys-solaris.c    2014-01-02 05:42:08.000000000 +0100
+++ new/ppp-2.4.7/pppd/sys-solaris.c    2014-08-09 14:31:39.000000000 +0200
@@ -1225,6 +1225,9 @@
     }
 #endif
 
+    if (stop_bits >= 2)
+       tios.c_cflag |= CSTOPB;
+
     tios.c_cflag |= CS8 | CREAD | HUPCL;
     if (local || !modem)
        tios.c_cflag |= CLOCAL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ppp-2.4.6/pppd/tty.c new/ppp-2.4.7/pppd/tty.c
--- old/ppp-2.4.6/pppd/tty.c    2014-01-02 05:42:08.000000000 +0100
+++ new/ppp-2.4.7/pppd/tty.c    2014-08-09 14:31:39.000000000 +0200
@@ -136,6 +136,7 @@
 
 /* option variables */
 int    crtscts = 0;            /* Use hardware flow control */
+int    stop_bits = 1;          /* Number of serial port stop bits */
 bool   modem = 1;              /* Use modem control lines */
 int    inspeed = 0;            /* Input/Output speed requested */
 bool   lockflag = 0;           /* Create lock file to lock the serial dev */
@@ -221,6 +222,9 @@
       OPT_PRIOSUB | OPT_ALIAS | OPT_NOARG | OPT_VAL(-1) },
     { "xonxoff", o_special_noarg, (void *)setxonxoff,
       "Set software (XON/XOFF) flow control", OPT_PRIOSUB },
+    { "stop-bits", o_int, &stop_bits,
+      "Number of stop bits in serial port",
+      OPT_PRIO | OPT_PRIVFIX | OPT_LIMITS, NULL, 2, 1 },
 
     { "modem", o_bool, &modem,
       "Use modem control lines", OPT_PRIO | 1 },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ppp-2.4.6/solaris/ppp_mod.c 
new/ppp-2.4.7/solaris/ppp_mod.c
--- old/ppp-2.4.6/solaris/ppp_mod.c     2014-01-02 05:42:08.000000000 +0100
+++ new/ppp-2.4.7/solaris/ppp_mod.c     2014-08-09 14:31:39.000000000 +0200
@@ -91,7 +91,7 @@
 
 static struct modldrv modldrv = {
     &mod_driverops,                    /* says this is a pseudo driver */
-    "PPP-2.4.6 multiplexing driver",
+    "PPP-2.4.7 multiplexing driver",
     &ppp_ops                           /* driver ops */
 };
 


-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to