From 83c702fcbb3ae38dc0263bbd6082610191ef57b0 Mon Sep 17 00:00:00 2001 From: Stephen Heumann Date: Mon, 20 Mar 2017 00:58:17 -0500 Subject: [PATCH] Include the FPGetSrvrInfo AFP-level request in DSIGetInfo packets. The macOS AFP server gives a response even without this, but the protocol spec says it should be there. --- aspinterface.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/aspinterface.c b/aspinterface.c index 9a11c11..200b4b5 100644 --- a/aspinterface.c +++ b/aspinterface.c @@ -101,15 +101,16 @@ void DispatchASPCommand(SPCommandRec *commandRec) { } void DoSPGetStatus(Session *sess, ASPGetStatusRec *commandRec) { + static const Word kFPGetSrvrInfo = 15; sess->request.flags = DSI_REQUEST; sess->request.command = DSIGetStatus; sess->request.requestID = htons(sess->nextRequestID++); sess->request.writeOffset = 0; - sess->request.totalDataLength = 0; + sess->request.totalDataLength = htonl(2); sess->replyBuf = (void*)commandRec->bufferAddr; sess->replyBufLen = commandRec->bufferLength; - SendDSIMessage(sess, &sess->request, NULL); + SendDSIMessage(sess, &sess->request, &kFPGetSrvrInfo); } void DoSPOpenSession(Session *sess, ASPOpenSessionRec *commandRec) {