Fix ipbuf size in count_users().
[ircu2.10.12-pk.git] / ircd / umkpasswd.c
index bf2a075aa48832b5c121ea53714a68861ecb743f..27668bfea9e89d2efc8796f4f037eba5cca31d84 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 #include <time.h>
-#include <assert.h>
+/* #include <assert.h> -- Now using assert in ircd_log.h */
 
 /* ircu headers */
 #include "ircd_alloc.h"
+#include "ircd_log.h" /* for ircd's assert.h */
 #include "ircd_string.h"
 #include "umkpasswd.h"
 #include "s_debug.h"
 /* bleah, evil globals */
 umkpasswd_conf_t* umkpasswd_conf;
 crypt_mechs_t* crypt_mechs_root;
+int log_inassert = 0;
+time_t CurrentTime;
+
+void sendto_opmask_butone(struct Client *one, unsigned int mask,
+                         const char *pattern, ...)
+{
+  /* only needed with memdebug, which also calls Debug() */
+}
 
 void copyright(void)
 {
@@ -94,13 +103,24 @@ int err = errno;
   errno = err;
 }
 
+/* quick implementation of log_write() for assert() call */
+void log_write(enum LogSys subsys, enum LogLevel severity,
+              unsigned int flags, const char *fmt, ...)
+{
+  va_list vl;
+  va_start(vl, fmt);
+  vfprintf(stderr, fmt, vl);
+  fprintf(stderr, "\n");
+  va_end(vl);
+}
+
 /* quick and dirty salt generator */
 char *make_salt(const char *salts)
 {
 char *tmp = NULL;
 long int n = 0;
 
- /* try and get around them running this time after time in quick sucession */
+ /* try and get around them running this time after time in quick succession */
  sleep(1);
  srandom((unsigned int)time(NULL));
 
@@ -120,12 +140,12 @@ long int n = 0;
 return tmp;
 }
 
-/* our implemenation of ircd_crypt_register_mech() */
+/* our implementation of ircd_crypt_register_mech() */
 int ircd_crypt_register_mech(crypt_mech_t* mechanism)
 {
 crypt_mechs_t* crypt_mech;
 
- Debug((DEBUG_INFO, "ircd_crypt_register_mech: resistering mechanism: %s", mechanism->shortname));
+ Debug((DEBUG_INFO, "ircd_crypt_register_mech: registering mechanism: %s", mechanism->shortname));
 
  /* try to allocate some memory for the new mechanism */
  if ((crypt_mech = (crypt_mechs_t*)MyMalloc(sizeof(crypt_mechs_t))) == NULL)
@@ -155,7 +175,7 @@ crypt_mechs_t* crypt_mech;
  }
 
  /* we're done */
- Debug((DEBUG_INFO, "ircd_crypt_register_mech: resistered mechanism: %s, crypt_function is at 0x%X.", crypt_mech->mech->shortname, &crypt_mech->mech->crypt_function));
+ Debug((DEBUG_INFO, "ircd_crypt_register_mech: registered mechanism: %s, crypt_function is at 0x%X.", crypt_mech->mech->shortname, &crypt_mech->mech->crypt_function));
  Debug((DEBUG_INFO, "ircd_crypt_register_mech: %s: %s", crypt_mech->mech->shortname, crypt_mech->mech->description));
 
 return 0;
@@ -198,10 +218,10 @@ unsigned char buffer[1024], digest[16];
 
  if (NULL == (file = fopen(tmp, "r")))
   exit(0);
- MD5Name(MD5Init)(&context);
+ MD5Init(&context);
  while ((len = fread (buffer, 1, 1024, file)))
-  MD5Name(MD5Update)(&context, buffer, len);
- MD5Name(MD5Final)(digest, &context);
+  MD5Update(&context, buffer, len);
+ MD5Final(digest, &context);
  fclose(file);
 
  printf("%s: ", basename_into(tmp, (char*)buffer));
@@ -290,7 +310,7 @@ char* salt, *untagged, *tagged;
  salt = make_salt(default_salts);
 
  untagged = (char *)CryptFunc(crypt_mech->mech)(pw, salt);
- tagged = (char *)MyMalloc(strlen(salt)+CryptTokSize(crypt_mech->mech)+1);
+ tagged = (char *)MyMalloc(strlen(untagged)+CryptTokSize(crypt_mech->mech)+1);
  memset(tagged, 0, strlen(untagged)+CryptTokSize(crypt_mech->mech)+1);
  strncpy(tagged, CryptTok(crypt_mech->mech), CryptTokSize(crypt_mech->mech));
  strncpy(tagged+CryptTokSize(crypt_mech->mech), untagged, strlen(untagged));
@@ -336,9 +356,9 @@ const char* options = "a:d:lm:u:y:5:";
    break;
 
    case 'u':
-    if(umkpasswd_conf->flags && ACT_UPDOPER)
+    if(umkpasswd_conf->flags & ACT_ADDOPER)
     {
-     fprintf(stderr, "-a and -u are mutually exclussive.  Use either or neither.\n");
+     fprintf(stderr, "-a and -u are mutually exclusive.  Use either or neither.\n");
      abort(); /* b0rk b0rk b0rk */
     }
 
@@ -367,9 +387,9 @@ const char* options = "a:d:lm:u:y:5:";
    break;
 
    case 'a':
-    if(umkpasswd_conf->flags && ACT_UPDOPER) 
+    if(umkpasswd_conf->flags & ACT_UPDOPER) 
     {
-     fprintf(stderr, "-a and -u are mutually exclussive.  Use either or neither.\n");
+     fprintf(stderr, "-a and -u are mutually exclusive.  Use either or neither.\n");
      abort(); /* b0rk b0rk b0rk */
     }