In GNUnet-0.8.0c/src/applications/fs/fsui/upload.c, the function GNUNET_FSUI_uploadThread deletes any EXTRACTOR_FILENAME entries from the metadata, and then inserts a EXTRACTOR_FILENAME entry containing the last part of the path name of the file on the local host. What this means is that if the user specifies the value of the filename metadata field (using the -m option of gnunet-insert), the value specified by the user will be ignored.|
I can think of a number of reasons why a user might want to publish a file under a different name than the one used in the local file system. If a file has already been published on another network, it might have been renamed to embed keywords in the file name. You might want to publish the file under its original name on GNUNET. Another possibility is that you might want to give a file an innocuous or misleading name on the local system to make it more difficult for intruders, but still publish under a meaningful name on GNUNET. I can't see any conceptual reason why GNUNET shouldn't support this.
Because publishing to GNUNET is not an operation that can be undone, I think that it is important to let the user find out what keywords and metadata will be generated without actually publishing. The gnunet-gtk publishing interface has the right idea: when the user publishes a file the metadata and keywords are displayed in a window, and the user can edit them if desired before publishing. Unfortunately, the data displayed is not necessarily what will be published, because GNUNET_FSUI_uploadThread alters a bunch of metadata fields (not just the filename field) before publishing.
I would suggest that GNUNET_FSUI_uploadThread really shouldn't be altering metadata. If the functionality is necessary, it can be split out into a separate routine which gnunet-gtk can call before displaying the metadata to the user.
Bing™ brings you maps, menus, and reviews organized in one place. Try it now.