Compare commits
67 commits
epel8-play
...
rawhide
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
94d03d8b7a | ||
|
|
74f08aa2b1 | ||
|
|
d0216f4017 | ||
|
|
02badb2422 | ||
|
|
64c7827fc2 | ||
|
|
efa469c13d | ||
|
|
81f984a1ee | ||
|
|
a55af4e920 | ||
|
|
a4c01eaa01 | ||
|
|
f1bfbb43a0 | ||
|
|
fbb2d5ebae | ||
|
|
ccdbd66e4a | ||
|
|
360d6f9e18 | ||
|
|
c7c078c518 | ||
|
|
4396979d22 | ||
|
|
2014cb6054 | ||
|
|
d05d8abe32 | ||
|
|
2acdcb9067 | ||
|
|
386755bce6 | ||
|
|
8c43961472 | ||
|
|
f3d7f81000 | ||
|
|
1631f83835 | ||
|
|
ea8fffd298 | ||
|
|
fc26fc3456 | ||
|
|
e11a7718b1 | ||
|
|
5c51830796 | ||
|
|
34cacabac0 | ||
|
|
dac9ff8818 | ||
|
|
8150ad9fe5 | ||
|
|
28458b0c66 | ||
|
|
26bd5687ce | ||
|
|
2d9b7ada9c | ||
|
|
35ae3106f0 | ||
|
|
d62b67dcf5 | ||
|
|
67d210aed1 | ||
|
|
7774667c77 |
||
|
|
b018a90727 | ||
|
|
6ed6a3fd27 | ||
|
|
da61f36f0d | ||
|
|
0d0df99283 | ||
|
|
3e6cea7d0d | ||
|
|
d684d7eb76 | ||
|
|
57356d21b1 | ||
|
|
be0dd65f7c | ||
|
|
4416edf512 | ||
|
|
6a2c07529c | ||
|
|
36bd03e308 | ||
|
|
b824cbacb1 | ||
|
|
766f481683 | ||
|
|
106289b4b1 | ||
|
|
134eb3d013 | ||
|
|
8c9df659e2 | ||
|
|
25cb831501 | ||
|
|
ce90444776 | ||
|
|
3598866764 | ||
|
|
82600ad9a9 | ||
|
|
2456994584 | ||
|
|
89cd34c1e1 | ||
|
|
dae616bd94 | ||
|
|
1ac35f0591 | ||
|
|
2bf066fa1a | ||
|
|
5287dae767 | ||
|
|
90e65a6616 | ||
|
|
d988137ec1 | ||
|
|
415a2edd01 | ||
|
|
64607b8691 | ||
|
|
1a9d372aa5 |
13 changed files with 1044 additions and 21 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
afpfs-ng-0.8.1.tar.bz2
|
||||
21
Makefile
21
Makefile
|
|
@ -1,21 +0,0 @@
|
|||
# Makefile for source rpm: afpfs-ng
|
||||
# $Id$
|
||||
NAME := afpfs-ng
|
||||
SPECFILE = $(firstword $(wildcard *.spec))
|
||||
|
||||
define find-makefile-common
|
||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
||||
|
||||
ifeq ($(MAKEFILE_COMMON),)
|
||||
# attept a checkout
|
||||
define checkout-makefile-common
|
||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
||||
endif
|
||||
|
||||
include $(MAKEFILE_COMMON)
|
||||
164
afpfs-ng-0.8.1-c99.patch
Normal file
164
afpfs-ng-0.8.1-c99.patch
Normal file
|
|
@ -0,0 +1,164 @@
|
|||
Add additional #include directives for more function prototypes,
|
||||
to avoid implicit function declarations. Declare appledouble_write,
|
||||
cmdline_afp_setup_client in the appropriate header files.
|
||||
|
||||
These changes expose an argument type mismatch in the function
|
||||
appledouble_truncate, in the calls to remove_opened_fork. This may
|
||||
or may have not worked before, depending on how the ABI implements
|
||||
passing this struct by value.
|
||||
|
||||
The use of basename in start_afpfsd is suspect; this should probaby use
|
||||
dirname instead.
|
||||
|
||||
Submitted upstream: <https://sourceforge.net/p/afpfs-ng/patches/5/>
|
||||
|
||||
diff --git a/cmdline/cmdline_afp.h b/cmdline/cmdline_afp.h
|
||||
index ebdf357fc952972c..e0ec4570f69b71ec 100644
|
||||
--- a/cmdline/cmdline_afp.h
|
||||
+++ b/cmdline/cmdline_afp.h
|
||||
@@ -28,5 +28,6 @@ int com_disconnect(char * arg);
|
||||
void cmdline_afp_exit(void);
|
||||
|
||||
int cmdline_afp_setup(int recursive, char * url_string);
|
||||
+void cmdline_afp_setup_client(void);
|
||||
|
||||
#endif
|
||||
diff --git a/cmdline/cmdline_main.c b/cmdline/cmdline_main.c
|
||||
index ffb39ebacb8f262c..deccf8a4cc342bf0 100644
|
||||
--- a/cmdline/cmdline_main.c
|
||||
+++ b/cmdline/cmdline_main.c
|
||||
@@ -17,6 +17,7 @@
|
||||
#include <getopt.h>
|
||||
#include <ctype.h>
|
||||
#include <signal.h>
|
||||
+#include "afp.h"
|
||||
#include "cmdline_afp.h"
|
||||
#include "cmdline_testafp.h"
|
||||
|
||||
diff --git a/fuse/client.c b/fuse/client.c
|
||||
index d19e9efb2dcb60b7..beceaa5594a89b80 100644
|
||||
--- a/fuse/client.c
|
||||
+++ b/fuse/client.c
|
||||
@@ -10,6 +10,7 @@
|
||||
#include <unistd.h>
|
||||
#include <errno.h>
|
||||
#include <grp.h>
|
||||
+#include <libgen.h>
|
||||
|
||||
#include "config.h"
|
||||
#include <afp.h>
|
||||
diff --git a/fuse/daemon.c b/fuse/daemon.c
|
||||
index 8b3b8d9146633518..abf6c02e390142b2 100644
|
||||
--- a/fuse/daemon.c
|
||||
+++ b/fuse/daemon.c
|
||||
@@ -23,6 +23,8 @@
|
||||
#include <signal.h>
|
||||
#include <sys/socket.h>
|
||||
|
||||
+#include <fuse.h>
|
||||
+
|
||||
#include "afp.h"
|
||||
|
||||
#include "dsi.h"
|
||||
diff --git a/lib/dsi.c b/lib/dsi.c
|
||||
index 8a469794542ec447..3fd10fb24c770ca8 100644
|
||||
--- a/lib/dsi.c
|
||||
+++ b/lib/dsi.c
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "libafpclient.h"
|
||||
#include "afp_internal.h"
|
||||
#include "afp_replies.h"
|
||||
+#include "codepage.h"
|
||||
|
||||
/* define this in order to get reams of DSI debugging information */
|
||||
#undef DEBUG_DSI
|
||||
diff --git a/lib/lowlevel.c b/lib/lowlevel.c
|
||||
index f3b632c2ae2da763..1edc9cdce5cc8429 100644
|
||||
--- a/lib/lowlevel.c
|
||||
+++ b/lib/lowlevel.c
|
||||
@@ -25,6 +25,8 @@
|
||||
#include "utils.h"
|
||||
#include "did.h"
|
||||
#include "users.h"
|
||||
+#include "midlevel.h"
|
||||
+#include "forklist.h"
|
||||
|
||||
static void set_nonunix_perms(unsigned int * mode, struct afp_file_info *fp)
|
||||
{
|
||||
diff --git a/lib/proto_files.c b/lib/proto_files.c
|
||||
index 933956da6a6d2ce6..d2acd562a2671869 100644
|
||||
--- a/lib/proto_files.c
|
||||
+++ b/lib/proto_files.c
|
||||
@@ -14,6 +14,7 @@
|
||||
#include "dsi_protocol.h"
|
||||
#include "afp_protocol.h"
|
||||
#include "afp_internal.h"
|
||||
+#include "afp_replies.h"
|
||||
|
||||
/* afp_setfileparms, afp_setdirparms and afpsetfiledirparms are all remarkably
|
||||
similiar. We abstract them to afp-setparms_lowlevel. */
|
||||
diff --git a/lib/proto_replyblock.c b/lib/proto_replyblock.c
|
||||
index f66791614a52ca3d..c59629b24ab83cec 100644
|
||||
--- a/lib/proto_replyblock.c
|
||||
+++ b/lib/proto_replyblock.c
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "afp.h"
|
||||
#include "utils.h"
|
||||
#include "afp_internal.h"
|
||||
+#include "afp_replies.h"
|
||||
|
||||
|
||||
/* FIXME: should do bounds checking */
|
||||
diff --git a/lib/resource.c b/lib/resource.c
|
||||
index 6be4a5b1de51fec5..fb39889f0d7702c0 100644
|
||||
--- a/lib/resource.c
|
||||
+++ b/lib/resource.c
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "lowlevel.h"
|
||||
#include "did.h"
|
||||
#include "midlevel.h"
|
||||
+#include "forklist.h"
|
||||
|
||||
#define appledouble ".AppleDouble"
|
||||
#define finderinfo_string ".finderinfo"
|
||||
@@ -362,12 +363,12 @@ int appledouble_truncate(struct afp_volume * volume, const char * path, int offs
|
||||
ret=ll_zero_file(volume,fp.forkid,0);
|
||||
if (ret<0) {
|
||||
afp_closefork(volume,fp.forkid);
|
||||
- remove_opened_fork(volume,fp);
|
||||
+ remove_opened_fork(volume,&fp);
|
||||
free(newpath);
|
||||
return ret;
|
||||
}
|
||||
afp_closefork(volume,fp.forkid);
|
||||
- remove_opened_fork(volume,fp);
|
||||
+ remove_opened_fork(volume,&fp);
|
||||
|
||||
return 1;
|
||||
case AFP_META_APPLEDOUBLE:
|
||||
diff --git a/lib/resource.h b/lib/resource.h
|
||||
index 6a0d38a6275dd6f5..2efff106c94e6637 100644
|
||||
--- a/lib/resource.h
|
||||
+++ b/lib/resource.h
|
||||
@@ -31,6 +31,9 @@ int appledouble_read(struct afp_volume * volume, struct afp_file_info *fp,
|
||||
|
||||
int appledouble_close(struct afp_volume * volume, struct afp_file_info * fp);
|
||||
|
||||
+int appledouble_write(struct afp_volume * volume, struct afp_file_info *fp,
|
||||
+ const char *data, size_t size, off_t offset, size_t *totalwritten);
|
||||
+
|
||||
int appledouble_chmod(struct afp_volume * volume, const char * path, mode_t mode);
|
||||
|
||||
int appledouble_unlink(struct afp_volume * volume, const char *path);
|
||||
diff --git a/lib/server.c b/lib/server.c
|
||||
index 977c418efccae88b..93400dd92a4c0af6 100644
|
||||
--- a/lib/server.c
|
||||
+++ b/lib/server.c
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
+#include <sys/time.h>
|
||||
|
||||
#include "afp.h"
|
||||
#include "dsi.h"
|
||||
159
afpfs-ng-0.8.1-formatsec.patch
Normal file
159
afpfs-ng-0.8.1-formatsec.patch
Normal file
|
|
@ -0,0 +1,159 @@
|
|||
From 2c76660566d026d430305231e72c259372de4380 Mon Sep 17 00:00:00 2001
|
||||
From: Lubomir Rintel <lkundrak@v3.sk>
|
||||
Date: Wed, 4 Dec 2013 23:17:10 +0100
|
||||
Subject: [PATCH] Fix build with -Werror=format-security
|
||||
|
||||
Fedora, starting with version 21, will enable this flag in order to limit
|
||||
potentially insecure uses of format strings. It is required for format strings
|
||||
to be constant now.
|
||||
---
|
||||
cmdline/cmdline_afp.c | 4 ++--
|
||||
cmdline/cmdline_testafp.c | 12 ++++++------
|
||||
fuse/client.c | 5 +----
|
||||
fuse/commands.c | 4 ++--
|
||||
lib/afp_url.c | 12 ++++++------
|
||||
5 files changed, 17 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/cmdline/cmdline_afp.c b/cmdline/cmdline_afp.c
|
||||
index 827150b..59f0977 100644
|
||||
--- a/cmdline/cmdline_afp.c
|
||||
+++ b/cmdline/cmdline_afp.c
|
||||
@@ -828,11 +828,11 @@ int com_status(char * arg)
|
||||
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;
|
||||
}
|
||||
|
||||
diff --git a/cmdline/cmdline_testafp.c b/cmdline/cmdline_testafp.c
|
||||
index c40f2bd..f887aec 100644
|
||||
--- a/cmdline/cmdline_testafp.c
|
||||
+++ b/cmdline/cmdline_testafp.c
|
||||
@@ -26,12 +26,12 @@ static int test_one_url(char * url_string,
|
||||
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);
|
||||
+ snprintf(valid_url.servername,sizeof(valid_url.servername),"%s",servername);
|
||||
+ snprintf(valid_url.volumename,sizeof(valid_url.volumename),"%s",volumename);
|
||||
+ snprintf(valid_url.path,sizeof(valid_url.path),"%s",path);
|
||||
+ snprintf(valid_url.username,sizeof(valid_url.username),"%s",username);
|
||||
+ snprintf(valid_url.password,sizeof(valid_url.password),"%s",password);
|
||||
+ snprintf(valid_url.uamname,(valid_url.uamname),"%s",uamname);
|
||||
valid_url.port=port;
|
||||
|
||||
if (afp_url_validate(url_string,&valid_url))
|
||||
diff --git a/fuse/client.c b/fuse/client.c
|
||||
index f795ca6..d19e9ef 100644
|
||||
--- a/fuse/client.c
|
||||
+++ b/fuse/client.c
|
||||
@@ -509,7 +509,6 @@ static int prepare_buffer(int argc, char * argv[])
|
||||
int read_answer(int sock) {
|
||||
int len=0, expected_len=0, packetlen;
|
||||
char incoming_buffer[MAX_CLIENT_RESPONSE];
|
||||
- char toprint[MAX_CLIENT_RESPONSE+200];
|
||||
struct timeval tv;
|
||||
fd_set rds,ords;
|
||||
int ret;
|
||||
@@ -546,9 +545,7 @@ int read_answer(int sock) {
|
||||
}
|
||||
|
||||
done:
|
||||
- memset(toprint,0,MAX_CLIENT_RESPONSE+200);
|
||||
- snprintf(toprint,MAX_CLIENT_RESPONSE+200,"%s",incoming_buffer+sizeof(*answer));
|
||||
- printf(toprint);
|
||||
+ printf("%.200s",incoming_buffer+sizeof(*answer));
|
||||
return ((struct afp_server_response *) incoming_buffer)->result;
|
||||
|
||||
return 0;
|
||||
diff --git a/fuse/commands.c b/fuse/commands.c
|
||||
index aa7444d..bb06928 100644
|
||||
--- a/fuse/commands.c
|
||||
+++ b/fuse/commands.c
|
||||
@@ -163,6 +163,7 @@ static void fuse_log_for_client(void * priv,
|
||||
len = strlen(c->client_string);
|
||||
snprintf(c->client_string+len,
|
||||
MAX_CLIENT_RESPONSE-len,
|
||||
+ "%s",
|
||||
message);
|
||||
} else {
|
||||
|
||||
@@ -468,7 +468,7 @@ static int process_mount(struct fuse_client * c)
|
||||
volume->mapping=req->map;
|
||||
afp_detect_mapping(volume);
|
||||
|
||||
- snprintf(volume->mountpoint,255,req->mountpoint);
|
||||
+ snprintf(volume->mountpoint,255,"%s",req->mountpoint);
|
||||
|
||||
/* Create the new thread and block until we get an answer back */
|
||||
{
|
||||
diff --git a/lib/afp_url.c b/lib/afp_url.c
|
||||
index 42bac1c..f152d7b 100644
|
||||
--- a/lib/afp_url.c
|
||||
+++ b/lib/afp_url.c
|
||||
@@ -233,7 +233,7 @@ int afp_parse_url(struct afp_url * url, const char * toparse, int verbose)
|
||||
}
|
||||
}
|
||||
|
||||
- snprintf(url->servername,strlen(p)+1,p);
|
||||
+ snprintf(url->servername,strlen(p)+1,"%s",p);
|
||||
if (check_servername(url->servername)) {
|
||||
if (verbose) printf("This isn't a valid servername\n");
|
||||
return -1;
|
||||
@@ -263,7 +263,7 @@ int afp_parse_url(struct afp_url * url, const char * toparse, int verbose)
|
||||
if ((q=escape_strrchr(p,':',":"))) {
|
||||
*q='\0';
|
||||
q++;
|
||||
- snprintf(url->password,strlen(q)+1,q);
|
||||
+ snprintf(url->password,strlen(q)+1,"%s",q);
|
||||
if (check_password(url->password)) {
|
||||
if (verbose) printf("This isn't a valid passwd\n");
|
||||
return -1;
|
||||
@@ -276,7 +276,7 @@ int afp_parse_url(struct afp_url * url, const char * toparse, int verbose)
|
||||
if ((q=strstr(p,";AUTH="))) {
|
||||
*q='\0';
|
||||
q+=6;
|
||||
- snprintf(url->uamname,strlen(q)+1,q);
|
||||
+ snprintf(url->uamname,strlen(q)+1,"%s",q);
|
||||
if (check_uamname(url->uamname)) {
|
||||
if (verbose) printf("This isn't a valid uamname\n");
|
||||
return -1;
|
||||
@@ -284,7 +284,7 @@ int afp_parse_url(struct afp_url * url, const char * toparse, int verbose)
|
||||
}
|
||||
|
||||
if (strlen(p)>0) {
|
||||
- snprintf(url->username,strlen(p)+1,p);
|
||||
+ snprintf(url->username,strlen(p)+1,"%s",p);
|
||||
if (check_username(url->username)) {
|
||||
if (verbose) printf("This isn't a valid username\n");
|
||||
return -1;;
|
||||
@@ -304,12 +304,12 @@ parse_secondpart:
|
||||
*q='\0';
|
||||
q++;
|
||||
}
|
||||
- snprintf(url->volumename,strlen(p)+1,p);
|
||||
+ snprintf(url->volumename,strlen(p)+1,"%s",p);
|
||||
|
||||
|
||||
if (q) {
|
||||
url->path[0]='/';
|
||||
- snprintf(url->path+1,strlen(q)+1,q);
|
||||
+ snprintf(url->path+1,strlen(q)+1,"%s",q);
|
||||
}
|
||||
|
||||
done:
|
||||
--
|
||||
1.8.4.2
|
||||
|
||||
11
afpfs-ng-0.8.1-longoptions.patch
Normal file
11
afpfs-ng-0.8.1-longoptions.patch
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
diff -ru afpfs-ng-0.8.1.orig/cmdline/cmdline_main.c afpfs-ng-0.8.1.new/cmdline/cmdline_main.c
|
||||
--- afpfs-ng-0.8.1.orig/cmdline/cmdline_main.c 2008-02-19 01:54:53.000000000 +0000
|
||||
+++ afpfs-ng-0.8.1.new/cmdline/cmdline_main.c 2021-03-12 03:28:59.315715841 +0000
|
||||
@@ -387,6 +387,7 @@
|
||||
|
||||
struct option long_options[] = {
|
||||
{"recursive",1,0,'r'},
|
||||
+ {NULL,0,NULL,0}
|
||||
};
|
||||
char * url = argv[1];
|
||||
|
||||
28
afpfs-ng-0.8.1-overflows.patch
Normal file
28
afpfs-ng-0.8.1-overflows.patch
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
Fix possible buffer overflows (given we're copying to storage of AFP_MAX_PATH,
|
||||
while AFP_MAX_PATH is much smaller than PATH_MAX)
|
||||
|
||||
Lubomir Rintel <lkundrak@v3.sk>
|
||||
|
||||
--- afpfs-ng-0.8.1/cmdline/cmdline_afp.c.overflows 2008-10-06 19:21:32.000000000 +0200
|
||||
+++ afpfs-ng-0.8.1/cmdline/cmdline_afp.c 2008-10-06 19:13:50.000000000 +0200
|
||||
@@ -129,9 +129,9 @@
|
||||
{
|
||||
if (filename[0]!='/') {
|
||||
if (strlen(curdir)==1)
|
||||
- snprintf(server_fullname,PATH_MAX,"/%s",filename);
|
||||
+ snprintf(server_fullname,AFP_MAX_PATH,"/%s",filename);
|
||||
else
|
||||
- snprintf(server_fullname,PATH_MAX,"%s/%s",curdir,filename);
|
||||
+ snprintf(server_fullname,AFP_MAX_PATH,"%s/%s",curdir,filename);
|
||||
} else {
|
||||
snprintf(server_fullname,PATH_MAX,"%s",filename);
|
||||
}
|
||||
@@ -1217,7 +1217,7 @@
|
||||
{
|
||||
struct passwd * passwd;
|
||||
|
||||
- snprintf(curdir,PATH_MAX,"%s",DEFAULT_DIRECTORY);
|
||||
+ snprintf(curdir,AFP_MAX_PATH,"%s",DEFAULT_DIRECTORY);
|
||||
if (init_uams()<0) return -1;
|
||||
|
||||
afp_default_url(&url);
|
||||
280
afpfs-ng-0.8.1-pointer.patch
Normal file
280
afpfs-ng-0.8.1-pointer.patch
Normal file
|
|
@ -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/afp.h.pointer afpfs-ng-0.8.1/include/afp.h
|
||||
--- afpfs-ng-0.8.1/include/afp.h.pointer 2008-03-08 17:08:18.000000000 +0100
|
||||
+++ afpfs-ng-0.8.1/include/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/utils.h.pointer afpfs-ng-0.8.1/include/utils.h
|
||||
--- afpfs-ng-0.8.1/include/utils.h.pointer 2008-02-18 04:33:58.000000000 +0100
|
||||
+++ afpfs-ng-0.8.1/include/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;
|
||||
109
afpfs-ng-0.8.1-pointer2.patch
Normal file
109
afpfs-ng-0.8.1-pointer2.patch
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
diff -ru afpfs-ng-0.8.1.orig/lib/loop.c afpfs-ng-0.8.1.new/lib/loop.c
|
||||
--- afpfs-ng-0.8.1.orig/lib/loop.c 2025-02-06 15:18:29.028488247 +0100
|
||||
+++ afpfs-ng-0.8.1.new/lib/loop.c 2025-02-06 15:02:08.261418298 +0100
|
||||
@@ -87,7 +87,7 @@
|
||||
static int ending=0;
|
||||
void * just_end_it_now(void * ignore)
|
||||
{
|
||||
- if (ending) return;
|
||||
+ if (ending) return(NULL);
|
||||
ending=1;
|
||||
if (libafpclient->forced_ending_hook)
|
||||
libafpclient->forced_ending_hook();
|
||||
diff -ru afpfs-ng-0.8.1.orig/lib/proto_directory.c afpfs-ng-0.8.1.new/lib/proto_directory.c
|
||||
--- afpfs-ng-0.8.1.orig/lib/proto_directory.c 2025-02-06 15:18:29.030488258 +0100
|
||||
+++ afpfs-ng-0.8.1.new/lib/proto_directory.c 2025-02-06 15:17:58.862309936 +0100
|
||||
@@ -16,6 +16,19 @@
|
||||
#include "dsi_protocol.h"
|
||||
#include "afp_replies.h"
|
||||
|
||||
+typedef struct reply_entry {
|
||||
+ uint8_t size;
|
||||
+ uint8_t isdir;
|
||||
+};
|
||||
+
|
||||
+typedef struct ext2_reply_entry {
|
||||
+ uint16_t size;
|
||||
+ uint8_t isdir;
|
||||
+ uint8_t pad;
|
||||
+};
|
||||
+
|
||||
+
|
||||
+
|
||||
int afp_moveandrename(struct afp_volume *volume,
|
||||
unsigned int src_did,
|
||||
unsigned int dst_did,
|
||||
@@ -200,10 +213,7 @@
|
||||
uint16_t reqcount;
|
||||
} __attribute__((__packed__)) * reply = (void *) buf;
|
||||
|
||||
- struct {
|
||||
- uint8_t size;
|
||||
- uint8_t isdir;
|
||||
- } __attribute__((__packed__)) * entry;
|
||||
+ struct reply_entry __attribute__((__packed__)) * entry;
|
||||
char * p = buf + sizeof(*reply);
|
||||
int i;
|
||||
char *max=buf+size;
|
||||
@@ -219,7 +229,7 @@
|
||||
}
|
||||
|
||||
for (i=0;i<ntohs(reply->reqcount);i++) {
|
||||
- entry = (void *) p;
|
||||
+ entry = ( struct reply_entry *) p;
|
||||
|
||||
if (p>max) {
|
||||
return -1;
|
||||
@@ -259,11 +269,7 @@
|
||||
uint16_t reqcount;
|
||||
} __attribute__((__packed__)) * reply = (void *) buf;
|
||||
|
||||
- struct {
|
||||
- uint16_t size;
|
||||
- uint8_t isdir;
|
||||
- uint8_t pad;
|
||||
- } __attribute__((__packed__)) * entry;
|
||||
+ struct ext2_reply_entry __attribute__((__packed__)) * entry;
|
||||
char * p = buf + sizeof(*reply);
|
||||
int i;
|
||||
char *max=buf+size;
|
||||
@@ -293,7 +299,7 @@
|
||||
filecur=new_file;
|
||||
}
|
||||
|
||||
- entry = p;
|
||||
+ entry = ( struct ext2_reply_entry *) p;
|
||||
|
||||
parse_reply_block(server,p+sizeof(*entry),
|
||||
ntohs(entry->size),entry->isdir,
|
||||
diff -ru afpfs-ng-0.8.1.orig/lib/uams.c afpfs-ng-0.8.1.new/lib/uams.c
|
||||
--- afpfs-ng-0.8.1.orig/lib/uams.c 2025-02-06 15:18:29.030488258 +0100
|
||||
+++ afpfs-ng-0.8.1.new/lib/uams.c 2025-02-06 15:00:32.383809018 +0100
|
||||
@@ -36,7 +36,7 @@
|
||||
static int cleartxt_login(struct afp_server *server, char *username,
|
||||
char *passwd);
|
||||
static int cleartxt_passwd(struct afp_server *server, char *username,
|
||||
- char *passwd);
|
||||
+ char *passwd, char *newpasswd);
|
||||
#ifdef HAVE_LIBGCRYPT
|
||||
static int randnum_login(struct afp_server *server, char *username,
|
||||
char *passwd);
|
||||
@@ -49,8 +49,7 @@
|
||||
static struct afp_uam uam_noauth =
|
||||
{UAM_NOUSERAUTHENT,"No User Authent",&noauth_login,NULL,NULL};
|
||||
static struct afp_uam uam_cleartxt =
|
||||
- {UAM_CLEARTXTPASSWRD,"Cleartxt Passwrd",&cleartxt_login,
|
||||
- &cleartxt_passwd,NULL};
|
||||
+ {UAM_CLEARTXTPASSWRD,"Cleartxt Passwrd",&cleartxt_login,&cleartxt_passwd,NULL};
|
||||
#ifdef HAVE_LIBGCRYPT
|
||||
static struct afp_uam uam_randnum =
|
||||
{UAM_RANDNUMEXCHANGE, "Randnum Exchange", &randnum_login,NULL,NULL};
|
||||
@@ -219,7 +218,7 @@
|
||||
* +------------------+
|
||||
*/
|
||||
static int cleartxt_passwd(struct afp_server *server,
|
||||
- char *username, char *passwd) {
|
||||
+ char *username, char *passwd, char *newpasswd) {
|
||||
|
||||
char *p, *ai = NULL;
|
||||
int len, ret;
|
||||
30
afpfs-ng-0.8.1-tests.patch
Normal file
30
afpfs-ng-0.8.1-tests.patch
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
diff -ru afpfs-ng-0.8.1.old/cmdline/cmdline_testafp.c afpfs-ng-0.8.1.new/cmdline/cmdline_testafp.c
|
||||
--- afpfs-ng-0.8.1.old/cmdline/cmdline_testafp.c 2025-02-06 15:22:10.187795481 +0100
|
||||
+++ afpfs-ng-0.8.1.new/cmdline/cmdline_testafp.c 2025-02-06 15:30:13.226751326 +0100
|
||||
@@ -31,7 +31,7 @@
|
||||
snprintf(valid_url.path,sizeof(valid_url.path),"%s",path);
|
||||
snprintf(valid_url.username,sizeof(valid_url.username),"%s",username);
|
||||
snprintf(valid_url.password,sizeof(valid_url.password),"%s",password);
|
||||
- snprintf(valid_url.uamname,(valid_url.uamname),"%s",uamname);
|
||||
+ snprintf(valid_url.uamname,sizeof(valid_url.uamname),"%s",uamname);
|
||||
valid_url.port=port;
|
||||
|
||||
if (afp_url_validate(url_string,&valid_url))
|
||||
@@ -42,7 +42,7 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
-int test_urls(void)
|
||||
+int test_urls(char * arg)
|
||||
{
|
||||
|
||||
printf("Testing URL parsing\n");
|
||||
diff -ru afpfs-ng-0.8.1.old/cmdline/cmdline_testafp.h afpfs-ng-0.8.1.new/cmdline/cmdline_testafp.h
|
||||
--- afpfs-ng-0.8.1.old/cmdline/cmdline_testafp.h 2008-01-05 06:00:57.000000000 +0100
|
||||
+++ afpfs-ng-0.8.1.new/cmdline/cmdline_testafp.h 2025-02-06 15:30:51.577987329 +0100
|
||||
@@ -1,4 +1,4 @@
|
||||
#ifndef __CMDLINE_TESTAFP_H_
|
||||
-int test_urls(void);
|
||||
+int test_urls(char * arg);
|
||||
#endif
|
||||
|
||||
114
afpfs-ng.spec
Normal file
114
afpfs-ng.spec
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
Name: afpfs-ng
|
||||
Version: 0.8.1
|
||||
Release: %autorelease
|
||||
Summary: Apple Filing Protocol client
|
||||
|
||||
|
||||
# by default build with the fuse module
|
||||
# rpmbuild --rebuild afpfs-ng.src.rpm --without fuse
|
||||
%bcond_without fuse
|
||||
|
||||
|
||||
License: GPL-2.0-or-later
|
||||
URL: http://alexthepuffin.googlepages.com/home
|
||||
Source0: http://downloads.sourceforge.net/afpfs-ng/%{name}-%{version}.tar.bz2
|
||||
Patch0: afpfs-ng-0.8.1-overflows.patch
|
||||
Patch1: afpfs-ng-0.8.1-pointer.patch
|
||||
# Sent by e-mail to Alex deVries <alexthepuffin@gmail.com>
|
||||
Patch2: afpfs-ng-0.8.1-formatsec.patch
|
||||
Patch3: afpfs-ng-0.8.1-longoptions.patch
|
||||
Patch4: afpfs-ng-0.8.1-c99.patch
|
||||
Patch5: afpfs-ng-0.8.1-pointer2.patch
|
||||
Patch6: afpfs-ng-0.8.1-tests.patch
|
||||
|
||||
%{?with_fuse:BuildRequires: fuse-devel}
|
||||
BuildRequires: gcc
|
||||
BuildRequires: libgcrypt-devel gmp-devel readline-devel
|
||||
BuildRequires: make
|
||||
BuildRequires: libtool
|
||||
BuildRequires: autoconf
|
||||
|
||||
|
||||
%description
|
||||
A command line client to access files exported from Mac OS system via
|
||||
Apple Filing Protocol.
|
||||
%{?with_fuse:The FUSE filesystem module for AFP is in fuse-afp package}
|
||||
|
||||
|
||||
%if 0%{?with_fuse}
|
||||
%package -n fuse-afp
|
||||
Summary: FUSE driver for AFP filesystem
|
||||
|
||||
%description -n fuse-afp
|
||||
A FUSE file system server to access files exported from Mac OS system
|
||||
via AppleTalk or TCP using Apple Filing Protocol.
|
||||
The command line client for AFP is in fuse-afp package
|
||||
%endif
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: Development files for afpfs-ng
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description devel
|
||||
Library for dynamic linking and header files of afpfs-ng.
|
||||
|
||||
%prep
|
||||
%autosetup -p 1
|
||||
libtoolize
|
||||
autoreconf
|
||||
|
||||
%build
|
||||
# make would rebuild the autoconf infrastructure due to the following:
|
||||
# Prerequisite `configure.ac' is newer than target `Makefile.in'.
|
||||
# Prerequisite `aclocal.m4' is newer than target `Makefile.in'.
|
||||
# Prerequisite `configure.ac' is newer than target `aclocal.m4'.
|
||||
touch --reference aclocal.m4 configure.ac Makefile.in
|
||||
|
||||
export CFLAGS="${RPM_OPT_FLAGS} -fcommon -D NeedFunctionPrototypes"
|
||||
%configure %{?!with_fuse:--disable-fuse} --disable-static
|
||||
make %{?_smp_mflags}
|
||||
|
||||
|
||||
%install
|
||||
%make_install
|
||||
install -d %{buildroot}%{_includedir}/afpfs-ng
|
||||
cp -p include/* %{buildroot}%{_includedir}/afpfs-ng
|
||||
# libtool .la file works different in different versions of libtool, should not be packaged
|
||||
[ -f %{buildroot}%{_libdir}/libafpclient.la ] && rm -f %{buildroot}%{_libdir}/libafpclient.la
|
||||
|
||||
%if ( 0%{?rhel} && 0%{?rhel} <= 7 )
|
||||
%ldconfig_scriptlets
|
||||
%endif
|
||||
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
%{_bindir}/afpcmd
|
||||
%{_bindir}/afpgetstatus
|
||||
%{_mandir}/man1/afpcmd.1*
|
||||
%{_mandir}/man1/afpgetstatus.1*
|
||||
%{_libdir}/libafpclient.so.*
|
||||
%doc AUTHORS ChangeLog docs/README docs/performance docs/FEATURES.txt docs/REPORTING-BUGS.txt
|
||||
|
||||
|
||||
%if 0%{?with_fuse}
|
||||
%files -n fuse-afp
|
||||
%license COPYING
|
||||
%{_bindir}/afp_client
|
||||
%{_bindir}/afpfs
|
||||
%{_bindir}/afpfsd
|
||||
%{_bindir}/mount_afp
|
||||
%{_mandir}/man1/afp_client.1*
|
||||
%{_mandir}/man1/afpfsd.1*
|
||||
%{_mandir}/man1/mount_afp.1*
|
||||
%doc AUTHORS ChangeLog
|
||||
%endif
|
||||
|
||||
|
||||
%files devel
|
||||
%{_includedir}/afpfs-ng
|
||||
%{_libdir}/*.so
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
147
changelog
Normal file
147
changelog
Normal file
|
|
@ -0,0 +1,147 @@
|
|||
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-45
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-44
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-43
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-42
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Wed Dec 21 2022 Florian Weimer <fweimer@redhat.com> - 0.8.1-41
|
||||
- Port to C99
|
||||
|
||||
* Tue Oct 25 2022 Michal Ambroz <rebus _AT seznam.cz> - 0.8.1-40
|
||||
- remove the libafpclient.la libtool file
|
||||
|
||||
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-39
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-38
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Wed Nov 17 2021 Michal Ambroz <rebus _AT seznam.cz> - 0.8.1-37
|
||||
- update embedded libtool (ltmain.sh)
|
||||
|
||||
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-36
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Mon Apr 26 2021 Michal Ambroz <rebus _AT seznam.cz> - 0.8.1-35
|
||||
- modernize spec, push the bugfix to active branches
|
||||
|
||||
* Fri Mar 12 2021 Michal Ambroz <rebus _AT seznam.cz> - 0.8.1-34
|
||||
- fix issue 1507944
|
||||
|
||||
* Mon Jan 25 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-33
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Fri Jul 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-32
|
||||
- Second attempt - Rebuilt for
|
||||
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-31
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Wed Apr 22 2020 Michal Ambroz <rebus _AT seznam.cz> - 0.8.1-30
|
||||
- fix FTBFS - multiple definition of - build legacy code with -fcommon
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-29
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-28
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.8.1-27
|
||||
- Rebuild for readline 8.0
|
||||
|
||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-26
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-25
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-24
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-23
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-22
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-21
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-20
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.1-19
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Tue Nov 25 2014 <hguemar@fedoraproject.org> - 0.8.1-18
|
||||
- Fix mount_afp crash (RHBZ #1165296)
|
||||
|
||||
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.1-17
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.1-16
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Tue Apr 22 2014 Tomáš Mráz <tmraz@redhat.com> - 0.8.1-15
|
||||
- Rebuild for new libgcrypt
|
||||
|
||||
* Wed Dec 04 2013 Lubomir Rintel <lkundrak@v3.sk> - 0.8.1-14
|
||||
- Fix build with -Werror=format-security
|
||||
|
||||
* Thu Oct 24 2013 Lubomir Rintel <lkundrak@v3.sk> - 0.8.1-13.3
|
||||
- Bulk sad and useless attempt at consistent SPEC file formatting
|
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.1-12.3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.1-11.3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.1-10.3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.1-9.3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Thu Oct 20 2011 Marcela Mašláňová <mmaslano@redhat.com> - 0.8.1-8.3
|
||||
- rebuild with new gmp without compat lib
|
||||
|
||||
* Mon Oct 10 2011 Peter Schiffer <pschiffe@redhat.com> - 0.8.1-8.2
|
||||
- rebuild with new gmp
|
||||
|
||||
* Mon Sep 26 2011 Peter Schiffer <pschiffe@redhat.com> - 0.8.1-8.1
|
||||
- rebuild with new gmp
|
||||
|
||||
* Mon Jul 4 2011 Jan F. Chadima <jchadima@redhat.com> - 0.8.1-8
|
||||
- Repair ponter arithmetic
|
||||
|
||||
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.1-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Thu Sep 17 2009 Peter Lemenkov <lemenkov@gmail.com> - 0.8.1-6
|
||||
- Rebuild with new fuse
|
||||
|
||||
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Fri Jul 17 2009 Lubomir Rintel <lkundrak@v3.sk> - 0.8.1-4
|
||||
- Don't refer to AppleTalk in Summary
|
||||
|
||||
* Tue Jul 14 2009 Lubomir Rintel <lkundrak@v3.sk> - 0.8.1-3
|
||||
- Fix up license tag
|
||||
|
||||
* Thu Mar 19 2009 Lubomir Rintel <lkundrak@v3.sk> - 0.8.1-2
|
||||
- Add more include files (Jan F. Chadima)
|
||||
- Don't needlessly build static library (Stefan Kasal)
|
||||
- Fix fuse-afp summary (Stefan Kasal)
|
||||
- Remove redundant license file from -devel (Stefan Kasal)
|
||||
|
||||
* Mon Oct 6 2008 Lubomir Rintel <lkundrak@v3.sk> - 0.8.1-1
|
||||
- Initial packaging attempt
|
||||
1
sources
1
sources
|
|
@ -0,0 +1 @@
|
|||
1bdd9f8a06e6085ea4cc38ce010ef60b afpfs-ng-0.8.1.tar.bz2
|
||||
Loading…
Add table
Add a link
Reference in a new issue