This entire plist business is messy, but by default the port is
retrieved from settings as a 64-bit long long. Now, setting it later
causes it to be cast back to uint16_t, which ruins all calls _after_
the call to link::init_link(), the only cure I see is to forcedly cast
it back to long long when setting.