Re: FreeBSD port of the Omada SDN Controller

Marcin Cieslak <[email protected]>
Newsgroups gmane.os.freebsd.devel.ports
Message-ID <[email protected]>
On Tue, 26 Aug 2025, Mark Felder wrote:

> If someone could figure out a way to dynamically patch the class in the jar file -- either manually with a script the porter needs to run or as part of the port itself -- I'll pay out a $200 bounty. It would remove a lot of tedious pain when doing updates. I don't think it's possible though.

What about something like the below. Requires xxd and jar.

JARFILE=../Omada_SDN_Controller_v5.15.24.19_linux_x64/lib/omada-common-5.15.24.19.jar
ISLINUXOS_CLASS="com/tplink/smb/omada/common/util/S.class"

check() {
 	unzip -p "${JARFILE}" "${ISLINUXOS_CLASS}" | xxd -p -c 0 |
 	grep -q 02000969734c696e75784f53 || { echo >&2 "\"${ISLINUXOS_CLASS}\" does not check for Linux"; exit 1; }

patch() {
 	new_class_dir=`mktemp -d`
 	trap 'rm -rf -- "${new_class_dir}"' EXIT
 	dest_dir=`dirname "${ISLINUXOS_CLASS}"`
 	mkdir -p "${new_class_dir}/${dest_dir}"
 	unzip -p "${JARFILE}" "${ISLINUXOS_CLASS}" | xxd -p -c 0 | {
 		sed -e s,0100056c696e7578,01000766726565627364,
 	} | xxd -r -p > "${new_class_dir}/${ISLINUXOS_CLASS}"
 	jar uf "${JARFILE}" -C "${new_class_dir}" "${ISLINUXOS_CLASS}"
}
check && patch

Can't test if this really works at the moment, should update the omada-common-5.15.24.19.jar file in place. If "check" fails, we need to figure out whether the Linux-checking function has been moved, renamed or discarded.

Marcin
smime.p7s (application/pkcs7-signature, 3.6 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.