~ubuntu-branches/ubuntu/trusty/isdnutils/trusty

« back to all changes in this revision

Viewing changes to debian/patches/capi20-msg2str-safety.dpatch

  • Committer: Package Import Robot
  • Author(s): Steve Langasek
  • Date: 2013-11-15 00:02:58 UTC
  • mfrom: (1.1.8) (31.1.1 trusty-proposed)
  • Revision ID: package-import@ubuntu.com-20131115000258-tt9v3gasgrdml07k
Tags: 1:3.25+dfsg1-3.3ubuntu1
* Merge from Debian unstable:
  - resolves licensing issues with package contents.  LP: #511988.
  - includes proper upstream fix for ipppd on ARM.  LP: #453159.
  - resolves isdnutils-base removal failures.  LP: #813771.
  - fixes capiutils init script to not try to mount obsolete capifs.
    LP: #1064347.
* Remaining changes:
  - Switch libreadline5-dev to libreadline-gplv2-dev since this package
    appears to be GPLv2
  - debian/patches/no-imake.patch: Don't build xisdnload/xmonisdn using
    xmkmf/imake.  This patch was dropped in Debian without explanation;
    it still applies and seems to still be a good idea for eventual
    upstreaming, since imake is quite obsolete.
  - capi.conf: Fix typo for fcdsl2 firmware. LP: #189132.
  - Remove dependencies on /etc/inittab.
    - Disable the installation code to modify /etc/inittab.
    - isdnutils-base: Add ttyI0 example script, which needs to be installed
      in /etc/event.d/ttyI0.
    - isdnvboxserver: Add ttyI1 example script, which needs to be installed
      in /etc/event.d/ttyI1.
    - The two upstart scripts need to be edited.
    - Further improvements and documentation welcome.
* Changes included in Debian:
  - replace calls to ./MAKEDEV with /sbin/MAKEDEV
  - Build-depend on ppp-dev.
  - Switch to newer tcl -dev.
  - update to newer automake
  - debian/rules: use autoreconf to update the autotools in the capi20
    directory
  - debian/{compat,rules,*.files,.dirs}: Convert to Multi-arch.
  - debian/libcapi20-dev.install: Remove .la files (no builds use them).
* Changes included upstream:
  - fix for ARM FTBFS.
  - fix bashisms in vboxplay.
  - debian/patches/{config_libdir,toplevel-make}.patch: add CONFIG_LIBDIR
    override to upstream build system to support Multi-arch.
* Dropped changes:
  - kick dpatch to the curb.
* Handle migrating the blacklist file from
  /etc/modprobe.d/blacklist-capiutils.conf to the path used in Debian,
  /etc/modprobe.d/capiutils.conf.
* Handle rename of /etc/ppp/ip-down.d/99-ipppd and /etc/ppp/ip-up.d/00-ipppd
  to /etc/ppp/ip-down.d/ipppd and /etc/ppp/ip-up.d/ipppd
* Handle rename of /etc/init.d/isdnutils to /etc/init.d/isdnutils-base
* Restore standard.tcl to /usr/share/isdnvboxserver/default; maintainer
  scripts must not depend on contents of /usr/share/doc.
* Apply patches that were preserved in the 3.0 (quilt) migration, but
  were inadvertently not applied:
  - debian/patches/capifax.additional_error_codes.patch
  - debian/patches/capifax.3_1kHz_audio.patch
* Drop debian/isdnutils-base.cron.d, which isn't a cronjob example at all
  but an inittab example gone astray.
* debian/dotconfig*: don't use embedded quotes for paths; this confuses
  vbox's Makefiles something fierce, and causes files to be missed from
  debian/tmp'/usr/share/man/' at install time.
* Fix isdnlog and ipppd to not ship files used in the postinst under
  /usr/share/doc.
* Modernize the upstart examples.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#! /bin/sh -e
2
 
 
3
 
# DP: Prevent buffer overflow in capi20_{cmsg,message}2str.
4
 
# DP: Add warning that they are not thread-safe.
5
 
 
6
 
dir=
7
 
if [ $# -eq 3 -a "$2" = '-d' ]; then
8
 
    pdir="-d $3"
9
 
    dir="$3/"
10
 
elif [ $# -ne 1 ]; then
11
 
    echo >&2 "usage: `basename $0`: -patch|-unpatch [-d <srcdir>]"
12
 
    exit 1
13
 
fi
14
 
case "$1" in
15
 
    -patch)
16
 
        patch $pdir -f --no-backup-if-mismatch -p0 < $0
17
 
        ;;
18
 
    -unpatch)
19
 
        patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
20
 
        ;;
21
 
    *)
22
 
        echo >&2 "usage: `basename $0`: -patch|-unpatch [-d <srcdir>]"
23
 
        exit 1
24
 
esac
25
 
exit 0
26
 
 
27
 
--- capi20/capiutils.h~ 2005-03-08 07:26:47.000000000 +0000
28
 
+++ capi20/capiutils.h  2007-02-17 20:22:48.000000000 +0000
29
 
@@ -308,6 +308,10 @@
30
 
 #define capi20_cmd2str capi_cmd2str
31
 
 char *capi_cmd2str(_cbyte cmd, _cbyte subcmd);
32
 
 
33
 
+/*
34
 
+ * WARNING: The following two functions use a single static buffer and
35
 
+ * are not thread-safe.
36
 
+ */
37
 
 #define capi20_cmsg2str        capi_cmsg2str
38
 
 char *capi_cmsg2str(_cmsg * cmsg);
39
 
 
40
 
--- capi20/convert.c~   2005-05-09 09:23:01.000000000 +0100
41
 
+++ capi20/convert.c    2007-02-17 20:34:17.000000000 +0000
42
 
@@ -894,10 +894,14 @@
43
 
 static void bufprint(char *fmt,...)
44
 
 {
45
 
        va_list f;
46
 
+       size_t space = buf + sizeof(buf) - p, len;
47
 
        va_start(f, fmt);
48
 
-       vsprintf(p, fmt, f);
49
 
+       len = vsnprintf(p, space, fmt, f);
50
 
        va_end(f);
51
 
-       p += strlen(p);
52
 
+       if (len < space - 1)
53
 
+               p += len;
54
 
+       else
55
 
+               p += space - 1;
56
 
 }
57
 
 
58
 
 static void printstructlen(_cbyte * m, unsigned len)