aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authoronefang2022-07-17 14:35:45 +1000
committeronefang2022-07-17 14:35:45 +1000
commit80d5ca4bf1250ded0a4614d558165619cb8b39f1 (patch)
tree1f1615ef21ccd41e5d8804b5ce14daa899a8382c
parentUpdate link to libsignal. (diff)
downloadopensim-SC-80d5ca4bf1250ded0a4614d558165619cb8b39f1.zip
opensim-SC-80d5ca4bf1250ded0a4614d558165619cb8b39f1.tar.gz
opensim-SC-80d5ca4bf1250ded0a4614d558165619cb8b39f1.tar.bz2
opensim-SC-80d5ca4bf1250ded0a4614d558165619cb8b39f1.tar.xz
Spellung foxes, thanks to codespell.
-rw-r--r--src/sledjchisl/sledjchisl.c82
1 files changed, 41 insertions, 41 deletions
diff --git a/src/sledjchisl/sledjchisl.c b/src/sledjchisl/sledjchisl.c
index cddb167..0f05001 100644
--- a/src/sledjchisl/sledjchisl.c
+++ b/src/sledjchisl/sledjchisl.c
@@ -23,7 +23,7 @@ config SLEDJCHISL
23 start Welcome.shini 23 start Welcome.shini
24 start "Welcome sim" 24 start "Welcome sim"
25 Start a sim or everything. 25 Start a sim or everything.
26 -q when starting everything wont show the tmux console. 26 -q when starting everything won't show the tmux console.
27 backup 27 backup
28 backup -m 28 backup -m
29 backup -m "Joan Smith" 29 backup -m "Joan Smith"
@@ -78,7 +78,7 @@ config SLEDJCHISL
78 78
79// TODO - remember to rebuild all of toybox if any of the above changes. 79// TODO - remember to rebuild all of toybox if any of the above changes.
80// Toybox's strend overrides another strend that causes MariaDB library to crash. Renaming it to tb_strend helps. 80// Toybox's strend overrides another strend that causes MariaDB library to crash. Renaming it to tb_strend helps.
81// I deal with that by using a sed invokation when building toybox. 81// I deal with that by using a sed invocation when building toybox.
82#define FOR_sledjchisl 82#define FOR_sledjchisl
83#include "toys.h" 83#include "toys.h"
84 84
@@ -117,7 +117,7 @@ They are obsolete now, should remove them.
117#else 117#else
118extern char **environ; 118extern char **environ;
119#endif 119#endif
120// Don't overide standard stdio stuff. 120// Don't override standard stdio stuff.
121#define NO_FCGI_DEFINES 121#define NO_FCGI_DEFINES
122#include <fcgi_stdio.h> 122#include <fcgi_stdio.h>
123#undef NO_FCGI_DEFINES 123#undef NO_FCGI_DEFINES
@@ -144,7 +144,7 @@ extern char **environ;
144#include "lib/json-builder.h" 144#include "lib/json-builder.h"
145 145
146// Both my_config.h and fcgi_config.h define the same PACKAGE* variables, which we don't use anyway, 146// Both my_config.h and fcgi_config.h define the same PACKAGE* variables, which we don't use anyway,
147// I deal with that by using a sed invokation when building fcgi2. 147// I deal with that by using a sed invocation when building fcgi2.
148 148
149// https://mariadb.com/kb/en/about-mariadb-connector-c/ Official docs. 149// https://mariadb.com/kb/en/about-mariadb-connector-c/ Official docs.
150// http://dev.mysql.com/doc/refman/5.5/en/c-api-function-overview.html MySQL docs. 150// http://dev.mysql.com/doc/refman/5.5/en/c-api-function-overview.html MySQL docs.
@@ -571,7 +571,7 @@ qlist_t *dbRequests;
571 571
572// TODO - log to file. The problem is we don't know where to log until after we have loaded the configs, and before that we are spewing log messages. 572// TODO - log to file. The problem is we don't know where to log until after we have loaded the configs, and before that we are spewing log messages.
573// Now that we are using spawn-fcgi, all the logs are going to STDERR, which we can capture and write to a file. 573// Now that we are using spawn-fcgi, all the logs are going to STDERR, which we can capture and write to a file.
574// Unfortunately spawn-fcgi in deamon mode sends all the output to /dev/null or something. 574// Unfortunately spawn-fcgi in daemon mode sends all the output to /dev/null or something.
575// A better idea, when we spawn tmux or spawn-fcgi, capture STDERR, full log everything to that, filtered log to the tmux console (STDOUT). 575// A better idea, when we spawn tmux or spawn-fcgi, capture STDERR, full log everything to that, filtered log to the tmux console (STDOUT).
576// Then we can use STDOUT / STDIN to run the console stuff. 576// Then we can use STDOUT / STDIN to run the console stuff.
577 577
@@ -2297,7 +2297,7 @@ void startSim(simData *simd, char *sim, char *type, int count, int window, int p
2297 } 2297 }
2298 else 2298 else
2299 { 2299 {
2300// TODO - some compromise, do a premptive load check if we are not doing a wait anyway. 2300// TODO - some compromise, do a preemptive load check if we are not doing a wait anyway.
2301 } 2301 }
2302 ourSims->doIt = ((count + 1) % bulkSims); 2302 ourSims->doIt = ((count + 1) % bulkSims);
2303 } 2303 }
@@ -2342,9 +2342,9 @@ void stopSim(simData *simd, char *sim, char *type, int count, int window, int pa
2342 // There's three things that might happen - 2342 // There's three things that might happen -
2343 // Sim will quit, tmux pane will go away before we can see the shutdown message. 2343 // Sim will quit, tmux pane will go away before we can see the shutdown message.
2344 // pane-exited hook might be useful here. 2344 // pane-exited hook might be useful here.
2345 // Sim will quit, tmux pane wont go away. Dunno yet if waitTmuxText() will still work. 2345 // Sim will quit, tmux pane won't go away. Dunno yet if waitTmuxText() will still work.
2346 // pane-died hook might be useful here. 2346 // pane-died hook might be useful here.
2347 // Sim fails to quit, error message on the pane that we want to read, wont see the shutdown message. 2347 // Sim fails to quit, error message on the pane that we want to read, won't see the shutdown message.
2348 // Also sim might not have finished starting up, and may even not be accepting comands yet. 2348 // Also sim might not have finished starting up, and may even not be accepting comands yet.
2349// TODO - cater for and test them all. 2349// TODO - cater for and test them all.
2350// Could also loop on checkSimIsRunning(sim) 2350// Could also loop on checkSimIsRunning(sim)
@@ -2391,8 +2391,8 @@ void gitar(simData *simd, char *sim, int count, int window, int panes, int pane,
2391 /* Work around OpenSims slow database corruption bug by using git to store all old backups. 2391 /* Work around OpenSims slow database corruption bug by using git to store all old backups.
2392 Try to squeeze every last byte out of the tarballs. Seems to cut the total storage size down to one third the size of just the raw I/OAR files. 2392 Try to squeeze every last byte out of the tarballs. Seems to cut the total storage size down to one third the size of just the raw I/OAR files.
2393 Saves even more if there's been no changes. 2393 Saves even more if there's been no changes.
2394 On the other hand, these backup files will grow indefinately, the more changes, the faster it grows. I can live with that for more reliable backups that go back further. 2394 On the other hand, these backup files will grow indefinitely, the more changes, the faster it grows. I can live with that for more reliable backups that go back further.
2395 Tries to avoid loosing data if things go wrong. I think the main remaining problem would be running out of space, in which case you have bigger problems to deal with. 2395 Tries to avoid losing data if things go wrong. I think the main remaining problem would be running out of space, in which case you have bigger problems to deal with.
2396 2396
2397 Strategy - unpack the last one, unpack and commit any old I/OARs, pack up the result, delete it's working directory, THEN run the save i/oar. 2397 Strategy - unpack the last one, unpack and commit any old I/OARs, pack up the result, delete it's working directory, THEN run the save i/oar.
2398 Avoids having to sync with OpenSim finishing the current I/OAR, and as a bonus, an easy to deliver latest I/OAR for people that want it. 2398 Avoids having to sync with OpenSim finishing the current I/OAR, and as a bonus, an easy to deliver latest I/OAR for people that want it.
@@ -2455,7 +2455,7 @@ TODO -
2455 if (strcmp(fullName, sim) != 0) 2455 if (strcmp(fullName, sim) != 0)
2456 ungitar(simd, fullName, count, window, panes, pane, FLAG(m), member, last); 2456 ungitar(simd, fullName, count, window, panes, pane, FLAG(m), member, last);
2457 ungitar(simd, sim, count, window, panes, pane, FLAG(m), member, last); 2457 ungitar(simd, sim, count, window, panes, pane, FLAG(m), member, last);
2458 if (!qfile_mkdir(dir, S_IRWXU | S_IRGRP | S_IXGRP, true)) E("Faild to make directory %s!", dir); 2458 if (!qfile_mkdir(dir, S_IRWXU | S_IRGRP | S_IXGRP, true)) E("Failed to make directory %s!", dir);
2459 if (shellMeFail("mv %s %s", gtr1, dir)) E("Failed to move %s!", gtr1); 2459 if (shellMeFail("mv %s %s", gtr1, dir)) E("Failed to move %s!", gtr1);
2460 if (qfile_exist(gtr)) 2460 if (qfile_exist(gtr))
2461 { 2461 {
@@ -2469,7 +2469,7 @@ TODO -
2469 { 2469 {
2470 I("Found ancient gitar %s", gtr1); 2470 I("Found ancient gitar %s", gtr1);
2471 ungitar(simd, sim, count, window, panes, pane, FLAG(m), member, last); 2471 ungitar(simd, sim, count, window, panes, pane, FLAG(m), member, last);
2472 if (!qfile_mkdir(dir, S_IRWXU | S_IRGRP | S_IXGRP, true)) E("Faild to make directory %s!", dir); 2472 if (!qfile_mkdir(dir, S_IRWXU | S_IRGRP | S_IXGRP, true)) E("Failed to make directory %s!", dir);
2473 if (shellMeFail("mv %s %s", gtr1, dir)) E("Failed to move %s!", gtr1); 2473 if (shellMeFail("mv %s %s", gtr1, dir)) E("Failed to move %s!", gtr1);
2474 if (qfile_exist(gtr)) 2474 if (qfile_exist(gtr))
2475 { 2475 {
@@ -2482,7 +2482,7 @@ TODO -
2482 // Either unpack the old gitAR, or create a new one. 2482 // Either unpack the old gitAR, or create a new one.
2483 if (!qfile_exist(dir)) 2483 if (!qfile_exist(dir))
2484 { 2484 {
2485 if (!qfile_mkdir(dir, S_IRWXU | S_IRGRP | S_IXGRP, true)) E("Faild to make directory %s!", dir); 2485 if (!qfile_mkdir(dir, S_IRWXU | S_IRGRP | S_IXGRP, true)) E("Failed to make directory %s!", dir);
2486 } 2486 }
2487 if (qfile_exist(gtr)) 2487 if (qfile_exist(gtr))
2488 { 2488 {
@@ -2511,8 +2511,8 @@ TODO -
2511 if (shellMeFail("cd %s/%s; git config user.email \"opensim@$(hostname -A | cut -d ' ' -f 1)\"", dir, gar)) E("Failed to git config user.email!"); 2511 if (shellMeFail("cd %s/%s; git config user.email \"opensim@$(hostname -A | cut -d ' ' -f 1)\"", dir, gar)) E("Failed to git config user.email!");
2512 if (shellMeFail("cd %s/%s; git config user.name \"opensim\"", dir, gar)) E("Failed to git config user.name!"); 2512 if (shellMeFail("cd %s/%s; git config user.name \"opensim\"", dir, gar)) E("Failed to git config user.name!");
2513 2513
2514 // Coz git insists on having something comitted before it can change the branch name. 2514 // Coz git insists on having something committed before it can change the branch name.
2515 if (-1 == qfile_save(gab, gad, strlen(gad), false)) E("Faild to write %s file!", gad); 2515 if (-1 == qfile_save(gab, gad, strlen(gad), false)) E("Failed to write %s file!", gad);
2516 if (shellMeFail("cd %s/%s; git add .gitattributes >>%s", dir, gar, gerr)) E("Failed to git add!"); 2516 if (shellMeFail("cd %s/%s; git add .gitattributes >>%s", dir, gar, gerr)) E("Failed to git add!");
2517 V("Committing initial git."); 2517 V("Committing initial git.");
2518 if (shellMeFail("cd %s/%s; git commit -qm \"Initial commit\" >>%s || echo \"ERROR - Could not commit!\" >>%s", 2518 if (shellMeFail("cd %s/%s; git commit -qm \"Initial commit\" >>%s || echo \"ERROR - Could not commit!\" >>%s",
@@ -2520,7 +2520,7 @@ TODO -
2520 if (shellMeFail("cd %s/%s; git branch -m master Domme >>%s", dir, gar, gerr)) E("Failed to git branch -m master Domme!"); 2520 if (shellMeFail("cd %s/%s; git branch -m master Domme >>%s", dir, gar, gerr)) E("Failed to git branch -m master Domme!");
2521 } 2521 }
2522 // Doing these each time, to catch those old ones that didn't have them. 2522 // Doing these each time, to catch those old ones that didn't have them.
2523 // Coz otherwise git commit starts a gc run IN THE BACKGROUD, which screws up trying to tarball it. 2523 // Coz otherwise git commit starts a gc run IN THE BACKGROUND, which screws up trying to tarball it.
2524 if (shellMeFail("cd %s/%s; git config gc.autodetach false", dir, gar)) E("Failed to git config gc.autodetach!"); 2524 if (shellMeFail("cd %s/%s; git config gc.autodetach false", dir, gar)) E("Failed to git config gc.autodetach!");
2525 // Don't want it running in the foreground either, coz it dumps on the console, we do a gc --quiet later anyway. 2525 // Don't want it running in the foreground either, coz it dumps on the console, we do a gc --quiet later anyway.
2526 if (shellMeFail("cd %s/%s; git config gc.auto 0", dir, gar)) E("Failed to git config gc.auto!"); 2526 if (shellMeFail("cd %s/%s; git config gc.auto 0", dir, gar)) E("Failed to git config gc.auto!");
@@ -2580,7 +2580,7 @@ TODO -
2580 // The \\* bit is to escape the \ from snprintf, which itself escapes the * from the shell. 2580 // The \\* bit is to escape the \ from snprintf, which itself escapes the * from the shell.
2581 if (shellMeFail("cd %s/%s; git add */\\* >>%s", dir, gar, gerr)) E("Failed to git add!"); 2581 if (shellMeFail("cd %s/%s; git add */\\* >>%s", dir, gar, gerr)) E("Failed to git add!");
2582 // Gotta add this again, coz of the rm. Apparently rm removes dotfiles, but add doesn't! 2582 // Gotta add this again, coz of the rm. Apparently rm removes dotfiles, but add doesn't!
2583 if (-1 == qfile_save(gab, gad, strlen(gad), false)) E("Faild to write %s file!", gab); 2583 if (-1 == qfile_save(gab, gad, strlen(gad), false)) E("Failed to write %s file!", gab);
2584 if (shellMeFail("cd %s/%s; git add .gitattributes >>%s", dir, gar, gerr)) E("Failed to git add!"); 2584 if (shellMeFail("cd %s/%s; git add .gitattributes >>%s", dir, gar, gerr)) E("Failed to git add!");
2585 2585
2586 // Magic needed to figure out if there's anything to commit. 2586 // Magic needed to figure out if there's anything to commit.
@@ -2645,7 +2645,7 @@ gitARend:
2645 2645
2646void ungitar(simData *simd, char *sim, int count, int window, int panes, int pane, int m, int member, char *last) 2646void ungitar(simData *simd, char *sim, int count, int window, int panes, int pane, int m, int member, char *last)
2647{ 2647{
2648/* Extact all the I/OAR files from a gitAR file. 2648/* Extract all the I/OAR files from a gitAR file.
2649 2649
2650 Gotta do it the hard way, OpenSim expects the "control file" to be first file in the archive. I guess that's archive.xml, which would normally end up last. 2650 Gotta do it the hard way, OpenSim expects the "control file" to be first file in the archive. I guess that's archive.xml, which would normally end up last.
2651 2651
@@ -3085,7 +3085,7 @@ void dbFreeFields(dbFields *flds, boolean all)
3085{ 3085{
3086 flds->count--; 3086 flds->count--;
3087 3087
3088// TODO - sigh, looks to be inconsistant why some do and some don't leak. 3088// TODO - sigh, looks to be inconsistent why some do and some don't leak.
3089// I guess the ones that don't leak are the ones that crash? 3089// I guess the ones that don't leak are the ones that crash?
3090// It's only a tiny leak anyway, 80 bytes total. 3090// It's only a tiny leak anyway, 80 bytes total.
3091// if ((0 >= flds->count) || all) // CRASHY 3091// if ((0 >= flds->count) || all) // CRASHY
@@ -3525,7 +3525,7 @@ t("Database timeout test %lf > %lf", ((t - n) / 1000000000.0), (dbTimeout / 2.0)
3525 } 3525 }
3526 if (0 == i) 3526 if (0 == i)
3527 { 3527 {
3528 E("Statement prepare for INSERT must have in paramaters."); 3528 E("Statement prepare for INSERT must have in parameters.");
3529 ret++; 3529 ret++;
3530 free(values); 3530 free(values);
3531 values = xmprintf(""); 3531 values = xmprintf("");
@@ -5262,10 +5262,10 @@ static void HTMLfooter(reqData *Rd)
5262 compare the level field to the linky type in the linky URL, new users -200 would be "../validateUser/.." and not "../resetPassword/.." 5262 compare the level field to the linky type in the linky URL, new users -200 would be "../validateUser/.." and not "../resetPassword/.."
5263. delete the linky token 5263. delete the linky token
5264. Particularly important for the forgotten password email, since now that token is in the wild, and is used to reset a password. 5264. Particularly important for the forgotten password email, since now that token is in the wild, and is used to reset a password.
5265 Which begs the question, other than being able to recieve the email, how do we tell it's them? 5265 Which begs the question, other than being able to receive the email, how do we tell it's them?
5266 Security questions suck, too easily guessed. 5266 Security questions suck, too easily guessed.
5267 Ask their DoB. Still sucky, coz "hey it's my birthday today" is way too leaky. 5267 Ask their DoB. Still sucky, coz "hey it's my birthday today" is way too leaky.
5268 This is what Multi Factor Autentication is good for, and that's on the TODO list. 5268 This is what Multi Factor Authentication is good for, and that's on the TODO list.
5269 Also, admins should have a harder time doing password resets. 5269 Also, admins should have a harder time doing password resets.
5270 Must be approved by another admin? 5270 Must be approved by another admin?
5271 Must log onto the server via other means to twiddle something there? 5271 Must log onto the server via other means to twiddle something there?
@@ -5504,10 +5504,10 @@ char *checkLinky(reqData *Rd)
5504 "You should add that email address to your contacts, or otherwise let it through your spam filter. &nbsp; " 5504 "You should add that email address to your contacts, or otherwise let it through your spam filter. &nbsp; "
5505 "It will be from %s@%s, and it might be in your spam folder, coz these sorts of emails sometimes end up there. &nbsp; " 5505 "It will be from %s@%s, and it might be in your spam folder, coz these sorts of emails sometimes end up there. &nbsp; "
5506 "You should add that email address to your contacts, or otherwise let it through your spam filter. &nbsp; " 5506 "You should add that email address to your contacts, or otherwise let it through your spam filter. &nbsp; "
5507 "If your email client wont let you click the validation link, just copy and paste it into your web browser. &nbsp; " 5507 "If your email client won't let you click the validation link, just copy and paste it into your web browser. &nbsp; "
5508 "If your email client wont let you click the validation link, just copy and paste it into your web browser. &nbsp; " 5508 "If your email client won't let you click the validation link, just copy and paste it into your web browser. &nbsp; "
5509 "If your email client wont let you click the validation link, just copy and paste it into your web browser. &nbsp; " 5509 "If your email client won't let you click the validation link, just copy and paste it into your web browser. &nbsp; "
5510 "If your email client wont let you click the validation link, just copy and paste it into your web browser. &nbsp; " 5510 "If your email client won't let you click the validation link, just copy and paste it into your web browser. &nbsp; "
5511// "<a href='https://%s%s?hashish=%s'>%s</a>" 5511// "<a href='https://%s%s?hashish=%s'>%s</a>"
5512 "</b></font></p>\n", 5512 "</b></font></p>\n",
5513 "grid_no_reply", Rd->Host, 5513 "grid_no_reply", Rd->Host,
@@ -5737,13 +5737,13 @@ t("Write shs %s", tnm4);
5737 "Please go to this web link to validate your new account -\n" 5737 "Please go to this web link to validate your new account -\n"
5738 "https://%s%s?hashish=%s\n" 5738 "https://%s%s?hashish=%s\n"
5739 "THE FOLLOWING IS REPEATED, COZ PEOPLE JUST DON'T FOLLOW DIRECTIONS!\n" 5739 "THE FOLLOWING IS REPEATED, COZ PEOPLE JUST DON'T FOLLOW DIRECTIONS!\n"
5740 "If your email client wont let you click the validation\n" 5740 "If your email client won't let you click the validation\n"
5741 "link, just copy and paste it into your web browser.\n" 5741 "link, just copy and paste it into your web browser.\n"
5742 "If your email client wont let you click the validation\n" 5742 "If your email client won't let you click the validation\n"
5743 "link, just copy and paste it into your web browser.\n" 5743 "link, just copy and paste it into your web browser.\n"
5744 "If your email client wont let you click the validation\n" 5744 "If your email client won't let you click the validation\n"
5745 "link, just copy and paste it into your web browser.\n" 5745 "link, just copy and paste it into your web browser.\n"
5746 "If your email client wont let you click the validation\n" 5746 "If your email client won't let you click the validation\n"
5747 "link, just copy and paste it into your web browser.\n" 5747 "link, just copy and paste it into your web browser.\n"
5748 "\n" 5748 "\n"
5749 "\n" 5749 "\n"
@@ -6452,7 +6452,7 @@ I("Validated session for %s.", shs->name);
6452 { 6452 {
6453V("Validated session linky."); 6453V("Validated session linky.");
6454 addStrL(Rd->messages, "Congratulations, you have validated your new account. Now you can log onto the web site."); 6454 addStrL(Rd->messages, "Congratulations, you have validated your new account. Now you can log onto the web site.");
6455 addStrL(Rd->messages, "NOTE - you wont be able to log onto the grid until your new account has been approved."); 6455 addStrL(Rd->messages, "NOTE - you won't be able to log onto the grid until your new account has been approved.");
6456 Rd->lnk = xzalloc(sizeof(sesh)); 6456 Rd->lnk = xzalloc(sizeof(sesh));
6457 Rd->lnk->status = SHS_NUKE; 6457 Rd->lnk->status = SHS_NUKE;
6458 qstrcpy(Rd->lnk->leaf, sizeof(Rd->lnk->leaf), leaf); 6458 qstrcpy(Rd->lnk->leaf, sizeof(Rd->lnk->leaf), leaf);
@@ -6741,7 +6741,7 @@ static int emailValidate(reqData *Rd, inputForm *iF, inputValue *iV)
6741 char *t0 = qurl_encode(email, strlen(email)); 6741 char *t0 = qurl_encode(email, strlen(email));
6742 6742
6743 // In theory it's the correct thing to do to NOT load email into stuff on failure, 6743 // In theory it's the correct thing to do to NOT load email into stuff on failure,
6744 // In practice, that means it wont show the old email and emayl in the create page when they don't match. 6744 // In practice, that means it won't show the old email and emayl in the create page when they don't match.
6745 if ((0 == ret) || notSame) 6745 if ((0 == ret) || notSame)
6746 Rd->stuff->putstrf(Rd->stuff, "email", "%s", t0); 6746 Rd->stuff->putstrf(Rd->stuff, "email", "%s", t0);
6747 free(t0); 6747 free(t0);
@@ -7971,7 +7971,7 @@ void sessionStateEngine(reqData *Rd, char *type)
7971 switch (Rd->shs.status) 7971 switch (Rd->shs.status)
7972 { 7972 {
7973 case SHS_UNKNOWN: d("sessionStateEngine(SHS_UNKNOWN, %s)", type); break; 7973 case SHS_UNKNOWN: d("sessionStateEngine(SHS_UNKNOWN, %s)", type); break;
7974 case SHS_NONE: d("sessionStateEngine(SHS_NONE, %s)", type); break; 7974 case SHS_NONE: d("sessionStateEngine(SHS_NONE, %s)", type); break;
7975 case SHS_BOGUS: d("sessionStateEngine(SHS_BOGUS, %s)", type); break; 7975 case SHS_BOGUS: d("sessionStateEngine(SHS_BOGUS, %s)", type); break;
7976 case SHS_PROBLEM: d("sessionStateEngine(SHS_PROBLEM, %s)", type); break; 7976 case SHS_PROBLEM: d("sessionStateEngine(SHS_PROBLEM, %s)", type); break;
7977 case SHS_VALID: d("sessionStateEngine(SHS_VALID, %s)", type); break; 7977 case SHS_VALID: d("sessionStateEngine(SHS_VALID, %s)", type); break;
@@ -8281,7 +8281,7 @@ void account_html(char *file, reqData *Rd, HTMLfile *thisFile)
8281 sessionStateEngine(Rd, "CANCELLED"); 8281 sessionStateEngine(Rd, "CANCELLED");
8282 } 8282 }
8283 8283
8284 sessionStateEngine(Rd, "submited"); 8284 sessionStateEngine(Rd, "submitted");
8285 switch (Rd->shs.status) 8285 switch (Rd->shs.status)
8286 { 8286 {
8287 case SHS_RENEW: 8287 case SHS_RENEW:
@@ -8955,7 +8955,7 @@ Copy correct config/config.ini to there.
8955 8955
8956// A bit chicken and egg here. 8956// A bit chicken and egg here.
8957// We need to be the correct user to set the correct perms on the scRun directory 8957// We need to be the correct user to set the correct perms on the scRun directory
8958// But we wont be the correct user until we run tmux as that user. 8958// But we won't be the correct user until we run tmux as that user.
8959// The path to the web socket needs to be readable by the www-data group. So the FCGI socket will work. 8959// The path to the web socket needs to be readable by the www-data group. So the FCGI socket will work.
8960// AND it needs to be group sticky on opensimsc group. So the tmux socket will work. 8960// AND it needs to be group sticky on opensimsc group. So the tmux socket will work.
8961// Put both in scRun, and make it other readable? 8961// Put both in scRun, and make it other readable?
@@ -9543,7 +9543,7 @@ if ((strcmp("HTTP_COOKIE", ky) == 0) || (strcmp("CONTENT_LENGTH", ky) == 0) || (
9543 free(k); 9543 free(k);
9544 } 9544 }
9545 9545
9546 // The FCGI paramaters sent from the server, are converted to environment variablse for the fcgi2 SDK. 9546 // The FCGI parameters sent from the server, are converted to environment variables for the fcgi2 SDK.
9547 // The FCGI spec doesn't mention what these are. except FCGI_WEB_SERVER_ADDRS. 9547 // The FCGI spec doesn't mention what these are. except FCGI_WEB_SERVER_ADDRS.
9548 char *Role = Rd->headers->getstr(Rd->headers, "FCGI_ROLE", false); 9548 char *Role = Rd->headers->getstr(Rd->headers, "FCGI_ROLE", false);
9549 Rd->Path = Rd->headers->getstr(Rd->headers, "PATH_INFO", false); 9549 Rd->Path = Rd->headers->getstr(Rd->headers, "PATH_INFO", false);
@@ -9677,7 +9677,7 @@ t("BODY");
9677 Rd->Rheaders->putstr(Rd->Rheaders, "Status", "200 OK"); 9677 Rd->Rheaders->putstr(Rd->Rheaders, "Status", "200 OK");
9678 Rd->Rheaders->putstr(Rd->Rheaders, "Content-type", "text/html"); 9678 Rd->Rheaders->putstr(Rd->Rheaders, "Content-type", "text/html");
9679// TODO - check these. 9679// TODO - check these.
9680 // This is all dynamic web pages, and likeley secure to. 9680 // This is all dynamic web pages, and likely secure to.
9681 // Most of these are from https://www.smashingmagazine.com/2017/04/secure-web-app-http-headers/ 9681 // Most of these are from https://www.smashingmagazine.com/2017/04/secure-web-app-http-headers/
9682 // https://www.twilio.com/blog/a-http-headers-for-the-responsible-developer is good to, and includes useful compression and image stuff. 9682 // https://www.twilio.com/blog/a-http-headers-for-the-responsible-developer is good to, and includes useful compression and image stuff.
9683 // On the other hand, .css files are referenced, which might be better off being cached, so should tweak some of thees. 9683 // On the other hand, .css files are referenced, which might be better off being cached, so should tweak some of thees.
@@ -9827,13 +9827,13 @@ sendReply:
9827 tmp0 = Rd->Rheaders->getstr(Rd->Rheaders, "Status", false); 9827 tmp0 = Rd->Rheaders->getstr(Rd->Rheaders, "Status", false);
9828 if (NULL == tmp0) 9828 if (NULL == tmp0)
9829 { 9829 {
9830 E("Some sort of error happpened! Status: UNKNOWN!!"); 9830 E("Some sort of error happened! Status: UNKNOWN!!");
9831 FCGI_printf("Some sort of error happpened! Status: UNKNOWN!!"); 9831 FCGI_printf("Some sort of error happened! Status: UNKNOWN!!");
9832 } 9832 }
9833 else 9833 else
9834 { 9834 {
9835 E("Some sort of error happpened! Status: %s", tmp0); 9835 E("Some sort of error happened! Status: %s", tmp0);
9836 FCGI_printf("Some sort of error happpened! Status: %s", tmp0); 9836 FCGI_printf("Some sort of error happened! Status: %s", tmp0);
9837 } 9837 }
9838 } 9838 }
9839 else 9839 else