Commit Graph
177 Commits
Author SHA1 Message Date
obarthel 7eaa926667 These programs generate the cp437 and cp850 tables from Unicode documentation 2018-05-11 11:06:10 +02:00
Olaf Barthel 632429a309 Updated to version 1.125
Please keep in mind that this is still a development version and might surprise you (not necessarily in a good way).

Do not let me discourage you to build and test this version, although there will be some risks involved such as data corruption or loss of data.
2018-05-08 11:34:47 +02:00
obarthel 047be4f827 Updated to version 1.124
Please keep in mind that this is still a development version and might surprise you (not necessarily in a good way).

Do not let me discourage you to build and test this version, although there will be some risks involved such as data corruption or loss of data.
2018-05-06 16:50:02 +02:00
obarthel 61735b08c2 Updated to version 1.222
Please keep in mind that this is still a development version and might surprise you (not necessarily in a good way).

Do not let me discourage you to build and test this version, although there will be some risks involved such as data corruption or loss of data.
2018-05-05 15:03:16 +02:00
obarthel cd5669e306 Updated to version 1.120
Please keep in mind that this is still a development version and might surprise you (not necessarily in a good way).

Do not let me discourage you to build and test this version, although there will be some risks involved such as data corruption or loss of data.
2018-05-01 15:14:45 +02:00
obarthel a044d7c145 Version bump 2018-04-11 12:21:04 +02:00
obarthel e65efa9686 smb_proc_write_raw() no longer stalls after writing 16 KBytes
Looks like the SMB_COM_WRITE_RAW implementation is really as simple as the documentation suggested. Just two packets need to be sent to to the server.
2018-04-11 12:20:33 +02:00
obarthel 6b384df83d Updated the copyright text 2018-04-11 12:19:24 +02:00
obarthel 94cf193a82 Updated to version 1.116 2017-12-23 09:11:11 +01:00
Olaf Barthel ad1a7acd92 Version bump 2016-05-11 14:55:00 +02:00
Olaf Barthel 54ccf7266a smbfs can be identified by checking the volume node disk type field
The signature "SMB\0" is now stored in DosList->dol_misc.dol_volume.dol_DiskType, which can be obtained through Info() or by walking through the data structures associated with a FileLock. This was suggested by Chris Handley and Chris Young. Thank you very much!
2016-05-11 14:54:50 +02:00
Olaf Barthel 3faeffd42b Updated to support the assert debug framework 2016-05-11 10:13:40 +02:00
Olaf Barthel 5e111f83e9 Updated to work with GCC, too. 2016-05-11 10:13:11 +02:00
Olaf Barthel 403b6c2585 Version bump 2016-05-01 10:40:45 +02:00
Olaf Barthel dcef889911 Hide password debug output
This is no information which should be shared when writing debug files.
2016-05-01 10:40:31 +02:00
Olaf Barthel 314bd76720 Debug output can now be written to a file 2016-05-01 10:40:05 +02:00
Olaf Barthel 61e9b2d7e9 Version bump 2016-04-26 15:52:22 +02:00
Olaf Barthel 3ea31dbf2c Added WRITEBEHIND and PREFERWRITERAW options 2016-04-26 15:52:08 +02:00
Olaf Barthel d0064a11cd Added WRITEBEHIND and PREFERWRITERAW options
Added a new error code which may be used by Samba to indicate that  directory to be deleted still contains something.
2016-04-26 15:51:56 +02:00
Olaf Barthel 329d73ff14 Added WRITEBEHIND and PREFERWRITERAW options 2016-04-26 15:51:15 +02:00
Olaf Barthel 6138e558b1 Added WRITEBEHIND and PREFERWRITERAW options
Recalculated the maximum message size for write/write raw operations.

Recalculated the threshold value for the message size beyond which raw write operations are likely more effective than plain write operations.

Maximum payload size for raw write operations is now limited both by the maximum raw write size and the maximum buffer size. The smaller of both quantities is used.
2016-04-26 15:50:55 +02:00
Olaf Barthel 3af300e8ba If WRITEBEHIND option is enabled, do not wait for server response 2016-04-26 15:47:48 +02:00
Olaf Barthel 0e4ccf2f22 Added WRITEBEHIND and PREFERWRITERAW options 2016-04-26 15:47:26 +02:00
Olaf Barthel 8331f412bd Only print SMB_COM_WRITE_RAW response parameter value if it's relevant 2016-04-26 15:46:35 +02:00
Olaf Barthel 8dfc8b695a SMB decoder output can now be stored in a file and does not have to go to stdout.
Added DUMPSMBLEVEL option which controls how much raw data output is produced. By default (level 0) no raw data output is produced at all. Level 1 will print the contents of the command data area. Level 2 will print the raw data used by the respective commands, with any management/control information stripped off.
2016-04-17 11:43:42 +02:00
Olaf Barthel c5e032af84 Version bump 2016-04-17 11:42:48 +02:00
Olaf Barthel 08f08e8071 Added DUMPSMBLEVEL option which controls how much raw data output is produced. By default (level 0) no raw data output is produced at all. Level 1 will print the contents of the command data area. Level 2 will print the raw data used by the respective commands, with any management/control information stripped off.
SMB decoder output can now be stored in a file and does not have to go to stdout.
2016-04-17 11:42:30 +02:00
Olaf Barthel 0e7a0ff3d6 More detailed error class/code translation information now shows up in the debug log.
The SMB dump output can now be stored in a file, rather than having to be redirected to one. When storing it in a file, the output will be appended to an existing file, otherwise a new file will be created.

The raw read/write functions now respect the upper limit for the amount of data to be written, as given by the server.

Fixed decoding of maximum buffer size; this used to come out as 0, which made smbfs switch back to the default minimum supported (1024 bytes).

Corrected use of the maximum raw write size as the size used by the client to perform raw reads with. The maximum allowed are 65535 bytes for a raw read request. Likewise, the maximum raw write size is 65535 bytes, too.

Recalculated the overhead for the SMB_COM_WRITE_RAW command, and it's 63 bytes, not 4.

Unless smb_proc_write_raw() finds that sending the packet results in a transmission error, it will try to pick up the server responses. Previously, it would not even try that, which could deadlock the client<->server message exchange.
2016-04-17 11:40:50 +02:00
Olaf Barthel 53a68fb5c8 The raw read/write operations now respect the "maximum raw size" limit set by the server.
Fixed decoding of maximum buffer size; this used to come out as 0, which made smbfs switch back to the default minimum supported (1024 bytes).

Corrected use of the maximum raw write size as the size used by the client to perform raw reads with. The maximum allowed are 65535 bytes for a raw read request. Likewise, the maximum raw write size is 65535 bytes, too.

Simplified the raw read portion of smba_read() by removing the test that avoids dropping into a read loop below. The loop handles the special case well.

Recalculated the overhead for SMB_COM_READ. It's still 52 bytes, but now the documentation states how this number comes about.

Recalculated the overhead for SMB_COM_WRITE. It's 52 bytes and not 56 bytes.
2016-04-17 11:36:36 +02:00
Olaf Barthel 07fae3c4af For smb_request_write_raw() return values of 0 now indicate success.
Fixed decoding of maximum buffer size; this used to come out  as 0, which made smbfs switch back to the default minimum supported (1024 bytes).

Corrected use of the maximum raw write size as the size used by the client to perform raw reads with. The maximum allowed are 65535 bytes for a raw read request. Likewise, the maximum raw write size is 65535 bytes, too.
2016-04-17 11:32:14 +02:00
Olaf Barthel 7714c07892 Version bump 2016-04-09 11:29:22 +02:00
Olaf Barthel b6bd494b3b Updated to build all components 2016-04-09 11:29:02 +02:00
Olaf Barthel 8a5125fc99 Updated to build properly for AmigaOS4 2016-04-09 11:28:39 +02:00
Olaf Barthel 8402a08510 Added the remaining error codes 2016-04-09 11:27:17 +02:00
Olaf Barthel e952448551 Added note on where smb_receive_trans2() SMB errors are checked
smb_receive_trans2() exits with return code of -EIO if the SMB error code is set.
2016-04-09 11:25:56 +02:00
Olaf Barthel f2bbe982fe Failed writes need to update file size / Dir cache cleanup simplification
Because the series of write operations are not wrapped into transactions, the cached file size needs to be updated if at least one write access succeeds.

Simplified the directory cache cleanup.
2016-04-09 11:22:32 +02:00
Olaf Barthel 3ff8a79053 Message length fix / Error message update
The SMB message length bit #17 is now properly filled in with the respective bit of the payload length.

Added the remaining error codes covered by the "Common Internet File System (CIFS) Protocol" documentation.
2016-04-09 11:20:19 +02:00
Olaf Barthel 0cce69b02b Only build this when needed 2016-04-09 11:01:33 +02:00
Olaf Barthel 8b0b3fbe48 Version bump 2016-04-04 14:22:20 +02:00
Olaf Barthel eeef16d367 Version bump 2016-04-03 11:40:39 +02:00
Olaf Barthel 5a0c3d1a85 SMB message header initialized revised
The SMB message header is now zeroed in exactly one place only.

The SMB_COM_TREE_CONNECT_ANDX client request no longer sets the message error field.
2016-04-03 11:40:23 +02:00
Olaf Barthel 68561da83d Workaround for minimum stack size requirements
smbfs will not work properly with the standard 4K stack size. Testing revealed that 20K are safer, which is why the program startup code now provides as much if needed.
2016-04-03 11:38:06 +02:00
Olaf Barthel 6456d8e537 Version bump 2016-04-02 12:34:47 +02:00
Olaf Barthel 294e81c0ce Added support for UTF-8 encoded file and directory names 2016-04-02 12:33:51 +02:00
Olaf Barthel 4141b8bd63 Copyright update 2016-04-02 12:33:08 +02:00
Olaf Barthel 3c836b5998 NT status codes are now decoded properly 2016-04-02 12:33:01 +02:00
Olaf Barthel a920b1818d blkmode becomes capabilities
The client capabilities were never properly initialized, which could have led to any number of interesting side-effects, such as NT status information being transmitted instead.

The client now announces itself as a Unix system if the server does so, too.

The record locking command did not initialize the oplock level at all. Fixed.

Other SMB packets were not completely initialized either, which has been corrected.
2016-04-02 12:32:28 +02:00
Olaf Barthel d12b42b72c blkmod becomes capabilities 2016-04-02 12:29:40 +02:00
Olaf Barthel 4a769ec098 Indentation cleanup / blkmode becomes capabilities 2016-04-02 12:29:15 +02:00
Olaf Barthel 93dc9c4c19 Indentation cleanup 2016-04-02 12:28:57 +02:00