New port Makefile for afpfs-ng. The afpfs-ng is an Apple Filing Protocol client library
Class Changed From-To: update->change-request Fix category (new ports should be change-requests) (via the GNATS Auto Assign Tool)
State Changed From-To: open->closed New port added, with minor changes. Thanks!
Author: miwi Date: Mon Feb 18 04:43:58 2013 New Revision: 312474 URL: http://svnweb.freebsd.org/changeset/ports/312474 Log: afpfs-ng is an Apple Filing Protocol client that will allow BSD, Linux and Mac OS X systems to access files exported from a Mac OS system with AFP over TCP. WWW: http://sourceforge.net/projects/afpfs-ng/ PR: ports/172780 Submitted by: Manuel Creach <manuel.creach@icloud.com> Added: head/net/afpfs-ng/ head/net/afpfs-ng/Makefile (contents, props changed) head/net/afpfs-ng/distinfo (contents, props changed) head/net/afpfs-ng/files/ head/net/afpfs-ng/files/patch-Makefile.am (contents, props changed) head/net/afpfs-ng/files/patch-cmdline__cmdline_afp.c (contents, props changed) head/net/afpfs-ng/files/patch-cmdline__cmdline_testafp.c (contents, props changed) head/net/afpfs-ng/files/patch-cmdline__getstatus.c (contents, props changed) head/net/afpfs-ng/files/patch-configure.ac (contents, props changed) head/net/afpfs-ng/files/patch-fuse__client.c (contents, props changed) head/net/afpfs-ng/files/patch-fuse__commands.c (contents, props changed) head/net/afpfs-ng/files/patch-fuse__daemon.c (contents, props changed) head/net/afpfs-ng/files/patch-fuse__fuse_error.c (contents, props changed) head/net/afpfs-ng/files/patch-fuse__fuse_int.c (contents, props changed) head/net/afpfs-ng/files/patch-include__Makefile.am (contents, props changed) head/net/afpfs-ng/files/patch-include__afp.h (contents, props changed) head/net/afpfs-ng/files/patch-include__afpfs-ng__Makefile.am (contents, props changed) head/net/afpfs-ng/files/patch-include__afpfs-ng__afp.h (contents, props changed) head/net/afpfs-ng/files/patch-include__afpfs-ng__afp_protocol.h (contents, props changed) head/net/afpfs-ng/files/patch-include__afpfs-ng__codepage.h (contents, props changed) head/net/afpfs-ng/files/patch-include__afpfs-ng__dsi.h (contents, props changed) head/net/afpfs-ng/files/patch-include__afpfs-ng__libafpclient.h (contents, props changed) head/net/afpfs-ng/files/patch-include__afpfs-ng__map_def.h (contents, props changed) head/net/afpfs-ng/files/patch-include__afpfs-ng__midlevel.h (contents, props changed) head/net/afpfs-ng/files/patch-include__afpfs-ng__uams_def.h (contents, props changed) head/net/afpfs-ng/files/patch-include__afpfs-ng__utils.h (contents, props changed) head/net/afpfs-ng/files/patch-include__codepage.h (contents, props changed) head/net/afpfs-ng/files/patch-include__dsi.h (contents, props changed) head/net/afpfs-ng/files/patch-include__libafpclient.h (contents, props changed) head/net/afpfs-ng/files/patch-include__map_def.h (contents, props changed) head/net/afpfs-ng/files/patch-include__midlevel.h (contents, props changed) head/net/afpfs-ng/files/patch-include__uams_def.h (contents, props changed) head/net/afpfs-ng/files/patch-include__utils.h (contents, props changed) head/net/afpfs-ng/files/patch-lib__Makefile.am (contents, props changed) head/net/afpfs-ng/files/patch-lib__afp.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__afp_internal.h (contents, props changed) head/net/afpfs-ng/files/patch-lib__afp_url.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__client.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__codepage.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__connect.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__did.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__dsi.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__forklist.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__identify.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__log.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__loop.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__lowlevel.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__map_def.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__meta.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__midlevel.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__proto_attr.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__proto_desktop.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__proto_directory.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__proto_files.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__proto_fork.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__proto_login.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__proto_map.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__proto_replyblock.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__proto_server.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__proto_session.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__proto_volume.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__resource.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__server.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__status.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__uams.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__users.c (contents, props changed) head/net/afpfs-ng/files/patch-lib__utils.c (contents, props changed) head/net/afpfs-ng/pkg-descr (contents, props changed) head/net/afpfs-ng/pkg-plist (contents, props changed) Modified: head/net/Makefile Modified: head/net/Makefile ============================================================================== --- head/net/Makefile Mon Feb 18 04:17:46 2013 (r312473) +++ head/net/Makefile Mon Feb 18 04:43:58 2013 (r312474) @@ -14,6 +14,7 @@ SUBDIR += abills SUBDIR += activemq SUBDIR += acx100 + SUBDIR += afpfs-ng SUBDIR += aget SUBDIR += aoe SUBDIR += apinger Added: head/net/afpfs-ng/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/afpfs-ng/Makefile Mon Feb 18 04:43:58 2013 (r312474) @@ -0,0 +1,58 @@ +# Created by: Manuel Creach <manuel.creach@icloud.com> +# $FreeBSD$ + +PORTNAME= afpfs-ng +PORTVERSION= 0.8.1 +CATEGORIES= net +MASTER_SITES= SF + +MAINTAINER= manuel.creach@icloud.com +COMMENT= The afpfs-ng is an Apple Filing Protocol client library + +LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/COPYING + +OPTIONS_DEFINE= FUSE GCRYPT + +USE_BZIP2= yes +USE_GCC= any +USE_GMAKE= yes +USE_AUTOTOOLS= aclocal autoheader automake autoconf libtoolize +ACLOCAL_ARGS= -I. +AUTOMAKE_ARGS= --add-missing +USE_LDCONFIG= yes + +CFLAGS+= -D_FILE_OFFSET_BITS=64 -I${LOCALBASE}/include +LDFLAGS+= -L${LOCALBASE}/lib + +.include <bsd.port.options.mk> + +CONFIGURE_ARGS+=--prefix="${PREFIX}" + +MAN1= afpcmd.1 afpgetstatus.1 + +.if ${PORT_OPTIONS:MFUSE} +LIB_DEPENDS+= fuse:${PORTSDIR}/sysutils/fusefs-libs +CONFIGURE_ARGS+=--enable-fuse +.else +CONFIGURE_ARGS+=--disable-fuse +.endif + +.if ${PORT_OPTIONS:MGCRYPT} +LIB_DEPENDS+= gcrypt:${PORTSDIR}/security/libgcrypt +CONFIGURE_ARGS+=--enable-gcrypt +.else +CONFIGURE_ARGS+=--disable-gcrypt +.endif + +.include <bsd.port.pre.mk> + +post-patch: .SILENT + ${REINPLACE_CMD} 's|$$(libdir)/\(pkgconfig\)|$$(prefix)/libdata/\1|' \ + ${WRKSRC}/Makefile.am + +post-configure: .SILENT + ${REINPLACE_CMD} 's|LIBS = |LIBS = -liconv |' \ + ${WRKSRC}/cmdline/Makefile + +.include <bsd.port.post.mk> Added: head/net/afpfs-ng/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/afpfs-ng/distinfo Mon Feb 18 04:43:58 2013 (r312474) @@ -0,0 +1,2 @@ +SHA256 (afpfs-ng-0.8.1.tar.bz2) = 688560de1cde57ab8d9e0ef7dc6436dbf0267fe8884f9014e50ff92b297b01a8 +SIZE (afpfs-ng-0.8.1.tar.bz2) = 344014 Added: head/net/afpfs-ng/files/patch-Makefile.am ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/afpfs-ng/files/patch-Makefile.am Mon Feb 18 04:43:58 2013 (r312474) @@ -0,0 +1,11 @@ +--- Makefile.am.orig 2008-02-18 03:24:14.000000000 +0000 ++++ Makefile.am 2012-10-14 13:11:34.000000000 +0000 +@@ -1,5 +1,5 @@ + if HAVE_LIBFUSE +-SUBDIRS = lib fuse cmdline docs ++SUBDIRS = lib fuse cmdline include docs + else +-SUBDIRS = lib cmdline docs ++SUBDIRS = lib cmdline include docs + endif +diff -Naur afpfs-ng-0.8.1.orig/cmdline/cmdline_afp.c afpfs-ng-0.8.1/cmdline/cmdline_afp.c Added: head/net/afpfs-ng/files/patch-cmdline__cmdline_afp.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/afpfs-ng/files/patch-cmdline__cmdline_afp.c Mon Feb 18 04:43:58 2013 (r312474) @@ -0,0 +1,16 @@ +--- cmdline/cmdline_afp.c.orig 2008-02-19 01:54:19.000000000 +0000 ++++ cmdline/cmdline_afp.c 2012-10-14 13:11:33.000000000 +0000 +@@ -3,9 +3,9 @@ + + */ + +-#include "afp.h" +-#include "midlevel.h" +-#include "map_def.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/midlevel.h" ++#include "afpfs-ng/map_def.h" + + #include <string.h> + #include <stdio.h> +diff -Naur afpfs-ng-0.8.1.orig/cmdline/cmdline_testafp.c afpfs-ng-0.8.1/cmdline/cmdline_testafp.c Added: head/net/afpfs-ng/files/patch-cmdline__cmdline_testafp.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/afpfs-ng/files/patch-cmdline__cmdline_testafp.c Mon Feb 18 04:43:58 2013 (r312474) @@ -0,0 +1,14 @@ +--- cmdline/cmdline_testafp.c.orig 2008-03-04 20:16:50.000000000 +0000 ++++ cmdline/cmdline_testafp.c 2012-10-14 13:11:33.000000000 +0000 +@@ -3,8 +3,8 @@ + + */ + +-#include "afp.h" +-#include "midlevel.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/midlevel.h" + + #include "cmdline_main.h" + +diff -Naur afpfs-ng-0.8.1.orig/cmdline/getstatus.c afpfs-ng-0.8.1/cmdline/getstatus.c Added: head/net/afpfs-ng/files/patch-cmdline__getstatus.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/afpfs-ng/files/patch-cmdline__getstatus.c Mon Feb 18 04:43:58 2013 (r312474) @@ -0,0 +1,14 @@ +--- cmdline/getstatus.c.orig 2008-02-18 03:28:09.000000000 +0000 ++++ cmdline/getstatus.c 2012-10-14 13:11:43.000000000 +0000 +@@ -1,8 +1,9 @@ + #include <stdio.h> ++#include <stdlib.h> + #include <string.h> + #include <pthread.h> + +-#include "afp.h" ++#include "afpfs-ng/afp.h" + + static int getstatus(char * address_string, unsigned int port) + { +diff -Naur afpfs-ng-0.8.1.orig/configure.ac afpfs-ng-0.8.1/configure.ac Added: head/net/afpfs-ng/files/patch-configure.ac ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/afpfs-ng/files/patch-configure.ac Mon Feb 18 04:43:58 2013 (r312474) @@ -0,0 +1,42 @@ +--- configure.ac.orig 2008-03-08 16:23:12.000000000 +0000 ++++ configure.ac 2012-10-14 13:11:39.000000000 +0000 +@@ -11,6 +11,7 @@ + AC_PROG_CC + AC_PROG_INSTALL + AC_PROG_LIBTOOL ++AM_PROG_CC_C_O + + # Checks for libraries. + # FIXME: Replace `main' with a function in `-lncurses': +@@ -50,21 +51,6 @@ + case $host in + *-*-darwin*) + AC_MSG_CHECKING([for correct gcrypt version]) +- AC_RUN_IFELSE( +- [AC_LANG_PROGRAM([ +- #include <gcrypt.h> +- #include <stdio.h>],[ +- char*p= GCRYPT_VERSION; +- unsigned int vers; +- vers=atoi(p)*10000; +- p=strchr(p,'.')+1; +- vers+=atoi(p)*100; +- p=strchr(p,'.')+1; +- vers+=atoi(p); +- if (vers<10400) return 1; +- ])], +- [AC_MSG_RESULT([yes])], +- [AC_MSG_ERROR([version is < 1.4.0])]) + AM_CONDITIONAL(HAVE_LIBGCRYPT, true) + AC_DEFINE([HAVE_LIBGCRYPT], [1] ) + ;; +@@ -105,7 +91,7 @@ + + + +-AC_CONFIG_FILES([lib/Makefile fuse/Makefile cmdline/Makefile Makefile docs/Makefile]) ++AC_CONFIG_FILES([lib/Makefile fuse/Makefile cmdline/Makefile Makefile include/Makefile include/afpfs-ng/Makefile docs/Makefile]) + + AC_OUTPUT + +diff -Naur afpfs-ng-0.8.1.orig/fuse/client.c afpfs-ng-0.8.1/fuse/client.c Added: head/net/afpfs-ng/files/patch-fuse__client.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/afpfs-ng/files/patch-fuse__client.c Mon Feb 18 04:43:58 2013 (r312474) @@ -0,0 +1,30 @@ +--- fuse/client.c.orig 2008-03-08 02:44:16.000000000 +0000 ++++ fuse/client.c 2012-10-14 13:11:44.000000000 +0000 +@@ -12,11 +12,11 @@ + #include <grp.h> + + #include "config.h" +-#include <afp.h> ++#include <afpfs-ng/afp.h> + #include "afp_server.h" +-#include "uams_def.h" +-#include "map_def.h" +-#include "libafpclient.h" ++#include "afpfs-ng/uams_def.h" ++#include "afpfs-ng/map_def.h" ++#include "afpfs-ng/libafpclient.h" + + #define default_uam "Cleartxt Passwrd" + +@@ -61,8 +61,9 @@ + snprintf(filename, PATH_MAX, + "/usr/local/bin/%s",AFPFSD_FILENAME); + if (access(filename,X_OK)) { +- snprintf(filename, "/usr/bin/%s", ++ snprintf(filename, sizeof(filename), "/usr/bin/%s", + AFPFSD_FILENAME); ++ filename[sizeof(filename) - 1] = 0; + if (access(filename,X_OK)) { + printf("Could not find server (%s)\n", + filename); +diff -Naur afpfs-ng-0.8.1.orig/fuse/commands.c afpfs-ng-0.8.1/fuse/commands.c Added: head/net/afpfs-ng/files/patch-fuse__commands.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/afpfs-ng/files/patch-fuse__commands.c Mon Feb 18 04:43:58 2013 (r312474) @@ -0,0 +1,26 @@ +--- fuse/commands.c.orig 2008-03-08 16:06:25.000000000 +0000 ++++ fuse/commands.c 2012-10-14 13:11:33.000000000 +0000 +@@ -19,15 +19,15 @@ + #include <getopt.h> + #include <signal.h> + +-#include "afp.h" +-#include "dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/dsi.h" + #include "afp_server.h" +-#include "utils.h" ++#include "afpfs-ng/utils.h" + #include "daemon.h" +-#include "uams_def.h" +-#include "codepage.h" +-#include "libafpclient.h" +-#include "map_def.h" ++#include "afpfs-ng/uams_def.h" ++#include "afpfs-ng/codepage.h" ++#include "afpfs-ng/libafpclient.h" ++#include "afpfs-ng/map_def.h" + #include "fuse_int.h" + #include "fuse_error.h" + #include "fuse_internal.h" +diff -Naur afpfs-ng-0.8.1.orig/fuse/daemon.c afpfs-ng-0.8.1/fuse/daemon.c Added: head/net/afpfs-ng/files/patch-fuse__daemon.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/afpfs-ng/files/patch-fuse__daemon.c Mon Feb 18 04:43:58 2013 (r312474) @@ -0,0 +1,18 @@ +--- fuse/daemon.c.orig 2008-03-04 17:26:05.000000000 +0000 ++++ fuse/daemon.c 2012-10-14 13:11:33.000000000 +0000 +@@ -23,11 +23,11 @@ + #include <signal.h> + #include <sys/socket.h> + +-#include "afp.h" ++#include "afpfs-ng/afp.h" + +-#include "dsi.h" ++#include "afpfs-ng/dsi.h" + #include "afp_server.h" +-#include "utils.h" ++#include "afpfs-ng/utils.h" + #include "daemon.h" + #include "commands.h" + +diff -Naur afpfs-ng-0.8.1.orig/fuse/fuse_error.c afpfs-ng-0.8.1/fuse/fuse_error.c Added: head/net/afpfs-ng/files/patch-fuse__fuse_error.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/afpfs-ng/files/patch-fuse__fuse_error.c Mon Feb 18 04:43:58 2013 (r312474) @@ -0,0 +1,12 @@ +--- fuse/fuse_error.c.orig 2008-01-18 04:40:10.000000000 +0000 ++++ fuse/fuse_error.c 2012-10-14 13:11:33.000000000 +0000 +@@ -4,7 +4,7 @@ + #include <unistd.h> + #include <string.h> + #include <stdio.h> +-#include "libafpclient.h" ++#include "afpfs-ng/libafpclient.h" + #include "fuse_internal.h" + + #define TMP_FILE "/tmp/fuse_stderr" +diff -Naur afpfs-ng-0.8.1.orig/fuse/fuse_int.c afpfs-ng-0.8.1/fuse/fuse_int.c Added: head/net/afpfs-ng/files/patch-fuse__fuse_int.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/afpfs-ng/files/patch-fuse__fuse_int.c Mon Feb 18 04:43:58 2013 (r312474) @@ -0,0 +1,36 @@ +--- fuse/fuse_int.c.orig 2008-03-02 05:06:24.000000000 +0000 ++++ fuse/fuse_int.c 2012-10-14 13:11:44.000000000 +0000 +@@ -18,7 +18,7 @@ + #define FUSE_USE_VERSION 25 + + +-#include "afp.h" ++#include "afpfs-ng/afp.h" + + #include <fuse.h> + #include <stdio.h> +@@ -39,10 +39,10 @@ + #include <pwd.h> + #include <stdarg.h> + +-#include "dsi.h" +-#include "afp_protocol.h" +-#include "codepage.h" +-#include "midlevel.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp_protocol.h" ++#include "afpfs-ng/codepage.h" ++#include "afpfs-ng/midlevel.h" + #include "fuse_error.h" + + /* Uncomment the following line to enable full debugging: */ +@@ -197,7 +197,7 @@ + ret = ml_open(volume,path,flags,&fp); + + if (ret==0) +- fi->fh=(void *) fp; ++ fi->fh=(unsigned long) fp; + + return ret; + } +diff -Naur afpfs-ng-0.8.1.orig/include/Makefile.am afpfs-ng-0.8.1/include/Makefile.am Added: head/net/afpfs-ng/files/patch-include__Makefile.am ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/afpfs-ng/files/patch-include__Makefile.am Mon Feb 18 04:43:58 2013 (r312474) @@ -0,0 +1,7 @@ +--- include/Makefile.am.orig 1970-01-01 00:00:00.000000000 +0000 ++++ include/Makefile.am 2012-10-14 13:11:34.000000000 +0000 +@@ -0,0 +1,3 @@ ++## Process this file with automake to produce Makefile.in ++ ++SUBDIRS = afpfs-ng +diff -Naur afpfs-ng-0.8.1.orig/include/afp.h afpfs-ng-0.8.1/include/afp.h Added: head/net/afpfs-ng/files/patch-include__afp.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/afpfs-ng/files/patch-include__afp.h Mon Feb 18 04:43:58 2013 (r312474) @@ -0,0 +1,537 @@ +--- include/afp.h.orig 2008-03-08 16:08:18.000000000 +0000 ++++ include/afp.h 2012-10-14 13:11:34.000000000 +0000 +@@ -1,533 +0,0 @@ +- +-#ifndef _AFP_H_ +-#define _AFP_H_ +- +-#include <arpa/inet.h> +-#include <pthread.h> +-#include <netdb.h> +-#include <sys/statvfs.h> +-#include <pwd.h> +-#include <afp_protocol.h> +-#include <libafpclient.h> +-#include <sys/types.h> +-#include <sys/stat.h> +-#include <unistd.h> +-#include <netinet/in.h> +- +- +-#define AFPFS_VERSION "0.8.1" +- +-/* This is the maximum AFP version this library supports */ +-#define AFP_MAX_SUPPORTED_VERSION 32 +- +-/* afp_url is used to pass locations around */ +-struct afp_url { +- enum {TCPIP,AT} protocol; +- char username[AFP_MAX_USERNAME_LEN]; +- char uamname[50]; +- char password[AFP_MAX_PASSWORD_LEN]; +- char servername[AFP_SERVER_NAME_UTF8_LEN]; +- int port; +- char volumename[AFP_VOLUME_NAME_UTF8_LEN]; +- char path[AFP_MAX_PATH]; +- +- int requested_version; +- char zone[AFP_ZONE_LEN]; /* Only used for Appletalk */ +- char volpassword[9];; +-}; +- +-struct afp_token { +- unsigned int length; +- char data[AFP_TOKEN_MAX_LEN]; +-}; +- +-#define SERVER_MAX_VERSIONS 10 +-#define SERVER_MAX_UAMS 10 +- +-struct afp_rx_buffer { +- unsigned int size; +- unsigned int maxsize; +- char * data; +- int errorcode; +-}; +- +- +-struct afp_file_info { +- unsigned short attributes; +- unsigned int did; +- unsigned int creation_date; +- unsigned int modification_date; +- unsigned int backup_date; +- unsigned int fileid; +- unsigned short offspring; +- char sync; +- char finderinfo[32]; +- char name[AFP_MAX_PATH]; +- char basename[AFP_MAX_PATH]; +- char translated_name[AFP_MAX_PATH]; +- struct afp_unixprivs unixprivs; +- unsigned int accessrights; +- struct afp_file_info * next; +- struct afp_file_info * largelist_next; +- unsigned char isdir; +- unsigned long long size; +- unsigned short resourcesize; +- unsigned int resource; +- unsigned short forkid; +- struct afp_icon * icon; +- int eof; +-}; +- +- +-#define VOLUME_EXTRA_FLAGS_VOL_CHMOD_KNOWN 0x1 +-#define VOLUME_EXTRA_FLAGS_VOL_CHMOD_BROKEN 0x2 +-#define VOLUME_EXTRA_FLAGS_SHOW_APPLEDOUBLE 0x4 +-#define VOLUME_EXTRA_FLAGS_VOL_SUPPORTS_UNIX 0x8 +-#define VOLUME_EXTRA_FLAGS_NO_LOCKING 0x10 +-#define VOLUME_EXTRA_FLAGS_IGNORE_UNIXPRIVS 0x20 +-#define VOLUME_EXTRA_FLAGS_READONLY 0x40 +- +-#define AFP_VOLUME_UNMOUNTED 0 +-#define AFP_VOLUME_MOUNTED 1 +-#define AFP_VOLUME_UNMOUNTING 2 +- +-struct afp_volume { +- unsigned short volid; +- char flags; /* This is from afpGetSrvrParms */ +- unsigned short attributes; /* This is from VolOpen */ +- unsigned short signature; /* This is fixed or variable */ +- unsigned int creation_date; +- unsigned int modification_date; +- unsigned int backup_date; +- struct statvfs stat; +- unsigned char mounted; +- char mountpoint[255]; +- struct afp_server * server; +- char volume_name[AFP_VOLUME_NAME_LEN]; +- char volume_name_printable[AFP_VOLUME_NAME_UTF8_LEN]; +- unsigned short dtrefnum; +- char volpassword[AFP_VOLPASS_LEN]; +- unsigned int extra_flags; /* This is an afpfs-ng specific field */ +- +- /* Our directory ID cache */ +- struct did_cache_entry * did_cache_base; +- pthread_mutex_t did_cache_mutex; +- +- /* Our journal of open forks */ +- struct afp_file_info * open_forks; +- pthread_mutex_t open_forks_mutex; +- +- /* Used to trigger startup */ +- pthread_cond_t startup_condition_cond; +- +- struct { +- uint64_t hits; +- uint64_t misses; +- uint64_t expired; +- uint64_t force_removed; +- } did_cache_stats; +- +- void * priv; /* This is a private structure for fuse/cmdline, etc */ +- pthread_t thread; /* This is the per-volume thread */ +- +- int mapping; +- +-}; +- +-#define SERVER_STATE_CONNECTED 1 +-#define SERVER_STATE_DISCONNECTED 2 +- +-enum server_type{ +- AFPFS_SERVER_TYPE_UNKNOWN, +- AFPFS_SERVER_TYPE_NETATALK, +- AFPFS_SERVER_TYPE_AIRPORT, +- AFPFS_SERVER_TYPE_MACINTOSH, +-}; +- +-#define is_netatalk(x) ( (x)->machine_type == AFPFS_SERVER_TYPE_NETATALK ) +-#define is_airport(x) ( (x)->machine_type == AFPFS_SERVER_TYPE_AIRPORT ) +-#define is_macintosh(x) ( (x)->machine_type == AFPFS_SERVER_TYPE_MACINTOSH ) +- +- +- +-struct afp_versions { +- char *av_name; +- int av_number; +-}; +-extern struct afp_versions afp_versions[]; +- +-struct afp_server { +- +- /* Our buffer sizes */ +- unsigned int tx_quantum; +- unsigned int rx_quantum; +- +- unsigned int tx_delay; +- +- /* Connection information */ +- struct sockaddr_in address; +- int fd; +- +- /* Some stats, for information only */ +- struct { +- uint64_t runt_packets; +- uint64_t incoming_dsi; +- uint64_t rx_bytes; +- uint64_t tx_bytes; +- uint64_t requests_pending; +- } stats; +- +- /* General information */ +- char server_name[AFP_SERVER_NAME_LEN]; +- char server_name_utf8[AFP_SERVER_NAME_UTF8_LEN]; +- char server_name_printable[AFP_SERVER_NAME_UTF8_LEN]; +- +- char machine_type[17]; +- char icon[256]; +- char signature[16]; +- unsigned short flags; +- int connect_state; +- enum server_type server_type; +- +- /* This is the time we connected */ +- time_t connect_time; +- +- /* UAMs */ +- unsigned int supported_uams; +- unsigned int using_uam; +- +- /* Authentication */ +- char username[AFP_MAX_USERNAME_LEN]; +- char password[AFP_MAX_PASSWORD_LEN]; +- +- /* Session */ +- struct afp_token token; +- char need_resume; +- +- /* Versions */ +- unsigned char requested_version; +- unsigned char versions[SERVER_MAX_VERSIONS]; +- struct afp_versions *using_version; +- +- /* Volumes */ +- unsigned char num_volumes; +- struct afp_volume * volumes; +- +- void * dsi; +- unsigned int exit_flag; +- +- /* Our DSI request queue */ +- pthread_mutex_t requestid_mutex; +- pthread_mutex_t request_queue_mutex; +- unsigned short lastrequestid; +- unsigned short expectedrequestid; +- struct dsi_request * command_requests; +- +- +- char loginmesg[200]; +- char servermesg[200]; +- char path_encoding; +- +- /* This is the data for the incoming buffer */ +- char * incoming_buffer; +- int data_read; +- int bufsize; +- +- /* And this is for the outgoing queue */ +- pthread_mutex_t send_mutex; +- +- /* This is for user mapping */ +- struct passwd passwd; +- unsigned int server_uid, server_gid; +- int server_gid_valid; +- +- struct afp_server *next; +- +- /* These are for DSI attention packets */ +- unsigned int attention_quantum; +- unsigned int attention_len; +- char * attention_buffer; +- +-}; +- +-struct afp_extattr_info { +- unsigned int maxsize; +- unsigned int size; +- char data[1024]; +-}; +-struct afp_comment { +- unsigned int maxsize; +- unsigned int size; +- char *data; +-}; +- +-struct afp_icon { +- unsigned int maxsize; +- unsigned int size; +- char *data; +-}; +- +-#define AFP_DEFAULT_ATTENTION_QUANTUM 1024 +- +-void afp_unixpriv_to_stat(struct afp_file_info *fp, +- struct stat *stat); +- +-int init_uams(void) ; +- +-unsigned int find_uam_by_name(const char * name); +-char * uam_bitmap_to_string(unsigned int bitmap); +- +- +-char * get_uam_names_list(void); +- +-unsigned int default_uams_mask(void); +- +-struct afp_volume * find_volume_by_name(struct afp_server * server, +- const char * volname); +- +-struct afp_connection_request { +- unsigned int uam_mask; +- struct afp_url url; +-}; +- +-void afp_default_url(struct afp_url *url); +-int afp_parse_url(struct afp_url * url, const char * toparse, int verbose); +-void afp_print_url(struct afp_url * url); +-int afp_url_validate(char * url_string, struct afp_url * valid_url); +- +-int afp_list_volnames(struct afp_server * server, char * names, int max); +- +-/* User mapping */ +-int afp_detect_mapping(struct afp_volume * volume); +- +-/* These are some functions that help with simple status text generation */ +- +-int afp_status_header(char * text, int * len); +-int afp_status_server(struct afp_server * s,char * text, int * len); +- +- +-struct afp_server * afp_server_full_connect(void * priv, struct afp_connection_request * req); +- +-void * just_end_it_now(void *other); +-void add_fd_and_signal(int fd); +-void loop_disconnect(struct afp_server *s); +-void afp_wait_for_started_loop(void); +- +- +-struct afp_versions * pick_version(unsigned char *versions, +- unsigned char requested) ; +-int pick_uam(unsigned int u1, unsigned int u2); +- +-int afp_server_login(struct afp_server *server, +- char * mesg, unsigned int *l, unsigned int max); +- +- +-int afp_dologin(struct afp_server *server, +- unsigned int uam, char * username, char * passwd); +- +-void afp_free_server(struct afp_server **server); +- +-struct afp_server * afp_server_init(struct sockaddr_in * address); +-int afp_get_address(void * priv, const char * hostname, unsigned int port, +- struct sockaddr_in * address); +- +- +-int afp_main_loop(int command_fd); +-int afp_main_quick_startup(pthread_t * thread); +- +-int afp_server_destroy(struct afp_server *s) ; +-int afp_server_reconnect(struct afp_server * s, char * mesg, +- unsigned int *l, unsigned int max); +-int afp_server_connect(struct afp_server *s, int full); +- +-struct afp_server * afp_server_complete_connection( +- void * priv, +- struct afp_server * server, +- struct sockaddr_in * address, unsigned char * versions, +- unsigned int uams, char * username, char * password, +- unsigned int requested_version, unsigned int uam_mask); +- +-int afp_connect_volume(struct afp_volume * volume, struct afp_server * server, +- char * mesg, unsigned int * l, unsigned int max); +-int something_is_mounted(struct afp_server * server); +- +-int add_cache_entry(struct afp_file_info * file) ; +-struct afp_file_info * get_cache_by_name(char * name); +-struct afp_server * find_server_by_address(struct sockaddr_in * address); +-struct afp_server * find_server_by_signature(char * signature); +-struct afp_server * find_server_by_name(char * name); +-int server_still_valid(struct afp_server * server); +- +- +-struct afp_server * get_server_base(void); +-int afp_server_remove(struct afp_server * server); +- +-int afp_unmount_volume(struct afp_volume * volume); +-int afp_unmount_all_volumes(struct afp_server * server); +- +-#define volume_is_readonly(x) (((x)->attributes&kReadOnly) || \ +- ((x)->extra_flags & VOLUME_EXTRA_FLAGS_READONLY)) +- +-int afp_opendt(struct afp_volume *volume, unsigned short * refnum); +- +-int afp_closedt(struct afp_server * server, unsigned short * refnum); +- +-int afp_getcomment(struct afp_volume *volume, unsigned int did, +- const char * pathname, struct afp_comment * comment); +- +-int afp_addcomment(struct afp_volume *volume, unsigned int did, +- const char * pathname, char * comment,uint64_t *size); +- +-int afp_geticon(struct afp_volume * volume, unsigned int filecreator, +- unsigned int filetype, unsigned char icontype, +- unsigned short length, struct afp_icon * icon); +- +-/* Things you want to do to a server */ +- +-int afp_getsrvrmsg(struct afp_server *server, unsigned short messagetype,unsigned char utf8, unsigned char block, char * mesg); +- +-int afp_login(struct afp_server *server, char * uaname, +- char * userauthinfo, unsigned int userauthinfo_len, +- struct afp_rx_buffer *rx); +- +-int afp_changepassword(struct afp_server *server, char * uaname, +- char * userauthinfo, unsigned int userauthinfo_len, +- struct afp_rx_buffer *rx); +- +-int afp_logincont(struct afp_server *server, unsigned short id, +- char * userauthinfo, unsigned int userauthinfo_len, +- struct afp_rx_buffer *rx); +- +-int afp_getsessiontoken(struct afp_server * server, int type, +- unsigned int timestamp, struct afp_token *outgoing_token, +- struct afp_token * incoming_token); +- +-int afp_getsrvrparms(struct afp_server *server); +- +-int afp_logout(struct afp_server *server,unsigned char wait); +- +-int afp_mapname(struct afp_server * server, unsigned char subfunction, +- char * name, unsigned int * id); +- +-int afp_mapid(struct afp_server * server, unsigned char subfunction, +- unsigned int id, char *name); +- +-int afp_getuserinfo(struct afp_server * server, int thisuser, +- unsigned int userid, unsigned short bitmap, +- unsigned int *newuid, unsigned int *newgid); +- +-int afp_zzzzz(struct afp_server *server); +- +-int afp_volopen(struct afp_volume * volume, +- unsigned short bitmap, char * password); +- +-int afp_flush(struct afp_volume * volume); +- +-int afp_getfiledirparms(struct afp_volume *volume, unsigned int did, +- unsigned int filebitmap, unsigned int dirbitmap, const char * pathname, +- struct afp_file_info *fp); +- +-int afp_enumerate(struct afp_volume * volume, +- unsigned int dirid, +- unsigned int filebitmap, unsigned int dirbitmap, +- unsigned short reqcount, +- unsigned short startindex, +- char * path, +- struct afp_file_info ** file_p); +- +-int afp_enumerateext2(struct afp_volume * volume, +- unsigned int dirid, +- unsigned int filebitmap, unsigned int dirbitmap, +- unsigned short reqcount, +- unsigned long startindex, +- char * path, +- struct afp_file_info ** file_p); +- +-int afp_openfork(struct afp_volume * volume, +- unsigned char forktype, +- unsigned int dirid, +- unsigned short accessmode, +- char * filename, +- struct afp_file_info *fp); +- +-int afp_read(struct afp_volume * volume, unsigned short forkid, +- uint32_t offset, +- uint32_t count, struct afp_rx_buffer * rx); +- +-int afp_readext(struct afp_volume * volume, unsigned short forkid, +- uint64_t offset, +- uint64_t count, struct afp_rx_buffer * rx); +- +-int afp_getvolparms(struct afp_volume * volume, unsigned short bitmap); +- +- +-int afp_createdir(struct afp_volume * volume, unsigned int dirid, const char * pathname, unsigned int *did_p); +- +-int afp_delete(struct afp_volume * volume, +- unsigned int dirid, char * pathname); +- +- +-int afp_createfile(struct afp_volume * volume, unsigned char flag, +- unsigned int did, char * pathname); +- +-int afp_write(struct afp_volume * volume, unsigned short forkid, +- uint32_t offset, uint32_t reqcount, +- char * data, uint32_t * written); +- +-int afp_writeext(struct afp_volume * volume, unsigned short forkid, +- uint64_t offset, uint64_t reqcount, +- char * data, uint64_t * written); +- +-int afp_flushfork(struct afp_volume * volume, unsigned short forkid); +- +-int afp_closefork(struct afp_volume * volume, unsigned short forkid); +-int afp_setfileparms(struct afp_volume * volume, +- unsigned int dirid, const char * pathname, unsigned short bitmap, +- struct afp_file_info *fp); +-int afp_setfiledirparms(struct afp_volume * volume, +- unsigned int dirid, const char * pathname, unsigned short bitmap, +- struct afp_file_info *fp); +- +-int afp_setdirparms(struct afp_volume * volume, +- unsigned int dirid, const char * pathname, unsigned short bitmap, +- struct afp_file_info *fp); +- +-int afp_volclose(struct afp_volume * volume); +- +- +-int afp_setforkparms(struct afp_volume *volume, +- unsigned short forkid, unsigned short bitmap, unsigned long len); +- +-int afp_byterangelock(struct afp_volume * volume, +- unsigned char flag, +- unsigned short forkid, +- uint32_t offset, +- uint32_t len, uint32_t *generated_offset); +- +-int afp_byterangelockext(struct afp_volume * volume, +- unsigned char flag, +- unsigned short forkid, +- uint64_t offset, +- uint64_t len, uint64_t *generated_offset); +- +-int afp_moveandrename(struct afp_volume *volume, +- unsigned int src_did, +- unsigned int dst_did, +- char * src_path, char * dst_path, char *new_name); +- +-int afp_rename(struct afp_volume * volume, +- unsigned int dirid, +- char * path_from, char * path_to); +- +-int afp_listextattr(struct afp_volume * volume, +- unsigned int dirid, unsigned short bitmap, +- char * pathname, struct afp_extattr_info * info); +- +-/* This is a currently undocumented command */ +-int afp_newcommand76(struct afp_volume * volume, unsigned int dlen, char * data); +- +-/* For debugging */ +-char * afp_get_command_name(char code); +- +- +-#endif +diff -Naur afpfs-ng-0.8.1.orig/include/afp_protocol.h afpfs-ng-0.8.1/include/afp_protocol.h Added: head/net/afpfs-ng/files/patch-include__afpfs-ng__Makefile.am ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/afpfs-ng/files/patch-include__afpfs-ng__Makefile.am Mon Feb 18 04:43:58 2013 (r312474) @@ -0,0 +1,10 @@ +--- include/afpfs-ng/Makefile.am.orig 1970-01-01 00:00:00.000000000 +0000 ++++ include/afpfs-ng/Makefile.am 2012-10-14 13:11:34.000000000 +0000 +@@ -0,0 +1,6 @@ ++## Process this file with automake to produce Makefile.in ++ ++afpfsincludedir = $(includedir)/afpfs-ng ++ ++afpfsinclude_HEADERS = afp.h afp_protocol.h libafpclient.h ++nodist_afpfsinclude_HEADERS = codepage.h dsi.h map_def.h midlevel.h uams_def.h utils.h +diff -Naur afpfs-ng-0.8.1.orig/include/afpfs-ng/afp.h afpfs-ng-0.8.1/include/afpfs-ng/afp.h Added: head/net/afpfs-ng/files/patch-include__afpfs-ng__afp.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/afpfs-ng/files/patch-include__afpfs-ng__afp.h Mon Feb 18 04:43:58 2013 (r312474) @@ -0,0 +1,537 @@ +--- include/afpfs-ng/afp.h.orig 1970-01-01 00:00:00.000000000 +0000 ++++ include/afpfs-ng/afp.h 2012-10-14 13:11:44.000000000 +0000 +@@ -0,0 +1,533 @@ ++ ++#ifndef _AFP_H_ ++#define _AFP_H_ ++ ++#include <arpa/inet.h> ++#include <pthread.h> ++#include <netdb.h> ++#include <sys/statvfs.h> ++#include <pwd.h> ++#include <afpfs-ng/afp_protocol.h> ++#include <afpfs-ng/libafpclient.h> ++#include <sys/types.h> ++#include <sys/stat.h> ++#include <unistd.h> ++#include <netinet/in.h> ++ ++ ++#define AFPFS_VERSION "0.8.1" ++ ++/* This is the maximum AFP version this library supports */ ++#define AFP_MAX_SUPPORTED_VERSION 32 ++ ++/* afp_url is used to pass locations around */ ++struct afp_url { ++ enum {TCPIP,AT} protocol; ++ char username[AFP_MAX_USERNAME_LEN]; ++ char uamname[50]; ++ char password[AFP_MAX_PASSWORD_LEN]; ++ char servername[AFP_SERVER_NAME_UTF8_LEN]; ++ int port; ++ char volumename[AFP_VOLUME_NAME_UTF8_LEN]; ++ char path[AFP_MAX_PATH]; ++ ++ int requested_version; ++ char zone[AFP_ZONE_LEN]; /* Only used for Appletalk */ ++ char volpassword[9];; ++}; ++ ++struct afp_token { ++ unsigned int length; ++ char data[AFP_TOKEN_MAX_LEN]; ++}; ++ ++#define SERVER_MAX_VERSIONS 10 ++#define SERVER_MAX_UAMS 10 ++ ++struct afp_rx_buffer { ++ unsigned int size; ++ unsigned int maxsize; ++ char * data; ++ int errorcode; ++}; ++ ++ ++struct afp_file_info { ++ unsigned short attributes; ++ unsigned int did; ++ unsigned int creation_date; ++ unsigned int modification_date; ++ unsigned int backup_date; ++ unsigned int fileid; ++ unsigned short offspring; ++ char sync; ++ char finderinfo[32]; ++ char name[AFP_MAX_PATH]; ++ char basename[AFP_MAX_PATH]; ++ char translated_name[AFP_MAX_PATH]; ++ struct afp_unixprivs unixprivs; ++ unsigned int accessrights; ++ struct afp_file_info * next; ++ struct afp_file_info * largelist_next; ++ unsigned char isdir; ++ unsigned long long size; ++ unsigned short resourcesize; ++ unsigned int resource; ++ unsigned short forkid; ++ struct afp_icon * icon; ++ int eof; ++}; ++ ++ ++#define VOLUME_EXTRA_FLAGS_VOL_CHMOD_KNOWN 0x1 ++#define VOLUME_EXTRA_FLAGS_VOL_CHMOD_BROKEN 0x2 ++#define VOLUME_EXTRA_FLAGS_SHOW_APPLEDOUBLE 0x4 ++#define VOLUME_EXTRA_FLAGS_VOL_SUPPORTS_UNIX 0x8 ++#define VOLUME_EXTRA_FLAGS_NO_LOCKING 0x10 ++#define VOLUME_EXTRA_FLAGS_IGNORE_UNIXPRIVS 0x20 ++#define VOLUME_EXTRA_FLAGS_READONLY 0x40 ++ ++#define AFP_VOLUME_UNMOUNTED 0 ++#define AFP_VOLUME_MOUNTED 1 ++#define AFP_VOLUME_UNMOUNTING 2 ++ ++struct afp_volume { ++ unsigned short volid; ++ char flags; /* This is from afpGetSrvrParms */ ++ unsigned short attributes; /* This is from VolOpen */ ++ unsigned short signature; /* This is fixed or variable */ ++ unsigned int creation_date; ++ unsigned int modification_date; ++ unsigned int backup_date; ++ struct statvfs stat; ++ unsigned char mounted; ++ char mountpoint[255]; ++ struct afp_server * server; ++ char volume_name[AFP_VOLUME_NAME_LEN]; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"