X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=netatalk.git;a=blobdiff_plain;f=etc%2Fafpd%2Fstatus.c;h=1037f15a0c591c1d09d33ae062278f46eac58e65;hp=d6d3dfd9cda014e90277db822166623c0fc93e66;hb=cdb7047fb6897c1ad8b4ac264001d44154bf144d;hpb=447b33fd9f674f2835644884916f924ea45cbd7d diff --git a/etc/afpd/status.c b/etc/afpd/status.c index d6d3dfd9..1037f15a 100644 --- a/etc/afpd/status.c +++ b/etc/afpd/status.c @@ -44,32 +44,26 @@ 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_, int flags) { - u_int16_t status; + uint16_t status; + + status = AFPSRVRINFO_COPY + | AFPSRVRINFO_SRVSIGNATURE + | AFPSRVRINFO_SRVMSGS + | AFPSRVRINFO_FASTBOZO + | AFPSRVRINFO_SRVRDIR + | AFPSRVRINFO_SRVUTF8 + | AFPSRVRINFO_EXTSLEEP; - status = AFPSRVRINFO_COPY; if (passwdbits & PASSWD_SET) /* some uams may not allow this. */ status |= AFPSRVRINFO_PASSWD; if (passwdbits & PASSWD_NOSAVE) status |= AFPSRVRINFO_NOSAVEPASSWD; - status |= AFPSRVRINFO_SRVSIGNATURE; - /* only advertise tcp/ip if we have a valid address */ - if (ipok) + if (ipok) /* only advertise tcp/ip if we have a valid address */ status |= AFPSRVRINFO_TCPIP; - status |= AFPSRVRINFO_SRVMSGS; - /* Allow the user to decide if we should support server notifications. - * With this turned off, the clients will poll for directory changes every - * 10 seconds. This might be too costly to network resources, so make - * this an optional thing. Default will be to _not_ support server - * notifications. */ - if (notif) { + if (notif) /* Default is yes */ status |= AFPSRVRINFO_SRVNOTIFY; - } - status |= AFPSRVRINFO_FASTBOZO; - 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; + if (flags & OPTION_UUID) + status |= AFPSRVRINFO_UUID; status = htons(status); memcpy(data + AFPSTATUS_FLAGOFF, &status, sizeof(status)); @@ -374,13 +368,6 @@ static size_t status_utf8servername(char *data, int *nameoffset, data += len; offset = htons(offset); memcpy(begin + *nameoffset, &offset, sizeof(u_int16_t)); - - /* Now set the flag ... */ - memcpy(&status, begin + AFPSTATUS_FLAGOFF, sizeof(status)); - status = ntohs(status); - status |= AFPSRVRINFO_SRVUTF8; - status = htons(status); - memcpy(begin + AFPSTATUS_FLAGOFF, &status, sizeof(status)); } /* return length of buffer */