]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
filter_username applies only if there is a User-Name
authorAlan T. DeKok <aland@freeradius.org>
Thu, 31 Dec 2015 00:38:05 +0000 (19:38 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 31 Dec 2015 00:53:42 +0000 (19:53 -0500)
raddb/policy.d/filter

index 080b4ff6139a6b9ad6702be7f4109ad8dba2e5ef..9bdee4c50e0977c38e1475c5167b8546db406f79 100644 (file)
@@ -16,81 +16,79 @@ deny_realms {
 #  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
        }
 }