# what constitutes a user name.
#
filter_username {
- if (!&User-Name) {
- noop
- }
-
- #
- # reject mixed case e.g. "UseRNaMe"
- #
- #if (&User-Name != "%{tolower:%{User-Name}}") {
- # reject
- #}
+ if (&User-Name) {
+ #
+ # reject mixed case e.g. "UseRNaMe"
+ #
+ #if (&User-Name != "%{tolower:%{User-Name}}") {
+ # reject
+ #}
- #
- # reject all whitespace
- # e.g. "user@ site.com", or "us er", or " user", or "user "
- #
- if (&User-Name =~ / /) {
- update reply {
- &Reply-Message += 'Rejected: Username contains whitespace'
+ #
+ # reject all whitespace
+ # e.g. "user@ site.com", or "us er", or " user", or "user "
+ #
+ if (&User-Name =~ / /) {
+ update reply {
+ &Reply-Message += 'Rejected: Username contains whitespace'
+ }
+ reject
}
- reject
- }
- #
- # reject Multiple @'s
- # e.g. "user@site.com@site.com"
- #
- if (&User-Name =~ /@[^@]*@/ ) {
- update reply {
- &Reply-Message += 'Rejected: Multiple @ in username'
+ #
+ # reject Multiple @'s
+ # e.g. "user@site.com@site.com"
+ #
+ if (&User-Name =~ /@[^@]*@/ ) {
+ update reply {
+ &Reply-Message += 'Rejected: Multiple @ in username'
+ }
+ reject
}
- reject
- }
- #
- # reject double dots
- # e.g. "user@site..com"
- #
- if (&User-Name =~ /\.\./ ) {
- update reply {
- &Reply-Message += 'Rejected: Username contains ..s'
+ #
+ # reject double dots
+ # e.g. "user@site..com"
+ #
+ if (&User-Name =~ /\.\./ ) {
+ update reply {
+ &Reply-Message += 'Rejected: Username contains ..s'
+ }
+ reject
}
- reject
- }
- #
- # must have at least 1 string-dot-string after @
- # e.g. "user@site.com"
- #
- if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
- update reply {
- &Reply-Message += 'Rejected: Realm does not have at least one dot separator'
+ #
+ # must have at least 1 string-dot-string after @
+ # e.g. "user@site.com"
+ #
+ if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
+ update reply {
+ &Reply-Message += 'Rejected: Realm does not have at least one dot separator'
+ }
+ reject
}
- reject
- }
- #
- # Realm ends with a dot
- # e.g. "user@site.com."
- #
- if (&User-Name =~ /\.$/) {
- update reply {
- &Reply-Message += 'Rejected: Realm ends with a dot'
+ #
+ # Realm ends with a dot
+ # e.g. "user@site.com."
+ #
+ if (&User-Name =~ /\.$/) {
+ update reply {
+ &Reply-Message += 'Rejected: Realm ends with a dot'
+ }
+ reject
}
- reject
- }
- #
- # Realm begins with a dot
- # e.g. "user@.site.com"
- #
- if (&User-Name =~ /@\./) {
- update reply {
- &Reply-Message += 'Rejected: Realm begins with a dot'
+ #
+ # Realm begins with a dot
+ # e.g. "user@.site.com"
+ #
+ if (&User-Name =~ /@\./) {
+ update reply {
+ &Reply-Message += 'Rejected: Realm begins with a dot'
+ }
+ reject
}
- reject
}
}