summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
Diffstat (limited to 'extra')
-rw-r--r--extra/arora/arora.install12
-rw-r--r--extra/avidemux/avidemux-2.5.4-x264-build115.patch45
-rw-r--r--extra/blender/PKGBUILD93
-rw-r--r--extra/blender/blender.install13
-rw-r--r--extra/claws-mail-extra-plugins/webkit1.6.1.patch106
-rw-r--r--extra/cups/PKGBUILD143
-rwxr-xr-xextra/cups/cups68
-rw-r--r--extra/cups/cups-avahi.patch3156
-rw-r--r--extra/cups/cups-no-export-ssllibs.patch12
-rw-r--r--extra/cups/cups-no-gcrypt.patch38
-rw-r--r--extra/cups/cups.install26
-rw-r--r--extra/cups/cups.logrotate8
-rw-r--r--extra/cups/cups.pam3
-rw-r--r--extra/dovecot/PKGBUILD6
-rw-r--r--extra/emacs/emacs.desktop12
-rw-r--r--extra/ettercap/ettercap.desktop9
-rw-r--r--extra/fping/fping-2.4b2_p161-min-time.patch47
-rw-r--r--extra/fping/fping_2.4b2-to-ipv6-16.1.diff838
-rw-r--r--extra/gegl/0.1.6-ffmpeg.patch33
-rw-r--r--extra/gnutls/PKGBUILD8
-rw-r--r--extra/gtk3/filechooserdefault_do_not_unref_value_twice.patch24
-rw-r--r--extra/gtk3/moveresize.patch47
-rw-r--r--extra/hplip/PKGBUILD68
-rw-r--r--extra/hplip/hplip.install10
-rw-r--r--extra/icedtea-web-java7/icedtea-web-1.1.4-npapi-fix.patch12
-rw-r--r--extra/icedtea-web/icedtea-web-1.1.4-npapi-fix.patch12
-rw-r--r--extra/kdebase-workspace/kdm-zsh-profile.patch11
-rw-r--r--extra/kile/PKGBUILD31
-rw-r--r--extra/kile/kile.install13
-rw-r--r--extra/libdrm/list.h137
-rw-r--r--extra/libdrm/rbo.h50
-rw-r--r--extra/libgsf/libgsf-gnome.install19
-rw-r--r--extra/llvm/bug-9869-operator-h-c++0x.patch57
-rw-r--r--extra/llvm/clang-toolchains-gcc-versions.patch12
-rw-r--r--extra/mediastreamer/disable-v4l1.patch50
-rw-r--r--extra/monodevelop-debugger-mdb/PKGBUILD30
-rw-r--r--extra/monodevelop-debugger-mdb/support_mdb_2.4.2.patch444
-rw-r--r--extra/nss/distrust-diginotar.patch1675
-rw-r--r--extra/perl-async-interrupt/PKGBUILD48
-rw-r--r--extra/perl-ev/PKGBUILD48
-rw-r--r--extra/perl-guard/PKGBUILD48
-rw-r--r--extra/phonon/libqzeitgeist08.patch150
-rw-r--r--extra/qt/blacklist-diginotar-certs.diff89
-rw-r--r--extra/qtscriptgenerator/qtscriptgenerator-gcc44.patch15
-rw-r--r--extra/smplayer/ChangeLog74
-rw-r--r--extra/strigi/libstreamanalyzer_pdf.patch27
-rw-r--r--extra/subversion/subversion-perl-bindings.patch12
-rw-r--r--extra/subversion/subversion.suppress.deprecation.warnings.patch22
-rw-r--r--extra/tcpdump/ppi.h8
-rw-r--r--extra/thunar-media-tags-plugin/0001-Switch-to-the-new-tooltip-api-in-gtk-depend-on-gtk-2.patch177
-rw-r--r--extra/thunar-media-tags-plugin/04_fix-implicit-dso-linking.patch10
-rw-r--r--extra/vlc/bp-set-channel-map-pulseaudio-1.0.patch33
-rw-r--r--extra/xalan-java/PKGBUILD25
-rw-r--r--extra/xerces2-java/PKGBUILD28
-rw-r--r--extra/xorg-server/Xi-allow-passive-keygrabs-on-the-XIAll-Master-Device.patch31
-rw-r--r--extra/zsh/modules.patch11
56 files changed, 151 insertions, 8083 deletions
diff --git a/extra/arora/arora.install b/extra/arora/arora.install
deleted file mode 100644
index 5787df72f..000000000
--- a/extra/arora/arora.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/extra/avidemux/avidemux-2.5.4-x264-build115.patch b/extra/avidemux/avidemux-2.5.4-x264-build115.patch
deleted file mode 100644
index c627667ec..000000000
--- a/extra/avidemux/avidemux-2.5.4-x264-build115.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -ru avidemux_2.5.4.orig/plugins/ADM_videoEncoder/ADM_vidEnc_x264/encoder.cpp avidemux_2.5.4/plugins/ADM_videoEncoder/ADM_vidEnc_x264/encoder.cpp
---- avidemux_2.5.4.orig/plugins/ADM_videoEncoder/ADM_vidEnc_x264/encoder.cpp 2011-04-28 22:35:36.000000000 +0200
-+++ avidemux_2.5.4/plugins/ADM_videoEncoder/ADM_vidEnc_x264/encoder.cpp 2011-04-28 22:40:26.000000000 +0200
-@@ -488,8 +488,10 @@
- printf("[x264] analyse.b_transform_8x8 = %d\n", x264Param->analyse.b_transform_8x8);
- printf("[x264] analyse.inter = %d\n", x264Param->analyse.inter);
- printf("[x264] b_cabac = %d\n", x264Param->b_cabac);
--#if X264_BUILD > 101
-+#if X264_BUILD > 101 && X264_BUILD < 115
- printf("[x264] i_open_gop = %d\n", x264Param->i_open_gop);
-+#elif X264_BUILD > 114
-+ printf("[x264] b_open_gop = %d\n", x264Param->b_open_gop);
- #endif
- printf("[x264] b_interlaced = %d\n", x264Param->b_interlaced);
- #if X264_BUILD > 88
-diff -ru avidemux_2.5.4.orig/plugins/ADM_videoEncoder/ADM_vidEnc_x264/x264Options.cpp avidemux_2.5.4/plugins/ADM_videoEncoder/ADM_vidEnc_x264/x264Options.cpp
---- avidemux_2.5.4.orig/plugins/ADM_videoEncoder/ADM_vidEnc_x264/x264Options.cpp 2011-04-28 22:35:36.000000000 +0200
-+++ avidemux_2.5.4/plugins/ADM_videoEncoder/ADM_vidEnc_x264/x264Options.cpp 2011-04-28 22:43:36.000000000 +0200
-@@ -417,7 +417,7 @@
- _param.b_cabac = cabac;
- }
-
--#if X264_BUILD > 101
-+#if X264_BUILD > 101 && X264_BUILD < 115
- unsigned int x264Options::getOpenGopMode(void)
- {
- return _param.i_open_gop;
-@@ -428,6 +428,17 @@
- if (openGopMode < 3)
- _param.i_open_gop = openGopMode;
- }
-+#elif X264_BUILD > 114
-+unsigned int x264Options::getOpenGopMode(void)
-+{
-+ return _param.b_open_gop;
-+}
-+
-+void x264Options::setOpenGopMode(unsigned int openGopMode)
-+{
-+ if (openGopMode < 3)
-+ _param.b_open_gop = openGopMode;
-+}
- #endif
-
- unsigned int x264Options::getInterlaced(void)
diff --git a/extra/blender/PKGBUILD b/extra/blender/PKGBUILD
deleted file mode 100644
index 631b63ae1..000000000
--- a/extra/blender/PKGBUILD
+++ /dev/null
@@ -1,93 +0,0 @@
-# $Id: PKGBUILD 145008 2011-12-14 03:12:03Z eric $
-# Contributor: John Sowiak <john@archlinux.org>
-# Maintainer: tobias <tobias@archlinux.org>
-
-# Apparently, the blender guys refuse to release source tarballs for
-# intermediate releases that deal mainly with binaries but incorporate tiny
-# minor changes from svn. Since I'm sick and tired of the urges of users that
-# look for release numbers only, we make a messy PKGBUILD that can checkout svn
-# release if necessary.
-
-#_svn=true
-_svn=false
-
-pkgname=blender
-pkgver=2.61
-pkgrel=1
-epoch=3
-pkgdesc="A fully integrated 3D graphics creation suite"
-arch=('i686' 'x86_64' 'mips64el')
-license=('GPL')
-url="http://www.blender.org"
-depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils' \
- 'shared-mime-info' 'hicolor-icon-theme' 'xdg-utils' 'glew' \
- 'freetype2' 'openal' 'ffmpeg')
-makedepends=('cmake')
-install=blender.install
-if [ $_svn = false ]; then
- source=(http://download.blender.org/source/$pkgname-$pkgver.tar.gz)
- md5sums=('11a4721ff92286f678bb2e05e5f29c97')
-else
- source=(ftp://ftp.archlinux.org/other/${pkgname}/$pkgname-$pkgver.tar.xz)
- md5sums=('7579d1139d0d6025df8afcfca64a65c4')
-fi
-
-# source PKGBUILD && mksource
-mksource() {
- [[ -x /usr/bin/svn ]] || (echo "svn not found. Install subversion." && return 1)
- _svnver=38016
- _svntrunk="https://svn.blender.org/svnroot/bf-blender/trunk/blender"
- _svnmod="$pkgname-$pkgver"
- mkdir ${pkgname}-$pkgver
- pushd ${pkgname}-$pkgver
- svn co $_svntrunk --config-dir ./ -r $_svnver $_svnmod
- find . -depth -type d -name .svn -exec rm -rf {} \;
- tar -cJf ../${pkgname}-$pkgver.tar.xz ${pkgname}-$pkgver/*
- popd
-}
-
-build() {
- cd "$srcdir/$pkgname-$pkgver"
- mkdir build
- cd build
-
- [[ $CARCH == i686 ]] && ENABLESSE2="-DSUPPORT_SSE2_BUILD:BOOL=OFF"
-
- cmake .. \
- -DCMAKE_INSTALL_PREFIX:PATH=/usr \
- -DCMAKE_BUILD_TYPE:STRING=Release \
- -DWITH_INSTALL_PORTABLE:BOOL=OFF \
- -DWITH_PYTHON_INSTALL:BOOL=OFF \
- -DWITH_OPENCOLLADA:BOOL=OFF \
- -DWITH_GAMEENGINE:BOOL=ON \
- -DWITH_PLAYER:BOOL=ON \
- -DWITH_BUILTIN_GLEW:BOOL=OFF \
- -DWITH_CODEC_FFMPEG:BOOL=ON \
- -DWITH_CODEC_SNDFILE:BOOL=ON \
- -DPYTHON_VERSION:STRING=3.2 \
- -DPYTHON_LIBPATH:STRING=/usr/lib \
- -DPYTHON_LIBRARY:STRING=python3.2mu \
- -DPYTHON_INCLUDE_DIRS:STRING=/usr/include/python3.2mu \
- $ENABLESSE2
-
- make $MAKEFLAGS
-
- cp -rf "$srcdir"/${pkgname}-$pkgver/release/plugins/* \
- "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi/
- cd "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi
- chmod 755 bmake
- make
-}
-
-package() {
- cd "$srcdir/$pkgname-$pkgver/build"
- make DESTDIR="${pkgdir}" install
- python -m compileall "${pkgdir}/usr/share/blender"
-
-# install plugins
- install -d -m755 "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/{sequence,texture}
- cp "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi/sequence/*.so \
- "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/sequence/
- cp "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi/texture/*.so \
- "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/texture/
-}
diff --git a/extra/blender/blender.install b/extra/blender/blender.install
deleted file mode 100644
index 724bfce00..000000000
--- a/extra/blender/blender.install
+++ /dev/null
@@ -1,13 +0,0 @@
-post_install() {
- update-desktop-database -q
- update-mime-database usr/share/mime &> /dev/null
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/extra/claws-mail-extra-plugins/webkit1.6.1.patch b/extra/claws-mail-extra-plugins/webkit1.6.1.patch
deleted file mode 100644
index 82bc5d062..000000000
--- a/extra/claws-mail-extra-plugins/webkit1.6.1.patch
+++ /dev/null
@@ -1,106 +0,0 @@
---- src/fancy_viewer.c 2011-07-01 11:50:25.000000000 +0200
-+++ src/fancy_viewer.c 2011-09-30 06:02:45.000000000 +0200
-@@ -83,8 +83,10 @@
- static void download_file_cb(GtkWidget *widget, FancyViewer *viewer);
- #endif
-
--/*FIXME substitute webkitwebsettings.cpp functions with their API when available */
--gchar* webkit_web_view_get_selected_text(WebKitWebView* webView);
-+#if !WEBKIT_CHECK_VERSION (1,5,1)
-+gchar* webkit_web_view_get_selected_text(WebKitWebView* web_view);
-+#endif
-+
- /*------*/
- static GtkWidget *fancy_get_widget(MimeViewer *_viewer)
- {
-@@ -243,6 +245,8 @@
-
- gtk_print_unix_dialog_set_manual_capabilities(print_dialog,
- GTK_PRINT_CAPABILITY_GENERATE_PS);
-+ gtk_print_unix_dialog_set_manual_capabilities(print_dialog,
-+ GTK_PRINT_CAPABILITY_PREVIEW);
-
- result = gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_hide (dialog);
-@@ -293,7 +297,19 @@
- {
- debug_print("fancy_get_selection\n");
- FancyViewer *viewer = (FancyViewer *) _viewer;
-+#if WEBKIT_CHECK_VERSION(1,5,1)
-+ viewer->doc = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(viewer->view));
-+ viewer->window = webkit_dom_document_get_default_view (viewer->doc);
-+ viewer->selection = webkit_dom_dom_window_get_selection (viewer->window);
-+ if (viewer->selection == NULL)
-+ return NULL;
-+ viewer->range = webkit_dom_dom_selection_get_range_at(viewer->selection, 0, NULL);
-+ if (viewer->range == NULL)
-+ return NULL;
-+ gchar *sel = webkit_dom_range_get_text (viewer->range);
-+#else
- gchar *sel = webkit_web_view_get_selected_text(viewer->view);
-+#endif
- if (!viewer->view || strlen(sel) == 0) {
- g_free(sel);
- return NULL;
-@@ -686,7 +702,15 @@
- debug_print("Clicked on Search on Web\n");
- if (webkit_web_view_has_selection(viewer->view)) {
- gchar *search;
-+#if WEBKIT_CHECK_VERSION(1,5,1)
-+ viewer->doc = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(viewer->view));
-+ viewer->window = webkit_dom_document_get_default_view (viewer->doc);
-+ viewer->selection = webkit_dom_dom_window_get_selection (viewer->window);
-+ viewer->range = webkit_dom_dom_selection_get_range_at(viewer->selection, 0, NULL);
-+ gchar *tmp = webkit_dom_range_get_text (viewer->range);
-+#else
- gchar *tmp = webkit_web_view_get_selected_text(viewer->view);
-+#endif
- search = g_strconcat(GOOGLE_SEARCH, tmp, NULL);
- webkit_web_view_open(viewer->view, search);
- g_free(search);
-@@ -896,7 +920,6 @@
- static gboolean populate_popup_cb (WebKitWebView *view, GtkWidget *menu,
- FancyViewer *viewer)
- {
-- /*FIXME hack..until webkit does not give the proper way to handle it*/
- Plugin *plugin = plugin_get_loaded_by_name("RSSyl");
- gtk_container_foreach(GTK_CONTAINER(menu),
- (GtkCallback)viewer_menu_handler,
-@@ -941,7 +964,19 @@
- if (webkit_web_view_can_copy_clipboard(view)) {
- GtkClipboard *wv_clipboard = gtk_clipboard_get(GDK_SELECTION_PRIMARY);
- const gchar *sel_text;
-- sel_text = (const gchar*)webkit_web_view_get_selected_text(view);
-+#if WEBKIT_CHECK_VERSION(1,5,1)
-+ viewer->doc = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(viewer->view));
-+ viewer->window = webkit_dom_document_get_default_view (viewer->doc);
-+ viewer->selection = webkit_dom_dom_window_get_selection (viewer->window);
-+ if (viewer->selection == NULL)
-+ return NULL;
-+ viewer->range = webkit_dom_dom_selection_get_range_at(viewer->selection, 0, NULL);
-+ if (viewer->range == NULL)
-+ return NULL;
-+ sel_text = (const *gchar)webkit_dom_range_get_text (viewer->range);
-+#else
-+ sel_text = (const *gchar)webkit_web_view_get_selected_text(viewer->view);
-+#endif
- gtk_clipboard_set_text(wv_clipboard, sel_text, -1);
- }
- return FALSE;
---- src/fancy_viewer.h 2011-07-01 11:50:25.000000000 +0200
-+++ src/fancy_viewer.h 2011-09-30 06:02:45.000000000 +0200
-@@ -113,6 +113,14 @@
- gint tag;
- gint loading;
- gint stop_previous;
-+
-+ /* DOM Objects */
-+#if WEBKIT_CHECK_VERSION(1,5,1)
-+ WebKitDOMDocument *doc;
-+ WebKitDOMDOMWindow *window;
-+ WebKitDOMDOMSelection *selection;
-+ WebKitDOMRange *range;
-+#endif
- };
- #define OPEN_INTERNAL FALSE
- #define OPEN_EXTERNAL TRUE
diff --git a/extra/cups/PKGBUILD b/extra/cups/PKGBUILD
deleted file mode 100644
index 414cb2802..000000000
--- a/extra/cups/PKGBUILD
+++ /dev/null
@@ -1,143 +0,0 @@
-# $Id: PKGBUILD 136886 2011-09-02 16:22:36Z andyrtr $
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
-
-pkgbase="cups"
-pkgname=('libcups' 'cups')
-pkgver=1.5.0
-pkgrel=2
-arch=('i686' 'x86_64' 'mips64el')
-license=('GPL')
-url="http://www.cups.org/"
-makedepends=('libtiff>=3.9.2-2' 'libpng>=1.4.0' 'acl' 'openslp' 'pam' 'xdg-utils' 'krb5' 'gnutls>=2.8.3' 'poppler>=0.12.3'
- 'xinetd' 'gzip' 'autoconf' 'php' 'libusb-compat' 'dbus-core' 'avahi' 'hicolor-icon-theme')
-source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2
- cups-avahi.patch
- cups-no-export-ssllibs.patch
- cups-no-gcrypt.patch
- cups cups.logrotate cups.pam)
-#options=('!emptydirs')
-md5sums=('e54ed09ede2340fc3014913333520fe4'
- 'e0843e8d8c345792ac73a185260e69fe'
- '9b8467a1e51d360096b70e2c3c081e6c'
- '3733c23e77eb503bd94cc368e02830dc'
- '9657daa21760bb0b5fa3d8b51d5e01a1'
- 'f861b18f4446c43918c8643dcbbd7f6d'
- '96f82c38f3f540b53f3e5144900acf17')
-
-# move client.conf man page for next update to the client pkg.
-
-build() {
- cd ${srcdir}/${pkgbase}-${pkgver}
- # Avahi support in the dnssd backend. patch from Debian based on the Fedora work but brings it in a single file http://patch-tracker.debian.org/package/cups
- patch -Np1 -i ${srcdir}/cups-avahi.patch
-
- # Do not export SSL libs in cups-config
- patch -Np1 -i "${srcdir}/cups-no-export-ssllibs.patch"
-
- patch -Np1 -i "${srcdir}/cups-no-gcrypt.patch"
-
- # Rebuild configure script for --enable-avahi.
- aclocal -I config-scripts
- autoconf -I config-scripts
-
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
- --libdir=/usr/lib \
- --with-logdir=/var/log/cups \
- --with-docdir=/usr/share/cups/doc \
- --with-cups-user=daemon \
- --with-cups-group=lp \
- --enable-pam=yes \
- --disable-ldap \
- --enable-raw-printing \
- --enable-dbus --with-dbusdir=/etc/dbus-1 \
- --enable-ssl=yes --enable-gnutls \
- --enable-threads \
- --enable-avahi\
- --with-php=/usr/bin/php-cgi \
- --with-pdftops=pdftops \
- --with-optim="$CFLAGS"
- make
-}
-
-check() {
- cd "$srcdir/$pkgbase-$pkgver"
- #httpAddrGetList(workstation64): FAIL
- #1 TESTS FAILED!
- #make[1]: *** [testhttp] Error 1
- make -k check || /bin/true
-}
-
-package_libcups() {
-pkgdesc="The CUPS Printing System - client libraries and headers"
-depends=('gnutls>=2.8.3' 'libtiff>=3.9.2-2' 'libpng>=1.4.0' 'krb5' 'avahi')
-
- cd ${srcdir}/${pkgbase}-${pkgver}
- make BUILDROOT=${pkgdir} install-headers install-libs
- # put this into the libs pkg to make other software find the libs(no pkg-config file included)
- mkdir -p ${pkgdir}/usr/bin
- install -m755 ${srcdir}/${pkgbase}-${pkgver}/cups-config ${pkgdir}/usr/bin/cups-config
-}
-
-package_cups() {
-pkgdesc="The CUPS Printing System - deamon package"
-install=cups.install
-backup=(etc/cups/cupsd.conf
- etc/cups/mime.convs
- etc/cups/mime.types
- etc/cups/snmp.conf
- etc/cups/printers.conf
- etc/cups/classes.conf
- etc/cups/client.conf
- etc/cups/subscriptions.conf
- etc/dbus-1/system.d/cups.conf
- etc/logrotate.d/cups
- etc/pam.d/cups
- etc/xinetd.d/cups-lpd)
-depends=('acl' 'openslp' 'pam' "libcups>=${pkgver}" 'poppler>=0.12.3' 'libusb-compat' 'dbus-core' 'hicolor-icon-theme')
-optdepends=('php: for included phpcups.so module'
- 'ghostscript: for non-PostScript printers to print with CUPS to convert PostScript to raster images'
- 'foomatic-db: drivers use Ghostscript to convert PostScript to a printable form directly'
- 'foomatic-db-engine: drivers use Ghostscript to convert PostScript to a printable form directly'
- 'xdg-utils: xdg .desktop file support')
-
- cd ${srcdir}/${pkgbase}-${pkgver}
- make BUILDROOT=${pkgdir} install-data install-exec
-
- # this one we ship in the libcups pkg
- rm -f ${pkgdir}/usr/bin/cups-config
-
- # kill the sysv stuff
- rm -rf ${pkgdir}/etc/rc*.d
- rm -rf ${pkgdir}/etc/init.d
- install -D -m755 ../cups ${pkgdir}/etc/rc.d/cupsd
- install -D -m644 ../cups.logrotate ${pkgdir}/etc/logrotate.d/cups
- install -D -m644 ../cups.pam ${pkgdir}/etc/pam.d/cups
-
- # fix perms on /var/spool and /etc
- chmod 755 ${pkgdir}/var/spool
- chmod 755 ${pkgdir}/etc
-
- # serial backend needs to run as root (http://bugs.archlinux.org/task/20396)
- chmod 700 ${pkgdir}/usr/lib/cups/backend/serial
-
- # install ssl directory where to store the certs, solves some samba issues
- install -dm700 -g lp ${pkgdir}/etc/cups/ssl
- # remove directory from package, we create it in cups rc.d file
- rm -rf ${pkgdir}/var/run
-# install -dm511 -g lp ${pkgdir}/var/run/cups/certs
-
- # install some more configuration files that will get filled by cupsd
- touch ${pkgdir}/etc/cups/printers.conf
- touch ${pkgdir}/etc/cups/classes.conf
- touch ${pkgdir}/etc/cups/client.conf
- echo "# see 'man client.conf'" >> ${pkgdir}/etc/cups/client.conf
- echo "ServerName /var/run/cups/cups.sock # alternative: ServerName hostname-or-ip-address[:port] of a remote server" >> ${pkgdir}/etc/cups/client.conf
- touch ${pkgdir}/etc/cups/subscriptions.conf
- chgrp lp ${pkgdir}/etc/cups/{printers.conf,classes.conf,client.conf,subscriptions.conf}
-
- # fix .desktop file
- sed -i 's|^Exec=htmlview http://localhost:631/|Exec=xdg-open http://localhost:631/|g' ${pkgdir}/usr/share/applications/cups.desktop
-
- # compress some driver files, adopted from Fedora
- find ${pkgdir}/usr/share/cups/model -name "*.ppd" | xargs gzip -n9f
-}
diff --git a/extra/cups/cups b/extra/cups/cups
deleted file mode 100755
index 744c8e663..000000000
--- a/extra/cups/cups
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/bash
-
-daemon_name=cupsd
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-#. /etc/conf.d/$daemon_name.conf
-
-get_pid() {
- pidof -o %PPID $daemon_name
-}
-
-case "$1" in
- start)
- stat_busy "Starting $daemon_name daemon"
-
- PID=$(get_pid)
- if [ -z "$PID" ]; then
- [ -f /var/run/$daemon_name.pid ] && rm -f /var/run/$daemon_name.pid
- # RUN
- $daemon_name
- #
- if [ $? -gt 0 ]; then
- stat_fail
- exit 1
- else
- echo $(get_pid) > /var/run/$daemon_name.pid
- add_daemon $daemon_name
- stat_done
- fi
- else
- stat_fail
- exit 1
- fi
- ;;
-
- stop)
- stat_busy "Stopping $daemon_name daemon"
- PID=$(get_pid)
- # KILL
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- #
- if [ $? -gt 0 ]; then
- stat_fail
- exit 1
- else
- rm -f /var/run/$daemon_name.pid &> /dev/null
- rm_daemon $daemon_name
- stat_done
- fi
- ;;
-
- restart)
- $0 stop
- sleep 3
- $0 start
- ;;
-
- status)
- stat_busy "Checking $daemon_name status";
- ck_status $daemon_name
- ;;
-
- *)
- echo "usage: $0 {start|stop|restart|status}"
-esac
-
-exit 0
diff --git a/extra/cups/cups-avahi.patch b/extra/cups/cups-avahi.patch
deleted file mode 100644
index 7e9c8ecea..000000000
--- a/extra/cups/cups-avahi.patch
+++ /dev/null
@@ -1,3156 +0,0 @@
-Description: Avahi support
-Bug: http://www.cups.org/str.php?L3066
-Author: Tim Waugh
-Origin: git clone http://twaugh.fedorapeople.org/cups-avahi.git (Aug 11, 2011)
-
---- a/backend/dnssd.c
-+++ b/backend/dnssd.c
-@@ -15,14 +15,21 @@
- *
- * Contents:
- *
-+ * next_txt_record() - Get next TXT record from a cups_txt_records_t.
-+ * parse_txt_record_pair() - Read key/value pair in cups_txt_records_t.
- * main() - Browse for printers.
- * browse_callback() - Browse devices.
- * browse_local_callback() - Browse local devices.
- * compare_devices() - Compare two devices.
- * exec_backend() - Execute the backend that corresponds to the
- * resolved service name.
-+ * device_type() - Get DNS-SD type enumeration from string.
- * get_device() - Create or update a device.
- * query_callback() - Process query data.
-+ * avahi_client_callback() - Avahi client callback function.
-+ * avahi_query_callback() - Avahi query callback function.
-+ * avahi_browse_callback() - Avahi browse callback function.
-+ * find_device() - Find a device from its name and domain.
- * sigterm_handler() - Handle termination signals...
- * unquote() - Unquote a name string.
- */
-@@ -33,7 +40,18 @@
-
- #include "backend-private.h"
- #include <cups/array.h>
--#include <dns_sd.h>
-+#ifdef HAVE_DNSSD
-+# include <dns_sd.h>
-+#endif /* HAVE_DNSSD */
-+#ifdef HAVE_AVAHI
-+# include <avahi-client/client.h>
-+# include <avahi-client/lookup.h>
-+# include <avahi-common/simple-watch.h>
-+# include <avahi-common/domain.h>
-+# include <avahi-common/error.h>
-+# include <avahi-common/malloc.h>
-+#define kDNSServiceMaxDomainName AVAHI_DOMAIN_NAME_MAX
-+#endif /* HAVE_AVAHI */
-
-
- /*
-@@ -53,7 +71,12 @@
-
- typedef struct
- {
-+#ifdef HAVE_DNSSD
- DNSServiceRef ref; /* Service reference for resolve */
-+#endif /* HAVE_DNSSD */
-+#ifdef HAVE_AVAHI
-+ int resolved; /* Did we resolve the device? */
-+#endif /* HAVE_AVAHI */
- char *name, /* Service name */
- *domain, /* Domain name */
- *fullName, /* Full name */
-@@ -65,6 +88,20 @@
- sent; /* Did we list the device? */
- } cups_device_t;
-
-+typedef struct
-+{
-+ char key[256];
-+ char value[256];
-+
-+#ifdef HAVE_DNSSD
-+ const uint8_t *data;
-+ const uint8_t *datanext;
-+ const uint8_t *dataend;
-+#else /* HAVE_AVAHI */
-+ AvahiStringList *txt;
-+#endif /* HAVE_DNSSD */
-+} cups_txt_records_t;
-+
-
- /*
- * Local globals...
-@@ -78,6 +115,7 @@
- * Local functions...
- */
-
-+#ifdef HAVE_DNSSD
- static void browse_callback(DNSServiceRef sdRef,
- DNSServiceFlags flags,
- uint32_t interfaceIndex,
-@@ -93,12 +131,6 @@
- const char *regtype,
- const char *replyDomain,
- void *context);
--static int compare_devices(cups_device_t *a, cups_device_t *b);
--static void exec_backend(char **argv);
--static cups_device_t *get_device(cups_array_t *devices,
-- const char *serviceName,
-- const char *regtype,
-- const char *replyDomain);
- static void query_callback(DNSServiceRef sdRef,
- DNSServiceFlags flags,
- uint32_t interfaceIndex,
-@@ -107,9 +139,118 @@
- uint16_t rrclass, uint16_t rdlen,
- const void *rdata, uint32_t ttl,
- void *context);
-+#endif /* HAVE_DNSSD */
-+#ifdef HAVE_AVAHI
-+static void avahi_client_callback (AvahiClient *client,
-+ AvahiClientState state,
-+ void *context);
-+static void avahi_browse_callback (AvahiServiceBrowser *browser,
-+ AvahiIfIndex interface,
-+ AvahiProtocol protocol,
-+ AvahiBrowserEvent event,
-+ const char *serviceName,
-+ const char *regtype,
-+ const char *replyDomain,
-+ AvahiLookupResultFlags flags,
-+ void *context);
-+#endif /* HAVE_AVAHI */
-+
-+static cups_device_t * find_device (cups_array_t *devices,
-+ cups_txt_records_t *txt,
-+ cups_device_t *dkey);
-+static int compare_devices(cups_device_t *a, cups_device_t *b);
-+static void exec_backend(char **argv);
-+static cups_device_t *get_device(cups_array_t *devices,
-+ const char *serviceName,
-+ const char *regtype,
-+ const char *replyDomain);
- static void sigterm_handler(int sig);
- static void unquote(char *dst, const char *src, size_t dstsize);
-
-+#ifdef HAVE_AVAHI
-+static AvahiSimplePoll *simple_poll = NULL;
-+static int avahi_got_callback;
-+#endif /* HAVE_AVAHI */
-+
-+
-+/*
-+ * 'next_txt_record()' - Get next TXT record from a cups_txt_records_t.
-+ */
-+
-+static cups_txt_records_t *
-+next_txt_record (cups_txt_records_t *txt)
-+{
-+#ifdef HAVE_DNSSD
-+ txt->data = txt->datanext;
-+#else /* HAVE_AVAHI */
-+ txt->txt = avahi_string_list_get_next (txt->txt);
-+ if (txt->txt == NULL)
-+ return NULL;
-+#endif /* HAVE_DNSSD */
-+
-+ return txt;
-+}
-+
-+
-+/*
-+ * 'parse_txt_record_pair()' - Read key/value pair in cups_txt_records_t.
-+ */
-+
-+static int
-+parse_txt_record_pair (cups_txt_records_t *txt)
-+{
-+#ifdef HAVE_DNSSD
-+ uint8_t datalen;
-+ uint8_t *data = txt->data;
-+ char *ptr;
-+
-+ /*
-+ * Read a key/value pair starting with an 8-bit length. Since the
-+ * length is 8 bits and the size of the key/value buffers is 256, we
-+ * don't need to check for overflow...
-+ */
-+
-+ datalen = *data++;
-+ if (!datalen || (data + datalen) >= txt->dataend)
-+ return NULL;
-+ txt->datanext = data + datalen;
-+
-+ for (ptr = txt->key; data < txt->datanext && *data != '='; data ++)
-+ *ptr++ = *data;
-+ *ptr = '\0';
-+
-+ if (data < txt->datanext && *data == '=')
-+ {
-+ data++;
-+
-+ if (data < datanext)
-+ memcpy (txt->value, data, txt->datanext - data);
-+ value[txt->datanext - data] = '\0';
-+ }
-+ else
-+ return 1;
-+#else /* HAVE_AVAHI */
-+ char *key, *value;
-+ size_t len;
-+ avahi_string_list_get_pair (txt->txt, &key, &value, &len);
-+ if (len > sizeof (txt->value) - 1)
-+ len = sizeof (txt->value) - 1;
-+
-+ memcpy (txt->value, value, len);
-+ txt->value[len] = '\0';
-+ len = strlen (key);
-+ if (len > sizeof (txt->key) - 1)
-+ len = sizeof (txt->key) - 1;
-+
-+ memcpy (txt->key, key, len);
-+ txt->key[len] = '\0';
-+ avahi_free (key);
-+ avahi_free (value);
-+#endif /* HAVE_AVAHI */
-+
-+ return 0;
-+}
-+
-
- /*
- * 'main()' - Browse for printers.
-@@ -120,6 +261,13 @@
- char *argv[]) /* I - Command-line arguments */
- {
- const char *name; /* Backend name */
-+ cups_array_t *devices; /* Device array */
-+ cups_device_t *device; /* Current device */
-+ char uriName[1024]; /* Unquoted fullName for URI */
-+#ifdef HAVE_DNSSD
-+ int fd; /* Main file descriptor */
-+ fd_set input; /* Input set for select() */
-+ struct timeval timeout; /* Timeout for select() */
- DNSServiceRef main_ref, /* Main service reference */
- fax_ipp_ref, /* IPP fax service reference */
- ipp_ref, /* IPP service reference */
-@@ -133,12 +281,11 @@
- pdl_datastream_ref, /* AppSocket service reference */
- printer_ref, /* LPD service reference */
- riousbprint_ref; /* Remote IO service reference */
-- int fd; /* Main file descriptor */
-- fd_set input; /* Input set for select() */
-- struct timeval timeout; /* Timeout for select() */
-- cups_array_t *devices; /* Device array */
-- cups_device_t *device; /* Current device */
-- char uriName[1024]; /* Unquoted fullName for URI */
-+#endif /* HAVE_DNSSD */
-+#ifdef HAVE_AVAHI
-+ AvahiClient *client;
-+ int error;
-+#endif /* HAVE_AVAHI */
- #if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
- struct sigaction action; /* Actions for POSIX signals */
- #endif /* HAVE_SIGACTION && !HAVE_SIGSET */
-@@ -198,6 +345,49 @@
- * Browse for different kinds of printers...
- */
-
-+#ifdef HAVE_AVAHI
-+ if ((simple_poll = avahi_simple_poll_new ()) == NULL)
-+ {
-+ perror ("ERROR: Unable to create avahi simple poll object");
-+ return (1);
-+ }
-+
-+ client = avahi_client_new (avahi_simple_poll_get (simple_poll),
-+ 0, avahi_client_callback, NULL, &error);
-+ if (!client)
-+ {
-+ perror ("DEBUG: Unable to create avahi client");
-+ return (0);
-+ }
-+
-+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC,
-+ AVAHI_PROTO_UNSPEC,
-+ "_fax-ipp._tcp", NULL, 0,
-+ avahi_browse_callback, devices);
-+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC,
-+ AVAHI_PROTO_UNSPEC,
-+ "_ipp._tcp", NULL, 0,
-+ avahi_browse_callback, devices);
-+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC,
-+ AVAHI_PROTO_UNSPEC,
-+ "_ipp-tls._tcp", NULL, 0,
-+ avahi_browse_callback, devices);
-+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC,
-+ AVAHI_PROTO_UNSPEC,
-+ "_pdl-datastream._tcp",
-+ NULL, 0,
-+ avahi_browse_callback,
-+ devices);
-+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC,
-+ AVAHI_PROTO_UNSPEC,
-+ "_printer._tcp", NULL, 0,
-+ avahi_browse_callback, devices);
-+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC,
-+ AVAHI_PROTO_UNSPEC,
-+ "_riousbprint._tcp", NULL, 0,
-+ avahi_browse_callback, devices);
-+#endif /* HAVE_AVAHI */
-+#ifdef HAVE_DNSSD
- if (DNSServiceCreateConnection(&main_ref) != kDNSServiceErr_NoError)
- {
- perror("ERROR: Unable to create service connection");
-@@ -258,6 +448,7 @@
- riousbprint_ref = main_ref;
- DNSServiceBrowse(&riousbprint_ref, kDNSServiceFlagsShareConnection, 0,
- "_riousbprint._tcp", NULL, browse_callback, devices);
-+#endif /* HAVE_DNSSD */
-
- /*
- * Loop until we are killed...
-@@ -265,6 +456,9 @@
-
- while (!job_canceled)
- {
-+ int announce = 0;
-+
-+#ifdef HAVE_DNSSD
- FD_ZERO(&input);
- FD_SET(fd, &input);
-
-@@ -284,11 +478,35 @@
- }
- else
- {
-+ announce = 1;
-+ }
-+#else /* HAVE_AVAHI */
-+ int r;
-+ avahi_got_callback = 0;
-+ r = avahi_simple_poll_iterate (simple_poll, 1);
-+ if (r != 0 && r != EINTR)
-+ {
-+ /*
-+ * We've been told to exit the loop. Perhaps the connection to
-+ * avahi failed.
-+ */
-+
-+ break;
-+ }
-+
-+ if (avahi_got_callback)
-+ announce = 1;
-+#endif /* HAVE_DNSSD */
-+
-+ if (announce)
-+ {
- /*
- * Announce any devices we've found...
- */
-
-+#ifdef HAVE_DNSSD
- DNSServiceErrorType status; /* DNS query status */
-+#endif /* HAVE_DNSSD */
- cups_device_t *best; /* Best matching device */
- char device_uri[1024]; /* Device URI */
- int count; /* Number of queries */
-@@ -302,6 +520,7 @@
- if (device->sent)
- sent ++;
-
-+#ifdef HAVE_DNSSD
- if (device->ref)
- count ++;
-
-@@ -333,14 +552,23 @@
- count ++;
- }
- }
-- else if (!device->sent)
-+ else
-+#endif /* HAVE_DNSSD */
-+#ifdef HAVE_AVAHI
-+ if (!device->resolved)
-+ continue;
-+ else
-+#endif /* HAVE_AVAHI */
-+ if (!device->sent)
- {
-+#ifdef HAVE_DNSSD
- /*
- * Got the TXT records, now report the device...
- */
-
- DNSServiceRefDeallocate(device->ref);
- device->ref = 0;
-+#endif /* HAVE_DNSSD */
-
- if (!best)
- best = device;
-@@ -401,6 +629,7 @@
- }
-
-
-+#ifdef HAVE_DNSSD
- /*
- * 'browse_callback()' - Browse devices.
- */
-@@ -489,6 +718,7 @@
- device->fullName);
- device->sent = 1;
- }
-+#endif /* HAVE_DNSSD */
-
-
- /*
-@@ -569,6 +799,41 @@
-
-
- /*
-+ * 'device_type()' - Get DNS-SD type enumeration from string.
-+ */
-+
-+static int
-+device_type (const char *regtype)
-+{
-+#ifdef HAVE_AVAHI
-+ if (!strcmp(regtype, "_ipp._tcp"))
-+ return (CUPS_DEVICE_IPP);
-+ else if (!strcmp(regtype, "_ipps._tcp") ||
-+ !strcmp(regtype, "_ipp-tls._tcp"))
-+ return (CUPS_DEVICE_IPPS);
-+ else if (!strcmp(regtype, "_fax-ipp._tcp"))
-+ return (CUPS_DEVICE_FAX_IPP);
-+ else if (!strcmp(regtype, "_printer._tcp"))
-+ return (CUPS_DEVICE_PDL_DATASTREAM);
-+#else
-+ if (!strcmp(regtype, "_ipp._tcp."))
-+ return (CUPS_DEVICE_IPP);
-+ else if (!strcmp(regtype, "_ipps._tcp.") ||
-+ !strcmp(regtype, "_ipp-tls._tcp."))
-+ return (CUPS_DEVICE_IPPS);
-+ else if (!strcmp(regtype, "_fax-ipp._tcp."))
-+ return (CUPS_DEVICE_FAX_IPP);
-+ else if (!strcmp(regtype, "_printer._tcp."))
-+ return (CUPS_DEVICE_PRINTER);
-+ else if (!strcmp(regtype, "_pdl-datastream._tcp."))
-+ return (CUPS_DEVICE_PDL_DATASTREAM);
-+#endif /* HAVE_AVAHI */
-+
-+ return (CUPS_DEVICE_RIOUSBPRINT);
-+}
-+
-+
-+/*
- * 'get_device()' - Create or update a device.
- */
-
-@@ -589,20 +854,7 @@
- */
-
- key.name = (char *)serviceName;
--
-- if (!strcmp(regtype, "_ipp._tcp."))
-- key.type = CUPS_DEVICE_IPP;
-- else if (!strcmp(regtype, "_ipps._tcp.") ||
-- !strcmp(regtype, "_ipp-tls._tcp."))
-- key.type = CUPS_DEVICE_IPPS;
-- else if (!strcmp(regtype, "_fax-ipp._tcp."))
-- key.type = CUPS_DEVICE_FAX_IPP;
-- else if (!strcmp(regtype, "_printer._tcp."))
-- key.type = CUPS_DEVICE_PRINTER;
-- else if (!strcmp(regtype, "_pdl-datastream._tcp."))
-- key.type = CUPS_DEVICE_PDL_DATASTREAM;
-- else
-- key.type = CUPS_DEVICE_RIOUSBPRINT;
-+ key.type = device_type (regtype);
-
- for (device = cupsArrayFind(devices, &key);
- device;
-@@ -622,8 +874,14 @@
- free(device->domain);
- device->domain = strdup(replyDomain);
-
-+#ifdef HAVE_DNSSD
- DNSServiceConstructFullName(fullName, device->name, regtype,
- replyDomain);
-+#else /* HAVE_AVAHI */
-+ avahi_service_name_join (fullName, kDNSServiceMaxDomainName,
-+ serviceName, regtype, replyDomain);
-+#endif /* HAVE_DNSSD */
-+
- free(device->fullName);
- device->fullName = strdup(fullName);
- }
-@@ -643,6 +901,9 @@
- device->domain = strdup(replyDomain);
- device->type = key.type;
- device->priority = 50;
-+#ifdef HAVE_AVAHI
-+ device->resolved = 0;
-+#endif /* HAVE_AVAHI */
-
- cupsArrayAdd(devices, device);
-
-@@ -650,13 +911,20 @@
- * Set the "full name" of this service, which is used for queries...
- */
-
-+#ifdef HAVE_DNSSD
- DNSServiceConstructFullName(fullName, serviceName, regtype, replyDomain);
-+#else /* HAVE_AVAHI */
-+ avahi_service_name_join (fullName, kDNSServiceMaxDomainName,
-+ serviceName, regtype, replyDomain);
-+#endif /* HAVE_DNSSD */
-+
- device->fullName = strdup(fullName);
-
- return (device);
- }
-
-
-+#ifdef HAVE_DNSSD
- /*
- * 'query_callback()' - Process query data.
- */
-@@ -680,7 +948,7 @@
- *ptr; /* Pointer into string */
- cups_device_t dkey, /* Search key */
- *device; /* Device */
--
-+ cups_txt_records_t txt;
-
- fprintf(stderr, "DEBUG2: query_callback(sdRef=%p, flags=%x, "
- "interfaceIndex=%d, errorCode=%d, fullName=\"%s\", "
-@@ -714,94 +982,233 @@
- if ((ptr = strstr(name, "._")) != NULL)
- *ptr = '\0';
-
-- if (strstr(fullName, "_ipp._tcp."))
-- dkey.type = CUPS_DEVICE_IPP;
-- else if (strstr(fullName, "_ipps._tcp.") ||
-- strstr(fullName, "_ipp-tls._tcp."))
-- dkey.type = CUPS_DEVICE_IPPS;
-- else if (strstr(fullName, "_fax-ipp._tcp."))
-- dkey.type = CUPS_DEVICE_FAX_IPP;
-- else if (strstr(fullName, "_printer._tcp."))
-- dkey.type = CUPS_DEVICE_PRINTER;
-- else if (strstr(fullName, "_pdl-datastream._tcp."))
-- dkey.type = CUPS_DEVICE_PDL_DATASTREAM;
-+ dkey.type = device_type (fullName);
-+
-+ txt.data = rdata;
-+ txt.dataend = rdata + rdlen;
-+ device = find_device ((cups_array_t *) context, &txt, &dkey);
-+ if (!device)
-+ fprintf(stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", fullName);
-+}
-+#endif /* HAVE_DNSSD */
-+
-+
-+#ifdef HAVE_AVAHI
-+/*
-+ * 'avahi_client_callback()' - Avahi client callback function.
-+ */
-+
-+static void
-+avahi_client_callback(AvahiClient *client,
-+ AvahiClientState state,
-+ void *context)
-+{
-+ /*
-+ * If the connection drops, quit.
-+ */
-+
-+ if (state == AVAHI_CLIENT_FAILURE)
-+ {
-+ fprintf (stderr, "ERROR: Avahi connection failed\n");
-+ avahi_simple_poll_quit (simple_poll);
-+ }
-+}
-+
-+
-+/*
-+ * 'avahi_query_callback()' - Avahi query callback function.
-+ */
-+
-+static void
-+avahi_query_callback(AvahiServiceResolver *resolver,
-+ AvahiIfIndex interface,
-+ AvahiProtocol protocol,
-+ AvahiResolverEvent event,
-+ const char *name,
-+ const char *type,
-+ const char *domain,
-+ const char *host_name,
-+ const AvahiAddress *address,
-+ uint16_t port,
-+ AvahiStringList *txt,
-+ AvahiLookupResultFlags flags,
-+ void *context)
-+{
-+ AvahiClient *client;
-+ cups_device_t key,
-+ *device;
-+ char uqname[1024],
-+ *ptr;
-+ cups_txt_records_t txtr;
-+
-+ client = avahi_service_resolver_get_client (resolver);
-+ if (event != AVAHI_RESOLVER_FOUND)
-+ {
-+ if (event == AVAHI_RESOLVER_FAILURE)
-+ {
-+ fprintf (stderr, "ERROR: %s\n",
-+ avahi_strerror (avahi_client_errno (client)));
-+ }
-+
-+ avahi_service_resolver_free (resolver);
-+ return;
-+ }
-+
-+ /*
-+ * Set search key for device.
-+ */
-+
-+ key.name = uqname;
-+ unquote (uqname, name, sizeof (uqname));
-+ if ((ptr = strstr(name, "._")) != NULL)
-+ *ptr = '\0';
-+
-+ key.domain = (char *) domain;
-+ key.type = device_type (type);
-+
-+ /*
-+ * Find the device and the the TXT information.
-+ */
-+
-+ txtr.txt = txt;
-+ device = find_device ((cups_array_t *) context, &txtr, &key);
-+ if (device)
-+ {
-+ /*
-+ * Let the main loop know to announce the device.
-+ */
-+
-+ device->resolved = 1;
-+ avahi_got_callback = 1;
-+ }
- else
-- dkey.type = CUPS_DEVICE_RIOUSBPRINT;
-+ fprintf (stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", name);
-+
-+ avahi_service_resolver_free (resolver);
-+}
-+
-+
-+/*
-+ * 'avahi_browse_callback()' - Avahi browse callback function.
-+ */
-+
-+static void
-+avahi_browse_callback(AvahiServiceBrowser *browser,
-+ AvahiIfIndex interface,
-+ AvahiProtocol protocol,
-+ AvahiBrowserEvent event,
-+ const char *name,
-+ const char *type,
-+ const char *domain,
-+ AvahiLookupResultFlags flags,
-+ void *context)
-+{
-+ AvahiClient *client = avahi_service_browser_get_client (browser);
-+
-+ switch (event)
-+ {
-+ case AVAHI_BROWSER_FAILURE:
-+ fprintf (stderr, "ERROR: %s\n",
-+ avahi_strerror (avahi_client_errno (client)));
-+ avahi_simple_poll_quit (simple_poll);
-+ return;
-+
-+ case AVAHI_BROWSER_NEW:
-+ /*
-+ * This object is new on the network.
-+ */
-+
-+ if (flags & AVAHI_LOOKUP_RESULT_LOCAL)
-+ {
-+ /*
-+ * This comes from the local machine so ignore it.
-+ */
-+
-+ fprintf (stderr, "DEBUG: ignoring local service %s\n", name);
-+ }
-+ else
-+ {
-+ /*
-+ * Create a device entry for it if it doesn't yet exist.
-+ */
-+
-+ get_device ((cups_array_t *)context, name, type, domain);
-+
-+ /*
-+ * Now look for a TXT entry.
-+ */
-+
-+ if (avahi_service_resolver_new (client, interface, protocol,
-+ name, type, domain,
-+ AVAHI_PROTO_UNSPEC, 0,
-+ avahi_query_callback, context) == NULL)
-+ {
-+ fprintf (stderr, "ERROR: failed to resolve service %s: %s\n",
-+ name, avahi_strerror (avahi_client_errno (client)));
-+ }
-+ }
-+
-+ break;
-+
-+ case AVAHI_BROWSER_REMOVE:
-+ case AVAHI_BROWSER_ALL_FOR_NOW:
-+ case AVAHI_BROWSER_CACHE_EXHAUSTED:
-+ break;
-+ }
-+}
-+#endif /* HAVE_AVAHI */
-+
-
-- for (device = cupsArrayFind(devices, &dkey);
-+/*
-+ * 'find_device()' - Find a device from its name and domain.
-+ */
-+
-+static cups_device_t *
-+find_device (cups_array_t *devices,
-+ cups_txt_records_t *txt,
-+ cups_device_t *dkey)
-+{
-+ cups_device_t *device;
-+ char *ptr;
-+
-+ for (device = cupsArrayFind(devices, dkey);
- device;
- device = cupsArrayNext(devices))
- {
-- if (_cups_strcasecmp(device->name, dkey.name) ||
-- _cups_strcasecmp(device->domain, dkey.domain))
-+ if (_cups_strcasecmp(device->name, dkey->name) ||
-+ _cups_strcasecmp(device->domain, dkey->domain))
- {
- device = NULL;
- break;
- }
-- else if (device->type == dkey.type)
-+ else if (device->type == dkey->type)
- {
- /*
- * Found it, pull out the priority and make and model from the TXT
- * record and save it...
- */
-
-- const uint8_t *data, /* Pointer into data */
-- *datanext, /* Next key/value pair */
-- *dataend; /* End of entire TXT record */
-- uint8_t datalen; /* Length of current key/value pair */
-- char key[256], /* Key string */
-- value[256], /* Value string */
-- make_and_model[512],
-+ char make_and_model[512],
- /* Manufacturer and model */
- model[256], /* Model */
-- device_id[2048];/* 1284 device ID */
--
-+ device_id[2048]; /* 1284 device ID */
-
- device_id[0] = '\0';
- make_and_model[0] = '\0';
-
- strcpy(model, "Unknown");
-
-- for (data = rdata, dataend = data + rdlen;
-- data < dataend;
-- data = datanext)
-+ for (;;)
- {
-- /*
-- * Read a key/value pair starting with an 8-bit length. Since the
-- * length is 8 bits and the size of the key/value buffers is 256, we
-- * don't need to check for overflow...
-- */
--
-- datalen = *data++;
--
-- if (!datalen || (data + datalen) >= dataend)
-- break;
--
-- datanext = data + datalen;
--
-- for (ptr = key; data < datanext && *data != '='; data ++)
-- *ptr++ = *data;
-- *ptr = '\0';
-+ char *key;
-+ char *value;
-
-- if (data < datanext && *data == '=')
-- {
-- data ++;
--
-- if (data < datanext)
-- memcpy(value, data, datanext - data);
-- value[datanext - data] = '\0';
-+ if (parse_txt_record_pair (txt))
-+ goto next;
-
-- fprintf(stderr, "DEBUG2: query_callback: \"%s=%s\".\n",
-- key, value);
-- }
-- else
-- {
-- fprintf(stderr, "DEBUG2: query_callback: \"%s\" with no value.\n",
-- key);
-- continue;
-- }
--
-- if (!_cups_strncasecmp(key, "usb_", 4))
-+ key = txt->key;
-+ value = txt->value;
-+ if (!strncasecmp(key, "usb_", 4))
- {
- /*
- * Add USB device ID information...
-@@ -856,6 +1263,10 @@
- if (device->type == CUPS_DEVICE_PRINTER)
- device->sent = 1;
- }
-+
-+ next:
-+ if (next_txt_record (txt) == NULL)
-+ break;
- }
-
- if (device->device_id)
-@@ -905,11 +1316,9 @@
- }
- }
-
-- if (!device)
-- fprintf(stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", fullName);
-+ return device;
- }
-
--
- /*
- * 'sigterm_handler()' - Handle termination signals...
- */
---- a/config-scripts/cups-dnssd.m4
-+++ b/config-scripts/cups-dnssd.m4
-@@ -23,6 +23,21 @@
- DNSSDLIBS=""
- DNSSD_BACKEND=""
-
-+AC_ARG_ENABLE(avahi, [ --enable-avahi turn on DNS Service Discovery support, default=no],
-+ [if test x$enable_avahi = xyes; then
-+ AC_MSG_CHECKING(for Avahi)
-+ if $PKGCONFIG --exists avahi-client; then
-+ AC_MSG_RESULT(yes)
-+ CFLAGS="$CFLAGS `$PKGCONFIG --cflags avahi-client`"
-+ DNSSDLIBS="`$PKGCONFIG --libs avahi-client`"
-+ DNSSD_BACKEND="dnssd"
-+ AC_DEFINE(HAVE_AVAHI)
-+ enable_dnssd=no
-+ else
-+ AC_MSG_RESULT(no)
-+ fi
-+ fi])
-+
- if test x$enable_dnssd != xno; then
- AC_CHECK_HEADER(dns_sd.h, [
- case "$uname" in
---- a/config.h.in
-+++ b/config.h.in
-@@ -390,6 +390,13 @@
-
-
- /*
-+ * Do we have Avahi for DNS Service Discovery?
-+ */
-+
-+#undef HAVE_AVAHI
-+
-+
-+/*
- * Do we have <sys/ioctl.h>?
- */
-
---- a/cups/http-support.c
-+++ b/cups/http-support.c
-@@ -43,6 +43,10 @@
- * http_copy_decode() - Copy and decode a URI.
- * http_copy_encode() - Copy and encode a URI.
- * http_resolve_cb() - Build a device URI for the given service name.
-+ * avahi_resolve_uri_client_cb()
-+ * - Avahi client callback for resolving URI.
-+ * avahi_resolve_uri_resolver_cb()
-+ * - Avahi resolver callback for resolving URI.
- */
-
- /*
-@@ -60,6 +64,11 @@
- # include <sys/select.h>
- # endif /* WIN32 */
- #endif /* HAVE_DNSSD */
-+#ifdef HAVE_AVAHI
-+# include <avahi-client/client.h>
-+# include <avahi-client/lookup.h>
-+# include <avahi-common/simple-watch.h>
-+#endif /* HAVE_AVAHI */
-
-
- /*
-@@ -127,6 +136,24 @@
- void *context);
- #endif /* HAVE_DNSSD */
-
-+#ifdef HAVE_AVAHI
-+static void avahi_resolve_uri_client_cb(AvahiClient *client,
-+ AvahiClientState state,
-+ void *simple_poll);
-+static void avahi_resolve_uri_resolver_cb(AvahiServiceResolver *resolver,
-+ AvahiIfIndex interface,
-+ AvahiProtocol protocol,
-+ AvahiResolverEvent event,
-+ const char *name,
-+ const char *type,
-+ const char *domain,
-+ const char *host_name,
-+ const AvahiAddress *address,
-+ uint16_t port,
-+ AvahiStringList *txt,
-+ AvahiLookupResultFlags flags,
-+ void *context);
-+#endif /* HAVE_AVAHI */
-
- /*
- * 'httpAssembleURI()' - Assemble a uniform resource identifier from its
-@@ -1431,6 +1458,9 @@
-
- if (strstr(hostname, "._tcp"))
- {
-+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
-+ char *regtype, /* Pointer to type in hostname */
-+ *domain; /* Pointer to domain in hostname */
- #ifdef HAVE_DNSSD
- # ifdef WIN32
- # pragma comment(lib, "dnssd.lib")
-@@ -1449,6 +1479,17 @@
- fd_set input_set; /* Input set for select() */
- struct timeval stimeout; /* Timeout value for select() */
- #endif /* HAVE_POLL */
-+#else /* HAVE_AVAHI */
-+ AvahiSimplePoll *simple_poll;
-+ AvahiClient *client;
-+ int error;
-+ struct
-+ {
-+ AvahiSimplePoll *poll;
-+ _http_uribuf_t uribuf;
-+ } user_data;
-+#endif /* HAVE_DNSSD */
-+
-
- if (options & _HTTP_RESOLVE_STDERR)
- fprintf(stderr, "DEBUG: Resolving \"%s\"...\n", hostname);
-@@ -1485,9 +1526,16 @@
- if (domain)
- *domain++ = '\0';
-
-+#ifdef HAVE_DNSSD
- uribuf.buffer = resolved_uri;
- uribuf.bufsize = resolved_size;
- uribuf.options = options;
-+#else
-+ user_data.uribuf.buffer = resolved_uri;
-+ user_data.uribuf.bufsize = resolved_size;
-+ user_data.uribuf.options = options;
-+#endif
-+
- resolved_uri[0] = '\0';
-
- DEBUG_printf(("6_httpResolveURI: Resolving hostname=\"%s\", regtype=\"%s\", "
-@@ -1501,6 +1549,7 @@
-
- uri = NULL;
-
-+#ifdef HAVE_DNSSD
- if (DNSServiceCreateConnection(&ref) == kDNSServiceErr_NoError)
- {
- localref = ref;
-@@ -1608,6 +1657,36 @@
-
- DNSServiceRefDeallocate(ref);
- }
-+#else /* HAVE_AVAHI */
-+ if ((simple_poll = avahi_simple_poll_new ()) != NULL)
-+ {
-+ if ((client = avahi_client_new (avahi_simple_poll_get (simple_poll),
-+ 0, avahi_resolve_uri_client_cb,
-+ &simple_poll, &error)) != NULL)
-+ {
-+ user_data.poll = simple_poll;
-+ if (avahi_service_resolver_new (client, AVAHI_IF_UNSPEC,
-+ AVAHI_PROTO_UNSPEC, hostname,
-+ regtype, domain, AVAHI_PROTO_UNSPEC, 0,
-+ avahi_resolve_uri_resolver_cb,
-+ &user_data) != NULL)
-+ {
-+ avahi_simple_poll_loop (simple_poll);
-+
-+ /*
-+ * Collect the result.
-+ */
-+
-+ if (resolved_uri[0])
-+ uri = resolved_uri;
-+ }
-+
-+ avahi_client_free (client);
-+ }
-+
-+ avahi_simple_poll_free (simple_poll);
-+ }
-+#endif /* HAVE_DNSSD */
-
- if (options & _HTTP_RESOLVE_STDERR)
- {
-@@ -1619,13 +1698,13 @@
- fputs("STATE: -connecting-to-device,offline-report\n", stderr);
- }
-
--#else
-+#else /* HAVE_DNSSD || HAVE_AVAHI */
- /*
- * No DNS-SD support...
- */
-
- uri = NULL;
--#endif /* HAVE_DNSSD */
-+#endif /* HAVE_DNSSD || HAVE_AVAHI */
-
- if ((options & _HTTP_RESOLVE_STDERR) && !uri)
- _cupsLangPrintFilter(stderr, "ERROR", _("Unable to find printer."));
-@@ -1895,6 +1974,116 @@
- #endif /* HAVE_DNSSD */
-
-
-+#ifdef HAVE_AVAHI
-+/*
-+ * 'avahi_resolve_uri_client_cb()' - Avahi client callback for resolving URI.
-+ */
-+
-+static void
-+avahi_resolve_uri_client_cb (AvahiClient *client,
-+ AvahiClientState state,
-+ void *simple_poll)
-+{
-+ DEBUG_printf(("avahi_resolve_uri_client_callback(client=%p, state=%d, "
-+ "simple_poll=%p)\n", client, state, simple_poll));
-+
-+ /*
-+ * If the connection drops, quit.
-+ */
-+
-+ if (state == AVAHI_CLIENT_FAILURE)
-+ avahi_simple_poll_quit (simple_poll);
-+}
-+
-+
-+/*
-+ * 'avahi_resolve_uri_resolver_cb()' - Avahi resolver callback for resolving
-+ * URI.
-+ */
-+
-+static void
-+avahi_resolve_uri_resolver_cb (AvahiServiceResolver *resolver,
-+ AvahiIfIndex interface,
-+ AvahiProtocol protocol,
-+ AvahiResolverEvent event,
-+ const char *name,
-+ const char *type,
-+ const char *domain,
-+ const char *host_name,
-+ const AvahiAddress *address,
-+ uint16_t port,
-+ AvahiStringList *txt,
-+ AvahiLookupResultFlags flags,
-+ void *context)
-+{
-+ const char *scheme; /* URI scheme */
-+ char rp[256]; /* Remote printer */
-+ AvahiStringList *pair;
-+ char *value;
-+ size_t valueLen = 0;
-+ char addr[AVAHI_ADDRESS_STR_MAX];
-+ struct
-+ {
-+ AvahiSimplePoll *poll;
-+ _http_uribuf_t uribuf;
-+ } *poll_uribuf = context;
-+
-+ DEBUG_printf(("avahi_resolve_uri_resolver_callback(resolver=%p, "
-+ "interface=%d, protocol=%d, event=%d, name=\"%s\", "
-+ "type=\"%s\", domain=\"%s\", host_name=\"%s\", address=%p, "
-+ "port=%d, txt=%p, flags=%d, context=%p)\n",
-+ resolver, interface, protocol, event, name, type, domain,
-+ host_name, address, port, txt, flags, context));
-+
-+ if (event != AVAHI_RESOLVER_FOUND)
-+ {
-+ avahi_service_resolver_free (resolver);
-+ avahi_simple_poll_quit (poll_uribuf->poll);
-+ return;
-+ }
-+
-+ /*
-+ * Figure out the scheme from the full name...
-+ */
-+
-+ if (strstr(type, "_ipp."))
-+ scheme = "ipp";
-+ else if (strstr(type, "_printer."))
-+ scheme = "lpd";
-+ else if (strstr(type, "_pdl-datastream."))
-+ scheme = "socket";
-+ else
-+ scheme = "riousbprint";
-+
-+ /*
-+ * Extract the "remote printer key from the TXT record...
-+ */
-+
-+ if ((pair = avahi_string_list_find (txt, "rp")) != NULL)
-+ {
-+ avahi_string_list_get_pair (pair, NULL, &value, &valueLen);
-+ rp[0] = '/';
-+ memcpy (rp + 1, value, valueLen);
-+ rp[valueLen + 1] = '\0';
-+ }
-+ else
-+ rp[0] = '\0';
-+
-+ /*
-+ * Assemble the final device URI...
-+ */
-+
-+ avahi_address_snprint (addr, AVAHI_ADDRESS_STR_MAX, address);
-+ httpAssembleURI(HTTP_URI_CODING_ALL, poll_uribuf->uribuf.buffer,
-+ poll_uribuf->uribuf.bufsize, scheme, NULL,
-+ addr, port, rp);
-+ DEBUG_printf(("avahi_resolve_uri_resolver_callback: Resolved URI is \"%s\"\n",
-+ poll_uribuf->uribuf.buffer));
-+ avahi_simple_poll_quit (poll_uribuf->poll);
-+}
-+#endif /* HAVE_AVAHI */
-+
-+
- /*
- * End of "$Id: http-support.c 9820 2011-06-10 22:06:26Z mike $".
- */
---- a/scheduler/Makefile
-+++ b/scheduler/Makefile
-@@ -17,6 +17,7 @@
-
- CUPSDOBJS = \
- auth.o \
-+ avahi.o \
- banners.o \
- cert.o \
- classes.o \
-@@ -39,7 +40,8 @@
- server.o \
- statbuf.o \
- subscriptions.o \
-- sysman.o
-+ sysman.o \
-+ timeout.o
- LIBOBJS = \
- filter.o \
- mime.o \
---- /dev/null
-+++ b/scheduler/avahi.c
-@@ -0,0 +1,445 @@
-+/*
-+ * "$Id$"
-+ *
-+ * Avahi poll implementation for the CUPS scheduler.
-+ *
-+ * Copyright (C) 2010 Red Hat, Inc.
-+ * Authors:
-+ * Tim Waugh <twaugh@redhat.com>
-+ *
-+ * Distribution and use rights are outlined in the file "LICENSE.txt"
-+ * "LICENSE" which should have been included with this file. If this
-+ * file is missing or damaged, see the license at "http://www.cups.org/".
-+ *
-+ * Contents:
-+ *
-+ * watch_read_cb - Read callback for file descriptor
-+ * watch_write_cb - Write callback for file descriptor
-+ * watched_fd_add_select() - Call cupsdAddSelect() as needed
-+ * watch_new() - Create a new file descriptor watch
-+ * watch_free() - Free a file descriptor watch
-+ * watch_update() - Update watched events for a file descriptor
-+ * watch_get_events() - Get events that happened for a file descriptor
-+ * timeout_cb() - Run a timed Avahi callback
-+ * timeout_new() - Set a wakeup time
-+ * timeout_update() - Update the expiration time for a timeout
-+ * timeout_free() - Free a timeout
-+ * compare_watched_fds() - Compare watched file descriptors for array sorting
-+ * compare_timeouts() - Compare timeouts for array sorting
-+ * avahi_cups_poll_new() - Create a new Avahi main loop object for CUPS
-+ * avahi_cups_poll_free() - Free an Avahi main loop object for CUPS
-+ * avahi_cups_poll_get() - Get the abstract poll API structure
-+ */
-+
-+#include <config.h>
-+
-+#ifdef HAVE_AVAHI /* Applies to entire file... */
-+
-+/*
-+ * Include necessary headers...
-+ */
-+
-+#include "cupsd.h"
-+
-+#if defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO)
-+# include <malloc.h>
-+#endif /* HAVE_MALLOC_H && HAVE_MALLINFO */
-+
-+#ifdef HAVE_AVAHI
-+# include <avahi-common/timeval.h>
-+#endif /* HAVE_AVAHI */
-+
-+
-+typedef struct
-+{
-+ AvahiCupsPoll *cups_poll;
-+
-+ int fd;
-+ AvahiWatchEvent occurred;
-+ cups_array_t *watches;
-+} cupsd_watched_fd_t;
-+
-+struct AvahiWatch
-+{
-+ cupsd_watched_fd_t *watched_fd;
-+
-+ AvahiWatchEvent events;
-+ AvahiWatchCallback callback;
-+ void *userdata;
-+};
-+
-+struct AvahiTimeout
-+{
-+ AvahiCupsPoll *cups_poll;
-+ AvahiTimeoutCallback callback;
-+ void *userdata;
-+ cupsd_timeout_t *cupsd_timeout;
-+};
-+
-+/*
-+ * Local functions...
-+ */
-+
-+static AvahiWatch * watch_new(const AvahiPoll *api,
-+ int fd,
-+ AvahiWatchEvent events,
-+ AvahiWatchCallback callback,
-+ void *userdata);
-+static void watch_free(AvahiWatch *watch);
-+static void watch_update(AvahiWatch *watch,
-+ AvahiWatchEvent events);
-+static AvahiWatchEvent watch_get_events(AvahiWatch *watch);
-+static int compare_watches(AvahiWatch *p0,
-+ AvahiWatch *p1);
-+
-+
-+/*
-+ * 'watch_read_cb' - Read callback for file descriptor
-+ */
-+
-+static void
-+watch_read_cb (void *userdata)
-+{
-+ AvahiWatch *watch;
-+ cupsd_watched_fd_t *watched_fd = userdata;
-+ watched_fd->occurred |= AVAHI_WATCH_IN;
-+ for (watch = (AvahiWatch *)cupsArrayFirst(watched_fd->watches);
-+ watch;
-+ watch = (AvahiWatch *)cupsArrayNext(watched_fd->watches)) {
-+ if (watch->events & watched_fd->occurred) {
-+ (watch->callback) (watch, watched_fd->fd,
-+ AVAHI_WATCH_IN, watch->userdata);
-+ watched_fd->occurred &= ~AVAHI_WATCH_IN;
-+ break;
-+ }
-+ }
-+}
-+
-+
-+/*
-+ * 'watch_write_cb' - Write callback for file descriptor
-+ */
-+
-+static void
-+watch_write_cb (void *userdata)
-+{
-+ AvahiWatch *watch;
-+ cupsd_watched_fd_t *watched_fd = userdata;
-+ watched_fd->occurred |= AVAHI_WATCH_OUT;
-+ for (watch = (AvahiWatch *)cupsArrayFirst(watched_fd->watches);
-+ watch;
-+ watch = (AvahiWatch *)cupsArrayNext(watched_fd->watches)) {
-+ if (watch->events & watched_fd->occurred) {
-+ (watch->callback) (watch, watched_fd->fd,
-+ AVAHI_WATCH_OUT, watch->userdata);
-+ watched_fd->occurred &= ~AVAHI_WATCH_OUT;
-+ break;
-+ }
-+ }
-+}
-+
-+
-+/*
-+ * 'watched_fd_add_select' - Call cupsdAddSelect() as needed
-+ */
-+
-+static int /* O - Watches? */
-+watched_fd_add_select (cupsd_watched_fd_t *watched_fd)
-+{
-+ AvahiWatch *watch;
-+ cupsd_selfunc_t read_cb = NULL, write_cb = NULL;
-+
-+ for (watch = (AvahiWatch *)cupsArrayFirst(watched_fd->watches);
-+ watch;
-+ watch = (AvahiWatch *)cupsArrayNext(watched_fd->watches)) {
-+ if (watch->events & (AVAHI_WATCH_IN |
-+ AVAHI_WATCH_ERR |
-+ AVAHI_WATCH_HUP)) {
-+ read_cb = (cupsd_selfunc_t)watch_read_cb;
-+ if (write_cb != NULL)
-+ break;
-+ }
-+
-+ if (watch->events & AVAHI_WATCH_OUT) {
-+ write_cb = (cupsd_selfunc_t)watch_write_cb;
-+ if (read_cb != NULL)
-+ break;
-+ }
-+ }
-+
-+ if (read_cb || write_cb)
-+ cupsdAddSelect (watched_fd->fd, read_cb, write_cb, watched_fd);
-+ else
-+ cupsdRemoveSelect (watched_fd->fd);
-+
-+ return (read_cb || write_cb);
-+}
-+
-+/*
-+ * 'watch_new' - Create a new file descriptor watch
-+ */
-+
-+static AvahiWatch *
-+watch_new (const AvahiPoll *api,
-+ int fd,
-+ AvahiWatchEvent events,
-+ AvahiWatchCallback callback,
-+ void *userdata)
-+{
-+ cupsd_watched_fd_t key, *watched_fd;
-+ AvahiCupsPoll *cups_poll = api->userdata;
-+ AvahiWatch *watch = malloc(sizeof(AvahiWatch));
-+ if (watch == NULL)
-+ return (NULL);
-+
-+ watch->events = events;
-+ watch->callback = callback;
-+ watch->userdata = userdata;
-+
-+ key.fd = fd;
-+ watched_fd = cupsArrayFind (cups_poll->watched_fds, &key);
-+ if (watched_fd == NULL) {
-+ watched_fd = malloc(sizeof(cupsd_watched_fd_t));
-+ if (watched_fd == NULL) {
-+ free (watch);
-+ return (NULL);
-+ }
-+
-+ watched_fd->fd = fd;
-+ watched_fd->occurred = 0;
-+ watched_fd->cups_poll = cups_poll;
-+ watched_fd->watches = cupsArrayNew ((cups_array_func_t)compare_watches,
-+ NULL);
-+ }
-+
-+ watch->watched_fd = watched_fd;
-+ cupsArrayAdd(watched_fd->watches, watch);
-+ watched_fd_add_select (watched_fd);
-+ return (watch);
-+}
-+
-+
-+/*
-+ * 'watch_free' - Free a file descriptor watch
-+ */
-+
-+static void
-+watch_free (AvahiWatch *watch)
-+{
-+ cupsd_watched_fd_t *watched_fd = watch->watched_fd;
-+ AvahiCupsPoll *cups_poll = watched_fd->cups_poll;
-+
-+ cupsArrayRemove (watched_fd->watches, watch);
-+ free (watch);
-+
-+ if (!watched_fd_add_select (watched_fd)) {
-+ /* No more watches */
-+ cupsArrayRemove (cups_poll->watched_fds, watched_fd);
-+ free (watched_fd);
-+ }
-+}
-+
-+
-+/*
-+ * 'watch_update' - Update watched events for a file descriptor
-+ */
-+
-+static void
-+watch_update (AvahiWatch *watch,
-+ AvahiWatchEvent events)
-+{
-+ watch->events = events;
-+ watched_fd_add_select (watch->watched_fd);
-+}
-+
-+
-+/*
-+ * 'watch_get_events' - Get events that happened for a file descriptor
-+ */
-+
-+static AvahiWatchEvent
-+watch_get_events (AvahiWatch *watch)
-+{
-+ return (watch->watched_fd->occurred);
-+}
-+
-+
-+/*
-+ * 'compare_watches' - Compare watches for array sorting
-+ */
-+
-+static int
-+compare_watches (AvahiWatch *p0,
-+ AvahiWatch *p1)
-+{
-+ if (p0->watched_fd->fd < p1->watched_fd->fd)
-+ return (-1);
-+
-+ return ((p0->watched_fd->fd == p1->watched_fd->fd) ? 0 : 1);
-+}
-+
-+
-+/*
-+ * 'timeout_cb()' - Run a timed Avahi callback
-+ */
-+
-+static void
-+timeout_cb (cupsd_timeout_t *cupsd_timeout, void *userdata)
-+{
-+ AvahiTimeout *timeout = userdata;
-+ (timeout->callback) (timeout, timeout->userdata);
-+}
-+
-+
-+/*
-+ * 'timeout_new' - Set a wakeup time
-+ */
-+
-+static AvahiTimeout *
-+timeout_new (const AvahiPoll *api,
-+ const struct timeval *tv,
-+ AvahiTimeoutCallback callback,
-+ void *userdata)
-+{
-+ AvahiTimeout *timeout;
-+ AvahiCupsPoll *cups_poll = api->userdata;
-+
-+ timeout = malloc(sizeof(AvahiTimeout));
-+ if (timeout == NULL)
-+ return (NULL);
-+
-+ timeout->cups_poll = cups_poll;
-+ timeout->callback = callback;
-+ timeout->userdata = userdata;
-+ timeout->cupsd_timeout = cupsdAddTimeout (tv,
-+ (cupsd_timeoutfunc_t)timeout_cb,
-+ timeout);
-+ cupsArrayAdd (cups_poll->timeouts, timeout);
-+ return (timeout);
-+}
-+
-+
-+/*
-+ * 'timeout_update' - Update the expiration time for a timeout
-+ */
-+
-+static void
-+timeout_update (AvahiTimeout *timeout,
-+ const struct timeval *tv)
-+{
-+ cupsdUpdateTimeout (timeout->cupsd_timeout, tv);
-+}
-+
-+
-+/*
-+ * ' timeout_free' - Free a timeout
-+ */
-+
-+static void
-+timeout_free (AvahiTimeout *timeout)
-+{
-+ cupsArrayRemove (timeout->cups_poll->timeouts, timeout);
-+ cupsdRemoveTimeout (timeout->cupsd_timeout);
-+ free (timeout);
-+}
-+
-+
-+/*
-+ * 'compare_watched_fds' - Compare watched file descriptors for array sorting
-+ */
-+static int
-+compare_watched_fds(cupsd_watched_fd_t *p0,
-+ cupsd_watched_fd_t *p1)
-+{
-+ if (p0->fd != p1->fd)
-+ return (p0->fd < p1->fd ? -1 : 1);
-+
-+ if (p0 == p1)
-+ return (0);
-+
-+ return (p0 < p1 ? -1 : 1);
-+}
-+
-+
-+/*
-+ * 'compare_timeouts' - Compare timeouts for array sorting
-+ */
-+static int
-+compare_timeouts(AvahiTimeout *p0,
-+ AvahiTimeout *p1)
-+{
-+ /*
-+ * Just compare pointers to make it a stable sort.
-+ */
-+
-+ if (p0->cupsd_timeout < p1->cupsd_timeout)
-+ return (-1);
-+ return ((p0->cupsd_timeout == p1->cupsd_timeout) ? 0 : 1);
-+}
-+
-+
-+/*
-+ * 'avahi_cups_poll_new' - Create a new Avahi main loop object for CUPS
-+ */
-+
-+AvahiCupsPoll *
-+avahi_cups_poll_new (void)
-+{
-+ AvahiCupsPoll *cups_poll = malloc(sizeof(AvahiCupsPoll));
-+ if (cups_poll == NULL)
-+ return (NULL);
-+
-+ cups_poll->watched_fds = cupsArrayNew ((cups_array_func_t)compare_watched_fds,
-+ NULL);
-+ cups_poll->timeouts = cupsArrayNew ((cups_array_func_t)compare_timeouts,
-+ NULL);
-+
-+ cups_poll->api.userdata = cups_poll;
-+ cups_poll->api.watch_new = watch_new;
-+ cups_poll->api.watch_free = watch_free;
-+ cups_poll->api.watch_update = watch_update;
-+ cups_poll->api.watch_get_events = watch_get_events;
-+
-+ cups_poll->api.timeout_new = timeout_new;
-+ cups_poll->api.timeout_update = timeout_update;
-+ cups_poll->api.timeout_free = timeout_free;
-+
-+ return (cups_poll);
-+}
-+
-+
-+/*
-+ * 'avahi_cups_poll_free' - Free an Avahi main loop object for CUPS
-+ */
-+void
-+avahi_cups_poll_free (AvahiCupsPoll *cups_poll)
-+{
-+ cupsd_watched_fd_t *watched_fd;
-+
-+ for (watched_fd = (cupsd_watched_fd_t*)cupsArrayFirst(cups_poll->watched_fds);
-+ watched_fd;
-+ watched_fd = (cupsd_watched_fd_t*)cupsArrayNext(cups_poll->watched_fds)){
-+ cupsArrayClear (watched_fd->watches);
-+ }
-+
-+ cupsArrayClear (cups_poll->watched_fds);
-+ cupsArrayClear (cups_poll->timeouts);
-+}
-+
-+
-+/*
-+ * 'avahi_cups_poll_get' - Get the abstract poll API structure
-+ */
-+
-+const AvahiPoll *
-+avahi_cups_poll_get (AvahiCupsPoll *cups_poll)
-+{
-+ return (&cups_poll->api);
-+}
-+
-+
-+#endif /* HAVE_AVAHI ... from top of file */
-+
-+/*
-+ * End of "$Id$".
-+ */
---- /dev/null
-+++ b/scheduler/avahi.h
-@@ -0,0 +1,49 @@
-+/*
-+ * "$Id$"
-+ *
-+ * Avahi poll implementation for the CUPS scheduler.
-+ *
-+ * Copyright (C) 2010 Red Hat, Inc.
-+ * Authors:
-+ * Tim Waugh <twaugh@redhat.com>
-+ *
-+ * Distribution and use rights are outlined in the file "LICENSE.txt"
-+ * which should have been included with this file. If this file is
-+ * file is missing or damaged, see the license at "http://www.cups.org/".
-+ */
-+
-+#include <config.h>
-+
-+#ifdef HAVE_AVAHI
-+# include <avahi-client/client.h>
-+# include <avahi-client/publish.h>
-+#endif /* HAVE_AVAHI */
-+
-+#ifdef HAVE_AUTHORIZATION_H
-+# include <Security/Authorization.h>
-+#endif /* HAVE_AUTHORIZATION_H */
-+
-+
-+#ifdef HAVE_AVAHI
-+typedef struct
-+{
-+ AvahiPoll api;
-+ cups_array_t *watched_fds;
-+ cups_array_t *timeouts;
-+} AvahiCupsPoll;
-+#endif /* HAVE_AVAHI */
-+
-+/*
-+ * Prototypes...
-+ */
-+
-+#ifdef HAVE_AVAHI
-+extern AvahiCupsPoll * avahi_cups_poll_new(void);
-+extern void avahi_cups_poll_free(AvahiCupsPoll *cups_poll);
-+extern const AvahiPoll *avahi_cups_poll_get(AvahiCupsPoll *cups_poll);
-+#endif /* HAVE_AVAHI */
-+
-+
-+/*
-+ * End of "$Id$".
-+ */
---- a/scheduler/cupsd.h
-+++ b/scheduler/cupsd.h
-@@ -140,6 +140,15 @@
-
- typedef void (*cupsd_selfunc_t)(void *data);
-
-+#ifdef HAVE_AVAHI
-+/*
-+ * Timeout callback function type...
-+ */
-+
-+typedef struct _cupsd_timeout_s cupsd_timeout_t;
-+typedef void (*cupsd_timeoutfunc_t)(cupsd_timeout_t *timeout, void *data);
-+#endif /* HAVE_AVAHI */
-+
-
- /*
- * Globals...
-@@ -173,6 +182,11 @@
- /* Running from launchd */
- #endif /* HAVE_LAUNCH_H */
-
-+#ifdef HAVE_AVAHI
-+VAR cups_array_t *Timeouts; /* Timed callbacks for main loop */
-+#endif /* HAVE_AVAHI */
-+
-+
-
- /*
- * Prototypes...
-@@ -242,6 +256,20 @@
- extern void cupsdStartServer(void);
- extern void cupsdStopServer(void);
-
-+#ifdef HAVE_AVAHI
-+extern void cupsdInitTimeouts(void);
-+extern cupsd_timeout_t *cupsdAddTimeout (const struct timeval *tv,
-+ cupsd_timeoutfunc_t cb,
-+ void *data);
-+extern cupsd_timeout_t *cupsdNextTimeout (long *delay);
-+extern void cupsdRunTimeout (cupsd_timeout_t *timeout);
-+extern void cupsdUpdateTimeout (cupsd_timeout_t *timeout,
-+ const struct timeval *tv);
-+extern void cupsdRemoveTimeout (cupsd_timeout_t *timeout);
-+#endif /* HAVE_AVAHI */
-+
-+extern int cupsdRemoveFile(const char *filename);
-+
-
- /*
- * End of "$Id: cupsd.h 9766 2011-05-11 22:17:34Z mike $".
---- a/scheduler/main.c
-+++ b/scheduler/main.c
-@@ -122,6 +122,10 @@
- cupsd_listener_t *lis; /* Current listener */
- time_t current_time, /* Current time */
- activity, /* Client activity timer */
-+#ifdef HAVE_AVAHI
-+ avahi_client_time, /* Time for next Avahi client
-+ check */
-+#endif /* HAVE_AVAHI */
- browse_time, /* Next browse send time */
- senddoc_time, /* Send-Document time */
- expire_time, /* Subscription expire time */
-@@ -148,6 +152,10 @@
- int launchd_idle_exit;
- /* Idle exit on select timeout? */
- #endif /* HAVE_LAUNCHD */
-+#ifdef HAVE_AVAHI
-+ cupsd_timeout_t *tmo; /* Next scheduled timed callback */
-+ long tmo_delay; /* Time before it must be called */
-+#endif /* HAVE_AVAHI */
-
-
- #ifdef HAVE_GETEUID
-@@ -527,6 +535,14 @@
-
- httpInitialize();
-
-+#ifdef HAVE_AVAHI
-+ /*
-+ * Initialize timed callback structures.
-+ */
-+
-+ cupsdInitTimeouts();
-+#endif /* HAVE_AVAHI */
-+
- cupsdStartServer();
-
- /*
-@@ -657,6 +673,9 @@
- */
-
- current_time = time(NULL);
-+#ifdef HAVE_AVAHI
-+ avahi_client_time = current_time;
-+#endif /* HAVE_AVAHI */
- browse_time = current_time;
- event_time = current_time;
- expire_time = current_time;
-@@ -871,6 +890,26 @@
- }
- #endif /* __APPLE__ */
-
-+#ifdef HAVE_AVAHI
-+ /*
-+ * If a timed callback is due, run it.
-+ */
-+
-+ tmo = cupsdNextTimeout (&tmo_delay);
-+ if (tmo && tmo_delay == 0)
-+ cupsdRunTimeout (tmo);
-+
-+ /*
-+ * Try to restart the Avahi client every 10 seconds if needed...
-+ */
-+
-+ if ((current_time - avahi_client_time) >= 10)
-+ {
-+ avahi_client_time = current_time;
-+ cupsdStartAvahiClient();
-+ }
-+#endif /* HAVE_AVAHI */
-+
- #ifndef __APPLE__
- /*
- * Update the network interfaces once a minute...
-@@ -1815,6 +1854,10 @@
- cupsd_job_t *job; /* Job information */
- cupsd_subscription_t *sub; /* Subscription information */
- const char *why; /* Debugging aid */
-+#ifdef HAVE_AVAHI
-+ cupsd_timeout_t *tmo; /* Timed callback */
-+ long tmo_delay; /* Seconds before calling it */
-+#endif /* HAVE_AVAHI */
-
-
- /*
-@@ -1857,6 +1900,19 @@
- }
- #endif /* __APPLE__ */
-
-+#ifdef HAVE_AVAHI
-+ /*
-+ * See if there are any scheduled timed callbacks to run.
-+ */
-+
-+ tmo = cupsdNextTimeout (&tmo_delay);
-+ if (tmo)
-+ {
-+ timeout = tmo_delay;
-+ why = "run a timed callback";
-+ }
-+#endif /* HAVE_AVAHI */
-+
- /*
- * Check whether we are accepting new connections...
- */
---- /dev/null
-+++ b/scheduler/timeout.c
-@@ -0,0 +1,195 @@
-+/*
-+ * "$Id$"
-+ *
-+ * Timeout functions for the Common UNIX Printing System (CUPS).
-+ *
-+ * Copyright (C) 2010 Red Hat, Inc.
-+ * Authors:
-+ * Tim Waugh <twaugh@redhat.com>
-+ *
-+ * Distribution and use rights are outlined in the file "LICENSE.txt"
-+ * which should have been included with this file. If this file is
-+ * file is missing or damaged, see the license at "http://www.cups.org/".
-+ *
-+ * Contents:
-+ *
-+ * cupsdInitTimeouts() - Initialise timeout structure.
-+ * cupsdAddTimeout() - Add a timed callback.
-+ * cupsdNextTimeout() - Find the next enabled timed callback.
-+ * cupsdUpdateTimeout() - Adjust the time of a timed callback or disable it.
-+ * cupsdRemoveTimeout() - Discard a timed callback.
-+ * compare_timeouts() - Compare timed callbacks for array sorting.
-+ */
-+
-+#include <config.h>
-+
-+#ifdef HAVE_AVAHI /* Applies to entire file... */
-+
-+/*
-+ * Include necessary headers...
-+ */
-+
-+#include "cupsd.h"
-+
-+#if defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO)
-+# include <malloc.h>
-+#endif /* HAVE_MALLOC_H && HAVE_MALLINFO */
-+
-+#ifdef HAVE_AVAHI
-+# include <avahi-common/timeval.h>
-+#endif /* HAVE_AVAHI */
-+
-+
-+struct _cupsd_timeout_s
-+{
-+ struct timeval when;
-+ int enabled;
-+ cupsd_timeoutfunc_t callback;
-+ void *data;
-+};
-+
-+/*
-+ * Local functions...
-+ */
-+
-+/*
-+ * 'compare_timeouts()' - Compare timed callbacks for array sorting.
-+ */
-+
-+static int
-+compare_timeouts (cupsd_timeout_t *p0, cupsd_timeout_t *p1)
-+{
-+ if (!p0->enabled || !p1->enabled)
-+ {
-+ if (!p0->enabled && !p1->enabled)
-+ return (0);
-+
-+ return (p0->enabled ? -1 : 1);
-+ }
-+
-+ return (avahi_timeval_compare (&p0->when, &p1->when));
-+}
-+
-+
-+/*
-+ * 'cupsdInitTimeouts()' - Initialise timeout structures.
-+ */
-+
-+void
-+cupsdInitTimeouts(void)
-+{
-+ Timeouts = cupsArrayNew ((cups_array_func_t)compare_timeouts, NULL);
-+}
-+
-+
-+/*
-+ * 'cupsdAddTimeout()' - Add a timed callback.
-+ */
-+
-+cupsd_timeout_t * /* O - Timeout handle */
-+cupsdAddTimeout(const struct timeval *tv, /* I - Absolute time */
-+ cupsd_timeoutfunc_t cb, /* I - Callback function */
-+ void *data) /* I - User data */
-+{
-+ cupsd_timeout_t *timeout;
-+
-+ timeout = malloc (sizeof(cupsd_timeout_t));
-+ if (timeout != NULL)
-+ {
-+ timeout->enabled = (tv != NULL);
-+ if (tv)
-+ {
-+ timeout->when.tv_sec = tv->tv_sec;
-+ timeout->when.tv_usec = tv->tv_usec;
-+ }
-+
-+ timeout->callback = cb;
-+ timeout->data = data;
-+ cupsArrayAdd (Timeouts, timeout);
-+ }
-+
-+ return timeout;
-+}
-+
-+
-+/*
-+ * 'cupsdNextTimeout()' - Find the next enabled timed callback.
-+ */
-+
-+cupsd_timeout_t * /* O - Next enabled timeout or NULL */
-+cupsdNextTimeout(long *delay) /* O - Seconds before scheduled */
-+{
-+ cupsd_timeout_t *first = cupsArrayFirst (Timeouts);
-+ struct timeval curtime;
-+
-+ if (first && !first->enabled)
-+ first = NULL;
-+
-+ if (first && delay)
-+ {
-+ gettimeofday (&curtime, NULL);
-+ if (avahi_timeval_compare (&curtime, &first->when) > 0)
-+ {
-+ *delay = 0;
-+ } else {
-+ *delay = 1 + first->when.tv_sec - curtime.tv_sec;
-+ if (first->when.tv_usec < curtime.tv_usec)
-+ (*delay)--;
-+ }
-+ }
-+
-+ return (first);
-+}
-+
-+
-+/*
-+ * 'cupsdRunTimeout()' - Run a timed callback.
-+ */
-+
-+void
-+cupsdRunTimeout(cupsd_timeout_t *timeout) /* I - Timeout */
-+{
-+ if (!timeout)
-+ return;
-+ timeout->enabled = 0;
-+ if (!timeout->callback)
-+ return;
-+ timeout->callback (timeout, timeout->data);
-+}
-+
-+/*
-+ * 'cupsdUpdateTimeout()' - Adjust the time of a timed callback or disable it.
-+ */
-+
-+void
-+cupsdUpdateTimeout(cupsd_timeout_t *timeout, /* I - Timeout */
-+ const struct timeval *tv) /* I - Absolute time or NULL */
-+{
-+ cupsArrayRemove (Timeouts, timeout);
-+ timeout->enabled = (tv != NULL);
-+ if (tv)
-+ {
-+ timeout->when.tv_sec = tv->tv_sec;
-+ timeout->when.tv_usec = tv->tv_usec;
-+ }
-+ cupsArrayAdd (Timeouts, timeout);
-+}
-+
-+
-+/*
-+ * 'cupsdRemoveTimeout()' - Discard a timed callback.
-+ */
-+
-+void
-+cupsdRemoveTimeout(cupsd_timeout_t *timeout) /* I - Timeout */
-+{
-+ cupsArrayRemove (Timeouts, timeout);
-+ free (timeout);
-+}
-+
-+
-+#endif /* HAVE_AVAHI ... from top of file */
-+
-+/*
-+ * End of "$Id$".
-+ */
---- a/cgi-bin/admin.c
-+++ b/cgi-bin/admin.c
-@@ -1643,7 +1643,7 @@
- else
- local_protocols[0] = '\0';
-
--#ifdef HAVE_DNSSD
-+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
- if (cgiGetVariable("BROWSE_LOCAL_DNSSD"))
- {
- if (local_protocols[0])
-@@ -1651,7 +1651,7 @@
- else
- strcat(local_protocols, "dnssd");
- }
--#endif /* HAVE_DNSSD */
-+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */
-
- #ifdef HAVE_LDAP
- if (cgiGetVariable("BROWSE_LOCAL_LDAP"))
-@@ -2718,9 +2718,9 @@
- #endif /* HAVE_GSSAPI */
- cgiSetVariable("KERBEROS", "");
-
--#ifdef HAVE_DNSSD
-+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
- cgiSetVariable("HAVE_DNSSD", "1");
--#endif /* HAVE_DNSSD */
-+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */
-
- #ifdef HAVE_LDAP
- cgiSetVariable("HAVE_LDAP", "1");
---- a/scheduler/client.c
-+++ b/scheduler/client.c
-@@ -4987,7 +4987,7 @@
- !strncmp(host, "[::1]:", 6));
- }
-
--#ifdef HAVE_DNSSD
-+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
- /*
- * Check if the hostname is something.local (Bonjour); if so, allow it.
- */
-@@ -4996,7 +4996,7 @@
- (!_cups_strcasecmp(end, ".local") || !_cups_strncasecmp(end, ".local:", 7) ||
- !_cups_strcasecmp(end, ".local.") || !_cups_strncasecmp(end, ".local.:", 8)))
- return (1);
--#endif /* HAVE_DNSSD */
-+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */
-
- /*
- * Check if the hostname is an IP address...
---- a/scheduler/dirsvc.c
-+++ b/scheduler/dirsvc.c
-@@ -27,6 +27,7 @@
- * ldap_connect() - Start new LDAP connection
- * ldap_reconnect() - Reconnect to LDAP Server
- * ldap_disconnect() - Disconnect from LDAP Server
-+ * cupsdStartAvahiClient() - Start an Avahi client if needed
- * cupsdStartBrowsing() - Start sending and receiving broadcast
- * information.
- * cupsdStartPolling() - Start polling servers as needed.
-@@ -45,6 +46,8 @@
- * printer.
- * dnssdPackTxtRecord() - Pack an array of key/value pairs into the TXT
- * record format.
-+ * avahiPackTxtRecord() - Pack an array of key/value pairs into an
-+ * AvahiStringList.
- * dnssdRegisterCallback() - DNSServiceRegister callback.
- * dnssdRegisterPrinter() - Start sending broadcast information for a
- * printer or update the broadcast contents.
-@@ -83,6 +86,7 @@
- */
-
- #include "cupsd.h"
-+#include <assert.h>
- #include <grp.h>
-
- #ifdef HAVE_DNSSD
-@@ -97,6 +101,17 @@
- # endif /* HAVE_SYSTEMCONFIGURATION */
- # endif /* __APPLE__ */
- #endif /* HAVE_DNSSD */
-+#ifdef HAVE_AVAHI
-+# include <avahi-common/domain.h>
-+#endif /* HAVE_AVAHI */
-+
-+
-+#ifdef HAVE_DNSSD
-+typedef char *cupsd_txt_record_t;
-+#endif /* HAVE_DNSSD */
-+#ifdef HAVE_AVAHI
-+typedef AvahiStringList *cupsd_txt_record_t;
-+#endif /* HAVE_AVAHI */
-
-
- /*
-@@ -159,27 +174,39 @@
- static void update_smb(int onoff);
-
-
-+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
-+static cupsd_txt_record_t dnssdBuildTxtRecord(int *txt_len, cupsd_printer_t *p,
-+ int for_lpd);
-+static int dnssdComparePrinters(cupsd_printer_t *a, cupsd_printer_t *b);
-+static void dnssdDeregisterPrinter(cupsd_printer_t *p);
-+static void dnssdRegisterPrinter(cupsd_printer_t *p);
-+static void dnssdStop(void);
-+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */
-+
- #ifdef HAVE_DNSSD
- # ifdef HAVE_COREFOUNDATION
- static void dnssdAddAlias(const void *key, const void *value,
- void *context);
- # endif /* HAVE_COREFOUNDATION */
--static char *dnssdBuildTxtRecord(int *txt_len, cupsd_printer_t *p,
-- int for_lpd);
--static int dnssdComparePrinters(cupsd_printer_t *a, cupsd_printer_t *b);
--static void dnssdDeregisterPrinter(cupsd_printer_t *p);
--static char *dnssdPackTxtRecord(int *txt_len, char *keyvalue[][2],
-- int count);
- static void dnssdRegisterCallback(DNSServiceRef sdRef,
- DNSServiceFlags flags,
- DNSServiceErrorType errorCode,
- const char *name, const char *regtype,
- const char *domain, void *context);
--static void dnssdRegisterPrinter(cupsd_printer_t *p);
--static void dnssdStop(void);
- static void dnssdUpdate(void);
- #endif /* HAVE_DNSSD */
-
-+#ifdef HAVE_AVAHI
-+static AvahiStringList *avahiPackTxtRecord(char *keyvalue[][2],
-+ int count);
-+static void avahi_entry_group_cb (AvahiEntryGroup *group,
-+ AvahiEntryGroupState state,
-+ void *userdata);
-+static void avahi_client_cb (AvahiClient *client,
-+ AvahiClientState state,
-+ void *userdata);
-+#endif /* HAVE_AVAHI */
-+
- #ifdef HAVE_LDAP
- static const char * const ldap_attrs[] =/* CUPS LDAP attributes */
- {
-@@ -283,10 +310,10 @@
- ldap_dereg_printer(p);
- #endif /* HAVE_LDAP */
-
--#ifdef HAVE_DNSSD
-- if (removeit && (BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDRef)
-+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
-+ if (removeit && (BrowseLocalProtocols & BROWSE_DNSSD))
- dnssdDeregisterPrinter(p);
--#endif /* HAVE_DNSSD */
-+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */
- }
-
-
-@@ -702,10 +729,10 @@
- slpRegisterPrinter(p); */
- #endif /* HAVE_LIBSLP */
-
--#ifdef HAVE_DNSSD
-- if ((BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDRef)
-+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
-+ if ((BrowseLocalProtocols & BROWSE_DNSSD))
- dnssdRegisterPrinter(p);
--#endif /* HAVE_DNSSD */
-+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */
- }
-
-
-@@ -1419,6 +1446,27 @@
- #endif /* HAVE_LDAP */
-
-
-+#ifdef HAVE_AVAHI
-+/*
-+ * 'cupsdStartAvahiClient()' - Start an Avahi client if needed
-+ */
-+
-+void
-+cupsdStartAvahiClient(void)
-+{
-+ if (!AvahiCupsClient && !AvahiCupsClientConnecting)
-+ {
-+ if (!AvahiCupsPollHandle)
-+ AvahiCupsPollHandle = avahi_cups_poll_new ();
-+
-+ if (AvahiCupsPollHandle)
-+ avahi_client_new (avahi_cups_poll_get (AvahiCupsPollHandle),
-+ AVAHI_CLIENT_NO_FAIL, avahi_client_cb, NULL, NULL);
-+ }
-+}
-+#endif /* HAVE_AVAHI */
-+
-+
- /*
- * 'cupsdStartBrowsing()' - Start sending and receiving broadcast information.
- */
-@@ -1542,13 +1590,16 @@
- else
- BrowseSocket = -1;
-
--#ifdef HAVE_DNSSD
-+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
- if ((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_DNSSD)
- {
-+#ifdef HAVE_DNSSD
- DNSServiceErrorType error; /* Error from service creation */
-+#endif /* HAVE_DNSSD */
- cupsd_listener_t *lis; /* Current listening socket */
-
-
-+#ifdef HAVE_DNSSD
- /*
- * First create a "master" connection for all registrations...
- */
-@@ -1573,6 +1624,7 @@
- fcntl(fd, F_SETFD, fcntl(fd, F_GETFD) | FD_CLOEXEC);
-
- cupsdAddSelect(fd, (cupsd_selfunc_t)dnssdUpdate, NULL, NULL);
-+#endif /* HAVE_DNSSD */
-
- /*
- * Then get the port we use for registrations. If we are not listening
-@@ -1606,9 +1658,16 @@
- */
-
- cupsdUpdateDNSSDName();
-+
-+#ifdef HAVE_AVAHI
-+ cupsdStartAvahiClient ();
-+#endif /* HAVE_AVAHI */
-+
-+#ifdef HAVE_DNSSD
- }
-- }
- #endif /* HAVE_DNSSD */
-+ }
-+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */
-
- #ifdef HAVE_LIBSLP
- if ((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_SLP)
-@@ -1834,10 +1893,10 @@
- BrowseSocket = -1;
- }
-
--#ifdef HAVE_DNSSD
-- if ((BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDRef)
-+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
-+ if ((BrowseLocalProtocols & BROWSE_DNSSD))
- dnssdStop();
--#endif /* HAVE_DNSSD */
-+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */
-
- #ifdef HAVE_LIBSLP
- if (((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_SLP) &&
-@@ -1902,7 +1961,7 @@
- }
-
-
--#ifdef HAVE_DNSSD
-+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
- /*
- * 'cupsdUpdateDNSSDName()' - Update the computer name we use for browsing...
- */
-@@ -1910,8 +1969,14 @@
- void
- cupsdUpdateDNSSDName(void)
- {
-+#ifdef HAVE_DNSSD
- DNSServiceErrorType error; /* Error from service creation */
- char webif[1024]; /* Web interface share name */
-+#endif /* HAVE_DNSSD */
-+#ifdef HAVE_AVAHI
-+ int ret; /* Error from service creation */
-+ char webif[AVAHI_LABEL_MAX]; /* Web interface share name */
-+#endif /* HAVE_AVAHI */
- # ifdef HAVE_SYSTEMCONFIGURATION
- SCDynamicStoreRef sc; /* Context for dynamic store */
- CFDictionaryRef btmm; /* Back-to-My-Mac domains */
-@@ -2042,6 +2107,7 @@
- else
- strlcpy(webif, "CUPS Web Interface", sizeof(webif));
-
-+#ifdef HAVE_DNSSD
- if (WebIFRef)
- DNSServiceRefDeallocate(WebIFRef);
-
-@@ -2054,9 +2120,45 @@
- NULL)) != kDNSServiceErr_NoError)
- cupsdLogMessage(CUPSD_LOG_ERROR,
- "DNS-SD web interface registration failed: %d", error);
-+#endif /* HAVE_DNSSD */
-+
-+#ifdef HAVE_AVAHI
-+ if (!AvahiCupsClient)
-+ /*
-+ * Client not yet running.
-+ */
-+ return;
-+
-+ if (AvahiWebIFGroup)
-+ avahi_entry_group_reset (AvahiWebIFGroup);
-+ else
-+ AvahiWebIFGroup = avahi_entry_group_new (AvahiCupsClient,
-+ avahi_entry_group_cb,
-+ NULL);
-+
-+ if (AvahiWebIFGroup)
-+ {
-+ ret = avahi_entry_group_add_service (AvahiWebIFGroup,
-+ AVAHI_IF_UNSPEC,
-+ AVAHI_PROTO_UNSPEC,
-+ 0, /* flags */
-+ webif, /* name */
-+ "_http._tcp", /* type */
-+ NULL, /* domain */
-+ NULL, /* host */
-+ DNSSDPort, /* port */
-+ "path=/", NULL);
-+ if (ret == 0)
-+ ret = avahi_entry_group_commit (AvahiWebIFGroup);
-+
-+ if (ret != 0)
-+ cupsdLogMessage (CUPSD_LOG_ERROR,
-+ "Avahi web interface registration failed: %d", ret);
-+ }
-+#endif /* HAVE_AVAHI */
- }
- }
--#endif /* HAVE_DNSSD */
-+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */
-
-
- #ifdef HAVE_LDAP
-@@ -2334,13 +2436,15 @@
- "Bad Back to My Mac domain in dynamic store!");
- }
- # endif /* HAVE_COREFOUNDATION */
-+#endif /* HAVE_DNSSD */
-
-
-+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
- /*
- * 'dnssdBuildTxtRecord()' - Build a TXT record from printer info.
- */
-
--static char * /* O - TXT record */
-+static cupsd_txt_record_t /* O - TXT record */
- dnssdBuildTxtRecord(
- int *txt_len, /* O - TXT record length */
- cupsd_printer_t *p, /* I - Printer information */
-@@ -2379,7 +2483,12 @@
- keyvalue[i ][0] = "ty";
- keyvalue[i++][1] = p->make_model ? p->make_model : "Unknown";
-
-- snprintf(admin_hostname, sizeof(admin_hostname), "%s.local.", DNSSDHostName);
-+ snprintf(admin_hostname, sizeof(admin_hostname),
-+ "%s.local"
-+#ifdef HAVE_DNSSD
-+ "." /* terminating dot no good for Avahi */
-+#endif /* HAVE_DNSSD */
-+ , DNSSDHostName);
- httpAssembleURIf(HTTP_URI_CODING_ALL, adminurl_str, sizeof(adminurl_str),
- "http", NULL, admin_hostname, DNSSDPort, "/%s/%s",
- (p->type & CUPS_PRINTER_CLASS) ? "classes" : "printers",
-@@ -2462,7 +2571,12 @@
- * Then pack them into a proper txt record...
- */
-
-+#ifdef HAVE_DNSSD
- return (dnssdPackTxtRecord(txt_len, keyvalue, i));
-+#endif /* HAVE_DNSSD */
-+#ifdef HAVE_AVAHI
-+ return (avahiPackTxtRecord(keyvalue, i));
-+#endif /* HAVE_AVAHI */
- }
-
-
-@@ -2474,7 +2588,16 @@
- dnssdComparePrinters(cupsd_printer_t *a,/* I - First printer */
- cupsd_printer_t *b)/* I - Second printer */
- {
-- return (_cups_strcasecmp(a->reg_name, b->reg_name));
-+ if (!a->reg_name)
-+ if (!b->reg_name)
-+ return 0;
-+ else
-+ return -1;
-+ else
-+ if (!b->reg_name)
-+ return 1;
-+ else
-+ return (_cups_strcasecmp(a->reg_name, b->reg_name));
- }
-
-
-@@ -2489,6 +2612,10 @@
- {
- cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdDeregisterPrinter(%s)", p->name);
-
-+#ifdef HAVE_DNSSD
-+ if (!DNSSDRef)
-+ return;
-+
- /*
- * Closing the socket deregisters the service
- */
-@@ -2524,6 +2651,24 @@
- free(p->printer_txt);
- p->printer_txt = NULL;
- }
-+#endif /* HAVE_DNSSD */
-+
-+#ifdef HAVE_AVAHI
-+ if (p->avahi_group)
-+ {
-+ avahi_entry_group_reset (p->avahi_group);
-+ avahi_entry_group_free (p->avahi_group);
-+ p->avahi_group = NULL;
-+
-+ if (p->ipp_txt)
-+ avahi_string_list_free (p->ipp_txt);
-+
-+ if (p->printer_txt)
-+ avahi_string_list_free (p->printer_txt);
-+
-+ p->ipp_txt = p->printer_txt = NULL;
-+ }
-+#endif /* HAVE_AVAHI */
-
- /*
- * Remove the printer from the array of DNS-SD printers, then clear the
-@@ -2533,8 +2678,10 @@
- cupsArrayRemove(DNSSDPrinters, p);
- cupsdClearString(&p->reg_name);
- }
-+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */
-
-
-+#ifdef HAVE_DNSSD
- /*
- * 'dnssdPackTxtRecord()' - Pack an array of key/value pairs into the
- * TXT record format.
-@@ -2644,8 +2791,10 @@
- LastEvent |= CUPSD_EVENT_PRINTER_MODIFIED;
- }
- }
-+#endif /* HAVE_DNSSD */
-
-
-+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
- /*
- * 'dnssdRegisterPrinter()' - Start sending broadcast information for a printer
- * or update the broadcast contents.
-@@ -2654,20 +2803,40 @@
- static void
- dnssdRegisterPrinter(cupsd_printer_t *p)/* I - Printer */
- {
-+#ifdef HAVE_DNSSD
- DNSServiceErrorType se; /* dnssd errors */
- char *ipp_txt, /* IPP TXT record buffer */
- *printer_txt, /* LPD TXT record buffer */
-- name[1024], /* Service name */
-- *nameptr; /* Pointer into name */
-+ name[1024]; /* Service name */
- int ipp_len, /* IPP TXT record length */
- printer_len, /* LPD TXT record length */
- printer_port; /* LPD port number */
-+#endif /* HAVE_DNSSD */
-+#ifdef HAVE_AVAHI
-+ int ret; /* Error code */
-+ AvahiStringList *ipp_txt, /* IPP TXT record */
-+ *printer_txt; /* LPD TXT record */
-+ char name[AVAHI_LABEL_MAX], /* Service name */
-+ fullsubtype[AVAHI_LABEL_MAX]; /* Full subtype */
-+ char *regtype_copy, /* Writeable copy of reg type */
-+ *subtype, /* Current service sub type */
-+ *nextsubtype; /* Next service sub type */
-+#endif /* HAVE_AVAHI */
-+ char *nameptr; /* Pointer into name */
- const char *regtype; /* Registration type */
-
-
-+#ifdef HAVE_DNSSD
-+ if (!DNSSDRef)
-+ return;
-+
- cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdRegisterPrinter(%s) %s", p->name,
- !p->ipp_ref ? "new" : "update");
--
-+#endif /* HAVE_DNSSD */
-+#ifdef HAVE_AVAHI
-+ cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdRegisterPrinter(%s) %s", p->name,
-+ !p->avahi_group ? "new" : "update");
-+#endif /* HAVE_AVAHI */
- /*
- * If per-printer sharing was just disabled make sure we're not
- * registered before returning.
-@@ -2686,12 +2855,36 @@
- if (p->info && strlen(p->info) > 0)
- {
- if (DNSSDComputerName)
-- snprintf(name, sizeof(name), "%s @ %s", p->info, DNSSDComputerName);
-+ {
-+ /*
-+ * Make sure there is room for at least 15 characters of
-+ * DNSSDComputerName.
-+ */
-+
-+ assert(sizeof(name) >= 15 + 4);
-+ nameptr = name + strlcpy(name, p->info,
-+ sizeof(name) - 4 -
-+ strnlen(DNSSDComputerName, 15));
-+ nameptr += strlcpy(nameptr, " @ ", sizeof(name) - (nameptr - name));
-+ strlcpy(nameptr, DNSSDComputerName, sizeof(name) - (nameptr - name));
-+ }
- else
- strlcpy(name, p->info, sizeof(name));
- }
- else if (DNSSDComputerName)
-- snprintf(name, sizeof(name), "%s @ %s", p->name, DNSSDComputerName);
-+ {
-+ /*
-+ * Make sure there is room for at least 15 characters of
-+ * DNSSDComputerName.
-+ */
-+
-+ assert(sizeof(name) >= 15 + 4);
-+ nameptr = name + strlcpy(name, p->info,
-+ sizeof(name) - 4 -
-+ strnlen(DNSSDComputerName, 15));
-+ nameptr += strlcpy(nameptr, " @ ", sizeof(name) - (nameptr - name));
-+ strlcpy(nameptr, DNSSDComputerName, sizeof(name) - (nameptr - name));
-+ }
- else
- strlcpy(name, p->name, sizeof(name));
-
-@@ -2712,6 +2905,7 @@
- * Register IPP and (optionally) LPD...
- */
-
-+#ifdef HAVE_DNSSD
- ipp_len = 0; /* anti-compiler-warning-code */
- ipp_txt = dnssdBuildTxtRecord(&ipp_len, p, 0);
-
-@@ -2884,6 +3078,209 @@
-
- if (printer_txt)
- free(printer_txt);
-+#endif /* HAVE_DNSSD */
-+#ifdef HAVE_AVAHI
-+ if (!AvahiCupsClient)
-+ /*
-+ * Client not running yet. The client callback will call us again later.
-+ */
-+ return;
-+
-+ ipp_txt = dnssdBuildTxtRecord(NULL, p, 0);
-+ printer_txt = dnssdBuildTxtRecord(NULL, p, 1);
-+ regtype = (p->type & CUPS_PRINTER_FAX) ? "_fax-ipp._tcp" : DNSSDRegType;
-+
-+ if (p->avahi_group && p->ipp_txt && ipp_txt &&
-+ !avahi_string_list_equal (p->ipp_txt, ipp_txt))
-+ {
-+ /*
-+ * Update the existing registration...
-+ */
-+
-+ avahi_string_list_free (p->ipp_txt);
-+
-+ if (p->printer_txt)
-+ avahi_string_list_free (p->printer_txt);
-+
-+ /*
-+ * Update the service group entry.
-+ */
-+
-+ regtype_copy = strdup (regtype);
-+ subtype = strchr (regtype_copy, ',');
-+ if (subtype)
-+ *subtype = '\0';
-+
-+ cupsdLogMessage (CUPSD_LOG_DEBUG,
-+ "Updating TXT record for %s (%s)", name, regtype_copy);
-+ ret = avahi_entry_group_update_service_txt_strlst (p->avahi_group,
-+ AVAHI_IF_UNSPEC,
-+ AVAHI_PROTO_UNSPEC,
-+ 0, name,
-+ regtype_copy,
-+ NULL, ipp_txt);
-+ free (regtype_copy);
-+
-+ if (ret < 0)
-+ goto update_failed;
-+
-+ p->ipp_txt = ipp_txt;
-+ ipp_txt = NULL;
-+
-+ if (BrowseLocalProtocols & BROWSE_LPD)
-+ {
-+ ret = avahi_entry_group_update_service_txt_strlst (p->avahi_group,
-+ AVAHI_IF_UNSPEC,
-+ AVAHI_PROTO_UNSPEC,
-+ 0, name,
-+ "_printer._tcp", NULL,
-+ printer_txt);
-+ if (ret < 0)
-+ goto update_failed;
-+
-+ p->printer_txt = printer_txt;
-+ printer_txt = NULL;
-+ }
-+
-+ ret = avahi_entry_group_commit (p->avahi_group);
-+ if (ret < 0)
-+ {
-+ update_failed:
-+ cupsdLogMessage (CUPSD_LOG_ERROR,
-+ "Failed to update TXT record for %s: %d",
-+ name, ret);
-+ avahi_entry_group_reset (p->avahi_group);
-+ avahi_entry_group_free (p->avahi_group);
-+ p->avahi_group = NULL;
-+ ipp_txt = p->ipp_txt;
-+ p->ipp_txt = NULL;
-+ }
-+ }
-+
-+ if (!p->avahi_group)
-+ {
-+ /*
-+ * Initial registration. Use the _fax subtype for fax queues...
-+ */
-+
-+ p->avahi_group = avahi_entry_group_new (AvahiCupsClient,
-+ avahi_entry_group_cb,
-+ p);
-+
-+ cupsdLogMessage(CUPSD_LOG_DEBUG,
-+ "Registering Avahi printer %s with name \"%s\" and "
-+ "type \"%s\"", p->name, name, regtype);
-+
-+ if (!p->avahi_group)
-+ {
-+ ret = 0;
-+ goto add_failed;
-+ }
-+
-+ /*
-+ * Add each service type (DNSSDRegType may contain several,
-+ * separated by commas).
-+ */
-+
-+ subtype = regtype_copy = strdup (regtype);
-+ while (subtype && *subtype)
-+ {
-+ nextsubtype = strchr (subtype, ',');
-+ if (nextsubtype)
-+ *nextsubtype++ = '\0';
-+
-+ if (subtype == regtype_copy)
-+ {
-+ /*
-+ * Main type entry.
-+ */
-+
-+ cupsdLogMessage (CUPSD_LOG_DEBUG,
-+ "Adding TXT record for %s (%s)", name, regtype_copy);
-+ ret = avahi_entry_group_add_service_strlst (p->avahi_group,
-+ AVAHI_IF_UNSPEC,
-+ AVAHI_PROTO_UNSPEC,
-+ 0, name, regtype_copy,
-+ NULL, NULL,
-+ DNSSDPort,
-+ ipp_txt);
-+ }
-+ else
-+ {
-+ /*
-+ * Sub-type entry.
-+ */
-+
-+ snprintf (fullsubtype, sizeof(fullsubtype),
-+ "%s._sub.%s", subtype, regtype_copy);
-+ cupsdLogMessage (CUPSD_LOG_DEBUG,
-+ "Adding TXT record for %s (%s)", name, fullsubtype);
-+ ret = avahi_entry_group_add_service_subtype (p->avahi_group,
-+ AVAHI_IF_UNSPEC,
-+ AVAHI_PROTO_UNSPEC,
-+ 0, name,
-+ regtype_copy,
-+ NULL, fullsubtype);
-+ }
-+
-+ if (ret < 0)
-+ {
-+ free (regtype_copy);
-+ goto add_failed;
-+ }
-+
-+ subtype = nextsubtype;
-+ }
-+
-+ free (regtype_copy);
-+ p->ipp_txt = ipp_txt;
-+ ipp_txt = NULL;
-+
-+ if (BrowseLocalProtocols & BROWSE_LPD)
-+ {
-+ cupsdLogMessage(CUPSD_LOG_DEBUG,
-+ "Registering Avahi printer %s with name \"%s\" and "
-+ "type \"_printer._tcp\"", p->name, name);
-+
-+ ret = avahi_entry_group_add_service_strlst (p->avahi_group,
-+ AVAHI_IF_UNSPEC,
-+ AVAHI_PROTO_UNSPEC,
-+ 0, name,
-+ "_printer._tcp", NULL, NULL,
-+ 515,
-+ printer_txt);
-+ if (ret < 0)
-+ goto add_failed;
-+
-+ p->printer_txt = printer_txt;
-+ printer_txt = NULL;
-+ }
-+
-+ ret = avahi_entry_group_commit (p->avahi_group);
-+
-+ if (ret < 0)
-+ {
-+ add_failed:
-+ cupsdLogMessage (CUPSD_LOG_ERROR,
-+ "Failed to add Avahi entry for %s: %d",
-+ name, ret);
-+ if (p->avahi_group)
-+ {
-+ avahi_entry_group_reset (p->avahi_group);
-+ avahi_entry_group_free (p->avahi_group);
-+ p->avahi_group = NULL;
-+ }
-+ ipp_txt = p->ipp_txt;
-+ p->ipp_txt = NULL;
-+ }
-+ }
-+
-+ if (ipp_txt)
-+ avahi_string_list_free (ipp_txt);
-+
-+ if (printer_txt)
-+ avahi_string_list_free (printer_txt);
-+#endif /* HAVE_AVAHI */
- }
-
-
-@@ -2896,6 +3293,10 @@
- {
- cupsd_printer_t *p; /* Current printer */
-
-+#ifdef HAVE_DNSSD
-+ if (!DNSSDRef)
-+ return;
-+#endif /* HAVE_DNSSD */
-
- /*
- * De-register the individual printers
-@@ -2906,6 +3307,7 @@
- p = (cupsd_printer_t *)cupsArrayNext(Printers))
- dnssdDeregisterPrinter(p);
-
-+#ifdef HAVE_DNSSD
- /*
- * Shutdown the rest of the service refs...
- */
-@@ -2926,14 +3328,17 @@
-
- DNSServiceRefDeallocate(DNSSDRef);
- DNSSDRef = NULL;
-+#endif /* HAVE_DNSSD */
-
- cupsArrayDelete(DNSSDPrinters);
- DNSSDPrinters = NULL;
-
- DNSSDPort = 0;
- }
-+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */
-
-
-+#ifdef HAVE_DNSSD
- /*
- * 'dnssdUpdate()' - Handle DNS-SD queries.
- */
-@@ -2955,6 +3360,147 @@
- #endif /* HAVE_DNSSD */
-
-
-+#ifdef HAVE_AVAHI
-+/*
-+ * 'avahiPackTxtRecord()' - Pack an array of key/value pairs into an
-+ * AvahiStringList.
-+ */
-+
-+static AvahiStringList * /* O - new string list */
-+avahiPackTxtRecord(char *keyvalue[][2], /* I - Table of key value pairs */
-+ int count) /* I - Number of items in table */
-+{
-+ AvahiStringList *strlst = NULL;
-+ char **elements;
-+ size_t len;
-+ int i = 0;
-+
-+ elements = malloc ((1 + count) * sizeof (char *));
-+ if (!elements)
-+ goto cleanup;
-+
-+ for (i = 0; i < count; i++)
-+ {
-+ len = (1 + strlen (keyvalue[i][0]) +
-+ (keyvalue[i][1] ? 1 + strlen (keyvalue[i][1]) : 1));
-+ elements[i] = malloc (len * sizeof (char));
-+ if (!elements[i])
-+ goto cleanup;
-+
-+ snprintf (elements[i], len, "%s=%s", keyvalue[i][0], keyvalue[i][1]);
-+ }
-+
-+ strlst = avahi_string_list_new_from_array ((const char **) elements, count);
-+
-+cleanup:
-+ while (--i >= 0)
-+ free (elements[i]);
-+
-+ free (elements);
-+ return (strlst);
-+}
-+
-+
-+/*
-+ * 'avahi_entry_group_cb()' - Avahi entry group callback function.
-+ */
-+static void
-+avahi_entry_group_cb (AvahiEntryGroup *group,
-+ AvahiEntryGroupState state,
-+ void *userdata)
-+{
-+ char *name;
-+
-+ if (userdata)
-+ name = ((cupsd_printer_t *) userdata)->reg_name;
-+ else
-+ name = "CUPS web interface";
-+
-+ switch (state)
-+ {
-+ case AVAHI_ENTRY_GROUP_UNCOMMITED:
-+ case AVAHI_ENTRY_GROUP_REGISTERING:
-+ break;
-+
-+ case AVAHI_ENTRY_GROUP_ESTABLISHED:
-+ cupsdLogMessage (CUPSD_LOG_DEBUG,
-+ "Avahi entry group established for %s", name);
-+ break;
-+
-+ default:
-+ cupsdLogMessage (CUPSD_LOG_DEBUG,
-+ "Avahi entry group %s has state %d",
-+ name, state);
-+ break;
-+ }
-+}
-+
-+
-+/*
-+ * 'avahi_client_cb()' - Avahi client callback function.
-+ */
-+static void
-+avahi_client_cb (AvahiClient *client,
-+ AvahiClientState state,
-+ void *userdata)
-+{
-+ cupsd_printer_t *printer;
-+ switch (state)
-+ {
-+ case AVAHI_CLIENT_S_RUNNING:
-+ /*
-+ * Avahi client started successfully.
-+ */
-+ AvahiCupsClient = client;
-+ AvahiCupsClientConnecting = 0;
-+ cupsdLogMessage (CUPSD_LOG_DEBUG, "Avahi client started");
-+
-+ cupsdUpdateDNSSDName ();
-+
-+ for (printer = (cupsd_printer_t *)cupsArrayFirst(Printers);
-+ printer;
-+ printer = (cupsd_printer_t *)cupsArrayNext(Printers))
-+ if (Browsing && (BrowseLocalProtocols & BROWSE_DNSSD) &&
-+ (!(printer->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_IMPLICIT |
-+ CUPS_PRINTER_SCANNER))) && printer->shared)
-+ dnssdRegisterPrinter (printer);
-+
-+ break;
-+
-+ case AVAHI_CLIENT_CONNECTING:
-+ /*
-+ * No Avahi daemon, client is waiting.
-+ */
-+ AvahiCupsClientConnecting = 1;
-+ cupsdLogMessage (CUPSD_LOG_DEBUG, "Avahi client connecting");
-+ break;
-+
-+ case AVAHI_CLIENT_FAILURE:
-+ /*
-+ * Avahi client failed, close it to allow a clean restart.
-+ */
-+ cupsdLogMessage (CUPSD_LOG_ERROR,
-+ "Avahi client failed, "
-+ "closing client to allow a clean restart");
-+
-+ for (printer = (cupsd_printer_t *)cupsArrayFirst(Printers);
-+ printer;
-+ printer = (cupsd_printer_t *)cupsArrayNext(Printers))
-+ dnssdDeregisterPrinter (printer);
-+
-+ avahi_client_free(client);
-+ AvahiCupsClientConnecting = 0;
-+ AvahiCupsClient = NULL;
-+
-+ break;
-+
-+ default:
-+ cupsdLogMessage (CUPSD_LOG_DEBUG, "Avahi client state: %d", state);
-+ }
-+}
-+#endif /* HAVE_AVAHI */
-+
-+
- /*
- * 'get_auth_info_required()' - Get the auth-info-required value to advertise.
- */
---- a/scheduler/dirsvc.h
-+++ b/scheduler/dirsvc.h
-@@ -31,6 +31,10 @@
- # endif /* HAVE_LDAP_SSL_H */
- #endif /* HAVE_LDAP */
-
-+#ifdef HAVE_AVAHI
-+# include <avahi-client/publish.h>
-+#endif /* HAVE_AVAHI */
-+
- /*
- * Browse protocols...
- */
-@@ -131,19 +135,22 @@
- VAR cupsd_statbuf_t *PollStatusBuffer VALUE(NULL);
- /* Status buffer for pollers */
-
--#ifdef HAVE_DNSSD
-+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
- VAR char *DNSSDComputerName VALUE(NULL),
- /* Computer/server name */
- *DNSSDHostName VALUE(NULL),
- /* Hostname */
- *DNSSDRegType VALUE(NULL);
- /* Bonjour registration type */
--VAR cups_array_t *DNSSDAlias VALUE(NULL);
-- /* List of dynamic ServerAlias's */
- VAR int DNSSDPort VALUE(0);
- /* Port number to register */
- VAR cups_array_t *DNSSDPrinters VALUE(NULL);
- /* Printers we have registered */
-+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */
-+
-+#ifdef HAVE_DNSSD
-+VAR cups_array_t *DNSSDAlias VALUE(NULL);
-+ /* List of dynamic ServerAlias's */
- VAR DNSServiceRef DNSSDRef VALUE(NULL),
- /* Master DNS-SD service reference */
- WebIFRef VALUE(NULL),
-@@ -152,6 +159,17 @@
- /* Remote printer browse reference */
- #endif /* HAVE_DNSSD */
-
-+#ifdef HAVE_AVAHI
-+VAR AvahiCupsPoll *AvahiCupsPollHandle VALUE(NULL);
-+ /* AvahiCupsPoll object */
-+VAR AvahiClient *AvahiCupsClient VALUE(NULL);
-+ /* AvahiClient object */
-+VAR int AvahiCupsClientConnecting VALUE(0);
-+ /* Is AvahiClient object connecting? */
-+VAR AvahiEntryGroup *AvahiWebIFGroup VALUE(NULL);
-+ /* Web interface entry group */
-+#endif /* HAVE_AVAHI */
-+
- #ifdef HAVE_LIBSLP
- VAR SLPHandle BrowseSLPHandle VALUE(NULL);
- /* SLP API handle */
-@@ -195,13 +213,14 @@
- extern void cupsdRestartPolling(void);
- extern void cupsdSaveRemoteCache(void);
- extern void cupsdSendBrowseList(void);
-+extern void cupsdStartAvahiClient(void);
- extern void cupsdStartBrowsing(void);
- extern void cupsdStartPolling(void);
- extern void cupsdStopBrowsing(void);
- extern void cupsdStopPolling(void);
--#ifdef HAVE_DNSSD
-+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
- extern void cupsdUpdateDNSSDName(void);
--#endif /* HAVE_DNSSD */
-+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */
- #ifdef HAVE_LDAP
- extern void cupsdUpdateLDAPBrowse(void);
- #endif /* HAVE_LDAP */
---- a/scheduler/ipp.c
-+++ b/scheduler/ipp.c
-@@ -6087,7 +6087,7 @@
- ippAddDate(con->response, IPP_TAG_PRINTER, "printer-current-time",
- ippTimeToDate(curtime));
-
--#ifdef HAVE_DNSSD
-+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
- if (!ra || cupsArrayFind(ra, "printer-dns-sd-name"))
- {
- if (printer->reg_name)
-@@ -6097,7 +6097,7 @@
- ippAddInteger(con->response, IPP_TAG_PRINTER, IPP_TAG_NOVALUE,
- "printer-dns-sd-name", 0);
- }
--#endif /* HAVE_DNSSD */
-+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */
-
- if (!ra || cupsArrayFind(ra, "printer-error-policy"))
- ippAddString(con->response, IPP_TAG_PRINTER, IPP_TAG_NAME,
---- a/scheduler/printers.c
-+++ b/scheduler/printers.c
-@@ -883,9 +883,9 @@
- cupsdClearString(&p->alert);
- cupsdClearString(&p->alert_description);
-
--#ifdef HAVE_DNSSD
-+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
- cupsdClearString(&p->pdl);
--#endif /* HAVE_DNSSD */
-+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */
-
- cupsArrayDelete(p->filetypes);
-
-@@ -3765,7 +3765,7 @@
- attr->values[i].string.text = _cupsStrAlloc(mimetype);
- }
-
--#ifdef HAVE_DNSSD
-+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
- {
- char pdl[1024]; /* Buffer to build pdl list */
- mime_filter_t *filter; /* MIME filter looping var */
-@@ -3821,7 +3821,7 @@
-
- cupsdSetString(&p->pdl, pdl);
- }
--#endif /* HAVE_DNSSD */
-+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */
- }
-
-
---- a/scheduler/printers.h
-+++ b/scheduler/printers.h
-@@ -16,6 +16,9 @@
- #ifdef HAVE_DNSSD
- # include <dns_sd.h>
- #endif /* HAVE_DNSSD */
-+#ifdef HAVE_AVAHI
-+# include "avahi.h"
-+#endif /* HAVE_AVAHI */
- #include <cups/pwg-private.h>
-
-
-@@ -95,16 +98,23 @@
- time_t marker_time; /* Last time marker attributes were updated */
- _ppd_cache_t *pc; /* PPD cache and mapping data */
-
--#ifdef HAVE_DNSSD
-+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
- char *reg_name, /* Name used for service registration */
-- *pdl, /* pdl value for TXT record */
-- *ipp_txt, /* IPP TXT record contents */
-+ *pdl; /* pdl value for TXT record */
-+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */
-+#ifdef HAVE_DNSSD
-+ char *ipp_txt, /* IPP TXT record contents */
- *printer_txt; /* LPD TXT record contents */
- int ipp_len, /* IPP TXT record length */
- printer_len; /* LPD TXT record length */
- DNSServiceRef ipp_ref, /* Reference for _ipp._tcp,_cups */
- printer_ref; /* Reference for _printer._tcp */
- #endif /* HAVE_DNSSD */
-+#ifdef HAVE_AVAHI
-+ AvahiStringList *ipp_txt, /* IPP TXT record */
-+ *printer_txt; /* LPD TXT record */
-+ AvahiEntryGroup *avahi_group; /* Avahi entry group */
-+#endif /* HAVE_AVAHI */
- };
-
-
---- a/scheduler/conf.c
-+++ b/scheduler/conf.c
-@@ -650,7 +650,7 @@
- Browsing = CUPS_DEFAULT_BROWSING;
- DefaultShared = CUPS_DEFAULT_DEFAULT_SHARED;
-
--#ifdef HAVE_DNSSD
-+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
- cupsdSetString(&DNSSDRegType, "_ipp._tcp,_cups");
- #endif /* HAVE_DNSSD */
-
diff --git a/extra/cups/cups-no-export-ssllibs.patch b/extra/cups/cups-no-export-ssllibs.patch
deleted file mode 100644
index 9be3c819b..000000000
--- a/extra/cups/cups-no-export-ssllibs.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up cups-1.5b1/config-scripts/cups-ssl.m4.no-export-ssllibs cups-1.5b1/config-scripts/cups-ssl.m4
---- cups-1.5b1/config-scripts/cups-ssl.m4.no-export-ssllibs 2011-05-11 02:52:08.000000000 +0200
-+++ cups-1.5b1/config-scripts/cups-ssl.m4 2011-05-23 17:47:27.000000000 +0200
-@@ -164,7 +164,7 @@ AC_SUBST(IPPALIASES)
- AC_SUBST(SSLFLAGS)
- AC_SUBST(SSLLIBS)
-
--EXPORT_SSLLIBS="$SSLLIBS"
-+EXPORT_SSLLIBS=""
- AC_SUBST(EXPORT_SSLLIBS)
-
-
diff --git a/extra/cups/cups-no-gcrypt.patch b/extra/cups/cups-no-gcrypt.patch
deleted file mode 100644
index 42f71d0d4..000000000
--- a/extra/cups/cups-no-gcrypt.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff -ruN cups-1.4.7.orig//config-scripts/cups-ssl.m4 cups-1.4.7/config-scripts/cups-ssl.m4
---- cups-1.5.0.orig//config-scripts/cups-ssl.m4 2011-01-11 08:05:58.000000000 +0100
-+++ cups-1.5.0/config-scripts/cups-ssl.m4 2011-08-02 10:44:26.011047900 +0200
-@@ -96,7 +96,6 @@
- dnl Then look for GNU TLS...
- if test $have_ssl = 0 -a "x$enable_gnutls" != "xno" -a "x$PKGCONFIG" != x; then
- AC_PATH_PROG(LIBGNUTLSCONFIG,libgnutls-config)
-- AC_PATH_PROG(LIBGCRYPTCONFIG,libgcrypt-config)
- if $PKGCONFIG --exists gnutls; then
- have_ssl=1
- SSLLIBS=`$PKGCONFIG --libs gnutls`
-@@ -110,16 +109,6 @@
- AC_DEFINE(HAVE_SSL)
- AC_DEFINE(HAVE_GNUTLS)
- fi
--
-- if test $have_ssl = 1; then
-- if $PKGCONFIG --exists gcrypt; then
-- SSLLIBS="$SSLLIBS `$PKGCONFIG --libs gcrypt`"
-- SSLFLAGS="$SSLFLAGS `$PKGCONFIG --cflags gcrypt`"
-- elif test "x$LIBGCRYPTCONFIG" != x; then
-- SSLLIBS="$SSLLIBS `$LIBGCRYPTCONFIG --libs`"
-- SSLFLAGS="$SSLFLAGS `$LIBGCRYPTCONFIG --cflags`"
-- fi
-- fi
- fi
-
- dnl Check for the OpenSSL library last...
---- cups-1.5.0.orig//cups/http-private.h 2011-01-22 01:07:22.000000000 +0100
-+++ cups-1.5.0/cups/http-private.h 2011-08-02 10:42:43.341604107 +0200
-@@ -93,7 +93,6 @@
- # elif defined HAVE_GNUTLS
- # include <gnutls/gnutls.h>
- # include <gnutls/x509.h>
--# include <gcrypt.h>
- # elif defined(HAVE_CDSASSL)
- # include <CoreFoundation/CoreFoundation.h>
- # include <Security/Security.h>
diff --git a/extra/cups/cups.install b/extra/cups/cups.install
deleted file mode 100644
index 47c3d9b82..000000000
--- a/extra/cups/cups.install
+++ /dev/null
@@ -1,26 +0,0 @@
-post_install() {
- if [ -x usr/bin/xdg-icon-resource ]; then
- xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
- fi
- echo ">> If you use an HTTPS connection to CUPS, the first time you access"
- echo ">> the interface it may take a very long time before the site comes up."
- echo ">> This is because the first request triggers the generation of the CUPS"
- echo ">> SSL certificates which can be a very time-consuming job."
-}
-
-post_upgrade() {
- if [ -x usr/bin/xdg-icon-resource ]; then
- xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
- fi
- if [ "`vercmp $2 1.4.7-2`" -lt 0 ]; then
- # important upgrade notice
- echo "daemon script has been renamed to /etc/rc.d/cupsd"
- echo "change your entry in /etc/rc.conf"
- fi
-}
-
-post_remove() {
- if [ -x usr/bin/xdg-icon-resource ]; then
- xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
- fi
-}
diff --git a/extra/cups/cups.logrotate b/extra/cups/cups.logrotate
deleted file mode 100644
index 9c49bbdaf..000000000
--- a/extra/cups/cups.logrotate
+++ /dev/null
@@ -1,8 +0,0 @@
-/var/log/cups/*log {
- missingok
- notifempty
- delaycompress
- postrotate
- /bin/kill -HUP `cat /var/run/cups.pid 2>/dev/null` 2>/dev/null || true
- endscript
-}
diff --git a/extra/cups/cups.pam b/extra/cups/cups.pam
deleted file mode 100644
index 53724d1f8..000000000
--- a/extra/cups/cups.pam
+++ /dev/null
@@ -1,3 +0,0 @@
-auth required pam_unix.so
-account required pam_unix.so
-session required pam_unix.so
diff --git a/extra/dovecot/PKGBUILD b/extra/dovecot/PKGBUILD
index be7a8e2b3..d54633b23 100644
--- a/extra/dovecot/PKGBUILD
+++ b/extra/dovecot/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 142912 2011-11-18 08:18:50Z andyrtr $
+# $Id: PKGBUILD 146277 2012-01-07 21:39:13Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Paul Mattal <paul@mattal.com>
# Contributor: Federico Quagliata (quaqo) <quaqo@despammed.com>
# Contributor: GARETTE Emmanuel <gnunux at laposte dot net>
pkgname=dovecot
-pkgver=2.0.16
+pkgver=2.0.17
pkgrel=1
pkgdesc="An IMAP and POP3 server written with security primarily in mind"
arch=('i686' 'x86_64' 'mips64el')
@@ -25,7 +25,7 @@ backup=(etc/dovecot/dovecot.conf
etc/ssl/dovecot-openssl.cnf)
install=$pkgname.install
source=(http://dovecot.org/releases/2.0/${pkgname}-${pkgver}.tar.gz dovecot.sh)
-md5sums=('e01a29a355afefcb9fb5f8b7a54e1a14'
+md5sums=('41c10dffa56e228b9176833db2efaac5'
'587159e84e2da6f83d70b3c706ba87cc')
build() {
diff --git a/extra/emacs/emacs.desktop b/extra/emacs/emacs.desktop
deleted file mode 100644
index 71b3d5bbf..000000000
--- a/extra/emacs/emacs.desktop
+++ /dev/null
@@ -1,12 +0,0 @@
-[Desktop Entry]
-Name=Emacs Text Editor
-Name[de]=Emacs Texteditor
-GenericName=Text Editor
-Comment=Edit text
-MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
-Exec=emacs %f
-Icon=emacs-icon
-Type=Application
-Terminal=false
-Categories=Development;TextEditor;
-StartupWMClass=Emacs
diff --git a/extra/ettercap/ettercap.desktop b/extra/ettercap/ettercap.desktop
deleted file mode 100644
index b8981dcb9..000000000
--- a/extra/ettercap/ettercap.desktop
+++ /dev/null
@@ -1,9 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=ettercap
-GenericName=Ettercap
-Comment=Multipurpose sniffer/interceptor/logger
-Icon=ettercap
-Exec=gksu "/usr/bin/ettercap --gtk"
-Terminal=false
-Categories=Application;Network;System;Security;GTK
diff --git a/extra/fping/fping-2.4b2_p161-min-time.patch b/extra/fping/fping-2.4b2_p161-min-time.patch
deleted file mode 100644
index 5e5ccd40f..000000000
--- a/extra/fping/fping-2.4b2_p161-min-time.patch
+++ /dev/null
@@ -1,47 +0,0 @@
---- old/fping.c 2010-08-24 16:59:38.947000447 +0100
-+++ new/fping.c 2010-08-24 16:55:52.101000443 +0100
-@@ -25,6 +25,7 @@
- * Original author: Roland Schemers <schemers@stanford.edu>
- * IPv6 Support: Jeroen Massar <jeroen@unfix.org / jeroen@ipng.nl>
- * Bugfixes, byte order & senseful seq.-numbers: Stephan Fuhrmann (stephan.fuhrmann AT 1und1.de)
-+ * Fixes: min_reply_i in splits and compiler warning. Alex Ghoth (alex AT ghoth.net)
- *
- *
- * RCS header information no longer used. It has been moved to the
-@@ -743,7 +744,7 @@
-
- if( ( ping_data_size > MAX_PING_DATA ) || ( ping_data_size < MIN_PING_DATA ) )
- {
-- fprintf( stderr, "%s: data size %u not valid, must be between %u and %u\n",
-+ fprintf( stderr, "%s: data size %u not valid, must be between %lu and %u\n",
- prog, ping_data_size, MIN_PING_DATA, MAX_PING_DATA );
- usage();
-
-@@ -1112,7 +1113,7 @@
- ht = timeval_diff( &current_time, &cursor->last_send_time );
-
- if( report_interval && ( loop_flag || count_flag ) &&
-- ( timeval_diff ( &current_time, &last_report_time ) > report_interval ) )
-+ ( timeval_diff ( &current_time, &last_report_time ) >= report_interval ) )
- {
- print_per_system_splits();
- gettimeofday( &current_time, &tz );
-@@ -1487,8 +1488,8 @@
- }/* IF */
-
- fprintf( stderr, "\n" );
-- h->num_sent_i = h->num_recv_i = h->max_reply_i =
-- h->min_reply_i = h->total_time_i = 0;
-+ h->num_sent_i = h->num_recv_i = h->max_reply_i = h->total_time_i = 0;
-+ h->min_reply_i = 10000000;
-
- }/* FOR */
-
-@@ -2377,6 +2378,7 @@
- p->timeout = timeout;
- p->running = 1;
- p->min_reply = 10000000;
-+ p->min_reply_i = 10000000;
-
- if( strlen( p->host ) > max_hostname_len )
- max_hostname_len = strlen( p->host );
diff --git a/extra/fping/fping_2.4b2-to-ipv6-16.1.diff b/extra/fping/fping_2.4b2-to-ipv6-16.1.diff
deleted file mode 100644
index 435723832..000000000
--- a/extra/fping/fping_2.4b2-to-ipv6-16.1.diff
+++ /dev/null
@@ -1,838 +0,0 @@
---- fping-2.4b2-to-ipv6.orig/fping.8
-+++ fping-2.4b2-to-ipv6/fping.8
-@@ -1,4 +1,4 @@
--.TH fping l
-+.TH fping 8
- .SH NAME
- fping \- send ICMP ECHO_REQUEST packets to network hosts
- .SH SYNOPSIS
-@@ -12,9 +12,9 @@
-
-
- .B fping
--is a
--.MS ping 8
--like program which uses the Internet Control
-+is a program like
-+.B ping(8)
-+which uses the Internet Control
- Message Protocol (ICMP) echo request to determine if a target host is
- responding.
- .B fping
-@@ -37,8 +37,7 @@
- ).
- .PP
- Unlike
--.B ping
--,
-+.B ping,
- .B fping
- is meant to be used in scripts, so its output is designed to be
- easy to parse.
-@@ -130,12 +129,16 @@
- a target will be made, not including the first try.
- .IP \fB-s\fR 5
- Print cumulative statistics upon exit.
-+.IP \fB-S\fIaddr\fR 5
-+Set source address.
- .IP \fB-t\fIn\fR 5
- Initial target timeout in milliseconds (default 500). In the default
- mode, this is the amount of time that
- .B fping
- waits for a response to its first request. Successive timeouts are
- multiplied by the backoff factor.
-+.IP \fB-T\fIn\fR 5
-+Select timeout in seconds (default 10).
- .IP \fB-u\fR 5
- Show targets that are unreachable.
- .IP \fB-v\fR 5
-@@ -152,7 +155,7 @@
- example none the less.
- .nf
-
--#!/usr/local/bin/perl
-+#!/usr/bin/perl
- require 'open2.pl';
-
- $MAILTO = "root";
-@@ -178,7 +181,7 @@
- that are currently reachable.
- .nf
-
--#!/usr/local/bin/perl
-+#!/usr/bin/perl
-
- $hosts_to_backup = `cat /etc/hosts.backup | fping -a`;
-
---- fping-2.4b2-to-ipv6.orig/fping.c
-+++ fping-2.4b2-to-ipv6/fping.c
-@@ -24,7 +24,7 @@
- *
- * Original author: Roland Schemers <schemers@stanford.edu>
- * IPv6 Support: Jeroen Massar <jeroen@unfix.org / jeroen@ipng.nl>
-- *
-+ * Bugfixes, byte order & senseful seq.-numbers: Stephan Fuhrmann (stephan.fuhrmann AT 1und1.de)
- *
- *
- * RCS header information no longer used. It has been moved to the
-@@ -42,7 +42,6 @@
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
--#define IPV6 1 /* This should be a compiler option, or even better be done from the Makefile... ;) */
-
- #ifndef _NO_PROTO
- #if !__STDC__ && !defined( __cplusplus ) && !defined( FUNCPROTO ) \
-@@ -101,13 +100,8 @@
- #endif
- #include <netinet/in_systm.h>
-
--/* Linux has bizarre ip.h and ip_icmp.h */
--#if defined( __linux__ )
--#include "linux.h"
--#else
- #include <netinet/ip.h>
- #include <netinet/ip_icmp.h>
--#endif /* defined(__linux__) */
-
- #include <arpa/inet.h>
- #include <netdb.h>
-@@ -150,7 +144,11 @@
- #define MIN_PING_DATA sizeof( PING_DATA )
- #define MAX_IP_PACKET 65536 /* (theoretical) max IP packet size */
- #define SIZE_IP_HDR 20
-+#ifndef IPV6
- #define SIZE_ICMP_HDR ICMP_MINLEN /* from ip_icmp.h */
-+#else
-+#define SIZE_ICMP_HDR sizeof(FPING_ICMPHDR)
-+#endif
- #define MAX_PING_DATA ( MAX_IP_PACKET - SIZE_IP_HDR - SIZE_ICMP_HDR )
-
- /* sized so as to be like traditional ping */
-@@ -192,7 +190,7 @@
- "",
- "",
- "ICMP Time Exceeded", /* 11 */
-- "ICMP Paramter Problem", /* 12 */
-+ "ICMP Parameter Problem", /* 12 */
- "ICMP Timestamp Request", /* 13 */
- "ICMP Timestamp Reply", /* 14 */
- "ICMP Information Request", /* 15 */
-@@ -283,6 +281,12 @@
- u_int count = 1;
- u_int trials;
- u_int report_interval = 0;
-+int src_addr_present = 0;
-+#ifndef IPV6
-+struct in_addr src_addr;
-+#else
-+struct in6_addr src_addr;
-+#endif
-
- /* global stats */
- long max_reply = 0;
-@@ -292,6 +296,7 @@
- int max_hostname_len = 0;
- int num_jobs = 0; /* number of hosts still to do */
- int num_hosts; /* total number of hosts */
-+int max_seq_sent = 0; /* maximum sequence number sent so far */
- int num_alive = 0, /* total number alive */
- num_unreachable = 0, /* total number unreachable */
- num_noaddress = 0; /* total number of addresses not found */
-@@ -408,6 +413,11 @@
- struct protoent *proto;
- char *buf;
- uid_t uid;
-+#ifndef IPV6
-+ struct sockaddr_in sa;
-+#else
-+ struct sockaddr_in6 sa;
-+#endif
- /* check if we are root */
-
- if( geteuid() )
-@@ -439,7 +449,7 @@
-
- #ifdef IPV6
- /*
-- * let the kerel pass extension headers of incoming packets,
-+ * let the kernel pass extension headers of incoming packets,
- * for privileged socket options
- */
- #ifdef IPV6_RECVHOPOPTS
-@@ -474,6 +484,35 @@
- sizeof(opton)))
- err(1, "setsockopt(IPV6_RTHDR)");
- #endif
-+#ifndef USE_SIN6_SCOPE_ID
-+#ifdef IPV6_RECVPKTINFO
-+ if (setsockopt(s, IPPROTO_IPV6, IPV6_RECVPKTINFO, &opton,
-+ sizeof(opton)))
-+ err(1, "setsockopt(IPV6_RECVPKTINFO)");
-+#else /* old adv. API */
-+ if (setsockopt(s, IPPROTO_IPV6, IPV6_PKTINFO, &opton,
-+ sizeof(opton)))
-+ err(1, "setsockopt(IPV6_PKTINFO)");
-+#endif
-+#endif /* USE_SIN6_SCOPE_ID */
-+#ifdef IPV6_RECVHOPLIMIT
-+ if (setsockopt(s, IPPROTO_IPV6, IPV6_RECVHOPLIMIT, &opton,
-+ sizeof(opton)))
-+ err(1, "setsockopt(IPV6_RECVHOPLIMIT)");
-+#else /* old adv. API */
-+ if (setsockopt(s, IPPROTO_IPV6, IPV6_HOPLIMIT, &opton,
-+ sizeof(opton)))
-+ err(1, "setsockopt(IPV6_HOPLIMIT)");
-+#endif
-+#ifdef IPV6_CHECKSUM
-+#ifndef SOL_RAW
-+#define SOL_RAW IPPROTO_IPV6
-+#endif
-+ opton = 2;
-+ if (setsockopt(s, SOL_RAW, IPV6_CHECKSUM, &opton,
-+ sizeof(opton)))
-+ err(1, "setsockopt(SOL_RAW,IPV6_CHECKSUM)");
-+#endif
- #endif
-
- if( ( uid = getuid() ) )
-@@ -491,7 +530,7 @@
-
- /* get command line options */
-
-- while( ( c = getopt( argc, argv, "gedhlmnqusaAvz:t:i:p:f:r:c:b:C:Q:B:" ) ) != EOF )
-+ while( ( c = getopt( argc, argv, "gedhlmnqusaAvz:t:i:p:f:r:c:b:C:Q:B:S:I:T:" ) ) != EOF )
- {
- switch( c )
- {
-@@ -502,7 +541,7 @@
- break;
-
- case 'r':
-- if( !( retry = ( u_int )atoi( optarg ) ) )
-+ if( ( retry = ( u_int )atoi( optarg ) ) < 0 )
- usage();
-
- break;
-@@ -639,6 +678,33 @@
- generate_flag = 1;
- break;
-
-+ case 'S':
-+#ifndef IPV6
-+ if( ! inet_pton( AF_INET, optarg, &src_addr ) )
-+#else
-+ if( ! inet_pton( AF_INET6, optarg, &src_addr ) )
-+#endif
-+ usage();
-+ src_addr_present = 1;
-+ break;
-+
-+ case 'I':
-+#ifdef SO_BINDTODEVICE
-+ if (setsockopt(s, SOL_SOCKET, SO_BINDTODEVICE, optarg,
-+ strlen(optarg)))
-+ err(1, "setsockopt(AF_INET, SO_BINDTODEVICE)");
-+#else
-+ fprintf( stderr,
-+ "Warning: SO_BINDTODEVICE not supported, argument -I %s ignored\n",
-+ optarg );
-+#endif
-+ break;
-+
-+ case 'T':
-+ if ( ! ( select_time = ( u_int )atoi( optarg ) * 100 ) )
-+ usage();
-+ break;
-+
- default:
- usage();
- break;
-@@ -821,7 +887,7 @@
- errno_crash_and_burn( "fopen" );
-
-
-- while( fgets( line, 132, ping_file ) )
-+ while( fgets( line, sizeof(line), ping_file ) )
- {
- if( sscanf( line, "%s", host ) != 1 )
- continue;
-@@ -962,6 +1028,22 @@
- if( !num_hosts )
- exit( 2 );
-
-+ /* set the source address */
-+
-+ if( src_addr_present )
-+ {
-+ memset( &sa, 0, sizeof( sa ) );
-+#ifndef IPV6
-+ sa.sin_family = AF_INET;
-+ sa.sin_addr = src_addr;
-+#else
-+ sa.sin6_family = AF_INET6;
-+ sa.sin6_addr = src_addr;
-+#endif
-+ if ( bind( s, (struct sockaddr *)&sa, sizeof( sa ) ) < 0 )
-+ errno_crash_and_burn( "cannot bind source address" );
-+ }
-+
- /* allocate array to hold outstanding ping requests */
-
- table = ( HOST_ENTRY** )malloc( sizeof( HOST_ENTRY* ) * num_hosts );
-@@ -1112,7 +1194,7 @@
- /* but allow time for the last one to come in */
- if( count_flag )
- {
-- if( ( cursor->num_sent >= count ) && ( ht > cursor->timeout ) )
-+ if( ( cursor->num_sent >= count ) && ( cursor->num_recv >= count || ht > cursor->timeout ) )
- {
- remove_job( cursor );
- continue;
-@@ -1153,6 +1235,7 @@
-
- finish();
-
-+ return 0;
- } /* main() */
-
-
-@@ -1382,15 +1465,15 @@
- if( h->num_recv_i <= h->num_sent_i )
- {
- fprintf( stderr, " xmt/rcv/%%loss = %d/%d/%d%%",
-- h->num_sent_i, h->num_recv_i,
-- ( ( h->num_sent_i - h->num_recv_i ) * 100 ) / h->num_sent_i );
-+ h->num_sent_i, h->num_recv_i, h->num_sent_i > 0 ?
-+ ( ( h->num_sent_i - h->num_recv_i ) * 100 ) / h->num_sent_i : 0 );
-
- }/* IF */
- else
- {
- fprintf( stderr, " xmt/rcv/%%return = %d/%d/%d%%",
-- h->num_sent_i, h->num_recv_i,
-- ( ( h->num_recv_i * 100 ) / h->num_sent_i ) );
-+ h->num_sent_i, h->num_recv_i, h->num_sent_i > 0 ?
-+ ( ( h->num_recv_i * 100 ) / h->num_sent_i ) : 0 );
-
- }/* ELSE */
-
-@@ -1504,12 +1587,15 @@
- icp = ( FPING_ICMPHDR* )buffer;
-
- gettimeofday( &h->last_send_time, &tz );
-+ int myseq = h->num_sent * num_hosts + h->i;
-+ max_seq_sent = myseq > max_seq_sent ? myseq : max_seq_sent;
-+
- #ifndef IPV6
- icp->icmp_type = ICMP_ECHO;
- icp->icmp_code = 0;
- icp->icmp_cksum = 0;
-- icp->icmp_seq = h->i;
-- icp->icmp_id = ident;
-+ icp->icmp_seq = htons(myseq);
-+ icp->icmp_id = htons(ident);
-
- pdp = ( PING_DATA* )( buffer + SIZE_ICMP_HDR );
- pdp->ping_ts = h->last_send_time;
-@@ -1519,8 +1605,8 @@
- #else
- icp->icmp6_type = ICMP6_ECHO_REQUEST;
- icp->icmp6_code = 0;
-- icp->icmp6_seq = h->i;
-- icp->icmp6_id = ident;
-+ icp->icmp6_seq = htons(myseq);
-+ icp->icmp6_id = htons(ident);
-
- pdp = ( PING_DATA* )( buffer + SIZE_ICMP_HDR );
- pdp->ping_ts = h->last_send_time;
-@@ -1667,25 +1753,25 @@
- }/* IF */
-
- #ifndef IPV6
-- if( icp->icmp_id != ident )
-+ if( ntohs(icp->icmp_id) != ident )
- #else
-- if( icp->icmp6_id != ident )
-+ if( ntohs(icp->icmp6_id) != ident )
- #endif
- return 1; /* packet received, but not the one we are looking for! */
-
- num_pingreceived++;
-
- #ifndef IPV6
-- if( icp->icmp_seq >= ( n_short )num_hosts )
-+ if( ntohs(icp->icmp_seq) > max_seq_sent )
- #else
-- if( icp->icmp6_seq >= ( n_short )num_hosts )
-+ if( ntohs(icp->icmp6_seq) > max_seq_sent )
- #endif
- return( 1 ); /* packet received, don't worry about it anymore */
-
- #ifndef IPV6
-- n = icp->icmp_seq;
-+ n = ntohs(icp->icmp_seq) % num_hosts;
- #else
-- n = icp->icmp6_seq;
-+ n = ntohs(icp->icmp6_seq) % num_hosts;
- #endif
- h = table[n];
-
-@@ -1824,6 +1910,7 @@
-
- }/* IF */
-
-+ fflush( stdout );
- return num_jobs;
-
- } /* wait_for_reply() */
-@@ -1875,11 +1962,11 @@
- sent_icmp = ( struct icmp* )( c + 28 );
-
- if( ( sent_icmp->icmp_type == ICMP_ECHO ) &&
-- ( sent_icmp->icmp_id == ident ) &&
-- ( sent_icmp->icmp_seq < ( n_short )num_hosts ) )
-+ ( ntohs(sent_icmp->icmp_id) == ident ) &&
-+ ( ntohs(sent_icmp->icmp_seq) <= ( n_short )max_seq_sent ) )
- {
- /* this is a response to a ping we sent */
-- h = table[sent_icmp->icmp_seq];
-+ h = table[ntohs(sent_icmp->icmp_seq) % num_hosts];
-
- if( p->icmp_code > ICMP_UNREACH_MAXTYPE )
- {
-@@ -1888,11 +1975,11 @@
-
- #else
- if( ( sent_icmp->icmp6_type == ICMP_ECHO ) &&
-- ( sent_icmp->icmp6_id == ident ) &&
-- ( sent_icmp->icmp6_seq < ( n_short )num_hosts ) )
-+ ( ntohs(sent_icmp->icmp6_id) == ident ) &&
-+ ( ntohs(sent_icmp->icmp6_seq) <= ( n_short )max_seq_sent ) )
- {
- /* this is a response to a ping we sent */
-- h = table[sent_icmp->icmp6_seq];
-+ h = table[ntohs(sent_icmp->icmp6_seq) % num_hosts];
-
- if( p->icmp6_code > ICMP_UNREACH_MAXTYPE )
- {
-@@ -1930,24 +2017,24 @@
- case ICMP_PARAMPROB:
- sent_icmp = ( FPING_ICMPHDR* )( c + 28 );
- #ifndef IPV6
-- if( ( sent_icmp->icmp_type = ICMP_ECHO ) &&
-- ( sent_icmp->icmp_id = ident ) &&
-- ( sent_icmp->icmp_seq < ( n_short )num_hosts ) )
-+ if( ( sent_icmp->icmp_type == ICMP_ECHO ) &&
-+ ( ntohs(sent_icmp->icmp_id) == ident ) &&
-+ ( ntohs(sent_icmp->icmp_seq) <= ( n_short )max_seq_sent ) )
- {
- /* this is a response to a ping we sent */
-- h = table[sent_icmp->icmp_seq];
-+ h = table[ntohs(sent_icmp->icmp_seq) % num_hosts];
- fprintf( stderr, "%s from %s for ICMP Echo sent to %s",
- icmp_type_str[p->icmp_type], inet_ntoa( addr->sin_addr ), h->host );
-
- if( inet_addr( h->host ) == -1 )
- fprintf( stderr, " (%s)", inet_ntoa( h->saddr.sin_addr ) );
- #else
-- if( ( sent_icmp->icmp6_type = ICMP_ECHO ) &&
-- ( sent_icmp->icmp6_id = ident ) &&
-- ( sent_icmp->icmp6_seq < ( n_short )num_hosts ) )
-+ if( ( sent_icmp->icmp6_type == ICMP_ECHO ) &&
-+ ( ntohs(sent_icmp->icmp6_id) == ident ) &&
-+ ( ntohs(sent_icmp->icmp6_seq) <= ( n_short )max_seq_sent ) )
- {
- /* this is a response to a ping we sent */
-- h = table[sent_icmp->icmp6_seq];
-+ h = table[ntohs(sent_icmp->icmp6_seq) % num_hosts];
- fprintf( stderr, "%s from %s for ICMP Echo sent to %s",
- icmp_type_str[p->icmp6_type], addr_ascii, h->host );
-
-@@ -2165,20 +2252,33 @@
- struct addrinfo *res, hints;
- int ret_ga;
- char *hostname;
-+ size_t len;
-
- /* getaddrinfo */
- bzero(&hints, sizeof(struct addrinfo));
-- hints.ai_flags = AI_CANONNAME;
-+ hints.ai_flags = name_flag ? AI_CANONNAME : 0;
- hints.ai_family = AF_INET6;
- hints.ai_socktype = SOCK_RAW;
- hints.ai_protocol = IPPROTO_ICMPV6;
-
- ret_ga = getaddrinfo(name, NULL, &hints, &res);
-- if (ret_ga) errx(1, "%s", gai_strerror(ret_ga));
-+ if (ret_ga) {
-+ if(!quiet_flag)
-+ warnx("%s", gai_strerror(ret_ga));
-+ num_noaddress++;
-+ return;
-+ }
- if (res->ai_canonname) hostname = res->ai_canonname;
- else hostname = name;
-- if (!res->ai_addr) errx(1, "getaddrinfo failed");
-- (void)memcpy(&dst, res->ai_addr, sizeof(FPING_SOCKADDR)); /*res->ai_addrlen);*/
-+ if (!res->ai_addr) {
-+ if(!quiet_flag)
-+ warnx("getaddrinfo failed");
-+ num_noaddress++;
-+ return;
-+ }
-+ len = res->ai_addrlen;
-+ if (len > sizeof(FPING_SOCKADDR)) len = sizeof(FPING_SOCKADDR);
-+ (void)memcpy(&dst, res->ai_addr, len);
- add_addr(name, name, &dst);
- #endif
- } /* add_name() */
-@@ -2730,9 +2830,11 @@
- fprintf( stderr, " (in looping and counting modes, default %d)\n", perhost_interval / 100 );
- fprintf( stderr, " -q quiet (don't show per-target/per-ping results)\n" );
- fprintf( stderr, " -Q n same as -q, but show summary every n seconds\n" );
-- fprintf( stderr, " -r n number of retries (default %d)\n", retry );
-+ fprintf( stderr, " -r n number of retries (default %d)\n", DEFAULT_RETRY );
- fprintf( stderr, " -s print final stats\n" );
-+ fprintf( stderr, " -S addr set source address\n" );
- fprintf( stderr, " -t n individual target initial timeout (in millisec) (default %d)\n", timeout / 100 );
-+ fprintf( stderr, " -T n set select timeout (default %d)\n", select_time / 100 );
- fprintf( stderr, " -u show targets that are unreachable\n" );
- fprintf( stderr, " -v show version\n" );
- fprintf( stderr, " targets list of targets to check (if no -f specified)\n" );
---- fping-2.4b2-to-ipv6.orig/debian/fping.docs
-+++ fping-2.4b2-to-ipv6/debian/fping.docs
-@@ -0,0 +1 @@
-+README
---- fping-2.4b2-to-ipv6.orig/debian/lintian.overrides
-+++ fping-2.4b2-to-ipv6/debian/lintian.overrides
-@@ -0,0 +1 @@
-+fping: setuid-binary
---- fping-2.4b2-to-ipv6.orig/debian/fping.dirs
-+++ fping-2.4b2-to-ipv6/debian/fping.dirs
-@@ -0,0 +1,4 @@
-+usr/bin
-+usr/sbin
-+usr/share/man/man8
-+usr/share/lintian/overrides
---- fping-2.4b2-to-ipv6.orig/debian/copyright
-+++ fping-2.4b2-to-ipv6/debian/copyright
-@@ -0,0 +1,33 @@
-+This package was split from netstd by Herbert Xu herbert@debian.org on
-+Sat, 30 Oct 1999 16:39:06 +1000.
-+
-+It is maintained by Anibal Monsalve Salazar <anibal@debian.org>.
-+
-+netstd was created by Peter Tobias tobias@et-inf.fho-emden.de on
-+Wed, 20 Jul 1994 17:23:21 +0200.
-+
-+It was downloaded from http://www.fping.com/.
-+
-+Copyright:
-+
-+Upstream maintainer: David Papp <david@remote.net>
-+Original author: Roland Schemers <schemers@stanford.edu>
-+IPv6 Support: Jeroen Massar <jeroen@unfix.org / jeroen@ipng.nl>
-+
-+
-+Copyright (c) 1992, 1994, 1997
-+Board of Trustees
-+Leland Stanford Jr. University
-+
-+Redistribution and use in source and binary forms are permitted provided
-+that the above copyright notice and this paragraph are duplicated in all
-+such forms and that any documentation, advertising materials, and other
-+materials related to such distribution and use acknowledge that the software
-+was developed by Stanford University. The name of the University may not
-+be used to endorse or promote products derived from this software without
-+specific prior written permission.
-+
-+THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
-+WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
-+MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-+
---- fping-2.4b2-to-ipv6.orig/debian/control
-+++ fping-2.4b2-to-ipv6/debian/control
-@@ -0,0 +1,20 @@
-+Source: fping
-+Section: net
-+Priority: optional
-+Maintainer: Anibal Monsalve Salazar <anibal@debian.org>
-+Standards-Version: 3.8.0
-+Build-Depends: debhelper (>= 5)
-+Homepage: http://fping.sourceforge.net/
-+
-+Package: fping
-+Architecture: any
-+Depends: ${shlibs:Depends}, ${misc:Depends}
-+Conflicts: suidmanager (<< 0.50)
-+Replaces: netstd
-+Description: sends ICMP ECHO_REQUEST packets to network hosts
-+ fping is a ping like program which uses the Internet Control Message Protocol
-+ (ICMP) echo request to determine if a target host is responding. fping
-+ differs from ping in that you can specify any number of targets on the command
-+ line, or specify a file containing the lists of targets to ping. Instead of
-+ sending to one target until it times out or replies, fping will send out a
-+ ping packet and move on to the next target in a round-robin fashion.
---- fping-2.4b2-to-ipv6.orig/debian/rules
-+++ fping-2.4b2-to-ipv6/debian/rules
-@@ -0,0 +1,78 @@
-+#!/usr/bin/make -f
-+# GNU copyright 1997 to 1999 by Joey Hess.
-+# Copyright (c) 1999 Herbert Xu <herbert@debian.org>
-+# Copyright (c) 2004-2005 Anibal Monsalve Salazar <anibal@debian.org>
-+
-+# Uncomment this to turn on verbose mode.
-+export DH_VERBOSE=1
-+
-+configure: configure-stamp
-+configure-stamp:
-+ dh_testdir
-+
-+ mkdir build build/ipv4 build/ipv6
-+ cp -a $$(find * -maxdepth 0 ! -name build) build
-+ cd build/ipv4; ../configure
-+ cd build/ipv6; ../configure
-+
-+ touch configure-stamp
-+
-+build: build-stamp
-+build-stamp: configure-stamp
-+ dh_testdir
-+
-+ $(MAKE) -C build/ipv4
-+ $(MAKE) -C build/ipv6 CFLAGS='-g -O2 -DIPV6=1'
-+
-+ touch build-stamp
-+
-+clean:
-+ dh_testdir
-+ dh_testroot
-+
-+ rm -rf build build-stamp configure-stamp
-+
-+ dh_clean
-+
-+install: build
-+ dh_testdir
-+ dh_testroot
-+ dh_clean -k
-+ dh_installdirs
-+
-+ install build/ipv4/fping debian/fping/usr/bin
-+ install build/ipv6/fping debian/fping/usr/bin/fping6
-+ cp fping.8 debian/fping/usr/share/man/man8
-+ ln -s fping.8 debian/fping/usr/share/man/man8/fping6.8
-+
-+ install -g 0 -o 0 -m 644 -p debian/lintian.overrides debian/fping/usr/share/lintian/overrides/fping
-+
-+ touch install-stamp
-+
-+# Build architecture-independent files here.
-+binary-indep: build install
-+# We have nothing to do by default.
-+
-+# Build architecture-dependent files here.
-+binary-arch: build install
-+ dh_testdir
-+ dh_testroot
-+ dh_installdocs
-+ dh_installexamples
-+ dh_installmenu
-+ dh_installcron
-+ dh_installinfo
-+ dh_installchangelogs ChangeLog
-+ dh_link
-+ dh_strip
-+ dh_compress
-+ dh_fixperms
-+ chmod 4755 debian/fping/usr/bin/fping*
-+ dh_installdeb
-+ dh_shlibdeps
-+ dh_gencontrol
-+ dh_md5sums
-+ dh_builddeb
-+
-+binary: binary-indep binary-arch
-+.PHONY: build clean configure binary-indep binary-arch binary install
---- fping-2.4b2-to-ipv6.orig/debian/compat
-+++ fping-2.4b2-to-ipv6/debian/compat
-@@ -0,0 +1 @@
-+5
---- fping-2.4b2-to-ipv6.orig/debian/changelog
-+++ fping-2.4b2-to-ipv6/debian/changelog
-@@ -0,0 +1,174 @@
-+fping (2.4b2-to-ipv6-16.1) unstable; urgency=low
-+
-+ * NMU during Moenchengladbach BSP
-+ * Fixes FTBFS on kfreebsd (Closes: #555398)
-+ * Fixes typo "Paramter" in binary
-+
-+ -- Axel Beckert <abe@deuxchevaux.org> Sat, 23 Jan 2010 16:22:02 +0100
-+
-+fping (2.4b2-to-ipv6-16) unstable; urgency=low
-+
-+ * Fix the following bugs
-+ - Network byte order sensitivity was missing completely.
-+ Added hopefully all missing calls.
-+ - The sequence numbering scheme used led to packet drops.
-+ Changed it to a more senseful numbering scheme.
-+ - Some minor C programming mistakes ('=' instead of '==').
-+ Patch by Stephan Fuhrmann; closes: #502569
-+ * Add support for command line select timeout setting
-+ Patch by Marton Balint; closes: #502575
-+ * Remove symlinks in /usr/sbin; closes: #377732
-+ * Standards-Version is 3.8.0
-+
-+ -- Anibal Monsalve Salazar <anibal@debian.org> Sat, 18 Oct 2008 12:04:52 +1100
-+
-+fping (2.4b2-to-ipv6-15) unstable; urgency=low
-+
-+ * Added interface binding (-I) for fping
-+ Patch by Peter Naulls <peter@mushroomnetworks.com>
-+ Closes: #439014
-+ * Fixed a couple of typos in fping.8. Closes: #423180
-+ * Added homepage control header
-+ * Bumped Standards-Version to 3.7.3
-+ * Fixed the following lintian issue:
-+ - debian-rules-sets-DH_COMPAT
-+
-+ -- Anibal Monsalve Salazar <anibal@debian.org> Mon, 03 Mar 2008 17:46:17 +1100
-+
-+fping (2.4b2-to-ipv6-14) unstable; urgency=low
-+
-+ * Set Standards-Version to 3.7.2.
-+ * Set DH_COMPAT to 5.
-+
-+ -- Anibal Monsalve Salazar <anibal@debian.org> Fri, 23 Jun 2006 20:56:39 +1000
-+
-+fping (2.4b2-to-ipv6-13) unstable; urgency=low
-+
-+ * Fixed stdout flush problem, closes: #340146.
-+ Patch by Bart Martens <bart.martens@advalvas.be>.
-+
-+ -- Anibal Monsalve Salazar <anibal@debian.org> Fri, 30 Dec 2005 08:30:09 +1100
-+
-+fping (2.4b2-to-ipv6-12) unstable; urgency=low
-+
-+ * Fixed "problem with option -r (retry limit)", closes: #318402.
-+ Patch by Qingning Huo <qingningh@lanware.co.uk>.
-+ * Set Standards-Version to 3.6.2 in debian/control and DH_COMPAT
-+ to 4 in debian/rules..
-+
-+ -- Anibal Monsalve Salazar <anibal@debian.org> Sat, 08 Oct 2005 21:26:35 +1000
-+
-+fping (2.4b2-to-ipv6-11) unstable; urgency=low
-+
-+ * Fixed "would be useful to specify 'source address' like ping for multi
-+ homed machines", closes: #198486.
-+ Patch by Marc Haber <mh+debian-bugs@zugschlus.de>.
-+
-+ -- Anibal Monsalve Salazar <anibal@debian.org> Thu, 02 Jun 2005 08:14:54 +1000
-+
-+fping (2.4b2-to-ipv6-10) unstable; urgency=low
-+
-+ * Fixed "unnecessary delay with the -c option after the last packet"
-+ (Closes: #293856). Patch by Niko Tyni <ntyni@iki.fi>
-+ * New maintainer's email address.
-+
-+ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 06 Feb 2005 23:25:57 +1100
-+
-+fping (2.4b2-to-ipv6-9) unstable; urgency=low
-+
-+ * Fixed "fping6 always does reverse lookup" (Closes: #273647).
-+ Patch by Jeroen Massar and forwarded by Bernhard Schmidt <berni@birkenwald.de>
-+
-+ -- Anibal Monsalve Salazar <A.Monsalve.Salazar@IEEE.org> Mon, 10 Jan 2005 00:01:32 +1100
-+
-+fping (2.4b2-to-ipv6-8) unstable; urgency=low
-+
-+ * New maintainer.
-+
-+ -- Anibal Monsalve Salazar <A.Monsalve.Salazar@IEEE.org> Thu, 20 May 2004 09:42:08 +1000
-+
-+fping (2.4b2-to-ipv6-7) unstable; urgency=low
-+
-+ * Build fping in build/ipv[46] instead of build and build-ipv6.
-+ * Made DNS errors non-fatal for IPv6 (closes: #198056).
-+
-+ -- Herbert Xu <herbert@debian.org> Fri, 20 Jun 2003 21:36:30 +1000
-+
-+fping (2.4b2-to-ipv6-6) unstable; urgency=low
-+
-+ * Do not use incorrect linux.h file (closes: #85468).
-+
-+ -- Herbert Xu <herbert@debian.org> Sat, 17 May 2003 14:13:11 +1000
-+
-+fping (2.4b2-to-ipv6-5) unstable; urgency=low
-+
-+ * Fixed yet another divide by zero bug (closes: #148445).
-+
-+ -- Herbert Xu <herbert@debian.org> Tue, 4 Jun 2002 12:18:03 +1000
-+
-+fping (2.4b2-to-ipv6-4) unstable; urgency=low
-+
-+ * Made fping6 setuid (closes: #136386).
-+ * Moved fping back into bin.
-+ * Partially applied IPv6 patch to fix IPv6 checksums (closes: #136479).
-+
-+ -- Herbert Xu <herbert@debian.org> Sun, 7 Apr 2002 20:36:56 +1000
-+
-+fping (2.4b2-to-ipv6-3) unstable; urgency=low
-+
-+ * Added compatibility symlink for fping (closes: #135203).
-+
-+ -- Herbert Xu <herbert@debian.org> Sat, 23 Feb 2002 08:34:11 +1100
-+
-+fping (2.4b2-to-ipv6-2) unstable; urgency=low
-+
-+ * Turned setuid bit on again since the code before dropping privilegs is
-+ minimal.
-+ * Fixed another divide by zero error (closes: #132370).
-+
-+ -- Herbert Xu <herbert@debian.org> Thu, 7 Feb 2002 20:10:48 +1100
-+
-+fping (2.4b2-to-ipv6-1) unstable; urgency=low
-+
-+ * New upstream release.
-+ * Install fping into sbin as done by upstream.
-+ * Turned setuid bit off.
-+
-+ -- Herbert Xu <herbert@debian.org> Fri, 1 Feb 2002 22:11:59 +1100
-+
-+fping (2.2b2-3) unstable; urgency=low
-+
-+ * Removed INSTALL file from package (closes: #84050).
-+ * Fixed alignment bug.
-+
-+ -- Herbert Xu <herbert@debian.org> Sat, 10 Feb 2001 19:25:18 +1100
-+
-+fping (2.2b2-2) unstable; urgency=low
-+
-+ * Made changes for dpkg-statoverride (closes: #83838).
-+
-+ -- Herbert Xu <herbert@debian.org> Sun, 28 Jan 2001 21:53:05 +1100
-+
-+fping (2.2b2-1) unstable; urgency=low
-+
-+ * New upstream release.
-+ * Fixed typo that prevented -d from working (closes: #83255).
-+ * Drop root privileges after opening the socket (closes: #81589).
-+ * Fixed the options [tip], they were out by a factor of 10
-+ (Richard Kettlewell, closes: #83742).
-+
-+ -- Herbert Xu <herbert@debian.org> Sun, 28 Jan 2001 00:09:41 +1100
-+
-+fping (2.2b1-2) unstable; urgency=low
-+
-+ * Fixed typo in control file, spotted by William Ono (closes: #49909).
-+
-+ -- Herbert Xu <herbert@debian.org> Mon, 15 May 2000 12:27:03 +1000
-+
-+fping (2.2b1-1) unstable; urgency=low
-+
-+ * Initial release.
-+ * Fixed divide by zero error (closes: #29902).
-+
-+ -- Herbert Xu <herbert@debian.org> Sat, 30 Oct 1999 16:36:19 +1000
-+
diff --git a/extra/gegl/0.1.6-ffmpeg.patch b/extra/gegl/0.1.6-ffmpeg.patch
deleted file mode 100644
index 51fb95d28..000000000
--- a/extra/gegl/0.1.6-ffmpeg.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -urN gegl-0.1.6.old//operations/external/ff-load.c gegl-0.1.6/operations/external/ff-load.c
---- gegl-0.1.6.old//operations/external/ff-load.c 2011-01-24 19:03:30.000000000 -0300
-+++ gegl-0.1.6/operations/external/ff-load.c 2011-05-04 09:59:48.910379742 -0300
-@@ -69,17 +69,17 @@
- {
- switch (err)
- {
-- case AVERROR_NUMEXPECTED:
-+ case AVERROR(EDOM):
- g_warning ("%s: Incorrect image filename syntax.\n"
- "Use '%%d' to specify the image number:\n"
- " for img1.jpg, img2.jpg, ..., use 'img%%d.jpg';\n"
- " for img001.jpg, img002.jpg, ..., use 'img%%03d.jpg'.\n",
- filename);
- break;
-- case AVERROR_INVALIDDATA:
-+ case AVERROR(EINVAL):
- g_warning ("%s: Error while parsing header\n", filename);
- break;
-- case AVERROR_NOFMT:
-+ case AVERROR(EILSEQ):
- g_warning ("%s: Unknown format\n", filename);
- break;
- default:
-@@ -278,7 +278,7 @@
- for (i = 0; i< p->ic->nb_streams; i++)
- {
- AVCodecContext *c = p->ic->streams[i]->codec;
-- if (c->codec_type == CODEC_TYPE_VIDEO)
-+ if (c->codec_type == AVMEDIA_TYPE_VIDEO)
- {
- p->video_st = p->ic->streams[i];
- p->video_stream = i;
diff --git a/extra/gnutls/PKGBUILD b/extra/gnutls/PKGBUILD
index fd78701e2..2ff030e69 100644
--- a/extra/gnutls/PKGBUILD
+++ b/extra/gnutls/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 146077 2012-01-05 09:04:51Z andyrtr $
+# $Id: PKGBUILD 146275 2012-01-07 21:32:08Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gnutls
-pkgver=3.0.10
+pkgver=3.0.11
pkgrel=1
pkgdesc="A library which provides a secure layer over a reliable transport layer"
arch=('i686' 'x86_64' 'mips64el')
@@ -13,7 +13,7 @@ options=('!libtool' '!zipman')
depends=('gcc-libs' 'libtasn1' 'readline' 'zlib' 'nettle>=2.4' 'p11-kit')
[ "$CARCH" = "mips64el" ] || makedepends=('valgrind')
source=(ftp://ftp.gnu.org/gnu/gnutls/${pkgname}-${pkgver}.tar.xz)
-md5sums=('6d92a1e154833a70a21e771f41e5c512')
+md5sums=('ca3370b39f7910538a0d6c02bec7a142')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
@@ -21,7 +21,7 @@ build() {
--with-zlib \
--disable-static \
--disable-guile \
- --disable-valgrind-tests # x86_64 test are all passed. some fail in i686 chroot
+ --enable-valgrind-tests # x86_64 test are all passed. some fail in i686 chroot
make
}
diff --git a/extra/gtk3/filechooserdefault_do_not_unref_value_twice.patch b/extra/gtk3/filechooserdefault_do_not_unref_value_twice.patch
deleted file mode 100644
index 3a0f8320e..000000000
--- a/extra/gtk3/filechooserdefault_do_not_unref_value_twice.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From aca43f43be3886f1a0befda0178ebb94ea2cf7b1 Mon Sep 17 00:00:00 2001
-From: Benjamin Otte <otte@redhat.com>
-Date: Tue, 29 Nov 2011 19:39:21 +0000
-Subject: filechooserdefault: Don't unref value twice
-
-Double unref was introduced in eb02dacb370e8b4e6ef62328d0c09673b1234b32
-
-https://bugzilla.gnome.org/show_bug.cgi?id=646461
-https://bugzilla.gnome.org/show_bug.cgi?id=664137
----
-diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c
-index e33b91e..a74aacc 100644
---- a/gtk/gtkfilechooserdefault.c
-+++ b/gtk/gtkfilechooserdefault.c
-@@ -10127,7 +10127,6 @@ list_row_activated (GtkTreeView *tree_view,
- if (is_folder && file)
- {
- change_folder_and_display_error (impl, file, FALSE);
-- g_object_unref (file);
- goto out;
- }
-
---
-cgit v0.9.0.2
diff --git a/extra/gtk3/moveresize.patch b/extra/gtk3/moveresize.patch
deleted file mode 100644
index a2795fcc8..000000000
--- a/extra/gtk3/moveresize.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 89c90ed193331d2ee96f323e10aaafd4366f4b0e Mon Sep 17 00:00:00 2001
-From: Matthias Clasen <mclasen@redhat.com>
-Date: Sat, 10 Dec 2011 02:21:09 +0000
-Subject: Fix move-resize emulation with XI2
-
-https://bugzilla.gnome.org/show_bug.cgi?id=650943
----
-diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
-index 1ff816e..d48927f 100644
---- a/gdk/x11/gdkwindow-x11.c
-+++ b/gdk/x11/gdkwindow-x11.c
-@@ -4296,6 +4296,33 @@ _gdk_x11_moveresize_handle_event (XEvent *event)
- if (event->xbutton.button == mv_resize->moveresize_button)
- finish_drag (mv_resize);
- break;
-+
-+#ifdef HAVE_XGENERICEVENTS
-+ case GenericEvent:
-+ {
-+ /* we just assume this is an XI2 event */
-+ XIEvent *ev = (XIEvent *) event->xcookie.data;
-+ XIDeviceEvent *xev = (XIDeviceEvent *)ev;
-+ gint state;
-+ switch (ev->evtype)
-+ {
-+ case XI_Motion:
-+ update_pos (mv_resize, xev->root_x, xev->root_y);
-+ state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
-+ if ((state & button_mask) == 0)
-+ finish_drag (mv_resize);
-+ break;
-+
-+ case XI_ButtonRelease:
-+ update_pos (mv_resize, xev->root_x, xev->root_y);
-+ if (xev->detail == mv_resize->moveresize_button)
-+ finish_drag (mv_resize);
-+ break;
-+ }
-+ }
-+ break;
-+#endif
-+
- }
- return TRUE;
- }
---
-cgit v0.9.0.2
diff --git a/extra/hplip/PKGBUILD b/extra/hplip/PKGBUILD
deleted file mode 100644
index badee29f3..000000000
--- a/extra/hplip/PKGBUILD
+++ /dev/null
@@ -1,68 +0,0 @@
-# $Id: PKGBUILD 144358 2011-12-05 03:45:19Z eric $
-# Maintainer : Rémy Oudompheng <remy@archlinux.org>
-# Contributor: Morgan LEFIEUX <comete@archlinuxfr.org>
-
-pkgname=hplip
-pkgver=3.11.10
-pkgrel=2
-pkgdesc="Drivers for HP DeskJet, OfficeJet, Photosmart, Business Inkjet and some LaserJet"
-arch=('i686' 'x86_64' 'mips64el')
-url="http://hplipopensource.com"
-license=('GPL')
-depends=('python2' 'ghostscript>=8.64-6' 'foomatic-db' 'foomatic-db-engine'
- 'net-snmp>=5.7.1')
-makedepends=('python2-qt' 'python2-gobject2' 'sane' 'rpcbind' 'cups')
-optdepends=('cups: for printing support'
- 'dbus-python: for dbus support'
- 'sane: for scanner support'
- 'python-imaging: for commandline scanning support'
- 'python-notify: for Desktop notification support'
- 'rpcbind: for network support'
- 'python2-qt: for running hp-toolbox'
- 'python2-gobject2: for running hp-toolbox'
- 'hplip-plugin: binary blobs for specific devices')
-replaces=('hpijs')
-options=('!libtool')
-install=hplip.install
-source=(http://downloads.sourceforge.net/${pkgname}/$pkgname-$pkgver.tar.gz{,.asc})
-md5sums=('6143f30f3b6905ef22105176a3b80db0'
- '396bbd8c5cc92aa8295e5bcb508692f3')
-
-build() {
- cd "$srcdir/$pkgname-$pkgver"
- export PYTHON=python2
- find . -type f -exec sed -i 's~^#.*env python~#!/usr/bin/env python2~' {} +
- sed -i '1s|#!/usr/bin/python|#!/usr/bin/python2|' base/magic.py
- sed -i 's|python ./print.py|python2 ./print.py|' scan.py
- sed -i 's|python ./testpage.py|python2 ./testpage.py|' setup.py
- sed -i 's|python ./setup.py|python2 ./setup.py|' ui4/devmgr5.py ui4/nodevicesdialog.py
- sed -i 's|python %HOME%|python2 %HOME%|' base/utils.py
- sed -i 's|python ./plugin.py|python2 ./plugin.py|' base/pkit.py
-
- # fix sysfs rules
- sed -i -e "s|SYSFS|ATTR|g" \
- -e "s|sysfs|attr|g" \
- data/rules/56-hpmud_support.rules
-
- ./configure --prefix=/usr \
- --enable-qt4 \
- --enable-foomatic-rip-hplip-install \
- --enable-foomatic-ppd-install \
- --enable-hpcups-install \
- --enable-new-hpcups \
- --enable-cups-ppd-install \
- --enable-cups-drv-install \
- --enable-hpijs-install \
- --enable-foomatic-drv-install \
- --enable-pp-build \
- --enable-udev-acl-rules
-
- make
-}
-
-package() {
- cd "$srcdir/$pkgname-$pkgver"
- make rulesdir=/lib/udev/rules.d DESTDIR="$pkgdir/" install
- # remove config provided by sane and autostart of hp-daemon
- rm -rf "$pkgdir"/etc/{sane.d,xdg}
-}
diff --git a/extra/hplip/hplip.install b/extra/hplip/hplip.install
deleted file mode 100644
index cb0eaf8e8..000000000
--- a/extra/hplip/hplip.install
+++ /dev/null
@@ -1,10 +0,0 @@
-post_install() {
- cat << EOF
-
-NOTE
-----
-# If you want to use this driver with sane:
-# echo "hpaio" >> /etc/sane.d/dll.conf
-
-EOF
-}
diff --git a/extra/icedtea-web-java7/icedtea-web-1.1.4-npapi-fix.patch b/extra/icedtea-web-java7/icedtea-web-1.1.4-npapi-fix.patch
deleted file mode 100644
index 79ca0a6c0..000000000
--- a/extra/icedtea-web-java7/icedtea-web-1.1.4-npapi-fix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up ./plugin/icedteanp/IcedTeaNPPlugin.cc.sav ./plugin/icedteanp/IcedTeaNPPlugin.cc
---- ./plugin/icedteanp/IcedTeaNPPlugin.cc.sav 2011-11-08 17:27:29.046520865 -0500
-+++ ./plugin/icedteanp/IcedTeaNPPlugin.cc 2011-11-08 17:27:40.469611421 -0500
-@@ -2262,7 +2262,7 @@ NP_Initialize (NPNetscapeFuncs* browserT
-
- // Returns a string describing the MIME type that this plugin
- // handles.
--char*
-+const char*
- NP_GetMIMEDescription ()
- {
- PLUGIN_DEBUG ("NP_GetMIMEDescription\n");
diff --git a/extra/icedtea-web/icedtea-web-1.1.4-npapi-fix.patch b/extra/icedtea-web/icedtea-web-1.1.4-npapi-fix.patch
deleted file mode 100644
index 79ca0a6c0..000000000
--- a/extra/icedtea-web/icedtea-web-1.1.4-npapi-fix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up ./plugin/icedteanp/IcedTeaNPPlugin.cc.sav ./plugin/icedteanp/IcedTeaNPPlugin.cc
---- ./plugin/icedteanp/IcedTeaNPPlugin.cc.sav 2011-11-08 17:27:29.046520865 -0500
-+++ ./plugin/icedteanp/IcedTeaNPPlugin.cc 2011-11-08 17:27:40.469611421 -0500
-@@ -2262,7 +2262,7 @@ NP_Initialize (NPNetscapeFuncs* browserT
-
- // Returns a string describing the MIME type that this plugin
- // handles.
--char*
-+const char*
- NP_GetMIMEDescription ()
- {
- PLUGIN_DEBUG ("NP_GetMIMEDescription\n");
diff --git a/extra/kdebase-workspace/kdm-zsh-profile.patch b/extra/kdebase-workspace/kdm-zsh-profile.patch
deleted file mode 100644
index 779456b39..000000000
--- a/extra/kdebase-workspace/kdm-zsh-profile.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- kdm/kfrontend/genkdmconf.c 2008-02-13 09:40:49.000000000 +0000
-+++ kdm/kfrontend/genkdmconf.c 2008-05-16 12:47:36.000000000 +0000
-@@ -662,7 +662,7 @@
- " [ -d /etc/zsh ] && zdir=/etc/zsh || zdir=/etc\n"
- " zhome=${ZDOTDIR:-$HOME}\n"
- " # zshenv is always sourced automatically.\n"
--" [ -f $zdir/zprofile ] && . $zdir/zprofile\n"
-+" [ -f /etc/profile ] && . /etc/profile\n"
- " [ -f $zhome/.zprofile ] && . $zhome/.zprofile\n"
- " [ -f $zdir/zlogin ] && . $zdir/zlogin\n"
- " [ -f $zhome/.zlogin ] && . $zhome/.zlogin\n"
diff --git a/extra/kile/PKGBUILD b/extra/kile/PKGBUILD
deleted file mode 100644
index 7be9788fd..000000000
--- a/extra/kile/PKGBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# $Id: PKGBUILD 135613 2011-08-16 16:22:12Z andrea $
-# Maintainer: Ronald van Haren <ronald.archlinux.org>
-# Contributor: Damir Perisa <damir.perisa@bluewin.ch>
-
-pkgname=kile
-pkgver=2.1
-pkgrel=2
-pkgdesc="A user friendly TeX/LaTeX frontend for KDE"
-arch=("i686" "x86_64" 'mips64el')
-license=('GPL2')
-url="http://kile.sourceforge.net/"
-depends=('kdebase-runtime' 'texlive-core' 'kdebase-kwrite')
-makedepends=('cmake' 'automoc4')
-install=${pkgname}.install
-source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2")
-sha1sums=('860ac96b68b6026f48b8a9c401c6024ba78e3cdf')
-
-build() {
- cd "${srcdir}"
- mkdir build
- cd build
- cmake ../${pkgname}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr
- make
-}
-
-package() {
- cd "${srcdir}"/build
- make DESTDIR="${pkgdir}" install
-}
diff --git a/extra/kile/kile.install b/extra/kile/kile.install
deleted file mode 100644
index 9fe93eeac..000000000
--- a/extra/kile/kile.install
+++ /dev/null
@@ -1,13 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-mime-database usr/share/mime &> /dev/null
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/extra/libdrm/list.h b/extra/libdrm/list.h
deleted file mode 100644
index 305c903e1..000000000
--- a/extra/libdrm/list.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- *
- * Copyright 2006 Tungsten Graphics, Inc., Bismarck, ND. USA.
- * All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
- * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM,
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
- * USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- */
-
-/**
- * \file
- * List macros heavily inspired by the Linux kernel
- * list handling. No list looping yet.
- *
- * Is not threadsafe, so common operations need to
- * be protected using an external mutex.
- */
-#ifndef _U_DOUBLE_LIST_H_
-#define _U_DOUBLE_LIST_H_
-
-#include <stddef.h>
-
-struct list_head
-{
- struct list_head *prev;
- struct list_head *next;
-};
-
-static void list_inithead(struct list_head *item)
-{
- item->prev = item;
- item->next = item;
-}
-
-static void list_add(struct list_head *item, struct list_head *list)
-{
- item->prev = list;
- item->next = list->next;
- list->next->prev = item;
- list->next = item;
-}
-
-static void list_addtail(struct list_head *item, struct list_head *list)
-{
- item->next = list;
- item->prev = list->prev;
- list->prev->next = item;
- list->prev = item;
-}
-
-static void list_replace(struct list_head *from, struct list_head *to)
-{
- to->prev = from->prev;
- to->next = from->next;
- from->next->prev = to;
- from->prev->next = to;
-}
-
-static void list_del(struct list_head *item)
-{
- item->prev->next = item->next;
- item->next->prev = item->prev;
-}
-
-static void list_delinit(struct list_head *item)
-{
- item->prev->next = item->next;
- item->next->prev = item->prev;
- item->next = item;
- item->prev = item;
-}
-
-#define LIST_INITHEAD(__item) list_inithead(__item)
-#define LIST_ADD(__item, __list) list_add(__item, __list)
-#define LIST_ADDTAIL(__item, __list) list_addtail(__item, __list)
-#define LIST_REPLACE(__from, __to) list_replace(__from, __to)
-#define LIST_DEL(__item) list_del(__item)
-#define LIST_DELINIT(__item) list_delinit(__item)
-
-#define LIST_ENTRY(__type, __item, __field) \
- ((__type *)(((char *)(__item)) - offsetof(__type, __field)))
-
-#define LIST_IS_EMPTY(__list) \
- ((__list)->next == (__list))
-
-#ifndef container_of
-#define container_of(ptr, sample, member) \
- (void *)((char *)(ptr) \
- - ((char *)&(sample)->member - (char *)(sample)))
-#endif
-
-#define LIST_FOR_EACH_ENTRY(pos, head, member) \
- for (pos = container_of((head)->next, pos, member); \
- &pos->member != (head); \
- pos = container_of(pos->member.next, pos, member))
-
-#define LIST_FOR_EACH_ENTRY_SAFE(pos, storage, head, member) \
- for (pos = container_of((head)->next, pos, member), \
- storage = container_of(pos->member.next, pos, member); \
- &pos->member != (head); \
- pos = storage, storage = container_of(storage->member.next, storage, member))
-
-#define LIST_FOR_EACH_ENTRY_SAFE_REV(pos, storage, head, member) \
- for (pos = container_of((head)->prev, pos, member), \
- storage = container_of(pos->member.prev, pos, member); \
- &pos->member != (head); \
- pos = storage, storage = container_of(storage->member.prev, storage, member))
-
-#define LIST_FOR_EACH_ENTRY_FROM(pos, start, head, member) \
- for (pos = container_of((start), pos, member); \
- &pos->member != (head); \
- pos = container_of(pos->member.next, pos, member))
-
-#define LIST_FOR_EACH_ENTRY_FROM_REV(pos, start, head, member) \
- for (pos = container_of((start), pos, member); \
- &pos->member != (head); \
- pos = container_of(pos->member.prev, pos, member))
-
-#endif /*_U_DOUBLE_LIST_H_*/
diff --git a/extra/libdrm/rbo.h b/extra/libdrm/rbo.h
deleted file mode 100644
index c25c73a4c..000000000
--- a/extra/libdrm/rbo.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright © 2011 Red Hat
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * Authors:
- * Jerome Glisse <j.glisse@gmail.com>
- */
-#ifndef RBO_H
-#define RBO_H
-
-#include "list.h"
-
-struct rbo {
- struct list_head list;
- int fd;
- unsigned refcount;
- unsigned mapcount;
- unsigned handle;
- unsigned size;
- unsigned alignment;
- void *data;
-};
-
-struct rbo *rbo(int fd, unsigned handle, unsigned size,
- unsigned alignment, void *ptr);
-int rbo_map(struct rbo *bo);
-void rbo_unmap(struct rbo *bo);
-struct rbo *rbo_incref(struct rbo *bo);
-struct rbo *rbo_decref(struct rbo *bo);
-int rbo_wait(struct rbo *bo);
-
-#endif
diff --git a/extra/libgsf/libgsf-gnome.install b/extra/libgsf/libgsf-gnome.install
deleted file mode 100644
index 60f62ff35..000000000
--- a/extra/libgsf/libgsf-gnome.install
+++ /dev/null
@@ -1,19 +0,0 @@
-pkgname=libgsf-gnome
-
-post_install() {
- usr/sbin/gconfpkg --install ${pkgname}
-}
-
-pre_upgrade() {
- pre_remove $1
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then
- usr/sbin/gconfpkg --uninstall ${pkgname}
- fi
-}
diff --git a/extra/llvm/bug-9869-operator-h-c++0x.patch b/extra/llvm/bug-9869-operator-h-c++0x.patch
deleted file mode 100644
index b95d7d772..000000000
--- a/extra/llvm/bug-9869-operator-h-c++0x.patch
+++ /dev/null
@@ -1,57 +0,0 @@
---- llvm/trunk/include/llvm/Operator.h 2011/02/07 16:40:21 125006
-+++ llvm/trunk/include/llvm/Operator.h 2011/05/08 01:59:22 131062
-@@ -186,28 +186,46 @@
- };
-
- class AddOperator
-- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Add> {};
-+ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Add> {
-+ ~AddOperator(); // DO NOT IMPLEMENT
-+};
- class SubOperator
-- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Sub> {};
-+ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Sub> {
-+ ~SubOperator(); // DO NOT IMPLEMENT
-+};
- class MulOperator
-- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Mul> {};
-+ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Mul> {
-+ ~MulOperator(); // DO NOT IMPLEMENT
-+};
- class ShlOperator
-- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Shl> {};
-+ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Shl> {
-+ ~ShlOperator(); // DO NOT IMPLEMENT
-+};
-
-
- class SDivOperator
-- : public ConcreteOperator<PossiblyExactOperator, Instruction::SDiv> {};
-+ : public ConcreteOperator<PossiblyExactOperator, Instruction::SDiv> {
-+ ~SDivOperator(); // DO NOT IMPLEMENT
-+};
- class UDivOperator
-- : public ConcreteOperator<PossiblyExactOperator, Instruction::UDiv> {};
-+ : public ConcreteOperator<PossiblyExactOperator, Instruction::UDiv> {
-+ ~UDivOperator(); // DO NOT IMPLEMENT
-+};
- class AShrOperator
-- : public ConcreteOperator<PossiblyExactOperator, Instruction::AShr> {};
-+ : public ConcreteOperator<PossiblyExactOperator, Instruction::AShr> {
-+ ~AShrOperator(); // DO NOT IMPLEMENT
-+};
- class LShrOperator
-- : public ConcreteOperator<PossiblyExactOperator, Instruction::LShr> {};
-+ : public ConcreteOperator<PossiblyExactOperator, Instruction::LShr> {
-+ ~LShrOperator(); // DO NOT IMPLEMENT
-+};
-
-
-
- class GEPOperator
- : public ConcreteOperator<Operator, Instruction::GetElementPtr> {
-+ ~GEPOperator(); // DO NOT IMPLEMENT
-+
- enum {
- IsInBounds = (1 << 0)
- };
diff --git a/extra/llvm/clang-toolchains-gcc-versions.patch b/extra/llvm/clang-toolchains-gcc-versions.patch
deleted file mode 100644
index 7624842a8..000000000
--- a/extra/llvm/clang-toolchains-gcc-versions.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -upr clang-2.9.orig/lib/Driver/ToolChains.cpp clang-2.9/lib/Driver/ToolChains.cpp
---- clang-2.9.orig/lib/Driver/ToolChains.cpp 2011-03-21 23:29:27.000000000 +0200
-+++ clang-2.9/lib/Driver/ToolChains.cpp 2011-04-08 00:03:34.000000000 +0300
-@@ -1449,7 +1449,7 @@ Linux::Linux(const HostInfo &Host, const
- GccTriple = "i586-suse-linux";
- }
-
-- const char* GccVersions[] = {"4.5.2", "4.5.1", "4.5", "4.4.5", "4.4.4",
-+ const char* GccVersions[] = {"4.6.2", "4.5.2", "4.5.1", "4.5", "4.4.5", "4.4.4",
- "4.4.3", "4.4", "4.3.4", "4.3.3", "4.3.2",
- "4.3", "4.2.4", "4.2.3", "4.2.2", "4.2.1",
- "4.2"};
diff --git a/extra/mediastreamer/disable-v4l1.patch b/extra/mediastreamer/disable-v4l1.patch
deleted file mode 100644
index 9f6cb84d4..000000000
--- a/extra/mediastreamer/disable-v4l1.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -wbBur linphone-3.4.3/mediastreamer2/src/Makefile.am linphone-3.4.3.my/mediastreamer2/src/Makefile.am
---- linphone-3.4.3/mediastreamer2/src/Makefile.am 2011-02-09 08:43:11.000000000 +0000
-+++ linphone-3.4.3.my/mediastreamer2/src/Makefile.am 2011-04-01 14:54:04.000000000 +0000
-@@ -117,7 +117,7 @@
- endif
-
- if BUILD_V4L
--libmediastreamer_la_SOURCES+=msv4l.c msv4l2.c
-+libmediastreamer_la_SOURCES+=msv4l2.c
- endif
-
- if BUILD_WIN32
-diff -wbBur linphone-3.4.3/mediastreamer2/src/Makefile.in linphone-3.4.3.my/mediastreamer2/src/Makefile.in
---- linphone-3.4.3/mediastreamer2/src/Makefile.in 2011-03-28 18:34:07.000000000 +0000
-+++ linphone-3.4.3.my/mediastreamer2/src/Makefile.in 2011-04-01 14:55:00.000000000 +0000
-@@ -54,7 +54,7 @@
- @BUILD_MACAQSND_TRUE@am__append_12 = aqsnd.c
- @BUILD_PULSEAUDIO_TRUE@am__append_13 = pulseaudio.c
- @BUILD_MACOSX_TRUE@@BUILD_VIDEO_TRUE@am__append_14 = msv4m.m
--@BUILD_V4L_TRUE@@BUILD_VIDEO_TRUE@am__append_15 = msv4l.c msv4l2.c
-+@BUILD_V4L_TRUE@@BUILD_VIDEO_TRUE@am__append_15 = msv4l2.c
- @BUILD_VIDEO_TRUE@@BUILD_WIN32_TRUE@am__append_16 = msdscap-mingw.cc drawdib-display.c
- @BUILD_THEORA_TRUE@@BUILD_VIDEO_TRUE@am__append_17 = theora.c
- @BUILD_FFMPEG_TRUE@@BUILD_VIDEO_TRUE@am__append_18 = videoenc.c \
-@@ -135,7 +135,7 @@
- audiostream.c msspeex.c speexec.c gsm.c winsnd3.c \
- msfileplayer_win.c msfilerec_win.c msfileplayer.c msfilerec.c \
- msresample.c alsa.c oss.c arts.c pasnd.c macsnd.c msiounit.c \
-- aqsnd.c pulseaudio.c msv4m.m msv4l.c msv4l2.c msdscap-mingw.cc \
-+ aqsnd.c pulseaudio.c msv4m.m msv4l2.c msdscap-mingw.cc \
- drawdib-display.c theora.c videoenc.c videodec.c pixconv.c \
- sizeconv.c nowebcam.c nowebcam.h swscale.h ffmpeg-priv.h \
- h264dec.c jpegwriter.c videoout.c x11video.c rfc2429.h \
-@@ -156,7 +156,7 @@
- @BUILD_MACAQSND_TRUE@am__objects_12 = aqsnd.lo
- @BUILD_PULSEAUDIO_TRUE@am__objects_13 = pulseaudio.lo
- @BUILD_MACOSX_TRUE@@BUILD_VIDEO_TRUE@am__objects_14 = msv4m.lo
--@BUILD_V4L_TRUE@@BUILD_VIDEO_TRUE@am__objects_15 = msv4l.lo msv4l2.lo
-+@BUILD_V4L_TRUE@@BUILD_VIDEO_TRUE@am__objects_15 = msv4l2.lo
- @BUILD_VIDEO_TRUE@@BUILD_WIN32_TRUE@am__objects_16 = msdscap-mingw.lo \
- @BUILD_VIDEO_TRUE@@BUILD_WIN32_TRUE@ drawdib-display.lo
- @BUILD_THEORA_TRUE@@BUILD_VIDEO_TRUE@am__objects_17 = theora.lo
-@@ -600,7 +600,6 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mssndcard.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msspeex.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msticker.Plo@am__quote@
--@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msv4l.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msv4l2.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msv4m.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msvideo.Plo@am__quote@
diff --git a/extra/monodevelop-debugger-mdb/PKGBUILD b/extra/monodevelop-debugger-mdb/PKGBUILD
deleted file mode 100644
index 23e4c6fa2..000000000
--- a/extra/monodevelop-debugger-mdb/PKGBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Maintainer: Daniel Isenmann <daniel@archlinux.org>
-# Contributor: Artyom Smirnov <smirnoffjr@gmail.com>
-
-pkgname=monodevelop-debugger-mdb
-pkgver=2.4
-pkgrel=1
-pkgdesc="Mono Debugger support"
-arch=('i686' 'x86_64' 'mips64el')
-url="http://monodevelop.com"
-license=('GPL')
-depends=('monodevelop' 'mono-debugger>=2.6.3')
-makedepends=('mono>=2.6.3')
-source=(http://ftp.novell.com/pub/mono/sources/$pkgname/$pkgname-$pkgver.tar.bz2
- support_mdb_2.4.2.patch)
-
-build() {
- export MONO_SHARED_DIR="${srcdir}/.wabi"
- mkdir -p "${MONO_SHARED_DIR}"
-
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- #patch -p1 <"${srcdir}/support_mdb_2.4.2.patch" || return 1
-
- ./configure --prefix=/usr
- make || return 1
- make DESTDIR="${pkgdir}" install
-}
-
-md5sums=('b2a51036d55fef42f391adf23e6c5c2c'
- '95a4f34728950af4a1040761435a4dbf')
diff --git a/extra/monodevelop-debugger-mdb/support_mdb_2.4.2.patch b/extra/monodevelop-debugger-mdb/support_mdb_2.4.2.patch
deleted file mode 100644
index 164aa8071..000000000
--- a/extra/monodevelop-debugger-mdb/support_mdb_2.4.2.patch
+++ /dev/null
@@ -1,444 +0,0 @@
-
-Index: monodevelop-debugger-mdb/Mono.Debugging.Backend.Mdb/IDebuggerServer.cs
-===================================================================
---- monodevelop-debugger-mdb.orig/Mono.Debugging.Backend.Mdb/IDebuggerServer.cs 2009-07-01 09:23:09.000000000 +0100
-+++ monodevelop-debugger-mdb/Mono.Debugging.Backend.Mdb/IDebuggerServer.cs 2009-07-01 09:25:21.000000000 +0100
-@@ -32,6 +32,8 @@
- {
- public interface IDebuggerServer
- {
-+ string InitializeMdb (string mdbVersion);
-+
- void Run (DebuggerStartInfo startInfo);
-
- void Stop ();
-Index: monodevelop-debugger-mdb/Mono.Debugging.Backend.Mdb/MonoDebuggerSession.cs
-===================================================================
---- monodevelop-debugger-mdb.orig/Mono.Debugging.Backend.Mdb/MonoDebuggerSession.cs 2009-07-01 09:23:18.000000000 +0100
-+++ monodevelop-debugger-mdb/Mono.Debugging.Backend.Mdb/MonoDebuggerSession.cs 2009-07-01 09:25:21.000000000 +0100
-@@ -37,11 +37,13 @@
- public class MonoDebuggerSession: DebuggerSession
- {
- DebuggerController controller;
-+ static string detectedMdbVersion;
-
- public void StartDebugger ()
- {
- controller = new DebuggerController (this, Frontend);
- controller.StartDebugger ();
-+ InitMdbVersion ();
- }
-
- public override void Dispose ()
-@@ -54,6 +56,12 @@
- {
- controller.DebuggerServer.Run (startInfo);
- }
-+
-+ void InitMdbVersion ()
-+ {
-+ // Cache detected mdb versions, so version detection is done only once
-+ detectedMdbVersion = controller.DebuggerServer.InitializeMdb (detectedMdbVersion);
-+ }
-
- protected override void OnAttachToProcess (int processId)
- {
-Index: monodevelop-debugger-mdb/Mono.Debugging.Server.Mdb/DebuggerServer.cs
-===================================================================
---- monodevelop-debugger-mdb.orig/Mono.Debugging.Server.Mdb/DebuggerServer.cs 2009-07-01 09:24:51.000000000 +0100
-+++ monodevelop-debugger-mdb/Mono.Debugging.Server.Mdb/DebuggerServer.cs 2009-07-01 09:25:21.000000000 +0100
-@@ -39,6 +39,7 @@
- Dictionary<int, ST.WaitCallback> breakUpdates = new Dictionary<int,ST.WaitCallback> ();
- bool breakUpdateEventsQueued;
-
-+ MdbAdaptor mdbAdaptor;
- AsyncEvaluationTracker asyncEvaluationTracker;
- RuntimeInvokeManager invokeManager;
-
-@@ -51,6 +52,7 @@
- public DebuggerServer (IDebuggerController dc)
- {
- this.controller = dc;
-+
- MarshalByRefObject mbr = (MarshalByRefObject)controller;
- ILease lease = mbr.GetLifetimeService() as ILease;
- lease.Register(this);
-@@ -79,8 +81,18 @@
- }
- }
-
-+ public MdbAdaptor MdbAdaptor {
-+ get { return mdbAdaptor; }
-+ }
-+
- #region IDebugger Members
-
-+ public string InitializeMdb (string mdbVersion)
-+ {
-+ mdbAdaptor = MdbAdaptorFactory.CreateAdaptor (mdbVersion);
-+ return mdbAdaptor.MdbVersion;
-+ }
-+
- public void Run (DL.DebuggerStartInfo startInfo)
- {
- try {
-@@ -91,6 +103,7 @@
-
- DebuggerConfiguration config = new DebuggerConfiguration ();
- config.LoadConfiguration ();
-+ mdbAdaptor.InitializeConfiguration (config);
- debugger = new MD.Debugger (config);
-
- debugger.ModuleLoadedEvent += OnModuleLoadedEvent;
-Index: monodevelop-debugger-mdb/Mono.Debugging.Server.Mdb/Makefile
-===================================================================
---- monodevelop-debugger-mdb.orig/Mono.Debugging.Server.Mdb/Makefile 2009-07-01 09:24:35.000000000 +0100
-+++ monodevelop-debugger-mdb/Mono.Debugging.Server.Mdb/Makefile 2009-07-01 09:25:21.000000000 +0100
-@@ -59,6 +59,8 @@
- ICollectionAdaptor.cs \
- IndexerValueReference.cs \
- LiteralValueReference.cs \
-+ MdbAdaptor.cs \
-+ MdbAdaptorFactory.cs \
- NamespaceValueReference.cs \
- NRefactoryEvaluator.cs \
- NullValueReference.cs \
-@@ -77,7 +79,9 @@
-
- DATA_FILES =
-
--RESOURCES =
-+RESOURCES = \
-+ MdbAdaptor-2-0.cs \
-+ MdbAdaptor-2-4-2.cs
-
- EXTRAS = \
- ChangeLog
-Index: monodevelop-debugger-mdb/Mono.Debugging.Server.Mdb/MdbAdaptor-2-0.cs
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ monodevelop-debugger-mdb/Mono.Debugging.Server.Mdb/MdbAdaptor-2-0.cs 2009-07-01 09:25:21.000000000 +0100
-@@ -0,0 +1,40 @@
-+//
-+// MdbAdaptor_2_0.cs
-+//
-+// Author:
-+// Lluis Sanchez Gual <lluis@novell.com>
-+//
-+// Copyright (c) 2009 Novell, Inc (http://www.novell.com)
-+//
-+// Permission is hereby granted, free of charge, to any person obtaining a copy
-+// of this software and associated documentation files (the "Software"), to deal
-+// in the Software without restriction, including without limitation the rights
-+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-+// copies of the Software, and to permit persons to whom the Software is
-+// furnished to do so, subject to the following conditions:
-+//
-+// The above copyright notice and this permission notice shall be included in
-+// all copies or substantial portions of the Software.
-+//
-+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-+// THE SOFTWARE.
-+
-+using System;
-+
-+namespace DebuggerServer
-+{
-+ public class MdbAdaptor_2_0: MdbAdaptor
-+ {
-+ public override void AbortThread (Mono.Debugger.Thread thread, Mono.Debugger.RuntimeInvokeResult result)
-+ {
-+ result.Abort ();
-+ result.CompletedEvent.WaitOne ();
-+ thread.AbortInvocation ();
-+ }
-+ }
-+}
-Index: monodevelop-debugger-mdb/Mono.Debugging.Server.Mdb/MdbAdaptor-2-4-2.cs
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ monodevelop-debugger-mdb/Mono.Debugging.Server.Mdb/MdbAdaptor-2-4-2.cs 2009-07-01 09:25:21.000000000 +0100
-@@ -0,0 +1,51 @@
-+//
-+// MdbAdaptor22.cs
-+//
-+// Author:
-+// Lluis Sanchez Gual <lluis@novell.com>
-+//
-+// Copyright (c) 2009 Novell, Inc (http://www.novell.com)
-+//
-+// Permission is hereby granted, free of charge, to any person obtaining a copy
-+// of this software and associated documentation files (the "Software"), to deal
-+// in the Software without restriction, including without limitation the rights
-+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-+// copies of the Software, and to permit persons to whom the Software is
-+// furnished to do so, subject to the following conditions:
-+//
-+// The above copyright notice and this permission notice shall be included in
-+// all copies or substantial portions of the Software.
-+//
-+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-+// THE SOFTWARE.
-+
-+using System;
-+using Mono.Debugger;
-+
-+namespace DebuggerServer
-+{
-+ public class MdbAdaptor_2_4_2: MdbAdaptor
-+ {
-+ public override void SetupXsp (DebuggerConfiguration config)
-+ {
-+ config.SetupXSP ();
-+ config.StopOnManagedSignals = true;
-+ }
-+
-+ public override void InitializeConfiguration (Mono.Debugger.DebuggerConfiguration config)
-+ {
-+ base.InitializeConfiguration (config);
-+ config.RedirectOutput = true;
-+ }
-+
-+ public override void AbortThread (Mono.Debugger.Thread thread, Mono.Debugger.RuntimeInvokeResult result)
-+ {
-+ result.Abort ();
-+ }
-+ }
-+}
-Index: monodevelop-debugger-mdb/Mono.Debugging.Server.Mdb/MdbAdaptor.cs
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ monodevelop-debugger-mdb/Mono.Debugging.Server.Mdb/MdbAdaptor.cs 2009-07-01 09:25:21.000000000 +0100
-@@ -0,0 +1,62 @@
-+//
-+// MdbAdaptor.cs
-+//
-+// Author:
-+// Lluis Sanchez Gual <lluis@novell.com>
-+//
-+// Copyright (c) 2009 Novell, Inc (http://www.novell.com)
-+//
-+// Permission is hereby granted, free of charge, to any person obtaining a copy
-+// of this software and associated documentation files (the "Software"), to deal
-+// in the Software without restriction, including without limitation the rights
-+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-+// copies of the Software, and to permit persons to whom the Software is
-+// furnished to do so, subject to the following conditions:
-+//
-+// The above copyright notice and this permission notice shall be included in
-+// all copies or substantial portions of the Software.
-+//
-+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-+// THE SOFTWARE.
-+
-+using System;
-+using MDB=Mono.Debugger;
-+using Mono.Debugging.Backend.Mdb;
-+
-+namespace DebuggerServer
-+{
-+ public abstract class MdbAdaptor
-+ {
-+ public MdbAdaptor ()
-+ {
-+ MdbVersion = "2.0";
-+ }
-+
-+ public string MdbVersion { get; internal set; }
-+
-+ public virtual void SetupXsp (MDB.DebuggerConfiguration config)
-+ {
-+ ThrowNotSupported ("ASP.NET debugging not supported");
-+ }
-+
-+ public virtual void InitializeBreakpoint (MDB.SourceBreakpoint bp)
-+ {
-+ }
-+
-+ public virtual void InitializeConfiguration (MDB.DebuggerConfiguration config)
-+ {
-+ }
-+
-+ public abstract void AbortThread (MDB.Thread thread, MDB.RuntimeInvokeResult result);
-+
-+ public void ThrowNotSupported (string feature)
-+ {
-+ throw new InvalidOperationException (feature + ". You need to install a more recent Mono Debugger version.");
-+ }
-+ }
-+}
-Index: monodevelop-debugger-mdb/Mono.Debugging.Server.Mdb/MdbAdaptorFactory.cs
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ monodevelop-debugger-mdb/Mono.Debugging.Server.Mdb/MdbAdaptorFactory.cs 2009-07-01 09:25:21.000000000 +0100
-@@ -0,0 +1,128 @@
-+//
-+// MdbAdaptorFactory.cs
-+//
-+// Author:
-+// Lluis Sanchez Gual <lluis@novell.com>
-+//
-+// Copyright (c) 2009 Novell, Inc (http://www.novell.com)
-+//
-+// Permission is hereby granted, free of charge, to any person obtaining a copy
-+// of this software and associated documentation files (the "Software"), to deal
-+// in the Software without restriction, including without limitation the rights
-+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-+// copies of the Software, and to permit persons to whom the Software is
-+// furnished to do so, subject to the following conditions:
-+//
-+// The above copyright notice and this permission notice shall be included in
-+// all copies or substantial portions of the Software.
-+//
-+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-+// THE SOFTWARE.
-+
-+using System;
-+using System.Reflection;
-+using System.Diagnostics;
-+using System.IO;
-+
-+namespace DebuggerServer
-+{
-+ public static class MdbAdaptorFactory
-+ {
-+ // Bump this version number if any change is in MdbAdaptor or subclases
-+ const int ApiVersion = 2;
-+
-+ static readonly string[] supportedVersions = new string[] {"2-4-2", "2-0"};
-+
-+ public static MdbAdaptor CreateAdaptor (string mdbVersion)
-+ {
-+ ProcessStartInfo pinfo = new ProcessStartInfo ();
-+ pinfo.FileName = "gmcs";
-+
-+ if (mdbVersion != null) {
-+ MdbAdaptor mdb = TryCreateAdaptor (pinfo, mdbVersion);
-+ if (mdb == null)
-+ throw new InvalidOperationException ("Unsupported MDB version");
-+ return mdb;
-+ }
-+
-+ foreach (string v in supportedVersions) {
-+ MdbAdaptor mdb = TryCreateAdaptor (pinfo, v);
-+ if (mdb != null)
-+ return mdb;
-+ }
-+ throw new InvalidOperationException ("Unsupported MDB version");
-+ }
-+
-+ static MdbAdaptor TryCreateAdaptor (ProcessStartInfo pinfo, string versions)
-+ {
-+ string[] versionsArray = versions.Split ('|');
-+ string version = versionsArray [0];
-+
-+ string tmpPath = Path.GetTempPath ();
-+ tmpPath = Path.Combine (tmpPath, "monodevelop-debugger-mdb");
-+ if (!Directory.Exists (tmpPath))
-+ Directory.CreateDirectory (tmpPath);
-+
-+ string outFile = Path.Combine (tmpPath, "adaptor-" + ApiVersion + "--" + version + ".dll");
-+
-+ string[] refAssemblies = new string [] {
-+ typeof(MdbAdaptorFactory).Assembly.Location,
-+ typeof(Mono.Debugger.Debugger).Assembly.Location,
-+ typeof(Mono.Debugging.Client.DebuggerSession).Assembly.Location,
-+ typeof(Mono.Debugging.Backend.Mdb.IDebuggerServer).Assembly.Location
-+ };
-+
-+ DateTime refsTime = DateTime.MinValue;
-+ foreach (string rasm in refAssemblies) {
-+ DateTime t = File.GetLastWriteTime (rasm);
-+ if (t > refsTime)
-+ refsTime = t;
-+ }
-+
-+ if (!File.Exists (outFile) || File.GetLastWriteTime (outFile) < refsTime) {
-+ string args = "/t:library ";
-+ args += "\"/out:" + outFile + "\" ";
-+ foreach (string rasm in refAssemblies)
-+ args += "\"/r:" + rasm + "\" ";
-+
-+ // Write the source code for all required classes
-+ foreach (string ver in versionsArray) {
-+ Stream s = typeof(MdbAdaptorFactory).Assembly.GetManifestResourceStream ("MdbAdaptor-" + ver + ".cs");
-+ StreamReader sr = new StreamReader (s);
-+ string txt = sr.ReadToEnd ();
-+ sr.Close ();
-+ s.Close ();
-+
-+ string csfile = Path.Combine (tmpPath, "adaptor-" + ver + ".cs");
-+ File.WriteAllText (csfile, txt);
-+ args += "\"" + csfile + "\" ";
-+ }
-+
-+ pinfo.Arguments = args;
-+ Process proc = Process.Start (pinfo);
-+ proc.WaitForExit ();
-+ if (proc.ExitCode != 0)
-+ return null;
-+ Console.WriteLine ("Generated: " + outFile);
-+ }
-+
-+ Assembly asm = Assembly.LoadFrom (outFile);
-+ Type at = asm.GetType ("DebuggerServer.MdbAdaptor_" + version.Replace ('-','_'));
-+ if (at != null) {
-+ try {
-+ MdbAdaptor a = (MdbAdaptor) Activator.CreateInstance (at);
-+ a.MdbVersion = version;
-+ return a;
-+ } catch {
-+ // MDB version not really supported
-+ }
-+ }
-+ return null;
-+ }
-+ }
-+}
-Index: monodevelop-debugger-mdb/Mono.Debugging.Server.Mdb/RuntimeInvokeManager.cs
-===================================================================
---- monodevelop-debugger-mdb.orig/Mono.Debugging.Server.Mdb/RuntimeInvokeManager.cs 2009-07-01 09:24:00.000000000 +0100
-+++ monodevelop-debugger-mdb/Mono.Debugging.Server.Mdb/RuntimeInvokeManager.cs 2009-07-01 09:25:21.000000000 +0100
-@@ -52,9 +52,7 @@
- lock (operationsToCancel) {
- if (!aborted) {
- aborted = true;
-- res.Abort ();
-- res.CompletedEvent.WaitOne ();
-- ctx.Thread.AbortInvocation ();
-+ Server.Instance.MdbAdaptor.AbortThread (ctx.Thread, res);
- WaitToStop (ctx.Thread);
- }
- }
-@@ -73,9 +71,7 @@
- }
- else
- aborted = true;
-- res.Abort ();
-- res.CompletedEvent.WaitOne ();
-- ctx.Thread.AbortInvocation ();
-+ Server.Instance.MdbAdaptor.AbortThread (ctx.Thread, res);
- WaitToStop (ctx.Thread);
- throw new TimeOutException ();
- }
-
diff --git a/extra/nss/distrust-diginotar.patch b/extra/nss/distrust-diginotar.patch
deleted file mode 100644
index 60c63fc68..000000000
--- a/extra/nss/distrust-diginotar.patch
+++ /dev/null
@@ -1,1675 +0,0 @@
-Index: security/nss/lib/ckfw/builtins/certdata.c
-===================================================================
-RCS file: /cvsroot/mozilla/security/nss/lib/ckfw/builtins/certdata.c,v
-retrieving revision 1.67.2.10
-retrieving revision 1.67.2.11
-diff -u -r1.67.2.10 -r1.67.2.11
---- security/nss/lib/ckfw/builtins/certdata.c 1 Aug 2011 06:40:03 -0000 1.67.2.10
-+++ security/nss/lib/ckfw/builtins/certdata.c 30 Aug 2011 20:04:39 -0000 1.67.2.11
-@@ -35,7 +35,7 @@
- *
- * ***** END LICENSE BLOCK ***** */
- #ifdef DEBUG
--static const char CVS_ID[] = "@(#) $RCSfile: certdata.c,v $ $Revision: 1.67.2.10 $ $Date: 2011/08/01 06:40:03 $""; @(#) $RCSfile: certdata.c,v $ $Revision: 1.67.2.10 $ $Date: 2011/08/01 06:40:03 $";
-+static const char CVS_ID[] = "@(#) $RCSfile: certdata.c,v $ $Revision: 1.67.2.11 $ $Date: 2011/08/30 20:04:39 $""; @(#) $RCSfile: certdata.c,v $ $Revision: 1.67.2.11 $ $Date: 2011/08/30 20:04:39 $";
- #endif /* DEBUG */
-
- #ifndef BUILTINS_H
-@@ -1039,12 +1039,6 @@
- static const CK_ATTRIBUTE_TYPE nss_builtins_types_327 [] = {
- CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING, CKA_TRUST_STEP_UP_APPROVED
- };
--static const CK_ATTRIBUTE_TYPE nss_builtins_types_328 [] = {
-- CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE
--};
--static const CK_ATTRIBUTE_TYPE nss_builtins_types_329 [] = {
-- CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING, CKA_TRUST_STEP_UP_APPROVED
--};
- #ifdef DEBUG
- static const NSSItem nss_builtins_items_0 [] = {
- { (void *)&cko_data, (PRUint32)sizeof(CK_OBJECT_CLASS) },
-@@ -1053,7 +1047,7 @@
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)"CVS ID", (PRUint32)7 },
- { (void *)"NSS", (PRUint32)4 },
-- { (void *)"@(#) $RCSfile: certdata.c,v $ $Revision: 1.67.2.10 $ $Date: 2011/08/01 06:40:03 $""; @(#) $RCSfile: certdata.c,v $ $Revision: 1.67.2.10 $ $Date: 2011/08/01 06:40:03 $", (PRUint32)164 }
-+ { (void *)"@(#) $RCSfile: certdata.c,v $ $Revision: 1.67.2.11 $ $Date: 2011/08/30 20:04:39 $""; @(#) $RCSfile: certdata.c,v $ $Revision: 1.67.2.11 $ $Date: 2011/08/30 20:04:39 $", (PRUint32)165 }
- };
- #endif /* DEBUG */
- static const NSSItem nss_builtins_items_1 [] = {
-@@ -12506,151 +12500,6 @@
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-- { (void *)"DigiNotar Root CA", (PRUint32)18 },
-- { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) },
-- { (void *)"\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061"
--"\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157"
--"\164\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151"
--"\147\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061"
--"\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021"
--"\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156"
--"\154"
--, (PRUint32)97 },
-- { (void *)"0", (PRUint32)2 },
-- { (void *)"\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061"
--"\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157"
--"\164\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151"
--"\147\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061"
--"\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021"
--"\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156"
--"\154"
--, (PRUint32)97 },
-- { (void *)"\002\020\014\166\332\234\221\014\116\054\236\376\025\320\130\223"
--"\074\114"
--, (PRUint32)18 },
-- { (void *)"\060\202\005\212\060\202\003\162\240\003\002\001\002\002\020\014"
--"\166\332\234\221\014\116\054\236\376\025\320\130\223\074\114\060"
--"\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\137"
--"\061\013\060\011\006\003\125\004\006\023\002\116\114\061\022\060"
--"\020\006\003\125\004\012\023\011\104\151\147\151\116\157\164\141"
--"\162\061\032\060\030\006\003\125\004\003\023\021\104\151\147\151"
--"\116\157\164\141\162\040\122\157\157\164\040\103\101\061\040\060"
--"\036\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156"
--"\146\157\100\144\151\147\151\156\157\164\141\162\056\156\154\060"
--"\036\027\015\060\067\060\065\061\066\061\067\061\071\063\066\132"
--"\027\015\062\065\060\063\063\061\061\070\061\071\062\061\132\060"
--"\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061\022"
--"\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157\164"
--"\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151\147"
--"\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061\040"
--"\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021\151"
--"\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156\154"
--"\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001"
--"\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001"
--"\000\254\260\130\301\000\275\330\041\010\013\053\232\376\156\126"
--"\060\005\237\033\167\220\020\101\134\303\015\207\021\167\216\201"
--"\361\312\174\351\214\152\355\070\164\065\273\332\337\371\273\300"
--"\011\067\264\226\163\201\175\063\032\230\071\367\223\157\225\177"
--"\075\271\261\165\207\272\121\110\350\213\160\076\225\004\305\330"
--"\266\303\026\331\210\260\261\207\035\160\332\206\264\017\024\213"
--"\172\317\020\321\164\066\242\022\173\167\206\112\171\346\173\337"
--"\002\021\150\245\116\206\256\064\130\233\044\023\170\126\042\045"
--"\036\001\213\113\121\161\373\202\314\131\226\151\210\132\150\123"
--"\305\271\015\002\067\313\113\274\146\112\220\176\052\013\005\007"
--"\355\026\137\125\220\165\330\106\311\033\203\342\010\276\361\043"
--"\314\231\035\326\052\017\203\040\025\130\047\202\056\372\342\042"
--"\302\111\261\271\001\201\152\235\155\235\100\167\150\166\116\041"
--"\052\155\204\100\205\116\166\231\174\202\363\363\267\002\131\324"
--"\046\001\033\216\337\255\123\006\321\256\030\335\342\262\072\313"
--"\327\210\070\216\254\133\051\271\031\323\230\371\030\003\317\110"
--"\202\206\146\013\033\151\017\311\353\070\210\172\046\032\005\114"
--"\222\327\044\324\226\362\254\122\055\243\107\325\122\366\077\376"
--"\316\204\006\160\246\252\076\242\362\266\126\064\030\127\242\344"
--"\201\155\347\312\360\152\323\307\221\153\002\203\101\174\025\357"
--"\153\232\144\136\343\320\074\345\261\353\173\135\206\373\313\346"
--"\167\111\315\243\145\334\367\271\234\270\344\013\137\223\317\314"
--"\060\032\062\034\316\034\143\225\245\371\352\341\164\213\236\351"
--"\053\251\060\173\240\030\037\016\030\013\345\133\251\323\321\154"
--"\036\007\147\217\221\113\251\212\274\322\146\252\223\001\210\262"
--"\221\372\061\134\325\246\301\122\010\011\315\012\143\242\323\042"
--"\246\350\241\331\071\006\227\365\156\215\002\220\214\024\173\077"
--"\200\315\033\234\272\304\130\162\043\257\266\126\237\306\172\102"
--"\063\051\007\077\202\311\346\037\005\015\315\114\050\066\213\323"
--"\310\076\034\306\210\357\136\356\211\144\351\035\353\332\211\176"
--"\062\246\151\321\335\314\210\237\321\320\311\146\041\334\006\147"
--"\305\224\172\232\155\142\114\175\314\340\144\200\262\236\107\216"
--"\243\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035"
--"\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125"
--"\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125"
--"\035\016\004\026\004\024\210\150\277\340\216\065\304\073\070\153"
--"\142\367\050\073\204\201\310\014\327\115\060\015\006\011\052\206"
--"\110\206\367\015\001\001\005\005\000\003\202\002\001\000\073\002"
--"\215\313\074\060\350\156\240\255\362\163\263\137\236\045\023\004"
--"\005\323\366\343\213\273\013\171\316\123\336\344\226\305\321\257"
--"\163\274\325\303\320\100\125\174\100\177\315\033\137\011\325\362"
--"\174\237\150\035\273\135\316\172\071\302\214\326\230\173\305\203"
--"\125\250\325\175\100\312\340\036\367\211\136\143\135\241\023\302"
--"\135\212\266\212\174\000\363\043\303\355\205\137\161\166\360\150"
--"\143\252\105\041\071\110\141\170\066\334\361\103\223\324\045\307"
--"\362\200\145\341\123\002\165\121\374\172\072\357\067\253\204\050"
--"\127\014\330\324\324\231\126\154\343\242\376\131\204\264\061\350"
--"\063\370\144\224\224\121\227\253\071\305\113\355\332\335\200\013"
--"\157\174\051\015\304\216\212\162\015\347\123\024\262\140\101\075"
--"\204\221\061\150\075\047\104\333\345\336\364\372\143\105\310\114"
--"\076\230\365\077\101\272\116\313\067\015\272\146\230\361\335\313"
--"\237\134\367\124\066\202\153\054\274\023\141\227\102\370\170\273"
--"\314\310\242\237\312\360\150\275\153\035\262\337\215\157\007\235"
--"\332\216\147\307\107\036\312\271\277\052\102\221\267\143\123\146"
--"\361\102\243\341\364\132\115\130\153\265\344\244\063\255\134\160"
--"\035\334\340\362\353\163\024\221\232\003\301\352\000\145\274\007"
--"\374\317\022\021\042\054\256\240\275\072\340\242\052\330\131\351"
--"\051\323\030\065\244\254\021\137\031\265\265\033\377\042\112\134"
--"\306\172\344\027\357\040\251\247\364\077\255\212\247\232\004\045"
--"\235\016\312\067\346\120\375\214\102\051\004\232\354\271\317\113"
--"\162\275\342\010\066\257\043\057\142\345\312\001\323\160\333\174"
--"\202\043\054\026\061\014\306\066\007\220\172\261\037\147\130\304"
--"\073\130\131\211\260\214\214\120\263\330\206\313\150\243\304\012"
--"\347\151\113\040\316\301\036\126\113\225\251\043\150\330\060\330"
--"\303\353\260\125\121\315\345\375\053\270\365\273\021\237\123\124"
--"\366\064\031\214\171\011\066\312\141\027\045\027\013\202\230\163"
--"\014\167\164\303\325\015\307\250\022\114\307\247\124\161\107\056"
--"\054\032\175\311\343\053\073\110\336\047\204\247\143\066\263\175"
--"\217\240\144\071\044\015\075\173\207\257\146\134\164\033\113\163"
--"\262\345\214\360\206\231\270\345\305\337\204\301\267\353"
--, (PRUint32)1422 }
--};
--static const NSSItem nss_builtins_items_187 [] = {
-- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
-- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
-- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-- { (void *)"DigiNotar Root CA", (PRUint32)18 },
-- { (void *)"\300\140\355\104\313\330\201\275\016\370\154\013\242\207\335\317"
--"\201\147\107\214"
--, (PRUint32)20 },
-- { (void *)"\172\171\124\115\007\222\073\133\377\101\360\016\307\071\242\230"
--, (PRUint32)16 },
-- { (void *)"\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061"
--"\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157"
--"\164\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151"
--"\147\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061"
--"\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021"
--"\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156"
--"\154"
--, (PRUint32)97 },
-- { (void *)"\002\020\014\166\332\234\221\014\116\054\236\376\025\320\130\223"
--"\074\114"
--, (PRUint32)18 },
-- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
-- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
-- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
-- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
--};
--static const NSSItem nss_builtins_items_188 [] = {
-- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
-- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
-- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)"Network Solutions Certificate Authority", (PRUint32)40 },
- { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) },
- { (void *)"\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061"
-@@ -12738,7 +12587,7 @@
- "\244\140\114\260\125\240\240\173\127\262"
- , (PRUint32)1002 }
- };
--static const NSSItem nss_builtins_items_189 [] = {
-+static const NSSItem nss_builtins_items_187 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -12765,7 +12614,7 @@
- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_190 [] = {
-+static const NSSItem nss_builtins_items_188 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -12874,7 +12723,7 @@
- "\333"
- , (PRUint32)1217 }
- };
--static const NSSItem nss_builtins_items_191 [] = {
-+static const NSSItem nss_builtins_items_189 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -12902,7 +12751,7 @@
- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_192 [] = {
-+static const NSSItem nss_builtins_items_190 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -12976,7 +12825,7 @@
- "\334\335\363\377\035\054\072\026\127\331\222\071\326"
- , (PRUint32)653 }
- };
--static const NSSItem nss_builtins_items_193 [] = {
-+static const NSSItem nss_builtins_items_191 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -13005,7 +12854,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_194 [] = {
-+static const NSSItem nss_builtins_items_192 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -13097,7 +12946,7 @@
- "\321\236\164\310\166\147"
- , (PRUint32)1078 }
- };
--static const NSSItem nss_builtins_items_195 [] = {
-+static const NSSItem nss_builtins_items_193 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -13122,7 +12971,7 @@
- { (void *)&ckt_netscape_untrusted, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_196 [] = {
-+static const NSSItem nss_builtins_items_194 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -13219,7 +13068,7 @@
- "\253\205\322\140\126\132"
- , (PRUint32)1030 }
- };
--static const NSSItem nss_builtins_items_197 [] = {
-+static const NSSItem nss_builtins_items_195 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -13247,7 +13096,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_198 [] = {
-+static const NSSItem nss_builtins_items_196 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -13332,7 +13181,7 @@
- "\164"
- , (PRUint32)897 }
- };
--static const NSSItem nss_builtins_items_199 [] = {
-+static const NSSItem nss_builtins_items_197 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -13358,7 +13207,7 @@
- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_200 [] = {
-+static const NSSItem nss_builtins_items_198 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -13455,7 +13304,7 @@
- "\374\276\337\012\015"
- , (PRUint32)1013 }
- };
--static const NSSItem nss_builtins_items_201 [] = {
-+static const NSSItem nss_builtins_items_199 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -13484,7 +13333,7 @@
- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_202 [] = {
-+static const NSSItem nss_builtins_items_200 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -13595,7 +13444,7 @@
- "\241\361\017\033\037\075\236\004\203\335\226\331\035\072\224"
- , (PRUint32)1151 }
- };
--static const NSSItem nss_builtins_items_203 [] = {
-+static const NSSItem nss_builtins_items_201 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -13627,7 +13476,7 @@
- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_204 [] = {
-+static const NSSItem nss_builtins_items_202 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -13781,7 +13630,7 @@
- "\103\307\003\340\067\116\135\012\334\131\040\045"
- , (PRUint32)1964 }
- };
--static const NSSItem nss_builtins_items_205 [] = {
-+static const NSSItem nss_builtins_items_203 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -13809,7 +13658,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_206 [] = {
-+static const NSSItem nss_builtins_items_204 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -13890,7 +13739,7 @@
- "\300\226\130\057\352\273\106\327\273\344\331\056"
- , (PRUint32)940 }
- };
--static const NSSItem nss_builtins_items_207 [] = {
-+static const NSSItem nss_builtins_items_205 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -13913,7 +13762,7 @@
- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_208 [] = {
-+static const NSSItem nss_builtins_items_206 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -14047,7 +13896,7 @@
- "\005\211\374\170\326\134\054\046\103\251"
- , (PRUint32)1642 }
- };
--static const NSSItem nss_builtins_items_209 [] = {
-+static const NSSItem nss_builtins_items_207 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -14075,7 +13924,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_210 [] = {
-+static const NSSItem nss_builtins_items_208 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -14180,7 +14029,7 @@
- "\334\144\047\027\214\132\267\332\164\050\315\227\344\275"
- , (PRUint32)1198 }
- };
--static const NSSItem nss_builtins_items_211 [] = {
-+static const NSSItem nss_builtins_items_209 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -14207,7 +14056,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_212 [] = {
-+static const NSSItem nss_builtins_items_210 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -14312,7 +14161,7 @@
- "\016\121\075\157\373\226\126\200\342\066\027\321\334\344"
- , (PRUint32)1198 }
- };
--static const NSSItem nss_builtins_items_213 [] = {
-+static const NSSItem nss_builtins_items_211 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -14339,7 +14188,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_214 [] = {
-+static const NSSItem nss_builtins_items_212 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -14432,7 +14281,7 @@
- "\230"
- , (PRUint32)993 }
- };
--static const NSSItem nss_builtins_items_215 [] = {
-+static const NSSItem nss_builtins_items_213 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -14459,7 +14308,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_216 [] = {
-+static const NSSItem nss_builtins_items_214 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -14548,7 +14397,7 @@
- "\126\144\127"
- , (PRUint32)931 }
- };
--static const NSSItem nss_builtins_items_217 [] = {
-+static const NSSItem nss_builtins_items_215 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -14575,7 +14424,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_218 [] = {
-+static const NSSItem nss_builtins_items_216 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -14656,7 +14505,7 @@
- "\000\147\240\161\000\202\110"
- , (PRUint32)919 }
- };
--static const NSSItem nss_builtins_items_219 [] = {
-+static const NSSItem nss_builtins_items_217 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -14680,7 +14529,7 @@
- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_220 [] = {
-+static const NSSItem nss_builtins_items_218 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -14762,7 +14611,7 @@
- "\316\145\006\056\135\322\052\123\164\136\323\156\047\236\217"
- , (PRUint32)943 }
- };
--static const NSSItem nss_builtins_items_221 [] = {
-+static const NSSItem nss_builtins_items_219 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -14786,7 +14635,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_222 [] = {
-+static const NSSItem nss_builtins_items_220 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -14867,7 +14716,7 @@
- "\246\210\070\316\125"
- , (PRUint32)933 }
- };
--static const NSSItem nss_builtins_items_223 [] = {
-+static const NSSItem nss_builtins_items_221 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -14890,7 +14739,7 @@
- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_224 [] = {
-+static const NSSItem nss_builtins_items_222 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -15009,7 +14858,7 @@
- "\201\370\021\234"
- , (PRUint32)1460 }
- };
--static const NSSItem nss_builtins_items_225 [] = {
-+static const NSSItem nss_builtins_items_223 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -15035,7 +14884,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_226 [] = {
-+static const NSSItem nss_builtins_items_224 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -15169,7 +15018,7 @@
- "\311\234\220\332\354\251\102\074\255\266\002"
- , (PRUint32)1307 }
- };
--static const NSSItem nss_builtins_items_227 [] = {
-+static const NSSItem nss_builtins_items_225 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -15207,7 +15056,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_228 [] = {
-+static const NSSItem nss_builtins_items_226 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -15285,7 +15134,7 @@
- "\366\324\357\277\114\210\150"
- , (PRUint32)855 }
- };
--static const NSSItem nss_builtins_items_229 [] = {
-+static const NSSItem nss_builtins_items_227 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -15309,7 +15158,7 @@
- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_230 [] = {
-+static const NSSItem nss_builtins_items_228 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -15387,7 +15236,7 @@
- "\246\347\313\100\003\335\171"
- , (PRUint32)855 }
- };
--static const NSSItem nss_builtins_items_231 [] = {
-+static const NSSItem nss_builtins_items_229 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -15411,7 +15260,7 @@
- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_232 [] = {
-+static const NSSItem nss_builtins_items_230 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -15538,7 +15387,7 @@
- "\320\352\111\242\034\215\122\024\246\012\223"
- , (PRUint32)1515 }
- };
--static const NSSItem nss_builtins_items_233 [] = {
-+static const NSSItem nss_builtins_items_231 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -15566,7 +15415,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_234 [] = {
-+static const NSSItem nss_builtins_items_232 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -15640,7 +15489,7 @@
- "\366\356\260\132\116\111\104\124\130\137\102\203"
- , (PRUint32)828 }
- };
--static const NSSItem nss_builtins_items_235 [] = {
-+static const NSSItem nss_builtins_items_233 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -15663,7 +15512,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_236 [] = {
-+static const NSSItem nss_builtins_items_234 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -15739,7 +15588,7 @@
- "\011\333\212\101\202\236\146\233\021"
- , (PRUint32)857 }
- };
--static const NSSItem nss_builtins_items_237 [] = {
-+static const NSSItem nss_builtins_items_235 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -15762,7 +15611,7 @@
- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_238 [] = {
-+static const NSSItem nss_builtins_items_236 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -15845,7 +15694,7 @@
- "\262\033\211\124"
- , (PRUint32)932 }
- };
--static const NSSItem nss_builtins_items_239 [] = {
-+static const NSSItem nss_builtins_items_237 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -15869,7 +15718,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_240 [] = {
-+static const NSSItem nss_builtins_items_238 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -15969,7 +15818,7 @@
- "\021\055"
- , (PRUint32)1026 }
- };
--static const NSSItem nss_builtins_items_241 [] = {
-+static const NSSItem nss_builtins_items_239 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -15999,7 +15848,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_242 [] = {
-+static const NSSItem nss_builtins_items_240 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -16073,7 +15922,7 @@
- "\367\130\077\056\162\002\127\243\217\241\024\056"
- , (PRUint32)652 }
- };
--static const NSSItem nss_builtins_items_243 [] = {
-+static const NSSItem nss_builtins_items_241 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -16102,7 +15951,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_244 [] = {
-+static const NSSItem nss_builtins_items_242 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -16208,7 +16057,7 @@
- "\061\324\100\032\142\064\066\077\065\001\256\254\143\240"
- , (PRUint32)1070 }
- };
--static const NSSItem nss_builtins_items_245 [] = {
-+static const NSSItem nss_builtins_items_243 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -16240,7 +16089,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_246 [] = {
-+static const NSSItem nss_builtins_items_244 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -16319,7 +16168,7 @@
- "\017\212"
- , (PRUint32)690 }
- };
--static const NSSItem nss_builtins_items_247 [] = {
-+static const NSSItem nss_builtins_items_245 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -16349,7 +16198,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_248 [] = {
-+static const NSSItem nss_builtins_items_246 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -16464,7 +16313,7 @@
- "\354\315\202\141\361\070\346\117\227\230\052\132\215"
- , (PRUint32)1213 }
- };
--static const NSSItem nss_builtins_items_249 [] = {
-+static const NSSItem nss_builtins_items_247 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -16496,7 +16345,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_250 [] = {
-+static const NSSItem nss_builtins_items_248 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -16594,7 +16443,7 @@
- "\055\247\330\206\052\335\056\020"
- , (PRUint32)904 }
- };
--static const NSSItem nss_builtins_items_251 [] = {
-+static const NSSItem nss_builtins_items_249 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -16627,7 +16476,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_252 [] = {
-+static const NSSItem nss_builtins_items_250 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -16729,7 +16578,7 @@
- "\330\316\304\143\165\077\131\107\261"
- , (PRUint32)1049 }
- };
--static const NSSItem nss_builtins_items_253 [] = {
-+static const NSSItem nss_builtins_items_251 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -16759,7 +16608,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_254 [] = {
-+static const NSSItem nss_builtins_items_252 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -16878,7 +16727,7 @@
- "\370\161\012\334\271\374\175\062\140\346\353\257\212\001"
- , (PRUint32)1486 }
- };
--static const NSSItem nss_builtins_items_255 [] = {
-+static const NSSItem nss_builtins_items_253 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -16903,7 +16752,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_256 [] = {
-+static const NSSItem nss_builtins_items_254 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -16993,7 +16842,7 @@
- "\315\345\250"
- , (PRUint32)1043 }
- };
--static const NSSItem nss_builtins_items_257 [] = {
-+static const NSSItem nss_builtins_items_255 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -17017,7 +16866,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_258 [] = {
-+static const NSSItem nss_builtins_items_256 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -17122,7 +16971,7 @@
- "\115\273\306\104\333\066\313\052\234\216"
- , (PRUint32)1258 }
- };
--static const NSSItem nss_builtins_items_259 [] = {
-+static const NSSItem nss_builtins_items_257 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -17147,7 +16996,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_260 [] = {
-+static const NSSItem nss_builtins_items_258 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -17223,7 +17072,7 @@
- "\002\153\331\132"
- , (PRUint32)820 }
- };
--static const NSSItem nss_builtins_items_261 [] = {
-+static const NSSItem nss_builtins_items_259 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -17247,7 +17096,7 @@
- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_262 [] = {
-+static const NSSItem nss_builtins_items_260 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -17329,7 +17178,7 @@
- "\362"
- , (PRUint32)881 }
- };
--static const NSSItem nss_builtins_items_263 [] = {
-+static const NSSItem nss_builtins_items_261 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -17354,7 +17203,7 @@
- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_264 [] = {
-+static const NSSItem nss_builtins_items_262 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -17470,7 +17319,7 @@
- "\113\076\053\070\007\125\230\136\244"
- , (PRUint32)1465 }
- };
--static const NSSItem nss_builtins_items_265 [] = {
-+static const NSSItem nss_builtins_items_263 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -17494,7 +17343,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_266 [] = {
-+static const NSSItem nss_builtins_items_264 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -17559,7 +17408,7 @@
- "\375\166\004\333\142\273\220\152\003\331\106\065\331\370\174\133"
- , (PRUint32)576 }
- };
--static const NSSItem nss_builtins_items_267 [] = {
-+static const NSSItem nss_builtins_items_265 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -17586,7 +17435,7 @@
- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_268 [] = {
-+static const NSSItem nss_builtins_items_266 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -17651,7 +17500,7 @@
- "\054\163\031\110\151\116\153\174\145\277\017\374\160\316\210\220"
- , (PRUint32)576 }
- };
--static const NSSItem nss_builtins_items_269 [] = {
-+static const NSSItem nss_builtins_items_267 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -17678,7 +17527,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_270 [] = {
-+static const NSSItem nss_builtins_items_268 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -17775,7 +17624,7 @@
- "\202\042\055\172\124\253\160\303\175\042\145\202\160\226"
- , (PRUint32)1038 }
- };
--static const NSSItem nss_builtins_items_271 [] = {
-+static const NSSItem nss_builtins_items_269 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -17803,7 +17652,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_272 [] = {
-+static const NSSItem nss_builtins_items_270 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -17894,7 +17743,7 @@
- "\336\102\343\055\202\361\017\345\372\227"
- , (PRUint32)954 }
- };
--static const NSSItem nss_builtins_items_273 [] = {
-+static const NSSItem nss_builtins_items_271 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -17922,7 +17771,7 @@
- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_274 [] = {
-+static const NSSItem nss_builtins_items_272 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -18001,7 +17850,7 @@
- "\130\077\137"
- , (PRUint32)867 }
- };
--static const NSSItem nss_builtins_items_275 [] = {
-+static const NSSItem nss_builtins_items_273 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -18025,7 +17874,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_276 [] = {
-+static const NSSItem nss_builtins_items_274 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -18118,7 +17967,7 @@
- "\045\361\224\264\146"
- , (PRUint32)997 }
- };
--static const NSSItem nss_builtins_items_277 [] = {
-+static const NSSItem nss_builtins_items_275 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -18145,7 +17994,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_278 [] = {
-+static const NSSItem nss_builtins_items_276 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -18269,7 +18118,7 @@
- "\156\117\022\176\012\074\235\225"
- , (PRUint32)1560 }
- };
--static const NSSItem nss_builtins_items_279 [] = {
-+static const NSSItem nss_builtins_items_277 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -18294,7 +18143,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_280 [] = {
-+static const NSSItem nss_builtins_items_278 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -18413,7 +18262,7 @@
- "\333\374\046\210\307"
- , (PRUint32)1525 }
- };
--static const NSSItem nss_builtins_items_281 [] = {
-+static const NSSItem nss_builtins_items_279 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -18437,7 +18286,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_282 [] = {
-+static const NSSItem nss_builtins_items_280 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -18593,7 +18442,7 @@
- "\167\110\320"
- , (PRUint32)1875 }
- };
--static const NSSItem nss_builtins_items_283 [] = {
-+static const NSSItem nss_builtins_items_281 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -18624,7 +18473,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_284 [] = {
-+static const NSSItem nss_builtins_items_282 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -18777,7 +18626,7 @@
- "\351\233\256\325\124\300\164\200\321\013\102\237\301"
- , (PRUint32)1869 }
- };
--static const NSSItem nss_builtins_items_285 [] = {
-+static const NSSItem nss_builtins_items_283 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -18807,7 +18656,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_286 [] = {
-+static const NSSItem nss_builtins_items_284 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -18943,7 +18792,7 @@
- "\242\355\264\324\265\145\103\267\223\106\212\323"
- , (PRUint32)1532 }
- };
--static const NSSItem nss_builtins_items_287 [] = {
-+static const NSSItem nss_builtins_items_285 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -18973,7 +18822,7 @@
- { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_288 [] = {
-+static const NSSItem nss_builtins_items_286 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -19124,7 +18973,7 @@
- "\264"
- , (PRUint32)1761 }
- };
--static const NSSItem nss_builtins_items_289 [] = {
-+static const NSSItem nss_builtins_items_287 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -19154,7 +19003,7 @@
- { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_290 [] = {
-+static const NSSItem nss_builtins_items_288 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -19290,7 +19139,7 @@
- "\111\043"
- , (PRUint32)1522 }
- };
--static const NSSItem nss_builtins_items_291 [] = {
-+static const NSSItem nss_builtins_items_289 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -19320,7 +19169,7 @@
- { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_292 [] = {
-+static const NSSItem nss_builtins_items_290 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -19455,7 +19304,7 @@
- "\172\244\047\023\326\117\364\151"
- , (PRUint32)1512 }
- };
--static const NSSItem nss_builtins_items_293 [] = {
-+static const NSSItem nss_builtins_items_291 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -19485,7 +19334,7 @@
- { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_294 [] = {
-+static const NSSItem nss_builtins_items_292 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -19621,7 +19470,7 @@
- "\302\021\254"
- , (PRUint32)1523 }
- };
--static const NSSItem nss_builtins_items_295 [] = {
-+static const NSSItem nss_builtins_items_293 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -19651,7 +19500,7 @@
- { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_296 [] = {
-+static const NSSItem nss_builtins_items_294 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -19787,7 +19636,7 @@
- "\147\024\060"
- , (PRUint32)1523 }
- };
--static const NSSItem nss_builtins_items_297 [] = {
-+static const NSSItem nss_builtins_items_295 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -19817,7 +19666,7 @@
- { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_298 [] = {
-+static const NSSItem nss_builtins_items_296 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -19951,7 +19800,7 @@
- "\217\116\235\306\066\347\134\246\253\022\017\326\317"
- , (PRUint32)1501 }
- };
--static const NSSItem nss_builtins_items_299 [] = {
-+static const NSSItem nss_builtins_items_297 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -19981,7 +19830,7 @@
- { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_300 [] = {
-+static const NSSItem nss_builtins_items_298 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -20115,7 +19964,7 @@
- "\130\113\161\203\237\146\346\254\171\110\376\376\107"
- , (PRUint32)1501 }
- };
--static const NSSItem nss_builtins_items_301 [] = {
-+static const NSSItem nss_builtins_items_299 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -20145,7 +19994,7 @@
- { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_302 [] = {
-+static const NSSItem nss_builtins_items_300 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -20280,7 +20129,7 @@
- "\200\246\202\254\344\154\201\106\273\122\205\040\044\370\200\352"
- , (PRUint32)1520 }
- };
--static const NSSItem nss_builtins_items_303 [] = {
-+static const NSSItem nss_builtins_items_301 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -20310,7 +20159,7 @@
- { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_304 [] = {
-+static const NSSItem nss_builtins_items_302 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -20438,7 +20287,7 @@
- "\154\174\107\306\327\224\021\041\354\326\132\322\335\217\177\221"
- , (PRUint32)1392 }
- };
--static const NSSItem nss_builtins_items_305 [] = {
-+static const NSSItem nss_builtins_items_303 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -20468,7 +20317,7 @@
- { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_306 [] = {
-+static const NSSItem nss_builtins_items_304 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -20561,7 +20410,7 @@
- "\342\342\104\276\134\367\352\034\365"
- , (PRUint32)969 }
- };
--static const NSSItem nss_builtins_items_307 [] = {
-+static const NSSItem nss_builtins_items_305 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -20589,7 +20438,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_308 [] = {
-+static const NSSItem nss_builtins_items_306 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -20686,7 +20535,7 @@
- "\364"
- , (PRUint32)993 }
- };
--static const NSSItem nss_builtins_items_309 [] = {
-+static const NSSItem nss_builtins_items_307 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -20715,7 +20564,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_310 [] = {
-+static const NSSItem nss_builtins_items_308 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -20813,7 +20662,7 @@
- "\261\050\272"
- , (PRUint32)1011 }
- };
--static const NSSItem nss_builtins_items_311 [] = {
-+static const NSSItem nss_builtins_items_309 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -20842,7 +20691,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_312 [] = {
-+static const NSSItem nss_builtins_items_310 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -20919,7 +20768,7 @@
- "\007\072\027\144\265\004\265\043\041\231\012\225\073\227\174\357"
- , (PRUint32)848 }
- };
--static const NSSItem nss_builtins_items_313 [] = {
-+static const NSSItem nss_builtins_items_311 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -20943,7 +20792,7 @@
- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_314 [] = {
-+static const NSSItem nss_builtins_items_312 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -21020,7 +20869,7 @@
- "\355\132\000\124\205\034\026\066\222\014\134\372\246\255\277\333"
- , (PRUint32)848 }
- };
--static const NSSItem nss_builtins_items_315 [] = {
-+static const NSSItem nss_builtins_items_313 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -21044,7 +20893,7 @@
- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_316 [] = {
-+static const NSSItem nss_builtins_items_314 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -21153,7 +21002,7 @@
- "\051\340\266\270\011\150\031\034\030\103"
- , (PRUint32)1354 }
- };
--static const NSSItem nss_builtins_items_317 [] = {
-+static const NSSItem nss_builtins_items_315 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -21177,7 +21026,7 @@
- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_318 [] = {
-+static const NSSItem nss_builtins_items_316 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -21234,7 +21083,7 @@
- "\214\171"
- , (PRUint32)514 }
- };
--static const NSSItem nss_builtins_items_319 [] = {
-+static const NSSItem nss_builtins_items_317 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -21258,7 +21107,7 @@
- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_320 [] = {
-+static const NSSItem nss_builtins_items_318 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -21348,7 +21197,7 @@
- "\326\267\064\365\176\316\071\232\331\070\361\121\367\117\054"
- , (PRUint32)959 }
- };
--static const NSSItem nss_builtins_items_321 [] = {
-+static const NSSItem nss_builtins_items_319 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -21375,7 +21224,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_322 [] = {
-+static const NSSItem nss_builtins_items_320 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -21493,7 +21342,7 @@
- "\377\276\013\166\026\136\067\067\346\330\164\227\242\231\105\171"
- , (PRUint32)1440 }
- };
--static const NSSItem nss_builtins_items_323 [] = {
-+static const NSSItem nss_builtins_items_321 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -21519,7 +21368,7 @@
- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_324 [] = {
-+static const NSSItem nss_builtins_items_322 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -21652,7 +21501,7 @@
- "\304\163\304\163\030\137\120\165\026\061\237\267\350\174\303"
- , (PRUint32)1679 }
- };
--static const NSSItem nss_builtins_items_325 [] = {
-+static const NSSItem nss_builtins_items_323 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -21678,7 +21527,7 @@
- { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_326 [] = {
-+static const NSSItem nss_builtins_items_324 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -21772,7 +21621,7 @@
- "\204\232\315"
- , (PRUint32)979 }
- };
--static const NSSItem nss_builtins_items_327 [] = {
-+static const NSSItem nss_builtins_items_325 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -21800,7 +21649,7 @@
- { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
- };
--static const NSSItem nss_builtins_items_328 [] = {
-+static const NSSItem nss_builtins_items_326 [] = {
- { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -21884,7 +21733,7 @@
- "\274\060\376\173\016\063\220\373\355\322\024\221\037\007\257"
- , (PRUint32)895 }
- };
--static const NSSItem nss_builtins_items_329 [] = {
-+static const NSSItem nss_builtins_items_327 [] = {
- { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
- { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
- { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
-@@ -22242,13 +22091,11 @@
- { 11, nss_builtins_types_324, nss_builtins_items_324, {NULL} },
- { 13, nss_builtins_types_325, nss_builtins_items_325, {NULL} },
- { 11, nss_builtins_types_326, nss_builtins_items_326, {NULL} },
-- { 13, nss_builtins_types_327, nss_builtins_items_327, {NULL} },
-- { 11, nss_builtins_types_328, nss_builtins_items_328, {NULL} },
-- { 13, nss_builtins_types_329, nss_builtins_items_329, {NULL} }
-+ { 13, nss_builtins_types_327, nss_builtins_items_327, {NULL} }
- };
- const PRUint32
- #ifdef DEBUG
-- nss_builtins_nObjects = 329+1;
-+ nss_builtins_nObjects = 327+1;
- #else
-- nss_builtins_nObjects = 329;
-+ nss_builtins_nObjects = 327;
- #endif /* DEBUG */
-Index: security/nss/lib/ckfw/builtins/certdata.txt
-===================================================================
-RCS file: /cvsroot/mozilla/security/nss/lib/ckfw/builtins/certdata.txt,v
-retrieving revision 1.64.2.10
-retrieving revision 1.64.2.11
-diff -u -r1.64.2.10 -r1.64.2.11
---- security/nss/lib/ckfw/builtins/certdata.txt 1 Aug 2011 06:40:04 -0000 1.64.2.10
-+++ security/nss/lib/ckfw/builtins/certdata.txt 30 Aug 2011 20:04:39 -0000 1.64.2.11
-@@ -34,7 +34,7 @@
- # the terms of any one of the MPL, the GPL or the LGPL.
- #
- # ***** END LICENSE BLOCK *****
--CVS_ID "@(#) $RCSfile: certdata.txt,v $ $Revision: 1.64.2.10 $ $Date: 2011/08/01 06:40:04 $"
-+CVS_ID "@(#) $RCSfile: certdata.txt,v $ $Revision: 1.64.2.11 $ $Date: 2011/08/30 20:04:39 $"
-
- #
- # certdata.txt
-@@ -12461,161 +12461,6 @@
- CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
- #
--# Certificate "DigiNotar Root CA"
--#
--CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
--CKA_TOKEN CK_BBOOL CK_TRUE
--CKA_PRIVATE CK_BBOOL CK_FALSE
--CKA_MODIFIABLE CK_BBOOL CK_FALSE
--CKA_LABEL UTF8 "DigiNotar Root CA"
--CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
--CKA_SUBJECT MULTILINE_OCTAL
--\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061
--\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157
--\164\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151
--\147\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061
--\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021
--\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156
--\154
--END
--CKA_ID UTF8 "0"
--CKA_ISSUER MULTILINE_OCTAL
--\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061
--\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157
--\164\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151
--\147\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061
--\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021
--\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156
--\154
--END
--CKA_SERIAL_NUMBER MULTILINE_OCTAL
--\002\020\014\166\332\234\221\014\116\054\236\376\025\320\130\223
--\074\114
--END
--CKA_VALUE MULTILINE_OCTAL
--\060\202\005\212\060\202\003\162\240\003\002\001\002\002\020\014
--\166\332\234\221\014\116\054\236\376\025\320\130\223\074\114\060
--\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\137
--\061\013\060\011\006\003\125\004\006\023\002\116\114\061\022\060
--\020\006\003\125\004\012\023\011\104\151\147\151\116\157\164\141
--\162\061\032\060\030\006\003\125\004\003\023\021\104\151\147\151
--\116\157\164\141\162\040\122\157\157\164\040\103\101\061\040\060
--\036\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156
--\146\157\100\144\151\147\151\156\157\164\141\162\056\156\154\060
--\036\027\015\060\067\060\065\061\066\061\067\061\071\063\066\132
--\027\015\062\065\060\063\063\061\061\070\061\071\062\061\132\060
--\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061\022
--\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157\164
--\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151\147
--\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061\040
--\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021\151
--\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156\154
--\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001
--\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001
--\000\254\260\130\301\000\275\330\041\010\013\053\232\376\156\126
--\060\005\237\033\167\220\020\101\134\303\015\207\021\167\216\201
--\361\312\174\351\214\152\355\070\164\065\273\332\337\371\273\300
--\011\067\264\226\163\201\175\063\032\230\071\367\223\157\225\177
--\075\271\261\165\207\272\121\110\350\213\160\076\225\004\305\330
--\266\303\026\331\210\260\261\207\035\160\332\206\264\017\024\213
--\172\317\020\321\164\066\242\022\173\167\206\112\171\346\173\337
--\002\021\150\245\116\206\256\064\130\233\044\023\170\126\042\045
--\036\001\213\113\121\161\373\202\314\131\226\151\210\132\150\123
--\305\271\015\002\067\313\113\274\146\112\220\176\052\013\005\007
--\355\026\137\125\220\165\330\106\311\033\203\342\010\276\361\043
--\314\231\035\326\052\017\203\040\025\130\047\202\056\372\342\042
--\302\111\261\271\001\201\152\235\155\235\100\167\150\166\116\041
--\052\155\204\100\205\116\166\231\174\202\363\363\267\002\131\324
--\046\001\033\216\337\255\123\006\321\256\030\335\342\262\072\313
--\327\210\070\216\254\133\051\271\031\323\230\371\030\003\317\110
--\202\206\146\013\033\151\017\311\353\070\210\172\046\032\005\114
--\222\327\044\324\226\362\254\122\055\243\107\325\122\366\077\376
--\316\204\006\160\246\252\076\242\362\266\126\064\030\127\242\344
--\201\155\347\312\360\152\323\307\221\153\002\203\101\174\025\357
--\153\232\144\136\343\320\074\345\261\353\173\135\206\373\313\346
--\167\111\315\243\145\334\367\271\234\270\344\013\137\223\317\314
--\060\032\062\034\316\034\143\225\245\371\352\341\164\213\236\351
--\053\251\060\173\240\030\037\016\030\013\345\133\251\323\321\154
--\036\007\147\217\221\113\251\212\274\322\146\252\223\001\210\262
--\221\372\061\134\325\246\301\122\010\011\315\012\143\242\323\042
--\246\350\241\331\071\006\227\365\156\215\002\220\214\024\173\077
--\200\315\033\234\272\304\130\162\043\257\266\126\237\306\172\102
--\063\051\007\077\202\311\346\037\005\015\315\114\050\066\213\323
--\310\076\034\306\210\357\136\356\211\144\351\035\353\332\211\176
--\062\246\151\321\335\314\210\237\321\320\311\146\041\334\006\147
--\305\224\172\232\155\142\114\175\314\340\144\200\262\236\107\216
--\243\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035
--\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125
--\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125
--\035\016\004\026\004\024\210\150\277\340\216\065\304\073\070\153
--\142\367\050\073\204\201\310\014\327\115\060\015\006\011\052\206
--\110\206\367\015\001\001\005\005\000\003\202\002\001\000\073\002
--\215\313\074\060\350\156\240\255\362\163\263\137\236\045\023\004
--\005\323\366\343\213\273\013\171\316\123\336\344\226\305\321\257
--\163\274\325\303\320\100\125\174\100\177\315\033\137\011\325\362
--\174\237\150\035\273\135\316\172\071\302\214\326\230\173\305\203
--\125\250\325\175\100\312\340\036\367\211\136\143\135\241\023\302
--\135\212\266\212\174\000\363\043\303\355\205\137\161\166\360\150
--\143\252\105\041\071\110\141\170\066\334\361\103\223\324\045\307
--\362\200\145\341\123\002\165\121\374\172\072\357\067\253\204\050
--\127\014\330\324\324\231\126\154\343\242\376\131\204\264\061\350
--\063\370\144\224\224\121\227\253\071\305\113\355\332\335\200\013
--\157\174\051\015\304\216\212\162\015\347\123\024\262\140\101\075
--\204\221\061\150\075\047\104\333\345\336\364\372\143\105\310\114
--\076\230\365\077\101\272\116\313\067\015\272\146\230\361\335\313
--\237\134\367\124\066\202\153\054\274\023\141\227\102\370\170\273
--\314\310\242\237\312\360\150\275\153\035\262\337\215\157\007\235
--\332\216\147\307\107\036\312\271\277\052\102\221\267\143\123\146
--\361\102\243\341\364\132\115\130\153\265\344\244\063\255\134\160
--\035\334\340\362\353\163\024\221\232\003\301\352\000\145\274\007
--\374\317\022\021\042\054\256\240\275\072\340\242\052\330\131\351
--\051\323\030\065\244\254\021\137\031\265\265\033\377\042\112\134
--\306\172\344\027\357\040\251\247\364\077\255\212\247\232\004\045
--\235\016\312\067\346\120\375\214\102\051\004\232\354\271\317\113
--\162\275\342\010\066\257\043\057\142\345\312\001\323\160\333\174
--\202\043\054\026\061\014\306\066\007\220\172\261\037\147\130\304
--\073\130\131\211\260\214\214\120\263\330\206\313\150\243\304\012
--\347\151\113\040\316\301\036\126\113\225\251\043\150\330\060\330
--\303\353\260\125\121\315\345\375\053\270\365\273\021\237\123\124
--\366\064\031\214\171\011\066\312\141\027\045\027\013\202\230\163
--\014\167\164\303\325\015\307\250\022\114\307\247\124\161\107\056
--\054\032\175\311\343\053\073\110\336\047\204\247\143\066\263\175
--\217\240\144\071\044\015\075\173\207\257\146\134\164\033\113\163
--\262\345\214\360\206\231\270\345\305\337\204\301\267\353
--END
--
--# Trust for Certificate "DigiNotar Root CA"
--CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST
--CKA_TOKEN CK_BBOOL CK_TRUE
--CKA_PRIVATE CK_BBOOL CK_FALSE
--CKA_MODIFIABLE CK_BBOOL CK_FALSE
--CKA_LABEL UTF8 "DigiNotar Root CA"
--CKA_CERT_SHA1_HASH MULTILINE_OCTAL
--\300\140\355\104\313\330\201\275\016\370\154\013\242\207\335\317
--\201\147\107\214
--END
--CKA_CERT_MD5_HASH MULTILINE_OCTAL
--\172\171\124\115\007\222\073\133\377\101\360\016\307\071\242\230
--END
--CKA_ISSUER MULTILINE_OCTAL
--\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061
--\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157
--\164\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151
--\147\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061
--\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021
--\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156
--\154
--END
--CKA_SERIAL_NUMBER MULTILINE_OCTAL
--\002\020\014\166\332\234\221\014\116\054\236\376\025\320\130\223
--\074\114
--END
--CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR
--CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUST_UNKNOWN
--CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR
--CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
--
--#
- # Certificate "Network Solutions Certificate Authority"
- #
- CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-Index: security/nss/lib/ckfw/builtins/nssckbi.h
-===================================================================
-RCS file: /cvsroot/mozilla/security/nss/lib/ckfw/builtins/nssckbi.h,v
-retrieving revision 1.24.2.5
-retrieving revision 1.24.2.6
-diff -u -r1.24.2.5 -r1.24.2.6
---- security/nss/lib/ckfw/builtins/nssckbi.h 1 Aug 2011 06:40:04 -0000 1.24.2.5
-+++ security/nss/lib/ckfw/builtins/nssckbi.h 30 Aug 2011 20:04:40 -0000 1.24.2.6
-@@ -77,8 +77,8 @@
- * of the comment in the CK_VERSION type definition.
- */
- #define NSS_BUILTINS_LIBRARY_VERSION_MAJOR 1
--#define NSS_BUILTINS_LIBRARY_VERSION_MINOR 84
--#define NSS_BUILTINS_LIBRARY_VERSION "1.84"
-+#define NSS_BUILTINS_LIBRARY_VERSION_MINOR 85
-+#define NSS_BUILTINS_LIBRARY_VERSION "1.85"
-
- /* These version numbers detail the semantic changes to the ckfw engine. */
- #define NSS_BUILTINS_HARDWARE_VERSION_MAJOR 1
diff --git a/extra/perl-async-interrupt/PKGBUILD b/extra/perl-async-interrupt/PKGBUILD
new file mode 100644
index 000000000..33fa2afb4
--- /dev/null
+++ b/extra/perl-async-interrupt/PKGBUILD
@@ -0,0 +1,48 @@
+# Packager: Justin Davis <jrcd83@gmail.com>
+# $Id: PKGBUILD 146271 2012-01-07 18:45:53Z juster $
+
+pkgname=perl-async-interrupt
+pkgver=1.05
+pkgrel=1
+pkgdesc="allow C/XS libraries to interrupt perl asynchronously"
+arch=(i686 x86_64)
+license=(PerlArtistic GPL)
+options=(!emptydirs)
+depends=('perl-common-sense')
+url=https://metacpan.org/release/Async-Interrupt
+source=("http://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/Async-Interrupt-${pkgver}.tar.gz")
+md5sums=(48efb6982dab8d33241061dba65776a8)
+sha512sums=(8b7c74f03b36e1d0ab40124a36c073daa06ea68d6087d809f5c9d60ca07a14505d67599f24d73f1ec5eb13259a732b0c67a07a2fff47f35e04c6b8a50c526d91)
+_distdir="${srcdir}/Async-Interrupt-${pkgver}"
+
+build() {
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
+ PERL_AUTOINSTALL=--skipdeps \
+ PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='$pkgdir'" \
+ PERL_MB_OPT="--installdirs vendor --destdir '$pkgdir'" \
+ MODULEBUILDRC=/dev/null
+
+ cd "$_distdir"
+ /usr/bin/perl Makefile.PL
+ make
+ )
+}
+
+check() {
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ cd "$_distdir"
+ make test
+ )
+}
+
+package() {
+ cd "$_distdir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+}
+
+# Local Variables:
+# mode: shell-script
+# sh-basic-offset: 2
+# End:
+# vim:set ts=2 sw=2 et:
diff --git a/extra/perl-ev/PKGBUILD b/extra/perl-ev/PKGBUILD
new file mode 100644
index 000000000..0c3ea8dd3
--- /dev/null
+++ b/extra/perl-ev/PKGBUILD
@@ -0,0 +1,48 @@
+# Packager: Justin Davis <jrcd83@gmail.com>
+# $Id: PKGBUILD 146268 2012-01-07 18:43:52Z juster $
+
+pkgname=perl-ev
+pkgver=4.03
+pkgrel=1
+pkgdesc="perl interface to libev, a high performance full-featured event loop"
+arch=('i686' 'x86_64' 'mips64el')
+license=(PerlArtistic GPL)
+options=(!emptydirs)
+depends=('perl-common-sense')
+url=https://metacpan.org/release/EV
+source=("http://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/EV-${pkgver}.tar.gz")
+md5sums=(33088705bc34bf66bccde50205c15e9f)
+sha512sums=(fecf2014e89c37ca90d61e432d4020b4c59af3877e1c423693f4a86ed0c66325053737ad1c4e20c2c85b1ca65717c811f54fc596da32a853ad142bd7f60c8e03)
+_distdir="${srcdir}/EV-${pkgver}"
+
+build() {
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
+ PERL_AUTOINSTALL=--skipdeps \
+ PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='$pkgdir'" \
+ PERL_MB_OPT="--installdirs vendor --destdir '$pkgdir'" \
+ MODULEBUILDRC=/dev/null
+
+ cd "$_distdir"
+ /usr/bin/perl Makefile.PL
+ make
+ )
+}
+
+check() {
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ cd "$_distdir"
+ make test
+ )
+}
+
+package() {
+ cd "$_distdir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+}
+
+# Local Variables:
+# mode: shell-script
+# sh-basic-offset: 2
+# End:
+# vim:set ts=2 sw=2 et:
diff --git a/extra/perl-guard/PKGBUILD b/extra/perl-guard/PKGBUILD
new file mode 100644
index 000000000..e72b6e71e
--- /dev/null
+++ b/extra/perl-guard/PKGBUILD
@@ -0,0 +1,48 @@
+# Packager: Justin Davis <jrcd83@gmail.com>
+# $Id: PKGBUILD 146269 2012-01-07 18:44:39Z juster $
+
+pkgname=perl-guard
+pkgver=1.022
+pkgrel=1
+pkgdesc="safe cleanup blocks"
+arch=(i686 x86_64)
+license=(custom:unknown)
+options=(!emptydirs)
+depends=('perl')
+url=https://metacpan.org/release/Guard
+source=("http://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/Guard-${pkgver}.tar.gz")
+md5sums=(8d1d8b942fd5d0240f47906a6d6fac8c)
+sha512sums=(9eb1c4fa29f6190115fe11215ff5d27bb3e7f5ab60c7f40c4142ad9ff8aad91b0b169204e4d0f1b1638381c0c99e6a0b5627b8b6d60fad62f1392a9d1e49751e)
+_distdir="${srcdir}/Guard-${pkgver}"
+
+build() {
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
+ PERL_AUTOINSTALL=--skipdeps \
+ PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='$pkgdir'" \
+ PERL_MB_OPT="--installdirs vendor --destdir '$pkgdir'" \
+ MODULEBUILDRC=/dev/null
+
+ cd "$_distdir"
+ /usr/bin/perl Makefile.PL
+ make
+ )
+}
+
+check() {
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ cd "$_distdir"
+ make test
+ )
+}
+
+package() {
+ cd "$_distdir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+}
+
+# Local Variables:
+# mode: shell-script
+# sh-basic-offset: 2
+# End:
+# vim:set ts=2 sw=2 et:
diff --git a/extra/phonon/libqzeitgeist08.patch b/extra/phonon/libqzeitgeist08.patch
deleted file mode 100644
index 7a99101c4..000000000
--- a/extra/phonon/libqzeitgeist08.patch
+++ /dev/null
@@ -1,150 +0,0 @@
---- phonon-4.5.1/phonon/mediaobject.cpp~ 2011-10-29 13:04:16.499027830 +0000
-+++ phonon-4.5.1/phonon/mediaobject.cpp 2011-10-29 13:09:49.222080364 +0000
-@@ -38,12 +38,12 @@
- #include <QtCore/QUrl>
-
- #ifdef HAVE_QZEITGEIST
--#include <QtZeitgeist/DataModel/Event>
--#include <QtZeitgeist/Interpretation>
--#include <QtZeitgeist/Log>
--#include <QtZeitgeist/Manifestation>
--#include <QtZeitgeist/QtZeitgeist>
--#endif
-+#include <QZeitgeist/DataModel/Event>
-+#include <QZeitgeist/Interpretation>
-+#include <QZeitgeist/Log>
-+#include <QZeitgeist/Manifestation>
-+#include <QZeitgeist/QZeitgeist>
-+#endif
-
- #include "phononnamespace_p.h"
- #include "platform_p.h"
-@@ -330,7 +330,7 @@
- const QString &subject_mimetype)
- {
- #ifdef HAVE_QZEITGEIST
-- QtZeitgeist::DataModel::Subject subject;
-+ QZeitgeist::DataModel::Subject subject;
- QString url = subject_uri.toString();
- QString path = url.left(url.lastIndexOf(QLatin1Char('/')));
- subject.setUri(url);
-@@ -340,20 +340,20 @@
- subject.setOrigin(path);
- subject.setMimeType(subject_mimetype);
-
-- QtZeitgeist::DataModel::SubjectList subjects;
-+ QZeitgeist::DataModel::SubjectList subjects;
- subjects << subject;
-
-- QtZeitgeist::DataModel::Event event;
-+ QZeitgeist::DataModel::Event event;
- event.setTimestamp(subject_timestamp);
- event.setInterpretation(event_interpretation);
- event.setManifestation(event_manifestation);
- event.setActor(event_actor);
- event.setSubjects(subjects);
-
-- QtZeitgeist::DataModel::EventList events;
-+ QZeitgeist::DataModel::EventList events;
- events << event;
-
-- QDBusPendingReply<QtZeitgeist::DataModel::EventIdList> reply =
-+ QDBusPendingReply<QZeitgeist::DataModel::EventIdList> reply =
- log->insertEvents(events);
- #else
- Q_UNUSED(event_interpretation)
-@@ -377,11 +377,11 @@
- QString eventInterpretation;
- switch (eventState) {
- case PlayingState:
-- eventInterpretation = QtZeitgeist::Interpretation::Event::ZGAccessEvent;
-+ eventInterpretation = QZeitgeist::Interpretation::Event::ZGAccessEvent;
- break;
- case ErrorState:
- case StoppedState:
-- eventInterpretation = QtZeitgeist::Interpretation::Event::ZGLeaveEvent;
-+ eventInterpretation = QZeitgeist::Interpretation::Event::ZGLeaveEvent;
- break;
- //These states are not signifigant events.
- case LoadingState:
-@@ -409,10 +409,10 @@
- QString mime;
- QString subjectInterpretation;
- if (q->hasVideo()) {
-- subjectInterpretation = QtZeitgeist::Interpretation::Subject::NFOVideo;
-+ subjectInterpretation = QZeitgeist::Interpretation::Subject::NFOVideo;
- mime = "video/raw";
- } else {
-- subjectInterpretation = QtZeitgeist::Interpretation::Subject::NFOAudio;
-+ subjectInterpretation = QZeitgeist::Interpretation::Subject::NFOAudio;
- mime = "audio/raw";
- }
- pDebug() << "Zeitgeist mime type:" << mime;
-@@ -425,20 +425,20 @@
- case MediaSource::Invalid:
- return;
- case MediaSource::Url:
-- subjectType = QtZeitgeist::Manifestation::Subject::NFORemoteDataObject;
-+ subjectType = QZeitgeist::Manifestation::Subject::NFORemoteDataObject;
- break;
- case MediaSource::CaptureDevice:
- case MediaSource::Disc:
- case MediaSource::Stream:
-- subjectType = QtZeitgeist::Manifestation::Subject::NFOMediaStream;
-+ subjectType = QZeitgeist::Manifestation::Subject::NFOMediaStream;
- break;
- case MediaSource::LocalFile:
-- subjectType = QtZeitgeist::Manifestation::Subject::NFOFileDataObject;
-+ subjectType = QZeitgeist::Manifestation::Subject::NFOFileDataObject;
- break;
- }
-
- sendToZeitgeist(eventInterpretation,
-- QtZeitgeist::Manifestation::Event::ZGUserActivity,
-+ QZeitgeist::Manifestation::Event::ZGUserActivity,
- QLatin1Literal("app://" ) % Platform::applicationName() % QLatin1Literal(".desktop"),
- QDateTime::currentDateTime(),
- mediaSource.url(),
---- phonon-4.5.1/phonon/mediaobject_p.h~ 2011-10-29 13:04:34.982530678 +0000
-+++ phonon-4.5.1/phonon/mediaobject_p.h 2011-10-29 15:27:44.679123431 +0000
-@@ -30,8 +30,8 @@
- #include "mediasource.h"
- #include <QtCore/QQueue>
- #ifdef HAVE_QZEITGEIST
--#include <QtZeitgeist/Log>
--#include <QtZeitgeist/QtZeitgeist>
-+#include <QZeitgeist/Log>
-+#include <QZeitgeist/QZeitgeist>
- #endif
-
- QT_BEGIN_NAMESPACE
-@@ -114,8 +114,7 @@
- #endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM
- {
- #ifdef HAVE_QZEITGEIST
-- QtZeitgeist::init();
-- log = new QtZeitgeist::Log(qObject());
-+ log = new QZeitgeist::Log(qObject());
- #endif
- }
-
-@@ -142,7 +141,7 @@
- MediaSource mediaSource;
- QQueue<MediaSource> sourceQueue;
- #ifdef HAVE_QZEITGEIST
-- QtZeitgeist::Log *log;
-+ QZeitgeist::Log *log;
- #endif
- };
- }
---- phonon-4.5.1/phonon/CMakeLists.txt~ 2011-10-29 15:30:07.640468718 +0000
-+++ phonon-4.5.1/phonon/CMakeLists.txt 2011-10-29 15:30:26.643980831 +0000
-@@ -21,7 +21,7 @@
- endif(GLIB2_FOUND AND PULSEAUDIO_FOUND)
-
- macro_optional_find_package(QZeitgeist)
--macro_log_feature(QZEITGEIST_FOUND "QtZeitgeist" "Qt bindings for Zeitgeist" "http://gitorious.org/kde-zeitgeist/libqzeitgeist/" FALSE)
-+macro_log_feature(QZEITGEIST_FOUND "QZeitgeist" "Qt bindings for Zeitgeist" "http://gitorious.org/kde-zeitgeist/libqzeitgeist/" FALSE)
- if (QZEITGEIST_FOUND)
- add_definitions(-DHAVE_QZEITGEIST)
- include_directories(${QZEITGEIST_INCLUDE_DIR})
diff --git a/extra/qt/blacklist-diginotar-certs.diff b/extra/qt/blacklist-diginotar-certs.diff
deleted file mode 100644
index 4a50f3b88..000000000
--- a/extra/qt/blacklist-diginotar-certs.diff
+++ /dev/null
@@ -1,89 +0,0 @@
-diff --git a/src/network/ssl/qsslcertificate.cpp b/src/network/ssl/qsslcertificate.cpp
-index 328c5c2..1ae98f4 100644
---- a/src/network/ssl/qsslcertificate.cpp
-+++ b/src/network/ssl/qsslcertificate.cpp
-@@ -803,22 +803,47 @@ QList<QSslCertificate> QSslCertificatePrivate::certificatesFromDer(const QByteAr
- // These certificates are known to be fraudulent and were created during the comodo
- // compromise. See http://www.comodo.com/Comodo-Fraud-Incident-2011-03-23.html
- static const char *certificate_blacklist[] = {
-- "04:7e:cb:e9:fc:a5:5f:7b:d0:9e:ae:36:e1:0c:ae:1e",
-- "f5:c8:6a:f3:61:62:f1:3a:64:f5:4f:6d:c9:58:7c:06",
-- "d7:55:8f:da:f5:f1:10:5b:b2:13:28:2b:70:77:29:a3",
-- "39:2a:43:4f:0e:07:df:1f:8a:a3:05:de:34:e0:c2:29",
-- "3e:75:ce:d4:6b:69:30:21:21:88:30:ae:86:a8:2a:71",
-- "e9:02:8b:95:78:e4:15:dc:1a:71:0a:2b:88:15:44:47",
-- "92:39:d5:34:8f:40:d1:69:5a:74:54:70:e1:f2:3f:43",
-- "b0:b7:13:3e:d0:96:f9:b5:6f:ae:91:c8:74:bd:3a:c0",
-- "d8:f3:5f:4e:b7:87:2b:2d:ab:06:92:e3:15:38:2f:b0",
-+ "04:7e:cb:e9:fc:a5:5f:7b:d0:9e:ae:36:e1:0c:ae:1e", "mail.google.com", // Comodo
-+ "f5:c8:6a:f3:61:62:f1:3a:64:f5:4f:6d:c9:58:7c:06", "www.google.com", // Comodo
-+ "d7:55:8f:da:f5:f1:10:5b:b2:13:28:2b:70:77:29:a3", "login.yahoo.com", // Comodo
-+ "39:2a:43:4f:0e:07:df:1f:8a:a3:05:de:34:e0:c2:29", "login.yahoo.com", // Comodo
-+ "3e:75:ce:d4:6b:69:30:21:21:88:30:ae:86:a8:2a:71", "login.yahoo.com", // Comodo
-+ "e9:02:8b:95:78:e4:15:dc:1a:71:0a:2b:88:15:44:47", "login.skype.com", // Comodo
-+ "92:39:d5:34:8f:40:d1:69:5a:74:54:70:e1:f2:3f:43", "addons.mozilla.org", // Comodo
-+ "b0:b7:13:3e:d0:96:f9:b5:6f:ae:91:c8:74:bd:3a:c0", "login.live.com", // Comodo
-+ "d8:f3:5f:4e:b7:87:2b:2d:ab:06:92:e3:15:38:2f:b0", "global trustee", // Comodo
-+
-+ "05:e2:e6:a4:cd:09:ea:54:d6:65:b0:75:fe:22:a2:56", "*.google.com", // leaf certificate issued by DigiNotar
-+ "0c:76:da:9c:91:0c:4e:2c:9e:fe:15:d0:58:93:3c:4c", "DigiNotar Root CA", // DigiNotar root
-+ "f1:4a:13:f4:87:2b:56:dc:39:df:84:ca:7a:a1:06:49", "DigiNotar Services CA", // DigiNotar intermediate signed by DigiNotar Root
-+ "36:16:71:55:43:42:1b:9d:e6:cb:a3:64:41:df:24:38", "DigiNotar Services 1024 CA", // DigiNotar intermediate signed by DigiNotar Root
-+ "0a:82:bd:1e:14:4e:88:14:d7:5b:1a:55:27:be:bf:3e", "DigiNotar Root CA G2", // other DigiNotar Root CA
-+ "a4:b6:ce:e3:2e:d3:35:46:26:3c:b3:55:3a:a8:92:21", "CertiID Enterprise Certificate Authority", // DigiNotar intermediate signed by "DigiNotar Root CA G2"
-+ "5b:d5:60:9c:64:17:68:cf:21:0e:35:fd:fb:05:ad:41", "DigiNotar Qualified CA", // DigiNotar intermediate signed by DigiNotar Root
-+
-+ "1184640176", "DigiNotar Services 1024 CA", // DigiNotar intermediate cross-signed by Entrust
-+ "120000525", "DigiNotar Cyber CA", // DigiNotar intermediate cross-signed by CyberTrust
-+ "120000505", "DigiNotar Cyber CA", // DigiNotar intermediate cross-signed by CyberTrust
-+ "120000515", "DigiNotar Cyber CA", // DigiNotar intermediate cross-signed by CyberTrust
-+ "20015536", "DigiNotar PKIoverheid CA Overheid en Bedrijven", // DigiNotar intermediate cross-signed by the Dutch government
-+ "20001983", "DigiNotar PKIoverheid CA Organisatie - G2", // DigiNotar intermediate cross-signed by the Dutch government
-+ "d6:d0:29:77:f1:49:fd:1a:83:f2:b9:ea:94:8c:5c:b4", "DigiNotar Extended Validation CA", // DigiNotar intermediate signed by DigiNotar EV Root
-+ "1e:7d:7a:53:3d:45:30:41:96:40:0f:71:48:1f:45:04", "DigiNotar Public CA 2025", // DigiNotar intermediate
-+// "(has not been seen in the wild so far)", "DigiNotar Public CA - G2", // DigiNotar intermediate
-+// "(has not been seen in the wild so far)", "Koninklijke Notariele Beroepsorganisatie CA", // compromised during DigiNotar breach
-+// "(has not been seen in the wild so far)", "Stichting TTP Infos CA," // compromised during DigiNotar breach
-+ "1184640175", "DigiNotar Root CA", // DigiNotar intermediate cross-signed by Entrust
-+ "1184644297", "DigiNotar Root CA", // DigiNotar intermediate cross-signed by Entrust
- 0
- };
-
- bool QSslCertificatePrivate::isBlacklisted(const QSslCertificate &certificate)
- {
- for (int a = 0; certificate_blacklist[a] != 0; a++) {
-- if (certificate.serialNumber() == certificate_blacklist[a])
-+ QString blacklistedCommonName = QString::fromUtf8(certificate_blacklist[(a+1)]);
-+ if (certificate.serialNumber() == certificate_blacklist[a++] &&
-+ (certificate.subjectInfo(QSslCertificate::CommonName) == blacklistedCommonName ||
-+ certificate.issuerInfo(QSslCertificate::CommonName) == blacklistedCommonName))
- return true;
- }
- return false;
-diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
-index 141d80a..b8e6c4c 100644
---- a/src/network/ssl/qsslsocket_openssl.cpp
-+++ b/src/network/ssl/qsslsocket_openssl.cpp
-@@ -1193,12 +1193,16 @@ bool QSslSocketBackendPrivate::startHandshake()
- X509 *x509 = q_SSL_get_peer_certificate(ssl);
- configuration.peerCertificate = QSslCertificatePrivate::QSslCertificate_from_X509(x509);
- q_X509_free(x509);
-- if (QSslCertificatePrivate::isBlacklisted(configuration.peerCertificate)) {
-- q->setErrorString(QSslSocket::tr("The peer certificate is blacklisted"));
-- q->setSocketError(QAbstractSocket::SslHandshakeFailedError);
-- emit q->error(QAbstractSocket::SslHandshakeFailedError);
-- plainSocket->disconnectFromHost();
-- return false;
-+
-+ // check the whole chain for blacklisting (including root, as we check for subjectInfo and issuer)
-+ foreach (const QSslCertificate &cert, configuration.peerCertificateChain) {
-+ if (QSslCertificatePrivate::isBlacklisted(cert)) {
-+ q->setErrorString(QSslSocket::tr("The peer certificate is blacklisted"));
-+ q->setSocketError(QAbstractSocket::SslHandshakeFailedError);
-+ emit q->error(QAbstractSocket::SslHandshakeFailedError);
-+ plainSocket->disconnectFromHost();
-+ return false;
-+ }
- }
-
- // Start translating errors.
diff --git a/extra/qtscriptgenerator/qtscriptgenerator-gcc44.patch b/extra/qtscriptgenerator/qtscriptgenerator-gcc44.patch
deleted file mode 100644
index dbb423e5d..000000000
--- a/extra/qtscriptgenerator/qtscriptgenerator-gcc44.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-# Patch from upstream bug tracker:
-# http://code.google.com/p/qtscriptgenerator/issues/detail?id=37
-# So far (2009-06-12) this has not been applied at upstream git repo
-
-diff -uNr generator.orig/parser/rpp/pp.h generator/parser/rpp/pp.h
---- generator.orig/parser/rpp/pp.h 2008-12-05 11:01:44.000000000 +0100
-+++ generator/parser/rpp/pp.h 2008-12-13 10:42:22.000000000 +0100
-@@ -30,6 +30,7 @@
- #include <cctype>
-
- #include <fcntl.h>
-+#include <cstdio>
-
- #ifdef HAVE_MMAP
- # include <sys/mman.h>
diff --git a/extra/smplayer/ChangeLog b/extra/smplayer/ChangeLog
deleted file mode 100644
index e8397b3ec..000000000
--- a/extra/smplayer/ChangeLog
+++ /dev/null
@@ -1,74 +0,0 @@
-2010-02-23 Ionut Biru <ibiru@archlinux.org>
- * smplayer 0.6.9-2
- * changed exec argument from %U to %F in smplayer.desktop
-
-2010-02-22 Ionut Biru <ibiru@archlinux.org>
- * smplayer 0.6.9-1
- * Upstream update
-
-2009-07-25 Allan McRae <allan@archlinux.org>
- * smplayer 0.6.8-1
- * Upstream update
-
-2009-03-13 Allan McRae <allan@archlinux.org>
- * smplayer 0.6.7-1
- * Upstream update
-
-2009-01-01 Allan McRae <allan@archlinux.org>
- * smplayer 0.6.6-1
- * Upstream update
-
-2008-11-14 Allan McRae <allan@archlinux.org>
- * smplayer 0.6.5.1-1
- * Upstream update
-
-2008-10-27 Allan McRae <allan@archlinux.org>
- * smplayer 0.6.4-1
- * Upstream update
-
-2008-09-27 Allan McRae <allan@archlinux.org>
- * smplayer 0.6.3-1
- * Upstream update
-
-2008-06-21 Allan McRae <allan@archlinux.org>
-
- * smplayer 0.6.2-1
- * Upstream update
- * Removed install message
-
-2008-06-21 Allan McRae <allan@archlinux.org>
-
- * smplayer 0.6.1-1
- * Upstream update
- * Removed provides/conflicts/replaces
-
-2008-05-23 Eric Belanger <eric@archlinux.org>
-
- * smplayer 0.6.0-1
- * Upstream update
- * Updated .install file
-
-2008-01-32 Varun Acharya <varun@archlinux.org>
-
- * smplayer-0.5.62-1 moved to extra, thanks molok
- * PKGBUILD cleanup
-
-2007-11-27 Alessio 'mOLOk' Bolognino <themolok@gmail.com>
-
- * smplayer-0.5.62-1
- * version bump
-
-2007-10-24 Alessio 'mOLOk' Bolognino <themolok@gmail.com>
-
- * smplayer-0.5.61-1
- * build against qt4
- * removed post_upgrade message
-
-2007-07-12 Alessio 'mOLOk' Bolognino <themolok@gmail.com>
-
- * smplayer-0.5.21-1
- * version bump
-
-2007-05-30 Alessio 'mOLOk' Bolognino <themolok@gmail.com>
- * smplayer-0.5.0-1
- * version bump
diff --git a/extra/strigi/libstreamanalyzer_pdf.patch b/extra/strigi/libstreamanalyzer_pdf.patch
deleted file mode 100644
index 6871d67fa..000000000
--- a/extra/strigi/libstreamanalyzer_pdf.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-commit 23d5ce636b7897dc3f233a5293f3164dac50566d
-Author: Jos van den Oever <jos@vandenoever.info>
-Date: Sun Jul 31 12:32:44 2011 +0200
-
- Revert patch that breaks parsing of PDF files.
- The offending patch was 672c8b7b3cb4400bc505421f4cc70cf742ed9df0.
-
-diff --git a/lib/pdf/pdfparser.cpp b/lib/pdf/pdfparser.cpp
-index c27f691..df2f7e5 100644
---- a/lib/pdf/pdfparser.cpp
-+++ b/lib/pdf/pdfparser.cpp
-@@ -34,12 +34,13 @@ StreamStatus
- PdfParser::read(int32_t min, int32_t max) {
- int32_t off = (int32_t)(pos-start);
- int32_t d = (int32_t)(stream->position() - bufferStart);
-- bufferStart += off;
-+ min += d;
-+ if (max > 0) max += d;
- stream->reset(bufferStart);
- int32_t n = stream->read(start, min, max);
- // printf("objstart %i %i\n", d, n);
- if (n < min) return stream->status();
-- pos = start;
-+ pos = start + off;
- end = start + n;
- return Ok;
- }
diff --git a/extra/subversion/subversion-perl-bindings.patch b/extra/subversion/subversion-perl-bindings.patch
deleted file mode 100644
index 3c34daa47..000000000
--- a/extra/subversion/subversion-perl-bindings.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur subversion-1.6.17.ori/subversion/bindings/swig/perl/native/Makefile.PL.in subversion-1.6.17/subversion/bindings/swig/perl/native/Makefile.PL.in
---- subversion-1.6.17.ori/subversion/bindings/swig/perl/native/Makefile.PL.in 2010-11-24 20:42:16.000000000 +0000
-+++ subversion-1.6.17/subversion/bindings/swig/perl/native/Makefile.PL.in 2011-07-01 20:16:16.520892074 +0000
-@@ -43,7 +43,7 @@
- my %config = (
- ABSTRACT => 'Perl bindings for Subversion',
- DEFINE => $cppflags,
-- CCFLAGS => $cflags,
-+ CCFLAGS => $Config{ccflags},
- INC => join(' ',$apr_cflags, $apu_cflags,
- " -I$swig_srcdir/perl/libsvn_swig_perl",
- " -I$svnlib_srcdir/include",
diff --git a/extra/subversion/subversion.suppress.deprecation.warnings.patch b/extra/subversion/subversion.suppress.deprecation.warnings.patch
deleted file mode 100644
index 94ce89b18..000000000
--- a/extra/subversion/subversion.suppress.deprecation.warnings.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -urN subversion-1.6.9/subversion/bindings/swig/python/svn/core.py subversion-1.6.9-fixed/subversion/bindings/swig/python/svn/core.py
---- subversion-1.6.9/subversion/bindings/swig/python/svn/core.py 2009-02-13 11:22:26.000000000 -0500
-+++ subversion-1.6.9-fixed/subversion/bindings/swig/python/svn/core.py 2010-02-08 07:46:29.000000000 -0500
-@@ -19,6 +19,7 @@
- from libsvn.core import *
- import libsvn.core as _libsvncore
- import atexit as _atexit
-+import warnings
-
- class SubversionException(Exception):
- def __init__(self, message=None, apr_err=None, child=None,
-@@ -44,7 +45,9 @@
- Exception.__init__(self, *args)
-
- self.apr_err = apr_err
-- self.message = message
-+ with warnings.catch_warnings():
-+ warnings.simplefilter("ignore", DeprecationWarning)
-+ self.message = message
- self.child = child
- self.file = file
- self.line = line
diff --git a/extra/tcpdump/ppi.h b/extra/tcpdump/ppi.h
deleted file mode 100644
index be7f5f02e..000000000
--- a/extra/tcpdump/ppi.h
+++ /dev/null
@@ -1,8 +0,0 @@
-typedef struct ppi_header {
-uint8_t ppi_ver;
-uint8_t ppi_flags;
-uint16_t ppi_len;
-uint32_t ppi_dlt;
-} ppi_header_t;
-
-#define PPI_HDRLEN 8
diff --git a/extra/thunar-media-tags-plugin/0001-Switch-to-the-new-tooltip-api-in-gtk-depend-on-gtk-2.patch b/extra/thunar-media-tags-plugin/0001-Switch-to-the-new-tooltip-api-in-gtk-depend-on-gtk-2.patch
deleted file mode 100644
index 4e613ebb1..000000000
--- a/extra/thunar-media-tags-plugin/0001-Switch-to-the-new-tooltip-api-in-gtk-depend-on-gtk-2.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-From d225ada545e196ebd7833103412f4a013f8a44f1 Mon Sep 17 00:00:00 2001
-From: Lionel Le Folgoc <mrpouit@ubuntu.com>
-Date: Mon, 8 Mar 2010 21:25:12 +0100
-Subject: [PATCH] Switch to the new tooltip api in gtk, depend on gtk 2.12, and switch to exo-1
-
----
- configure.in.in | 3 ++-
- thunar-plugin/audio-tags-page.c | 22 +++++++---------------
- thunar-plugin/tag-renamer.c | 16 +++-------------
- 3 files changed, 12 insertions(+), 29 deletions(-)
-
-diff --git a/configure.in.in b/configure.in.in
-index ed3099b..c345c5c 100644
---- a/configure.in.in
-+++ b/configure.in.in
-@@ -64,7 +64,8 @@ XDT_I18N([@LINGUAS@])
- dnl ***********************************
- dnl *** Check for required packages ***
- dnl ***********************************
--XDT_CHECK_PACKAGE([EXO], [exo-0.3], [0.3.1.3])
-+XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.12.0])
-+XDT_CHECK_PACKAGE([EXO], [exo-1], [0.5.0])
- XDT_CHECK_PACKAGE([THUNARX], [thunarx-2], [1.0.1])
- XDT_CHECK_PACKAGE([TAGLIB], [taglib], [1.4])
-
-diff --git a/thunar-plugin/audio-tags-page.c b/thunar-plugin/audio-tags-page.c
-index 7e5dab5..40b226f 100644
---- a/thunar-plugin/audio-tags-page.c
-+++ b/thunar-plugin/audio-tags-page.c
-@@ -89,7 +89,6 @@ struct _AudioTagsPage
- ThunarxPropertyPage __parent__;
-
- /* Widgets */
-- GtkTooltips *tooltips;
- GtkWidget *table;
- GtkWidget *save_button;
- GtkWidget *info_button;
-@@ -281,10 +280,6 @@ audio_tags_page_init (AudioTagsPage *page)
-
- gtk_container_set_border_width (GTK_CONTAINER (page), 8);
-
-- /* Allocate the shared tooltips */
-- page->tooltips = gtk_tooltips_new ();
-- exo_gtk_object_ref_sink (GTK_OBJECT (page->tooltips));
--
- /* Main container */
- vbox = gtk_vbox_new (FALSE, 8);
- gtk_container_add (GTK_CONTAINER (page), vbox);
-@@ -316,7 +311,7 @@ audio_tags_page_init (AudioTagsPage *page)
- /* Track spin button */
- spin = gtk_spin_button_new (GTK_ADJUSTMENT (adjustment), 0.0, 0);
- exo_mutual_binding_new (G_OBJECT (adjustment), "value", G_OBJECT (page), "track");
-- gtk_tooltips_set_tip (page->tooltips, spin, _("Enter the track number here."), NULL);
-+ gtk_widget_set_tooltip_text (GTK_WIDGET (spin), _("Enter the track number here."));
- gtk_container_add (GTK_CONTAINER (alignment), spin);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin);
- gtk_widget_show (spin);
-@@ -339,7 +334,7 @@ audio_tags_page_init (AudioTagsPage *page)
- /* Year spin button */
- spin = gtk_spin_button_new (GTK_ADJUSTMENT (adjustment), 1, 0);
- exo_mutual_binding_new (G_OBJECT (adjustment), "value", G_OBJECT (page), "year");
-- gtk_tooltips_set_tip (page->tooltips, spin, _("Enter the release year here."), NULL);
-+ gtk_widget_set_tooltip_text (GTK_WIDGET (spin), _("Enter the release year here."));
- gtk_container_add (GTK_CONTAINER (alignment), spin);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin);
- gtk_widget_show (spin);
-@@ -354,7 +349,7 @@ audio_tags_page_init (AudioTagsPage *page)
- /* Artist entry */
- entry = gtk_entry_new ();
- exo_mutual_binding_new (G_OBJECT (entry), "text", G_OBJECT (page), "artist");
-- gtk_tooltips_set_tip (page->tooltips, entry, _("Enter the name of the artist or author of this file here."), NULL);
-+ gtk_widget_set_tooltip_text (GTK_WIDGET (entry), _("Enter the name of the artist or author of this file here."));
- gtk_table_attach (GTK_TABLE (page->table), entry, 1, 4, 1, 2, GTK_EXPAND | GTK_FILL, 0, 0, 0);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry);
- gtk_widget_show (entry);
-@@ -369,7 +364,7 @@ audio_tags_page_init (AudioTagsPage *page)
- /* Title entry */
- entry = gtk_entry_new ();
- exo_mutual_binding_new (G_OBJECT (entry), "text", G_OBJECT (page), "title");
-- gtk_tooltips_set_tip (page->tooltips, entry, _("Enter the song title here."), NULL);
-+ gtk_widget_set_tooltip_text (GTK_WIDGET (entry), _("Enter the song title here."));
- gtk_table_attach (GTK_TABLE (page->table), entry, 1, 4, 2, 3, GTK_EXPAND | GTK_FILL, 0, 0, 0);
- gtk_widget_show (entry);
-
-@@ -383,7 +378,7 @@ audio_tags_page_init (AudioTagsPage *page)
- /* Album entry */
- entry = gtk_entry_new ();
- exo_mutual_binding_new (G_OBJECT (entry), "text", G_OBJECT (page), "album");
-- gtk_tooltips_set_tip (page->tooltips, entry, _("Enter the album/record title here."), NULL);
-+ gtk_widget_set_tooltip_text (GTK_WIDGET (entry), _("Enter the album/record title here."));
- gtk_table_attach (GTK_TABLE (page->table), entry, 1, 4, 3, 4, GTK_EXPAND | GTK_FILL, 0, 0, 0);
- gtk_widget_show (entry);
-
-@@ -397,7 +392,7 @@ audio_tags_page_init (AudioTagsPage *page)
- /* Comment entry */
- entry = gtk_entry_new ();
- exo_mutual_binding_new (G_OBJECT (entry), "text", G_OBJECT (page), "comment");
-- gtk_tooltips_set_tip (page->tooltips, entry, _("Enter your comments here."), NULL);
-+ gtk_widget_set_tooltip_text (GTK_WIDGET (entry), _("Enter your comments here."));
- gtk_table_attach (GTK_TABLE (page->table), entry, 1, 4, 4, 5, GTK_EXPAND | GTK_FILL, 0, 0, 0);
- gtk_widget_show (entry);
-
-@@ -411,7 +406,7 @@ audio_tags_page_init (AudioTagsPage *page)
- /* Genre combo box */
- combo = gtk_combo_box_entry_new_text ();
- exo_mutual_binding_new (G_OBJECT (GTK_BIN (combo)->child), "text", G_OBJECT (page), "genre");
-- gtk_tooltips_set_tip (page->tooltips, combo, _("Select or enter the genre of this song here."), NULL);
-+ gtk_widget_set_tooltip_text (GTK_WIDGET (combo), _("Select or enter the genre of this song here."));
- gtk_table_attach (GTK_TABLE (page->table), combo, 1, 4, 5, 6, GTK_FILL, 0, 0, 0);
- gtk_widget_show (combo);
-
-@@ -511,9 +506,6 @@ audio_tags_page_finalize (GObject *object)
- if (G_LIKELY (page->genre != NULL))
- g_free (page->genre);
-
-- /* Release the tooltips */
-- g_object_unref (G_OBJECT (page->tooltips));
--
- (*G_OBJECT_CLASS (audio_tags_page_parent_class)->finalize) (object);
- }
-
-diff --git a/thunar-plugin/tag-renamer.c b/thunar-plugin/tag-renamer.c
-index acb694e..bdbb17c 100644
---- a/thunar-plugin/tag-renamer.c
-+++ b/thunar-plugin/tag-renamer.c
-@@ -132,9 +132,6 @@ struct _TagRenamer
- {
- ThunarxRenamer __parent__;
-
-- /* Widgets */
-- GtkTooltips *tooltips;
--
- /* Properties */
- TagRenamerFormat format;
- gchar *text;
-@@ -238,10 +235,6 @@ tag_renamer_init (TagRenamer *tag_renamer)
- GtkTreeIter iter;
- gint n;
-
-- /* Allocate shared tooltips */
-- tag_renamer->tooltips = gtk_tooltips_new ();
-- exo_gtk_object_ref_sink (GTK_OBJECT (tag_renamer->tooltips));
--
- table = gtk_table_new (2, 4, FALSE);
- gtk_table_set_row_spacings (GTK_TABLE (table), 6);
- gtk_table_set_col_spacings (GTK_TABLE (table), 12);
-@@ -320,14 +313,14 @@ tag_renamer_init (TagRenamer *tag_renamer)
-
- button = gtk_check_button_new_with_mnemonic (_("_Underscores"));
- exo_mutual_binding_new (G_OBJECT (button), "active", G_OBJECT (tag_renamer), "replace-spaces");
-- gtk_tooltips_set_tip (tag_renamer->tooltips, button, _("Activating this option will replace all spaces in the target filename "
-- "with underscores."), NULL);
-+ gtk_widget_set_tooltip_text (GTK_WIDGET (button), _("Activating this option will replace all spaces in the target filename "
-+ "with underscores."));
- gtk_table_attach (GTK_TABLE (table), button, 3, 4, 0, 1, GTK_FILL, 0, 0, 0);
- gtk_widget_show (button);
-
- button = gtk_check_button_new_with_mnemonic (_("_Lowercase"));
- exo_mutual_binding_new (G_OBJECT (button), "active", G_OBJECT (tag_renamer), "lowercase");
-- gtk_tooltips_set_tip (tag_renamer->tooltips, button, _("If you activate this, the resulting filename will only contain lowercase letters."), NULL);
-+ gtk_widget_set_tooltip_text (GTK_WIDGET (button), _("If you activate this, the resulting filename will only contain lowercase letters."));
- gtk_table_attach (GTK_TABLE (table), button, 3, 4, 1, 2, GTK_FILL, 0, 0, 0);
- gtk_widget_show (button);
- }
-@@ -341,9 +334,6 @@ tag_renamer_finalize (GObject *object)
- {
- TagRenamer *tag_renamer = TAG_RENAMER (object);
-
-- /* release the tooltips */
-- g_object_unref (G_OBJECT (tag_renamer->tooltips));
--
- /* Free string */
- g_free (tag_renamer->text);
-
---
-1.6.3.3
-
diff --git a/extra/thunar-media-tags-plugin/04_fix-implicit-dso-linking.patch b/extra/thunar-media-tags-plugin/04_fix-implicit-dso-linking.patch
deleted file mode 100644
index abe4ada18..000000000
--- a/extra/thunar-media-tags-plugin/04_fix-implicit-dso-linking.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- thunar-media-tags-plugin-0.1.2.orig/thunar-plugin/Makefile.am
-+++ thunar-media-tags-plugin-0.1.2/thunar-plugin/Makefile.am
-@@ -32,6 +32,7 @@ thunar_media_tags_plugin_la_LDFLAGS =
- -avoid-version \
- -export-dynamic \
- -module \
-+ $(EXO_LIBS) \
- $(THUNARX_LIBS) \
- $(TAGLIB_LIBS) \
- $(TAGLIBC_LIBS) \
diff --git a/extra/vlc/bp-set-channel-map-pulseaudio-1.0.patch b/extra/vlc/bp-set-channel-map-pulseaudio-1.0.patch
deleted file mode 100644
index e63b3f97b..000000000
--- a/extra/vlc/bp-set-channel-map-pulseaudio-1.0.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 15a821886296a8efe5f8b9015b6e9c5ae5e3ae79 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
-Date: Tue, 11 Oct 2011 19:19:21 +0300
-Subject: Set channel map when using PulseAudio 1.0
-
-(cherry picked from commit ca2cb5f01340252a85ad5bed877e84407f092b21)
----
- modules/audio_output/pulse.c | 2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git a/modules/audio_output/pulse.c b/modules/audio_output/pulse.c
-index d67dc31..18ee280 100644
---- a/modules/audio_output/pulse.c
-+++ b/modules/audio_output/pulse.c
-@@ -640,6 +640,7 @@ static int Open(vlc_object_t *obj)
- formatv[formatc]->encoding = encoding;
- pa_format_info_set_rate(formatv[formatc], ss.rate);
- pa_format_info_set_channels(formatv[formatc], ss.channels);
-+ pa_format_info_set_channel_map(formatv[formatc], &map);
- formatc++;
- }
-
-@@ -649,6 +650,7 @@ static int Open(vlc_object_t *obj)
- pa_format_info_set_sample_format(formatv[formatc], ss.format);
- pa_format_info_set_rate(formatv[formatc], ss.rate);
- pa_format_info_set_channels(formatv[formatc], ss.channels);
-+ pa_format_info_set_channel_map(formatv[formatc], &map);
- formatc++;
-
- /* Create a playback stream */
---
-1.7.4.1
-
diff --git a/extra/xalan-java/PKGBUILD b/extra/xalan-java/PKGBUILD
deleted file mode 100644
index f7fa0ad7c..000000000
--- a/extra/xalan-java/PKGBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Contributor: Hussam Al-Tayeb <ht990332@gmail.com>
-
-pkgname=xalan-java
-pkgver=2.7.1
-pkgrel=3
-pkgdesc="XSLT processor for transforming XML documents into HTML, text, or other XML document types"
-arch=('any')
-license=('APACHE')
-url="http://xml.apache.org/xalan-j"
-depends=('xerces2-java')
-source=(http://mirror.softaculous.com/apache//xml/xalan-j/xalan-j_${pkgver//./_}-bin-2jars.tar.gz)
-md5sums=('3ccda39bcd08b780436dfd2f22fb23d5')
-
-build() {
- /bin/true
-}
-
-package() {
- cd ${srcdir}/xalan-j_${pkgver//./_}
- install -m755 -d ${pkgdir}/usr/share/java
- install -m644 xalan.jar ${pkgdir}/usr/share/java/ || return 1
- install -m644 xsltc.jar ${pkgdir}/usr/share/java/ || return 1
-}
diff --git a/extra/xerces2-java/PKGBUILD b/extra/xerces2-java/PKGBUILD
deleted file mode 100644
index cccb28bed..000000000
--- a/extra/xerces2-java/PKGBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# $Id: PKGBUILD 144863 2011-12-08 20:32:13Z andyrtr $
-
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xerces2-java
-pkgver=2.11.0
-pkgrel=1
-pkgdesc="High performance fully compliant Java XML parser"
-arch=('any')
-url="http://xml.apache.org/xerces2-j"
-license=('APACHE')
-provides=("java-xerces2=${pkgver}")
-conflicts=('java-xerces2')
-replaces=('java-xerces2')
-source=(http://mirror.checkdomain.de/apache//xerces/j/Xerces-J-bin.${pkgver}.tar.gz)
-md5sums=('29d731e0ae57eb3f2e09af6594bc2515')
-
-build() {
- /bin/true
-}
-
-package() {
- cd ${srcdir}/xerces-${pkgver//./_}
- install -m755 -d ${pkgdir}/usr/share/java
- rm -f xercesSamples.jar
- install -m644 *.jar ${pkgdir}/usr/share/java/
-}
diff --git a/extra/xorg-server/Xi-allow-passive-keygrabs-on-the-XIAll-Master-Device.patch b/extra/xorg-server/Xi-allow-passive-keygrabs-on-the-XIAll-Master-Device.patch
deleted file mode 100644
index 8bddb2945..000000000
--- a/extra/xorg-server/Xi-allow-passive-keygrabs-on-the-XIAll-Master-Device.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 97f2af5876dab0dfab06be735416f3fc950ed39e Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Thu, 27 Oct 2011 11:03:39 +1000
-Subject: [PATCH] Xi: allow passive keygrabs on the XIAll(Master)Devices fake
- devices
-
-They don't have a KeyClassRec, but we must still allow passive grabs on
-them.
-
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-Tested-by: Bastien Nocera <hadess@hadess.net>
----
- Xi/exevents.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/Xi/exevents.c b/Xi/exevents.c
-index 053c76f..edf2c39 100644
---- a/Xi/exevents.c
-+++ b/Xi/exevents.c
-@@ -1495,7 +1495,7 @@ GrabKey(ClientPtr client, DeviceIntPtr dev, DeviceIntPtr modifier_device,
- rc = CheckGrabValues(client, param);
- if (rc != Success)
- return rc;
-- if (k == NULL)
-+ if ((dev->id != XIAllDevices && dev->id != XIAllMasterDevices) && k == NULL)
- return BadMatch;
- if (grabtype == GRABTYPE_XI)
- {
---
-1.7.7
-
diff --git a/extra/zsh/modules.patch b/extra/zsh/modules.patch
deleted file mode 100644
index 315d40b98..000000000
--- a/extra/zsh/modules.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Completion/Linux/Command/_modutils
-+++ b/Completion/Linux/Command/_modutils
-@@ -107,7 +107,7 @@ case "$state" in
- ! _retrieve_cache modules-$kver;
- then
- # 2011-01-02 gi1242: Do we need .o files? Or is .ko enough?
-- modules=( $modules_dir/$kver/(*~(source|build))/**/*.(o|ko)(.:t:r) )
-+ modules=( $modules_dir/$kver/(*~(source|build))/**/*.(o|ko|ko.gz)(.:t:r:r) )
- _store_cache modules-$kver modules
- fi
-