-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request xbmc#450 from Memphiz/afp4linux
Afp4linux
- Loading branch information
Showing
11 changed files
with
3,783 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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] ) | ||
;; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
--- afpfs-ng-0.8.1/include/afpfs-ng/dsi.h 2008-02-18 04:33:24.000000000 +0100 | ||
+++ afpfs-ng-0.8.1/include/afpfs-ng/dsi.h 2011-08-26 21:33:33.000000000 +0200 | ||
@@ -6,13 +6,15 @@ | ||
|
||
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; | ||
+ unsigned short requestid; | ||
+ unsigned char subcommand; | ||
+ void * other; | ||
+ int wait; | ||
+ int done_waiting; | ||
+ pthread_cond_t waiting_cond; | ||
+ pthread_mutex_t waiting_mutex; | ||
+ struct dsi_request * next; | ||
+ int return_code; | ||
}; | ||
|
||
int dsi_receive(struct afp_server * server, void * data, int size); |
Oops, something went wrong.