From 7179281575e741d9deb064851d0356c4c4994c0e Mon Sep 17 00:00:00 2001 From: ncpfs archive import Date: Tue, 28 Apr 2026 20:39:58 +0200 Subject: [PATCH] Import ncpfs 2.0.2 --- .downloads/ncpfs-2.0.2.tgz | Bin 0 -> 128799 bytes Changes | 7 + FAQ | 4 +- Makefile | 6 +- TODO | 2 - ipxdump/ipxparse.c | 79 +++++ kernel-2.0/README | 18 ++ kernel-2.0/lfn-2.0.7.diff | 498 +++++++++++++++++++++++++++++ man/nwbpvalues.1 | 4 - ncpfs-2.0.1.lsm => ncpfs-2.0.2.lsm | 8 +- util/nprint.c | 2 - util/nwbpvalues.c | 117 ++++++- 12 files changed, 710 insertions(+), 35 deletions(-) create mode 100644 .downloads/ncpfs-2.0.2.tgz create mode 100644 kernel-2.0/README create mode 100644 kernel-2.0/lfn-2.0.7.diff rename ncpfs-2.0.1.lsm => ncpfs-2.0.2.lsm (84%) diff --git a/.downloads/ncpfs-2.0.2.tgz b/.downloads/ncpfs-2.0.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..f7581192be225fd234f93c7b28aca683881eb888 GIT binary patch literal 128799 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%0AtO1feafznV*il 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 z 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 ncpfs-2.0.2 +- Added some values to ipxparse. +- Added a patch against 2.0.7 for long file names support. I did not + apply this change to the 1.2-module. Please upgrade to 2.0.7 if you + want to use long file names. +- nwbpvalues can print ITEM properties + ncpfs-2.0.0 -> ncpfs-2.0.1 - Added some values to ipxparse. - Added the little bindery utilities. Maybe someone has the time to diff --git a/FAQ b/FAQ index 04f7776..cdaf2a1 100644 --- a/FAQ +++ b/FAQ @@ -39,8 +39,8 @@ packet signatures on the 4.1 server, as ncpfs does not support them. Q: Does ncpfs support long file names, using the OS/2 namespace? -No. Not yet. I still have to sort out how that really works. But it should -certainly be possible. +Yes. But you will have to patch your kernel. Look at the file +kernel-2.0/README for more information. ------------------------------------------------------------------------------- diff --git a/Makefile b/Makefile index 3080993..bec5406 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ # Makefile for the linux ncp-filesystem routines. # -VERSION = 2.0.1 +VERSION = 2.0.2 # If you are using kerneld to autoload ncp support, # uncomment this (kerneld is in linux since about 1.3.57): @@ -42,7 +42,7 @@ clean: mrproper: clean rm -fr $(INTERM_BINDIR)/* ncpfs.tgz make -C util mrproper - (cd daemon; make clean) + make -C ipxdump mrproper modules: ncpfs.o @@ -51,12 +51,10 @@ SRCDIR=$(shell basename $(SRCPATH)) DISTFILE=$(SRCDIR).tgz dist: mrproper - mv daemon .. (cd ..; \ tar cvf - $(SRCDIR) | \ gzip -9 > $(DISTFILE); \ mv $(DISTFILE) $(SRCDIR)) - mv ../daemon . make dep make all diff --git a/TODO b/TODO index c58ea44..d3663bf 100644 --- a/TODO +++ b/TODO @@ -12,6 +12,4 @@ or even help me ;-). a single NCP connection. This should make the trade-off mentioned in ncpmount.8 unnecessary. -- long file names - - Do some kind of mapping of NCP uid's to unix uid's diff --git a/ipxdump/ipxparse.c b/ipxdump/ipxparse.c index 8ac94cf..8e3e890 100644 --- a/ipxdump/ipxparse.c +++ b/ipxdump/ipxparse.c @@ -89,10 +89,31 @@ struct ncp_reply_header { __u8 data[0] __attribute__ ((packed)); }; +#define NCP_BURST_PACKET (0x7777) + +struct ncp_burst_header { + __u16 type __attribute__ ((packed)); + __u8 system_flags __attribute__ ((packed)); + __u8 stream_type __attribute__ ((packed)); + __u32 source_conn __attribute__ ((packed)); + __u32 dest_conn __attribute__ ((packed)); + __u32 packet_sequence __attribute__ ((packed)); + __u32 send_delay __attribute__ ((packed)); + __u16 burst_sequence __attribute__ ((packed)); + __u16 ack_sequence __attribute__ ((packed)); + __u32 burst_length __attribute__ ((packed)); + __u32 data_offset __attribute__ ((packed)); + __u16 data_bytes __attribute__ ((packed)); + __u16 missing_frags __attribute__ ((packed)); +}; + void handle_ipx (unsigned char *buf, int length, char *frame, int no); void handle_ncp (struct sockaddr_ipx *source, struct sockaddr_ipx *target, unsigned char *buf, int length, int no); +int handle_burst(struct sockaddr_ipx *source, + struct sockaddr_ipx *target, + unsigned char *buf, int length, int no); #define SAP_MAX_SERVER_NAME_LENGTH 48 /* in network packets */ #define SAP_MAX_SAPS_PER_PACKET 7 @@ -165,6 +186,12 @@ handle_ipx (unsigned char *buf, int length, char *frame, int no) ipx_print_saddr(&d_addr); printf("\n"); + if (handle_burst(&s_addr, &d_addr, buf + sizeof(struct ipx_packet), + length - sizeof(struct ipx_packet), no) != 0) + { + return; + } + if ( (ntohs(s_addr.sipx_port) == 0x451) || (ntohs(d_addr.sipx_port) == 0x451)) { @@ -253,6 +280,55 @@ handle_ipx (unsigned char *buf, int length, char *frame, int no) } +int handle_burst(struct sockaddr_ipx *source, + struct sockaddr_ipx *target, + unsigned char *buf, int length, int no) +{ + struct ncp_burst_header *rq = (struct ncp_burst_header *)buf; + + if (rq->type != NCP_BURST_PACKET) + { + return 0; + } + + printf("Burst Packet\n"); + printf("Stream Type: %02X, System Flags: %02X\n", + rq->stream_type, rq->system_flags); + printf("Source Conn: %08X, Dest Conn: %08X, Packet Seq: %08X\n", + rq->source_conn, rq->dest_conn, + (unsigned int)ntohl(rq->packet_sequence)); + printf("Send Delay: %08X, Burst Seq: %04X, Ack Seq: %04X\n", + (unsigned int)ntohl(rq->send_delay), ntohs(rq->burst_sequence), + ntohs(rq->ack_sequence)); + printf("Burst Length: %08X\n", (unsigned int)ntohl(rq->burst_length)); + printf("Data Offset: %08X, Data Bytes: %04X, Missing Frags: %04X\n", + (unsigned int)ntohl(rq->data_offset), ntohs(rq->data_bytes), + ntohs(rq->missing_frags)); + + if (ntohs(rq->data_bytes) == 24) + { + struct ncp_burst_request + { + struct ncp_burst_header h __attribute__ ((packed)); + __u32 function __attribute__ ((packed)); + __u32 file_handle __attribute__ ((packed)); + __u8 reserved[8] __attribute__ ((packed)); + __u32 file_offset __attribute__ ((packed)); + __u32 number_of_bytes __attribute__ ((packed)); + } *brq = (struct ncp_burst_request *)rq; + + printf("Assuming Burst Request:\n"); + printf("%s: Handle %08X, Offset %08X, Bytes %08X\n", + brq->function == 1 ? "Read " : "Write", + brq->file_handle, + (unsigned int)ntohl(brq->file_offset), + (unsigned int)ntohl(brq->number_of_bytes)); + } + + printf("\n"); + return 1; +} + void handle_ncp (struct sockaddr_ipx *source, struct sockaddr_ipx *target, unsigned char *buf, int length, int no) @@ -305,6 +381,9 @@ void handle_ncp (struct sockaddr_ipx *source, case 01: printf("Get Directory Path\n"); break; + case 03: + printf("Get Effective Directory Rights\n"); + break; case 05: printf("Get Volume Number\n"); break; diff --git a/kernel-2.0/README b/kernel-2.0/README new file mode 100644 index 0000000..ec19f0c --- /dev/null +++ b/kernel-2.0/README @@ -0,0 +1,18 @@ +This directory contains the patch you have to apply to the Linux +kernel if you want to use the support for long file names using the +OS/2 namespace on the NetWare server. It did not make it into 2.0, but +patching your kernel is really no problem. + +To apply this patch, please take a clean Linux kernel. This patch is +against Linux 2.0.7, but any later kernel version in the 2.0.x series +should also work fine. Please perform the following two steps: + +cd /usr/src/linux +patch -p1 name_space[info->volNumber]; ++} ++ ++static inline int ++ncp_preserve_case(struct inode *i) ++{ ++ return (ncp_namespace(i) == NW_NS_OS2); ++} ++ + static struct file_operations ncp_dir_operations = { + NULL, /* lseek - default */ + ncp_dir_read, /* read - bad */ +@@ -128,7 +142,7 @@ + /* Here we encapsulate the inode number handling that depends upon the + * mount mode: When we mount a complete server, the memory address of + * the ncp_inode_info is used as the inode number. When only a single +- * volume is mounted, then the DosDirNum is used as the inode ++ * volume is mounted, then the dirEntNum is used as the inode + * number. As this is unique for the complete volume, this should + * enable the NFS exportability of a ncpfs-mounted volume. + */ +@@ -143,7 +157,7 @@ + ncp_info_ino(struct ncp_server *server, struct ncp_inode_info *info) + { + return ncp_single_volume(server) +- ? info->finfo.i.DosDirNum : (ino_t)info; ++ ? info->finfo.i.dirEntNum : (ino_t)info; + } + + static inline int +@@ -177,8 +191,6 @@ + return NULL; + } + +- +- + static int + ncp_dir_read(struct inode *inode, struct file *filp, char *buf, int count) + { +@@ -326,9 +338,12 @@ + c_last_returned_index = 0; + index = 0; + +- for (i = 0; i < c_size; i++) ++ if (!ncp_preserve_case(inode)) + { +- str_lower(c_entry[i].i.entryName); ++ for (i = 0; i < c_size; i++) ++ { ++ str_lower(c_entry[i].i.entryName); ++ } + } + } + } +@@ -345,7 +360,7 @@ + + if (ncp_single_volume(server)) + { +- ino = (ino_t)(entry->i.DosDirNum); ++ ino = (ino_t)(entry->i.dirEntNum); + } + else + { +@@ -652,7 +667,7 @@ + root->finfo.opened = 0; + i->attributes = aDIR; + i->dataStreamSize = 1024; +- i->DosDirNum = 0; ++ i->dirEntNum = i->DosDirNum = 0; + i->volNumber = NCP_NUMBER_OF_VOLUMES+1; /* illegal volnum */ + ncp_date_unix2dos(0, &(i->creationTime), &(i->creationDate)); + ncp_date_unix2dos(0, &(i->modifyTime), &(i->modifyDate)); +@@ -729,7 +744,7 @@ + + do + { +- if ( (result->dir->finfo.i.DosDirNum == dir_info->DosDirNum) ++ if ( (result->dir->finfo.i.dirEntNum == dir_info->dirEntNum) + && (result->dir->finfo.i.volNumber == dir_info->volNumber) + && (strcmp(result->finfo.i.entryName, name) == 0) + /* The root dir is never looked up using this +@@ -757,6 +772,7 @@ + struct ncp_server *server; + struct ncp_inode_info *result_info; + int found_in_cache; ++ int down_case = 0; + char name[len+1]; + + *result = NULL; +@@ -867,20 +883,26 @@ + if (found_in_cache == 0) + { + int res; +- str_upper(name); + + DDPRINTK("ncp_lookup: do_lookup on %s/%s\n", + NCP_ISTRUCT(dir)->entryName, name); + + if (ncp_is_server_root(dir)) + { ++ str_upper(name); ++ down_case = 1; + res = ncp_lookup_volume(server, name, &(finfo.i)); + } + else + { ++ if (!ncp_preserve_case(dir)) ++ { ++ str_upper(name); ++ down_case = 1; ++ } + res = ncp_obtain_info(server, + NCP_ISTRUCT(dir)->volNumber, +- NCP_ISTRUCT(dir)->DosDirNum, ++ NCP_ISTRUCT(dir)->dirEntNum, + name, &(finfo.i)); + } + if (res != 0) +@@ -892,7 +914,11 @@ + } + + finfo.opened = 0; +- str_lower(finfo.i.entryName); ++ ++ if (down_case != 0) ++ { ++ str_lower(finfo.i.entryName); ++ } + + if (!(*result = ncp_iget(dir, &finfo))) + { +@@ -929,7 +955,11 @@ + + strncpy(_name, name, len); + _name[len] = '\0'; +- str_upper(_name); ++ ++ if (!ncp_preserve_case(dir)) ++ { ++ str_upper(_name); ++ } + + lock_super(dir->i_sb); + if (ncp_open_create_file_or_subdir(NCP_SERVER(dir), +@@ -946,7 +976,11 @@ + + ncp_invalid_dir_cache(dir); + +- str_lower(finfo.i.entryName); ++ if (!ncp_preserve_case(dir)) ++ { ++ str_lower(finfo.i.entryName); ++ } ++ + finfo.access = O_RDWR; + + if (!(*result = ncp_iget(dir, &finfo)) < 0) +@@ -980,7 +1014,11 @@ + + strncpy(_name, name, len); + _name[len] = '\0'; +- str_upper(_name); ++ ++ if (!ncp_preserve_case(dir)) ++ { ++ str_upper(_name); ++ } + + if (!dir || !S_ISDIR(dir->i_mode)) + { +@@ -1038,7 +1076,11 @@ + + strncpy(_name, name, len); + _name[len] = '\0'; +- str_upper(_name); ++ ++ if (!ncp_preserve_case(dir)) ++ { ++ str_upper(_name); ++ } + + if ((error = ncp_del_file_or_subdir(NCP_SERVER(dir), + NCP_ISTRUCT(dir), +@@ -1081,7 +1123,11 @@ + { + strncpy(_name, name, len); + _name[len] = '\0'; +- str_upper(_name); ++ ++ if (!ncp_preserve_case(dir)) ++ { ++ str_upper(_name); ++ } + + if ((error = ncp_del_file_or_subdir(NCP_SERVER(dir), + NCP_ISTRUCT(dir), +@@ -1136,11 +1182,19 @@ + + strncpy(_old_name, old_name, old_len); + _old_name[old_len] = '\0'; +- str_upper(_old_name); ++ ++ if (!ncp_preserve_case(old_dir)) ++ { ++ str_upper(_old_name); ++ } + + strncpy(_new_name, new_name, new_len); + _new_name[new_len] = '\0'; +- str_upper(_new_name); ++ ++ if (!ncp_preserve_case(new_dir)) ++ { ++ str_upper(_new_name); ++ } + + res = ncp_ren_or_mov_file_or_subdir(NCP_SERVER(old_dir), + NCP_ISTRUCT(old_dir), _old_name, +diff -urN 2.0.7/fs/ncpfs/ncplib_kernel.c linux/fs/ncpfs/ncplib_kernel.c +--- 2.0.7/fs/ncpfs/ncplib_kernel.c Thu Apr 18 08:40:28 1996 ++++ linux/fs/ncpfs/ncplib_kernel.c Tue Jul 16 10:52:33 1996 +@@ -190,25 +190,6 @@ + } + + int +-ncp_get_volume_number(struct ncp_server *server, const char *name, int *target) +-{ +- int result; +- +- ncp_init_request_s(server, 5); +- ncp_add_pstring(server, name); +- +- if ((result = ncp_request(server, 22)) != 0) +- { +- ncp_unlock_server(server); +- return result; +- } +- +- *target = ncp_reply_byte(server, 0); +- ncp_unlock_server(server); +- return 0; +-} +- +-int + ncp_close_file(struct ncp_server *server, const char *file_id) + { + int result; +@@ -278,8 +259,8 @@ + + ncp_init_request(server); + ncp_add_byte(server, 6); /* subfunction */ +- ncp_add_byte(server, 0); /* dos name space */ +- ncp_add_byte(server, 0); /* dos name space as dest */ ++ ncp_add_byte(server, server->name_space[vol_num]); ++ ncp_add_byte(server, server->name_space[vol_num]); + ncp_add_word(server, 0xff); /* get all */ + ncp_add_dword(server, RIM_ALL); + ncp_add_handle_path(server, vol_num, dir_base, 1, path); +@@ -295,20 +276,57 @@ + return 0; + } + ++static inline int ++ncp_has_os2_namespace(struct ncp_server *server, __u8 volume) ++{ ++ int result; ++ __u8 *namespace; ++ __u16 no_namespaces; ++ ++ ncp_init_request(server); ++ ncp_add_byte(server, 24); /* Subfunction: Get Name Spaces Loaded */ ++ ncp_add_word(server, 0); ++ ncp_add_byte(server, volume); ++ ++ if ((result = ncp_request(server, 87)) != 0) ++ { ++ ncp_unlock_server(server); ++ return 0; ++ } ++ ++ no_namespaces = ncp_reply_word(server, 0); ++ namespace = ncp_reply_data(server, 2); ++ ++ while (no_namespaces > 0) ++ { ++ DPRINTK("get_namespaces: found %d on %d\n", *namespace,volume); ++ ++ if (*namespace == 4) ++ { ++ DPRINTK("get_namespaces: found OS2\n"); ++ ncp_unlock_server(server); ++ return 1; ++ } ++ namespace += 1; ++ no_namespaces -= 1; ++ } ++ ncp_unlock_server(server); ++ return 0; ++} ++ + int + ncp_lookup_volume(struct ncp_server *server, + char *volname, + struct nw_info_struct *target) + { + int result; +- __u8 vol_num; +- __u32 dir_base; ++ int volnum; + + DPRINTK("ncp_lookup_volume: looking up vol %s\n", volname); + + ncp_init_request(server); + ncp_add_byte(server, 22); /* Subfunction: Generate dir handle */ +- ncp_add_byte(server, 0); /* DOS name space */ ++ ncp_add_byte(server, 0); /* DOS namespace */ + ncp_add_byte(server, 0); /* reserved */ + ncp_add_byte(server, 0); /* reserved */ + ncp_add_byte(server, 0); /* reserved */ +@@ -325,20 +343,19 @@ + return result; + } + +- dir_base = ncp_reply_dword(server, 4); +- vol_num = ncp_reply_byte(server, 8); ++ memset(target, 0, sizeof(*target)); ++ target->DosDirNum = target->dirEntNum = ncp_reply_dword(server, 4); ++ target->volNumber = volnum = ncp_reply_byte(server, 8); + ncp_unlock_server(server); + +- if ((result = ncp_obtain_info(server, vol_num, dir_base, NULL, +- target)) != 0) +- { +- return result; +- } ++ server->name_space[volnum] = ncp_has_os2_namespace(server,volnum)?4:0; + +- DPRINTK("ncp_lookup_volume: attribs = %X\n", target->attributes); ++ DPRINTK("lookup_vol: namespace[%d] = %d\n", ++ volnum, server->name_space[volnum]); + + target->nameLen = strlen(volname); + strcpy(target->entryName, volname); ++ target->attributes = aDIR; + return 0; + } + +@@ -352,14 +369,14 @@ + + ncp_init_request(server); + ncp_add_byte(server, 7); /* subfunction */ +- ncp_add_byte(server, 0); /* dos name space */ ++ ncp_add_byte(server, server->name_space[file->volNumber]); + ncp_add_byte(server, 0); /* reserved */ + ncp_add_word(server, 0x8006); /* search attribs: all */ + + ncp_add_dword(server, info_mask); + ncp_add_mem(server, info, sizeof(*info)); + ncp_add_handle_path(server, file->volNumber, +- file->DosDirNum, 1, NULL); ++ file->dirEntNum, 1, NULL); + + result = ncp_request(server, 87); + ncp_unlock_server(server); +@@ -374,11 +391,11 @@ + + ncp_init_request(server); + ncp_add_byte(server, 8); /* subfunction */ +- ncp_add_byte(server, 0); /* dos name space */ ++ ncp_add_byte(server, server->name_space[dir->volNumber]); + ncp_add_byte(server, 0); /* reserved */ + ncp_add_word(server, 0x8006); /* search attribs: all */ + ncp_add_handle_path(server, dir->volNumber, +- dir->DosDirNum, 1, name); ++ dir->dirEntNum, 1, name); + + result = ncp_request(server, 87); + ncp_unlock_server(server); +@@ -406,15 +423,16 @@ + { + int result; + __u16 search_attribs = 0x0006; ++ __u8 volume = (dir != NULL) ? dir->volNumber : target->i.volNumber; + + if ((create_attributes & aDIR) != 0) + { +- search_attribs |= 0x8000; +- } ++ search_attribs |= 0x8000; ++} + + ncp_init_request(server); + ncp_add_byte(server, 1); /* subfunction */ +- ncp_add_byte(server, 0); /* dos name space */ ++ ncp_add_byte(server, server->name_space[volume]); + ncp_add_byte(server, open_create_mode); + ncp_add_word(server, search_attribs); + ncp_add_dword(server, RIM_ALL); +@@ -425,13 +443,11 @@ + + if (dir != NULL) + { +- ncp_add_handle_path(server, dir->volNumber, +- dir->DosDirNum, 1, name); ++ ncp_add_handle_path(server, volume, dir->dirEntNum, 1, name); + } + else + { +- ncp_add_handle_path(server, +- target->i.volNumber, target->i.DosDirNum, ++ ncp_add_handle_path(server, volume, target->i.dirEntNum, + 1, NULL); + } + +@@ -467,9 +483,9 @@ + + ncp_init_request(server); + ncp_add_byte(server, 2); /* subfunction */ +- ncp_add_byte(server, 0); /* dos name space */ ++ ncp_add_byte(server, server->name_space[dir->volNumber]); + ncp_add_byte(server, 0); /* reserved */ +- ncp_add_handle_path(server, dir->volNumber, dir->DosDirNum, 1, NULL); ++ ncp_add_handle_path(server, dir->volNumber, dir->dirEntNum, 1, NULL); + + if ((result = ncp_request(server, 87)) != 0) + { +@@ -493,7 +509,7 @@ + + ncp_init_request(server); + ncp_add_byte(server, 3); /* subfunction */ +- ncp_add_byte(server, 0); /* dos name space */ ++ ncp_add_byte(server, server->name_space[seq->volNumber]); + ncp_add_byte(server, 0); /* data stream (???) */ + ncp_add_word(server, 0xffff); /* Search attribs */ + ncp_add_dword(server, RIM_ALL); /* return info mask */ +@@ -528,19 +544,19 @@ + + ncp_init_request(server); + ncp_add_byte(server, 4); /* subfunction */ +- ncp_add_byte(server, 0); /* dos name space */ ++ ncp_add_byte(server, server->name_space[old_dir->volNumber]); + ncp_add_byte(server, 1); /* rename flag */ + ncp_add_word(server, 0x8006); /* search attributes */ + + /* source Handle Path */ + ncp_add_byte(server, old_dir->volNumber); +- ncp_add_dword(server, old_dir->DosDirNum); ++ ncp_add_dword(server, old_dir->dirEntNum); + ncp_add_byte(server, 1); + ncp_add_byte(server, 1); /* 1 source component */ + + /* dest Handle Path */ + ncp_add_byte(server, new_dir->volNumber); +- ncp_add_dword(server, new_dir->DosDirNum); ++ ncp_add_dword(server, new_dir->dirEntNum); + ncp_add_byte(server, 1); + ncp_add_byte(server, 1); /* 1 destination component */ + +diff -urN 2.0.7/include/linux/ncp.h linux/include/linux/ncp.h +--- 2.0.7/include/linux/ncp.h Thu Apr 18 08:40:36 1996 ++++ linux/include/linux/ncp.h Tue Jul 16 17:27:45 1996 +@@ -116,6 +116,12 @@ + __u16 update_time; + }; + ++/* Defines for Name Spaces */ ++#define NW_NS_DOS 0 ++#define NW_NS_MAC 1 ++#define NW_NS_NFS 2 ++#define NW_NS_FTAM 3 ++#define NW_NS_OS2 4 + + /* Defines for ReturnInformationMask */ + #define RIM_NAME (0x0001L) +diff -urN 2.0.7/include/linux/ncp_fs_sb.h linux/include/linux/ncp_fs_sb.h +--- 2.0.7/include/linux/ncp_fs_sb.h Thu Apr 18 08:40:36 1996 ++++ linux/include/linux/ncp_fs_sb.h Tue Jul 16 17:35:17 1996 +@@ -21,6 +21,8 @@ + interest for us later, so we store + it completely. */ + ++ __u8 name_space[NCP_NUMBER_OF_VOLUMES]; ++ + struct file *ncp_filp; /* File pointer to ncp socket */ + struct file *wdog_filp; /* File pointer to wdog socket */ + struct file *msg_filp; /* File pointer to message socket */ diff --git a/man/nwbpvalues.1 b/man/nwbpvalues.1 index e1daab5..96f8afe 100644 --- a/man/nwbpvalues.1 +++ b/man/nwbpvalues.1 @@ -122,10 +122,6 @@ the object flags, its security byte and the properties flag is also listed. .RE -.SH BUGS -Only SET properties can be printed. This will hopefully be fixed in -the future. (Feel free to fix this and send me a patch ;-)). - .SH AUTHORS nwbpvalues was written by Volker Lendecke with the corresponding Caldera utility in mind. See the Changes file of ncpfs for other diff --git a/ncpfs-2.0.1.lsm b/ncpfs-2.0.2.lsm similarity index 84% rename from ncpfs-2.0.1.lsm rename to ncpfs-2.0.2.lsm index 34d98ae..e52a046 100644 --- a/ncpfs-2.0.1.lsm +++ b/ncpfs-2.0.2.lsm @@ -1,7 +1,7 @@ Begin3 Title: ncpfs -Version: 2.0.1 -Entered-date: 10. July 1996 +Version: 2.0.2 +Entered-date: 18. July 1996 Description: With ncpfs you can mount volumes of your netware server under Linux. You can also print to netware print queues and spool netware print queues to the @@ -13,7 +13,7 @@ Author: lendecke@namu01.Num.Math.Uni-Goettingen.de (Volker Lendecke) Maintained-by: lendecke@namu01.Num.Math.Uni-Goettingen.de (Volker Lendecke) Primary-site: ftp.gwdg.de:/pub/linux/misc/ncpfs Alternate-site: sunsite.unc.edu:/pub/system/Filesystems/ncpfs - ~124k ncpfs-2.0.1.tgz - ~ 1k ncpfs-2.0.1.lsm + ~124k ncpfs-2.0.2.tgz + ~ 1k ncpfs-2.0.2.lsm Copying-policy: GPL End diff --git a/util/nprint.c b/util/nprint.c index b9c54c5..8c6a806 100644 --- a/util/nprint.c +++ b/util/nprint.c @@ -306,8 +306,6 @@ main(int argc, char *argv[]) if (ncp_close_file_and_start_job(conn, q.object_id, &j) != 0) { printf("close error\n"); - ncp_close(conn); - return; } ncp_close(conn); diff --git a/util/nwbpvalues.c b/util/nwbpvalues.c index 2e171b4..4911ad7 100644 --- a/util/nwbpvalues.c +++ b/util/nwbpvalues.c @@ -10,9 +10,13 @@ #include "ncplib.h" #include #include +#include static char *progname; +static void +print_property(char *prop_name, __u8 *val, int segments); + static void usage(void) { @@ -46,6 +50,7 @@ main(int argc, char *argv[]) char *object_name = NULL; int object_type = -1; char *property_name = NULL; + __u8 property_value[255*128]; int segno; int verbose = 0; struct nw_property segment; @@ -124,21 +129,29 @@ main(int argc, char *argv[]) goto finished; } - if ((info.property_flags & 2) == 0) - { - fprintf(stderr, "%s: Property %s is not of type SET\n", - argv[0], property_name); - goto finished; - } - segno = 1; while (ncp_read_property_value(conn, object_type, object_name, segno, property_name, &segment) == 0) { - __u32 *value = (__u32 *)(segment.value); + memcpy(&(property_value[(segno-1)*128]), segment.value, 128); + if ((segment.more_flag == 0) || (segno == 255)) + { + break; + } + } + + + if ((info.property_flags & 2) == 0) + { + print_property(property_name, property_value, segno); + } + else + { + int objects = 32 * segno; + __u32 *value = (__u32 *)property_value; int i; - for (i = 0; i < 32; i++) + for (i = 0; i < objects; i++) { struct ncp_bindery_object o; @@ -153,8 +166,8 @@ main(int argc, char *argv[]) { printf("%s %08X %04X\n", o.object_name, - (unsigned int)o.object_id, - (unsigned int)o.object_type); + (unsigned int) o.object_id, + (unsigned int) o.object_type); } else { @@ -163,12 +176,6 @@ main(int argc, char *argv[]) } value += 1; } - - if (segment.more_flag == 0) - { - break; - } - segno += 1; } result = 0; @@ -176,3 +183,79 @@ main(int argc, char *argv[]) ncp_close(conn); return result; } + +static void +print_unknown(__u8 *val) +{ + int j = (128/16); + while (1) + { + int i; + for ( i = 0 ; i < 16 ; i++ ) + { + printf ( "%02X " , val[i] ); + } + printf ( " [" ); + for ( i = 0 ; i < 16 ; i++ ) + { + printf ( "%c" , isprint(val[i]) ? val[i] : '.'); + } + j -= 1; + if ( j == 0 ) + { + printf ( "]\n" ); + return; + } + printf ( "]+\n" ) ; + val += 16; + } +} + +static void +print_string(__u8 *val) +{ + puts(val); +} + +static struct { + char *pname ; + void (*func)(__u8 *) ; +} formats[] = { + { "DESCRIPTION" , print_string } , + { "SURNAME" , print_string } , + { "OBJECT_CLASS" , print_string } , + { "DESCRIPTION" , print_string } , + { "IDENTIFICATION" , print_string } , + { "Q_DIRECTORY" , print_string } , + { NULL , NULL } +}; + +static void +print_property(char *prop_name, __u8 *val, int segments) +{ + int i; + void (*f)(__u8 *); + + for (i = 0; formats[i].pname != NULL; i++) + { + if (strcasecmp(prop_name, formats[i].pname) == 0) + { + break; + } + } + f = formats[i].func; + + if (f != NULL) + { + f(val); + return; + } + + for (i = 0; i < segments; i++) + { + printf("Segment: %03d\n", i+1); + print_unknown(&(val[i*128])); + printf("\n"); + } +} +