*** irc2.8.14/ircd/s_user.c.orig Thu Jan 1 10:00:00 1970 --- irc2.8.14/ircd/s_user.c Sat Oct 9 11:04:44 1993 *************** *** 1037,1043 **** char *p = NULL; int found; ! if (check_registered(sptr)) return 0; if (parc < 2) --- 1037,1043 ---- char *p = NULL; int found; ! if (check_registered_user(sptr)) return 0; if (parc < 2) *************** *** 1633,1643 **** extern char *crypt(); #endif /* CRYPT_OPER_PASSWORD */ name = parc > 1 ? parv[1] : NULL; password = parc > 2 ? parv[2] : NULL; ! if (MyClient(sptr) && (BadPtr(name) || BadPtr(password))) { sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, parv[0], "OPER"); --- 1633,1645 ---- extern char *crypt(); #endif /* CRYPT_OPER_PASSWORD */ + if (check_registered_user(sptr)) + return 0; name = parc > 1 ? parv[1] : NULL; password = parc > 2 ? parv[2] : NULL; ! if (!IsServer(cptr) && (BadPtr(name) || BadPtr(password))) { sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, parv[0], "OPER"); *************** *** 1678,1689 **** /* use first two chars of the password they send in as salt */ /* passwd may be NULL. Head it off at the pass... */ ! salt[0]='\0'; ! if(password) { ! salt[0]=aconf->passwd[0]; ! salt[1]=aconf->passwd[1]; ! salt[2]='\0'; encr = crypt(password, salt); } else --- 1680,1691 ---- /* use first two chars of the password they send in as salt */ /* passwd may be NULL. Head it off at the pass... */ ! salt[0] = '\0'; ! if (password && aconf->passwd) { ! salt[0] = aconf->passwd[0]; ! salt[1] = aconf->passwd[1]; ! salt[2] = '\0'; encr = crypt(password, salt); } else *************** *** 1816,1826 **** Reg1 char *s; Reg2 int i, len; - if (parc > 2) - (void)m_userhost(cptr, sptr, parc-1, parv+1); - if (check_registered(sptr)) return 0; if (parc < 2) { --- 1818,1828 ---- Reg1 char *s; Reg2 int i, len; if (check_registered(sptr)) return 0; + + if (parc > 2) + (void)m_userhost(cptr, sptr, parc-1, parv+1); if (parc < 2) {