diff options
Diffstat (limited to 'extra')
51 files changed, 0 insertions, 8077 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 fcd0f5da2..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') -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 46ece794b..000000000 --- a/extra/cups/PKGBUILD +++ /dev/null @@ -1,144 +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=1 -arch=('i686' 'x86_64') -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' - 'foomatic-db-nonfree: 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/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( ¤t_time, &cursor->last_send_time ); - - if( report_interval && ( loop_flag || count_flag ) && -- ( timeval_diff ( ¤t_time, &last_report_time ) > report_interval ) ) -+ ( timeval_diff ( ¤t_time, &last_report_time ) >= report_interval ) ) - { - print_per_system_splits(); - gettimeofday( ¤t_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/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 c9a89bd84..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') -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 fb6b5756c..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") -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 43a7140c9..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') -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/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 - |