Latest ipv6 changes broke (the deprecated) smbmount,
smbmnt and smbctool
Guenter Kukkukk
linux at kukkukk.com
Sun Oct 14 15:29:04 GMT 2007
Some changes have to do done to
- smbmount.c
- smbmnt.c
- smbctool.c
zero_ip --> zero_ip_v4
is_zero_ip --> is_zero_ip_v4
In addition some cleanup has been done to avoid compiler warnings.
Cheers, Guenter
--------------
diff --git a/source/client/smbctool.c b/source/client/smbctool.c
index 28122d8..4390ee3 100644
--- a/source/client/smbctool.c
+++ b/source/client/smbctool.c
@@ -3485,7 +3485,7 @@ static int do_message_op(void)
snprintf(name_type_hex, sizeof(name_type_hex), "#%X", name_type);
fstrcat(server_name, name_type_hex);
- zero_ip(&ip);
+ zero_ip_v4(&ip);
if (have_ip)
ip = dest_ip;
@@ -3596,7 +3596,7 @@ static int do_message_op(void)
case 'I':
{
dest_ip = *interpret_addr2(poptGetOptArg(pc));
- if (is_zero_ip(dest_ip))
+ if (is_zero_ip_v4(dest_ip))
exit(1);
have_ip = True;
diff --git a/source/client/smbmnt.c b/source/client/smbmnt.c
index c9759f4..08dcac8 100644
--- a/source/client/smbmnt.c
+++ b/source/client/smbmnt.c
@@ -272,10 +272,10 @@ do_mount(char *share_name, unsigned int flags, struct smb_mount_data *data)
return -1;
}
- ment.mnt_fsname = share_name ? share_name : "none";
+ ment.mnt_fsname = share_name ? share_name : (char *)"none";
ment.mnt_dir = mount_point;
- ment.mnt_type = "smbfs";
- ment.mnt_opts = "";
+ ment.mnt_type = (char *)"smbfs";
+ ment.mnt_opts = (char *)"";
ment.mnt_freq = 0;
ment.mnt_passno= 0;
diff --git a/source/client/smbmount.c b/source/client/smbmount.c
index b68dbfe..d2a4b9a 100644
--- a/source/client/smbmount.c
+++ b/source/client/smbmount.c
@@ -146,7 +146,7 @@ static struct cli_state *do_connection(char *the_service)
make_nmb_name(&called , server, 0x20);
again:
- zero_ip(&ip);
+ zero_ip_v4(&ip);
if (have_ip) ip = dest_ip;
/* have to open a new connection */
@@ -435,7 +435,7 @@ static void init_mount(void)
pstring tmp;
pstring svc2;
struct cli_state *c;
- char *args[20];
+ const char *args[20];
int i, status;
if (realpath(mpoint, mount_point) == NULL) {
@@ -503,12 +503,12 @@ static void init_mount(void)
asprintf(&smbmnt_path, "%s/smbmnt", dyn_BINDIR);
if (file_exist(smbmnt_path, NULL)) {
- execv(smbmnt_path, args);
+ execv(smbmnt_path, (char * const *)args);
fprintf(stderr,
"smbfs/init_mount: execv of %s failed. Error was %s.",
smbmnt_path, strerror(errno));
} else {
- execvp("smbmnt", args);
+ execvp("smbmnt", (char * const *)args);
fprintf(stderr,
"smbfs/init_mount: execv of %s failed. Error was %s.",
"smbmnt", strerror(errno));
@@ -799,7 +799,7 @@ static void parse_mount_smb(int argc, char **argv)
DEBUGLEVEL = val;
} else if(!strcmp(opts, "ip")) {
dest_ip = *interpret_addr2(opteq+1);
- if (is_zero_ip(dest_ip)) {
+ if (is_zero_ip_v4(dest_ip)) {
fprintf(stderr,"Can't resolve address %s\n", opteq+1);
exit(1);
}
More information about the samba-technical
mailing list