diff options
53 files changed, 3970 insertions, 1606 deletions
diff --git a/community/afpfs-ng/01-gcrypt.patch b/community/afpfs-ng/01-gcrypt.patch new file mode 100644 index 000000000..7bcace281 --- /dev/null +++ b/community/afpfs-ng/01-gcrypt.patch @@ -0,0 +1,26 @@ +diff -ru afpfs-ng-0.8.1/configure.ac afpfs-ng-0.8.1+iPhone/configure.ac +--- afpfs-ng-0.8.1/configure.ac 2008-03-08 16:23:12.000000000 +0000 ++++ afpfs-ng-0.8.1+iPhone/configure.ac 2010-10-24 05:26:15.000000000 +0000 +@@ -50,21 +50,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] ) + ;; + diff --git a/community/afpfs-ng/02-pointer.patch b/community/afpfs-ng/02-pointer.patch new file mode 100644 index 000000000..80507b572 --- /dev/null +++ b/community/afpfs-ng/02-pointer.patch @@ -0,0 +1,280 @@ +diff -up afpfs-ng-0.8.1/cmdline/getstatus.c.pointer afpfs-ng-0.8.1/cmdline/getstatus.c +--- afpfs-ng-0.8.1/cmdline/getstatus.c.pointer 2011-06-14 17:06:35.000000000 +0200 ++++ afpfs-ng-0.8.1/cmdline/getstatus.c 2011-06-14 17:07:25.000000000 +0200 +@@ -1,4 +1,5 @@ + #include <stdio.h> ++#include <stdlib.h> + #include <string.h> + #include <pthread.h> + +diff -up afpfs-ng-0.8.1/fuse/client.c.pointer afpfs-ng-0.8.1/fuse/client.c +--- afpfs-ng-0.8.1/fuse/client.c.pointer 2008-03-08 03:44:16.000000000 +0100 ++++ afpfs-ng-0.8.1/fuse/client.c 2011-06-14 17:02:15.000000000 +0200 +@@ -61,8 +61,9 @@ static int start_afpfsd(void) + 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 -up afpfs-ng-0.8.1/fuse/fuse_int.c.pointer afpfs-ng-0.8.1/fuse/fuse_int.c +--- afpfs-ng-0.8.1/fuse/fuse_int.c.pointer 2008-03-02 06:06:24.000000000 +0100 ++++ afpfs-ng-0.8.1/fuse/fuse_int.c 2011-06-14 17:02:15.000000000 +0200 +@@ -197,7 +197,7 @@ static int fuse_open(const char *path, s + ret = ml_open(volume,path,flags,&fp); + + if (ret==0) +- fi->fh=(void *) fp; ++ fi->fh=(unsigned long) fp; + + return ret; + } +diff -up afpfs-ng-0.8.1/include/afpfs-ng/afp.h.pointer afpfs-ng-0.8.1/include/afp.h +--- afpfs-ng-0.8.1/include/afpfs-ng/afp.h.pointer 2008-03-08 17:08:18.000000000 +0100 ++++ afpfs-ng-0.8.1/include/afpfs-ng/afp.h 2011-06-14 17:02:15.000000000 +0200 +@@ -370,7 +370,7 @@ int afp_unmount_all_volumes(struct afp_s + + int afp_opendt(struct afp_volume *volume, unsigned short * refnum); + +-int afp_closedt(struct afp_server * server, 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); +diff -up afpfs-ng-0.8.1/include/afpfs-gn/utils.h.pointer afpfs-ng-0.8.1/include/utils.h +--- afpfs-ng-0.8.1/include/afpfs-ng/utils.h.pointer 2008-02-18 04:33:58.000000000 +0100 ++++ afpfs-ng-0.8.1/include/afpfs-ng/utils.h 2011-06-14 17:02:15.000000000 +0200 +@@ -8,8 +8,8 @@ + #define hton64(x) (x) + #define ntoh64(x) (x) + #else /* BYTE_ORDER == BIG_ENDIAN */ +-#define hton64(x) ((u_int64_t) (htonl(((x) >> 32) & 0xffffffffLL)) | \ +- (u_int64_t) ((htonl(x) & 0xffffffffLL) << 32)) ++#define hton64(x) ((u_int64_t) (htonl((((unsigned long long)(x)) >> 32) & 0xffffffffLL)) | \ ++ (u_int64_t) ((htonl((unsigned long long)(x)) & 0xffffffffLL) << 32)) + #define ntoh64(x) (hton64(x)) + #endif /* BYTE_ORDER == BIG_ENDIAN */ + +diff -up afpfs-ng-0.8.1/lib/afp_url.c.pointer afpfs-ng-0.8.1/lib/afp_url.c +--- afpfs-ng-0.8.1/lib/afp_url.c.pointer 2008-03-04 21:16:49.000000000 +0100 ++++ afpfs-ng-0.8.1/lib/afp_url.c 2011-06-14 17:02:15.000000000 +0200 +@@ -33,7 +33,7 @@ static int check_port(char * port) + static int check_uamname(const char * uam) + { + char * p; +- for (p=uam;*p;p++) { ++ for (p=(char *)uam;*p;p++) { + if (*p==' ') continue; + if ((*p<'A') || (*p>'z')) return -1; + } +@@ -188,7 +188,7 @@ int afp_parse_url(struct afp_url * url, + return -1; + + } +- if (p==NULL) p=toparse; ++ if (p==NULL) p=(char *)toparse; + + /* Now split on the first / */ + if (sscanf(p,"%[^/]/%[^$]", +diff -up afpfs-ng-0.8.1/lib/did.c.pointer afpfs-ng-0.8.1/lib/did.c +--- afpfs-ng-0.8.1/lib/did.c.pointer 2008-02-18 04:39:17.000000000 +0100 ++++ afpfs-ng-0.8.1/lib/did.c 2011-06-14 17:02:15.000000000 +0200 +@@ -226,7 +226,7 @@ int get_dirid(struct afp_volume * volume + + + /* Go to the end of last known entry */ +- p=path+(p-copy); ++ p=(char *)path+(p-copy); + p2=p; + + while ((p=strchr(p+1,'/'))) { +diff -up afpfs-ng-0.8.1/lib/dsi.c.pointer afpfs-ng-0.8.1/lib/dsi.c +--- afpfs-ng-0.8.1/lib/dsi.c.pointer 2008-02-18 04:53:03.000000000 +0100 ++++ afpfs-ng-0.8.1/lib/dsi.c 2011-06-14 17:02:15.000000000 +0200 +@@ -474,7 +474,7 @@ void dsi_getstatus_reply(struct afp_serv + } + server->flags=ntohs(reply1->flags); + +- p=(void *)((unsigned int) server->incoming_buffer + sizeof(*reply1)); ++ p=(void *)((unsigned long) server->incoming_buffer + sizeof(*reply1)); + p+=copy_from_pascal(server->server_name,p,AFP_SERVER_NAME_LEN)+1; + + /* Now work our way through the variable bits */ +@@ -757,7 +757,7 @@ gotenough: + printf("<<< read() of rest of AFP, %d bytes\n",amount_to_read); + #endif + ret = read(server->fd, (void *) +- (((unsigned int) server->incoming_buffer)+server->data_read), ++ (((unsigned long) server->incoming_buffer)+server->data_read), + amount_to_read); + if (ret<0) return -1; + if (ret==0) { +diff -up afpfs-ng-0.8.1/lib/loop.c.pointer afpfs-ng-0.8.1/lib/loop.c +--- afpfs-ng-0.8.1/lib/loop.c.pointer 2008-02-18 04:40:11.000000000 +0100 ++++ afpfs-ng-0.8.1/lib/loop.c 2011-06-14 17:02:15.000000000 +0200 +@@ -25,7 +25,7 @@ + static unsigned char exit_program=0; + + static pthread_t ending_thread; +-static pthread_t main_thread = NULL; ++static pthread_t main_thread = (pthread_t)NULL; + + static int loop_started=0; + static pthread_cond_t loop_started_condition; +diff -up afpfs-ng-0.8.1/lib/lowlevel.c.pointer afpfs-ng-0.8.1/lib/lowlevel.c +--- afpfs-ng-0.8.1/lib/lowlevel.c.pointer 2008-02-20 02:33:17.000000000 +0100 ++++ afpfs-ng-0.8.1/lib/lowlevel.c 2011-06-14 17:02:15.000000000 +0200 +@@ -582,7 +582,7 @@ int ll_getattr(struct afp_volume * volum + if (volume->server->using_version->av_number>=30) + stbuf->st_mode |= fp.unixprivs.permissions; + else +- set_nonunix_perms(stbuf,&fp); ++ set_nonunix_perms(&stbuf->st_mode,&fp); + + stbuf->st_uid=fp.unixprivs.uid; + stbuf->st_gid=fp.unixprivs.gid; +diff -up afpfs-ng-0.8.1/lib/midlevel.c.pointer afpfs-ng-0.8.1/lib/midlevel.c +--- afpfs-ng-0.8.1/lib/midlevel.c.pointer 2008-03-08 17:08:18.000000000 +0100 ++++ afpfs-ng-0.8.1/lib/midlevel.c 2011-06-14 17:02:15.000000000 +0200 +@@ -713,7 +713,7 @@ int ml_write(struct afp_volume * volume, + { + + int ret,err=0; +- int totalwritten = 0; ++ size_t totalwritten = 0; + uint64_t sizetowrite, ignored; + unsigned char flags = 0; + unsigned int max_packet_size=volume->server->tx_quantum; +diff -up afpfs-ng-0.8.1/lib/proto_attr.c.pointer afpfs-ng-0.8.1/lib/proto_attr.c +--- afpfs-ng-0.8.1/lib/proto_attr.c.pointer 2008-01-30 05:37:58.000000000 +0100 ++++ afpfs-ng-0.8.1/lib/proto_attr.c 2011-06-14 17:02:15.000000000 +0200 +@@ -166,7 +166,7 @@ int afp_getextattr(struct afp_volume * v + copy_path(server,p,pathname,strlen(pathname)); + unixpath_to_afppath(server,p); + p2=p+sizeof_path_header(server)+strlen(pathname); +- if (((unsigned int ) p2) & 0x1) p2++; ++ if (((unsigned long) p2) & 0x1) p2++; + req2=(void *) p2; + + req2->len=htons(namelen); +diff -up afpfs-ng-0.8.1/lib/proto_desktop.c.pointer afpfs-ng-0.8.1/lib/proto_desktop.c +--- afpfs-ng-0.8.1/lib/proto_desktop.c.pointer 2008-02-18 04:44:11.000000000 +0100 ++++ afpfs-ng-0.8.1/lib/proto_desktop.c 2011-06-14 17:02:15.000000000 +0200 +@@ -168,7 +168,7 @@ int afp_getcomment_reply(struct afp_serv + return 0; + } + +-int afp_closedt(struct afp_server * server, unsigned short * refnum) ++int afp_closedt(struct afp_server * server, unsigned short refnum) + { + struct { + struct dsi_header dsi_header __attribute__((__packed__)); +diff -up afpfs-ng-0.8.1/lib/proto_directory.c.pointer afpfs-ng-0.8.1/lib/proto_directory.c +--- afpfs-ng-0.8.1/lib/proto_directory.c.pointer 2008-02-19 03:39:29.000000000 +0100 ++++ afpfs-ng-0.8.1/lib/proto_directory.c 2011-06-14 17:02:15.000000000 +0200 +@@ -248,6 +248,7 @@ int afp_enumerate_reply(struct afp_serve + + return 0; + } ++ + int afp_enumerateext2_reply(struct afp_server *server, char * buf, unsigned int size, void * other) + { + +@@ -266,8 +267,7 @@ int afp_enumerateext2_reply(struct afp_s + char * p = buf + sizeof(*reply); + int i; + char *max=buf+size; +- struct afp_file_info * filebase = NULL, *filecur=NULL, *new_file=NULL; +- void ** x = other; ++ struct afp_file_info * filebase = NULL, *filecur = NULL, *new_file = NULL, **x = (struct afp_file_info **) other; + + if (reply->dsi_header.return_code.error_code) { + return reply->dsi_header.return_code.error_code; +diff -up afpfs-ng-0.8.1/lib/proto_map.c.pointer afpfs-ng-0.8.1/lib/proto_map.c +--- afpfs-ng-0.8.1/lib/proto_map.c.pointer 2008-01-30 05:37:59.000000000 +0100 ++++ afpfs-ng-0.8.1/lib/proto_map.c 2011-06-14 17:02:15.000000000 +0200 +@@ -122,7 +122,7 @@ int afp_mapid_reply(struct afp_server *s + + if (reply->header.return_code.error_code!=kFPNoErr) return -1; + +- copy_from_pascal_two(name,&reply->name,255); ++ copy_from_pascal_two(name,reply->name,255); + + return 0; + } +diff -up afpfs-ng-0.8.1/lib/proto_session.c.pointer afpfs-ng-0.8.1/lib/proto_session.c +--- afpfs-ng-0.8.1/lib/proto_session.c.pointer 2008-02-18 04:46:19.000000000 +0100 ++++ afpfs-ng-0.8.1/lib/proto_session.c 2011-06-14 17:02:15.000000000 +0200 +@@ -39,7 +39,7 @@ int afp_getsessiontoken(struct afp_serve + switch (type) { + case kLoginWithTimeAndID: + case kReconnWithTimeAndID: { +- uint32_t *p = (void *) (((unsigned int) request)+ ++ uint32_t *p = (void *) (((unsigned long) request)+ + sizeof(*request)); + + offset=sizeof(timestamp); +@@ -63,7 +63,7 @@ int afp_getsessiontoken(struct afp_serve + goto error; + } + +- data=(void *) (((unsigned int) request)+sizeof(*request)+offset); ++ data=(void *) (((unsigned long) request)+sizeof(*request)+offset); + request->idlength=htonl(datalen); + request->pad=0; + request->type=htons(type); +@@ -127,7 +127,7 @@ int afp_disconnectoldsession(struct afp_ + if ((request=malloc(sizeof(*request) + AFP_TOKEN_MAX_LEN))==NULL) + return -1; + +- token_data = request + sizeof(*request); ++ token_data = (char *)request + sizeof(*request); + + request->type=htons(type); + +diff -up afpfs-ng-0.8.1/lib/uams.c.pointer afpfs-ng-0.8.1/lib/uams.c +--- afpfs-ng-0.8.1/lib/uams.c.pointer 2008-01-04 04:52:44.000000000 +0100 ++++ afpfs-ng-0.8.1/lib/uams.c 2011-06-14 17:02:15.000000000 +0200 +@@ -180,7 +180,7 @@ static int cleartxt_login(struct afp_ser + goto cleartxt_fail; + + p += copy_to_pascal(p, username) + 1; +- if ((int)p & 0x1) ++ if ((long)p & 0x1) + len--; + else + p++; +@@ -230,7 +230,7 @@ static int cleartxt_passwd(struct afp_se + goto cleartxt_fail; + + p += copy_to_pascal(p, username) + 1; +- if ((int)p & 0x1) ++ if ((long)p & 0x1) + len--; + else + p++; +@@ -580,7 +580,7 @@ static int dhx_login(struct afp_server * + if (ai == NULL) + goto dhx_noctx_fail; + d += copy_to_pascal(ai, username) + 1; +- if (((int)d) % 2) ++ if (((long)d) % 2) + d++; + else + ai_len--; +diff -up afpfs-ng-0.8.1/lib/utils.c.pointer afpfs-ng-0.8.1/lib/utils.c +--- afpfs-ng-0.8.1/lib/utils.c.pointer 2008-02-18 04:53:37.000000000 +0100 ++++ afpfs-ng-0.8.1/lib/utils.c 2011-06-14 17:02:15.000000000 +0200 +@@ -196,7 +196,7 @@ int invalid_filename(struct afp_server * + maxlen=255; + + +- p=filename+1; ++ p=(char *)filename+1; + while ((q=strchr(p,'/'))) { + if (q>p+maxlen) + return 1; diff --git a/community/afpfs-ng/10-fix-errno.patch b/community/afpfs-ng/10-fix-errno.patch new file mode 100644 index 000000000..ff7ce44bd --- /dev/null +++ b/community/afpfs-ng/10-fix-errno.patch @@ -0,0 +1,23 @@ +--- afpfs-ng-0.8.1/lib/afp.c 2011-09-04 19:42:42.000000000 +0200 ++++ afpfs-ng-0.8.1/lib/afp.c 2011-09-04 19:39:44.000000000 +0200 +@@ -19,7 +19,6 @@ + #include <sys/time.h> + #include <sys/types.h> + #include <sys/socket.h> +-#include <errno.h> + + #include <afpfs-ng/afp_protocol.h> + #include <afpfs-ng/libafpclient.h> +--- afpfs-ng-0.8.1/lib/afp_url.c 2011-09-04 19:42:42.000000000 +0200 ++++ afpfs-ng-0.8.1/lib/afp_url.c 2011-09-04 19:40:27.000000000 +0200 +@@ -21,7 +21,9 @@ + + static int check_port(char * port) + { +- long long ret = strtol(port,NULL,10); ++ long long ret = 0; ++ errno = 0; ++ ret = strtol(port,NULL,10); + if ((ret<0) || (ret>32767)) return -1; + if (errno) { + printf("port error\n"); diff --git a/community/afpfs-ng/20-build-error-fixes.patch b/community/afpfs-ng/20-build-error-fixes.patch new file mode 100644 index 000000000..303e2646c --- /dev/null +++ b/community/afpfs-ng/20-build-error-fixes.patch @@ -0,0 +1,125 @@ +Description: Fix build errors. +Origin: http://anonscm.debian.org/gitweb/?p=collab-maint/afpfs-ng.git;a=blob;f=debian/patches/build-error-fixes.patch + +--- a/lib/afp_url.c ++++ b/lib/afp_url.c +@@ -233,7 +233,7 @@ + } + } + +- snprintf(url->servername,strlen(p)+1,p); ++ strcpy(url->servername,p); + if (check_servername(url->servername)) { + if (verbose) printf("This isn't a valid servername\n"); + return -1; +@@ -263,7 +263,7 @@ + if ((q=escape_strrchr(p,':',":"))) { + *q='\0'; + q++; +- snprintf(url->password,strlen(q)+1,q); ++ strcpy(url->password,q); + if (check_password(url->password)) { + if (verbose) printf("This isn't a valid passwd\n"); + return -1; +@@ -276,7 +276,7 @@ + if ((q=strstr(p,";AUTH="))) { + *q='\0'; + q+=6; +- snprintf(url->uamname,strlen(q)+1,q); ++ strcpy(url->uamname,q); + if (check_uamname(url->uamname)) { + if (verbose) printf("This isn't a valid uamname\n"); + return -1; +@@ -284,7 +284,7 @@ + } + + if (strlen(p)>0) { +- snprintf(url->username,strlen(p)+1,p); ++ strcpy(url->username,p); + if (check_username(url->username)) { + if (verbose) printf("This isn't a valid username\n"); + return -1;; +@@ -304,12 +304,12 @@ + *q='\0'; + q++; + } +- snprintf(url->volumename,strlen(p)+1,p); ++ strcpy(url->volumename,p); + + + if (q) { + url->path[0]='/'; +- snprintf(url->path+1,strlen(q)+1,q); ++ strcpy(url->path+1,q); + } + + done: +--- a/fuse/commands.c ++++ b/fuse/commands.c +@@ -163,8 +163,7 @@ + + if (c) { + len = strlen(c->client_string); +- snprintf(c->client_string+len, +- MAX_CLIENT_RESPONSE-len, ++ strcpy(c->client_string+len, + message); + } else { + +@@ -468,7 +467,7 @@ + volume->mapping=req->map; + afp_detect_mapping(volume); + +- snprintf(volume->mountpoint,255,req->mountpoint); ++ strcpy(volume->mountpoint,req->mountpoint); + + /* Create the new thread and block until we get an answer back */ + { +--- a/fuse/client.c ++++ b/fuse/client.c +@@ -547,7 +547,7 @@ + done: + memset(toprint,0,MAX_CLIENT_RESPONSE+200); + snprintf(toprint,MAX_CLIENT_RESPONSE+200,"%s",incoming_buffer+sizeof(*answer)); +- printf(toprint); ++ printf("%s",toprint); + return ((struct afp_server_response *) incoming_buffer)->result; + + return 0; +--- a/cmdline/cmdline_afp.c ++++ b/cmdline/cmdline_afp.c +@@ -828,11 +828,11 @@ + char text[40960]; + + afp_status_header(text,&len); +- printf(text); ++ printf("%s",text); + + len=40960; + afp_status_server(server,text,&len); +- printf(text); ++ printf("%s",text); + return 0; + } + +--- a/cmdline/cmdline_testafp.c ++++ b/cmdline/cmdline_testafp.c +@@ -26,12 +26,12 @@ + struct afp_url valid_url; + afp_default_url(&valid_url); + valid_url.protocol=protocol; +- sprintf(valid_url.servername,servername); +- sprintf(valid_url.volumename,volumename); +- sprintf(valid_url.path,path); +- sprintf(valid_url.username,username); +- sprintf(valid_url.password,password); +- sprintf(valid_url.uamname,uamname); ++ strcpy(valid_url.servername,servername); ++ strcpy(valid_url.volumename,volumename); ++ strcpy(valid_url.path,path); ++ strcpy(valid_url.username,username); ++ strcpy(valid_url.password,password); ++ strcpy(valid_url.uamname,uamname); + valid_url.port=port; + + if (afp_url_validate(url_string,&valid_url)) diff --git a/community/afpfs-ng/21-header-path-fix.patch b/community/afpfs-ng/21-header-path-fix.patch new file mode 100644 index 000000000..fe79b1f59 --- /dev/null +++ b/community/afpfs-ng/21-header-path-fix.patch @@ -0,0 +1,16 @@ +Description: Ensure internal headers are picked instead of system headers. +Origin: http://anonscm.debian.org/gitweb/?p=collab-maint/afpfs-ng.git;a=blob;f=debian/patches/header-path-fix.patch + +--- a/include/afpfs-ng/afp.h ++++ b/include/afpfs-ng/afp.h +@@ -7,8 +7,8 @@ + #include <netdb.h> + #include <sys/statvfs.h> + #include <pwd.h> +-#include <afpfs-ng/afp_protocol.h> +-#include <afpfs-ng/libafpclient.h> ++#include "afp_protocol.h" ++#include "libafpclient.h" + #include <sys/types.h> + #include <sys/stat.h> + #include <unistd.h> diff --git a/community/afpfs-ng/30-include-fixes.patch b/community/afpfs-ng/30-include-fixes.patch new file mode 100644 index 000000000..de4f88392 --- /dev/null +++ b/community/afpfs-ng/30-include-fixes.patch @@ -0,0 +1,44 @@ +--- a/include/afpfs-ng/dsi.h 2012-02-23 10:02:07.062734160 +0100 ++++ b/include/afpfs-ng/dsi.h 2012-02-23 10:09:46.297111254 +0100 +@@ -2,7 +2,7 @@ + #ifndef __DSI_H_ + #define __DSI_H_ + +-#include "afpfs-ng/afp.h" ++#include "afp.h" + + struct dsi_request + { +--- a/include/afpfs-ng/map_def.h 2012-02-23 10:02:07.062734160 +0100 ++++ b/include/afpfs-ng/map_def.h 2012-02-23 10:11:32.769953053 +0100 +@@ -1,7 +1,7 @@ + #ifndef __MAP_H_ + #define __MAP_H_ + +-#include "afpfs-ng/afp.h" ++#include "afp.h" + + #define AFP_MAPPING_UNKNOWN 0 + #define AFP_MAPPING_COMMON 1 +--- a/include/afpfs-ng/midlevel.h 2012-02-23 10:02:07.062734160 +0100 ++++ b/include/afpfs-ng/midlevel.h 2012-02-23 10:12:40.519943675 +0100 +@@ -2,7 +2,7 @@ + #define __MIDLEVEL_H_ + + #include <utime.h> +-#include "afpfs-ng/afp.h" ++#include "afp.h" + + int ml_open(struct afp_volume * volume, const char *path, int flags, + struct afp_file_info **newfp); +--- a/include/afpfs-ng/utils.h 2012-02-23 10:14:42.212332892 +0100 ++++ b/include/afpfs-ng/utils.h 2012-02-23 10:14:51.116069525 +0100 +@@ -2,7 +2,7 @@ + #define __UTILS_H_ + #include <stdio.h> + +-#include "afpfs-ng/afp.h" ++#include "afp.h" + + #if BYTE_ORDER == BIG_ENDIAN + #define hton64(x) (x) diff --git a/community/afpfs-ng/PKGBUILD b/community/afpfs-ng/PKGBUILD new file mode 100644 index 000000000..f8dc2d6fc --- /dev/null +++ b/community/afpfs-ng/PKGBUILD @@ -0,0 +1,66 @@ +# $Id: PKGBUILD 68567 2012-03-28 10:22:57Z idevolder $ +# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com> +# Contributor: slubman <slubman.dndd@laposte.net> + +pkgname=afpfs-ng +pkgver=0.8.1 +pkgrel=5 +pkgdesc="A client for the Apple Filing Protocol (AFP)" +url="http://alexthepuffin.googlepages.com/" +license=('GPL') +depends=('gmp' 'fuse' 'libgcrypt') +arch=('i686' 'x86_64') +options=(!libtool) +source=( + "http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2" + 'fix_afpfs-ng_includes.patch' + '01-gcrypt.patch' + '02-pointer.patch' + '10-fix-errno.patch' + '20-build-error-fixes.patch' + '21-header-path-fix.patch' + '30-include-fixes.patch' +) +sha256sums=( + '688560de1cde57ab8d9e0ef7dc6436dbf0267fe8884f9014e50ff92b297b01a8' + '627d94ab3c1cbc002b18839f514c6fa980b0a25dfc21e8761b389fcd39f32755' + '18dc77b064fc02c229e0cfa071a7e31cde6d0243671ebde2f561ebdf09dc38bb' + '8537b086c496e776be2a6757325717cb15dee6dcf2aedccebed6b4b2332d3dc1' + '0e1c0c0e3a9ff6e55ccbbbc1b4de630c874ff058e2ea94360b7d90e650d04811' + '393662da1bcd5d3aba180a2add37d9006e0a487c3bb7bf157a15aa492f4d6a87' + 'f551ae9debe8ce2c4ed1d7a8bce497801ace995473876a5fefa0443353232477' + '71b8f52923cef39f0cccb8fdff610575958fd5dbed66e5aa4413ae6aceeec656' +) + +build() { + cd "$pkgname-$pkgver" + # apply patches + msg2 'fix_afpfs-ng_includes.patch' + patch -Np1 -i "$srcdir/fix_afpfs-ng_includes.patch" + msg2 '01-gcrypt.patch' + patch -Np1 -i "$srcdir/01-gcrypt.patch" + msg2 '02-pointer.patch' + patch -Np1 -i "$srcdir/02-pointer.patch" + msg2 '10-fix-errno.patch' + patch -Np1 -i "$srcdir/10-fix-errno.patch" + msg2 '20-build-error-fixes.patch' + patch -Np1 -i "$srcdir/20-build-error-fixes.patch" + msg2 '21-header-path-fix.patch' + patch -Np1 -i "$srcdir/21-header-path-fix.patch" + msg2 '30-include-fixes.patch' + patch -Np1 -i "$srcdir/30-include-fixes.patch" + + ./configure --prefix=/usr + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + + # install headers + cd include + for header in afpfs-ng/*.h; do + install -Dm644 "$header" "$pkgdir/usr/include/$header" + done +} diff --git a/community/afpfs-ng/fix_afpfs-ng_includes.patch b/community/afpfs-ng/fix_afpfs-ng_includes.patch new file mode 100644 index 000000000..f507a485e --- /dev/null +++ b/community/afpfs-ng/fix_afpfs-ng_includes.patch @@ -0,0 +1,3082 @@ +diff -Naur afpfs-ng-0.8.1/cmdline/cmdline_afp.c afpfs-ng-0.8.1.patch/cmdline/cmdline_afp.c +--- afpfs-ng-0.8.1/cmdline/cmdline_afp.c 2008-02-19 02:54:19.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/cmdline/cmdline_afp.c 2011-09-10 12:13:50.102124369 +0200 +@@ -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/cmdline/cmdline_testafp.c afpfs-ng-0.8.1.patch/cmdline/cmdline_testafp.c +--- afpfs-ng-0.8.1/cmdline/cmdline_testafp.c 2008-03-04 21:16:50.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/cmdline/cmdline_testafp.c 2011-09-10 12:13:50.102124369 +0200 +@@ -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/cmdline/getstatus.c afpfs-ng-0.8.1.patch/cmdline/getstatus.c +--- afpfs-ng-0.8.1/cmdline/getstatus.c 2008-02-18 04:28:09.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/cmdline/getstatus.c 2011-09-10 12:13:50.109124463 +0200 +@@ -2,7 +2,7 @@ + #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/configure.ac afpfs-ng-0.8.1.patch/configure.ac +--- afpfs-ng-0.8.1/configure.ac 2008-03-08 17:23:12.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/configure.ac 2011-09-10 12:13:50.109124463 +0200 +@@ -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': +@@ -105,7 +106,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/fuse/client.c afpfs-ng-0.8.1.patch/fuse/client.c +--- afpfs-ng-0.8.1/fuse/client.c 2008-03-08 03:44:16.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/fuse/client.c 2011-09-10 12:13:50.110124477 +0200 +@@ -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" + +diff -Naur afpfs-ng-0.8.1/fuse/commands.c afpfs-ng-0.8.1.patch/fuse/commands.c +--- afpfs-ng-0.8.1/fuse/commands.c 2008-03-08 17:06:25.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/fuse/commands.c 2011-09-10 12:13:50.110124477 +0200 +@@ -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/fuse/daemon.c afpfs-ng-0.8.1.patch/fuse/daemon.c +--- afpfs-ng-0.8.1/fuse/daemon.c 2008-03-04 18:26:05.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/fuse/daemon.c 2011-09-10 12:13:50.110124477 +0200 +@@ -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/fuse/fuse_error.c afpfs-ng-0.8.1.patch/fuse/fuse_error.c +--- afpfs-ng-0.8.1/fuse/fuse_error.c 2008-01-18 05:40:10.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/fuse/fuse_error.c 2011-09-10 12:13:50.111124491 +0200 +@@ -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/fuse/fuse_int.c afpfs-ng-0.8.1.patch/fuse/fuse_int.c +--- afpfs-ng-0.8.1/fuse/fuse_int.c 2008-03-02 06:06:24.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/fuse/fuse_int.c 2011-09-10 12:13:50.111124491 +0200 +@@ -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: */ +diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/afp.h afpfs-ng-0.8.1.patch/include/afpfs-ng/afp.h +--- afpfs-ng-0.8.1/include/afpfs-ng/afp.h 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/afp.h 2011-09-10 12:13:50.112124505 +0200 +@@ -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]; ++ 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/include/afpfs-ng/afp_protocol.h afpfs-ng-0.8.1.patch/include/afpfs-ng/afp_protocol.h +--- afpfs-ng-0.8.1/include/afpfs-ng/afp_protocol.h 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/afp_protocol.h 2011-09-10 12:13:50.112124505 +0200 +@@ -0,0 +1,361 @@ ++ ++#ifndef _AFP_PROTOCOL_H_ ++#define _AFP_PROTOCOL_H_ ++ ++#include <sys/types.h> ++#include <stddef.h> ++#include <unistd.h> ++#include <stdint.h> ++ ++/* This file defines constants for the Apple File Protocol. ++ All page references are from "Apple Filing Protocol Programming" version 3.2. ++ except where noted. ++*/ ++ ++#define AFP_SERVER_NAME_LEN 33 ++#define AFP_SERVER_NAME_UTF8_LEN 255 ++#define AFP_VOLUME_NAME_LEN 33 ++#define AFP_VOLUME_NAME_UTF8_LEN 33 ++#define AFP_SIGNATURE_LEN 16 ++#define AFP_MACHINETYPE_LEN 33 ++#define AFP_LOGINMESG_LEN 200 ++#define AFP_VOLPASS_LEN 8 ++#define AFP_HOSTNAME_LEN 255 ++/* This is actually just a guess, and only used for appletalk */ ++#define AFP_ZONE_LEN 255 ++ ++#define AFP_SERVER_ICON_LEN 256 ++ ++ ++#define AFP_MAX_USERNAME_LEN 127 ++#define AFP_MAX_PASSWORD_LEN 127 ++ ++ ++/* This is the maximum length of any UAM string */ ++#define AFP_UAM_LENGTH 24 ++ ++/* This is the maximum length of any path description */ ++#define AFP_MAX_PATH 768 ++ ++#define AFP_VOL_FLAT 1 ++#define AFP_VOL_FIXED 2 ++#define AFP_VOL_VARIABLE 3 ++ ++/* The root directory ID, p.26 */ ++ ++#define AFP_ROOT_DID 2 ++ ++/* Path type constants, p.249 */ ++ ++enum { ++kFPShortName = 1, ++kFPLongName = 2, ++kFPUTF8Name = 3 ++}; ++ ++/* fork types */ ++ ++#define AFP_FORKTYPE_DATA 0x0 ++#define AFP_FORKTYPE_RESOURCE 0x80 ++ ++/* openfork access modes, from p.196 */ ++ ++#define AFP_OPENFORK_ALLOWREAD 1 ++#define AFP_OPENFORK_ALLOWWRITE 2 ++#define AFP_OPENFORK_DENYREAD 0x10 ++#define AFP_OPENFORK_DENYWRITE 0x20 ++ ++/* Message type for getsrvmesg, p. 169*/ ++ ++typedef enum { ++ AFPMESG_LOGIN = 0, ++ AFPMESG_SERVER = 1 ++} afpmessage_t; ++ ++/* Message bitmap for getsrvrmsg */ ++ ++#define AFP_GETSRVRMSG_UTF8 0x2 ++#define AFP_GETSRVRMSG_GETMSG 0x1 ++ ++ ++/* Maximum Version length, p.17 */ ++#define AFP_MAX_VERSION_LENGTH 16 ++ ++/* Maximum length of a token, this is undocumented */ ++#define AFP_TOKEN_MAX_LEN 256 ++ ++/* The maximum size of a file for AFP 2 */ ++#define AFP_MAX_AFP2_FILESIZE (4294967296) ++ ++/* Unix privs, p.240 */ ++ ++struct afp_unixprivs { ++ uint32_t uid __attribute__((__packed__)); ++ uint32_t gid __attribute__((__packed__)); ++ uint32_t permissions __attribute__((__packed__)); ++ uint32_t ua_permissions __attribute__((__packed__)); ++ ++}; ++ ++ ++/* AFP Volume attributes bitmap, p.241 */ ++ ++enum { ++ kReadOnly = 0x01, ++ kHasVolumePassword = 0x02, ++ kSupportsFileIDs = 0x04, ++ kSupportsCatSearch = 0x08, ++ kSupportsBlankAccessPrivs = 0x10, ++ kSupportsUnixPrivs = 0x20, ++ kSupportsUTF8Names = 0x40, ++ kNoNetworkUserIDs = 0x80, ++ kDefaultPrivsFromParent = 0x100, ++ kNoExchangeFiles = 0x200, ++ kSupportsExtAttrs = 0x400, ++ kSupportsACLs=0x800 ++}; ++ ++/* AFP file creation constantes, p.250 */ ++enum { ++kFPSoftCreate = 0, ++kFPHardCreate = 0x80 ++}; ++ ++/* AFP Directory attributes, taken from the protocol guide p.236 */ ++ ++enum { ++ kFPAttributeBit = 0x1, ++ kFPParentDirIDBit = 0x2, ++ kFPCreateDateBit = 0x4, ++ kFPModDateBit = 0x8, ++ kFPBackupDateBit = 0x10, ++ kFPFinderInfoBit = 0x20, ++ kFPLongNameBit = 0x40, ++ kFPShortNameBit = 0x80, ++ kFPNodeIDBit = 0x100, ++ kFPOffspringCountBit = 0x0200, ++ kFPOwnerIDBit = 0x0400, ++ kFPGroupIDBit = 0x0800, ++ kFPAccessRightsBit = 0x1000, ++ kFPProDOSInfoBit = 0x2000, // AFP version 2.2 and earlier ++ kFPUTF8NameBit = 0x2000, // AFP version 3.0 and later ++ kFPUnixPrivsBit = 0x8000 // AFP version 3.0 and later ++}; ++ ++/* AFP File bitmap, p.238. These are the ones not in the AFP Directory ++ attributes map. */ ++ ++enum { ++ kFPDataForkLenBit = 0x0200, ++ kFPRsrcForkLenBit = 0x0400, ++ kFPExtDataForkLenBit = 0x0800, // AFP version 3.0 and later ++ kFPLaunchLimitBit = 0x1000, ++ kFPExtRsrcForkLenBit = 0x4000, // AFP version 3.0 and later ++}; ++ ++/* AFP Extended Attributes Bitmap, p.238 */ ++ ++enum { ++ kXAttrNoFollow = 0x1, ++ kXAttrCreate = 0x2, ++ kXAttrREplace=0x4 ++}; ++ ++ ++/* AFP function codes */ ++enum AFPFunction ++{ ++ afpByteRangeLock = 1, afpCloseVol, afpCloseDir, afpCloseFork, ++ afpCopyFile, afpCreateDir, afpCreateFile, ++ afpDelete, afpEnumerate, afpFlush, afpFlushFork, ++ afpGetForkParms = 14, afpGetSrvrInfo, afpGetSrvrParms, ++ afpGetVolParms, afpLogin, afpLoginCont, afpLogout, afpMapID, ++ afpMapName, afpMoveAndRename, afpOpenVol, afpOpenDir, afpOpenFork, ++ afpRead, afpRename, afpSetDirParms, afpSetFileParms, ++ afpSetForkParms, afpSetVolParms, afpWrite, afpGetFileDirParms, ++ afpSetFileDirParms, afpChangePassword, ++ afpGetUserInfo=37,afpGetSrvrMsg = 38, ++ afpOpenDT=48, ++ afpCloseDT=49, ++ afpGetIcon=51, afpGetIconInfo=52, ++ afpAddComment=56, afpRemoveComment=57, afpGetComment=58, ++ afpByteRangeLockExt=59, afpReadExt, afpWriteExt, ++ afpGetAuthMethods=62, ++ afp_LoginExt=63, ++ afpGetSessionToken=64, ++ afpDisconnectOldSession=65, ++ afpEnumerateExt=66, ++ afpCatSearchExt = 67, ++ afpEnumerateExt2 = 68, afpGetExtAttr, afpSetExtAttr, ++ afpRemoveExtAttr , afpListExtAttrs, ++ afpZzzzz = 122, ++ afpAddIcon=192, ++}; ++ ++/* AFP Volume bitmap. Take from 242 of the protocol guide. */ ++enum { ++ kFPBadVolPre222Bitmap = 0xFe00, ++ kFPBadVolBitmap = 0xF000, ++ kFPVolAttributeBit = 0x1, ++ kFPVolSignatureBit = 0x2, ++ kFPVolCreateDateBit = 0x4, ++ kFPVolModDateBit = 0x8, ++ kFPVolBackupDateBit = 0x10, ++ kFPVolIDBit = 0x20, ++ kFPVolBytesFreeBit = 0x40, ++ kFPVolBytesTotalBit = 0x80, ++ kFPVolNameBit = 0x100, ++ kFPVolExtBytesFreeBit = 0x200, ++ kFPVolExtBytesTotalBit = 0x400, ++ kFPVolBlockSizeBit = 0x800 ++}; ++ ++/* AFP Attention Codes -- 4 bits */ ++#define AFPATTN_SHUTDOWN (1 << 15) /* shutdown/disconnect */ ++#define AFPATTN_CRASH (1 << 14) /* server crashed */ ++#define AFPATTN_MESG (1 << 13) /* server has message */ ++#define AFPATTN_NORECONNECT (1 << 12) /* don't reconnect */ ++/* server notification */ ++#define AFPATTN_NOTIFY (AFPATTN_MESG | AFPATTN_NORECONNECT) ++ ++/* extended bitmap -- 12 bits. volchanged is only useful w/ a server ++ * notification, and time is only useful for shutdown. */ ++#define AFPATTN_VOLCHANGED (1 << 0) /* volume has changed */ ++#define AFPATTN_TIME(x) ((x) & 0xfff) /* time in minutes */ ++ ++#define kFPNoErr 0 ++ ++/* AFP result codes, p252 */ ++#define kASPSessClosed -1072 ++#define kFPAccessDenied -5000 ++#define kFPAuthContinue -5001 ++#define kFPBadUAM -5002 ++#define kFPBadVersNum -5003 ++#define kFPBitmapErr -5004 ++#define kFPCantMove -5005 ++#define kFPDenyConflict -5006 ++#define kFPDirNotEmpty -5007 ++#define kFPDiskFull -5008 ++#define kFPEOFErr -5009 ++#define kFPFileBusy -5010 ++#define kFPFlatVol -5011 ++#define kFPItemNotFound -5012 ++#define kFPLockErr -5013 ++#define kFPMiscErr -5014 ++#define kFPNoMoreLocks -5015 ++#define kFPNoServer -5016 ++#define kFPObjectExists -5017 ++#define kFPObjectNotFound -5018 ++#define kFPParamErr -5019 ++#define kFPRangeNotLocked -5020 ++#define kFPRangeOverlap -5021 ++#define kFPSessClosed -5022 ++#define kFPUserNotAuth -5023 ++#define kFPCallNotSupported -5024 ++#define kFPObjectTypeErr -5025 ++#define kFPTooManyFilesOpen -5026 ++#define kFPServerGoingDown -5027 ++#define kFPCantRename -5028 ++#define kFPDirNotFound -5029 ++#define kFPIconTypeError -5030 ++#define kFPVolLocked -5031 ++#define kFPObjectLocked -5032 ++#define kFPContainsSharedErr -5033 ++#define kFPIDNotFound -5034 ++#define kFPIDExists -5035 ++#define kFPDiffVolErr -5036 ++#define kFPCatalogChanged -5037 ++#define kFPSameObjectErr -5038 ++#define kFPBadIDErr -5039 ++#define kFPPwdSameErr -5040 ++#define kFPPwdTooShortErr -5041 ++#define kFPPwdExpiredErr -5042 ++#define kFPInsideSharedErr -5043 ++#define kFPInsideTrashErr -5044 ++#define kFPPwdNeedsChangeErr -5045 ++#define kFPPwdPolicyErr -5046 ++#define kFPDiskQuotaExceeded –5047 ++ ++ ++ ++/* These flags determine to lock or unlock in ByteRangeLock(Ext) */ ++ ++enum { ++ByteRangeLock_Lock = 0, ++ByteRangeLock_Unlock = 1 ++}; ++ ++/* These flags are used in volopen and getsrvrparm replies, p.171 */ ++ ++#define HasConfigInfo 0x1 ++#define HasPassword 0x80 ++ ++/* These are the subfunction for kFPMapID, as per p.248 */ ++ ++enum { ++kUserIDToName = 1, ++kGroupIDToName = 2, ++kUserIDToUTF8Name = 3, ++kGroupIDToUTF8Name = 4, ++kUserUUIDToUTF8Name = 5, ++kGroupUUIDToUTF8Name = 6 ++}; ++ ++ ++/* These are the subfunction flags described in the FPMapName command, p.286. ++ Note that this is different than what's described on p. 186. */ ++ ++enum { ++kNameToUserID = 1, ++kNameToGroupID = 2, ++kUTF8NameToUserID = 3, ++kUTF8NameToGroupID = 4, ++kUTF8NameToUserUUID = 5, ++kUTF8NameToGroupUUID = 6 ++}; ++ ++/* These are bits for FPGetUserInfo, p.173. */ ++#define kFPGetUserInfo_USER_ID 1 ++#define kFPGetUserInfo_PRI_GROUPID 2 ++ ++/* Flags for the replies of GetSrvrInfo and DSI GetStatus, p.240 */ ++ ++enum { ++ kSupportsCopyfile = 0x01, ++ kSupportsChgPwd = 0x02, ++ kDontAllowSavePwd = 0x04, ++ kSupportsSrvrMsg = 0x08, ++ kSrvrSig = 0x10, ++ kSupportsTCP = 0x20, ++ kSupportsSrvrNotify = 0x40, ++ kSupportsReconnect = 0x80, ++ kSupportsDirServices = 0x100, ++ kSupportsUTF8SrvrName = 0x200, ++ kSupportsUUIDs = 0x400, ++ kSupportsSuperClient = 0x8000 ++}; ++ ++ ++/* p.247 */ ++ ++enum { ++ kLoginWithoutID = 0, ++ kLoginWithID = 1, ++ kReconnWithID = 2, ++ kLoginWithTimeAndID = 3, ++ kReconnWithTimeAndID = 4, ++ kRecon1Login = 5, ++ kRecon1ReconnectLogin = 6, ++ kRecon1Refresh = 7, kGetKerberosSessionKey = 8 ++}; ++ ++ ++#define AFP_CHMOD_ALLOWED_BITS_22 \ ++ (S_IRUSR |S_IWUSR | S_IRGRP | S_IWGRP |S_IROTH | S_IWOTH | S_IFREG ) ++ ++ ++#endif ++ ++ ++ ++ +diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/codepage.h afpfs-ng-0.8.1.patch/include/afpfs-ng/codepage.h +--- afpfs-ng-0.8.1/include/afpfs-ng/codepage.h 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/codepage.h 2011-09-10 12:13:50.113124518 +0200 +@@ -0,0 +1,11 @@ ++#ifndef __CODE_PAGE_H_ ++#define __CODE_PAGE_H_ ++int convert_utf8dec_to_utf8pre(const char *src, int src_len, ++ char * dest, int dest_len); ++int convert_utf8pre_to_utf8dec(const char * src, int src_len, ++ char * dest, int dest_len); ++int convert_path_to_unix(char encoding, char * dest, ++ char * src, int dest_len); ++int convert_path_to_afp(char encoding, char * dest, ++ char * src, int dest_len); ++#endif +diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/dsi.h afpfs-ng-0.8.1.patch/include/afpfs-ng/dsi.h +--- afpfs-ng-0.8.1/include/afpfs-ng/dsi.h 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/dsi.h 2011-09-10 12:13:50.115124544 +0200 +@@ -0,0 +1,33 @@ ++ ++#ifndef __DSI_H_ ++#define __DSI_H_ ++ ++#include "afpfs-ng/afp.h" ++ ++struct dsi_request ++{ ++ unsigned short requestid; ++ unsigned char subcommand; ++ void * other; ++ unsigned char wait; ++ pthread_cond_t condition_cond; ++ struct dsi_request * next; ++ int return_code; ++}; ++ ++int dsi_receive(struct afp_server * server, void * data, int size); ++int dsi_getstatus(struct afp_server * server); ++ ++int dsi_opensession(struct afp_server *server); ++ ++int dsi_send(struct afp_server *server, char * msg, int size,int wait,unsigned char subcommand, void ** other); ++struct dsi_session * dsi_create(struct afp_server *server); ++int dsi_restart(struct afp_server *server); ++int dsi_recv(struct afp_server * server); ++ ++#define DSI_BLOCK_TIMEOUT -1 ++#define DSI_DONT_WAIT 0 ++#define DSI_DEFAULT_TIMEOUT 5 ++ ++ ++#endif +diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/libafpclient.h afpfs-ng-0.8.1.patch/include/afpfs-ng/libafpclient.h +--- afpfs-ng-0.8.1/include/afpfs-ng/libafpclient.h 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/libafpclient.h 2011-09-10 12:13:50.115124544 +0200 +@@ -0,0 +1,50 @@ ++ ++#ifndef __CLIENT_H_ ++#define __CLIENT_H_ ++ ++#include <unistd.h> ++#include <syslog.h> ++ ++#define MAX_CLIENT_RESPONSE 2048 ++ ++ ++enum loglevels { ++ AFPFSD, ++}; ++ ++struct afp_server; ++struct afp_volume; ++ ++struct libafpclient { ++ int (*unmount_volume) (struct afp_volume * volume); ++ void (*log_for_client)(void * priv, ++ enum loglevels loglevel, int logtype, const char *message); ++ void (*forced_ending_hook)(void); ++ int (*scan_extra_fds)(int command_fd,fd_set *set, int * max_fd); ++ void (*loop_started)(void); ++} ; ++ ++extern struct libafpclient * libafpclient; ++ ++void libafpclient_register(struct libafpclient * tmpclient); ++ ++ ++void signal_main_thread(void); ++ ++/* These are logging functions */ ++ ++#define MAXLOGSIZE 2048 ++ ++#define LOG_METHOD_SYSLOG 1 ++#define LOG_METHOD_STDOUT 2 ++ ++void set_log_method(int m); ++ ++ ++void log_for_client(void * priv, ++ enum loglevels loglevel, int logtype, char * message,...); ++ ++void stdout_log_for_client(void * priv, ++ enum loglevels loglevel, int logtype, const char *message); ++ ++#endif +diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/Makefile.am afpfs-ng-0.8.1.patch/include/afpfs-ng/Makefile.am +--- afpfs-ng-0.8.1/include/afpfs-ng/Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/Makefile.am 2011-09-10 12:13:50.115124544 +0200 +@@ -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/include/afpfs-ng/map_def.h afpfs-ng-0.8.1.patch/include/afpfs-ng/map_def.h +--- afpfs-ng-0.8.1/include/afpfs-ng/map_def.h 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/map_def.h 2011-09-10 12:13:50.116124557 +0200 +@@ -0,0 +1,15 @@ ++#ifndef __MAP_H_ ++#define __MAP_H_ ++ ++#include "afpfs-ng/afp.h" ++ ++#define AFP_MAPPING_UNKNOWN 0 ++#define AFP_MAPPING_COMMON 1 ++#define AFP_MAPPING_LOGINIDS 2 ++#define AFP_MAPPING_NAME 3 ++ ++unsigned int map_string_to_num(char * name); ++char * get_mapping_name(struct afp_volume * volume); ++ ++ ++#endif +diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/midlevel.h afpfs-ng-0.8.1.patch/include/afpfs-ng/midlevel.h +--- afpfs-ng-0.8.1/include/afpfs-ng/midlevel.h 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/midlevel.h 2011-09-10 12:13:50.116124557 +0200 +@@ -0,0 +1,64 @@ ++#ifndef __MIDLEVEL_H_ ++#define __MIDLEVEL_H_ ++ ++#include <utime.h> ++#include "afpfs-ng/afp.h" ++ ++int ml_open(struct afp_volume * volume, const char *path, int flags, ++ struct afp_file_info **newfp); ++ ++int ml_creat(struct afp_volume * volume, const char *path,mode_t mode); ++ ++int ml_readdir(struct afp_volume * volume, ++ const char *path, ++ struct afp_file_info **base); ++ ++int ml_read(struct afp_volume * volume, const char *path, ++ char *buf, size_t size, off_t offset, ++ struct afp_file_info *fp, int * eof); ++ ++int ml_chmod(struct afp_volume * vol, const char * path, mode_t mode); ++ ++int ml_unlink(struct afp_volume * vol, const char *path); ++ ++int ml_mkdir(struct afp_volume * vol, const char * path, mode_t mode); ++ ++int ml_close(struct afp_volume * volume, const char * path, ++ struct afp_file_info * fp); ++ ++int ml_getattr(struct afp_volume * volume, const char *path, ++ struct stat *stbuf); ++ ++int ml_write(struct afp_volume * volume, const char * path, ++ const char *data, size_t size, off_t offset, ++ struct afp_file_info * fp, uid_t uid, ++ gid_t gid); ++ ++int ml_readlink(struct afp_volume * vol, const char * path, ++ char *buf, size_t size); ++ ++int ml_rmdir(struct afp_volume * vol, const char *path); ++ ++int ml_chown(struct afp_volume * vol, const char * path, ++ uid_t uid, gid_t gid); ++ ++int ml_truncate(struct afp_volume * vol, const char * path, off_t offset); ++ ++int ml_utime(struct afp_volume * vol, const char * path, ++ struct utimbuf * timebuf); ++ ++int ml_symlink(struct afp_volume *vol, const char * path1, const char * path2); ++ ++int ml_rename(struct afp_volume * vol, ++ const char * path_from, const char * path_to); ++ ++int ml_statfs(struct afp_volume * vol, const char *path, struct statvfs *stat); ++ ++void afp_ml_filebase_free(struct afp_file_info **filebase); ++ ++int ml_passwd(struct afp_server *server, ++ char * username, char * oldpasswd, char * newpasswd); ++ ++ ++ ++#endif +diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/uams_def.h afpfs-ng-0.8.1.patch/include/afpfs-ng/uams_def.h +--- afpfs-ng-0.8.1/include/afpfs-ng/uams_def.h 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/uams_def.h 2011-09-10 12:13:50.116124557 +0200 +@@ -0,0 +1,16 @@ ++#ifndef __UAM_DEFS_H_ ++#define __UAM_DEFS_H_ ++ ++#define UAM_NOUSERAUTHENT 0x1 ++#define UAM_CLEARTXTPASSWRD 0x2 ++#define UAM_RANDNUMEXCHANGE 0x4 ++#define UAM_2WAYRANDNUM 0x8 ++#define UAM_DHCAST128 0x10 ++#define UAM_CLIENTKRB 0x20 ++#define UAM_DHX2 0x40 ++#define UAM_RECON1 0x80 ++ ++int uam_string_to_bitmap(char * name); ++char * uam_bitmap_to_string(unsigned int bitmap); ++ ++#endif +diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/utils.h afpfs-ng-0.8.1.patch/include/afpfs-ng/utils.h +--- afpfs-ng-0.8.1/include/afpfs-ng/utils.h 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/utils.h 2011-09-10 12:13:50.116124557 +0200 +@@ -0,0 +1,43 @@ ++#ifndef __UTILS_H_ ++#define __UTILS_H_ ++#include <stdio.h> ++ ++#include "afpfs-ng/afp.h" ++ ++#if BYTE_ORDER == BIG_ENDIAN ++#define hton64(x) (x) ++#define ntoh64(x) (x) ++#else /* BYTE_ORDER == BIG_ENDIAN */ ++#define hton64(x) ((u_int64_t) (htonl(((x) >> 32) & 0xffffffffLL)) | \ ++ (u_int64_t) ((htonl(x) & 0xffffffffLL) << 32)) ++#define ntoh64(x) (hton64(x)) ++#endif /* BYTE_ORDER == BIG_ENDIAN */ ++ ++#define min(a,b) (((a)<(b)) ? (a) : (b)) ++#define max(a,b) (((a)>(b)) ? (a) : (b)) ++ ++ ++ ++unsigned char unixpath_to_afppath( ++ struct afp_server * server, ++ char * buf); ++ ++unsigned char sizeof_path_header(struct afp_server * server); ++ ++ ++ ++unsigned char copy_from_pascal(char *dest, char *pascal,unsigned int max_len) ; ++unsigned short copy_from_pascal_two(char *dest, char *pascal,unsigned int max_len); ++ ++unsigned char copy_to_pascal(char *dest, const char *src); ++unsigned short copy_to_pascal_two(char *dest, const char *src); ++ ++void copy_path(struct afp_server * server, char * dest, const char * pathname, unsigned char len); ++ ++ ++char * create_path(struct afp_server * server, char * pathname, unsigned short * len); ++ ++ ++int invalid_filename(struct afp_server * server, const char * filename); ++ ++#endif +diff -Naur afpfs-ng-0.8.1/include/afp.h afpfs-ng-0.8.1.patch/include/afp.h +--- afpfs-ng-0.8.1/include/afp.h 2008-03-08 17:08:18.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afp.h 1970-01-01 01:00:00.000000000 +0100 +@@ -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/include/afp_protocol.h afpfs-ng-0.8.1.patch/include/afp_protocol.h +--- afpfs-ng-0.8.1/include/afp_protocol.h 2008-02-18 04:33:43.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afp_protocol.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,361 +0,0 @@ +- +-#ifndef _AFP_PROTOCOL_H_ +-#define _AFP_PROTOCOL_H_ +- +-#include <sys/types.h> +-#include <stddef.h> +-#include <unistd.h> +-#include <stdint.h> +- +-/* This file defines constants for the Apple File Protocol. +- All page references are from "Apple Filing Protocol Programming" version 3.2. +- except where noted. +-*/ +- +-#define AFP_SERVER_NAME_LEN 33 +-#define AFP_SERVER_NAME_UTF8_LEN 255 +-#define AFP_VOLUME_NAME_LEN 33 +-#define AFP_VOLUME_NAME_UTF8_LEN 33 +-#define AFP_SIGNATURE_LEN 16 +-#define AFP_MACHINETYPE_LEN 33 +-#define AFP_LOGINMESG_LEN 200 +-#define AFP_VOLPASS_LEN 8 +-#define AFP_HOSTNAME_LEN 255 +-/* This is actually just a guess, and only used for appletalk */ +-#define AFP_ZONE_LEN 255 +- +-#define AFP_SERVER_ICON_LEN 256 +- +- +-#define AFP_MAX_USERNAME_LEN 127 +-#define AFP_MAX_PASSWORD_LEN 127 +- +- +-/* This is the maximum length of any UAM string */ +-#define AFP_UAM_LENGTH 24 +- +-/* This is the maximum length of any path description */ +-#define AFP_MAX_PATH 768 +- +-#define AFP_VOL_FLAT 1 +-#define AFP_VOL_FIXED 2 +-#define AFP_VOL_VARIABLE 3 +- +-/* The root directory ID, p.26 */ +- +-#define AFP_ROOT_DID 2 +- +-/* Path type constants, p.249 */ +- +-enum { +-kFPShortName = 1, +-kFPLongName = 2, +-kFPUTF8Name = 3 +-}; +- +-/* fork types */ +- +-#define AFP_FORKTYPE_DATA 0x0 +-#define AFP_FORKTYPE_RESOURCE 0x80 +- +-/* openfork access modes, from p.196 */ +- +-#define AFP_OPENFORK_ALLOWREAD 1 +-#define AFP_OPENFORK_ALLOWWRITE 2 +-#define AFP_OPENFORK_DENYREAD 0x10 +-#define AFP_OPENFORK_DENYWRITE 0x20 +- +-/* Message type for getsrvmesg, p. 169*/ +- +-typedef enum { +- AFPMESG_LOGIN = 0, +- AFPMESG_SERVER = 1 +-} afpmessage_t; +- +-/* Message bitmap for getsrvrmsg */ +- +-#define AFP_GETSRVRMSG_UTF8 0x2 +-#define AFP_GETSRVRMSG_GETMSG 0x1 +- +- +-/* Maximum Version length, p.17 */ +-#define AFP_MAX_VERSION_LENGTH 16 +- +-/* Maximum length of a token, this is undocumented */ +-#define AFP_TOKEN_MAX_LEN 256 +- +-/* The maximum size of a file for AFP 2 */ +-#define AFP_MAX_AFP2_FILESIZE (4294967296) +- +-/* Unix privs, p.240 */ +- +-struct afp_unixprivs { +- uint32_t uid __attribute__((__packed__)); +- uint32_t gid __attribute__((__packed__)); +- uint32_t permissions __attribute__((__packed__)); +- uint32_t ua_permissions __attribute__((__packed__)); +- +-}; +- +- +-/* AFP Volume attributes bitmap, p.241 */ +- +-enum { +- kReadOnly = 0x01, +- kHasVolumePassword = 0x02, +- kSupportsFileIDs = 0x04, +- kSupportsCatSearch = 0x08, +- kSupportsBlankAccessPrivs = 0x10, +- kSupportsUnixPrivs = 0x20, +- kSupportsUTF8Names = 0x40, +- kNoNetworkUserIDs = 0x80, +- kDefaultPrivsFromParent = 0x100, +- kNoExchangeFiles = 0x200, +- kSupportsExtAttrs = 0x400, +- kSupportsACLs=0x800 +-}; +- +-/* AFP file creation constantes, p.250 */ +-enum { +-kFPSoftCreate = 0, +-kFPHardCreate = 0x80 +-}; +- +-/* AFP Directory attributes, taken from the protocol guide p.236 */ +- +-enum { +- kFPAttributeBit = 0x1, +- kFPParentDirIDBit = 0x2, +- kFPCreateDateBit = 0x4, +- kFPModDateBit = 0x8, +- kFPBackupDateBit = 0x10, +- kFPFinderInfoBit = 0x20, +- kFPLongNameBit = 0x40, +- kFPShortNameBit = 0x80, +- kFPNodeIDBit = 0x100, +- kFPOffspringCountBit = 0x0200, +- kFPOwnerIDBit = 0x0400, +- kFPGroupIDBit = 0x0800, +- kFPAccessRightsBit = 0x1000, +- kFPProDOSInfoBit = 0x2000, // AFP version 2.2 and earlier +- kFPUTF8NameBit = 0x2000, // AFP version 3.0 and later +- kFPUnixPrivsBit = 0x8000 // AFP version 3.0 and later +-}; +- +-/* AFP File bitmap, p.238. These are the ones not in the AFP Directory +- attributes map. */ +- +-enum { +- kFPDataForkLenBit = 0x0200, +- kFPRsrcForkLenBit = 0x0400, +- kFPExtDataForkLenBit = 0x0800, // AFP version 3.0 and later +- kFPLaunchLimitBit = 0x1000, +- kFPExtRsrcForkLenBit = 0x4000, // AFP version 3.0 and later +-}; +- +-/* AFP Extended Attributes Bitmap, p.238 */ +- +-enum { +- kXAttrNoFollow = 0x1, +- kXAttrCreate = 0x2, +- kXAttrREplace=0x4 +-}; +- +- +-/* AFP function codes */ +-enum AFPFunction +-{ +- afpByteRangeLock = 1, afpCloseVol, afpCloseDir, afpCloseFork, +- afpCopyFile, afpCreateDir, afpCreateFile, +- afpDelete, afpEnumerate, afpFlush, afpFlushFork, +- afpGetForkParms = 14, afpGetSrvrInfo, afpGetSrvrParms, +- afpGetVolParms, afpLogin, afpLoginCont, afpLogout, afpMapID, +- afpMapName, afpMoveAndRename, afpOpenVol, afpOpenDir, afpOpenFork, +- afpRead, afpRename, afpSetDirParms, afpSetFileParms, +- afpSetForkParms, afpSetVolParms, afpWrite, afpGetFileDirParms, +- afpSetFileDirParms, afpChangePassword, +- afpGetUserInfo=37,afpGetSrvrMsg = 38, +- afpOpenDT=48, +- afpCloseDT=49, +- afpGetIcon=51, afpGetIconInfo=52, +- afpAddComment=56, afpRemoveComment=57, afpGetComment=58, +- afpByteRangeLockExt=59, afpReadExt, afpWriteExt, +- afpGetAuthMethods=62, +- afp_LoginExt=63, +- afpGetSessionToken=64, +- afpDisconnectOldSession=65, +- afpEnumerateExt=66, +- afpCatSearchExt = 67, +- afpEnumerateExt2 = 68, afpGetExtAttr, afpSetExtAttr, +- afpRemoveExtAttr , afpListExtAttrs, +- afpZzzzz = 122, +- afpAddIcon=192, +-}; +- +-/* AFP Volume bitmap. Take from 242 of the protocol guide. */ +-enum { +- kFPBadVolPre222Bitmap = 0xFe00, +- kFPBadVolBitmap = 0xF000, +- kFPVolAttributeBit = 0x1, +- kFPVolSignatureBit = 0x2, +- kFPVolCreateDateBit = 0x4, +- kFPVolModDateBit = 0x8, +- kFPVolBackupDateBit = 0x10, +- kFPVolIDBit = 0x20, +- kFPVolBytesFreeBit = 0x40, +- kFPVolBytesTotalBit = 0x80, +- kFPVolNameBit = 0x100, +- kFPVolExtBytesFreeBit = 0x200, +- kFPVolExtBytesTotalBit = 0x400, +- kFPVolBlockSizeBit = 0x800 +-}; +- +-/* AFP Attention Codes -- 4 bits */ +-#define AFPATTN_SHUTDOWN (1 << 15) /* shutdown/disconnect */ +-#define AFPATTN_CRASH (1 << 14) /* server crashed */ +-#define AFPATTN_MESG (1 << 13) /* server has message */ +-#define AFPATTN_NORECONNECT (1 << 12) /* don't reconnect */ +-/* server notification */ +-#define AFPATTN_NOTIFY (AFPATTN_MESG | AFPATTN_NORECONNECT) +- +-/* extended bitmap -- 12 bits. volchanged is only useful w/ a server +- * notification, and time is only useful for shutdown. */ +-#define AFPATTN_VOLCHANGED (1 << 0) /* volume has changed */ +-#define AFPATTN_TIME(x) ((x) & 0xfff) /* time in minutes */ +- +-#define kFPNoErr 0 +- +-/* AFP result codes, p252 */ +-#define kASPSessClosed -1072 +-#define kFPAccessDenied -5000 +-#define kFPAuthContinue -5001 +-#define kFPBadUAM -5002 +-#define kFPBadVersNum -5003 +-#define kFPBitmapErr -5004 +-#define kFPCantMove -5005 +-#define kFPDenyConflict -5006 +-#define kFPDirNotEmpty -5007 +-#define kFPDiskFull -5008 +-#define kFPEOFErr -5009 +-#define kFPFileBusy -5010 +-#define kFPFlatVol -5011 +-#define kFPItemNotFound -5012 +-#define kFPLockErr -5013 +-#define kFPMiscErr -5014 +-#define kFPNoMoreLocks -5015 +-#define kFPNoServer -5016 +-#define kFPObjectExists -5017 +-#define kFPObjectNotFound -5018 +-#define kFPParamErr -5019 +-#define kFPRangeNotLocked -5020 +-#define kFPRangeOverlap -5021 +-#define kFPSessClosed -5022 +-#define kFPUserNotAuth -5023 +-#define kFPCallNotSupported -5024 +-#define kFPObjectTypeErr -5025 +-#define kFPTooManyFilesOpen -5026 +-#define kFPServerGoingDown -5027 +-#define kFPCantRename -5028 +-#define kFPDirNotFound -5029 +-#define kFPIconTypeError -5030 +-#define kFPVolLocked -5031 +-#define kFPObjectLocked -5032 +-#define kFPContainsSharedErr -5033 +-#define kFPIDNotFound -5034 +-#define kFPIDExists -5035 +-#define kFPDiffVolErr -5036 +-#define kFPCatalogChanged -5037 +-#define kFPSameObjectErr -5038 +-#define kFPBadIDErr -5039 +-#define kFPPwdSameErr -5040 +-#define kFPPwdTooShortErr -5041 +-#define kFPPwdExpiredErr -5042 +-#define kFPInsideSharedErr -5043 +-#define kFPInsideTrashErr -5044 +-#define kFPPwdNeedsChangeErr -5045 +-#define kFPPwdPolicyErr -5046 +-#define kFPDiskQuotaExceeded –5047 +- +- +- +-/* These flags determine to lock or unlock in ByteRangeLock(Ext) */ +- +-enum { +-ByteRangeLock_Lock = 0, +-ByteRangeLock_Unlock = 1 +-}; +- +-/* These flags are used in volopen and getsrvrparm replies, p.171 */ +- +-#define HasConfigInfo 0x1 +-#define HasPassword 0x80 +- +-/* These are the subfunction for kFPMapID, as per p.248 */ +- +-enum { +-kUserIDToName = 1, +-kGroupIDToName = 2, +-kUserIDToUTF8Name = 3, +-kGroupIDToUTF8Name = 4, +-kUserUUIDToUTF8Name = 5, +-kGroupUUIDToUTF8Name = 6 +-}; +- +- +-/* These are the subfunction flags described in the FPMapName command, p.286. +- Note that this is different than what's described on p. 186. */ +- +-enum { +-kNameToUserID = 1, +-kNameToGroupID = 2, +-kUTF8NameToUserID = 3, +-kUTF8NameToGroupID = 4, +-kUTF8NameToUserUUID = 5, +-kUTF8NameToGroupUUID = 6 +-}; +- +-/* These are bits for FPGetUserInfo, p.173. */ +-#define kFPGetUserInfo_USER_ID 1 +-#define kFPGetUserInfo_PRI_GROUPID 2 +- +-/* Flags for the replies of GetSrvrInfo and DSI GetStatus, p.240 */ +- +-enum { +- kSupportsCopyfile = 0x01, +- kSupportsChgPwd = 0x02, +- kDontAllowSavePwd = 0x04, +- kSupportsSrvrMsg = 0x08, +- kSrvrSig = 0x10, +- kSupportsTCP = 0x20, +- kSupportsSrvrNotify = 0x40, +- kSupportsReconnect = 0x80, +- kSupportsDirServices = 0x100, +- kSupportsUTF8SrvrName = 0x200, +- kSupportsUUIDs = 0x400, +- kSupportsSuperClient = 0x8000 +-}; +- +- +-/* p.247 */ +- +-enum { +- kLoginWithoutID = 0, +- kLoginWithID = 1, +- kReconnWithID = 2, +- kLoginWithTimeAndID = 3, +- kReconnWithTimeAndID = 4, +- kRecon1Login = 5, +- kRecon1ReconnectLogin = 6, +- kRecon1Refresh = 7, kGetKerberosSessionKey = 8 +-}; +- +- +-#define AFP_CHMOD_ALLOWED_BITS_22 \ +- (S_IRUSR |S_IWUSR | S_IRGRP | S_IWGRP |S_IROTH | S_IWOTH | S_IFREG ) +- +- +-#endif +- +- +- +- +diff -Naur afpfs-ng-0.8.1/include/codepage.h afpfs-ng-0.8.1.patch/include/codepage.h +--- afpfs-ng-0.8.1/include/codepage.h 2007-09-23 16:21:30.000000000 +0200 ++++ afpfs-ng-0.8.1.patch/include/codepage.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,11 +0,0 @@ +-#ifndef __CODE_PAGE_H_ +-#define __CODE_PAGE_H_ +-int convert_utf8dec_to_utf8pre(const char *src, int src_len, +- char * dest, int dest_len); +-int convert_utf8pre_to_utf8dec(const char * src, int src_len, +- char * dest, int dest_len); +-int convert_path_to_unix(char encoding, char * dest, +- char * src, int dest_len); +-int convert_path_to_afp(char encoding, char * dest, +- char * src, int dest_len); +-#endif +diff -Naur afpfs-ng-0.8.1/include/dsi.h afpfs-ng-0.8.1.patch/include/dsi.h +--- afpfs-ng-0.8.1/include/dsi.h 2008-02-18 04:33:24.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/dsi.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,33 +0,0 @@ +- +-#ifndef __DSI_H_ +-#define __DSI_H_ +- +-#include "afp.h" +- +-struct dsi_request +-{ +- unsigned short requestid; +- unsigned char subcommand; +- void * other; +- unsigned char wait; +- pthread_cond_t condition_cond; +- struct dsi_request * next; +- int return_code; +-}; +- +-int dsi_receive(struct afp_server * server, void * data, int size); +-int dsi_getstatus(struct afp_server * server); +- +-int dsi_opensession(struct afp_server *server); +- +-int dsi_send(struct afp_server *server, char * msg, int size,int wait,unsigned char subcommand, void ** other); +-struct dsi_session * dsi_create(struct afp_server *server); +-int dsi_restart(struct afp_server *server); +-int dsi_recv(struct afp_server * server); +- +-#define DSI_BLOCK_TIMEOUT -1 +-#define DSI_DONT_WAIT 0 +-#define DSI_DEFAULT_TIMEOUT 5 +- +- +-#endif +diff -Naur afpfs-ng-0.8.1/include/libafpclient.h afpfs-ng-0.8.1.patch/include/libafpclient.h +--- afpfs-ng-0.8.1/include/libafpclient.h 2008-01-30 05:37:59.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/libafpclient.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,50 +0,0 @@ +- +-#ifndef __CLIENT_H_ +-#define __CLIENT_H_ +- +-#include <unistd.h> +-#include <syslog.h> +- +-#define MAX_CLIENT_RESPONSE 2048 +- +- +-enum loglevels { +- AFPFSD, +-}; +- +-struct afp_server; +-struct afp_volume; +- +-struct libafpclient { +- int (*unmount_volume) (struct afp_volume * volume); +- void (*log_for_client)(void * priv, +- enum loglevels loglevel, int logtype, const char *message); +- void (*forced_ending_hook)(void); +- int (*scan_extra_fds)(int command_fd,fd_set *set, int * max_fd); +- void (*loop_started)(void); +-} ; +- +-extern struct libafpclient * libafpclient; +- +-void libafpclient_register(struct libafpclient * tmpclient); +- +- +-void signal_main_thread(void); +- +-/* These are logging functions */ +- +-#define MAXLOGSIZE 2048 +- +-#define LOG_METHOD_SYSLOG 1 +-#define LOG_METHOD_STDOUT 2 +- +-void set_log_method(int m); +- +- +-void log_for_client(void * priv, +- enum loglevels loglevel, int logtype, char * message,...); +- +-void stdout_log_for_client(void * priv, +- enum loglevels loglevel, int logtype, const char *message); +- +-#endif +diff -Naur afpfs-ng-0.8.1/include/Makefile.am afpfs-ng-0.8.1.patch/include/Makefile.am +--- afpfs-ng-0.8.1/include/Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/Makefile.am 2011-09-10 12:13:50.126124692 +0200 +@@ -0,0 +1,3 @@ ++## Process this file with automake to produce Makefile.in ++ ++SUBDIRS = afpfs-ng +diff -Naur afpfs-ng-0.8.1/include/map_def.h afpfs-ng-0.8.1.patch/include/map_def.h +--- afpfs-ng-0.8.1/include/map_def.h 2008-01-17 05:55:46.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/map_def.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,15 +0,0 @@ +-#ifndef __MAP_H_ +-#define __MAP_H_ +- +-#include "afp.h" +- +-#define AFP_MAPPING_UNKNOWN 0 +-#define AFP_MAPPING_COMMON 1 +-#define AFP_MAPPING_LOGINIDS 2 +-#define AFP_MAPPING_NAME 3 +- +-unsigned int map_string_to_num(char * name); +-char * get_mapping_name(struct afp_volume * volume); +- +- +-#endif +diff -Naur afpfs-ng-0.8.1/include/midlevel.h afpfs-ng-0.8.1.patch/include/midlevel.h +--- afpfs-ng-0.8.1/include/midlevel.h 2007-12-24 20:39:25.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/midlevel.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,64 +0,0 @@ +-#ifndef __MIDLEVEL_H_ +-#define __MIDLEVEL_H_ +- +-#include <utime.h> +-#include "afp.h" +- +-int ml_open(struct afp_volume * volume, const char *path, int flags, +- struct afp_file_info **newfp); +- +-int ml_creat(struct afp_volume * volume, const char *path,mode_t mode); +- +-int ml_readdir(struct afp_volume * volume, +- const char *path, +- struct afp_file_info **base); +- +-int ml_read(struct afp_volume * volume, const char *path, +- char *buf, size_t size, off_t offset, +- struct afp_file_info *fp, int * eof); +- +-int ml_chmod(struct afp_volume * vol, const char * path, mode_t mode); +- +-int ml_unlink(struct afp_volume * vol, const char *path); +- +-int ml_mkdir(struct afp_volume * vol, const char * path, mode_t mode); +- +-int ml_close(struct afp_volume * volume, const char * path, +- struct afp_file_info * fp); +- +-int ml_getattr(struct afp_volume * volume, const char *path, +- struct stat *stbuf); +- +-int ml_write(struct afp_volume * volume, const char * path, +- const char *data, size_t size, off_t offset, +- struct afp_file_info * fp, uid_t uid, +- gid_t gid); +- +-int ml_readlink(struct afp_volume * vol, const char * path, +- char *buf, size_t size); +- +-int ml_rmdir(struct afp_volume * vol, const char *path); +- +-int ml_chown(struct afp_volume * vol, const char * path, +- uid_t uid, gid_t gid); +- +-int ml_truncate(struct afp_volume * vol, const char * path, off_t offset); +- +-int ml_utime(struct afp_volume * vol, const char * path, +- struct utimbuf * timebuf); +- +-int ml_symlink(struct afp_volume *vol, const char * path1, const char * path2); +- +-int ml_rename(struct afp_volume * vol, +- const char * path_from, const char * path_to); +- +-int ml_statfs(struct afp_volume * vol, const char *path, struct statvfs *stat); +- +-void afp_ml_filebase_free(struct afp_file_info **filebase); +- +-int ml_passwd(struct afp_server *server, +- char * username, char * oldpasswd, char * newpasswd); +- +- +- +-#endif +diff -Naur afpfs-ng-0.8.1/include/uams_def.h afpfs-ng-0.8.1.patch/include/uams_def.h +--- afpfs-ng-0.8.1/include/uams_def.h 2007-09-07 15:10:51.000000000 +0200 ++++ afpfs-ng-0.8.1.patch/include/uams_def.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,16 +0,0 @@ +-#ifndef __UAM_DEFS_H_ +-#define __UAM_DEFS_H_ +- +-#define UAM_NOUSERAUTHENT 0x1 +-#define UAM_CLEARTXTPASSWRD 0x2 +-#define UAM_RANDNUMEXCHANGE 0x4 +-#define UAM_2WAYRANDNUM 0x8 +-#define UAM_DHCAST128 0x10 +-#define UAM_CLIENTKRB 0x20 +-#define UAM_DHX2 0x40 +-#define UAM_RECON1 0x80 +- +-int uam_string_to_bitmap(char * name); +-char * uam_bitmap_to_string(unsigned int bitmap); +- +-#endif +diff -Naur afpfs-ng-0.8.1/include/utils.h afpfs-ng-0.8.1.patch/include/utils.h +--- afpfs-ng-0.8.1/include/utils.h 2008-02-18 04:33:58.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/utils.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,43 +0,0 @@ +-#ifndef __UTILS_H_ +-#define __UTILS_H_ +-#include <stdio.h> +- +-#include "afp.h" +- +-#if BYTE_ORDER == BIG_ENDIAN +-#define hton64(x) (x) +-#define ntoh64(x) (x) +-#else /* BYTE_ORDER == BIG_ENDIAN */ +-#define hton64(x) ((u_int64_t) (htonl(((x) >> 32) & 0xffffffffLL)) | \ +- (u_int64_t) ((htonl(x) & 0xffffffffLL) << 32)) +-#define ntoh64(x) (hton64(x)) +-#endif /* BYTE_ORDER == BIG_ENDIAN */ +- +-#define min(a,b) (((a)<(b)) ? (a) : (b)) +-#define max(a,b) (((a)>(b)) ? (a) : (b)) +- +- +- +-unsigned char unixpath_to_afppath( +- struct afp_server * server, +- char * buf); +- +-unsigned char sizeof_path_header(struct afp_server * server); +- +- +- +-unsigned char copy_from_pascal(char *dest, char *pascal,unsigned int max_len) ; +-unsigned short copy_from_pascal_two(char *dest, char *pascal,unsigned int max_len); +- +-unsigned char copy_to_pascal(char *dest, const char *src); +-unsigned short copy_to_pascal_two(char *dest, const char *src); +- +-void copy_path(struct afp_server * server, char * dest, const char * pathname, unsigned char len); +- +- +-char * create_path(struct afp_server * server, char * pathname, unsigned short * len); +- +- +-int invalid_filename(struct afp_server * server, const char * filename); +- +-#endif +diff -Naur afpfs-ng-0.8.1/lib/afp.c afpfs-ng-0.8.1.patch/lib/afp.c +--- afpfs-ng-0.8.1/lib/afp.c 2008-03-08 03:44:16.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/afp.c 2011-09-10 12:13:50.131124759 +0200 +@@ -9,7 +9,7 @@ + + + +-#include "afp.h" ++#include "afpfs-ng/afp.h" + #include <config.h> + + #include <stdio.h> +@@ -21,17 +21,17 @@ + #include <sys/socket.h> + #include <errno.h> + +-#include "afp_protocol.h" +-#include "libafpclient.h" ++#include "afpfs-ng/afp_protocol.h" ++#include "afpfs-ng/libafpclient.h" + #include "server.h" +-#include "dsi.h" ++#include "afpfs-ng/dsi.h" + #include "dsi_protocol.h" +-#include "utils.h" ++#include "afpfs-ng/utils.h" + #include "afp_replies.h" + #include "afp_internal.h" + #include "did.h" + #include "forklist.h" +-#include "codepage.h" ++#include "afpfs-ng/codepage.h" + + struct afp_versions afp_versions[] = { + { "AFPVersion 1.1", 11 }, +diff -Naur afpfs-ng-0.8.1/lib/afp_internal.h afpfs-ng-0.8.1.patch/lib/afp_internal.h +--- afpfs-ng-0.8.1/lib/afp_internal.h 2007-11-09 05:27:20.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/afp_internal.h 2011-09-10 12:13:50.132124772 +0200 +@@ -1,7 +1,7 @@ + #ifndef _AFP_INTERNAL_H_ + #define _AFP_INTERNAL_H_ + +-#include "afp.h" ++#include "afpfs-ng/afp.h" + + extern struct afp_versions afp_versions[]; + +diff -Naur afpfs-ng-0.8.1/lib/afp_url.c afpfs-ng-0.8.1.patch/lib/afp_url.c +--- afpfs-ng-0.8.1/lib/afp_url.c 2008-03-04 21:16:49.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/afp_url.c 2011-09-10 12:13:50.132124772 +0200 +@@ -3,7 +3,7 @@ + #include <stdio.h> + #include <stdlib.h> + #include <errno.h> +-#include "afp.h" ++#include "afpfs-ng/afp.h" + + void afp_default_url(struct afp_url *url) + { +diff -Naur afpfs-ng-0.8.1/lib/client.c afpfs-ng-0.8.1.patch/lib/client.c +--- afpfs-ng-0.8.1/lib/client.c 2008-02-18 04:36:30.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/client.c 2011-09-10 12:13:50.132124772 +0200 +@@ -1,5 +1,5 @@ +-#include <afp.h> +-#include <libafpclient.h> ++#include <afpfs-ng/afp.h> ++#include <afpfs-ng/libafpclient.h> + + + struct libafpclient * libafpclient = NULL; +diff -Naur afpfs-ng-0.8.1/lib/codepage.c afpfs-ng-0.8.1.patch/lib/codepage.c +--- afpfs-ng-0.8.1/lib/codepage.c 2008-02-18 04:36:54.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/codepage.c 2011-09-10 12:13:50.133124786 +0200 +@@ -14,8 +14,8 @@ + + #include <string.h> + #include <stdlib.h> +-#include "afp_protocol.h" +-#include "utils.h" ++#include "afpfs-ng/afp_protocol.h" ++#include "afpfs-ng/utils.h" + #include "unicode.h" + + int convert_utf8dec_to_utf8pre(const char *src, int src_len, +diff -Naur afpfs-ng-0.8.1/lib/connect.c afpfs-ng-0.8.1.patch/lib/connect.c +--- afpfs-ng-0.8.1/lib/connect.c 2008-02-18 04:38:59.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/connect.c 2011-09-10 12:13:50.133124786 +0200 +@@ -10,13 +10,13 @@ + #include <string.h> + #include <sys/socket.h> + +-#include "afp.h" +-#include "dsi.h" +-#include "utils.h" +-#include "uams_def.h" +-#include "codepage.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/utils.h" ++#include "afpfs-ng/uams_def.h" ++#include "afpfs-ng/codepage.h" + #include "users.h" +-#include "libafpclient.h" ++#include "afpfs-ng/libafpclient.h" + #include "server.h" + + +diff -Naur afpfs-ng-0.8.1/lib/did.c afpfs-ng-0.8.1.patch/lib/did.c +--- afpfs-ng-0.8.1/lib/did.c 2008-02-18 04:39:17.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/did.c 2011-09-10 12:13:50.133124786 +0200 +@@ -9,8 +9,8 @@ + #include <string.h> + #include <stdio.h> + +-#include "afp.h" +-#include "afp_protocol.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/afp_protocol.h" + + #undef DID_CACHE_DISABLE + +diff -Naur afpfs-ng-0.8.1/lib/dsi.c afpfs-ng-0.8.1.patch/lib/dsi.c +--- afpfs-ng-0.8.1/lib/dsi.c 2008-02-18 04:53:03.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/dsi.c 2011-09-10 12:13:50.134124800 +0200 +@@ -19,12 +19,12 @@ + #include <signal.h> + #include <iconv.h> + +-#include "utils.h" +-#include "dsi.h" +-#include "afp.h" +-#include "uams_def.h" ++#include "afpfs-ng/utils.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/uams_def.h" + #include "dsi_protocol.h" +-#include "libafpclient.h" ++#include "afpfs-ng/libafpclient.h" + #include "afp_internal.h" + #include "afp_replies.h" + +diff -Naur afpfs-ng-0.8.1/lib/forklist.c afpfs-ng-0.8.1.patch/lib/forklist.c +--- afpfs-ng-0.8.1/lib/forklist.c 2008-01-17 05:49:16.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/forklist.c 2011-09-10 12:13:50.135124814 +0200 +@@ -10,7 +10,7 @@ + */ + + +-#include "afp.h" ++#include "afpfs-ng/afp.h" + + #include <stdlib.h> + #include <pthread.h> +diff -Naur afpfs-ng-0.8.1/lib/log.c afpfs-ng-0.8.1.patch/lib/log.c +--- afpfs-ng-0.8.1/lib/log.c 2008-01-30 05:37:58.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/log.c 2011-09-10 12:13:50.135124814 +0200 +@@ -3,7 +3,7 @@ + #include <stdarg.h> + #include <string.h> + #include <stdlib.h> +-#include "libafpclient.h" ++#include "afpfs-ng/libafpclient.h" + + void log_for_client(void * priv, + enum loglevels loglevel, int logtype, char *format, ...) { +diff -Naur afpfs-ng-0.8.1/lib/loop.c afpfs-ng-0.8.1.patch/lib/loop.c +--- afpfs-ng-0.8.1/lib/loop.c 2008-02-18 04:40:11.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/loop.c 2011-09-10 12:13:50.135124814 +0200 +@@ -16,9 +16,9 @@ + #include <sys/time.h> + #include <signal.h> + +-#include "afp.h" +-#include "dsi.h" +-#include "utils.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/utils.h" + + #define SIGNAL_TO_USE SIGUSR2 + +diff -Naur afpfs-ng-0.8.1/lib/lowlevel.c afpfs-ng-0.8.1.patch/lib/lowlevel.c +--- afpfs-ng-0.8.1/lib/lowlevel.c 2008-02-20 02:33:17.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/lowlevel.c 2011-09-10 12:13:50.136124828 +0200 +@@ -19,10 +19,10 @@ + #else + #include <fcntl.h> + #endif +-#include "afp.h" +-#include "afp_protocol.h" +-#include "codepage.h" +-#include "utils.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/afp_protocol.h" ++#include "afpfs-ng/codepage.h" ++#include "afpfs-ng/utils.h" + #include "did.h" + #include "users.h" + +diff -Naur afpfs-ng-0.8.1/lib/map_def.c afpfs-ng-0.8.1.patch/lib/map_def.c +--- afpfs-ng-0.8.1/lib/map_def.c 2007-09-07 15:10:59.000000000 +0200 ++++ afpfs-ng-0.8.1.patch/lib/map_def.c 2011-09-10 12:13:50.136124828 +0200 +@@ -1,6 +1,6 @@ + #include <string.h> +-#include "afp.h" +-#include "map_def.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/map_def.h" + + static char *afp_map_strings[] = { + "Unknown", +diff -Naur afpfs-ng-0.8.1/lib/meta.c afpfs-ng-0.8.1.patch/lib/meta.c +--- afpfs-ng-0.8.1/lib/meta.c 2008-01-04 04:52:44.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/meta.c 2011-09-10 12:13:50.137124841 +0200 +@@ -17,10 +17,10 @@ + #include <unistd.h> + #include <sys/time.h> + +-#include "afp.h" +-#include "dsi.h" +-#include "afp_protocol.h" +-#include "utils.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp_protocol.h" ++#include "afpfs-ng/utils.h" + + + int afp_meta_getattr(const char *path, struct stat *stbuf) +diff -Naur afpfs-ng-0.8.1/lib/midlevel.c afpfs-ng-0.8.1.patch/lib/midlevel.c +--- afpfs-ng-0.8.1/lib/midlevel.c 2008-03-08 17:08:18.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/midlevel.c 2011-09-10 12:13:50.160125150 +0200 +@@ -10,7 +10,7 @@ + */ + + +-#include "afp.h" ++#include "afpfs-ng/afp.h" + + #include <sys/stat.h> + #include <string.h> +@@ -28,9 +28,9 @@ + #include "users.h" + #include "did.h" + #include "resource.h" +-#include "utils.h" +-#include "codepage.h" +-#include "midlevel.h" ++#include "afpfs-ng/utils.h" ++#include "afpfs-ng/codepage.h" ++#include "afpfs-ng/midlevel.h" + #include "afp_internal.h" + #include "forklist.h" + #include "uams.h" +diff -Naur afpfs-ng-0.8.1/lib/proto_attr.c afpfs-ng-0.8.1.patch/lib/proto_attr.c +--- afpfs-ng-0.8.1/lib/proto_attr.c 2008-01-30 05:37:58.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_attr.c 2011-09-10 12:13:50.168125257 +0200 +@@ -7,10 +7,10 @@ + + #include <string.h> + #include <stdlib.h> +-#include "dsi.h" +-#include "afp.h" +-#include "utils.h" +-#include "afp_protocol.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" ++#include "afpfs-ng/afp_protocol.h" + #include "dsi_protocol.h" + + /* This is a new command, function 76. There are currently no docs, so this +diff -Naur afpfs-ng-0.8.1/lib/proto_desktop.c afpfs-ng-0.8.1.patch/lib/proto_desktop.c +--- afpfs-ng-0.8.1/lib/proto_desktop.c 2008-02-18 04:44:11.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_desktop.c 2011-09-10 12:13:50.168125257 +0200 +@@ -9,10 +9,10 @@ + #include <string.h> + #include <stdlib.h> + +-#include "dsi.h" +-#include "afp.h" +-#include "utils.h" +-#include "afp_protocol.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" ++#include "afpfs-ng/afp_protocol.h" + #include "dsi_protocol.h" + + /* closedt, addicon, geticoninfo, addappl, removeappl */ +diff -Naur afpfs-ng-0.8.1/lib/proto_directory.c afpfs-ng-0.8.1.patch/lib/proto_directory.c +--- afpfs-ng-0.8.1/lib/proto_directory.c 2008-02-19 03:39:29.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_directory.c 2011-09-10 12:13:50.168125257 +0200 +@@ -9,10 +9,10 @@ + #include <string.h> + #include <stdlib.h> + +-#include "dsi.h" +-#include "afp.h" +-#include "utils.h" +-#include "afp_protocol.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" ++#include "afpfs-ng/afp_protocol.h" + #include "dsi_protocol.h" + #include "afp_replies.h" + +diff -Naur afpfs-ng-0.8.1/lib/proto_files.c afpfs-ng-0.8.1.patch/lib/proto_files.c +--- afpfs-ng-0.8.1/lib/proto_files.c 2008-02-18 04:46:18.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_files.c 2011-09-10 12:13:50.169125270 +0200 +@@ -8,11 +8,11 @@ + + #include <stdlib.h> + #include <string.h> +-#include "dsi.h" +-#include "afp.h" +-#include "utils.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" + #include "dsi_protocol.h" +-#include "afp_protocol.h" ++#include "afpfs-ng/afp_protocol.h" + #include "afp_internal.h" + + /* afp_setfileparms, afp_setdirparms and afpsetfiledirparms are all remarkably +diff -Naur afpfs-ng-0.8.1/lib/proto_fork.c afpfs-ng-0.8.1.patch/lib/proto_fork.c +--- afpfs-ng-0.8.1/lib/proto_fork.c 2008-01-30 05:37:58.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_fork.c 2011-09-10 12:13:50.169125270 +0200 +@@ -9,11 +9,11 @@ + #include <stdlib.h> + #include <string.h> + +-#include "dsi.h" +-#include "afp.h" +-#include "utils.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" + #include "dsi_protocol.h" +-#include "afp_protocol.h" ++#include "afpfs-ng/afp_protocol.h" + + int afp_setforkparms(struct afp_volume * volume, + unsigned short forkid, unsigned short bitmap, unsigned long len) +diff -Naur afpfs-ng-0.8.1/lib/proto_login.c afpfs-ng-0.8.1.patch/lib/proto_login.c +--- afpfs-ng-0.8.1/lib/proto_login.c 2008-01-30 05:37:59.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_login.c 2011-09-10 12:13:50.169125270 +0200 +@@ -10,10 +10,10 @@ + + #include <stdlib.h> + #include <string.h> +-#include "dsi.h" ++#include "afpfs-ng/dsi.h" + #include "dsi_protocol.h" +-#include "afp.h" +-#include "utils.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" + #include "afp_internal.h" + + +diff -Naur afpfs-ng-0.8.1/lib/proto_map.c afpfs-ng-0.8.1.patch/lib/proto_map.c +--- afpfs-ng-0.8.1/lib/proto_map.c 2008-01-30 05:37:59.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_map.c 2011-09-10 12:13:50.170125283 +0200 +@@ -9,11 +9,11 @@ + #include <stdlib.h> + #include <string.h> + +-#include "dsi.h" +-#include "afp.h" +-#include "utils.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" + #include "dsi_protocol.h" +-#include "afp_protocol.h" ++#include "afpfs-ng/afp_protocol.h" + + /* This is used to pass the return values back from afp_getuserinfo_reply() */ + struct uidgid { +diff -Naur afpfs-ng-0.8.1/lib/proto_replyblock.c afpfs-ng-0.8.1.patch/lib/proto_replyblock.c +--- afpfs-ng-0.8.1/lib/proto_replyblock.c 2008-02-18 04:46:19.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_replyblock.c 2011-09-10 12:13:50.170125283 +0200 +@@ -6,9 +6,9 @@ + */ + + #include <string.h> +-#include "dsi.h" +-#include "afp.h" +-#include "utils.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" + #include "afp_internal.h" + + +diff -Naur afpfs-ng-0.8.1/lib/proto_server.c afpfs-ng-0.8.1.patch/lib/proto_server.c +--- afpfs-ng-0.8.1/lib/proto_server.c 2008-02-19 02:56:21.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_server.c 2011-09-10 12:13:50.170125283 +0200 +@@ -7,12 +7,12 @@ + */ + #include <stdlib.h> + #include <string.h> +-#include "dsi.h" +-#include "afp.h" +-#include "utils.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" + #include "dsi_protocol.h" +-#include "afp_protocol.h" +-#include "codepage.h" ++#include "afpfs-ng/afp_protocol.h" ++#include "afpfs-ng/codepage.h" + #include "afp_internal.h" + + int afp_getsrvrparms(struct afp_server *server) +diff -Naur afpfs-ng-0.8.1/lib/proto_session.c afpfs-ng-0.8.1.patch/lib/proto_session.c +--- afpfs-ng-0.8.1/lib/proto_session.c 2008-02-18 04:46:19.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_session.c 2011-09-10 12:13:50.170125283 +0200 +@@ -8,10 +8,10 @@ + */ + #include <stdlib.h> + #include <string.h> +-#include "dsi.h" ++#include "afpfs-ng/dsi.h" + #include "dsi_protocol.h" +-#include "afp.h" +-#include "utils.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" + + int afp_getsessiontoken(struct afp_server * server, int type, + unsigned int timestamp, struct afp_token *outgoing_token, +diff -Naur afpfs-ng-0.8.1/lib/proto_volume.c afpfs-ng-0.8.1.patch/lib/proto_volume.c +--- afpfs-ng-0.8.1/lib/proto_volume.c 2008-02-18 04:47:48.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_volume.c 2011-09-10 12:13:50.171125296 +0200 +@@ -8,13 +8,13 @@ + + #include <string.h> + #include <stdlib.h> +-#include "dsi.h" +-#include "afp.h" +-#include "utils.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" + #include "dsi_protocol.h" +-#include "afp_protocol.h" ++#include "afpfs-ng/afp_protocol.h" + #include "afp_internal.h" +-#include "codepage.h" ++#include "afpfs-ng/codepage.h" + + static int parse_volbitmap_reply(struct afp_server * server, + struct afp_volume * tmpvol, +diff -Naur afpfs-ng-0.8.1/lib/resource.c afpfs-ng-0.8.1.patch/lib/resource.c +--- afpfs-ng-0.8.1/lib/resource.c 2008-02-18 04:46:56.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/resource.c 2011-09-10 12:13:50.171125296 +0200 +@@ -3,11 +3,11 @@ + #include <string.h> + #include <errno.h> + #include <fcntl.h> +-#include "afp.h" ++#include "afpfs-ng/afp.h" + #include "resource.h" + #include "lowlevel.h" + #include "did.h" +-#include "midlevel.h" ++#include "afpfs-ng/midlevel.h" + + #define appledouble ".AppleDouble" + #define finderinfo_string ".finderinfo" +diff -Naur afpfs-ng-0.8.1/lib/server.c afpfs-ng-0.8.1.patch/lib/server.c +--- afpfs-ng-0.8.1/lib/server.c 2008-02-19 02:56:21.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/server.c 2011-09-10 12:13:50.172125310 +0200 +@@ -8,15 +8,15 @@ + #include <string.h> + #include <time.h> + +-#include "afp.h" +-#include "dsi.h" +-#include "utils.h" +-#include "uams_def.h" +-#include "codepage.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/utils.h" ++#include "afpfs-ng/uams_def.h" ++#include "afpfs-ng/codepage.h" + #include "users.h" +-#include "libafpclient.h" ++#include "afpfs-ng/libafpclient.h" + #include "afp_internal.h" +-#include "dsi.h" ++#include "afpfs-ng/dsi.h" + + + struct afp_server * afp_server_complete_connection( +diff -Naur afpfs-ng-0.8.1/lib/status.c afpfs-ng-0.8.1.patch/lib/status.c +--- afpfs-ng-0.8.1/lib/status.c 2008-03-08 17:08:38.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/status.c 2011-09-10 12:13:50.172125310 +0200 +@@ -1,8 +1,8 @@ + #include <string.h> + #include <stdio.h> +-#include "map_def.h" +-#include "dsi.h" +-#include "afp.h" ++#include "afpfs-ng/map_def.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" + + int afp_status_header(char * text, int * len) + { +diff -Naur afpfs-ng-0.8.1/lib/uams.c afpfs-ng-0.8.1.patch/lib/uams.c +--- afpfs-ng-0.8.1/lib/uams.c 2008-01-04 04:52:44.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/uams.c 2011-09-10 12:13:50.173125324 +0200 +@@ -8,10 +8,10 @@ + + #include <string.h> + #include <stdlib.h> +-#include "dsi.h" +-#include "afp.h" +-#include "utils.h" +-#include "uams_def.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" ++#include "afpfs-ng/uams_def.h" + #include "config.h" + + #ifdef HAVE_LIBGCRYPT +diff -Naur afpfs-ng-0.8.1/lib/users.c afpfs-ng-0.8.1.patch/lib/users.c +--- afpfs-ng-0.8.1/lib/users.c 2008-02-18 04:48:56.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/users.c 2011-09-10 12:13:50.174125338 +0200 +@@ -3,8 +3,8 @@ + #include <grp.h> + #include <string.h> + +-#include "afp.h" +-#include "map_def.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/map_def.h" + + /* How mapping works + * +diff -Naur afpfs-ng-0.8.1/lib/utils.c afpfs-ng-0.8.1.patch/lib/utils.c +--- afpfs-ng-0.8.1/lib/utils.c 2008-02-18 04:53:37.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/utils.c 2011-09-10 12:13:50.174125338 +0200 +@@ -8,10 +8,10 @@ + #include <stdio.h> + #include <string.h> + #include <stdlib.h> +-#include "afp.h" +-#include "utils.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" + #include "afp_internal.h" +-#include "afp_protocol.h" ++#include "afpfs-ng/afp_protocol.h" + + struct afp_path_header_long { + unsigned char type; +diff -Naur afpfs-ng-0.8.1/Makefile.am afpfs-ng-0.8.1.patch/Makefile.am +--- afpfs-ng-0.8.1/Makefile.am 2008-02-18 04:24:14.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/Makefile.am 2011-09-10 12:13:50.176125365 +0200 +@@ -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 --git a/community/gendesk/PKGBUILD b/community/gendesk/PKGBUILD new file mode 100644 index 000000000..d5f5589f0 --- /dev/null +++ b/community/gendesk/PKGBUILD @@ -0,0 +1,43 @@ +# $Id: PKGBUILD 68578 2012-03-28 14:04:58Z arodseth $ +# Maintainer: Alexander Rødseth <rodseth@gmail.com> +# Thanks to Moonprincessluna at DeviantArt for the default icon: +# http://mylittlepixel.deviantart.com/gallery/35405924#/d4pt23a + +pkgname=gendesk +pkgver=0.2 +pkgrel=1 +pkgdesc="Utility to generate .desktop files and download icons" +arch=('x86_64' 'i686') +url="http://roboticoverlords.org/gendesk/" +license=('MIT') +depends=('glibc') +makedepends=('go') +conflicts=('go-hg') +source=("http://roboticoverlords.org/$pkgname/$pkgname-$pkgver.tar.gz" + "http://roboticoverlords.org/images/default.png") +sha256sums=('51de3dd28ac38da82ca1db1428aad44348bc2edc491931ed0146044e781ca2e8' + '4d96eded48e536d02e35727c36dc20844c2e44654e81baf78e10aee4eb48e837') +options=(!strip) +if [ "$CARCH" = "x86_64" ]; then + _go=6 +else + _go=8 +fi + +build() { + cd "$srcdir/$pkgname-$pkgver" + + msg2 "Compiling..." + "${_go}g" "$pkgname.go" + "${_go}l" -o "$pkgname" "$pkgname.$_go" +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + install -Dm755 "$pkgname" "$pkgdir/usr/bin/$pkgname" + install -Dm644 "$srcdir/default.png" "$pkgdir/usr/share/pixmaps/default.png" + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +# vim:set ts=2 sw=2 et: diff --git a/community/go/PKGBUILD b/community/go/PKGBUILD index e15bdd371..5b6aec0dc 100644 --- a/community/go/PKGBUILD +++ b/community/go/PKGBUILD @@ -1,13 +1,13 @@ -# $Id: PKGBUILD 63009 2012-01-30 12:36:34Z arodseth $ +# $Id: PKGBUILD 68595 2012-03-29 03:48:22Z vegai $ # Maintainer: Vesa Kaihlavirta <vegai@iki.fi> # Contributor: Andres Perera <andres87p gmail> # Contributor: Matthew Bauer <mjbauer95@gmail.com> # Contributor: Christian Himpel <chressie at gmail dot com> pkgname=go -pkgver=r60.3 -pkgrel=3 -epoch=1 +pkgver=1 +pkgrel=1 +epoch=2 pkgdesc='Google Go compiler and tools (release version)' arch=('i686' 'x86_64' 'mips64el') url="http://golang.org/" @@ -48,19 +48,10 @@ build() { mkdir -p "$GOROOT/bin" cd "$GOROOT/src" - hg update release.$pkgver - + hg update release-branch.go$pkgver . ./make.bash } -check() { - export GOROOT="$srcdir/$_hgrepo-build" - export GOOS=linux - export GOBIN="$GOROOT/bin" - cd "$GOROOT/src/pkg" - gomake -k test || true -} - package() { cd "$srcdir/release-build" diff --git a/community/guake/PKGBUILD b/community/guake/PKGBUILD index 8cc8170cc..3bcd46d0a 100644 --- a/community/guake/PKGBUILD +++ b/community/guake/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 68271 2012-03-21 05:47:03Z bgyorgy $ +# $Id: PKGBUILD 68559 2012-03-28 06:25:01Z bgyorgy $ # Maintainer: Balló György <ballogyor+arch at gmail dot com> # Contributor: Angel Velasquez <angvp@archlinux.org> # Contributor: Wilson Pinto Júnior (N3RD3X) <n3rd3x@linuxmail.org> pkgname=guake pkgver=0.4.2 -pkgrel=6 +pkgrel=7 pkgdesc='Drop-down terminal for GNOME' arch=('i686' 'x86_64' 'mips64el') url="http://guake.org/" @@ -15,18 +15,24 @@ makedepends=('intltool') options=('!libtool') install=$pkgname.install source=(http://guake.org/files/$pkgname-$pkgver.tar.gz - http://guake.org/raw-attachment/ticket/246/0001-Retrieve-port-as-int.2.patch) + http://guake.org/raw-attachment/ticket/246/0001-Retrieve-port-as-int.2.patch + guake-glib2.32.patch) md5sums=('1f0feff3bfc15c998147dbf07d9d8a8e' - '9aca6ba8e46ae1b69958cda0e03320ff') + '9aca6ba8e46ae1b69958cda0e03320ff' + 'ac692391e2fa171f6f96e5ceb2284c2d') build() { cd "$srcdir/$pkgname-$pkgver" sed -i 's|schemadir = $(sysconfdir)/gconf/schemas|schemadir = $(GCONF_SCHEMA_FILE_DIR)|' data/Makefile.in sed -i 's|PYTHON="/usr/bin/python"|PYTHON="/usr/bin/python2"|' src/guake{,-prefs}.in + patch -Np1 -i "$srcdir/guake-glib2.32.patch" # Patch to import proxy port setting as int (http://guake.org/ticket/246) patch -Np1 -i "$srcdir/0001-Retrieve-port-as-int.2.patch" + # Do not disable autostart in GNOME + sed -i '/X-GNOME-Autostart-enabled/ d' data/guake.desktop.in + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ --disable-static --disable-schemas-install \ --with-gconf-schema-file-dir=/usr/share/gconf/schemas \ @@ -38,4 +44,7 @@ package() { cd "$srcdir/$pkgname-$pkgver" make DESTDIR="$pkgdir" install + + # Remove autostart file + rm -r "$pkgdir/etc" } diff --git a/community/guake/guake-glib2.32.patch b/community/guake/guake-glib2.32.patch new file mode 100644 index 000000000..a370e123c --- /dev/null +++ b/community/guake/guake-glib2.32.patch @@ -0,0 +1,21 @@ +commit 0353da88e550031b4694a4168bd6d489f873d68a +Author: max ulidtko <ulidtko@gmail.com> +Date: Fri Mar 2 07:51:38 2012 +0200 + + globalhotkeys build fix for glib 2.31 + + apply patch from #425 + +diff --git a/src/globalhotkeys/keybinder.h b/src/globalhotkeys/keybinder.h +index 00e532d..69a50c0 100644 +--- a/src/globalhotkeys/keybinder.h ++++ b/src/globalhotkeys/keybinder.h +@@ -2,7 +2,7 @@ + #ifndef __KEY_BINDER_H__ + #define __KEY_BINDER_H__ + +-#include <glib/gtypes.h> ++#include <glib.h> + + G_BEGIN_DECLS + diff --git a/community/gummi/PKGBUILD b/community/gummi/PKGBUILD index 6cc2dfde7..1c9ac43ec 100644 --- a/community/gummi/PKGBUILD +++ b/community/gummi/PKGBUILD @@ -1,12 +1,11 @@ -# $Id: PKGBUILD 68113 2012-03-18 11:53:48Z arodseth $ - +# $Id: PKGBUILD 68592 2012-03-28 22:12:45Z arodseth $ # Maintainer: Alexander Rødseth <rodseth@gmail.com> # Contributor: Thomas Dziedzic < gostrc at gmail > # Contributor: Sergio A. Morales <sergiomorales@archlinux.cl> # Contributor: soeren <nonick@posteo.de> pkgname=gummi -pkgver=0.6.2 +pkgver=0.6.3 pkgrel=1 pkgdesc='Simple LaTex editor for GTK users' arch=('x86_64' 'i686' 'mips64el') @@ -15,8 +14,8 @@ license=('MIT') depends=('texlive-core' 'gtkspell' 'gtksourceview2' 'poppler-glib' 'desktop-file-utils') makedepends=('glib2' 'gtk2' 'pango' 'poppler' 'intltool') install=$pkgname.install -source=("http://dev.midnightcoding.org/attachments/download/258/$pkgname-$pkgver.tar.gz") -sha256sums=('1d886e6036a9a480662f9cf3ae8afa4d1129929c16cb78081755ad1d10be8277') +source=("http://dev.midnightcoding.org/projects/$pkgname/latest.tar.gz") +sha256sums=('d44196e56ed61e125bba01e5949be0928cf09919fdb80e62e6a41999a478f0ed') build() { cd "$pkgname-$pkgver" diff --git a/community/libcec/PKGBUILD b/community/libcec/PKGBUILD new file mode 100644 index 000000000..6a2af7230 --- /dev/null +++ b/community/libcec/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 68568 2012-03-28 10:28:32Z idevolder $ +# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com> +# Contributor: Philippe Cherel <philippe.cherel@mayenne.org> + +pkgname=libcec +pkgver=1.5.2 +pkgrel=1 +pkgdesc="Pulse-Eight's libcec for the Pulse-Eight USB-CEC adapter" +arch=('i686' 'x86_64') +url="https://github.com/Pulse-Eight/libcec" +license=('GPL') +depends=('udev') +source=("$pkgname-$pkgver.tar.gz::https://github.com/Pulse-Eight/libcec/tarball/$pkgname-$pkgver") +_srcfolder=Pulse-Eight-libcec-00a02d1 +sha256sums=('93990024d01da7c66e2c78ca23919fd83137f6b944a2dc82fb5cc6d58a46742f') +options=(!libtool) + +build() { + mv "$_srcfolder" "$pkgname-$pkgver" + + cd "$pkgname-$pkgver" + autoreconf -vif + ./configure --prefix=/usr + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/community/libnfs/PKGBUILD b/community/libnfs/PKGBUILD new file mode 100644 index 000000000..eaef7ac71 --- /dev/null +++ b/community/libnfs/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 68570 2012-03-28 10:32:51Z idevolder $ +# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com> + +pkgname=libnfs +pkgver=1.3.0 +pkgrel=1 +pkgdesc="client library for accessing NFS shares" +arch=('i686' 'x86_64') +url="https://github.com/sahlberg/libnfs" +license=('GPL') +depends=('glibc') +source=("$pkgname-$pkgver.tar.gz::https://github.com/sahlberg/libnfs/tarball/$pkgname-$pkgver") +_srcfolder=sahlberg-libnfs-47e5a2c +sha256sums=('0acda3029db699c3978684080843f71d222ad35b30a2ff0d220d144e98854948') +options=(!libtool) + +build() { + mv "$_srcfolder" "$pkgname-$pkgver" + + cd "$pkgname-$pkgver" + + autoreconf -vif + ./configure --prefix=/usr + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/community/libshairport/PKGBUILD b/community/libshairport/PKGBUILD new file mode 100644 index 000000000..d6e406c41 --- /dev/null +++ b/community/libshairport/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 68571 2012-03-28 10:35:14Z idevolder $ +# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com> + +pkgname=libshairport +_developer='amejia1' +_version=1.2.1 +_commithash='aeb4987' +pkgver=${_version} +pkgrel=2 +pkgdesc="emulates an AirPort Express" +arch=('i686' 'x86_64') +url='https://github.com/amejia1/libshairport' +license=('GPL') +depends=('openssl' 'libao') +source=("$pkgname-$pkgver.tar.gz::https://github.com/amejia1/libshairport/tarball/$_commithash") +sha256sums=('003c65f56123a7cb090b2d7249f0facbef668f7db6048f4b458713892a6911ca') +options=(!libtool) + +_srcfolder=$_developer-$pkgname-$_commithash + +build() { + mv "$_srcfolder" "$pkgname-$pkgver" + + cd "$pkgname-$pkgver" + autoreconf -vif + ./configure --prefix=/usr + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/community/regexxer/PKGBUILD b/community/regexxer/PKGBUILD index 85d87b7a6..c570f654d 100644 --- a/community/regexxer/PKGBUILD +++ b/community/regexxer/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 68478 2012-03-25 19:09:20Z bgyorgy $ +# $Id: PKGBUILD 68556 2012-03-28 05:13:10Z bgyorgy $ # Maintainer: Balló György <ballogyor+arch at gmail dot com> pkgname=regexxer pkgver=0.10 -pkgrel=2 +pkgrel=3 pkgdesc="Interactive search and replace tool for GNOME" arch=('i686' 'x86_64') url="http://regexxer.sourceforge.net/" @@ -11,11 +11,14 @@ license=('GPL') depends=('gtksourceviewmm' 'dconf' 'hicolor-icon-theme' 'xdg-utils') makedepends=('intltool') install=$pkgname.install -source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/$pkgver/$pkgname-$pkgver.tar.xz) -sha256sums=('2a7832541a0306b3d4eb63a1cf8978d7bbfc7927e9304473fe801d71fd99736c') +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/$pkgver/$pkgname-$pkgver.tar.xz + regexxer-glib2.32.patch) +sha256sums=('2a7832541a0306b3d4eb63a1cf8978d7bbfc7927e9304473fe801d71fd99736c' + '1addebc552e4374f3f9ee778fb734c08c1ed3a4b2b5e70905f7c9287c9b34882') build() { cd "$srcdir/$pkgname-$pkgver" + patch -Np1 -i "$srcdir/regexxer-glib2.32.patch" sed -i '/GLIB_COMPILE_SCHEMAS/ d' Makefile.in ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ diff --git a/community/regexxer/regexxer-glib2.32.patch b/community/regexxer/regexxer-glib2.32.patch new file mode 100644 index 000000000..7d732b8bb --- /dev/null +++ b/community/regexxer/regexxer-glib2.32.patch @@ -0,0 +1,35 @@ +diff -Naur regexxer-0.10.orig/src/fileshared.h regexxer-0.10/src/fileshared.h +--- regexxer-0.10.orig/src/fileshared.h 2012-03-27 03:59:38.209864722 +0000 ++++ regexxer-0.10/src/fileshared.h 2012-03-27 04:17:47.161371044 +0000 +@@ -23,6 +23,7 @@ + + #include "sharedptr.h" + ++#include <glibmm/regex.h> + #include <gtkmm/textbuffer.h> + #include <functional> + #include <utility> +diff -Naur regexxer-0.10.orig/src/globalstrings.h regexxer-0.10/src/globalstrings.h +--- regexxer-0.10.orig/src/globalstrings.h 2012-03-27 03:59:38.209864722 +0000 ++++ regexxer-0.10/src/globalstrings.h 2012-03-27 04:21:44.906198757 +0000 +@@ -21,7 +21,7 @@ + #ifndef REGEXXER_GLOBALSTRINGS_H_INCLUDED + #define REGEXXER_GLOBALSTRINGS_H_INCLUDED + +-#include <glib/gutils.h> /* for G_DIR_SEPARATOR_S */ ++#include <glib.h> /* for G_DIR_SEPARATOR_S */ + + namespace Regexxer + { +diff -Naur regexxer-0.10.orig/src/translation.h regexxer-0.10/src/translation.h +--- regexxer-0.10.orig/src/translation.h 2012-03-27 03:59:38.206531386 +0000 ++++ regexxer-0.10/src/translation.h 2012-03-27 04:21:39.209576021 +0000 +@@ -21,7 +21,7 @@ + #ifndef REGEXXER_TRANSLATION_H_INCLUDED + #define REGEXXER_TRANSLATION_H_INCLUDED + +-#include <glib/gmacros.h> ++#include <glib.h> + #include <glibmm/ustring.h> + + #ifndef gettext_noop diff --git a/community/root/PKGBUILD b/community/root/PKGBUILD index fe9d12b10..c45456a91 100644 --- a/community/root/PKGBUILD +++ b/community/root/PKGBUILD @@ -3,7 +3,7 @@ pkgname=root pkgver=5.32.02 -pkgrel=1 +pkgrel=2 pkgdesc='C++ data analysis framework and interpreter from CERN.' arch=('i686' 'x86_64' 'mips64el') url='http://root.cern.ch' diff --git a/community/sword/PKGBUILD b/community/sword/PKGBUILD index 950c35862..bdb8cbb72 100644 --- a/community/sword/PKGBUILD +++ b/community/sword/PKGBUILD @@ -1,11 +1,13 @@ -# $Id: PKGBUILD 60193 2011-12-07 12:16:33Z arodseth $ +# $Id: PKGBUILD 68590 2012-03-28 20:56:27Z arodseth $ # Maintainer: Alexander Rødseth +# Contributor: Andrea Scarpino # Contributor: Stefan Husmann <stefan-husmann@t-online.de> # Contributor: TripleE <eric1548@yahoo.com> + pkgname=sword pkgver=1.6.2 -pkgrel=6 -pkgdesc="Libraries for Bible programs" +pkgrel=8 +pkgdesc="Library for Bible study programs" arch=('x86_64' 'i686' 'mips64el') url="http://www.crosswire.org/sword/" license=('GPL') @@ -13,9 +15,9 @@ depends=('curl' 'clucene' 'swig') makedepends=('cmake') backup=('etc/sword.conf') source=("http://www.crosswire.org/ftpmirror/pub/$pkgname/source/v1.6/$pkgname-$pkgver.tar.gz" - curl.patch) -md5sums=('a7dc4456e20e915fec46d774b690e305' - 'e84a226ce3697af33b9fdd9a22884a2a') + "curl.patch") +sha256sums=('af76c7d54135c444b09eeaafb49229ef5201a4e1d44539d9341dceaeb60a87b9' + '3c2676b6dc1d56b08b2532f46af32c54e91ea71ed92a5d7a30ee29ed7ff09124') build() { cd "$srcdir/$pkgname-$pkgver" @@ -25,11 +27,11 @@ build() { mkdir ../build cd ../build - cmake "../$pkgname-$pkgver" \ + CXXFLAGS=-fpermissive cmake "../$pkgname-$pkgver" \ -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_BUILD_TYPE=Release - - make + -DCMAKE_BUILD_TYPE=Release \ + -DSWORD_GLOBAL_CONF_DIR=/etc + make } package() { @@ -38,20 +40,25 @@ package() { make DESTDIR="$pkgdir" install install -d "$pkgdir/usr/lib/sword" - mv "$pkgdir"/usr/lib/1.6.2_icu_4.8* "$pkgdir/usr/lib/sword/" + mv "$pkgdir"/usr/lib/${pkgver}_icu_* \ + "$pkgdir/usr/lib/sword/" cd "$srcdir/$pkgname-$pkgver/locales.d/" for file in *.conf; do - install -Dm644 "$file" "$pkgdir/usr/share/sword/locales.d/$file" + install -Dm644 "$file" \ + "$pkgdir/usr/share/sword/locales.d/$file" done cd ../include install -d "$pkgdir/usr/include/sword" - install -Dm644 canon_{catholic{,2},synodalp}.h "$pkgdir/usr/include/sword" + install -Dm644 canon_{catholic{,2},synodalp}.h \ + "$pkgdir/usr/include/sword" cd ../samples - install -Dm644 mods.d/globals.conf "$pkgdir/usr/share/sword/mods.d/globals.conf" - install -Dm644 recommended/sword.conf "$pkgdir/etc/sword.conf" + install -Dm644 mods.d/globals.conf \ + "$pkgdir/usr/share/sword/mods.d/globals.conf" + install -Dm644 recommended/sword.conf \ + "$pkgdir/etc/sword.conf" } # vim:set ts=2 sw=2 et: diff --git a/extra/garcon/PKGBUILD b/extra/garcon/PKGBUILD index 98c07df7c..b943786ca 100644 --- a/extra/garcon/PKGBUILD +++ b/extra/garcon/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 150129 2012-02-13 08:08:25Z foutrelis $ +# $Id: PKGBUILD 154452 2012-03-28 18:46:15Z foutrelis $ # Maintainer: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: Xavier Devlamynck <magicrhesus@ouranos.be> pkgname=garcon -pkgver=0.1.10 +pkgver=0.1.11 pkgrel=1 pkgdesc="Implementation of the freedesktop.org menu specification" arch=('i686' 'x86_64' 'mips64el') @@ -15,7 +15,7 @@ makedepends=('pkgconfig' 'intltool' 'xfce4-dev-tools') replaces=('libxfce4menu') options=('!libtool' '!makeflags') source=(http://archive.xfce.org/src/xfce/garcon/0.1/garcon-$pkgver.tar.bz2) -sha256sums=('c2497a2991101fc1e621dc712ef72aba7c238f6e5f5a1733c9572f9b23761316') +sha256sums=('272c1207a3449ce969a86ebdc61c6afcad05003f0a986e222bb90c01c1692dfc') build() { cd "$srcdir/garcon-$pkgver" diff --git a/extra/imagemagick/PKGBUILD b/extra/imagemagick/PKGBUILD index aaab9b555..911ba9b54 100644 --- a/extra/imagemagick/PKGBUILD +++ b/extra/imagemagick/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 153440 2012-03-14 01:50:29Z eric $ +# $Id: PKGBUILD 154479 2012-03-29 01:47:21Z eric $ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgbase=imagemagick pkgname=('imagemagick' 'imagemagick-doc') -pkgver=6.7.6.1 +pkgver=6.7.6.2 pkgrel=1 arch=('i686' 'x86_64' 'mips64el') url="http://www.imagemagick.org/" @@ -12,7 +12,7 @@ makedepends=('libltdl' 'lcms2' 'libxt' 'fontconfig' 'libxext' 'ghostscript' \ 'openexr' 'libwmf' 'librsvg' 'libxml2' 'jasper') source=(ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-${pkgver%.*}-${pkgver##*.}.tar.xz \ perlmagick.rpath.patch) -sha1sums=('17f38e5c43041991ed1764b2ebeb7b5c4cb0bcb5' +sha1sums=('5411be21304520ae6a24d3f3e6d5c60eabdd57af' '23405f80904b1de94ebd7bd6fe2a332471b8c283') build() { diff --git a/extra/mysql/PKGBUILD b/extra/mysql/PKGBUILD index 497723778..ca4d4f1bb 100644 --- a/extra/mysql/PKGBUILD +++ b/extra/mysql/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 150723 2012-02-21 07:30:13Z andrea $ +# $Id: PKGBUILD 154444 2012-03-28 18:29:19Z andrea $ # Maintainer: # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Douglas Soares de Andrade <douglas@archlinux.org> pkgbase=mysql pkgname=('libmysqlclient' 'mysql-clients' 'mysql') -pkgver=5.5.21 +pkgver=5.5.22 pkgrel=1 arch=('i686' 'x86_64' 'mips64el') license=('GPL') @@ -15,7 +15,7 @@ options=('!libtool') source=("http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.5/${pkgbase}-${pkgver}.tar.gz" 'mysqld' 'my.cnf') -md5sums=('86d6bd335054a0aed1756ed60574c16d' +md5sums=('c5b151a70e9ceed5308f108f1ece7b3b' '2234207625baa29b2ff7d7b4f088abce' '1c949c0dbea5206af0db14942d9927b6') diff --git a/extra/pycups/PKGBUILD b/extra/pycups/PKGBUILD index b6113fd99..b822b938a 100644 --- a/extra/pycups/PKGBUILD +++ b/extra/pycups/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 140387 2011-10-12 02:51:45Z eric $ +# $Id: PKGBUILD 154446 2012-03-28 18:30:40Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: nesl247 <nesl247@gmail.com> pkgname=pycups -pkgver=1.9.60 +pkgver=1.9.61 pkgrel=1 pkgdesc="Python CUPS Bindings" url="http://cyberelk.net/tim/software/pycups/" @@ -11,8 +11,8 @@ arch=('i686' 'x86_64' 'mips64el') license=('GPL') depends=('libcups' 'python2') source=(http://cyberelk.net/tim/data/${pkgname}/${pkgname}-${pkgver}.tar.bz2{,.asc}) -md5sums=('083f3dd657df986e712a6fae36427457' - 'cda91ca46362ba3423df2f08c33de5cb') +md5sums=('7464093b349b907dcdefb913674e959b' + 'cb780142a614300792a08d462e198589') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/python-lxml/PKGBUILD b/extra/python-lxml/PKGBUILD index ec44b2d94..05a86ef31 100644 --- a/extra/python-lxml/PKGBUILD +++ b/extra/python-lxml/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 153553 2012-03-15 23:11:41Z eric $ -# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# $Id: PKGBUILD 154469 2012-03-28 22:33:23Z eric $ +# Maintainer: pkgname=('python-lxml' 'python2-lxml') -pkgver=2.3.3 -pkgrel=2 +pkgver=2.3.4 +pkgrel=1 pkgdesc="Python binding for the libxml2 and libxslt libraries" arch=('i686' 'x86_64' 'mips64el') license=('BSD' 'custom') url="http://lxml.de/" makedepends=('python2' 'python' 'libxslt') source=(http://pypi.python.org/packages/source/l/lxml/lxml-${pkgver}.tar.gz{,.asc}) -md5sums=('a7825793c69d004f388ec6600bad7a6f' - '5c4b1a05f6e46a4dd7ebed8b5ad9e32e') +sha1sums=('90a226d8a2ee38de47fc3351445dab6df0e33a20' + '7962be7794d7f4c87d2fce0104c27990f48f1ce1') check() { cd "${srcdir}"/lxml-$pkgver diff --git a/extra/system-config-printer/PKGBUILD b/extra/system-config-printer/PKGBUILD index cfc17bbf9..0fb108521 100644 --- a/extra/system-config-printer/PKGBUILD +++ b/extra/system-config-printer/PKGBUILD @@ -1,19 +1,19 @@ -# $Id: PKGBUILD 151614 2012-02-28 09:40:16Z andrea $ +# $Id: PKGBUILD 154448 2012-03-28 18:31:41Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgbase=system-config-printer pkgname=('system-config-printer-common' 'system-config-printer-gnome') -pkgver=1.3.8 -pkgrel=3 +pkgver=1.3.9 +pkgrel=1 pkgdesc="A CUPS printer configuration tool and status applet" url="http://cyberelk.net/tim/software/system-config-printer/" arch=('i686' 'x86_64' 'mips64el') license=('GPL') makedepends=('udev' 'libcups' 'intltool' 'python2' 'xmlto' 'docbook-xsl' 'desktop-file-utils') source=(http://cyberelk.net/tim/data/${pkgbase}/1.3/${pkgbase}-${pkgver}.tar.xz{,.sig}) -md5sums=('ca04568dd7ff1ef7a381ad637d4e915b' - '67c103760f9b4227bc1d99204d8378cd') +md5sums=('df424f127eede63965608e5ec5e27519' + 'd105b7f7725c1ec538b6e6adb10667f3') build() { cd "${srcdir}"/${pkgbase}-${pkgver} diff --git a/extra/thunar-volman/PKGBUILD b/extra/thunar-volman/PKGBUILD index b1a421925..b6e2b112e 100644 --- a/extra/thunar-volman/PKGBUILD +++ b/extra/thunar-volman/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 149177 2012-02-06 06:29:06Z foutrelis $ +# $Id: PKGBUILD 154456 2012-03-28 18:51:17Z foutrelis $ # Maintainer: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: Tobias Kieslich <tobias (at) archlinux.org> pkgname=thunar-volman -pkgver=0.6.0 -pkgrel=3 +pkgver=0.6.1 +pkgrel=1 pkgdesc="Automatic management of removeable devices in Thunar" arch=('i686' 'x86_64' 'mips64el') url="http://foo-projects.org/~benny/projects/thunar-volman" @@ -15,12 +15,13 @@ makedepends=('intltool') options=('!libtool') install=$pkgname.install source=(http://archive.xfce.org/src/apps/$pkgname/0.6/$pkgname-$pkgver.tar.bz2) -sha256sums=('b1afd2b3b285cfcf07c11caa3d37fa5ff1fc06f7dc68fcca07f9a0d70daa694f') +sha256sums=('04918a9ccd576e7b19dae37af50ffe6de6f79ed66bf305c26dfe81c1ff652b27') build() { cd "$srcdir/$pkgname-$pkgver" - ./configure --prefix=/usr \ + ./configure \ + --prefix=/usr \ --sysconfdir=/etc \ --libexecdir=/usr/lib/xfce4 \ --localstatedir=/var \ diff --git a/extra/tumbler/PKGBUILD b/extra/tumbler/PKGBUILD index 167d910b3..41a6bd83d 100644 --- a/extra/tumbler/PKGBUILD +++ b/extra/tumbler/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 148946 2012-02-05 11:57:15Z ibiru $ +# $Id: PKGBUILD 154454 2012-03-28 18:48:51Z foutrelis $ # Maintainer: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: Andreas Radke <andyrtr@archlinux.org> # Contributor: Jan Jezek <honzin.jezek@gmail.com> pkgname=tumbler -pkgver=0.1.23 -pkgrel=4 +pkgver=0.1.24 +pkgrel=1 pkgdesc="D-Bus service for applications to request thumbnails" arch=('i686' 'x86_64' 'mips64el') url="http://git.xfce.org/xfce/tumbler/" @@ -22,7 +22,7 @@ optdepends=('ffmpegthumbnailer: for video thumbnails' 'freetype2: for font thumbnails') options=('!libtool') source=(http://archive.xfce.org/src/apps/$pkgname/0.1/$pkgname-$pkgver.tar.bz2) -sha256sums=('b3066d17b7e1fee5135eb876a7c2c50a1221bd0d447c3dd7c36efe6d7f3874cb') +sha256sums=('18fe74900851211cbd10eff4e9e487229284d1701aa60f0c3d35cdd457c72566') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/extra/xfce4-power-manager/PKGBUILD b/extra/xfce4-power-manager/PKGBUILD index aed132843..401b390bd 100644 --- a/extra/xfce4-power-manager/PKGBUILD +++ b/extra/xfce4-power-manager/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 149179 2012-02-06 06:31:48Z foutrelis $ +# $Id: PKGBUILD 154458 2012-03-28 18:59:06Z foutrelis $ # Maintainer: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: Tobias Kieslich <tobias funnychar archlinux.org> pkgname=xfce4-power-manager -pkgver=1.0.10 -pkgrel=3 +pkgver=1.0.11 +pkgrel=1 pkgdesc="Power manager for Xfce desktop" arch=('i686' 'x86_64' 'mips64el') url="http://xfce-goodies.berlios.de/" @@ -15,17 +15,14 @@ depends=('xfce4-panel' 'upower' 'udisks' 'libnotify' 'hicolor-icon-theme' makedepends=('pkgconfig' 'intltool') options=('!libtool') install=$pkgname.install -source=(http://archive.xfce.org/src/apps/$pkgname/1.0/$pkgname-$pkgver.tar.bz2 - xfce4-power-manager-1.0.10-libnotify-0.7.patch) -sha256sums=('80e4bb44f81c485ec09654dde432d6e28667d49a787625632a4413aac30422f0' - '8bebb7830a4a7d9a49f5f06280aaf7bd703aceaecddcd9e2069e7c2c45dbc013') +source=(http://archive.xfce.org/src/apps/$pkgname/1.0/$pkgname-$pkgver.tar.bz2) +sha256sums=('cfa85d839458fa2e9c2ee874d7d64ab00a95d6d51e6acf0ac082ffc700fe4339') build() { cd "$srcdir/$pkgname-$pkgver" - patch -Np1 -i "$srcdir/xfce4-power-manager-1.0.10-libnotify-0.7.patch" - - ./configure --prefix=/usr \ + ./configure \ + --prefix=/usr \ --sysconfdir=/etc \ --libexecdir=/usr/lib \ --localstatedir=/var \ diff --git a/gnome-unstable/evolution-ews/PKGBUILD b/gnome-unstable/evolution-ews/PKGBUILD deleted file mode 100644 index 63b730d33..000000000 --- a/gnome-unstable/evolution-ews/PKGBUILD +++ /dev/null @@ -1,27 +0,0 @@ -# $Id: PKGBUILD 154373 2012-03-27 11:38:10Z heftig $ -# Maintainer: Ionut Biru <ibiru@archlinux.org> - -pkgname=evolution-ews -pkgver=3.4.0 -pkgrel=1 -pkgdesc="MS Exchange integration through Exchange Web Services" -arch=('i686' 'x86_64') -license=('LGPL2.1') -url="http://www.gnome.org" -depends=('evolution-data-server' 'gtkhtml4' 'gnome-desktop') -makedepends=('intltool' 'evolution') -options=('!libtool' '!emptydirs') -source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('2bc20f65fc645f0a76d218d483650f9c9cc75ce3104ad849af6e7eec2d5a7f72') - -build() { - cd $pkgname-$pkgver - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ - --libexecdir=/usr/lib/evolution --disable-static - make -} - -package() { - cd $pkgname-$pkgver - make DESTDIR="$pkgdir" install -} diff --git a/gnome-unstable/evolution-exchange/PKGBUILD b/gnome-unstable/evolution-exchange/PKGBUILD deleted file mode 100644 index 414a126ac..000000000 --- a/gnome-unstable/evolution-exchange/PKGBUILD +++ /dev/null @@ -1,33 +0,0 @@ -# $Id: PKGBUILD 154369 2012-03-27 11:36:53Z heftig $ -# Maintainer: Jan de Groot <jgc@archlinux.org> - -pkgname=evolution-exchange -pkgver=3.4.0 -pkgrel=1 -pkgdesc="Ximian Connector Exchange plugin for Evolution" -arch=('i686' 'x86_64') -license=('GPL') -url="http://www.ximian.com" -depends=('evolution-data-server' 'gtkhtml4' 'gnome-desktop') -makedepends=('intltool' 'evolution') -options=('!libtool' '!emptydirs') -install=evolution-exchange.install -source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('7bfdf2fb44e691e7eb611aa0d1129cbacf43f7a2477fdae87f06368eecc89fb4') - -build() { - cd $pkgname-$pkgver - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ - --libexecdir=/usr/lib/evolution --disable-static \ - --with-libdb=/usr --with-krb5=/usr - make -} - -package() { - cd $pkgname-$pkgver - make DESTDIR="$pkgdir" install - - install -m755 -d "$pkgdir/usr/share/gconf/schemas" - gconf-merge-schema "$pkgdir/usr/share/gconf/schemas/$pkgname.schemas" --domain evolution-exchange-3.2 "$pkgdir"/etc/gconf/schemas/*.schemas - rm -f $pkgdir/etc/gconf/schemas/*.schemas -} diff --git a/gnome-unstable/evolution-exchange/evolution-exchange.install b/gnome-unstable/evolution-exchange/evolution-exchange.install deleted file mode 100644 index 1179887f9..000000000 --- a/gnome-unstable/evolution-exchange/evolution-exchange.install +++ /dev/null @@ -1,17 +0,0 @@ -pkgname=evolution-exchange - -post_install() { - usr/sbin/gconfpkg --install ${pkgname} -} - -pre_upgrade() { - pre_remove $1 -} - -post_upgrade() { - post_install $1 -} - -pre_remove() { - usr/sbin/gconfpkg --uninstall ${pkgname} -} diff --git a/gnome-unstable/evolution-groupwise/PKGBUILD b/gnome-unstable/evolution-groupwise/PKGBUILD deleted file mode 100644 index 7841c3f88..000000000 --- a/gnome-unstable/evolution-groupwise/PKGBUILD +++ /dev/null @@ -1,32 +0,0 @@ -# $Id: PKGBUILD 154370 2012-03-27 11:37:28Z heftig $ -# Maintainer : Ionut Biru <ibiru@archlinux.org> -# Contributor: György Balló <ballogy@freestart.hu> - -pkgname=evolution-groupwise -pkgver=3.4.0 -pkgrel=1 -pkgdesc="GroupWise connector for evolution" -arch=(i686 x86_64) -url="http://projects.gnome.org/evolution/" -license=(LGPL) -depends=('evolution-data-server' 'gtkhtml4') -makedepends=(intltool evolution) -optdepends=('evolution: evolution plugin') -options=(!libtool) -source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('b5e882811d10411249accb4ce1131d2e2d336d357b68a8f5dcfe7576b320c717') - -build() { - cd $pkgname-$pkgver - - ./configure --prefix=/usr --sysconfdir=/etc \ - --localstatedir=/var --disable-static - make -} - -package() { - cd $pkgname-$pkgver - - make DESTDIR="$pkgdir" install -} - diff --git a/gnome-unstable/farstream/vp8.patch b/gnome-unstable/farstream/vp8.patch deleted file mode 100644 index 67009a8ad..000000000 --- a/gnome-unstable/farstream/vp8.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -urNp farstream-0.1.1.orig/gst/fsrtpconference/default-codec-preferences farstream-0.1.1/gst/fsrtpconference/default-codec-preferences ---- farstream-0.1.1.orig/gst/fsrtpconference/default-codec-preferences 2012-03-20 12:12:22.644324485 +0100 -+++ farstream-0.1.1/gst/fsrtpconference/default-codec-preferences 2012-03-21 09:32:04.468634455 +0100 -@@ -41,6 +41,8 @@ feedback:nack/pli= - [video/H263] - feedback:nack/pli= - -+[video/VP8-DRAFT-IETF-01] -+ - [video/THEORA] - #feedback:tfrc= - feedback:nack/pli= diff --git a/gnome-unstable/pidgin/port-to-farstream-v3.patch b/gnome-unstable/pidgin/port-to-farstream-v3.patch deleted file mode 100644 index 93e29af50..000000000 --- a/gnome-unstable/pidgin/port-to-farstream-v3.patch +++ /dev/null @@ -1,447 +0,0 @@ -diff -upr pidgin-2.10.1.orig/configure.ac pidgin-2.10.1/configure.ac ---- pidgin-2.10.1.orig/configure.ac 2011-12-06 10:44:32.000000000 +0200 -+++ pidgin-2.10.1/configure.ac 2012-03-10 18:21:12.000000000 +0200 -@@ -780,18 +780,18 @@ else - fi - - dnl ####################################################################### --dnl # Check for Farsight -+dnl # Check for Farstream - dnl ####################################################################### --AC_ARG_ENABLE(farsight, -- [AC_HELP_STRING([--disable-farsight], [compile without farsight support])], -- enable_farsight="$enableval", enable_farsight="yes") --if test "x$enable_farsight" != "xno"; then -- PKG_CHECK_MODULES(FARSIGHT, [farsight2-0.10 >= 0.0.9], [ -- AC_DEFINE(USE_FARSIGHT, 1, [Use Farsight for voice and video]) -- AC_SUBST(FARSIGHT_CFLAGS) -- AC_SUBST(FARSIGHT_LIBS) -+AC_ARG_ENABLE(farstream, -+ [AC_HELP_STRING([--disable-farstream], [compile without farstream support])], -+ enable_farstream="$enableval", enable_farstream="yes") -+if test "x$enable_farstream" != "xno"; then -+ PKG_CHECK_MODULES(FARSTREAM, [farstream-0.1], [ -+ AC_DEFINE(USE_FARSTREAM, 1, [Use Farstream for voice and video]) -+ AC_SUBST(FARSTREAM_CFLAGS) -+ AC_SUBST(FARSTREAM_LIBS) - ], [ -- enable_farsight="no" -+ enable_farstream="no" - ]) - fi - -@@ -802,20 +802,20 @@ AC_ARG_ENABLE(vv, - [AC_HELP_STRING([--disable-vv], [compile without voice and video support])], - enable_vv="$enableval", enable_vv="yes") - if test "x$enable_vv" != "xno"; then -- if test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farsight" != "xno"; then -+ if test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farstream" != "xno"; then - AC_DEFINE(USE_VV, 1, [Use voice and video]) - else - enable_vv="no" - if test "x$force_deps" = "xyes"; then - AC_MSG_ERROR([ - Dependencies for voice/video were not met. --Install the necessary gstreamer and farsight packages first. -+Install the necessary gstreamer and farstream packages first. - Or use --disable-vv if you do not need voice/video support. - ]) - fi - fi - fi --AM_CONDITIONAL(USE_VV, test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farsight" != "xno") -+AM_CONDITIONAL(USE_VV, test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farstream" != "xno") - - dnl ####################################################################### - dnl # Check for Internationalized Domain Name support -diff -upr pidgin-2.10.1.orig/libpurple/Makefile.am pidgin-2.10.1/libpurple/Makefile.am ---- pidgin-2.10.1.orig/libpurple/Makefile.am 2011-12-06 10:44:33.000000000 +0200 -+++ pidgin-2.10.1/libpurple/Makefile.am 2012-03-10 18:21:19.000000000 +0200 -@@ -306,7 +306,7 @@ libpurple_la_LIBADD = \ - $(LIBXML_LIBS) \ - $(NETWORKMANAGER_LIBS) \ - $(INTLLIBS) \ -- $(FARSIGHT_LIBS) \ -+ $(FARSTREAM_LIBS) \ - $(GSTREAMER_LIBS) \ - $(GSTINTERFACES_LIBS) \ - $(IDN_LIBS) \ -@@ -322,7 +322,7 @@ AM_CPPFLAGS = \ - $(DEBUG_CFLAGS) \ - $(DBUS_CFLAGS) \ - $(LIBXML_CFLAGS) \ -- $(FARSIGHT_CFLAGS) \ -+ $(FARSTREAM_CFLAGS) \ - $(GSTREAMER_CFLAGS) \ - $(GSTINTERFACES_CFLAGS) \ - $(IDN_CFLAGS) \ -diff -upr pidgin-2.10.1.orig/libpurple/media/backend-fs2.c pidgin-2.10.1/libpurple/media/backend-fs2.c ---- pidgin-2.10.1.orig/libpurple/media/backend-fs2.c 2011-12-06 10:44:33.000000000 +0200 -+++ pidgin-2.10.1/libpurple/media/backend-fs2.c 2012-03-10 18:21:19.000000000 +0200 -@@ -1,5 +1,5 @@ - /** -- * @file backend-fs2.c Farsight 2 backend for media API -+ * @file backend-fs2.c Farstream backend for media API - * @ingroup core - */ - -@@ -34,8 +34,9 @@ - #include "network.h" - #include "media-gst.h" - --#include <gst/farsight/fs-conference-iface.h> --#include <gst/farsight/fs-element-added-notifier.h> -+#include <farstream/fs-conference.h> -+#include <farstream/fs-element-added-notifier.h> -+#include <farstream/fs-utils.h> - - /** @copydoc _PurpleMediaBackendFs2Class */ - typedef struct _PurpleMediaBackendFs2Class PurpleMediaBackendFs2Class; -@@ -112,6 +113,8 @@ struct _PurpleMediaBackendFs2Stream - gchar *participant; - FsStream *stream; - -+ gboolean supports_add; -+ - GstElement *src; - GstElement *tee; - GstElement *volume; -@@ -147,6 +150,8 @@ struct _PurpleMediaBackendFs2Private - FsConference *conference; - gchar *conference_type; - -+ FsElementAddedNotifier *notifier; -+ - GHashTable *sessions; - GHashTable *participants; - -@@ -212,6 +217,11 @@ purple_media_backend_fs2_dispose(GObject - - purple_debug_info("backend-fs2", "purple_media_backend_fs2_dispose\n"); - -+ if (priv->notifier) { -+ g_object_unref(priv->notifier); -+ priv->notifier = NULL; -+ } -+ - if (priv->confbin) { - GstElement *pipeline; - -@@ -846,7 +856,7 @@ gst_handle_message_element(GstBus *bus, - priv->conference != FS_CONFERENCE(src)) - return; - -- if (gst_structure_has_name(msg->structure, "farsight-error")) { -+ if (gst_structure_has_name(msg->structure, "farstream-error")) { - FsError error_no; - gst_structure_get_enum(msg->structure, "error-no", - FS_TYPE_ERROR, (gint*)&error_no); -@@ -867,16 +877,9 @@ gst_handle_message_element(GstBus *bus, - " strict.")); - purple_media_end(priv->media, NULL, NULL); - break; -- case FS_ERROR_UNKNOWN_CNAME: -- /* -- * Unknown CName is only a problem for the -- * multicast transmitter which isn't used. -- * It is also deprecated. -- */ -- break; - default: - purple_debug_error("backend-fs2", -- "farsight-error: %i: %s\n", -+ "farstream-error: %i: %s\n", - error_no, - gst_structure_get_string( - msg->structure, "error-msg")); -@@ -885,11 +888,11 @@ gst_handle_message_element(GstBus *bus, - - if (FS_ERROR_IS_FATAL(error_no)) { - purple_media_error(priv->media, _("A non-recoverable " -- "Farsight2 error has occurred.")); -+ "Farstream error has occurred.")); - purple_media_end(priv->media, NULL, NULL); - } - } else if (gst_structure_has_name(msg->structure, -- "farsight-new-local-candidate")) { -+ "farstream-new-local-candidate")) { - const GValue *value; - FsStream *stream; - FsCandidate *local_candidate; -@@ -924,7 +927,7 @@ gst_handle_message_element(GstBus *bus, - session->id, name, candidate); - g_object_unref(candidate); - } else if (gst_structure_has_name(msg->structure, -- "farsight-local-candidates-prepared")) { -+ "farstream-local-candidates-prepared")) { - const GValue *value; - FsStream *stream; - FsParticipant *participant; -@@ -942,7 +945,7 @@ gst_handle_message_element(GstBus *bus, - g_signal_emit_by_name(self, "candidates-prepared", - session->id, name); - } else if (gst_structure_has_name(msg->structure, -- "farsight-new-active-candidate-pair")) { -+ "farstream-new-active-candidate-pair")) { - const GValue *value; - FsStream *stream; - FsCandidate *local_candidate; -@@ -976,7 +979,7 @@ gst_handle_message_element(GstBus *bus, - g_object_unref(lcandidate); - g_object_unref(rcandidate); - } else if (gst_structure_has_name(msg->structure, -- "farsight-recv-codecs-changed")) { -+ "farstream-recv-codecs-changed")) { - const GValue *value; - GList *codecs; - FsCodec *codec; -@@ -986,10 +989,10 @@ gst_handle_message_element(GstBus *bus, - codec = codecs->data; - - purple_debug_info("backend-fs2", -- "farsight-recv-codecs-changed: %s\n", -+ "farstream-recv-codecs-changed: %s\n", - codec->encoding_name); - } else if (gst_structure_has_name(msg->structure, -- "farsight-component-state-changed")) { -+ "farstream-component-state-changed")) { - const GValue *value; - FsStreamState fsstate; - guint component; -@@ -1025,11 +1028,11 @@ gst_handle_message_element(GstBus *bus, - } - - purple_debug_info("backend-fs2", -- "farsight-component-state-changed: " -+ "farstream-component-state-changed: " - "component: %u state: %s\n", - component, state); - } else if (gst_structure_has_name(msg->structure, -- "farsight-send-codec-changed")) { -+ "farstream-send-codec-changed")) { - const GValue *value; - FsCodec *codec; - gchar *codec_str; -@@ -1039,12 +1042,12 @@ gst_handle_message_element(GstBus *bus, - codec_str = fs_codec_to_string(codec); - - purple_debug_info("backend-fs2", -- "farsight-send-codec-changed: codec: %s\n", -+ "farstream-send-codec-changed: codec: %s\n", - codec_str); - - g_free(codec_str); - } else if (gst_structure_has_name(msg->structure, -- "farsight-codecs-changed")) { -+ "farstream-codecs-changed")) { - const GValue *value; - FsSession *fssession; - GList *sessions; -@@ -1220,8 +1223,12 @@ stream_info_cb(PurpleMedia *media, Purpl - purple_media_is_initiator(media, sid, name)) - return; - -- fs_stream_set_remote_candidates(stream->stream, -- stream->remote_candidates, &err); -+ if (stream->supports_add) -+ fs_stream_add_remote_candidates(stream->stream, -+ stream->remote_candidates, &err); -+ else -+ fs_stream_force_remote_candidates(stream->stream, -+ stream->remote_candidates, &err); - - if (err == NULL) - return; -@@ -1301,6 +1308,7 @@ init_conference(PurpleMediaBackendFs2 *s - GstElement *pipeline; - GstBus *bus; - gchar *name; -+ GKeyFile *default_props; - - priv->conference = FS_CONFERENCE( - gst_element_factory_make(priv->conference_type, NULL)); -@@ -1343,6 +1351,14 @@ init_conference(PurpleMediaBackendFs2 *s - return FALSE; - } - -+ default_props = fs_utils_get_default_element_properties(GST_ELEMENT(priv->conference)); -+ if (default_props != NULL) { -+ priv->notifier = fs_element_added_notifier_new(); -+ fs_element_added_notifier_add(priv->notifier, -+ GST_BIN(priv->confbin)); -+ fs_element_added_notifier_set_properties_from_keyfile(priv->notifier, default_props); -+ } -+ - g_signal_connect(G_OBJECT(bus), "message", - G_CALLBACK(gst_bus_cb), self); - gst_object_unref(bus); -@@ -1559,7 +1575,7 @@ create_session(PurpleMediaBackendFs2 *se - * receiving the src-pad-added signal. - * Only works for non-multicast FsRtpSessions. - */ -- if (is_nice || !strcmp(transmitter, "rawudp")) -+ if (!!strcmp(transmitter, "multicast")) - g_object_set(G_OBJECT(session->session), - "no-rtcp-timeout", 0, NULL); - -@@ -1612,7 +1628,7 @@ create_participant(PurpleMediaBackendFs2 - GError *err = NULL; - - participant = fs_conference_new_participant( -- priv->conference, name, &err); -+ priv->conference, &err); - - if (err) { - purple_debug_error("backend-fs2", -@@ -1622,6 +1638,12 @@ create_participant(PurpleMediaBackendFs2 - return FALSE; - } - -+ if (g_object_class_find_property(G_OBJECT_GET_CLASS(participant), -+ "cname")) { -+ g_object_set(participant, "cname", name, NULL); -+ } -+ -+ - if (!priv->participants) { - purple_debug_info("backend-fs2", - "Creating hash table for participants\n"); -@@ -1786,6 +1808,40 @@ create_stream(PurpleMediaBackendFs2 *sel - } - } - -+ -+ session = get_session(self, sess_id); -+ -+ if (session == NULL) { -+ purple_debug_error("backend-fs2", -+ "Couldn't find session to create stream.\n"); -+ return FALSE; -+ } -+ -+ participant = get_participant(self, who); -+ -+ if (participant == NULL) { -+ purple_debug_error("backend-fs2", "Couldn't find " -+ "participant to create stream.\n"); -+ return FALSE; -+ } -+ -+ fsstream = fs_session_new_stream(session->session, participant, -+ initiator == TRUE ? type_direction : -+ (type_direction & FS_DIRECTION_RECV), &err); -+ -+ if (fsstream == NULL) { -+ if (err) { -+ purple_debug_error("backend-fs2", -+ "Error creating stream: %s\n", -+ err && err->message ? -+ err->message : "NULL"); -+ g_error_free(err); -+ } else -+ purple_debug_error("backend-fs2", -+ "Error creating stream\n"); -+ return FALSE; -+ } -+ - memcpy(_params, params, sizeof(GParameter) * num_params); - - /* set the controlling mode parameter */ -@@ -1840,45 +1896,22 @@ create_stream(PurpleMediaBackendFs2 *sel - _num_params++; - } - -- session = get_session(self, sess_id); - -- if (session == NULL) { -- purple_debug_error("backend-fs2", -- "Couldn't find session to create stream.\n"); -- return FALSE; -- } -- -- participant = get_participant(self, who); -- -- if (participant == NULL) { -- purple_debug_error("backend-fs2", "Couldn't find " -- "participant to create stream.\n"); -- return FALSE; -+ if(!fs_stream_set_transmitter(fsstream, transmitter, -+ _params, _num_params, &err)) { -+ purple_debug_error("backend-fs2", "Could not set transmitter %s: %s.\n", transmitter, err->message); -+ g_clear_error(&err); -+ g_free(_params); -+ return FALSE; - } -- -- fsstream = fs_session_new_stream(session->session, participant, -- initiator == TRUE ? type_direction : -- (type_direction & FS_DIRECTION_RECV), transmitter, -- _num_params, _params, &err); - g_free(_params); - -- if (fsstream == NULL) { -- if (err) { -- purple_debug_error("backend-fs2", -- "Error creating stream: %s\n", -- err && err->message ? -- err->message : "NULL"); -- g_error_free(err); -- } else -- purple_debug_error("backend-fs2", -- "Error creating stream\n"); -- return FALSE; -- } - - stream = g_new0(PurpleMediaBackendFs2Stream, 1); - stream->participant = g_strdup(who); - stream->session = session; - stream->stream = fsstream; -+ stream->supports_add = !strcmp(transmitter, "nice"); - - priv->streams = g_list_append(priv->streams, stream); - -@@ -1991,7 +2024,11 @@ purple_media_backend_fs2_add_remote_cand - if (purple_media_is_initiator(priv->media, sess_id, participant) || - purple_media_accepted( - priv->media, sess_id, participant)) { -- fs_stream_set_remote_candidates(stream->stream, -+ if (stream->supports_add) -+ fs_stream_add_remote_candidates(stream->stream, -+ stream->remote_candidates, &err); -+ else -+ fs_stream_force_remote_candidates(stream->stream, - stream->remote_candidates, &err); - - if (err) { -diff -upr pidgin-2.10.1.orig/libpurple/media.c pidgin-2.10.1/libpurple/media.c ---- pidgin-2.10.1.orig/libpurple/media.c 2011-12-06 10:44:33.000000000 +0200 -+++ pidgin-2.10.1/libpurple/media.c 2012-03-10 18:21:19.000000000 +0200 -@@ -1067,7 +1067,6 @@ purple_media_add_stream(PurpleMedia *med - { - #ifdef USE_VV - PurpleMediaSession *session; -- PurpleMediaStream *stream = NULL; - - g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE); - -@@ -1103,7 +1102,7 @@ purple_media_add_stream(PurpleMedia *med - } - - if (purple_media_get_stream(media, sess_id, who) == NULL) { -- stream = purple_media_insert_stream(session, who, initiator); -+ purple_media_insert_stream(session, who, initiator); - - g_signal_emit(media, purple_media_signals[STATE_CHANGED], - 0, PURPLE_MEDIA_STATE_NEW, -diff -upr pidgin-2.10.1.orig/libpurple/mediamanager.c pidgin-2.10.1/libpurple/mediamanager.c ---- pidgin-2.10.1.orig/libpurple/mediamanager.c 2011-12-06 10:44:33.000000000 +0200 -+++ pidgin-2.10.1/libpurple/mediamanager.c 2012-03-10 18:27:05.000000000 +0200 -@@ -39,7 +39,7 @@ - #ifdef USE_VV - #include <media/backend-fs2.h> - --#include <gst/farsight/fs-element-added-notifier.h> -+#include <farstream/fs-element-added-notifier.h> - #include <gst/interfaces/xoverlay.h> - - /** @copydoc _PurpleMediaManagerPrivate */ diff --git a/gnome-unstable/zenity/PKGBUILD b/gnome-unstable/zenity/PKGBUILD deleted file mode 100644 index dbdfc0091..000000000 --- a/gnome-unstable/zenity/PKGBUILD +++ /dev/null @@ -1,26 +0,0 @@ -# $Id: PKGBUILD 154336 2012-03-26 12:57:11Z heftig $ -# Maintainer: Jan de Groot <jgc@archlinux.org> - -pkgname=zenity -pkgver=3.4.0 -pkgrel=1 -pkgdesc="Display graphical dialog boxes from shell scripts" -arch=(i686 x86_64) -license=('LGPL') -depends=('gtk3' 'libnotify') -makedepends=('intltool' 'gtk-doc') -url="http://www.gnome.org" -source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) -sha256sums=('5cf068597c649b5adee60c5948abdf383dbfb16a6c6d57c2ec42ced136730baf') - -build() { - cd $pkgname-$pkgver - ./configure --prefix=/usr --sysconfdir=/etc \ - --localstatedir=/var - make -} - -package() { - cd $pkgname-$pkgver - make DESTDIR="${pkgdir}" install -} diff --git a/libre/grub/PKGBUILD b/libre/grub/PKGBUILD index bca7a98e3..91ad4a5cf 100644 --- a/libre/grub/PKGBUILD +++ b/libre/grub/PKGBUILD @@ -1,9 +1,11 @@ -# $Id: PKGBUILD 134896 2011-08-08 17:30:51Z ronald $ +# $Id: PKGBUILD 141999 2011-11-03 21:16:38Z ronald $ # Maintainer: Ronald van Haren <ronald.archlinux.org> +# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy> +# Maintainer (Parabola): Jorge López <jorginho@adinet.com.uy> pkgname=grub pkgver=0.97 -pkgrel=20 +pkgrel=21 pkgdesc="A GNU multiboot boot loader (Parabola rebranded)" arch=('i686' 'x86_64') license=('GPL') @@ -11,6 +13,9 @@ url="http://www.gnu.org/software/grub/" groups=('base') depends=('ncurses' 'diffutils' 'sed') optdepends=('xfsprogs: freezing of xfs /boot in install-grub script') +replaces=('grub') +conflicts=('grub') +provides=("grub=$pkgver") source=(ftp://alpha.gnu.org/gnu/grub/grub-$pkgver.tar.gz menu.lst install-grub @@ -25,10 +30,22 @@ source=(ftp://alpha.gnu.org/gnu/grub/grub-$pkgver.tar.gz grub-0.97-ldflags-objcopy-remove-build-id.patch) backup=('boot/grub/menu.lst') install=grub.install +sha1sums=('2580626c4579bd99336d3af4482c346c95dac4fb' + 'e13bf0f91510fd6bb9451e6eb1b2a6e4a03e8b5f' + '3e23bfee50285c8c7b9ef9ec07964310278b1e09' + '157b81dbad3576536b08642242accfa1aeb093a9' + 'adbb4685c98797ffb4dc83561ec75698991dddbd' + 'f2e0dff29a7c8a45e90aa07298a1b2a9a9d29afc' + 'c5e2c94ed0e759590b9eb38c9d979f075d19d7c0' + '45fe668a3779664fb292591f426976b6c784d6c8' + '066d7ab1ae442f88e94c9e4f1867ac6682965d06' + '0436aa6fa0b6f768289172f983a3f4b69384629e' + 'a36f34e51efed540f1ddafd78e9c9f6d83e4c8d4' + '61c4b58d2eaa3c1561d8e9d8fc41341ce8882869') #set destination architecture here -DESTARCH="i686" -#DESTARCH="x86_64" +#DESTARCH="i686" +DESTARCH="x86_64" build() { diff --git a/multilib/lib32-krb5/krb5-1.10.1-gcc47.patch b/multilib/lib32-krb5/krb5-1.10.1-gcc47.patch deleted file mode 100644 index ffd01c2a3..000000000 --- a/multilib/lib32-krb5/krb5-1.10.1-gcc47.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Naur krb5-1.10.1.ori/src/lib/krb5/krb/x-deltat.y krb5-1.10.1/src/lib/krb5/krb/x-deltat.y ---- krb5-1.10.1.ori/src/lib/krb5/krb/x-deltat.y 2011-09-06 07:34:32.000000000 -0400 -+++ krb5-1.10.1/src/lib/krb5/krb/x-deltat.y 2012-03-24 13:15:11.543551318 -0400 -@@ -44,6 +44,7 @@ - #ifdef __GNUC__ - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wuninitialized" -+#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" - #endif - - #include <ctype.h> diff --git a/staging/fcitx/Fix-for-gcc-4.7.0.patch b/staging/fcitx/Fix-for-gcc-4.7.0.patch deleted file mode 100644 index d02852281..000000000 --- a/staging/fcitx/Fix-for-gcc-4.7.0.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 74ae75e291862530801ec9cc707dc810c52a84fd Mon Sep 17 00:00:00 2001 -From: Weng Xuetian <wengxt@gmail.com> -Date: Sun, 25 Mar 2012 09:59:24 +0800 -Subject: [PATCH 1/2] fix for gcc 4.7.0 - ---- - src/lib/fcitx-config/CMakeLists.txt | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/src/lib/fcitx-config/CMakeLists.txt b/src/lib/fcitx-config/CMakeLists.txt -index f9fd2ec..2b361c6 100644 ---- a/src/lib/fcitx-config/CMakeLists.txt -+++ b/src/lib/fcitx-config/CMakeLists.txt -@@ -1,10 +1,13 @@ - set(FCITX_CONFIG_SOURCES - fcitx-config.c - hotkey.c -- sprintf.c - xdg.c - ) - -+if (NOT HAVE_ASPRINTF) -+ set(FCITX_CONFIG_SOURCES ${FCITX_CONFIG_SOURCES} sprintf.c) -+endif (NOT HAVE_ASPRINTF) -+ - set(FCITX_CONFIG_HEADERS - fcitx-config.h - hotkey.h --- -1.7.9.4 - diff --git a/staging/fcitx/PKGBUILD b/staging/fcitx/PKGBUILD deleted file mode 100644 index d110e5d60..000000000 --- a/staging/fcitx/PKGBUILD +++ /dev/null @@ -1,67 +0,0 @@ -# $Id: PKGBUILD 154319 2012-03-26 04:44:42Z eric $ -# Maintainer: Andrea Scarpino <andrea@archlinux.org> -# Contributor: csslayer <wengxt AT gmail com> - -pkgbase=fcitx -pkgname=('fcitx' 'fcitx-gtk2' 'fcitx-gtk3' 'fcitx-qt') -pkgver=4.2.1 -pkgrel=2 -arch=('i686' 'x86_64') -url="http://code.google.com/p/fcitx/" -license=('GPL') -makedepends=('cmake' 'intltool' 'doxygen' 'gtk2' 'gtk3' 'qt' 'dbus-glib' 'icu') -source=(http://fcitx.googlecode.com/files/${pkgbase}-${pkgver}.tar.xz Fix-for-gcc-4.7.0.patch) -sha1sums=('74ad009cde48fb1efd48f8d2490fa36ddf36d215' - '3f9a31d67cdbbb25f2151cb81208f1f3e0dd6e8f') - -build() { - cd "${srcdir}" - (cd ${pkgbase}-${pkgver}; patch -p1 -i ../Fix-for-gcc-4.7.0.patch) - mkdir build - cd build - cmake ../${pkgbase}-${pkgver} \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DENABLE_OPENCC=OFF \ - -DENABLE_GTK3_IM_MODULE=ON \ - -DENABLE_QT_IM_MODULE=ON - make -} - -package_fcitx() { - pkgdesc="Free Chinese Input Toy of X - Input Method Server for X window system" - depends=('dbus-core' 'pango' 'libxinerama' 'gtk-update-icon-cache' \ - 'shared-mime-info' 'hicolor-icon-theme' 'desktop-file-utils') - install=fcitx.install - - cd "${srcdir}"/build - make DESTDIR="${pkgdir}" install - - rm -r "${pkgdir}"/usr/lib/{gtk-2.0,gtk-3.0,qt} -} - -package_fcitx-gtk2() { - pkgdesc='GTK2 IM Module for fcitx' - depends=('gtk2' 'dbus-glib' 'fcitx') - install=fcitx-gtk2.install - - cd "${srcdir}"/build/src/frontend/gtk2 - make DESTDIR="${pkgdir}" install -} - -package_fcitx-gtk3() { - pkgdesc='GTK3 IM Module for fcitx' - depends=('gtk3' 'dbus-glib' 'fcitx') - install=fcitx-gtk3.install - - cd "${srcdir}"/build/src/frontend/gtk3 - make DESTDIR="${pkgdir}" install -} - -package_fcitx-qt() { - pkgdesc='QT IM Module for fcitx' - depends=('qt' 'icu' 'fcitx') - - cd "${srcdir}"/build/src/frontend/qt - make DESTDIR="${pkgdir}" install -} diff --git a/staging/fcitx/fcitx-gtk2.install b/staging/fcitx/fcitx-gtk2.install deleted file mode 100644 index 7503c05eb..000000000 --- a/staging/fcitx/fcitx-gtk2.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - usr/bin/gtk-query-immodules-2.0 > etc/gtk-2.0/gtk.immodules -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/staging/fcitx/fcitx-gtk3.install b/staging/fcitx/fcitx-gtk3.install deleted file mode 100644 index b44958797..000000000 --- a/staging/fcitx/fcitx-gtk3.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - usr/bin/gtk-query-immodules-3.0 --update-cache -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/staging/fcitx/fcitx.install b/staging/fcitx/fcitx.install deleted file mode 100644 index 7f156e002..000000000 --- a/staging/fcitx/fcitx.install +++ /dev/null @@ -1,13 +0,0 @@ -post_install() { - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor - update-desktop-database -q - update-mime-database usr/share/mime &> /dev/null -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/testing/coreutils/PKGBUILD b/testing/coreutils/PKGBUILD deleted file mode 100644 index 2d376f966..000000000 --- a/testing/coreutils/PKGBUILD +++ /dev/null @@ -1,68 +0,0 @@ -# $Id: PKGBUILD 154344 2012-03-27 02:21:47Z allan $ -# Maintainer: Allan McRae <allan@archlinux.org> -# Contributor: judd <jvinet@zeroflux.org> - -pkgname=coreutils -pkgver=8.16 -pkgrel=2 -pkgdesc="The basic file, shell and text manipulation utilities of the GNU operating system" -arch=('i686' 'x86_64') -license=('GPL3') -url="http://www.gnu.org/software/coreutils" -groups=('base') -depends=('glibc' 'pam' 'acl' 'gmp' 'libcap') -replaces=('mktemp') -backup=('etc/pam.d/su') -install=${pkgname}.install -options=('!emptydirs') -source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz{,.sig} - coreutils-uname.patch - coreutils-pam.patch - su.pam) -md5sums=('89b06f91634208dceba7b36ad1f9e8b9' - '63158176d5bb005c6871242c940eedf1' - 'c4fcca138b6abf6d443d48a6f0cd8833' - 'aad79a2aa6d566c375d7bdd1b0767278' - 'fa85e5cce5d723275b14365ba71a8aad') - -build() { - cd ${srcdir}/${pkgname}-${pkgver} - - # added su wheel group pam patch (from fedora git) - patch -Np1 -i ${srcdir}/coreutils-pam.patch - - # linux specific uname improvement (from gentoo portage) - patch -Np1 -i ${srcdir}/coreutils-uname.patch - - autoreconf -v - ./configure --prefix=/usr --libexecdir=/usr/lib/coreutils \ - --enable-install-program=su \ - --enable-no-install-program=groups,hostname,kill,uptime \ - --enable-pam - make -} - -check() { - cd ${srcdir}/${pkgname}-${pkgver} - make RUN_EXPENSIVE_TESTS=yes check -} - -package() { - cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install - - cd ${pkgdir}/usr/bin - install -dm755 ${pkgdir}/{bin,usr/sbin} - - # binaries required by FHS - _fhs=('cat' 'chgrp' 'chmod' 'chown' 'cp' 'date' 'dd' 'df' 'echo' 'false' - 'ln' 'ls' 'mkdir' 'mknod' 'mv' 'pwd' 'rm' 'rmdir' 'stty' 'su' 'sync' - 'true' 'uname') - mv ${_fhs[@]} ${pkgdir}/bin - - # makepkg uses the full path to this... - ln -s /usr/bin/du ${pkgdir}/bin/du - - mv chroot ${pkgdir}/usr/sbin - install -Dm644 ${srcdir}/su.pam ${pkgdir}/etc/pam.d/su -} diff --git a/testing/coreutils/coreutils-pam.patch b/testing/coreutils/coreutils-pam.patch deleted file mode 100644 index e61908f3f..000000000 --- a/testing/coreutils/coreutils-pam.patch +++ /dev/null @@ -1,428 +0,0 @@ -diff -urNp coreutils-8.4-orig/configure.ac coreutils-8.4/configure.ac ---- coreutils-8.4-orig/configure.ac 2010-01-11 18:20:42.000000000 +0100 -+++ coreutils-8.4/configure.ac 2010-02-12 10:17:46.000000000 +0100 -@@ -126,6 +126,13 @@ if test "$gl_gcc_warnings" = yes; then - AC_SUBST([GNULIB_WARN_CFLAGS]) - fi - -+dnl Give the chance to enable PAM -+AC_ARG_ENABLE(pam, dnl -+[ --enable-pam Enable use of the PAM libraries], -+[AC_DEFINE(USE_PAM, 1, [Define if you want to use PAM]) -+LIB_PAM="-ldl -lpam -lpam_misc" -+AC_SUBST(LIB_PAM)]) -+ - AC_FUNC_FORK - - optional_bin_progs= -diff -urNp coreutils-8.4-orig/doc/coreutils.texi coreutils-8.4/doc/coreutils.texi ---- coreutils-8.4-orig/doc/coreutils.texi 2010-01-03 18:06:20.000000000 +0100 -+++ coreutils-8.4/doc/coreutils.texi 2010-02-12 10:17:46.000000000 +0100 -@@ -15081,8 +15081,11 @@ to certain shells, etc.). - @findex syslog - @command{su} can optionally be compiled to use @code{syslog} to report - failed, and optionally successful, @command{su} attempts. (If the system --supports @code{syslog}.) However, GNU @command{su} does not check if the --user is a member of the @code{wheel} group; see below. -+supports @code{syslog}.) -+ -+This version of @command{su} has support for using PAM for -+authentication. You can edit @file{/etc/pam.d/su} to customize its -+behaviour. - - The program accepts the following options. Also see @ref{Common options}. - -@@ -15124,6 +15127,8 @@ environment variables except @env{TERM}, - @env{PATH} to a compiled-in default value. Change to @var{user}'s home - directory. Prepend @samp{-} to the shell's name, intended to make it - read its login startup file(s). -+Additionaly @env{DISPLAY} and @env{XAUTHORITY} environment variables -+are preserved as well for PAM functionality. - - @item -m - @itemx -p -@@ -15163,33 +15168,6 @@ Exit status: - the exit status of the subshell otherwise - @end display - --@cindex wheel group, not supported --@cindex group wheel, not supported --@cindex fascism --@subsection Why GNU @command{su} does not support the @samp{wheel} group -- --(This section is by Richard Stallman.) -- --@cindex Twenex --@cindex MIT AI lab --Sometimes a few of the users try to hold total power over all the --rest. For example, in 1984, a few users at the MIT AI lab decided to --seize power by changing the operator password on the Twenex system and --keeping it secret from everyone else. (I was able to thwart this coup --and give power back to the users by patching the kernel, but I --wouldn't know how to do that in Unix.) -- --However, occasionally the rulers do tell someone. Under the usual --@command{su} mechanism, once someone learns the root password who --sympathizes with the ordinary users, he or she can tell the rest. The --``wheel group'' feature would make this impossible, and thus cement the --power of the rulers. -- --I'm on the side of the masses, not that of the rulers. If you are --used to supporting the bosses and sysadmins in whatever they do, you --might find this idea strange at first. -- -- - @node timeout invocation - @section @command{timeout}: Run a command with a time limit - -diff -urNp coreutils-8.4-orig/src/Makefile.am coreutils-8.4/src/Makefile.am ---- coreutils-8.4-orig/src/Makefile.am 2010-01-03 18:06:20.000000000 +0100 -+++ coreutils-8.4/src/Makefile.am 2010-02-12 10:17:46.000000000 +0100 -@@ -361,7 +361,7 @@ factor_LDADD += $(LIB_GMP) - uptime_LDADD += $(GETLOADAVG_LIBS) - - # for crypt --su_LDADD += $(LIB_CRYPT) -+su_LDADD += $(LIB_CRYPT) @LIB_PAM@ - - # for various ACL functions - copy_LDADD += $(LIB_ACL) -diff -urNp coreutils-8.4-orig/src/su.c coreutils-8.4/src/su.c ---- coreutils-8.4-orig/src/su.c 2010-02-12 10:15:15.000000000 +0100 -+++ coreutils-8.4/src/su.c 2010-02-12 10:24:29.000000000 +0100 -@@ -37,6 +37,16 @@ - restricts who can su to UID 0 accounts. RMS considers that to - be fascist. - -+#ifdef USE_PAM -+ -+ Actually, with PAM, su has nothing to do with whether or not a -+ wheel group is enforced by su. RMS tries to restrict your access -+ to a su which implements the wheel group, but PAM considers that -+ to be fascist, and gives the user/sysadmin the opportunity to -+ enforce a wheel group by proper editing of /etc/pam.conf -+ -+#endif -+ - Compile-time options: - -DSYSLOG_SUCCESS Log successful su's (by default, to root) with syslog. - -DSYSLOG_FAILURE Log failed su's (by default, to root) with syslog. -@@ -53,6 +63,15 @@ - #include <pwd.h> - #include <grp.h> - -+#ifdef USE_PAM -+# include <signal.h> -+# include <sys/wait.h> -+# include <sys/fsuid.h> -+# include <unistd.h> -+# include <security/pam_appl.h> -+# include <security/pam_misc.h> -+#endif /* USE_PAM */ -+ - #include "system.h" - #include "getpass.h" - -@@ -120,10 +139,17 @@ - /* The user to become if none is specified. */ - #define DEFAULT_USER "root" - -+#ifndef USE_PAM - char *crypt (char const *key, char const *salt); -+#endif - --static void run_shell (char const *, char const *, char **, size_t) -+static void run_shell (char const *, char const *, char **, size_t, -+ const struct passwd *) -+#ifdef USE_PAM -+ ; -+#else - ATTRIBUTE_NORETURN; -+#endif - - /* If true, pass the `-f' option to the subshell. */ - static bool fast_startup; -@@ -209,7 +235,26 @@ log_su (struct passwd const *pw, bool su - } - #endif - -+#ifdef USE_PAM -+static pam_handle_t *pamh = NULL; -+static int retval; -+static struct pam_conv conv = { -+ misc_conv, -+ NULL -+}; -+ -+#define PAM_BAIL_P if (retval) { \ -+ pam_end(pamh, PAM_SUCCESS); \ -+ return 0; \ -+} -+#define PAM_BAIL_P_VOID if (retval) { \ -+ pam_end(pamh, PAM_SUCCESS); \ -+return; \ -+} -+#endif -+ - /* Ask the user for a password. -+ If PAM is in use, let PAM ask for the password if necessary. - Return true if the user gives the correct password for entry PW, - false if not. Return true without asking for a password if run by UID 0 - or if PW has an empty password. */ -@@ -217,6 +262,44 @@ log_su (struct passwd const *pw, bool su - static bool - correct_password (const struct passwd *pw) - { -+#ifdef USE_PAM -+ struct passwd *caller; -+ char *tty_name, *ttyn; -+ retval = pam_start(PROGRAM_NAME, pw->pw_name, &conv, &pamh); -+ PAM_BAIL_P; -+ -+ if (getuid() != 0 && !isatty(0)) { -+ fprintf(stderr, "standard in must be a tty\n"); -+ exit(1); -+ } -+ -+ caller = getpwuid(getuid()); -+ if(caller != NULL && caller->pw_name != NULL) { -+ retval = pam_set_item(pamh, PAM_RUSER, caller->pw_name); -+ PAM_BAIL_P; -+ } -+ -+ ttyn = ttyname(0); -+ if (ttyn) { -+ if (strncmp(ttyn, "/dev/", 5) == 0) -+ tty_name = ttyn+5; -+ else -+ tty_name = ttyn; -+ retval = pam_set_item(pamh, PAM_TTY, tty_name); -+ PAM_BAIL_P; -+ } -+ retval = pam_authenticate(pamh, 0); -+ PAM_BAIL_P; -+ retval = pam_acct_mgmt(pamh, 0); -+ if (retval == PAM_NEW_AUTHTOK_REQD) { -+ /* password has expired. Offer option to change it. */ -+ retval = pam_chauthtok(pamh, PAM_CHANGE_EXPIRED_AUTHTOK); -+ PAM_BAIL_P; -+ } -+ PAM_BAIL_P; -+ /* must be authenticated if this point was reached */ -+ return 1; -+#else /* !USE_PAM */ - char *unencrypted, *encrypted, *correct; - #if HAVE_GETSPNAM && HAVE_STRUCT_SPWD_SP_PWDP - /* Shadow passwd stuff for SVR3 and maybe other systems. */ -@@ -241,6 +324,7 @@ correct_password (const struct passwd *p - encrypted = crypt (unencrypted, correct); - memset (unencrypted, 0, strlen (unencrypted)); - return STREQ (encrypted, correct); -+#endif /* !USE_PAM */ - } - - /* Update `environ' for the new shell based on PW, with SHELL being -@@ -254,12 +338,18 @@ modify_environment (const struct passwd - /* Leave TERM unchanged. Set HOME, SHELL, USER, LOGNAME, PATH. - Unset all other environment variables. */ - char const *term = getenv ("TERM"); -+ char const *display = getenv ("DISPLAY"); -+ char const *xauthority = getenv ("XAUTHORITY"); - if (term) - term = xstrdup (term); - environ = xmalloc ((6 + !!term) * sizeof (char *)); - environ[0] = NULL; - if (term) - xsetenv ("TERM", term); -+ if (display) -+ xsetenv ("DISPLAY", display); -+ if (xauthority) -+ xsetenv ("XAUTHORITY", xauthority); - xsetenv ("HOME", pw->pw_dir); - xsetenv ("SHELL", shell); - xsetenv ("USER", pw->pw_name); -@@ -292,8 +382,13 @@ change_identity (const struct passwd *pw - { - #ifdef HAVE_INITGROUPS - errno = 0; -- if (initgroups (pw->pw_name, pw->pw_gid) == -1) -+ if (initgroups (pw->pw_name, pw->pw_gid) == -1) { -+#ifdef USE_PAM -+ pam_close_session(pamh, 0); -+ pam_end(pamh, PAM_ABORT); -+#endif - error (EXIT_CANCELED, errno, _("cannot set groups")); -+ } - endgrent (); - #endif - if (setgid (pw->pw_gid)) -@@ -302,6 +397,31 @@ change_identity (const struct passwd *pw - error (EXIT_CANCELED, errno, _("cannot set user id")); - } - -+#ifdef USE_PAM -+static int caught=0; -+/* Signal handler for parent process later */ -+static void su_catch_sig(int sig) -+{ -+ ++caught; -+} -+ -+int -+pam_copyenv (pam_handle_t *pamh) -+{ -+ char **env; -+ -+ env = pam_getenvlist(pamh); -+ if(env) { -+ while(*env) { -+ if (putenv (*env)) -+ xalloc_die (); -+ env++; -+ } -+ } -+ return(0); -+} -+#endif -+ - /* Run SHELL, or DEFAULT_SHELL if SHELL is empty. - If COMMAND is nonzero, pass it to the shell with the -c option. - Pass ADDITIONAL_ARGS to the shell as more arguments; there -@@ -309,17 +429,49 @@ change_identity (const struct passwd *pw - - static void - run_shell (char const *shell, char const *command, char **additional_args, -- size_t n_additional_args) -+ size_t n_additional_args, const struct passwd *pw) - { - size_t n_args = 1 + fast_startup + 2 * !!command + n_additional_args + 1; - char const **args = xnmalloc (n_args, sizeof *args); - size_t argno = 1; -+#ifdef USE_PAM -+ int child; -+ sigset_t ourset; -+ int status; -+ -+ retval = pam_open_session(pamh,0); -+ if (retval != PAM_SUCCESS) { -+ fprintf (stderr, "could not open session\n"); -+ exit (1); -+ } -+ -+/* do this at the last possible moment, because environment variables may -+ be passed even in the session phase -+*/ -+ if(pam_copyenv(pamh) != PAM_SUCCESS) -+ fprintf (stderr, "error copying PAM environment\n"); -+ -+ /* Credentials should be set in the parent */ -+ if (pam_setcred(pamh, PAM_ESTABLISH_CRED) != PAM_SUCCESS) { -+ pam_close_session(pamh, 0); -+ fprintf(stderr, "could not set PAM credentials\n"); -+ exit(1); -+ } -+ -+ child = fork(); -+ if (child == 0) { /* child shell */ -+ change_identity (pw); -+ pam_end(pamh, 0); -+#endif - - if (simulate_login) - { - char *arg0; - char *shell_basename; - -+ if(chdir(pw->pw_dir)) -+ error(0, errno, _("warning: cannot change directory to %s"), pw->pw_dir); -+ - shell_basename = last_component (shell); - arg0 = xmalloc (strlen (shell_basename) + 2); - arg0[0] = '-'; -@@ -344,6 +496,67 @@ run_shell (char const *shell, char const - error (0, errno, "%s", shell); - exit (exit_status); - } -+#ifdef USE_PAM -+ } else if (child == -1) { -+ fprintf(stderr, "can not fork user shell: %s", strerror(errno)); -+ pam_setcred(pamh, PAM_DELETE_CRED | PAM_SILENT); -+ pam_close_session(pamh, 0); -+ pam_end(pamh, PAM_ABORT); -+ exit(1); -+ } -+ /* parent only */ -+ sigfillset(&ourset); -+ if (sigprocmask(SIG_BLOCK, &ourset, NULL)) { -+ fprintf(stderr, "%s: signal malfunction\n", PROGRAM_NAME); -+ caught = 1; -+ } -+ if (!caught) { -+ struct sigaction action; -+ action.sa_handler = su_catch_sig; -+ sigemptyset(&action.sa_mask); -+ action.sa_flags = 0; -+ sigemptyset(&ourset); -+ if (sigaddset(&ourset, SIGTERM) -+ || sigaddset(&ourset, SIGALRM) -+ || sigaction(SIGTERM, &action, NULL) -+ || sigprocmask(SIG_UNBLOCK, &ourset, NULL)) { -+ fprintf(stderr, "%s: signal masking malfunction\n", PROGRAM_NAME); -+ caught = 1; -+ } -+ } -+ if (!caught) { -+ do { -+ int pid; -+ -+ pid = waitpid(-1, &status, WUNTRACED); -+ -+ if (((pid_t)-1 != pid) && (0 != WIFSTOPPED (status))) { -+ kill(getpid(), WSTOPSIG(status)); -+ /* once we get here, we must have resumed */ -+ kill(pid, SIGCONT); -+ } -+ } while (0 != WIFSTOPPED(status)); -+ } -+ -+ if (caught) { -+ fprintf(stderr, "\nSession terminated, killing shell..."); -+ kill (child, SIGTERM); -+ } -+ /* Not checking retval on this because we need to call close session */ -+ pam_setcred(pamh, PAM_DELETE_CRED | PAM_SILENT); -+ retval = pam_close_session(pamh, 0); -+ PAM_BAIL_P_VOID; -+ retval = pam_end(pamh, PAM_SUCCESS); -+ PAM_BAIL_P_VOID; -+ if (caught) { -+ sleep(2); -+ kill(child, SIGKILL); -+ fprintf(stderr, " ...killed.\n"); -+ exit(-1); -+ } -+ exit ((0 != WIFEXITED (status)) ? WEXITSTATUS (status) -+ : WTERMSIG (status) + 128); -+#endif /* USE_PAM */ - } - - /* Return true if SHELL is a restricted shell (one not returned by -@@ -511,9 +724,9 @@ main (int argc, char **argv) - shell = xstrdup (shell ? shell : pw->pw_shell); - modify_environment (pw, shell); - -+#ifndef USE_PAM - change_identity (pw); -- if (simulate_login && chdir (pw->pw_dir) != 0) -- error (0, errno, _("warning: cannot change directory to %s"), pw->pw_dir); -+#endif - - /* error() flushes stderr, but does not check for write failure. - Normally, we would catch this via our atexit() hook of -@@ -523,5 +736,5 @@ main (int argc, char **argv) - if (ferror (stderr)) - exit (EXIT_CANCELED); - -- run_shell (shell, command, argv + optind, MAX (0, argc - optind)); -+ run_shell (shell, command, argv + optind, MAX (0, argc - optind), pw); - } diff --git a/testing/coreutils/coreutils-uname.patch b/testing/coreutils/coreutils-uname.patch deleted file mode 100644 index b458abeba..000000000 --- a/testing/coreutils/coreutils-uname.patch +++ /dev/null @@ -1,173 +0,0 @@ -On linux platforms, grok /proc/cpuinfo for the CPU/vendor info. - -Prob not suitable for upstream seeing as how it's 100% linux-specific -http://lists.gnu.org/archive/html/bug-coreutils/2005-09/msg00063.html - -Patch originally by Carlos E. Gorges <carlos@techlinux.com.br>, but -heavily reworked to suck less. - -To add support for additional platforms, check out the show_cpuinfo() -func in the linux/arch/<ARCH>/ source tree of the kernel. - ---- coreutils/src/uname.c -+++ coreutils/src/uname.c -@@ -50,6 +50,11 @@ - # include <mach-o/arch.h> - #endif - -+#if defined(__linux__) -+# define USE_PROCINFO -+# define UNAME_HARDWARE_PLATFORM -+#endif -+ - #include "system.h" - #include "error.h" - #include "quote.h" -@@ -138,6 +143,117 @@ - exit (status); - } - -+#if defined(USE_PROCINFO) -+ -+# if defined(__s390__) || defined(__s390x__) -+# define CPUINFO_FILE "/proc/sysinfo" -+# define CPUINFO_FORMAT "%64[^\t :]%*[ :]%256[^\n]%c" -+# else -+# define CPUINFO_FILE "/proc/cpuinfo" -+# define CPUINFO_FORMAT "%64[^\t:]\t:%256[^\n]%c" -+# endif -+ -+# define PROCINFO_PROCESSOR 0 -+# define PROCINFO_HARDWARE_PLATFORM 1 -+ -+static void __eat_cpuinfo_space(char *buf) -+{ -+ /* first eat trailing space */ -+ char *tmp = buf + strlen(buf) - 1; -+ while (tmp > buf && isspace(*tmp)) -+ *tmp-- = '\0'; -+ /* then eat leading space */ -+ tmp = buf; -+ while (*tmp && isspace(*tmp)) -+ tmp++; -+ if (tmp != buf) -+ memmove(buf, tmp, strlen(tmp)+1); -+ /* finally collapse whitespace */ -+ tmp = buf; -+ while (tmp[0] && tmp[1]) { -+ if (isspace(tmp[0]) && isspace(tmp[1])) { -+ memmove(tmp, tmp+1, strlen(tmp)); -+ continue; -+ } -+ ++tmp; -+ } -+} -+ -+static int __linux_procinfo(int x, char *fstr, size_t s) -+{ -+ FILE *fp; -+ -+ char *procinfo_keys[] = { -+ /* --processor --hardware-platform */ -+ #if defined(__alpha__) -+ "cpu model", "system type" -+ #elif defined(__arm__) -+ "Processor", "Hardware" -+ #elif defined(__avr32__) -+ "processor", "cpu family" -+ #elif defined(__bfin__) -+ "CPU", "BOARD Name" -+ #elif defined(__cris__) -+ "cpu", "cpu model" -+ #elif defined(__frv__) -+ "CPU-Core", "System" -+ #elif defined(__i386__) || defined(__x86_64__) -+ "model name", "vendor_id" -+ #elif defined(__ia64__) -+ "family", "vendor" -+ #elif defined(__hppa__) -+ "cpu", "model" -+ #elif defined(__m68k__) -+ "CPU", "MMU" -+ #elif defined(__mips__) -+ "cpu model", "system type" -+ #elif defined(__powerpc__) || defined(__powerpc64__) -+ "cpu", "machine" -+ #elif defined(__s390__) || defined(__s390x__) -+ "Type", "Manufacturer" -+ #elif defined(__sh__) -+ "cpu type", "machine" -+ #elif defined(sparc) || defined(__sparc__) -+ "type", "cpu" -+ #elif defined(__vax__) -+ "cpu type", "cpu" -+ #else -+ "unknown", "unknown" -+ #endif -+ }; -+ -+ if ((fp = fopen(CPUINFO_FILE, "r")) != NULL) { -+ char key[65], value[257], eol, *ret = NULL; -+ -+ while (fscanf(fp, CPUINFO_FORMAT, key, value, &eol) != EOF) { -+ __eat_cpuinfo_space(key); -+ if (!strcmp(key, procinfo_keys[x])) { -+ __eat_cpuinfo_space(value); -+ ret = value; -+ break; -+ } -+ if (eol != '\n') { -+ /* we need two fscanf's here in case the previous -+ * length limit caused us to read right up to the -+ * newline ... doing "%*[^\n]\n" wont eat the newline -+ */ -+ fscanf(fp, "%*[^\n]"); -+ fscanf(fp, "\n"); -+ } -+ } -+ fclose(fp); -+ -+ if (ret) { -+ strncpy(fstr, ret, s); -+ return 0; -+ } -+ } -+ -+ return -1; -+} -+ -+#endif -+ - /* Print ELEMENT, preceded by a space if something has already been - printed. */ - -@@ -250,10 +344,14 @@ main (int argc, char **argv) - if (toprint & PRINT_PROCESSOR) - { - char const *element = unknown; --#if HAVE_SYSINFO && defined SI_ARCHITECTURE -+#if ( HAVE_SYSINFO && defined SI_ARCHITECTURE ) || defined(USE_PROCINFO) - { - static char processor[257]; -+#if defined(USE_PROCINFO) -+ if (0 <= __linux_procinfo (PROCINFO_PROCESSOR, processor, sizeof processor)) -+#else - if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor)) -+#endif - element = processor; - } - #endif -@@ -306,9 +404,13 @@ main (int argc, char **argv) - if (element == unknown) - { - static char hardware_platform[257]; -+#if defined(USE_PROCINFO) -+ if (0 <= __linux_procinfo (PROCINFO_HARDWARE_PLATFORM, hardware_platform, sizeof hardware_platform)) -+#else - size_t s = sizeof hardware_platform; - static int mib[] = { CTL_HW, UNAME_HARDWARE_PLATFORM }; - if (sysctl (mib, 2, hardware_platform, &s, 0, 0) >= 0) -+#endif - element = hardware_platform; - } - #endif diff --git a/testing/coreutils/coreutils.install b/testing/coreutils/coreutils.install deleted file mode 100644 index 8caae6686..000000000 --- a/testing/coreutils/coreutils.install +++ /dev/null @@ -1,21 +0,0 @@ -infodir=usr/share/info -filelist=(coreutils.info) - -post_install() { - [ -x usr/bin/install-info ] || return 0 - for file in ${filelist[@]}; do - usr/bin/install-info $infodir/$file.gz $infodir/dir 2> /dev/null - done -} - -post_upgrade() { - post_install $1 -} - -pre_remove() { - [ -x usr/bin/install-info ] || return 0 - for file in ${filelist[@]}; do - usr/bin/install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null - done -} - diff --git a/testing/coreutils/su.pam b/testing/coreutils/su.pam deleted file mode 100644 index cf15f40f1..000000000 --- a/testing/coreutils/su.pam +++ /dev/null @@ -1,9 +0,0 @@ -#%PAM-1.0 -auth sufficient pam_rootok.so -# Uncomment the following line to implicitly trust users in the "wheel" group. -#auth sufficient pam_wheel.so trust use_uid -# Uncomment the following line to require a user to be in the "wheel" group. -#auth required pam_wheel.so use_uid -auth required pam_unix.so -account required pam_unix.so -session required pam_unix.so diff --git a/testing/expat/CVE-2009-3560.patch b/testing/expat/CVE-2009-3560.patch deleted file mode 100644 index 5fe9c36c8..000000000 --- a/testing/expat/CVE-2009-3560.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -urNad trunk~/lib/xmlparse.c trunk/lib/xmlparse.c ---- trunk~/lib/xmlparse.c 2007-05-08 04:25:35.000000000 +0200 -+++ trunk/lib/xmlparse.c 2009-12-29 21:57:22.141732904 +0100 -@@ -3703,6 +3703,9 @@ - return XML_ERROR_UNCLOSED_TOKEN; - case XML_TOK_PARTIAL_CHAR: - return XML_ERROR_PARTIAL_CHAR; -+ case -XML_TOK_PROLOG_S: -+ tok = -tok; -+ break; - case XML_TOK_NONE: - #ifdef XML_DTD - /* for internal PE NOT referenced between declarations */ diff --git a/testing/expat/CVE-2009-3720.patch b/testing/expat/CVE-2009-3720.patch deleted file mode 100644 index 65d16431f..000000000 --- a/testing/expat/CVE-2009-3720.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -urNad trunk~/lib/xmltok_impl.c trunk/lib/xmltok_impl.c ---- trunk~/lib/xmltok_impl.c 2006-11-26 18:34:46.000000000 +0100 -+++ trunk/lib/xmltok_impl.c 2009-10-22 21:42:41.000000000 +0200 -@@ -1744,7 +1744,7 @@ - const char *end, - POSITION *pos) - { -- while (ptr != end) { -+ while (ptr < end) { - switch (BYTE_TYPE(enc, ptr)) { - #define LEAD_CASE(n) \ - case BT_LEAD ## n: \ diff --git a/testing/expat/PKGBUILD b/testing/expat/PKGBUILD deleted file mode 100644 index b727138dc..000000000 --- a/testing/expat/PKGBUILD +++ /dev/null @@ -1,32 +0,0 @@ -# $Id: PKGBUILD 154410 2012-03-28 00:03:38Z allan $ -# Maintainer: Allan McRae <allan@archlinux.org> -# Committer: Judd Vinet <jvinet@zeroflux.org> - -pkgname=expat -pkgver=2.1.0 -pkgrel=1 -pkgdesc="An XML parser library" -arch=('i686' 'x86_64') -url="http://expat.sourceforge.net/" -license=('custom') -depends=('glibc') -options=('!libtool') -source=(http://downloads.sourceforge.net/sourceforge/expat/${pkgname}-${pkgver}.tar.gz) -md5sums=('dd7dab7a5fea97d2a6a43f511449b7cd') - -build() { - cd ${srcdir}/${pkgname}-${pkgver} - ./configure --prefix=/usr --mandir=/usr/share/man - make -} - -check() { - cd ${srcdir}/${pkgname}-${pkgver} - make check -} - -package() { - cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install - install -Dm644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/COPYING -} diff --git a/testing/gnupg/install b/testing/gnupg/install deleted file mode 100644 index 3a5dc9fd6..000000000 --- a/testing/gnupg/install +++ /dev/null @@ -1,20 +0,0 @@ -info_dir=/usr/share/info -info_files=(gnupg.info gnupg.info-1 gnupg.info-2) - -post_install() { - [ -x usr/bin/install-info ] || return 0 - for f in ${info_files[@]}; do - usr/bin/install-info ${info_dir}/$f ${info_dir}/dir 2> /dev/null - done -} - -post_upgrade() { - post_install $1 -} - -pre_remove() { - [ -x usr/bin/install-info ] || return 0 - for f in ${info_files[@]}; do - usr/bin/install-info --delete ${info_dir}/$f ${info_dir}/dir 2> /dev/null - done -} diff --git a/~mtjm/python-getmediumurl/PKGBUILD b/~mtjm/python-getmediumurl/PKGBUILD index bacc1c0f1..172f6dcd9 100644 --- a/~mtjm/python-getmediumurl/PKGBUILD +++ b/~mtjm/python-getmediumurl/PKGBUILD @@ -3,12 +3,12 @@ _pkgname=GetMediumURL pkgname=python-getmediumurl pkgver=0.0a5 -pkgrel=1 +pkgrel=2 pkgdesc="A package for getting URLs of media files from some websites" arch=("any") url="http://savannah.nongnu.org/projects/getmediumurl/" license=('AGPL') -depends=('python' 'python3-lxml' 'python-urlreader' 'python-distribute') +depends=('python' 'python-lxml' 'python-urlreader' 'python-distribute') checkdepends=('python2') # due to my laziness options=(!emptydirs) source=("http://download.savannah.gnu.org/releases/getmediumurl/${_pkgname}-${pkgver}.tar.gz") |