*/
#ifdef WIN32
#include "win32_compat.h"
-#else
-#include <sys/types.h>
-#include <arpa/inet.h>
-#endif/*WIN32*/
+#endif
+
+#ifdef AROS
+#include "aros_compat.h"
+#endif
#include <stdlib.h>
#include <string.h>
*u = ntohl(*(uint32_t *)&zdrs->buf[zdrs->pos]);
zdrs->pos += 4;
*u <<= 32;
- *u |= ntohl(*(uint32_t *)&zdrs->buf[zdrs->pos]);
+ *u |= (uint32_t)ntohl(*(uint32_t *)&zdrs->buf[zdrs->pos]);
zdrs->pos += 4;
return TRUE;
break;
case ZDR_ENCODE:
memcpy(&zdrs->buf[zdrs->pos], objp, size);
zdrs->pos += size;
+ if (zdrs->pos & 3) {
+ memset(&zdrs->buf[zdrs->pos], 0x00, 4 - (zdrs->pos & 3));
+ }
zdrs->pos = (zdrs->pos + 3) & ~3;
return TRUE;
case ZDR_DECODE:
size = 4 + 4 + ((strlen(host) + 3) & ~3) + 4 + 4 + 4 + len * 4;
auth = malloc(sizeof(struct AUTH));
+ memset(auth, 0x00, sizeof(struct AUTH));
auth->ah_cred.oa_flavor = AUTH_UNIX;
auth->ah_cred.oa_length = size;
auth->ah_cred.oa_base = malloc(size);
+ memset(auth->ah_cred.oa_base, 0x00, size);
buf = (uint32_t *)auth->ah_cred.oa_base;
idx = 0;
buf[idx++] = htonl(time(NULL));
struct AUTH *libnfs_authunix_create_default(void)
{
+#ifdef WIN32
+ return libnfs_authunix_create("libnfs", 65534, 65534, 0, NULL);
+#else
return libnfs_authunix_create("libnfs", getuid(), getgid(), 0, NULL);
+#endif
}
void libnfs_auth_destroy(struct AUTH *auth)