+ int snprintf_return;
+ static char addr[BUFSIZ];
+
+ if (username == NULL)
+ username = getusername();
+
+ if (username_extension_masquerading) {
+ /* mts.conf contains "masquerade:[...]username_extension[...]", so tack
+ on the value of the $USERNAME_EXTENSION environment variable, if set,
+ to username. */
+ char* extension = getenv("USERNAME_EXTENSION");
+ static char username_with_extension[BUFSIZ];
+
+ if (extension != NULL && *extension != '\0') {
+ snprintf_return = snprintf(username_with_extension,
+ sizeof(username_with_extension),
+ "%s%s", username, extension);
+
+ if (snprintf_return < 0 ||
+ snprintf_return >= sizeof(username_with_extension))
+ adios(NULL, "snprintf() error writing username (%d chars) and"
+ " $USERNAME_EXTENSION (%d chars) to array of BUFSIZ (%d)"
+ " chars",
+ strlen(username), strlen(extension), BUFSIZ);
+
+ username = username_with_extension;
+ }
+ }