*: *Do not write code to create or parse sinful strings.* Sinful strings are now weird and complex beasts and you will almost certainly miss important edge cases. Use the existing interfaces. You probably want condor_sockaddr::to_sinful or condor_sockaddr::from_sinful. -*: *Do not use sockaddr_in or sockaddr_in6.* condor_sockaddr exists specifically to shield you from needing to worry about those. +*: *Do not use sockaddr_in or sockaddr_in6.* condor_sockaddr exists specifically to shield you from needing to worry about those. Functions which take sockaddr_in or sockaddr_in6 will generally have a condor_X version which takes a condor_sockaddr instead.