debian/0000755000000000000000000000000012077326734007201 5ustar debian/README.Debian0000644000000000000000000000222412077326651011240 0ustar djmount for Debian ------------------ djmount was tested under a Debian GNU/Linux system running mediatomb software. * Loaded modules: The FUSE kernel module shall be loaded before running djmount, otherwise you will get the error: fusermount: fuse device not found, try 'modprobe fuse' first * Running djmount: Use the following command in order to add yourself to the 'fuse' group if you are not yet a member: $ sudo adduser fuse If you are not part of the 'fuse' group, you will get this message: $ djmount -f /mnt/mountpoint [I] Charset : successfully initialised charset='ISO-8859-1' [I] UPnP Initialized (xxx.xxx.xxx.xxx:xxx) fuse: failed to open /dev/fuse: Permission denied [E] Error in FUSE main loop = 1 * Mounting via /etc/fstab: Thanks to the patch submitted by Kevin Vargo, since version 0.71-5 it is possible to mount remote upnp services via /etc/fstab by adding a single line like this one to your /etc/fstab file: djmount /mnt/djmount fuse noauto,ro,user,allow_other,sloppy 0 0 -- Dario Minnucci Sat, 21 Apr 2012 17:15:14 +0200 debian/README.source0000644000000000000000000000046312077326651011361 0ustar README.source ------------- The Debian package uses quilt(1) for the modifications of the upstream source. If you want to change something it is best to use the dpatch approach as documented in /usr/share/doc/quilt/README.source -- Dario Minnucci Sun, 24 Jan 2010 02:54:47 +0100 debian/changelog0000644000000000000000000000671412077326651011061 0ustar djmount (0.71-6) unstable; urgency=low * debian/control: + Bump Standards-Version to 3.9.4 + Change dependency from 'fuse-utils' to 'fuse'. fuse-utils was dropped from sid turning djmount uninstallable. (Closes: #698121) * debian/rules: + Added build hardening flags -- Dario Minnucci Mon, 21 Jan 2013 20:55:07 +0100 djmount (0.71-5) unstable; urgency=low * debian/patches: - Added: 003-support-fstab-mounting.diff: - Adds support for mounting via /etc/fstab. Thanks to Kevin Vargo. (Closes: #660098) -- Dario Minnucci Sat, 21 Apr 2012 16:56:57 +0200 djmount (0.71-4) unstable; urgency=low * Switch to dpkg-source 3.0 (quilt) format * debian/control: - Repository converted from svn to git. Updated Vcs-Browser and Vcs-Git fields. - Removed Build-Depends on quilt - Updated debhelper compatibility to >= 9. - Bump Standards-Version to 3.9.3 - Use libupnp-dev instead of libupnp3-dev * debian/rules: - Removed dependencies on quilt * debian/copyright: - Updated format specification to rev=135 - Pointer to BSD licensed replaced with the license text itself to suppress lintian warning. W: copyright-refers-to-deprecated-bsd-license-file * debian/rules: Rewritten to use new format * debian/patches: - Added 002-libupnp-1.6.13.diff for transition from libupnp3 to libupnp6. Thanks to Nick Leverton. (Closes: #656832) -- Dario Minnucci Tue, 03 Apr 2012 01:00:25 +0200 djmount (0.71-3) unstable; urgency=high * Applied patch 001-libupnp-1.6.6.diff to handle renaming of function SetLogFileNames to UpnpSetLogFileNames. Thanks to Nick Leverton for the patch. (Closes: #581879, #582989) * debian/control: Bump Standards-Version to 3.8.4 * debian/rules: Changes to get rid of lintian W: patch-system-but-direct-changes-in-diff * Added debian/source/format file. -- Dario Minnucci Tue, 25 May 2010 14:26:24 +0200 djmount (0.71-2) unstable; urgency=low * Patch system migrated from dpatch to quilt * debian/control: - Added quilt support - Maintainer's address updated. - According to Policy 'Section 2.5: Priorities', priority was updated to extra because depends on 'libupnp3' * debian/copyright: gl/* copyright fixed. Thanks to Chris Lamb. * debian/rules: config.{sub,guess} updated. (Closes: #546298) -- Dario Minnucci Sun, 24 Jan 2010 03:14:54 +0100 djmount (0.71-1) unstable; urgency=low * Initial release (Closes: #517762) * debian/rules: Compiled against Debian libupnp-dev and libtalloc-dev * debian/README.source: Added * Improvements on package descrptions and manpage: Thanks to MJ Ray and Justin B Rye. (http://lists.debian.org/debian-l10n-english/2009/08/msg00074.html) * debian/patches/01_manpages.dpatch: Adds a simple manpage not provided by upstream sources. (djmount.1 was sent to upstream to be included). * debian/control: Added 'Vcs-Browser' and 'Vcs-Svn' fields * debian/patches/01_manpages.dpatch: Adapted to DEP3. (see: http://dep.debian.net/deps/dep3/ for details) * Get rid of lintian W: binary-or-shlib-defines-rpath: debian/control: Added chrpath to Build-Depends debian/rules: Use chrpath after installing to delete current rpath setting. * debian/copyright: Added a few improvements. -- Dario Minnucci (midget) Fri, 11 Sep 2009 01:58:45 +0200 debian/compat0000644000000000000000000000000212077326651010375 0ustar 9 debian/control0000644000000000000000000000144112077326651010602 0ustar Source: djmount Section: net Priority: extra Maintainer: Dario Minnucci Build-Depends: debhelper (>= 9), autotools-dev, libfuse-dev, libupnp-dev, libtalloc-dev, chrpath, hardening-includes Standards-Version: 3.9.4 Homepage: http://djmount.sourceforge.net/ Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/djmount.git;a=summary Vcs-Git: git://anonscm.debian.org/collab-maint/djmount.git Package: djmount Architecture: any Depends: fuse, ${shlibs:Depends}, ${misc:Depends} Description: file system client for mounting network media servers This package provides a client for Universal Plug'n'Play (UPnP) Audio-Visual MediaServers. It discovers all compatible UPnP AV devices on the network automatically and mounts their media content as a file system using FUSE. debian/copyright0000644000000000000000000000550312077326651011135 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: djmount Upstream-Contact: Rémi Turboult Source: https://sourceforge.net/projects/djmount/files/djmount/ Files: * Copyright: 2000-2003, Intel Corporation 2005, Dmitry Zakharov aka ChaoS 2005-2006, Rémi Turboult License: GPL-2+ On Debian systems the full text of the GNU General Public License can be found in the `/usr/share/common-licenses/GPL-2' file. Files: gl/* Copyright: 1990-2005, Free Software Foundation, Inc License: GPL-2+ On Debian systems the full text of the GNU General Public License can be found in the `/usr/share/common-licenses/GPL-2' file. Files: libupnp/* Copyright: 2000-2003, Intel Corporation License: BSD Copyright (c) The Regents of the University of California. All rights reserved. . Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. . THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Files: talloc/* Copyright: 2004-2005, Andrew Tridgell License: LGPL-2+ On Debian systems the full text of the GNU General Public License can be found in the `/usr/share/common-licenses/LGPL-2' file. Files: debian/* Copyright: 2009-2012, Dario Minnucci License: GPL-2+ On Debian systems the full text of the GNU General Public License can be found in the `/usr/share/common-licenses/GPL-2' file. debian/dirs0000644000000000000000000000001012077326651010052 0ustar usr/bin debian/djmount.manpages0000644000000000000000000000001212077326651012365 0ustar djmount.1 debian/docs0000644000000000000000000000005012077326651010045 0ustar NEWS README search_help.txt THANKS TODO debian/patches/0000755000000000000000000000000012077326651010626 5ustar debian/patches/000_djmount.1.diff0000644000000000000000000000677512077326651013675 0ustar # # Description: Adds djmount.1 manpage which isn't included in original sources. # Forwarded: http://sourceforge.net/tracker/index.php?func=detail&aid=2834139&group_id=142039&atid=751320 # Author: Dario Minnucci # Last-Update: 2010-01-24 # diff -urNad djmount-0.71~/djmount.1 djmount-0.71/djmount.1 --- djmount-0.71~/djmount.1 1970-01-01 01:00:00.000000000 +0100 +++ djmount-0.71/djmount.1 2009-08-31 19:38:36.289425318 +0200 @@ -0,0 +1,96 @@ +.\" Hey, EMACS: -*- nroff -*- +.\" First parameter, NAME, should be all caps +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +.\" other parameters are allowed: see man(7), man(1) +.TH DJMOUNT 1 "August 31, 2009" +.\" Please adjust this date whenever revising the manpage. +.\" +.\" Some roff macros, for reference: +.\" .nh disable hyphenation +.\" .hy enable hyphenation +.\" .ad l left justify +.\" .ad b justify to both left and right margins +.\" .nf disable filling +.\" .fi enable filling +.\" .br insert line break +.\" .sp insert n+1 empty lines +.\" for manpage-specific macros, see man(7) +.SH NAME +djmount \- file system client for mounting network media servers +.SH SYNOPSIS +.B djmount +.RI [ options ] " mountpoint" +.br +.SH DESCRIPTION +This manual page describes briefly the +.B djmount +command. +.PP +.\" TeX users may be more comfortable with the \fB\fP and +.\" \fI\fP escape sequences to invode bold face and italics, +.\" respectively. +This package provides a client for Universal Plug'n'Play (UPnP) Audio-Visual MediaServers. It discovers all compatible UPnP AV devices on the network automatically and mounts their media content as a file system using FUSE. + +.SH OPTIONS +This program follows the usual GNU command line syntax, with long +options starting with two dashes (`-'). +A summary of options is included below. +For a complete description, see the Info files. + +.TP +.B \-d[levels] +enable debug output (implies \-f) + +.TP +.B \-f +foreground operation (default: daemonized) + +.TP +.B \-h, \-\-help +print this help, then exit + +.TP +.B \-\-version +print version number, then exit + +.TP +.B \-o [options] +mount options (see below) + + +.TP +Mount options (one or more comma separated options): + + iocharset= filenames encoding (default: from environment) + playlists use playlists for AV files, instead of plain files + search_history= number of remembered searches (default: 100) + (set to 0 to disable search) + +.TP +See FUSE documentation for the following mount options: + + default_permissions enable permission checking by kernel + allow_other allow access to other users + allow_root allow access to root + kernel_cache cache files in kernel + nonempty allow mounts over non-empty file/dir + fsname=NAME set filesystem name in mtab + + +.TP +Debug levels are one or more comma separated words: + + upnperr, upnpall: increasing level of UPnP traces + error, warn, info, debug: increasing level of djmount traces + fuse: activates FUSE traces + leak, leakfull: enable talloc leak reports at exit + '\-d' alone defaults to 'upnpall, debug, fuse, leak' which is all traces. + + +.SH SEE ALSO +.BR fusermount (1) +.SH AUTHOR +djmount was written by Rémi Turboult . +.PP +This manual page was written by Dario Minnucci , +for the Debian project (and may be used by others). debian/patches/001-libupnp-1.6.6.diff0000644000000000000000000000205512077326651014077 0ustar # # Description: Update libupnp API for 1.6.x. # Between libupnp2 and libupnp3 (pupnp 1.4.x and 1.6.x) the function # SetLogFileNames was renamed to UpnpSetLogFileNames. # Author: nick@leverton.org # Bug-Debian: 581879 # Index: djmount-0.71/djmount/fuse_main.c =================================================================== --- djmount-0.71.orig/djmount/fuse_main.c 2010-05-16 21:40:56.000000000 +0100 +++ djmount-0.71/djmount/fuse_main.c 2010-05-16 21:43:55.000000000 +0100 @@ -616,7 +616,7 @@ } Log_Colorize (true); #if UPNP_HAVE_DEBUG - SetLogFileNames ("/dev/null", "/dev/null"); + UpnpSetLogFileNames ("/dev/null", "/dev/null"); #endif /* @@ -710,10 +710,10 @@ Log_SetMaxLevel (LOG_ERROR); #if UPNP_HAVE_DEBUG } else if (strcmp (s, "upnperr") == 0) { - SetLogFileNames ("/dev/stdout", + UpnpSetLogFileNames ("/dev/stdout", "/dev/null"); } else if (strcmp (s, "upnpall") == 0) { - SetLogFileNames ("/dev/stdout", + UpnpSetLogFileNames ("/dev/stdout", "/dev/stdout"); #endif } else { debian/patches/002-libupnp-1.6.13.diff0000644000000000000000000000100112077326651014144 0ustar # # Description: Transition from libupnp3 to libupnp6 # Bug-Debian: http://bugs.debian.org/656832 # Author: Nick Leverton # Last-Update: 2012-02-22 # Index: djmount/djmount/upnp_util.h =================================================================== --- djmount.orig/djmount/upnp_util.h 2012-02-22 03:34:37.459476269 +0100 +++ djmount/djmount/upnp_util.h 2012-02-22 03:48:14.184514680 +0100 @@ -28,6 +28,7 @@ #include +#include #ifdef __cplusplus debian/patches/003-support-fstab-mounting.diff0000644000000000000000000000657412077326651016443 0ustar Description: Support /etc/fstab mounting Forwarded: https://sourceforge.net/tracker/?func=detail&aid=3514280&group_id=142039&atid=751317 Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=660098 Author: Kevin Vargo Last-Update: 2012-04-02 --- djmount-0.71.orig/djmount/fuse_main.c 2006-08-27 16:12:20.000000000 -0400 +++ djmount-0.71/djmount/fuse_main.c 2011-12-23 15:39:29.000000000 -0500 @@ -529,6 +529,7 @@ " --version print version number, then exit\n" " -o [options] mount options (see below)\n" " -d[levels] enable debug output (implies -f)\n" + " -s sloppy -- ignore unknown options\n" " -f foreground operation (default: daemonized)\n" "\n" "Mount options (one or more comma separated options) :\n" @@ -538,6 +539,7 @@ " playlists use playlists for AV files, instead of plain files\n" " search_history= number of remembered searches (default: %d)\n" " (set to 0 to disable search)\n" + " sloppy ignore unknown options (e.g., for /etc/fstab)\n" "\n", DEFAULT_SEARCH_HISTORY_SIZE); fprintf (stream, @@ -635,6 +637,9 @@ Log_Printf (LOG_DEBUG, " Fuse option = %s", fuse_argv[fuse_argc]); \ fuse_argc++ + //Ignore unknown options "sloppy" -- mount -s + bool options_sloppy = false; + int opt = 1; char* o; while ((o = argv[opt++])) { @@ -646,6 +651,9 @@ } else if (strcmp(o, "-f") == 0) { background = false; + + } else if (strcmp(o, "-s") == 0) { + options_sloppy = true; } else if (*o != '-') { // mount point @@ -657,6 +665,10 @@ char* options_copy = strdup (options); char* tokptr = 0; char* s; + + char** unknown_options = talloc_size(tmp_ctx, sizeof(char) * strlen(options_copy)); + int unknown_ptr = -1; + for (s = strtok_r (options_copy, ",", &tokptr); s != NULL; s = strtok_r (NULL, ",", &tokptr)) { @@ -669,16 +681,39 @@ } else if (strncmp(s, "search_history=", 15) == 0) { search_history_size = atoi (s+15); + //check for '-s|-o sloppy' -- ignore unknown options + } else if (strncmp(s, "sloppy", 15) == 0 || + (strlen(s) == 1 && strncmp(s, "s", 1) == 0)) { + options_sloppy = true; } else if (strncmp(s, "fsname=", 7) == 0 || strstr (FUSE_ALLOWED_OPTIONS, s)) { FUSE_ARG ("-o"); FUSE_ARG (talloc_strdup (tmp_ctx, s)); } else { + //Record unknown options for analysis, after we're sure + //we don't see '-o sloppy' + unknown_options[++unknown_ptr] = strdup(s); + } + } + + //Now, we should know if we have invalid option(s), or can + //ignore: + if (unknown_ptr >= 0) { + //If debug... + int i = 0; + for (i = 0; i <= unknown_ptr; i++) { + Log_Printf (LOG_WARNING, "Found unknown option = %s%s", + unknown_options[i], (options_sloppy ? "; ignoring" : "")); + } + //If 'sloppy' is not enabled... + if (! options_sloppy) { bad_usage (argv[0], - "unknown mount option '%s'", - s); // ----------> + "unknown mount option '%s' (and [-s|-o sloppy] not provided)", + unknown_options[0]); // ----------> } } + talloc_free(unknown_options); + free (options_copy); Log_Printf (LOG_INFO, " Mount options = %s", options); debian/patches/series0000644000000000000000000000014212077326651012040 0ustar 003-support-fstab-mounting.diff 000_djmount.1.diff 001-libupnp-1.6.6.diff 002-libupnp-1.6.13.diff debian/rules0000755000000000000000000000311112077326651010253 0ustar #!/usr/bin/make -f # -*- makefile -*- # Sample debian/rules that uses debhelper. # This file was originally written by Joey Hess and Craig Small. # As a special exception, when this file is copied by dh-make into a # dh-make output file, you may use that output file without restriction. # This special exception was added by Craig Small in version 0.37 of dh-make. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 #DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) #DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) #ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE)) #CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) #else #CROSS= --build $(DEB_BUILD_GNU_TYPE) #endif include /usr/share/hardening-includes/hardening.make FLAGS=$(shell dpkg-buildflags --get CFLAGS) LDFLAGS=$(shell dpkg-buildflags --get LDFLAGS) CFLAGS+=$(HARDENING_CFLAGS) LDFLAGS+=$(HARDENING_LDFLAGS) %: dh $@ --with autotools-dev override_dh_auto_configure: # ./configure $(CROSS) \ --prefix=/usr \ --mandir=\$${prefix}/share/man \ --infodir=\$${prefix}/share/info \ --with-external-libupnp \ --with-external-talloc \ CFLAGS="$(CFLAGS)" \ LDFLAGS="$(LDFLAGS) -Wl,-z,defs,--as-needed" \ override_dh_auto_install: $(MAKE) DESTDIR=$(CURDIR)/debian/djmount install chrpath -d $(CURDIR)/debian/djmount/usr/bin/djmount dh_install override_dh_auto_test: override_dh_auto_clean: [ ! -f Makefile ] || $(MAKE) clean-generic distclean-am distclean-libtool rm -rfv gl/Makefile rm -rfv gl/.libs rm -rfv gl/*.la rm -rfv gl/*.lo rm -rfv gl/*.o debian/source/0000755000000000000000000000000012077326651010477 5ustar debian/source/format0000644000000000000000000000001412077326651011705 0ustar 3.0 (quilt) debian/watch0000644000000000000000000000006612077326651010232 0ustar version=3 http://sf.net/djmount/djmount-(.+)\.tar\.gz