repositories
/
deb_libnfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ZDR: we need to include both arpa/inet.h and time.h
[deb_libnfs.git]
/
lib
/
libnfs-zdr.c
diff --git
a/lib/libnfs-zdr.c
b/lib/libnfs-zdr.c
index 315aa0afd7f45eb04bd155d5aba8cf6c09c8828e..0ef4fc02ce00b712535a2d5d266ce374f0d73dc6 100644
(file)
--- a/
lib/libnfs-zdr.c
+++ b/
lib/libnfs-zdr.c
@@
-20,9
+20,15
@@
* i.e. zdrmem_create() buffers.
* It aims to be compatible with normal rpcgen generated functions.
*/
* i.e. zdrmem_create() buffers.
* It aims to be compatible with normal rpcgen generated functions.
*/
+#ifdef WIN32
+#include "win32_compat.h"
+#else
+#include <arpa/inet.h>
+#endif/*WIN32*/
#include <stdlib.h>
#include <string.h>
#include <stdlib.h>
#include <string.h>
+#include <time.h>
#include "libnfs-zdr.h"
struct opaque_auth _null_auth;
#include "libnfs-zdr.h"
struct opaque_auth _null_auth;
@@
-30,6
+36,8
@@
struct opaque_auth _null_auth;
bool_t libnfs_zdr_setpos(ZDR *zdrs, uint32_t pos)
{
zdrs->pos = pos;
bool_t libnfs_zdr_setpos(ZDR *zdrs, uint32_t pos)
{
zdrs->pos = pos;
+
+ return TRUE;
}
uint32_t libnfs_zdr_getpos(ZDR *zdrs)
}
uint32_t libnfs_zdr_getpos(ZDR *zdrs)
@@
-158,9
+166,15
@@
bool_t libnfs_zdr_bytes(ZDR *zdrs, char **bufp, uint32_t *size, uint32_t maxsize
}
}
-bool_t libnfs_zdr_enum(ZDR *zdrs,
int32
_t *e)
+bool_t libnfs_zdr_enum(ZDR *zdrs,
enum
_t *e)
{
{
- return libnfs_zdr_u_int(zdrs, (uint32_t *)e);
+ bool_t ret;
+ int32_t i = *e;
+
+ ret = libnfs_zdr_u_int(zdrs, (uint32_t *)&i);
+ *e = i;
+
+ return ret;
}
bool_t libnfs_zdr_bool(ZDR *zdrs, bool_t *b)
}
bool_t libnfs_zdr_bool(ZDR *zdrs, bool_t *b)
@@
-284,7
+298,7
@@
static bool_t libnfs_opaque_auth(ZDR *zdrs, struct opaque_auth *auth)
return FALSE;
}
return FALSE;
}
- if (!libnfs_zdr_bytes(zdrs, &auth->oa_base, &auth->oa_length,
&
auth->oa_length)) {
+ if (!libnfs_zdr_bytes(zdrs, &auth->oa_base, &auth->oa_length, auth->oa_length)) {
return FALSE;
}
return FALSE;
}
@@
-316,6
+330,8
@@
static bool_t libnfs_rpc_call_body(ZDR *zdrs, struct call_body *cmb)
if (!libnfs_opaque_auth(zdrs, &cmb->cb_verf)) {
return FALSE;
}
if (!libnfs_opaque_auth(zdrs, &cmb->cb_verf)) {
return FALSE;
}
+
+ return TRUE;
}
static bool_t libnfs_accepted_reply(ZDR *zdrs, struct accepted_reply *ar)
}
static bool_t libnfs_accepted_reply(ZDR *zdrs, struct accepted_reply *ar)
@@
-409,11
+425,11
@@
bool_t libnfs_zdr_replymsg(ZDR *zdrs, struct rpc_msg *msg)
return libnfs_rpc_msg(zdrs, msg);
}
return libnfs_rpc_msg(zdrs, msg);
}
-AUTH *authnone_create(void)
+
struct
AUTH *authnone_create(void)
{
{
- AUTH *auth;
+
struct
AUTH *auth;
- auth = malloc(sizeof(AUTH));
+ auth = malloc(sizeof(
struct
AUTH));
auth->ah_cred.oa_flavor = AUTH_NONE;
auth->ah_cred.oa_length = 0;
auth->ah_cred.oa_flavor = AUTH_NONE;
auth->ah_cred.oa_length = 0;
@@
-428,20
+444,20
@@
AUTH *authnone_create(void)
return auth;
}
return auth;
}
-AUTH *libnfs_authunix_create(char *host, uint32_t uid, uint32_t gid, uint32_t len, uint32_t *groups)
+
struct
AUTH *libnfs_authunix_create(char *host, uint32_t uid, uint32_t gid, uint32_t len, uint32_t *groups)
{
{
- AUTH *auth;
+
struct
AUTH *auth;
int size;
uint32_t *buf;
int idx;
size = 4 + 4 + ((strlen(host) + 3) & ~3) + 4 + 4 + 4 + len * 4;
int size;
uint32_t *buf;
int idx;
size = 4 + 4 + ((strlen(host) + 3) & ~3) + 4 + 4 + 4 + len * 4;
- auth = malloc(sizeof(AUTH));
+ auth = malloc(sizeof(
struct
AUTH));
auth->ah_cred.oa_flavor = AUTH_UNIX;
auth->ah_cred.oa_length = size;
auth->ah_cred.oa_base = malloc(size);
auth->ah_cred.oa_flavor = AUTH_UNIX;
auth->ah_cred.oa_length = size;
auth->ah_cred.oa_base = malloc(size);
- buf = auth->ah_cred.oa_base;
+ buf =
(uint32_t *)
auth->ah_cred.oa_base;
idx = 0;
buf[idx++] = htonl(time(NULL));
buf[idx++] = htonl(strlen(host));
idx = 0;
buf[idx++] = htonl(time(NULL));
buf[idx++] = htonl(strlen(host));
@@
-464,12
+480,12
@@
AUTH *libnfs_authunix_create(char *host, uint32_t uid, uint32_t gid, uint32_t le
return auth;
}
return auth;
}
-AUTH *libnfs_authunix_create_default(void)
+
struct
AUTH *libnfs_authunix_create_default(void)
{
return libnfs_authunix_create("libnfs", getuid(), -1, 0, NULL);
}
{
return libnfs_authunix_create("libnfs", getuid(), -1, 0, NULL);
}
-void libnfs_auth_destroy(AUTH *auth)
+void libnfs_auth_destroy(
struct
AUTH *auth)
{
if (auth->ah_cred.oa_base) {
free(auth->ah_cred.oa_base);
{
if (auth->ah_cred.oa_base) {
free(auth->ah_cred.oa_base);