Project homepage Mailing List  Warmcat.com  API Docs  Github Mirror 
{"schema":"libjg2-1", "vpath":"/git/", "avatar":"/git/avatar/", "alang":"", "gen_ut":1752652748, "reponame":"libwebsockets", "desc":"libwebsockets lightweight C networking library", "owner": { "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" },"url":"https://libwebsockets.org/repo/libwebsockets", "f":3, "items": [ {"schema":"libjg2-1", "cid":"f201d55fcc4b6264195801c1eb70078f", "commit": {"type":"commit", "time": 1522982283, "time_ofs": 480, "oid_tree": { "oid": "827a19fbec0a27683d5c28d58edc68bd18b02336", "alias": []}, "oid":{ "oid": "3a020c1eabb34922d370d1f2e66bf302584163c9", "alias": []}, "msg": "lws_filename_purify_inplace", "sig_commit": { "git_time": { "time": 1522982283, "offset": 480 }, "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" }, "sig_author": { "git_time": { "time": 1522286921, "offset": 480 }, "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" }}, "body": "lws_filename_purify_inplace" , "diff": "diff --git a/lib/libwebsockets.c b/lib/libwebsockets.c\nindex e420eec..f7b9906 100644\n--- a/lib/libwebsockets.c\n+++ b/lib/libwebsockets.c\n@@ -2850,6 +2850,27 @@ lws_json_purify(char *escaped, const char *string, int len)\n \treturn escaped;\n }\n \n+LWS_VISIBLE LWS_EXTERN void\n+lws_filename_purify_inplace(char *filename)\n+{\n+\twhile (*filename) {\n+\n+\t\tif (*filename \u003d\u003d '.' \u0026\u0026 filename[1] \u003d\u003d '.') {\n+\t\t\t*filename \u003d '_';\n+\t\t\tfilename[1] \u003d '_';\n+\t\t}\n+\n+\t\tif (*filename \u003d\u003d ':' ||\n+\t\t *filename \u003d\u003d '/' ||\n+\t\t *filename \u003d\u003d '\u005c\u005c' ||\n+\t\t *filename \u003d\u003d '$' ||\n+\t\t *filename \u003d\u003d '%')\n+\t\t\t*filename \u003d '_';\n+\n+\t\tfilename++;\n+\t}\n+}\n+\n LWS_VISIBLE LWS_EXTERN const char *\n lws_urlencode(char *escaped, const char *string, int len)\n {\ndiff --git a/lib/libwebsockets.h b/lib/libwebsockets.h\nindex befbe15..a488a15 100644\n--- a/lib/libwebsockets.h\n+++ b/lib/libwebsockets.h\n@@ -4426,6 +4426,17 @@ lws_sql_purify(char *escaped, const char *string, int len);\n LWS_VISIBLE LWS_EXTERN const char *\n lws_json_purify(char *escaped, const char *string, int len);\n \n+/**\n+ * lws_filename_purify_inplace() - replace scary filename chars with underscore\n+ *\n+ * \u005cparam filename: filename to be purified\n+ *\n+ * Replace scary characters in the filename (it should not be a path)\n+ * with underscore, so it's safe to use.\n+ */\n+LWS_VISIBLE LWS_EXTERN void\n+lws_filename_purify_inplace(char *filename);\n+\n LWS_VISIBLE LWS_EXTERN int\n lws_plat_write_cert(struct lws_vhost *vhost, int is_key, int fd, void *buf,\n \t\t\tint len);\n","s":{"c":1752652748,"u": 7138}} ],"g": 8028,"chitpc": 0,"ehitpc": 0,"indexed":0 , "ab": 0, "si": 0, "db":0, "di":0, "sat":0, "lfc": "0000"}