Index: pynslcd/shadow.py =================================================================== --- pynslcd/shadow.py (revision 1749) +++ pynslcd/shadow.py (arbetskopia) @@ -104,7 +104,10 @@ action = constants.NSLCD_ACTION_SHADOW_BYNAME def read_parameters(self, fp): - return dict(uid=fp.read_string()) + name = fp.read_string() + if name != '*': + common.validate_name(name) + return dict(uid=name) class ShadowAllRequest(ShadowRequest): Index: pynslcd/group.py =================================================================== --- pynslcd/group.py (revision 1749) +++ pynslcd/group.py (arbetskopia) @@ -126,8 +126,9 @@ def read_parameters(self, fp): name = fp.read_string() - common.validate_name(name) - return dict(cn=name) + if name != '*': + common.validate_name(name) + return dict(cn=name) class GroupByGidRequest(GroupRequest): Index: pynslcd/passwd.py =================================================================== --- pynslcd/passwd.py (revision 1749) +++ pynslcd/passwd.py (arbetskopia) @@ -84,8 +84,9 @@ def read_parameters(self, fp): name = fp.read_string() - common.validate_name(name) - return dict(uid=name) + if name != '*': + common.validate_name(name) + return dict(uid=name) class PasswdByUidRequest(PasswdRequest):