LiveStreamDVR icon indicating copy to clipboard operation
LiveStreamDVR copied to clipboard

"File chmod" is not working correctly.

Open wiinxt opened this issue 1 year ago • 1 comments

Describe the bug The "File chmod" option is not working because fs.chmodSync mode parameter needs an octal and not a decimal. The default value 775 in decimal gives 1407 in octal, so chmod sets -r-----rwt instead of -rwxrwxr-x.

The error is here: https://github.com/MrBrax/LiveStreamDVR/blob/bcde36baa432f9c22321f8d9b60fe8ae33e3e8ed/server/src/Core/Providers/Base/BaseVOD.ts#L2577

Node.js doc of fs.chmod: https://nodejs.org/api/fs.html#fschmodpath-mode-callback

I suggest this change to fix the error (convert the number to a string, then parse it as octal) :

fs.chmodSync(fullpath, parseInt(Config.getInstance().cfg("file_chmod").toString(), 8)); 

To Reproduce

  1. Go to Advanced options
  2. Click on Set file permissions
  3. The permissions on files are not 775 (-r-----rwt instead of -rwxrwxr-x)

Expected behavior The permission must be 775 (-rwxrwxr-x)

Server:

  • Docker

Workaround I set 509 (which is 775 in octal) for now, it works well.

wiinxt avatar Apr 27 '24 13:04 wiinxt

good catch, probably an oversight that carried over from the php version

MrBrax avatar Apr 27 '24 14:04 MrBrax