/*
- * $Id: status.c,v 1.18 2006-09-18 01:06:44 didg Exp $
+ * $Id: status.c,v 1.22 2009-02-16 14:03:30 franklahm Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
static size_t maxstatuslen = 0;
static void status_flags(char *data, const int notif, const int ipok,
- const unsigned char passwdbits, const int dirsrvcs _U_)
+ const unsigned char passwdbits, const int dirsrvcs _U_, int flags)
{
u_int16_t status;
status |= AFPSRVRINFO_SRVRDIR; /* AFP 3.1 specs says we need to specify this, but may set the count to 0 */
/* We don't set the UTF8 name flag here, we don't know whether we have enough space ... */
+ if (flags & OPTION_UUID) /* 05122008 FIXME: can we set AFPSRVRINFO_UUID here ? see AFPSRVRINFO_SRVRDIR*/
+ status |= AFPSRVRINFO_UUID;
+
status = htons(status);
memcpy(data + AFPSTATUS_FLAGOFF, &status, sizeof(status));
}
status_flags(status, options->server_notif, options->fqdn ||
(dsiconfig && dsi->server.sin_addr.s_addr),
options->passwdbits,
- (options->k5service && options->k5realm && options->fqdn));
+ (options->k5service && options->k5realm && options->fqdn),
+ options->flags);
/* returns offset to signature offset */
c = status_server(status, options->server ? options->server :
options->hostname, options);