Found item has data offset higher than block size. Move the stream to get the
data. If the data does not fit in the block, fetch it directly from the device.
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Fixes#12788.
- Larger columns to fit new name of file system and new default mount points.
- Correct unit names based on norm IEC 60027-2.
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Fixes#13312.
If a HEAD request was sent to PoorMan, for example from curl
("curl --HEAD http://x.x.x.x") then the client would hang due to the connection
never being closed.
In PoorManServer::_Worker, after httpd_start_request() is called, a null
file_address is used to detect when libhttpd has already sent a directory
listing. In this situation, PoorMan assumes libhttpd already fully handled the
request. However httpd_start_request() didn't properly set this flag for HEAD
requests. In the if block for a null file_address, the file descriptor was
incorrectly invalidated, which prevented the connection from closing. Fixing
this revealed two more bugs. The first is libhttpd was not actually sending
the http headers for HEAD directory listing requests. The second is
PoorManServer would increment its hit count for HEAD directory listing
requests. This change also refactors file_address to a more sensible name and
type that reflects its use.
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Fixes#13347.
Committing work done to make SoftwareUpdater functional. The
application will find available updates, confirm with the user to
apply updates, download packages and apply them. There are a few bugs
and features remaining to be fixed and completed:
*Bug with window resizing after packages start downloading- list view
does not resize down
*Tooltips to be implemented (showing repository and other details)
*Proper handling of no network or failed repository connections
*Testing of the problem solver
*Mode to only check for availability of updates and post notification
with results
The checkmark symbol is not available in the Noto font, replacing it
with plain text language until font fallback for symbols can be
implemented. Fixes#13368
- Both Noto and Noto Sans CJK JP are now used as font fallbacks,
allowing to cover a rather large range of characters. This also makes
it possible to mix the two fonts easily.
- Remove VL-Gothic from packages and from AboutSystem
- Add Noto fonts to the dependencies of the Haiku package.
This provides a similar look for all languages as discussed on the
mailing list.
* Added a "Free registration" text file. As the user has to
re-register from time to time for some reason, it may be
easier to find the info in a text file in the app's folder
than looking into the decription of SynC Modular in HaikuDepot.
FreeBSD has a simple inlined bus_space_read while Haikus had one
with call overhead.
This still needs cleanup as it is x86 specific, which it was already.
Also it redefines inX and outX defines as arch/x86/arch_cpu.h has a
C++ namespace so it can't be included from FreeBSD drivers C-files.
The results of these changes should be worth it though.
Fixes#12399
The Network preferences app was querying DNS to find a hostname
associated with the IP address, netmask and gateway when statically
configuring an interface. This is obviously unecessary and leads to
unexpected blocking when DNS is not available.
Adding B_NO_ADDRESS_RESOLUTION flag to disable the reverse lookup.
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
* FuseSMB provides access to shared files and folders over SMB.
It features automatic discovery of servers and shares and
displays them as a folder hierarchy in a virtual volume on the
desktop
* Supports interactive authentication to access shares which require
login. Just open it, and a dialog pops up. Login data is stored in
BKeyStore.
* Comes with a network preferences add-on to easily enable and
configure it. No barbaric manual typing of mount commands required!
* Makes use of Haiku FUSE extensions to give custom MIME types with
icons for workgroup/share/server folders. Thanks again to humdinger
for designing the workgroup and share icons!
* Although the used libsmbclient only supports SMB protocol
version 1, performance is decent enough. Getting around ~75MiB/s
reading over a GbE link here
* Commit 0bec83a8 added const to the signatures of
pthread_mutex*_get*() functions. The declarations in
posix_error_mapper now didn't match that anymore, so the
extern C was lost, adding C++ mangling to the functions
from posix_error_mapper. This made linking applications with
posix_error_mapper fail.
* Last commit put the file-extension-to-MIME-type table and associated
code into a shared location. So now we can remove it from the FAT
and NTFS FS add-ons (they both had their own copy) and use the shared
one there as well, removing the code duplication.
* Add special handling for reading the BEOS:TYPE attribute to supply
on-the-fly fake MIME types for FUSE module filesystems, the same
way it's done in our FAT and NTFS FS modules
* Reuse the mime_ext_table which we already have and put it into a
shared location so we don't get further extra copies of it
* Implement reading extended file attributes in FUSE modules,
using getxattr()
getxattr() is a quite limited API, not allowing to specify a read
offset. So we read in the entire attribute value into a buffer and
store in the cookie. This shouldn't be a problem memory-wise, since
xattr implementions usually have limitations regarding attribute size
anyway, so it'll rarely be more than a few kilobytes.
* Writing, renaming, and removing attributes is not yet implemented
* Add a way for a FUSE module to supply Haiku-specific extensions.
This allows it to integrate better with Haiku while only requiring
minimal changes on the FUSE module itself.
* For now, there is only one extension: another function pointer for
"get_fs_info", which lets the FUSE module fill in an fs_info struct.
FUSE provides no good way to otherwise communicate extra information,
such as the volume flags (e.g. B_FS_IS_SHARED).
* A FUSE module can signal that it supports the Haiku extensions by
a) defining HAS_HAIKU_FUSE_EXTENSIONS before including the fuse
headers
b) setting the global variable gHasHaikuFuseExtensions to 1 in
its initialization
Otherwise, the Haiku extensions are completely invisible to the
FUSE module.
These are made from the sticker "haiku-sticker-3.5x2".
Quick preview at http://img.ctrlv.in/img/17/02/27/58b425e23a6fb.png
A "Haiku" text layer and a 1-pixel frame are on separate layers,
that are set invisible. Not sure if we should always show the "Haiku".
Looks better without in my opinion, but depending on where it'll be
used, showing the text may be desired...
When used for small logos, like 64px, simple scaling might not cut
it, and the yellow and orange "hills" need to be made wider.