#include "putty.h" #include "misc.h" void seat_antispoof_msg(Seat *seat, const char *msg) { strbuf *sb = strbuf_new(); seat_set_trust_status(seat, true); if (seat_can_set_trust_status(seat)) { /* * If the seat can directly indicate that this message is * generated by the client, then we can just use the message * unmodified as an unspoofable header. */ put_datapl(sb, ptrlen_from_asciz(msg)); } else { /* * Otherwise, add enough padding around it that the server * wouldn't be able to mimic it within our line-length * constraint. */ strbuf_catf(sb, "-- %s ", msg); while (sb->len < 78) put_byte(sb, '-'); } put_datapl(sb, PTRLEN_LITERAL("\r\n")); seat_banner_pl(seat, ptrlen_from_strbuf(sb)); strbuf_free(sb); }