Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Jul 2004 00:34:51 +0200 (CEST)
From:      Helge Oldach <coldsyncjul04@oldach.net>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        hmo@sep.oldach.net
Subject:   ports/69212: ports/palm/coldsync doesn't work with PalmOS 4.0 and above
Message-ID:  <200407172234.i6HMYpuQ037166@sep.oldach.net>
Resent-Message-ID: <200407172240.i6HMeQZ3006243@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         69212
>Category:       ports
>Synopsis:       ports/palm/coldsync doesn't work with PalmOS 4.0 and above
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jul 17 22:40:26 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Helge Oldach
>Release:        FreeBSD 4.10-STABLE i386
>Organization:
>Environment:
System: FreeBSD localhost 4.10-STABLE FreeBSD 4.10-STABLE #1920: Sun Jul 4 00:28:34 CEST 2004 root@localhost:/usr/obj/usr/src/sys/GENERIC i386


	
>Description:

ColdSync 2.2.5 fails to work with devices running PalmOS 4.0 and above,
if (and only if) there is a password set on the Palm. The Palm claims
that the desktop software is too old and should be upgraded. The patch
below (essentially stolen from ColdSync 3.0) makes ColdSync claim that
it supports DLP 1.3.

If this fix doesn't suit, please upgrade the port from ColdSync 2.25 to
ColdSync 3.0pre4 (or whatever is the current release version at the time
of fixing).

>How-To-Repeat:

>Fix:

--- include/pconn/dlp_cmd.h.orig	Sat Oct  6 20:04:35 2001
+++ include/pconn/dlp_cmd.h	Sun Jul 18 00:24:28 2004
@@ -199,6 +199,9 @@
 #define DLPCMD_MODUIFLAG_VIEWERID	0x08	/* Viewer ID */
 
 /** ReadSysInfo **/
+#define DLPARG_ReadSysInfo_Ver		DLPARG_BASE
+#define DLPARGLEN_ReadSysInfo_Ver	4
+
 #define DLPRET_ReadSysInfo_Info		DLPRET_BASE
 #define DLPRETLEN_ReadSysInfo_Info	14
 
--- libpconn/dlp_cmd.c.orig	Thu Oct 18 03:35:03 2001
+++ libpconn/dlp_cmd.c	Sun Jul 18 00:24:28 2004
@@ -343,7 +343,10 @@
 	int err;
 	struct dlp_req_header header;		/* Request header */
 	struct dlp_resp_header resp_header;	/* Response header */
+	struct dlp_arg argv[1];			/* Request argument list */
 	const struct dlp_arg *ret_argv;	/* Response argument list */
+	static ubyte outbuf[DLPARGLEN_ReadSysInfo_Ver]; 
+						/* Buffer holding outgoing arg */
 	const ubyte *rptr;	/* Pointer into buffers (for reading) */
 
 	DLPC_TRACE(1)
@@ -351,10 +354,21 @@
 
 	/* Fill in the header values */
 	header.id = (ubyte) DLPCMD_ReadSysInfo;
-	header.argc = 0;
+	header.argc = 1;
+
+	/* Fill in the argument */
+	
+	outbuf[0] = 0x00; /* We are telling our peer we support */
+	outbuf[1] = 0x01; /* DLP 1.3. Old PDAs will discard the argument. */
+	outbuf[2] = 0x00; 
+	outbuf[3] = 0x03;
+	
+	argv[0].id	= DLPARG_ReadSysInfo_Ver;
+	argv[0].size	= DLPARGLEN_ReadSysInfo_Ver;
+	argv[0].data	= outbuf;
 
 	/* Send the DLP request */
-	err = dlp_send_req(pconn, &header, NULL);
+	err = dlp_send_req(pconn, &header, argv);
 	if (err < 0)
 		return err;
 

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200407172234.i6HMYpuQ037166>