Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package vpcs for openSUSE:Factory checked in 
at 2022-01-31 22:57:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vpcs (Old)
 and      /work/SRC/openSUSE:Factory/.vpcs.new.1898 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "vpcs"

Mon Jan 31 22:57:04 2022 rev:13 rq:950003 version:0.8.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/vpcs/vpcs.changes        2021-04-08 
21:32:30.575829781 +0200
+++ /work/SRC/openSUSE:Factory/.vpcs.new.1898/vpcs.changes      2022-01-31 
22:57:42.653424433 +0100
@@ -1,0 +2,8 @@
+Fri Jan 28 04:55:38 UTC 2022 - Avinesh Kumar <avinesh.ku...@suse.com>
+
+- update to 0.8.2:
+  * Fix IPv6 router advertisement parsing to accept options out-of-order
+  * fix failure to receive DHCP offer
+  * Remove possibility to run commands on host
+
+-------------------------------------------------------------------

Old:
----
  v0.8.1.tar.gz

New:
----
  v0.8.2.tar.gz

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

Other differences:
------------------
++++++ vpcs.spec ++++++
--- /var/tmp/diff_new_pack.in1s3m/_old  2022-01-31 22:57:43.109421362 +0100
+++ /var/tmp/diff_new_pack.in1s3m/_new  2022-01-31 22:57:43.113421336 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package vpcs
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           vpcs
-Version:        0.8.1
+Version:        0.8.2
 Release:        0
 Summary:        Virtual PC Simulator
 License:        BSD-2-Clause

++++++ v0.8.1.tar.gz -> v0.8.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vpcs-0.8.1/.circleci/config.yml 
new/vpcs-0.8.2/.circleci/config.yml
--- old/vpcs-0.8.1/.circleci/config.yml 2020-11-29 09:39:18.000000000 +0100
+++ new/vpcs-0.8.2/.circleci/config.yml 2021-08-23 03:16:07.000000000 +0200
@@ -3,7 +3,7 @@
 jobs:
   build:
     macos:
-      xcode: "10.1.0"
+      xcode: "11.1.0"
 
     steps:
       - checkout
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vpcs-0.8.1/README.md new/vpcs-0.8.2/README.md
--- old/vpcs-0.8.1/README.md    2020-11-29 09:39:18.000000000 +0100
+++ new/vpcs-0.8.2/README.md    2021-08-23 03:16:07.000000000 +0200
@@ -1,8 +1,5 @@
 # VPCS
-This is not the official VPCS repository and used only by GNS3 team to develop 
patch before sending them
-to the VPCS team.
-The latest VPCS release can be downloaded from 
http://sourceforge.net/projects/vpcs/files/
 
-##??Update git from offical SVN
-git svn fetch
-git svn rebase
+This is a continuation of VPCS, based on the last development version and 
improved with patches wrote by various 
+people from the community. The original VPCS code, which is unfortunately not 
maintained anymore, can be viewed on 
+https://sourceforge.net/p/vpcs/code/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vpcs-0.8.1/man/vpcs.1 new/vpcs-0.8.2/man/vpcs.1
--- old/vpcs-0.8.1/man/vpcs.1   2020-11-29 09:39:18.000000000 +0100
+++ new/vpcs-0.8.2/man/vpcs.1   2021-08-23 03:16:07.000000000 +0200
@@ -115,9 +115,6 @@
 \fB?\fR
 Print help
 .TP
-\fB!\fR \fICOMMAND\fR [\fIARG\fR ...]
-Invoke an OS \fiCOMMAND\fR with optional \fIARG(S)\fR as its arguments
-.TP
 \fIdigit\fR
 Switch to the VPC\fIdigit\fR. \fIdigit\fR range 1 to 9
 .TP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vpcs-0.8.1/src/command.c new/vpcs-0.8.2/src/command.c
--- old/vpcs-0.8.1/src/command.c        2020-11-29 09:39:18.000000000 +0100
+++ new/vpcs-0.8.2/src/command.c        2021-08-23 03:16:07.000000000 +0200
@@ -2046,8 +2046,8 @@
                if (num_pths > 1)
                        fprintf(fp, "%d\n", i + 1);
                sprintf(buf, "VPCS[%d]", i + 1);
-               if (strncmp(vpc[i].xname, buf, MAX_NAMES_LEN))
-                   fprintf(fp, "set pcname %s\n", vpc[i].xname);
+               //if (strncmp(vpc[i].xname, buf, 6))
+               fprintf(fp, "set pcname %s\n", vpc[i].xname);
 
                if (num_pths > 1) {
                        if (vpc[i].lport != (20000 + i))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vpcs-0.8.1/src/help.c new/vpcs-0.8.2/src/help.c
--- old/vpcs-0.8.1/src/help.c   2020-11-29 09:39:18.000000000 +0100
+++ new/vpcs-0.8.2/src/help.c   2021-08-23 03:16:07.000000000 +0200
@@ -298,14 +298,6 @@
        return 1;
 }
 
-int help_shell(int argc, char **argv)
-{
-       esc_prn("\n{H!} {UCOMMAND} [{UARG} ...]\n"
-               " Invoke an OS command {UCOMMAND} with optional [{UARG} ...] as 
arguments\n");
-
-       return 1;
-}
-
 int help_show(int argc, char **argv)
 {
        char *harp[2] = {
@@ -457,9 +449,8 @@
 int run_help(int argc, char **argv) 
 {
        esc_prn("\n"
-               "{H?}                        Print help\n"
-               "{H!} {UCOMMAND} [{UARG} ...]      Invoke an OS {UCOMMAND} with 
optional {UARG(s)}\n");
-       
+               "{H?}                        Print help\n");
+
        if (num_pths > 1) {
                esc_prn("{Udigit}                    Switch to the VPC{Udigit}. 
"
                        "{Udigit} range 1 to %d\n", num_pths); 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vpcs-0.8.1/src/help.h new/vpcs-0.8.2/src/help.h
--- old/vpcs-0.8.1/src/help.h   2020-11-29 09:39:18.000000000 +0100
+++ new/vpcs-0.8.2/src/help.h   2021-08-23 03:16:07.000000000 +0200
@@ -42,7 +42,6 @@
 int help_rlogin(int argc, char **argv);
 int help_save(int argc, char **argv);
 int help_set(int argc, char **argv);
-int help_shell(int argc, char **argv);
 int help_show(int argc, char **argv);
 int help_shut(int argc, char **argv);
 int help_sleep(int argc, char **argv);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vpcs-0.8.1/src/packets.c new/vpcs-0.8.2/src/packets.c
--- old/vpcs-0.8.1/src/packets.c        2020-11-29 09:39:18.000000000 +0100
+++ new/vpcs-0.8.2/src/packets.c        2021-08-23 03:16:07.000000000 +0200
@@ -133,7 +133,7 @@
                        char *data = NULL;
                        ui = (udpiphdr *)ip;
                        
-                       if (IN_MULTICAST(ip->dip))
+                       if (IN_MULTICAST(ntohl(ip->dip)))
                                return PKT_DROP;
                        
                        /* dhcp packet */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vpcs-0.8.1/src/packets6.c 
new/vpcs-0.8.2/src/packets6.c
--- old/vpcs-0.8.1/src/packets6.c       2020-11-29 09:39:18.000000000 +0100
+++ new/vpcs-0.8.2/src/packets6.c       2021-08-23 03:16:07.000000000 +0200
@@ -262,6 +262,7 @@
        ethdr *eh;
        ip6hdr *ip;
        icmp6hdr *icmp;
+       int setMtu = 0, setMac = 0;
        u_int32_t mtu = 0;
        char *p = NULL, *mac = NULL;
        ndrahdr *ndr = NULL;
@@ -312,45 +313,45 @@
         *            32-bits mtu
         */
        
-       p = (char *)(ndr + 1);
-       
-       /* link-layer address */
-       if (*p == 1 && *(p + 1) == 1) {
-               mac = p + 2;
-               p += 8;
-       }
-       /* mtu, skip it*/
-       if (*p == 5 && *(p + 1) == 1) {
-               mtu = ntohl(*(u_int32_t *)(p + 4));
-               p += 8;
-       }
-       /* prefix */
-       if (*p == 3 && *(p + 1) == 4) {
-               int cidr;
-               cidr =  *(p + 2);
-               if (pc->ip6.cidr == 0) {
-                       memcpy(pc->ip6.ip.addr8, p + 16, 16);
-                       pc->ip6.cidr = cidr;
-                       
-                       pc->ip6.ip.addr8[15] = pc->ip4.mac[5];
-                       pc->ip6.ip.addr8[14] = pc->ip4.mac[4];
-                       pc->ip6.ip.addr8[13] = pc->ip4.mac[3];
-                       pc->ip6.ip.addr8[12] = 0xfe;
-                       pc->ip6.ip.addr8[11] = 0xff;
-                       pc->ip6.ip.addr8[10] = pc->ip4.mac[2];
-                       pc->ip6.ip.addr8[9]  = pc->ip4.mac[1];
-                       pc->ip6.ip.addr8[8]  = (pc->ip4.mac[0] &0x20) ? 
-                           pc->ip4.mac[0] & 0xef : (pc->ip4.mac[0] | 0x20);
-
-                       pc->ip6.type = IP6TYPE_EUI64;
-                       if (mtu != 0)
-                               pc->mtu = mtu;
-                       mtu = 0;
-               } 
-               if (sameNet6((char *)pc->ip6.ip.addr8, p + 16, pc->ip6.cidr)) {
-                       memcpy(pc->ip6.gmac, mac, 6);
+       for (p = (char *)(ndr + 1);
+           p < ((char*)icmp + ntohs(ip->ip6_plen));
+           p += *(p + 1) * 8)
+       {
+               /* link-layer address */
+               if (*p == 1 && *(p + 1) == 1)
+                       mac = p + 2;
+               /* mtu */
+               else if (*p == 5 && *(p + 1) == 1)
+                       mtu = ntohl(*(u_int32_t *)(p + 4));
+               /* prefix */
+               else if (*p == 3 && *(p + 1) == 4) {
+                       if (pc->ip6.cidr == 0) {
+                               memcpy(pc->ip6.ip.addr8, p + 16, 16);
+                               pc->ip6.cidr = *(p + 2);
+
+                               pc->ip6.ip.addr8[15] = pc->ip4.mac[5];
+                               pc->ip6.ip.addr8[14] = pc->ip4.mac[4];
+                               pc->ip6.ip.addr8[13] = pc->ip4.mac[3];
+                               pc->ip6.ip.addr8[12] = 0xfe;
+                               pc->ip6.ip.addr8[11] = 0xff;
+                               pc->ip6.ip.addr8[10] = pc->ip4.mac[2];
+                               pc->ip6.ip.addr8[9]  = pc->ip4.mac[1];
+                               pc->ip6.ip.addr8[8]  = (pc->ip4.mac[0] &0x20) ?
+                                   pc->ip4.mac[0] & 0xef : (pc->ip4.mac[0] | 
0x20);
+
+                               pc->ip6.type = IP6TYPE_EUI64;
+                               setMtu = 1;
+                       }
+                       if (sameNet6((char *)pc->ip6.ip.addr8, p + 16, 
pc->ip6.cidr))
+                               setMac = 1;
                }
        }
+
+       if (setMtu != 0 && mtu != 0)
+               pc->mtu = mtu;
+       if (setMac != 0 && mac != NULL)
+               memcpy(pc->ip6.gmac, mac, 6);
+
        return PKT_DROP;        
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vpcs-0.8.1/src/vpcs.c new/vpcs-0.8.2/src/vpcs.c
--- old/vpcs-0.8.1/src/vpcs.c   2020-11-29 09:39:18.000000000 +0100
+++ new/vpcs-0.8.2/src/vpcs.c   2021-08-23 03:16:07.000000000 +0200
@@ -53,7 +53,7 @@
 #include "dhcp.h"
 #include "frag6.h"
 
-const char *ver = "0.8.1";
+const char *ver = "0.8.2";
 /* track the binary */
 static const char *ident = "$Id$";
 
@@ -99,7 +99,6 @@
 static void sig_int(int sig);
 static void sig_clean(int sig);
 void clear_hist(void);
-static int invoke_cmd(const char *);
 
 static void welcome(void);
 void usage();
@@ -358,22 +357,7 @@
                fflush(stdout);
                return;
        }
-       
-       if (*cmdstr == '!') {
-               char *p = NULL;
-               if (strlen(cmdstr) > 1) {
-                       p = cmdstr + 1;
-                       while (*p== ' ' || *p == '\t')
-                               p++;
-                               
-                       if (*p && strcmp(p, "?")) {
-                               invoke_cmd(p);
-                               return;
-                       }
-               }
-               help_shell(0, NULL);
-               return;
-       }
+
        pcmd = argv[0];
        if (*pcmd == '@') {
                at = 1;
@@ -719,20 +703,6 @@
        return;                 
 }
 
-static int 
-invoke_cmd(const char *cmd)
-{
-       int rc = 0;
-       
-#ifdef cygwin
-       char str[1024];
-       snprintf(str, sizeof(str), "%s /c %s", getenv("COMSPEC"), cmd);
-       rc = WinExec(str, SW_SHOW);
-#else  
-       rc = system(cmd);
-#endif 
-       return rc;
-}
 
 void usage()
 {

Reply via email to