From 1a9d372aa512e01c285dde40c15775fea270afa3 Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Mar 24 2009 17:49:10 +0000 Subject: Initial import of afpfs-ng --- diff --git a/.cvsignore b/.cvsignore index e69de29..ea8ffb1 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +afpfs-ng-0.8.1.tar.bz2 diff --git a/afpfs-ng-0.8.1-overflows.patch b/afpfs-ng-0.8.1-overflows.patch new file mode 100644 index 0000000..94399ed --- /dev/null +++ b/afpfs-ng-0.8.1-overflows.patch @@ -0,0 +1,28 @@ +Fix possible buffer overflows (given we're copying to storage of AFP_MAX_PATH, +while AFP_MAX_PATH is much smaller than PATH_MAX) + +Lubomir Rintel + +--- afpfs-ng-0.8.1/cmdline/cmdline_afp.c.overflows 2008-10-06 19:21:32.000000000 +0200 ++++ afpfs-ng-0.8.1/cmdline/cmdline_afp.c 2008-10-06 19:13:50.000000000 +0200 +@@ -129,9 +129,9 @@ + { + if (filename[0]!='/') { + if (strlen(curdir)==1) +- snprintf(server_fullname,PATH_MAX,"/%s",filename); ++ snprintf(server_fullname,AFP_MAX_PATH,"/%s",filename); + else +- snprintf(server_fullname,PATH_MAX,"%s/%s",curdir,filename); ++ snprintf(server_fullname,AFP_MAX_PATH,"%s/%s",curdir,filename); + } else { + snprintf(server_fullname,PATH_MAX,"%s",filename); + } +@@ -1217,7 +1217,7 @@ + { + struct passwd * passwd; + +- snprintf(curdir,PATH_MAX,"%s",DEFAULT_DIRECTORY); ++ snprintf(curdir,AFP_MAX_PATH,"%s",DEFAULT_DIRECTORY); + if (init_uams()<0) return -1; + + afp_default_url(&url); diff --git a/afpfs-ng.spec b/afpfs-ng.spec new file mode 100644 index 0000000..ab1e069 --- /dev/null +++ b/afpfs-ng.spec @@ -0,0 +1,120 @@ +# No FUSE on RHEL5 +%if %{?el5:1}0 +%define _without_fuse 1 +%endif + +Name: afpfs-ng +Version: 0.8.1 +Release: 2%{?dist} +Summary: Apple Filing Protocol client + +Group: System Environment/Base +License: GPLv2 +URL: http://alexthepuffin.googlepages.com/home +Source0: http://downloads.sourceforge.net/afpfs-ng/%{name}-%{version}.tar.bz2 +Patch0: afpfs-ng-0.8.1-overflows.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +%{?!_without_fuse:BuildRequires: fuse-devel} +BuildRequires: libgcrypt-devel gmp-devel readline-devel + +%description +A command line client to access files exported from Mac OS system via +AppleTalk or TCP using Apple Filing Protocol. +%{?!_without_fuse:The FUSE filesystem module for AFP is in fuse-afp package} + + +%if %{?!_without_fuse:1}0 +%package -n fuse-afp +Summary: FUSE driver for AFP filesystem +Group: System Environment/Base + +%description -n fuse-afp +A FUSE file system server to access files exported from Mac OS system +via AppleTalk or TCP using Apple Filing Protocol. +The command line client for AFP is in fuse-afp package +%endif + + +%package devel +Summary: Development files for afpfs-ng +Group: Development/Libraries +Requires: %{name} = %{version} + +%description devel +Library for dynamic linking and header files of afpfs-ng. + + +%prep +%setup -q +%patch0 -p1 -b .overflows + + +%build +# make would rebuild the autoconf infrastructure due to the following: +# Prerequisite `configure.ac' is newer than target `Makefile.in'. +# Prerequisite `aclocal.m4' is newer than target `Makefile.in'. +# Prerequisite `configure.ac' is newer than target `aclocal.m4'. +touch --reference aclocal.m4 configure.ac Makefile.in + +%configure %{?_without_fuse:--disable-fuse} --disable-static +make %{?_smp_mflags} + + +%install +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT +install -d $RPM_BUILD_ROOT%{_includedir}/afpfs-ng +cp -p include/* $RPM_BUILD_ROOT%{_includedir}/afpfs-ng + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%files +%defattr(-,root,root,-) +%{_bindir}/afpcmd +%{_bindir}/afpgetstatus +%{_mandir}/man1/afpcmd.1* +%{_mandir}/man1/afpgetstatus.1* +%{_libdir}/*.so.* +%exclude %{_libdir}/*.la +%doc COPYING AUTHORS ChangeLog docs/README docs/performance docs/FEATURES.txt docs/REPORTING-BUGS.txt + + +%if %{?!_without_fuse:1}0 +%files -n fuse-afp +%defattr(-,root,root,-) +%{_bindir}/afp_client +%{_bindir}/afpfs +%{_bindir}/afpfsd +%{_bindir}/mount_afp +%{_mandir}/man1/afp_client.1* +%{_mandir}/man1/afpfsd.1* +%{_mandir}/man1/mount_afp.1* +%doc COPYING AUTHORS ChangeLog +%endif + + +%files devel +%defattr(-,root,root,-) +%{_includedir}/afpfs-ng +%{_libdir}/*.so + + +%post -p /sbin/ldconfig + + +%postun -p /sbin/ldconfig + + +%changelog +* Thu Mar 19 2009 Lubomir Rintel - 0.8.1-2 +- Add more include files (Jan F. Chadima) +- Don't needlessly build static library (Stefan Kasal) +- Fix fuse-afp summary (Stefan Kasal) +- Remove redundant license file from -devel (Stefan Kasal) + +* Mon Oct 6 2008 Lubomir Rintel - 0.8.1-1 +- Initial packaging attempt diff --git a/sources b/sources index e69de29..4bd856f 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +1bdd9f8a06e6085ea4cc38ce010ef60b afpfs-ng-0.8.1.tar.bz2