• Bug#267100: centericq-utf8: MSN users not using groups cannot add users

    From Paul Hampson@1:229/2 to All on Fri Aug 20 20:30:15 2004
    From: [email protected]

    Package: centericq-utf8
    Version: 4.11.0-1
    Severity: normal

    Basically, the MSN add-user code in CenterICQ's libmsn interface is
    deficient in two ways. The below dpatch solves one of them, specifically
    the situtation that no groups are being used, and so CenterICQ fails to
    match an existing group, and tries to create a group called "" on the
    MSN server. The MSN server complies, but calls the group "0", which
    fails to match the client's view, and so the client reattempts to create
    the group next client-add.

    There is another (not yet solved AFAIK) problem where the codepath that
    adds the previously-unknown-to-the-MSN-server group doesn't then
    continue onto adding the user in question. However, that's neither here
    nor there, as it's a different usergroup, and so not my itch. ^_^

    I've sent the patch to the upstream mailing list, discussion's at: http://mailman.linuxpl.org/pipermail/cicq/2004-August/001457.html
    and the patch itself is: http://mailman.linuxpl.org/pipermail/cicq/2004-August/001458.html

    #! /bin/sh -e
    ## msn_useradd.dpatch by Paul Hampson <[email protected]>
    ##
    ## DP: apply patch to fix adding MSN users to contact list
    ## DP: when not using user groups

    [ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts patch_opts="${patch_opts:--f --no-backup-if-mismatch}"

    if [ $# -ne 1 ]; then
    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
    exit 1
    fi
    case "$1" in
    -patch) patch $patch_opts -p1 < $0;;
    -unpatch) patch $patch_opts -p1 -R < $0;;
    *)
    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
    exit 1;;
    esac

    exit 0
    --- centericq-4.11.0.orig/src/hooks/msnhook.cc
    +++ centericq-4.11.0/src/hooks/msnhook.cc
    @@ -331,6 +331,9 @@
    gid = findgroup(ic, gname);

    try {
    + if(gname.length() == 0) {
    + conn.addToGroup(nicknormalize(ic.nickname), 0);
    + } else
    if(gid != -1) {
    conn.addToGroup(nicknormalize(ic.nickname), gid);
    } else {
    -- System Information:
    Debian Release: 3.1
    APT prefers unstable
    APT policy: (500, 'unstable')
    Architecture: i386 (i686)
    Kernel: Linux 2.6.5
    Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8

    Versions of packages centericq-utf8 depends on:
    ii centericq-common 4.11.0-1.1 A text-mode multi-protocol instant ii libc6 2.3.2.ds1-16 GNU C Library: Shared libraries an ii libcurl3 7.12.1-1 Multi-protocol file transfer libra ii libgcc1 1:3.4.1-5 GCC support library
    ii libgnutls11 1.0.16-7 GNU TLS library - runtime library ii libidn11 0.5.2-2 G