Explaining OAuth2.StartAuth

This post explains the OAuth2 flow for desktop apps.   It begins by calling OAuth2.StartAuth. The oauth2.StartAuth method does two things: 1) Returns a URL that should be displayed in a browser. 2) Starts a background thread to receive the redirect callback from the browser. The flow of control is like this: 1) The browser (popped up and displayed by the […]

iPad Simulator: Undefined symbols for architecture x86_64: _readdir$INODE64

Question: We are currently seeing the following error when we run the build on iPad Simulator Undefined symbols for architecture x86_64: “_readdir$INODE64”, referenced from: _ckFileList2::addDirNonRecursive2(int, FileMatchingSpec&, ExtPtrArrayXs&, ProgressMonitor*, LogBase&) in libchilkatIos.a(fileList.o) _ckFindFile::advancePositionLinux(char const*, LogBase&) in libchilkatIos.a(fileList.o) “_opendir$INODE64”, referenced from: _ckFindFile::ffOpenDir2(XString&, LogBase&) in libchilkatIos.a(fileList.o) _ckFileList2::addDirNonRecursive2(int, FileMatchingSpec&, ExtPtrArrayXs&, ProgressMonitor*, LogBase&) in libchilkatIos.a(fileList.o) ld: symbol(s) not found for architecture x86_64 Answer: You can […]

Android Java .so Shared Lib sizes, and Android C++ Linker Options to Minimize Size

The Chilkat v9.5.0.79 version reduces the size of the Android Java .so shared libs by approximately 24%. For example, the armv7l lib is reduced from 9.86MB to 7.56MB. For developers writing C++ code in Android (i.e. using the Android C++ libs downloaded from https://www.chilkatsoft.com/chilkatAndroidCpp.asp), you’ll want to include the following linker options when linking with the Chilkat static libs: -Wl,–gc-sections,–icf=safe […]

Getting Started with Chilkat in the Go Language (Linux 64-bit)

This is a walkthrough for getting a “Hello World” working with Chilkat in the Go programming language. We’ll start from scratch by downloading Go and getting a simple Hello World Go example working. Then we’ll install Chilkat and build and run an example program. (1) My Go language installation will be in ~/langDists/go. cd ~ mkdir langDists cd langDists (2) […]

Electron: Uncaught Error: A dynamic link library (DLL) initialization routine failed.

Customer problem: Hi having trouble getting @chilkat/ck-electron4-win64 working. Im getting this error: Uncaught Error: A dynamic link library (DLL) initialization routine failed.\\?\C:\Users\User\Documents\xyz\node_modules\@chilkat\ck-electron4-win64\chilkat.node Resolution: I’m unable to reproduce the problem. Here are the steps taken to install Electron 4.0.4 and use Chilkat from scratch… using the Electron quick start as shown here:  https://github.com/electron/electron-quick-start (1) Start the GitHub Bash shell (2) Go to […]

XML Signature / Canonicalization Bug in Widely Used Software

Chilkat has found what it believes to be a bug in the internal XML canonicalization functionality in some other software systems. Chilkat’s XML canonicalization is correct, whereas some other established implementations are incorrect. Chilkat is adding a Behavior in v9.5.0.79 to allow for the bug to be reproduced so that XML signatures produced by Chilkat are compatible with these particular […]

Downloading Super-Huge Files via FTP, SFTP, Http, etc.

It seems that more and more nowadays, Chilkat has customers needing to download gigantic files (many Gigabytes) using various protocols such as SFTP, FTP, or HTTP. These downloads can take a long time, even with a very good transfer rate. The longer the download time, the higher the probability that something goes wrong: network congestion, connectivity issues, server problems, etc. […]

Updating SSH Server (sshd) on MacOSX to require both password and public key authentication…

To update the sshd on macosx to require both password and public-key authentication, do the following… Go to /etc/ssh Edit sshd_config and add the following line: AuthenticationMethods publickey,password If the PasswordAuthentication line exists, make sure it is commented out: #PasswordAuthentication yes Restart the server by running these two commands: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist