Dominic Böttger

← Back to blog

Published on November 29, 2020 by Dominic Böttger · 2 min read

At our company (INSPIRATIONLABS – New Work Technologies) we help our customers get the right infrastructure for their business and to make the lives of their employees better by giving them the right tools for their job. Sometimes it simply starts with the migration from an IMAP server to a cloud solution like Office 365.

Last week we had the problem that we had to migrate from an IMAP server that had TLS older than 1.2 deactivated (which is a good thing). AvePoint Fly was unable to contact the server. I contacted AvePoint support, but they did not know the problem yet. So, I checked out the structure of the AvePoint application and found out that it is based on .NET 4. Then I figured out that when the application is targeted to a .NET version < 4.7 there are problems with TLS 1.2. As I had no access to their codebase, I had to figure out which config in the project needs to be adjusted.

The Workaround

  1. ImapMigration.exe.config - Add the line:

    <AppContextSwitchOverrides value="Switch.System.Net.DontEnableSystemDefaultTlsVersions=false"/>

    Location: C:\Program Files\APElements\FLY\Agent\bin\ImapMigration.exe.config

  2. TimerService.exe.config - Add the same line:

    <AppContextSwitchOverrides value="Switch.System.Net.DontEnableSystemDefaultTlsVersions=false"/>

    Location: C:\Program Files\APElements\FLY\Manager\Control\bin\TimerService.exe.config

  3. Restart the Fly Agent and Fly Timer Service.

After this we were able to contact the source IMAP server and start the Migration.

References

Transport Layer Security (TLS) best practices with the .NET Framework

Written by Dominic Böttger

← Back to blog
  • Syncing SharePoint and OneDrive on Arch Linux with One Click

    Syncing SharePoint and OneDrive on Arch Linux with One Click

    Set up Microsoft SharePoint and OneDrive sync on Arch Linux using abraunegg/onedrive. Includes a protocol handler script that makes the "Sync" button in SharePoint work natively, with automatic drive detection and systemd background sync.

  • From Sequential to Parallel: Adding Agent Teams to Spec Kit

    From Sequential to Parallel: Adding Agent Teams to Spec Kit

    How we extended Spec Kit with a new /speckit.team-implement command that auto-detects parallel work streams from your task list and spawns specialized AI agent teams to implement features simultaneously -- complete source code, algorithm walkthrough, and usage guide.

  • Building a Private Claude Code Plugin Marketplace for Your Team

    Building a Private Claude Code Plugin Marketplace for Your Team

    Learn how to structure a private Claude Code plugin marketplace for your team, including repository layout, naming conventions, and how to register local or remote marketplaces.

  • Spec Kit + Ralph Loop: Solving AI Context Exhaustion in Large Features

    Spec Kit + Ralph Loop: Solving AI Context Exhaustion in Large Features

    How we combined Spec Kit's structured planning with Ralph Wiggum's fresh context methodology to build an AI-powered development loop that can implement features of any size without context pollution.

  • Mistral Releases Vibe CLI and Devstral 2: Open-Source AI Coding Goes Next Level

    Mistral Releases Vibe CLI and Devstral 2: Open-Source AI Coding Goes Next Level

    Mistral AI launches Vibe CLI and Devstral 2, bringing powerful open-source AI coding assistance to your terminal. Learn how to install and get started with these game-changing tools.

  • Auto Dark Mode on Linux Based on Real Sunrise and Sunset

    Auto Dark Mode on Linux Based on Real Sunrise and Sunset

    Set up automatic theme switching on Linux that follows the real sunrise and sunset times for your location, not just fixed schedules. Complete guide for Hyprland/Omarchy with systemd timers.