diff --git a/dgl/rlgwebd-compat.patch b/dgl/rlgwebd-compat.patch index 6a3d639..4103e4d 100644 --- a/dgl/rlgwebd-compat.patch +++ b/dgl/rlgwebd-compat.patch @@ -1,5 +1,5 @@ diff --git a/dgamelaunch.c b/dgamelaunch.c -index fbf6ef5..b52b545 100644 +index a52812d..6107851 100644 --- a/dgamelaunch.c +++ b/dgamelaunch.c @@ -1489,7 +1489,10 @@ int @@ -43,17 +43,21 @@ index fbf6ef5..b52b545 100644 if (dowrite) writefile (0); -@@ -2053,6 +2076,8 @@ passwordgood (char *cpw) - { +@@ -2054,6 +2077,12 @@ passwordgood (char *cpw) + char *crypted; assert (me != NULL); -+ if (!strncmp (crypt (cpw, me->password), me->password, DGL_PASSWDLEN)) ++ crypted = crypt (cpw, me->password); ++ if (crypted == NULL) ++ return 0; ++ if (!strncmp (crypted, me->password, DGL_PASSWDLEN)) + return 1; - if (!strncmp (crypt (cpw, cpw), me->password, DGL_PASSWDLEN)) - return 1; - if (!strncmp (cpw, me->password, DGL_PASSWDLEN)) ++ + crypted = crypt (cpw, cpw); + if (crypted == NULL) + return 0; diff --git a/dgamelaunch.h b/dgamelaunch.h -index b9ce41c..ca5e11b 100644 +index e298adf..411c7c3 100644 --- a/dgamelaunch.h +++ b/dgamelaunch.h @@ -20,7 +20,7 @@ @@ -66,10 +70,10 @@ index b9ce41c..ca5e11b 100644 #define DGL_MAXWATCHCOLS 10 diff --git a/dgl-common.c b/dgl-common.c -index e5c80bc..fbc4eea 100644 +index 80560b5..94f7b69 100644 --- a/dgl-common.c +++ b/dgl-common.c -@@ -593,7 +593,7 @@ game_read_extra_info(struct dg_game *game, const char *extra_info_file) +@@ -608,7 +608,7 @@ game_read_extra_info(struct dg_game *game, const char *extra_info_file) struct dg_game ** populate_games (int xgame, int *l, struct dg_user *me) { @@ -78,7 +82,7 @@ index e5c80bc..fbc4eea 100644 DIR *pdir; struct dirent *pdirent; struct stat pstat; -@@ -631,13 +631,15 @@ populate_games (int xgame, int *l, struct dg_user *me) +@@ -646,13 +646,15 @@ populate_games (int xgame, int *l, struct dg_user *me) if (!inprog) continue; @@ -95,7 +99,7 @@ index e5c80bc..fbc4eea 100644 { char *ttrecdir = NULL; strncpy(playername, pdirent->d_name, DGL_PLAYERNAMELEN); -@@ -651,6 +653,9 @@ populate_games (int xgame, int *l, struct dg_user *me) +@@ -666,6 +668,9 @@ populate_games (int xgame, int *l, struct dg_user *me) graceful_exit(145); } replacestr++; @@ -105,7 +109,7 @@ index e5c80bc..fbc4eea 100644 ttrecdir = dgl_format_str(game, me, myconfig[game]->ttyrecdir, playername); if (!ttrecdir) continue; -@@ -673,6 +678,8 @@ populate_games (int xgame, int *l, struct dg_user *me) +@@ -688,6 +693,8 @@ populate_games (int xgame, int *l, struct dg_user *me) strlcpy (games[len]->name, pdirent->d_name, strlen (pdirent->d_name) + 1);