pump-0.8.24/0000775000076400007640000000000010322774415011635 5ustar katzjkatzjpump-0.8.24/config.h0000664000076400007640000000022506753103320013244 0ustar katzjkatzj#ifndef H_PUMP_CONFIG #define H_PUMP_CONFIG #include "pump.h" int readPumpConfig(char * configFile, struct pumpOverrideInfo ** overrides); #endif pump-0.8.24/dhcp.c0000664000076400007640000012251610322761351012721 0ustar katzjkatzj/* * Copyright 1999-2001 Red Hat, Inc. * * All Rights Reserved. * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * Except as contained in this notice, the name of Red Hat shall not be * used in advertising or otherwise to promote the sale, use or other dealings * in this Software without prior written authorization from Red Hat. * */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "pump.h" typedef int bp_int32; typedef short bp_int16; #define _(a) (a) #define BOOTP_OPTION_NETMASK 1 #define BOOTP_OPTION_GATEWAY 3 #define BOOTP_OPTION_DNS 6 #define BOOTP_OPTION_HOSTNAME 12 #define BOOTP_OPTION_BOOTFILE 13 #define BOOTP_OPTION_DOMAIN 15 #define BOOTP_OPTION_BROADCAST 28 #define BOOTP_OPTION_NISDOMAIN 40 #define DHCP_OPTION_LOGSRVS 7 #define DHCP_OPTION_LPRSRVS 9 #define DHCP_OPTION_MTU 26 #define DHCP_OPTION_NTPSRVS 42 #define DHCP_OPTION_XFNTSRVS 48 #define DHCP_OPTION_XDMSRVS 49 #define DHCP_OPTION_REQADDR 50 #define DHCP_OPTION_LEASE 51 #define DHCP_OPTION_OVERLOAD 52 #define DHCP_OPTION_TYPE 53 #define DHCP_OPTION_SERVER 54 #define DHCP_OPTION_OPTIONREQ 55 #define DHCP_OPTION_MAXSIZE 57 #define DHCP_OPTION_T1 58 #define DHCP_OPTION_CLASS_IDENTIFIER 60 #define DHCP_OPTION_CLIENT_IDENTIFIER 61 #define BOOTP_CLIENT_PORT 68 #define BOOTP_SERVER_PORT 67 #define BOOTP_OPCODE_REQUEST 1 #define BOOTP_OPCODE_REPLY 2 #define NORESPONSE -10 #define DHCP_TYPE_DISCOVER 1 #define DHCP_TYPE_OFFER 2 #define DHCP_TYPE_REQUEST 3 #define DHCP_TYPE_DECLINE 4 #define DHCP_TYPE_ACK 5 #define DHCP_TYPE_NAK 6 #define DHCP_TYPE_RELEASE 7 #define DHCP_TYPE_INFORM 8 #define DEFAULT_NUM_RETRIES 5 #define DEFAULT_TIMEOUT 30 #define BOOTP_VENDOR_LENGTH 64 #define DHCP_VENDOR_LENGTH 312 struct bootpRequest { char opcode; char hw; char hwlength; char hopcount; bp_int32 xid; bp_int16 secs; bp_int16 flags; bp_int32 ciaddr, yiaddr, server_ip, bootp_gw_ip; char hwaddr[16]; char servername[64]; char bootfile[128]; unsigned char vendor[DHCP_VENDOR_LENGTH]; } ; struct psuedohUdpHeader { bp_int32 source, dest; char zero; char protocol; bp_int16 len; }; static void parseReply(struct bootpRequest * breq, struct pumpNetIntf * intf); static char * prepareRequest(struct bootpRequest * breq, int sock, char * device, time_t startTime); static void parseLease(struct bootpRequest * bresp, struct pumpNetIntf * intf); static void initVendorCodes(struct bootpRequest * breq); static char * handleTransaction(int s, struct pumpOverrideInfo * override, struct bootpRequest * breq, struct bootpRequest * bresp, struct sockaddr_in * serverAddr, struct sockaddr_in * respondant, int useBootpPacket, time_t startTime, int dhcpResponseType); static int dhcpMessageType(struct bootpRequest * response); static int oldKernel(void); static char * getInterfaceInfo(struct pumpNetIntf * intf, int s); static char * perrorstr(char * msg); static void addClientIdentifier(int flags, struct bootpRequest * req); static void buildRequest(struct bootpRequest * req, int flags, int type, char * reqHostname, char *class, int lease); static void updateSecCount(struct bootpRequest * breq, time_t startTime); static const char vendCookie[] = { 99, 130, 83, 99, 255 }; static int oldKernel(void) { struct utsname ubuf; int major1, major2; uname(&ubuf); if (!strcasecmp(ubuf.sysname, "linux")) { if (sscanf(ubuf.release, "%d.%d", &major1, &major2) != 2 || (major1 < 2) || (major1 == 2 && major2 == 0)) { return 1; } } return 0; } static char * getInterfaceInfo(struct pumpNetIntf * intf, int s) { struct ifreq req; struct sockaddr_in * addrp; memset(&req,0,sizeof(req)); strcpy(req.ifr_name, intf->device); if (ioctl(s, SIOCGIFBRDADDR, &req)) return perrorstr("SIOCGIFBRDADDR"); addrp = (struct sockaddr_in *) &req.ifr_addr; intf->broadcast = addrp->sin_addr; intf->set = PUMP_INTFINFO_HAS_BROADCAST; return NULL; } static char * perrorstr(char * msg) { static char * err = NULL; static int errsize = 0; static int newsize; newsize = strlen(msg) + strlen(strerror(errno)) + 3; if (!errsize) { errsize = newsize; err = malloc(errsize); } else if (errsize < newsize) { free(err); errsize = newsize; err = malloc(errsize); } if (err) sprintf(err, "%s: %s", msg, strerror(errno)); else err = "out of memory!"; return err; } char * pumpDisableInterface(char * device) { struct ifreq req; int s; s = socket(AF_INET, SOCK_DGRAM, 0); memset(&req,0,sizeof(req)); strcpy(req.ifr_name, device); if (ioctl(s, SIOCGIFFLAGS, &req)) { close(s); return perrorstr("SIOCGIFFLAGS"); } req.ifr_flags &= ~(IFF_UP | IFF_RUNNING); if (ioctl(s, SIOCSIFFLAGS, &req)) { close(s); return perrorstr("SIOCSIFFLAGS"); } close(s); return NULL; } char * pumpSetupInterface(struct pumpNetIntf * intf) { struct sockaddr_in * addrp; struct ifreq req; struct rtentry route; int s; s = socket(AF_INET, SOCK_DGRAM, 0); memset(&req,0,sizeof(req)); memset(&route,0,sizeof(route)); /* we have to have basic information to get this far */ addrp = (struct sockaddr_in *) &req.ifr_addr; addrp->sin_family = AF_INET; strcpy(req.ifr_name, intf->device); addrp->sin_addr = intf->ip; if (ioctl(s, SIOCSIFADDR, &req)) return perrorstr("SIOCSIFADDR"); addrp->sin_addr = intf->netmask; if (ioctl(s, SIOCSIFNETMASK, &req)) return perrorstr("SIOCSIFNETMASK"); addrp->sin_addr = intf->broadcast; if (ioctl(s, SIOCSIFBRDADDR, &req)) return perrorstr("SIOCSIFBRDADDR"); if (intf->set & PUMP_INTFINFO_HAS_MTU) { req.ifr_mtu = intf->mtu; if (ioctl(s, SIOCSIFMTU, &req)) return perrorstr("SIOCSIFMTU"); } /* Bring up the device, and specifically allow broadcasts through it. Don't mess with flags we don't understand though. */ if (ioctl(s, SIOCGIFFLAGS, &req)) return perrorstr("SIOCGIFFLAGS"); req.ifr_flags |= IFF_UP | IFF_RUNNING | IFF_BROADCAST; if (ioctl(s, SIOCSIFFLAGS, &req)) return perrorstr("SIOCSIFFLAGS"); if (!strcmp(intf->device, "lo") || oldKernel()) { /* add a route for this network */ route.rt_dev = intf->device; route.rt_flags = RTF_UP; route.rt_metric = 0; addrp->sin_family = AF_INET; addrp->sin_port = 0; addrp->sin_addr = intf->network; memcpy(&route.rt_dst, addrp, sizeof(*addrp)); addrp->sin_addr = intf->netmask; memcpy(&route.rt_genmask, addrp, sizeof(*addrp)); if (ioctl(s, SIOCADDRT, &route)) { /* the route cannot already exist, as we've taken the device down */ return perrorstr("SIOCADDRT 1"); } } return NULL; } int pumpSetupDefaultGateway(struct in_addr * gw) { struct sockaddr_in addr; struct rtentry route; int s; s = socket(AF_INET, SOCK_DGRAM, 0); memset(&addr,0,sizeof(addr)); memset(&route,0,sizeof(route)); addr.sin_family = AF_INET; addr.sin_port = 0; addr.sin_addr.s_addr = INADDR_ANY; memcpy(&route.rt_dst, &addr, sizeof(addr)); memcpy(&route.rt_genmask, &addr, sizeof(addr)); addr.sin_addr = *gw; memcpy(&route.rt_gateway, &addr, sizeof(addr)); route.rt_flags = RTF_UP | RTF_GATEWAY; route.rt_metric = 0; route.rt_dev = NULL; if (ioctl(s, SIOCADDRT, &route)) { syslog(LOG_ERR, "failed to set default route: %s", strerror(errno)); return -1; } return 0; } char * pumpPrepareInterface(struct pumpNetIntf * intf, int s) { struct sockaddr_in * addrp; struct ifreq req; struct rtentry route; memset(&req,0,sizeof(req)); addrp = (struct sockaddr_in *) &req.ifr_addr; strcpy(req.ifr_name, intf->device); addrp->sin_family = AF_INET; addrp->sin_port = 0; memset(&addrp->sin_addr, 0, sizeof(addrp->sin_addr)); addrp->sin_family = AF_INET; addrp->sin_addr.s_addr = htonl(0); if (ioctl(s, SIOCSIFADDR, &req)) return perrorstr("SIOCSIFADDR"); if (oldKernel()) { if (ioctl(s, SIOCSIFNETMASK, &req)) return perrorstr("SIOCSIFNETMASK"); /* the broadcast address is 255.255.255.255 */ memset(&addrp->sin_addr, 255, sizeof(addrp->sin_addr)); if (ioctl(s, SIOCSIFBRDADDR, &req)) return perrorstr("SIOCSIFBRDADDR"); } if (ioctl(s, SIOCGIFFLAGS, &req)) return perrorstr("SIOCGIFFLAGS"); req.ifr_flags |= IFF_UP | IFF_BROADCAST | IFF_RUNNING; if (ioctl(s, SIOCSIFFLAGS, &req)) return perrorstr("SIOCSIFFLAGS"); memset(&route, 0, sizeof(route)); memcpy(&route.rt_gateway, addrp, sizeof(*addrp)); addrp->sin_family = AF_INET; addrp->sin_port = 0; addrp->sin_addr.s_addr = INADDR_ANY; memcpy(&route.rt_dst, addrp, sizeof(*addrp)); memcpy(&route.rt_genmask, addrp, sizeof(*addrp)); route.rt_dev = intf->device; route.rt_flags = RTF_UP; route.rt_metric = 0; if (ioctl(s, SIOCADDRT, &route)) { if (errno != EEXIST) { close(s); return perrorstr("SIOCADDRT 3"); } } return NULL; } static int dhcpMessageType(struct bootpRequest * response) { unsigned char * chptr; unsigned char option, length; chptr = response->vendor; chptr += 4; while (*chptr != 0xFF) { option = *chptr++; if (!option) continue; length = *chptr++; if (option == DHCP_OPTION_TYPE) return *chptr; chptr += length; if ( ((void *)chptr - (void *)response->vendor) >= DHCP_VENDOR_LENGTH) return -1; } return -1; } static void setMissingIpInfo(struct pumpNetIntf * intf) { bp_int32 ipNum = *((bp_int32 *) &intf->ip); bp_int32 nmNum = *((bp_int32 *) &intf->netmask); bp_int32 ipRealNum = ntohl(ipNum); if (!(intf->set & PUMP_INTFINFO_HAS_NETMASK)) { if (((ipRealNum & 0xFF000000) >> 24) <= 127) nmNum = 0xFF000000; else if (((ipRealNum & 0xFF000000) >> 24) <= 191) nmNum = 0xFFFF0000; else nmNum = 0xFFFFFF00; *((bp_int32 *) &intf->netmask) = nmNum = htonl(nmNum); syslog (LOG_DEBUG, "intf: netmask: %s", inet_ntoa (intf->netmask)); } if (!(intf->set & PUMP_INTFINFO_HAS_BROADCAST)) { *((bp_int32 *) &intf->broadcast) = (ipNum & nmNum) | ~(nmNum); syslog (LOG_DEBUG, "intf: broadcast: %s", inet_ntoa (intf->broadcast)); } if (!(intf->set & PUMP_INTFINFO_HAS_NETWORK)) { *((bp_int32 *) &intf->network) = ipNum & nmNum; syslog (LOG_DEBUG, "intf: network: %s", inet_ntoa (intf->network)); } intf->set |= PUMP_INTFINFO_HAS_BROADCAST | PUMP_INTFINFO_HAS_NETWORK | PUMP_INTFINFO_HAS_NETMASK; } static void parseReply(struct bootpRequest * breq, struct pumpNetIntf * intf) { unsigned int i; unsigned char * chptr; unsigned char option, length; syslog (LOG_DEBUG, "intf: device: %s", intf->device); syslog (LOG_DEBUG, "intf: set: %i", intf->set); syslog (LOG_DEBUG, "intf: bootServer: %s", inet_ntoa (intf->bootServer)); syslog (LOG_DEBUG, "intf: reqLease: %i", intf->reqLease); i = ~(PUMP_INTFINFO_HAS_IP | PUMP_INTFINFO_HAS_NETMASK | PUMP_INTFINFO_HAS_NETWORK | PUMP_INTFINFO_HAS_BROADCAST); intf->set &= i; if (strlen(breq->bootfile)) { intf->bootFile = strdup(breq->bootfile); intf->set |= PUMP_INTFINFO_HAS_BOOTFILE; syslog (LOG_DEBUG, "intf: bootFile: %s", intf->bootFile); } else { intf->set &= ~PUMP_INTFINFO_HAS_BOOTFILE; } memcpy(&intf->ip, &breq->yiaddr, 4); intf->set |= PUMP_INTFINFO_HAS_IP; syslog (LOG_DEBUG, "intf: ip: %s", inet_ntoa (intf->ip)); memcpy(&intf->nextServer, &breq->server_ip, 4); intf->set |= PUMP_INTFINFO_HAS_NEXTSERVER; syslog (LOG_DEBUG, "intf: next server: %s", inet_ntoa (intf->nextServer)); chptr = breq->vendor; chptr += 4; while (*chptr != 0xFF && (void *) chptr < (void *) breq->vendor + DHCP_VENDOR_LENGTH) { option = *chptr++; if (!option) continue; length = *chptr++; switch (option) { case BOOTP_OPTION_DNS: intf->numDns = 0; for (i = 0; i < length; i += 4) { if (intf->numDns < MAX_DNS_SERVERS) { memcpy(&intf->dnsServers[intf->numDns++], chptr + i, 4); syslog(LOG_DEBUG, "intf: dnsServers[%i]: %s", i/4, inet_ntoa (intf->dnsServers[i/4])); } } intf->set |= PUMP_NETINFO_HAS_DNS; syslog (LOG_DEBUG, "intf: numDns: %i", intf->numDns); break; case BOOTP_OPTION_NETMASK: memcpy(&intf->netmask, chptr, 4); intf->set |= PUMP_INTFINFO_HAS_NETMASK; syslog (LOG_DEBUG, "intf: netmask: %s", inet_ntoa (intf->netmask)); break; case BOOTP_OPTION_NISDOMAIN: if ((intf->nisDomain = malloc(length + 1))) { memcpy(intf->nisDomain, chptr, length); intf->nisDomain[length] = '\0'; intf->set |= PUMP_NETINFO_HAS_NISDOMAIN; syslog (LOG_DEBUG, "intf: nisDomain: %s", intf->nisDomain); } break; case BOOTP_OPTION_DOMAIN: if ((intf->domain = malloc(length + 1))) { memcpy(intf->domain, chptr, length); intf->domain[length] = '\0'; intf->set |= PUMP_NETINFO_HAS_DOMAIN; syslog (LOG_DEBUG, "intf: domain: %s", intf->domain); } break; case BOOTP_OPTION_BROADCAST: memcpy(&intf->broadcast, chptr, 4); intf->set |= PUMP_INTFINFO_HAS_BROADCAST; syslog (LOG_DEBUG, "intf: broadcast: %s", inet_ntoa (intf->broadcast)); break; case BOOTP_OPTION_GATEWAY: memcpy(&intf->gateway, chptr, 4); intf->set |= PUMP_NETINFO_HAS_GATEWAY; syslog (LOG_DEBUG, "intf: gateway: %s", inet_ntoa (intf->gateway)); break; case BOOTP_OPTION_HOSTNAME: if ((intf->hostname = malloc(length + 1))) { memcpy(intf->hostname, chptr, length); intf->hostname[length] = '\0'; intf->set |= PUMP_NETINFO_HAS_HOSTNAME; syslog (LOG_DEBUG, "intf: hostname: %s", intf->hostname); } break; case BOOTP_OPTION_BOOTFILE: /* we ignore this right now */ break; case DHCP_OPTION_LOGSRVS: intf->numLog = 0; for (i = 0; i < length; i += 4) { if (intf->numLog < MAX_LOG_SERVERS) { memcpy(&intf->logServers[intf->numLog++], chptr + i, 4); syslog(LOG_DEBUG, "intf: logServers[%i]: %s", i/4, inet_ntoa (intf->logServers[i/4])); } } intf->set |= PUMP_NETINFO_HAS_LOGSRVS; syslog (LOG_DEBUG, "intf: numLog: %i", intf->numLog); break; case DHCP_OPTION_LPRSRVS: intf->numLpr = 0; for (i = 0; i < length; i += 4) { if (intf->numLpr < MAX_LPR_SERVERS) { memcpy(&intf->lprServers[intf->numLpr++], chptr + i, 4); syslog(LOG_DEBUG, "intf: lprServers[%i]: %s", i/4, inet_ntoa (intf->lprServers[i/4])); } } intf->set |= PUMP_NETINFO_HAS_LPRSRVS; syslog (LOG_DEBUG, "intf: numLpr: %i", intf->numLpr); break; case DHCP_OPTION_NTPSRVS: intf->numNtp = 0; for (i = 0; i < length; i += 4) { if (intf->numNtp < MAX_NTP_SERVERS) { memcpy(&intf->ntpServers[intf->numNtp++], chptr + i, 4); syslog(LOG_DEBUG, "intf: ntpServers[%i]: %s", i/4, inet_ntoa (intf->ntpServers[i/4])); } } intf->set |= PUMP_NETINFO_HAS_NTPSRVS; syslog (LOG_DEBUG, "intf: numNtp: %i", intf->numNtp); break; case DHCP_OPTION_XFNTSRVS: intf->numXfs = 0; for (i = 0; i < length; i += 4) { if (intf->numXfs < MAX_XFS_SERVERS) { memcpy(&intf->xfntServers[intf->numXfs++], chptr + i, 4); syslog(LOG_DEBUG, "intf: xfntServers[%i]: %s", i/4, inet_ntoa (intf->xfntServers[i/4])); } } intf->set |= PUMP_NETINFO_HAS_XFNTSRVS; syslog (LOG_DEBUG, "intf: numXfs: %i", intf->numXfs); break; case DHCP_OPTION_XDMSRVS: intf->numXdm = 0; for (i = 0; i < length; i += 4) { if (intf->numXdm < MAX_XDM_SERVERS) { memcpy(&intf->xdmServers[intf->numXdm++], chptr + i, 4); syslog(LOG_DEBUG, "intf: xdmServers[%i]: %s", i/4, inet_ntoa (intf->xdmServers[i/4])); } } intf->set |= PUMP_NETINFO_HAS_XDMSRVS; syslog (LOG_DEBUG, "intf: numXdm: %i", intf->numXdm); break; case DHCP_OPTION_OVERLOAD: /* FIXME: we should pay attention to this */ break; case DHCP_OPTION_MTU: { uint16_t us; memcpy(&us, chptr, 2); intf->mtu = (int)ntohs(us); intf->set |= PUMP_INTFINFO_HAS_MTU; syslog (LOG_DEBUG, "intf: mtu: %i", intf->mtu); } break; } chptr += length; } setMissingIpInfo(intf); } static void initVendorCodes(struct bootpRequest * breq) { memcpy(breq->vendor, vendCookie, sizeof(vendCookie)); } static char * prepareRequest(struct bootpRequest * breq, int sock, char * device, time_t startTime) { struct ifreq req; int i; memset(breq, 0, sizeof(*breq)); memset(&req, 0, sizeof(req)); breq->opcode = BOOTP_OPCODE_REQUEST; strcpy(req.ifr_name, device); if (ioctl(sock, SIOCGIFHWADDR, &req)) return perrorstr("SIOCSIFHWADDR"); breq->hw = req.ifr_hwaddr.sa_family; breq->hwlength = IFHWADDRLEN; memcpy(breq->hwaddr, req.ifr_hwaddr.sa_data, IFHWADDRLEN); /* we should use something random here, but I don't want to start using stuff from the math library */ breq->xid = pumpUptime(); for (i = 0; i < IFHWADDRLEN; i++) breq->xid ^= breq->hwaddr[i] << (8 * (i % 4)); breq->hopcount = 0; breq->secs = 0; initVendorCodes(breq); return NULL; } static void updateSecCount(struct bootpRequest * breq, time_t startTime) { breq->secs = pumpUptime() - startTime; } static unsigned int verifyChecksum(void * buf, int length, void * buf2, int length2) { unsigned int csum; unsigned short * sp; csum = 0; for (sp = (unsigned short *) buf; length > 0; (length -= 2), sp++) csum += *sp; /* this matches rfc 1071, but not Steven's */ if (length) csum += *((unsigned char *) sp); for (sp = (unsigned short *) buf2; length2 > 0; (length2 -= 2), sp++) csum += *sp; /* this matches rfc 1071, but not Steven's */ if (length) csum += *((unsigned char *) sp); while (csum >> 16) csum = (csum & 0xffff) + (csum >> 16); if (csum!=0x0000 && csum != 0xffff) return 0; else return 1; } void debugbootpRequest(char *name, struct bootpRequest *breq) { char vendor[28], vendor2[28]; int i; struct in_addr address; unsigned char *vndptr; unsigned char option, length; memset(&address,0,sizeof(address)); syslog (LOG_DEBUG, "%s: opcode: %i", name, breq->opcode); syslog (LOG_DEBUG, "%s: hw: %i", name, breq->hw); syslog (LOG_DEBUG, "%s: hwlength: %i", name, breq->hwlength); syslog (LOG_DEBUG, "%s: hopcount: %i", name, breq->hopcount); syslog (LOG_DEBUG, "%s: xid: 0x%08x", name, breq->xid); syslog (LOG_DEBUG, "%s: secs: %i", name, breq->secs); syslog (LOG_DEBUG, "%s: flags: 0x%04x", name, breq->flags); address.s_addr = breq->ciaddr; syslog (LOG_DEBUG, "%s: ciaddr: %s", name, inet_ntoa (address)); address.s_addr = breq->yiaddr; syslog (LOG_DEBUG, "%s: yiaddr: %s", name, inet_ntoa (address)); address.s_addr = breq->server_ip; syslog (LOG_DEBUG, "%s: server_ip: %s", name, inet_ntoa (address)); address.s_addr = breq->bootp_gw_ip; syslog (LOG_DEBUG, "%s: bootp_gw_ip: %s", name, inet_ntoa (address)); syslog (LOG_DEBUG, "%s: hwaddr: %s", name, breq->hwaddr); syslog (LOG_DEBUG, "%s: servername: %s", name, breq->servername); syslog (LOG_DEBUG, "%s: bootfile: %s", name, breq->bootfile); vndptr = breq->vendor; sprintf (vendor, "0x%02x 0x%02x 0x%02x 0x%02x", vndptr[0], vndptr[1], vndptr[2], vndptr[3]); vndptr += 4; syslog (LOG_DEBUG, "%s: vendor: %s", name, vendor); for (; (void *) vndptr < (void *) breq->vendor + DHCP_VENDOR_LENGTH;) { option = *vndptr++; if (option == 0xFF) { sprintf (vendor, "0x%02x", option); vndptr = breq->vendor + DHCP_VENDOR_LENGTH; } else if (option == 0x00) { for (i = 1; *vndptr == 0x00; i++, vndptr++); sprintf (vendor, "0x%02x x %i", option, i); } else { length = *vndptr++; sprintf (vendor, "%3u %3u", option, length); for (i = 0; i < length; i++) { if (strlen (vendor) > 22) { syslog (LOG_DEBUG, "%s: vendor: %s", name, vendor); strcpy (vendor, "++++++"); } snprintf (vendor2, 27, "%s 0x%02x", vendor, *vndptr++); strcpy (vendor, vendor2); } } syslog (LOG_DEBUG, "%s: vendor: %s", name, vendor); } return; } static char * handleTransaction(int s, struct pumpOverrideInfo * override, struct bootpRequest * breq, struct bootpRequest * bresp, struct sockaddr_in * serverAddr, struct sockaddr_in * respondant, int useBootpPacket, time_t startTime, int dhcpResponseType) { struct timeval tv; fd_set readfs; int i, j; struct sockaddr_pkt tmpAddress; socklen_t socksize; int gotit = 0; int tries; int nextTimeout = 2; time_t timeoutTime = 0; int sin; int resend = 1; struct ethhdr; char ethPacket[ETH_FRAME_LEN]; struct iphdr * ipHdr = NULL; struct udphdr * udpHdr = NULL; struct psuedohUdpHeader pHdr; time_t start = pumpUptime(); memset(&pHdr,0,sizeof(pHdr)); debugbootpRequest("breq", breq); if (!override) { override = alloca(sizeof(*override)); pumpInitOverride(override); } tries = override->numRetries + 1; sin = socket(AF_PACKET, SOCK_DGRAM, ntohs(ETH_P_IP)); if (sin < 0) { return strerror(errno); } while (!gotit && tries) { i = sizeof(*breq); if (useBootpPacket) i -= (DHCP_VENDOR_LENGTH - BOOTP_VENDOR_LENGTH); if (resend) { if (startTime != -1) updateSecCount(breq, startTime); if (sendto(s, breq, i, 0, (struct sockaddr *) serverAddr, sizeof(*serverAddr)) != i) { close(sin); return perrorstr("sendto"); } tries--; nextTimeout *= 2; switch (pumpUptime() & 4) { case 0: if (nextTimeout >= 2) nextTimeout--; break; case 1: nextTimeout++; break; } timeoutTime = pumpUptime() + nextTimeout; i = override->timeout + start; if (timeoutTime > i) timeoutTime = i; resend = 0; } if (dhcpResponseType == NORESPONSE) { close(sin); return NULL; } tv.tv_usec = 0; tv.tv_sec = timeoutTime - pumpUptime(); if (timeoutTime < pumpUptime()) { tries = 0; continue; } FD_ZERO(&readfs); FD_SET(sin, &readfs); switch ((select(sin + 1, &readfs, NULL, NULL, &tv))) { case 0: resend = 1; break; case 1: socksize = sizeof(tmpAddress); if ((j = recvfrom(sin, ethPacket, sizeof(ethPacket), 0, (struct sockaddr *) &tmpAddress, &socksize)) < 0) return perrorstr("recvfrom"); /* We need to do some basic sanity checking of the header */ if (j < (sizeof(*ipHdr) + sizeof(*udpHdr))) continue; ipHdr = (void *) ethPacket; if (!verifyChecksum(NULL, 0, ipHdr, sizeof(*ipHdr))) continue; /* XXX the broadcast must always be from 0.0.0.0, so we'll set that now. */ ipHdr->saddr = 0; if (ntohs(ipHdr->tot_len) > j) continue; j = ntohs(ipHdr->tot_len); if (ipHdr->protocol != IPPROTO_UDP) continue; udpHdr = (void *) (ethPacket + sizeof(*ipHdr)); pHdr.source = ipHdr->saddr; pHdr.dest = ipHdr->daddr; pHdr.zero = 0; pHdr.protocol = ipHdr->protocol; pHdr.len = udpHdr->len; /* egcs bugs make this problematic if (udpHdr->check && !verifyChecksum(&pHdr, sizeof(pHdr), udpHdr, j - sizeof(*ipHdr))) continue; */ if (ntohs(udpHdr->source) != BOOTP_SERVER_PORT) continue; if (ntohs(udpHdr->dest) != BOOTP_CLIENT_PORT) continue; /* Go on with this packet; it looks sane */ /* Originally copied sizeof (*bresp) - this is a security problem due to a potential underflow of the source buffer. Also, it trusted that the packet was properly 0xFF terminated, which is not true in the case of the DHCP server on Cisco 800 series ISDN router. */ memset (bresp, 0xFF, sizeof (*bresp)); memcpy (bresp, (char *) udpHdr + sizeof (*udpHdr), j - sizeof (*ipHdr) - sizeof (*udpHdr)); /* sanity checks */ if (bresp->xid != breq->xid) { syslog(LOG_DEBUG, "reject: xid: 0x%08x <--> 0x%08x", breq->xid, bresp->xid); continue; } if (bresp->opcode != BOOTP_OPCODE_REPLY) { syslog(LOG_DEBUG, "reject: opcode: %i <--> %i", BOOTP_OPCODE_REPLY, bresp->opcode); continue; } if (bresp->hwlength != breq->hwlength) { syslog(LOG_DEBUG, "reject: hwlength: %i <--> %i", breq->hwlength, bresp->hwlength); continue; } if (memcmp(bresp->hwaddr, breq->hwaddr, bresp->hwlength)) { syslog(LOG_DEBUG, "reject: hwaddr: %s <--> %s", breq->hwaddr, bresp->hwaddr); continue; } i = dhcpMessageType(bresp); if (!(i == -1 && useBootpPacket) && (i != dhcpResponseType)) { syslog(LOG_DEBUG, "reject: msgtyp: %i", i); continue; } if (memcmp(bresp->vendor, vendCookie, 4)) { syslog(LOG_DEBUG, "reject: vendor: 0x%02x 0x%02x 0x%02x 0x%02x" " <--> 0x%02x 0x%02x 0x%02x 0x%02x", vendCookie[0], vendCookie[1], vendCookie[2], vendCookie[3], bresp->vendor[0], bresp->vendor[1], bresp->vendor[2], bresp->vendor[3]); continue; } /* if (respondant) *respondant = tmpAddress; */ gotit = 1; break; default: close(sin); return perrorstr("select"); } } if (!gotit) { close(sin); return _("No DHCP reply received"); } close(sin); debugbootpRequest("bresp", bresp); return NULL; } static void addVendorCode(struct bootpRequest * breq, unsigned char option, unsigned char length, void * data) { unsigned char * chptr; int theOption, theLength; chptr = breq->vendor; chptr += 4; while (*chptr != 0xFF && *chptr != option) { theOption = *chptr++; if (!theOption) continue; theLength = *chptr++; chptr += theLength; } *chptr++ = option; *chptr++ = length; memcpy(chptr, data, length); chptr[length] = 0xff; } static int getVendorCode(struct bootpRequest * bresp, unsigned char option, void * data, size_t maxsize) { unsigned char * chptr; unsigned int length, theOption; chptr = bresp->vendor; chptr += 4; while (*chptr != 0xFF && *chptr != option) { theOption = *chptr++; if (!theOption) continue; length = *chptr++; chptr += length; if ( ((void *)chptr - (void *)bresp->vendor) >= DHCP_VENDOR_LENGTH) return 1; } if (*chptr++ == 0xff) return 1; length = *chptr++; if(length > maxsize) length = maxsize; memcpy(data, chptr, length); return 0; } static int createSocket(const char * device) { struct sockaddr_in clientAddr; int s; int true = 1; s = socket(AF_INET, SOCK_DGRAM, 0); if (s < 0) return -1; if (setsockopt(s, SOL_SOCKET, SO_BROADCAST, &true, sizeof(true))) { close(s); return -1; } if (setsockopt(s, SOL_SOCKET, SO_BINDTODEVICE, device, strlen(device)+1)) { syslog(LOG_ERR, "SO_BINDTODEVICE %s (%zd) failed: %s", device, strlen(device), strerror(errno)); } memset(&clientAddr.sin_addr, 0, sizeof(&clientAddr.sin_addr)); clientAddr.sin_family = AF_INET; clientAddr.sin_port = htons(BOOTP_CLIENT_PORT); /* bootp client */ if (bind(s, (struct sockaddr *) &clientAddr, sizeof(clientAddr))) { close(s); return -1; } return s; } int pumpDhcpRelease(struct pumpNetIntf * intf) { struct bootpRequest breq, bresp; unsigned char messageType; struct sockaddr_in serverAddr; char * chptr; int s; char hostname[1024]; if (!(intf->set & PUMP_INTFINFO_HAS_LEASE)) { pumpDisableInterface(intf->device); syslog(LOG_INFO, "disabling interface %s", intf->device); return 0; } if ((s = createSocket(intf->device)) < 0) return 1; if ((chptr = prepareRequest(&breq, s, intf->device, pumpUptime()))) { close(s); while (1) { pumpDisableInterface(intf->device); return 0; } } messageType = DHCP_TYPE_RELEASE; addVendorCode(&breq, DHCP_OPTION_TYPE, 1, &messageType); memcpy(&breq.ciaddr, &intf->ip, sizeof(breq.ciaddr)); /* Dynamic DHCP implementations need the hostname here. */ if (intf->set & PUMP_NETINFO_HAS_HOSTNAME) { addVendorCode(&breq, BOOTP_OPTION_HOSTNAME, strlen(intf->hostname) + 1, intf->hostname); } else { gethostname(hostname, sizeof(hostname)); if (strcmp(hostname, "localhost") && strcmp(hostname, "localhost.localdomain")) { addVendorCode(&breq, BOOTP_OPTION_HOSTNAME, strlen(hostname) + 1, hostname); } } serverAddr.sin_family = AF_INET; serverAddr.sin_port = htons(BOOTP_SERVER_PORT); /* bootp server */ serverAddr.sin_addr = intf->bootServer; handleTransaction(s, NULL, &breq, &bresp, &serverAddr, NULL, 0, -1, NORESPONSE); pumpDisableInterface(intf->device); close(s); if (intf->set & PUMP_NETINFO_HAS_HOSTNAME) free(intf->hostname); if (intf->set & PUMP_NETINFO_HAS_DOMAIN) free(intf->domain); syslog(LOG_INFO, "disabling interface %s", intf->device); return 0; } /* This is somewhat broken. We try only to renew the lease. If we fail, we don't try to completely rebind. This doesn't follow the DHCP spec, but for the install it should be a reasonable compromise. */ int pumpDhcpRenew(struct pumpNetIntf * intf) { struct bootpRequest breq, bresp; unsigned char messageType; struct sockaddr_in serverAddr; char * chptr; int s; int i; char hostname[1024]; time_t startTime = pumpUptime(); s = createSocket(intf->device); if ((chptr = prepareRequest(&breq, s, intf->device, pumpUptime()))) { close(s); while (1); /* problem */ } messageType = DHCP_TYPE_REQUEST; addVendorCode(&breq, DHCP_OPTION_TYPE, 1, &messageType); memcpy(&breq.ciaddr, &intf->ip, sizeof(breq.ciaddr)); addClientIdentifier(intf->flags, &breq); /* Dynamic DHCP implementations need the hostname here. */ if (intf->set & PUMP_NETINFO_HAS_HOSTNAME) { addVendorCode(&breq, BOOTP_OPTION_HOSTNAME, strlen(intf->hostname) + 1, intf->hostname); } else { gethostname(hostname, sizeof(hostname)); if (strcmp(hostname, "localhost") && strcmp(hostname, "localhost.localdomain")) { addVendorCode(&breq, BOOTP_OPTION_HOSTNAME, strlen(hostname) + 1, hostname); } } i = htonl(intf->reqLease); addVendorCode(&breq, DHCP_OPTION_LEASE, 4, &i); serverAddr.sin_family = AF_INET; serverAddr.sin_port = htons(BOOTP_SERVER_PORT); /* bootp server */ serverAddr.sin_addr = intf->bootServer; if (handleTransaction(s, NULL, &breq, &bresp, &serverAddr, NULL, 0, startTime, DHCP_TYPE_ACK)) { close(s); return 1; } parseLease(&bresp, intf); syslog(LOG_INFO, "renewed lease for interface %s", intf->device); close(s); return 0; } static void parseLease(struct bootpRequest * bresp, struct pumpNetIntf * intf) { int lease; time_t now; intf->set &= ~PUMP_INTFINFO_HAS_LEASE; if (getVendorCode(bresp, DHCP_OPTION_LEASE, &lease, sizeof(int))) return; lease = ntohl(lease); if (lease && lease != 0xffffffff) { now = pumpUptime(); intf->set |= PUMP_INTFINFO_HAS_LEASE; intf->leaseExpiration = now + lease; intf->renewAt = now + (7 * lease / 8); } } static void addClientIdentifier(int flags, struct bootpRequest * req) { char ident[256]; /* * Microsoft uses a client identifier field of the 802.3 address with a * pre-byte of a "1". In order to re-use the DHCP address that they set * for this interface, we have to mimic their identifier. */ if (!(flags & PUMP_FLAG_WINCLIENTID)) return; ident[0] = 1; memcpy(ident + 1, req->hwaddr, req->hwlength); addVendorCode(req, DHCP_OPTION_CLIENT_IDENTIFIER, req->hwlength + 1, ident); } static void buildRequest(struct bootpRequest * req, int flags, int type, char * reqHostname, char *class, int lease) { unsigned char messageType = type; short aShort; int anInt; int numOptions; char optionsRequested[50]; static int aCount = 1; addVendorCode(req, DHCP_OPTION_TYPE, 1, &messageType); addClientIdentifier(flags, req); aShort = ntohs(sizeof(struct bootpRequest)); addVendorCode(req, DHCP_OPTION_MAXSIZE, 2, &aShort); numOptions = 0; optionsRequested[numOptions++] = BOOTP_OPTION_NETMASK; optionsRequested[numOptions++] = BOOTP_OPTION_GATEWAY; optionsRequested[numOptions++] = BOOTP_OPTION_DNS; optionsRequested[numOptions++] = BOOTP_OPTION_DOMAIN; optionsRequested[numOptions++] = BOOTP_OPTION_BROADCAST; optionsRequested[numOptions++] = BOOTP_OPTION_HOSTNAME; optionsRequested[numOptions++] = DHCP_OPTION_LOGSRVS; optionsRequested[numOptions++] = DHCP_OPTION_LPRSRVS; optionsRequested[numOptions++] = DHCP_OPTION_NTPSRVS; optionsRequested[numOptions++] = DHCP_OPTION_XFNTSRVS; optionsRequested[numOptions++] = DHCP_OPTION_XDMSRVS; optionsRequested[numOptions++] = DHCP_OPTION_MTU; addVendorCode(req, DHCP_OPTION_OPTIONREQ, numOptions, optionsRequested); req->xid += aCount; if (!reqHostname) { reqHostname = alloca(200); gethostname(reqHostname, 200); if (!strcmp(reqHostname, "localhost") || !strcmp(reqHostname, "localhost.localdomain")) reqHostname = NULL; } if (reqHostname) { addVendorCode(req, BOOTP_OPTION_HOSTNAME, strlen(reqHostname) + 1, reqHostname); } if (class) { addVendorCode(req, DHCP_OPTION_CLASS_IDENTIFIER, strlen(class) + 1, class); } anInt = htonl(lease); addVendorCode(req, DHCP_OPTION_LEASE, 4, &anInt); } char * pumpDhcpClassRun(char * device, int flags, int reqLease, char * reqHostname, char * class, struct pumpNetIntf * intf, struct pumpOverrideInfo * override) { int s; struct sockaddr_in serverAddr; struct sockaddr_in clientAddr; struct sockaddr_in broadcastAddr; struct bootpRequest breq, bresp; char * chptr; time_t startTime = pumpUptime(); int true = 1; int ttl = 16; char * saveDeviceName; unsigned char messageType; /* If device is the same as intf->device, don't let the memset() blow away the device name */ saveDeviceName = alloca(strlen(device) + 1); strcpy(saveDeviceName, device); device = saveDeviceName; memset(intf, 0, sizeof(*intf)); strcpy(intf->device, device); intf->reqLease = reqLease; intf->set |= PUMP_INTFINFO_HAS_REQLEASE; s = socket(AF_INET, SOCK_DGRAM, 0); if (s < 0) { return perrorstr("socket"); } if (setsockopt(s, SOL_SOCKET, SO_BROADCAST, &true, sizeof(true))) { close(s); return perrorstr("setsockopt"); } if (setsockopt(s, SOL_IP, IP_TTL, &ttl, sizeof(ttl))) { close(s); return perrorstr("setsockopt"); } if (flags & PUMP_FLAG_NOCONFIG) { if ((chptr = getInterfaceInfo(intf, s))) { close(s); return chptr; } } else if ((chptr = pumpPrepareInterface(intf, s))) { close(s); return chptr; } if ((chptr = prepareRequest(&breq, s, intf->device, startTime))) { close(s); pumpDisableInterface(intf->device); return chptr; } messageType = DHCP_TYPE_DISCOVER; addVendorCode(&breq, DHCP_OPTION_TYPE, 1, &messageType); if (reqHostname) { syslog(LOG_DEBUG, "HOSTNAME: requesting %s\n", reqHostname); addVendorCode(&breq, BOOTP_OPTION_HOSTNAME, strlen(reqHostname) + 1, reqHostname); } if (class) { syslog(LOG_DEBUG, "CLASSID: sending %s\n", class); addVendorCode(&breq, DHCP_OPTION_CLASS_IDENTIFIER, strlen(class) + 1, class); } memset(&clientAddr.sin_addr, 0, sizeof(&clientAddr.sin_addr)); clientAddr.sin_family = AF_INET; clientAddr.sin_port = htons(BOOTP_CLIENT_PORT); /* bootp client */ if (bind(s, (struct sockaddr *) &clientAddr, sizeof(clientAddr))) { pumpDisableInterface(intf->device); close(s); return perrorstr("bind"); } memset(&serverAddr,0,sizeof(serverAddr)); serverAddr.sin_family = AF_INET; serverAddr.sin_port = htons(BOOTP_SERVER_PORT); /* bootp server */ #if 0 /* seems like a good idea?? */ if (intf->set & PUMP_INTFINFO_HAS_BOOTSERVER) serverAddr.sin_addr = intf->bootServer; #endif memset(&broadcastAddr,0,sizeof(broadcastAddr)); broadcastAddr.sin_family = AF_INET; broadcastAddr.sin_port = htons(BOOTP_SERVER_PORT); #if 0 /* this too! */ if (intf->set & PUMP_INTFINFO_HAS_BROADCAST) broadcastAddr.sin_addr = intf->broadcast; #endif memset(&broadcastAddr.sin_addr, 0xff, sizeof(broadcastAddr.sin_addr)); /* all 1's broadcast */ syslog (LOG_DEBUG, "PUMP: sending discover\n"); if (override && (override->flags & OVERRIDE_FLAG_NOBOOTP)) syslog (LOG_DEBUG, "PUMP: Ignoring non-DHCP BOOTP responses\n"); if ((chptr = handleTransaction(s, override, &breq, &bresp, &broadcastAddr, NULL, (override && (override->flags & OVERRIDE_FLAG_NOBOOTP))?0:1, startTime, DHCP_TYPE_OFFER))) { close(s); pumpDisableInterface(intf->device); return chptr; } /* Otherwise we're in the land of bootp */ if (dhcpMessageType(&bresp) == DHCP_TYPE_OFFER) { /* Admittedly, this seems a bit odd. If we find a dhcp server, we rerun the dhcp discover broadcast, but with the proper option field this time. This makes me rfc compliant. */ syslog (LOG_DEBUG, "got dhcp offer\n"); initVendorCodes(&breq); buildRequest(&breq, flags, DHCP_TYPE_DISCOVER, reqHostname, class, intf->reqLease); syslog (LOG_DEBUG, "PUMP: sending second discover"); /* Send another DHCP_DISCOVER with the proper option list */ if ((chptr = handleTransaction(s, override, &breq, &bresp, &broadcastAddr, NULL, 0, startTime, DHCP_TYPE_OFFER))) { close(s); pumpDisableInterface(intf->device); return chptr; } if (dhcpMessageType(&bresp) != DHCP_TYPE_OFFER) { close(s); pumpDisableInterface(intf->device); return "dhcp offer expected"; } syslog (LOG_DEBUG, "PUMP: got an offer"); if (getVendorCode(&bresp, DHCP_OPTION_SERVER, &serverAddr.sin_addr, sizeof(struct in_addr))) { syslog (LOG_DEBUG, "DHCPOFFER didn't include server address"); intf->bootServer = broadcastAddr.sin_addr; } initVendorCodes(&breq); buildRequest(&breq, flags, DHCP_TYPE_REQUEST, reqHostname, class, intf->reqLease); addVendorCode(&breq, DHCP_OPTION_SERVER, 4, &serverAddr.sin_addr); addVendorCode(&breq, DHCP_OPTION_REQADDR, 4, &bresp.yiaddr); /* why do we need to use the broadcast address here? better reread the spec! */ if ((chptr = handleTransaction(s, override, &breq, &bresp, &broadcastAddr, NULL, 0, startTime, DHCP_TYPE_ACK))) { close(s); pumpDisableInterface(intf->device); return chptr; } syslog (LOG_DEBUG, "PUMP: got lease"); parseLease(&bresp, intf); if (getVendorCode(&bresp, DHCP_OPTION_SERVER, &intf->bootServer, sizeof(struct in_addr))) { syslog (LOG_DEBUG, "DHCPACK didn't include server address"); intf->bootServer = broadcastAddr.sin_addr; } intf->set |= PUMP_INTFINFO_HAS_BOOTSERVER; } close(s); parseReply(&bresp, intf); if (flags & PUMP_FLAG_FORCEHNLOOKUP) intf->set &= ~(PUMP_NETINFO_HAS_DOMAIN | PUMP_NETINFO_HAS_HOSTNAME); /* Save these for later */ intf->flags = flags & PUMP_FLAG_WINCLIENTID; return NULL; } char * pumpDhcpRun(char * device, int flags, int reqLease, char * reqHostname, struct pumpNetIntf * intf, struct pumpOverrideInfo * override) { return pumpDhcpClassRun(device, flags, reqLease, reqHostname, NULL, intf, override); } void pumpInitOverride(struct pumpOverrideInfo * override) { strcpy(override->intf.device, "MASTER"); override->timeout = DEFAULT_TIMEOUT; override->numRetries = DEFAULT_NUM_RETRIES; override->script = NULL; } /* * If time(2) is used, changing the date on a system can cause * pump to miss the lease renewal time. The result is a system * that doesn't seem to want to talk until it is rebooted! We * need elapsed time, NOT absolute (wall clock) time to measure * the expiration of the lease. Unfortunately I can't see any * other interface to an unmolested elapsed time value other than * /proc/uptime (and this is how uptime(1), top(1), w(1) use it). * No matter, overhead is not an issue here, accuracy is. * duanev@io.com 9/99 */ time_t pumpUptime() { FILE * fd; long secs; static int first = 1; if ((fd = fopen("/proc/uptime", "r")) == NULL) { if (first) { syslog (LOG_INFO, "error opening /proc/uptime: %s", strerror(errno)); syslog (LOG_INFO, "warning: might miss lease renewal if date " "changes"); first = 0; } return time(NULL); } if (fscanf(fd, "%ld", &secs) != 1) syslog (LOG_DEBUG, "uptime didn't match expected format"); fclose(fd); return (time_t)secs; } pump-0.8.24/config.c0000664000076400007640000001535407503663777013275 0ustar katzjkatzj/* * Copyright 1999-2001 Red Hat, Inc. * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2, or (at your option) any * later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. */ #include #include #include #include #include #include #include #include #include #include "pump.h" static void parseError(int line, char * message) { fprintf(stderr, "error parsing config file at line %d: %s\n", line, message); } static int readStanza(char ** cfg, struct pumpOverrideInfo * overrideList, struct pumpOverrideInfo * override, int * lineNum) { struct pumpOverrideInfo * nextO = override + 1; char * start, * end, * next, * rest, * chptr; int line; int argc; const char ** argv; int num; if (!lineNum) { line = 1; lineNum = &line; } next = *cfg; while (next && *next) { start = next; while (isspace(*start) && *start != '\n') start++; if (*start == '\n') { next = start + 1; (*lineNum)++; continue; } else if (*start == '#') { next = strchr(start, '\n') + 1; (*lineNum)++; continue; } end = strchr(start, '\n'); *end = '\0'; next = end + 1; chptr = start; while (!isspace(*chptr) && *chptr) chptr++; rest = chptr; while (*rest && isspace(*rest)) rest++; *chptr = '\0'; if (!strcmp(start, "device")) { if (overrideList != override) { parseError(*lineNum, "device directive may not occur inside " "of device specification"); return 1; } if (!*rest || *rest == '{') { parseError(*lineNum, "device directive must be followed by a " "device name"); return 1; } end = rest + 1; while (!isspace(*end) && *end != '{' && *end) end++; chptr = end; while (isspace(*end) && *end) end++; if (*end != '{') { parseError(*lineNum, "device directive must end with a {"); return 1; } end++; *chptr = '\0'; while (*end && isspace(*end)) end++; if (*end) { parseError(*lineNum, "unexpected information after {"); return 1; } *nextO = *override; strcpy(nextO->intf.device, rest); nextO->script = override->script ? strdup(override->script) : NULL; (*lineNum)++; if (readStanza(&next, overrideList, nextO, lineNum)) return 1; (*lineNum)--; /* it'll get incremented again at the end of this while loop */ nextO++; } else if (!strcmp(start, "}")) { if (overrideList == override) { parseError(*lineNum,"} may only occur inside of a " "device directive"); return 1; } else if (*rest) { parseError(*lineNum, "unexpected information after }"); } *cfg = next; (*lineNum)++; return 0; } else if (!strcmp(start, "timeout")) { poptParseArgvString(rest, &argc, &argv); if (argc != 1) { parseError(*lineNum, "timeout directive expects a " "single argument"); return 1; } num = strtol(argv[0], &chptr, 0); if (*chptr) { parseError(*lineNum, "timeout requires a numeric argument"); return 1; } override->timeout = num; } else if (!strcmp(start, "retries")) { poptParseArgvString(rest, &argc, &argv); if (argc != 1) { parseError(*lineNum, "retries directive expects a " "single argument"); return 1; } num = strtol(argv[0], &chptr, 0); if (*chptr) { parseError(*lineNum, "retries requires a numeric argument"); return 1; } override->numRetries = num; } else if (!strcmp(start, "domainsearch")) { if (overrideList != override) { parseError(*lineNum, "domainsearch directive may not occur " "inside of device specification"); return 1; } poptParseArgvString(rest, &argc, &argv); if (argc != 1) { parseError(*lineNum, "domainsearch directive expects a " "single argument"); return 1; } /* We don't free this as other configurations may have inherited it. This could be the wrong decision, but leak would be tiny so why worry? */ override->searchPath = strdup(argv[0]); free(argv); } else if (!strcmp(start, "nodns")) { if (*rest) { parseError(*lineNum, "unexpected argument to nodns directive"); return 1; } override->flags |= OVERRIDE_FLAG_NODNS; } else if (!strcmp(start, "nobootp")) { if (*rest) { parseError(*lineNum, "unexpected argument to nobootp directive"); return 1; } override->flags |= OVERRIDE_FLAG_NOBOOTP; } else if (!strcmp(start, "nogateway")) { if (*rest) { parseError(*lineNum, "unexpected argument to nogateway directive"); return 1; } override->flags |= OVERRIDE_FLAG_NOGATEWAY; } else if (!strcmp(start, "nonisdomain")) { if (*rest) { parseError(*lineNum, "unexpected argument to nonisdomain directive"); return 1; } override->flags |= OVERRIDE_FLAG_NONISDOMAIN; } else if (!strcmp(start, "script")) { if (overrideList != override) { parseError(*lineNum, "script directive may not occur " "inside of device specification"); return 1; } poptParseArgvString(rest, &argc, &argv); if (argc != 1) { parseError(*lineNum, "script directive expects a " "single argument"); return 1; } override->script = strdup(argv[0]); free(argv); } else { char * error; error = malloc(strlen(start) + 50); sprintf(error, "unrecognized directive %s", start); parseError(*lineNum, error); free(error); return 1; } (*lineNum)++; } *cfg = next; return 0; } int readPumpConfig(char * configFile, struct pumpOverrideInfo ** overrides) { int fd; char * buf, * chptr; struct stat sb; int count; void * orig = *overrides; if ((fd = open(configFile, O_RDONLY)) < 0) { *overrides = calloc(sizeof(**overrides), 2); pumpInitOverride(*overrides); close(fd); return 0; } fstat(fd, &sb); buf = alloca(sb.st_size + 2); if (read(fd, buf, sb.st_size) != sb.st_size) { close(fd); return 1; } close(fd); buf[sb.st_size] = '\n'; buf[sb.st_size + 1] = '\0'; /* this will give us an upper limit anyway */ count = 1; chptr = buf; while ((chptr = strchr(chptr, '{'))) { chptr++; count++; } *overrides = calloc(sizeof(**overrides), count + 1); pumpInitOverride(*overrides); count = readStanza(&buf, *overrides, *overrides, NULL); if (count) { free(*overrides); *overrides = orig; } return count; } pump-0.8.24/COPYING0000664000076400007640000004307606675470236012714 0ustar katzjkatzj GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. pump-0.8.24/Makefile0000664000076400007640000000340410322755227013276 0ustar katzjkatzjVERSION=$(shell awk '/^Version:/ { print $$2 }' pump.spec) RELEASE=$(shell awk '/^Release:/ { print $$2 }' pump.spec) SBINPATH = $(RPM_BUILD_ROOT)/sbin USRSBINPATH = $(sbindir) USRLIBPATH = $(libdir) INCPATH = $(includedir) MAN8PATH = $(mandir)/man8 CFLAGS = -fPIC -I. -Wall -Werror -g $(RPM_OPT_FLAGS) -D__STANDALONE__ -DVERSION=\"$(VERSION)\" CVSROOT = $(shell cat CVS/Root 2>/dev/null) ARCH := $(patsubst i%86,i386,$(shell uname -m)) ARCH := $(patsubst sparc%,sparc,$(ARCH)) LOADLIBES = -Wl,-Bstatic -lpopt -Wl,-Bdynamic -lresolv LDFLAGS = -g CVSTAG = r$(subst .,-,$(VERSION)) all: pump netconfig pump: pump.o config.o libpump.a(dhcp.o) netconfig: net.o libpump.a(dhcp.o) po $(CC) -o netconfig net.o libpump.a $(LOADLIBES) -lnewt pump.o: pump.c pump.h config.o: config.c pump.h dhcp.o: dhcp.c pump.h net.o: net.c net.h po: dummy make -C po clean: rm -f pump netconfig core *.o libpump.a rm -f pump-*.tar.gz *~ make -C po clean install: mkdir -p $(SBINPATH) $(MAN8PATH) $(USRSBINPATH) mkdir -p $(USRLIBPATH) $(INCPATH) $(USRSHAREPATH) install -m 755 netconfig $(USRSBINPATH)/netconfig install -m 755 pump $(SBINPATH)/pump install -m 644 pump.8 $(MAN8PATH) install -m 644 libpump.a $(USRLIBPATH) install -m 644 pump.h $(INCPATH) make -C po install datadir=$(datadir) create-archive: tag-archive @rm -rf /tmp/pump @cd /tmp; cvs -Q -d $(CVSROOT) export -r$(CVSTAG) pump || echo GRRRrrrrr -- ignore [export aborted] @mv /tmp/pump /tmp/pump-$(VERSION) @cd /tmp; tar czSpf pump-$(VERSION).tar.gz pump-$(VERSION) @rm -rf /tmp/pump-$(VERSION) @cp /tmp/pump-$(VERSION).tar.gz . @rm -f /tmp/pump-$(VERSION).tar.gz @echo " " @echo "The final archive is ./pump-$(VERSION).tar.gz." tag-archive: @cvs -Q tag -F $(CVSTAG) archive: tag-archive create-archive dummy: pump-0.8.24/.cvsignore0000664000076400007640000000000506753103445013632 0ustar katzjkatzjpump pump-0.8.24/pump.80000664000076400007640000001326607236365010012714 0ustar katzjkatzj.\" Copyright 1999 Red Hat Software, Inc. .\" .\" This man page is free documentation; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or .\" (at your option) any later version. .\" .\" This program is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this man page; if not, write to the Free Software .\" Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. .\" .TH PUMP 8 "December 07, 1999" "Linux" "Linux Administrator's Manual" .SH NAME pump \- configure network interface via BOOTP or DHCP protocol .SH SYNOPSIS /sbin/pump [-krRsd?] [-c \fIARG\fP] [-h \fIhostname\fP] [-i \fIiface\fP] [-l \fIhours\fP] [--lookup-hostname] [--usage] .SH DESCRIPTION pump is a daemon that manages network interfaces that are controlled by either the DHCP or BOOTP protocol. While pump may be started manually, it is normally started automatically by the /sbin/ifup script for devices configured via BOOTP or DHCP. Once pump is managing an interface, you can run pump to query the status of that interface. For example, .br \f(CW/sbin/pump -i eth0 --status \fR .br will print the current status of device eth0. .SH "COMMAND-LINE OPTIONS" .TS lB lB lB lfCW lfCW l. switch long option description .TH -c --config-file=ARG Configuration file to use instead of /etc/pump.conf -h --hostname=hostname Hostname to request -i --interface=iface Interface to configure (normally eth0) -k --kill Kill daemon (and disable all interfaces) -l --lease=hours Lease time to request (in hours) --lookup-hostname Always look up hostname and domain in DNS -r --release Release interface -R --renew Force immediate lease renewal -s --status Display interface status -d --no-dns Don't update resolv.conf --no-gateway Don't configurate a default route for this interface --win-client-id Specify a Windows-like client identifier -? --help Show this help message --usage Display brief usage message .TE .SH LOGGING Pump logs a good deal of information to syslog, much of it at the DEBUG level. If you're having trouble, it's a good idea to turn up syslog's logging level. .SH CONFIG FILE Pump supports a simple configuration file which lets you tune its behavior. By default, it looks at \fI/etc/pump.conf\fR, though the \fB-c\fR option lets you override that. The configuration file is line oriented, and most line contains a directive followed by zero or more arguments. Arguments are handled similar to how shells handle command arguments, allowing the use of quotes and backslash escapes. Comments are allowed, and must begin with a # character, and spaces and tabs are ignored. Directives may be specified at two levels, global and specific. Global directives change pump's behavior for all of the devices which it manages, while specific directives change pump's behavior for a single device. Later directives always override earlier ones. Here is an example /etc/pump.conf: .nf .ta +3i # sample /etc/pump.conf file domainsearch "my.own.org own.org at.work.com" retries 3 device eth1 { nodns } .fi .pp This configuration file tells pump to use a specific DNS search path rather deriving one from the DHCP or BOOTP server response, to retry each request 3 times (for a total of 4 tries), and not to change any DNS configuration when it's configuring the eth1 device. Here is a complete list of directives: .TP \fBdevice\fR \fIdevice\fR Specify specific directives for the indicated device. This directive must be followed by a {, and the list of specific directives must end with a } on its own line. These directives may not be nested. .TP \fBdomainsearch\fR \fIsearchpath\fR Rather then deriving the DNS search path (for /etc/resolv.conf), use the one which is given. As a machine only has a single DNS search path, this directive may only be used globally. .TP \fBnonisdomain\fR Don't set a new NIS domain. Normally \fBpump\fR sets the system's NIS domain if an NIS domain is specified by the dhcp server and the current NIS domain is empty or \fBlocaldomain\fR. This directive may only be used within a \fBdevice\fR directive. .TP \fBnodns\fR Don't create a new /etc/resolv.conf when this interface is configured. This directive may only be used within a \fBdevice\fR directive. .TP \fBnogateway\fR Ignore any default gateway suggested by the DHCP server for this device. This can be usefull on machines with multiple ethernet cards. .TP \fBretries\fR \fIcount\fR Retry each phase of the DHCP process \fIcount\fR times. .TP \fBtimeout\fR \fIcount\fR Don't let any one step of the DHCP process take more then \fIcount\fR seconds. .TP \fBscript\fR \fIexecutable-filename\fR .TS lB lB lB lB lB lfCW lfCW lfCW. .TH Condition arg1 arg2 arg3 lease up eth0 1.2.3.4 renewal renewal eth0 2.3.4.5 release down eth0 .TE When events occur in negotiation with the server, calls the given executable or script. Scripts are called when a lease is granted, when a renewal is negotiated, and when the interface is brought down and the address released. The scripts are called with two or three arguments, depending on the condition, as documented in the table above. .SH BUGS Probably limited to Ethernet, might work on PLIP, probably not ARCnet and Token Ring. The configuration file should let you do more things. Submit bug reports at the Bug Track link at http://developer.redhat.com/ .SH QUIBBLE A pump, like a boot[p], is something you wear on your foot. Some of us like the name (I know, hard to believe)! pump-0.8.24/net.c0000664000076400007640000005627010322755227012601 0ustar katzjkatzj/* * Copyright 1999-2001 Red Hat, Inc. * * All Rights Reserved. * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * Except as contained in this notice, the name of Red Hat shall not be * used in advertising or otherwise to promote the sale, use or other dealings * in this Software without prior written authorization from Red Hat. * */ #include #include #include #include #include #include #include #include #ifdef __STANDALONE__ #include #include #include #define _(String) gettext((String)) #define N_(String) String #define LOADER_BACK 2 #define LOADER_OK 0 #define LOADER_ERROR -1; #include "net.h" #include "pump.h" #else # include "isys/dns.h" #include "kickstart.h" #include "lang.h" #include "loader.h" #include "log.h" #include "net.h" #include "windows.h" #endif /* __STANDALONE__ */ struct intfconfig_s { newtComponent ipEntry, nmEntry, gwEntry, nsEntry; const char * ip, * nm, * gw, * ns; }; typedef int int32; char * hwaddr = NULL; char * desc = NULL; #ifdef __STANDALONE__ static FILE * logfile = NULL; #define FL_TESTING(foo) 1 void logMessage(const char * s, ...) { va_list args; if (!logfile) return; va_start(args, s); fprintf(logfile, "* "); vfprintf(logfile, s, args); fprintf(logfile, "\n"); fflush(logfile); va_end(args); return; } /* yawn. This really should be in newt. */ void winStatus(int width, int height, char * title, char * text, ...) { newtComponent t, f; char * buf = NULL; int size = 0; int i = 0; va_list args; va_start(args, text); do { size += 1000; if (buf) free(buf); buf = malloc(size); i = vsnprintf(buf, size, text, args); } while (i == size); va_end(args); newtCenteredWindow(width, height, title); t = newtTextbox(1, 1, width - 2, height - 2, NEWT_TEXTBOX_WRAP); newtTextboxSetText(t, buf); f = newtForm(NULL, NULL, 0); free(buf); newtFormAddComponent(f, t); newtDrawForm(f); newtRefresh(); newtFormDestroy(f); } #endif static void ipCallback(newtComponent co, void * dptr) { struct intfconfig_s * data = dptr; struct in_addr ipaddr, nmaddr, addr; char * ascii; int broadcast, network; if (co == data->ipEntry) { if (strlen(data->ip) && !strlen(data->nm)) { if (inet_aton(data->ip, &ipaddr)) { ipaddr.s_addr = ntohl(ipaddr.s_addr); if (((ipaddr.s_addr & 0xFF000000) >> 24) <= 127) ascii = "255.0.0.0"; else if (((ipaddr.s_addr & 0xFF000000) >> 24) <= 191) ascii = "255.255.0.0"; else ascii = "255.255.255.0"; newtEntrySet(data->nmEntry, ascii, 1); } } } else if (co == data->nmEntry) { if (!strlen(data->ip) || !strlen(data->nm)) return; if (!inet_aton(data->ip, &ipaddr)) return; if (!inet_aton(data->nm, &nmaddr)) return; network = ipaddr.s_addr & nmaddr.s_addr; broadcast = (ipaddr.s_addr & nmaddr.s_addr) | (~nmaddr.s_addr); if (!strlen(data->gw)) { addr.s_addr = htonl(ntohl(broadcast) - 1); newtEntrySet(data->gwEntry, inet_ntoa(addr), 1); } if (!strlen(data->ns)) { addr.s_addr = htonl(ntohl(network) + 1); newtEntrySet(data->nsEntry, inet_ntoa(addr), 1); } } } #ifndef __STANDALONE__ int nfsGetSetup(char ** hostptr, char ** dirptr) { struct newtWinEntry entries[3]; char * newServer = *hostptr ? strdup(*hostptr) : NULL; char * newDir = *dirptr ? strdup(*dirptr) : NULL; int rc; entries[0].text = _("NFS server name:"); entries[0].value = &newServer; entries[0].flags = NEWT_FLAG_SCROLL; entries[1].text = _("Red Hat directory:"); entries[1].value = &newDir; entries[1].flags = NEWT_FLAG_SCROLL; entries[2].text = NULL; entries[2].value = NULL; rc = newtWinEntries(_("NFS Setup"), _("Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture"), 60, 5, 15, 24, entries, _("OK"), _("Back"), NULL); if (rc == 2) { if (newServer) free(newServer); if (newDir) free(newDir); return LOADER_BACK; } if (*hostptr) free(*hostptr); if (*dirptr) free(*dirptr); *hostptr = newServer; *dirptr = newDir; return 0; } #endif static void fillInIpInfo(struct networkDeviceConfig * cfg) { int32 * i; char * nm; if (!(cfg->dev.set & PUMP_INTFINFO_HAS_NETMASK)) { i = (int32 *) &cfg->dev.ip; if (((*i & 0xFF000000) >> 24) <= 127) nm = "255.0.0.0"; else if (((*i & 0xFF000000) >> 24) <= 191) nm = "255.255.0.0"; else nm = "255.255.255.0"; inet_aton(nm, &cfg->dev.netmask); cfg->dev.set |= PUMP_INTFINFO_HAS_NETMASK; } if (!(cfg->dev.set & PUMP_INTFINFO_HAS_BROADCAST)) { *((int32 *) &cfg->dev.broadcast) = (*((int32 *) &cfg->dev.ip) & *((int32 *) &cfg->dev.netmask)) | ~(*((int32 *) &cfg->dev.netmask)); cfg->dev.set |= PUMP_INTFINFO_HAS_BROADCAST; } if (!(cfg->dev.set & PUMP_INTFINFO_HAS_NETWORK)) { *((int32 *) &cfg->dev.network) = *((int32 *) &cfg->dev.ip) & *((int32 *) &cfg->dev.netmask); cfg->dev.set |= PUMP_INTFINFO_HAS_NETWORK; } } #ifndef __STANDALONE__ void initLoopback(void) { struct pumpNetIntf dev; strcpy(dev.device, "lo"); inet_aton("127.0.0.1", &dev.ip); inet_aton("255.0.0.0", &dev.netmask); inet_aton("127.0.0.0", &dev.network); dev.set = PUMP_INTFINFO_HAS_NETMASK | PUMP_INTFINFO_HAS_IP | PUMP_INTFINFO_HAS_NETWORK; pumpSetupInterface(&dev); } #endif static void dhcpBoxCallback(newtComponent co, void * ptr) { struct intfconfig_s * c = ptr; newtEntrySetFlags(c->ipEntry, NEWT_FLAG_DISABLED, NEWT_FLAGS_TOGGLE); newtEntrySetFlags(c->gwEntry, NEWT_FLAG_DISABLED, NEWT_FLAGS_TOGGLE); newtEntrySetFlags(c->nmEntry, NEWT_FLAG_DISABLED, NEWT_FLAGS_TOGGLE); newtEntrySetFlags(c->nsEntry, NEWT_FLAG_DISABLED, NEWT_FLAGS_TOGGLE); } #ifndef __STANDALONE__ static int getDnsServers(struct networkDeviceConfig * cfg) { int rc; char * ns = ""; struct newtWinEntry entry[] = { { N_("Nameserver IP"), (const char **)&ns, 0 }, { NULL, NULL, 0 } }; do { rc = newtWinEntries(_("Nameserver"), _("Your dynamic IP request returned IP configuration " "information, but it did not include a DNS nameserver. " "If you know what your nameserver is, please enter it " "now. If you don't have this information, you can leave " "this field blank and the install will continue."), 40, 5, 10, 25, entry, _("OK"), _("Back"), NULL); if (rc == 2) return LOADER_BACK; if (ns && *ns && !inet_aton(ns, &cfg->dev.dnsServers[0])) { newtWinMessage(_("Invalid IP Information"), _("Retry"), _("You entered an invalid IP address.")); rc = 2; } } while (rc == 2); cfg->dev.set |= PUMP_NETINFO_HAS_DNS; cfg->dev.numDns = 1; return LOADER_OK; } #endif int readNetConfig(char * device, struct networkDeviceConfig * cfg, int flags) { newtComponent text, f, okay, back, answer, dhcpCheckbox; newtGrid grid, subgrid, buttons; struct networkDeviceConfig newCfg; struct intfconfig_s c; int i; struct in_addr addr; char dhcpChoice; char * chptr; text = newtTextboxReflowed(-1, -1, _("Please enter the IP configuration for this machine. Each " "item should be entered as an IP address in dotted-decimal " "notation (for example, 1.2.3.4)."), 50, 5, 10, 0); subgrid = newtCreateGrid(2, 4); newtGridSetField(subgrid, 0, 0, NEWT_GRID_COMPONENT, newtLabel(-1, -1, _("IP address:")), 0, 0, 0, 0, NEWT_ANCHOR_LEFT, 0); newtGridSetField(subgrid, 0, 1, NEWT_GRID_COMPONENT, newtLabel(-1, -1, _("Netmask:")), 0, 0, 0, 0, NEWT_ANCHOR_LEFT, 0); newtGridSetField(subgrid, 0, 2, NEWT_GRID_COMPONENT, newtLabel(-1, -1, _("Default gateway (IP):")), 0, 0, 0, 0, NEWT_ANCHOR_LEFT, 0); newtGridSetField(subgrid, 0, 3, NEWT_GRID_COMPONENT, newtLabel(-1, -1, _("Primary nameserver:")), 0, 0, 0, 0, NEWT_ANCHOR_LEFT, 0); c.ipEntry = newtEntry(-1, -1, NULL, 16, &c.ip, 0); c.nmEntry = newtEntry(-1, -1, NULL, 16, &c.nm, 0); c.gwEntry = newtEntry(-1, -1, NULL, 16, &c.gw, 0); c.nsEntry = newtEntry(-1, -1, NULL, 16, &c.ns, 0); if (!cfg->isDynamic) { if (cfg->dev.set & PUMP_INTFINFO_HAS_IP) newtEntrySet(c.ipEntry, inet_ntoa(cfg->dev.ip), 1); if (cfg->dev.set & PUMP_INTFINFO_HAS_NETMASK) newtEntrySet(c.nmEntry, inet_ntoa(cfg->dev.netmask), 1); if (cfg->dev.set & PUMP_NETINFO_HAS_GATEWAY) newtEntrySet(c.gwEntry, inet_ntoa(cfg->dev.gateway), 1); if (cfg->dev.numDns) newtEntrySet(c.nsEntry, inet_ntoa(cfg->dev.dnsServers[0]), 1); dhcpChoice = ' '; } else { dhcpChoice = '*'; } dhcpCheckbox = newtCheckbox(-1, -1, _("Use dynamic IP configuration (BOOTP/DHCP)"), dhcpChoice, NULL, &dhcpChoice); newtComponentAddCallback(dhcpCheckbox, dhcpBoxCallback, &c); if (dhcpChoice == '*') dhcpBoxCallback(dhcpCheckbox, &c); newtGridSetField(subgrid, 1, 0, NEWT_GRID_COMPONENT, c.ipEntry, 1, 0, 0, 0, 0, 0); newtGridSetField(subgrid, 1, 1, NEWT_GRID_COMPONENT, c.nmEntry, 1, 0, 0, 0, 0, 0); newtGridSetField(subgrid, 1, 2, NEWT_GRID_COMPONENT, c.gwEntry, 1, 0, 0, 0, 0, 0); newtGridSetField(subgrid, 1, 3, NEWT_GRID_COMPONENT, c.nsEntry, 1, 0, 0, 0, 0, 0); buttons = newtButtonBar(_("OK"), &okay, _("Back"), &back, NULL); grid = newtCreateGrid(1, 4); newtGridSetField(grid, 0, 0, NEWT_GRID_COMPONENT, text, 0, 0, 0, 1, 0, 0); newtGridSetField(grid, 0, 1, NEWT_GRID_COMPONENT, dhcpCheckbox, 0, 0, 0, 1, 0, 0); newtGridSetField(grid, 0, 2, NEWT_GRID_SUBGRID, subgrid, 0, 0, 0, 1, 0, 0); newtGridSetField(grid, 0, 3, NEWT_GRID_SUBGRID, buttons, 0, 0, 0, 0, 0, NEWT_GRID_FLAG_GROWX); f = newtForm(NULL, NULL, 0); newtGridAddComponentsToForm(grid, f, 1); newtGridWrappedWindow(grid, _("Configure TCP/IP")); newtGridFree(grid, 1); newtComponentAddCallback(c.ipEntry, ipCallback, &c); newtComponentAddCallback(c.nmEntry, ipCallback, &c); do { answer = newtRunForm(f); if (answer == back) { newtFormDestroy(f); newtPopWindow(); return LOADER_BACK; } if (dhcpChoice == ' ') { i = 0; memset(&newCfg, 0, sizeof(newCfg)); if (*c.ip && inet_aton(c.ip, &addr)) { i++; newCfg.dev.ip = addr; newCfg.dev.set |= PUMP_INTFINFO_HAS_IP; } if (*c.nm && inet_aton(c.nm, &addr)) { i++; newCfg.dev.netmask = addr; newCfg.dev.set |= PUMP_INTFINFO_HAS_NETMASK; } if (i != 2) { newtWinMessage(_("Missing Information"), _("Retry"), _("You must enter both a valid IP address and a " "netmask.")); } strcpy(newCfg.dev.device, device); newCfg.isDynamic = 0; } else { if (!FL_TESTING(flags)) { winStatus(50, 3, _("Dynamic IP"), _("Sending request for IP information..."), 0); chptr = pumpDhcpRun(device, 0, 0, NULL, &newCfg.dev, NULL); newtPopWindow(); } else { chptr = NULL; } if (!chptr) { newCfg.isDynamic = 1; #ifdef __STANDALONE__ i = 2; #else if (!(newCfg.dev.set & PUMP_NETINFO_HAS_DNS)) { logMessage("pump worked, but didn't return a DNS server"); i = getDnsServers(&newCfg); i = i ? 0 : 2; } else { i = 2; } #endif } else { logMessage("pump told us: %s", chptr); i = 0; } } } while (i != 2); #ifdef __STANDALONE__ if (!newCfg.isDynamic) #endif cfg->dev = newCfg.dev; cfg->isDynamic = newCfg.isDynamic; fillInIpInfo(cfg); if (!(cfg->dev.set & PUMP_NETINFO_HAS_GATEWAY)) { if (*c.gw && inet_aton(c.gw, &addr)) { cfg->dev.gateway = addr; cfg->dev.set |= PUMP_NETINFO_HAS_GATEWAY; } } if (!(cfg->dev.numDns)) { if (*c.ns && inet_aton(c.ns, &addr)) { cfg->dev.dnsServers[0] = addr; cfg->dev.numDns = 1; } } newtPopWindow(); if (!FL_TESTING(flags)) { configureNetwork(cfg); findHostAndDomain(cfg, flags); writeResolvConf(cfg); } #ifdef __STANDALONE__ writeResolvConf(cfg); #endif return 0; } int configureNetwork(struct networkDeviceConfig * dev) { pumpSetupInterface(&dev->dev); if (dev->dev.set & PUMP_NETINFO_HAS_GATEWAY) pumpSetupDefaultGateway(&dev->dev.gateway); return 0; } int writeNetInfo(const char * fn, struct networkDeviceConfig * dev, struct knownDevices * kd) { FILE * f; #ifndef __STANDALONE__ int i; #endif #ifndef __STANDALONE__ for (i = 0; i < kd->numKnown; i++) if (!strcmp(kd->known[i].name, dev->dev.device)) break; #endif if (!(f = fopen(fn, "w"))) return -1; if (desc) { fprintf(f, "# %s\n", desc); } fprintf(f, "DEVICE=%s\n", dev->dev.device); #ifndef __STANDALONE__ if (i < kd->numKnown && kd->known[i].code == CODE_PCMCIA) fprintf(f, "ONBOOT=no\n"); else #endif fprintf(f, "ONBOOT=yes\n"); if (dev->isDynamic) { fprintf(f, "BOOTPROTO=dhcp\n"); } else { fprintf(f, "BOOTPROTO=static\n"); fprintf(f, "IPADDR=%s\n", inet_ntoa(dev->dev.ip)); fprintf(f, "NETMASK=%s\n", inet_ntoa(dev->dev.netmask)); if (dev->dev.set & PUMP_NETINFO_HAS_GATEWAY) fprintf(f, "GATEWAY=%s\n", inet_ntoa(dev->dev.gateway)); } if (dev->dev.set & PUMP_NETINFO_HAS_HOSTNAME) fprintf(f, "HOSTNAME=%s\n", dev->dev.hostname); if (dev->dev.set & PUMP_NETINFO_HAS_DOMAIN) fprintf(f, "DOMAIN=%s\n", dev->dev.domain); if (hwaddr) { fprintf(f, "HWADDR=%s\n",hwaddr); } fclose(f); return 0; } int writeResolvConf(struct networkDeviceConfig * net) { char * filename = "/etc/resolv.conf"; FILE * f; int i; if (!(net->dev.set & PUMP_NETINFO_HAS_DOMAIN) && !net->dev.numDns) return LOADER_ERROR; f = fopen(filename, "w"); if (!f) { logMessage("Cannot create %s: %s\n", filename, strerror(errno)); return LOADER_ERROR; } if (net->dev.set & PUMP_NETINFO_HAS_DOMAIN) fprintf(f, "search %s\n", net->dev.domain); for (i = 0; i < net->dev.numDns; i++) fprintf(f, "nameserver %s\n", inet_ntoa(net->dev.dnsServers[i])); fclose(f); res_init(); /* reinit the resolver so DNS changes take affect */ return 0; } int findHostAndDomain(struct networkDeviceConfig * dev, int flags) { char * name, * chptr; #ifdef __STANDALONE__ struct hostent * he; #endif if (!FL_TESTING(flags)) { writeResolvConf(dev); } if (!(dev->dev.set & PUMP_NETINFO_HAS_HOSTNAME)) { winStatus(40, 3, _("Hostname"), _("Determining host name and domain...")); #ifdef __STANDALONE__ he = gethostbyaddr( (char *) &dev->dev.ip, sizeof (dev->dev.ip), AF_INET); name = he ? he->h_name : 0; #else name = mygethostbyaddr(inet_ntoa(dev->dev.ip)); #endif newtPopWindow(); if (!name) { logMessage("reverse name lookup failed"); return 1; } logMessage("reverse name lookup worked"); dev->dev.hostname = strdup(name); dev->dev.set |= PUMP_NETINFO_HAS_HOSTNAME; } else { name = dev->dev.hostname; } if (!(dev->dev.set & PUMP_NETINFO_HAS_DOMAIN)) { for (chptr = name; *chptr && (*chptr != '.'); chptr++) ; if (*chptr == '.') { if (dev->dev.domain) free(dev->dev.domain); dev->dev.domain = strdup(chptr + 1); dev->dev.set |= PUMP_NETINFO_HAS_DOMAIN; } } return 0; } #ifndef __STANDALONE__ int kickstartNetwork(char ** devicePtr, struct networkDeviceConfig * netDev, char * bootProto, int flags) { char ** ksArgv; int ksArgc; int netSet, rc; char * arg, * chptr; char * kshostname=NULL; poptContext optCon; struct in_addr * parseAddress; int noDns = 0; char * device; struct poptOption ksOptions[] = { { "bootproto", '\0', POPT_ARG_STRING, &bootProto, 0 }, { "device", '\0', POPT_ARG_STRING, devicePtr, 0 }, { "gateway", '\0', POPT_ARG_STRING, NULL, 'g' }, { "ip", '\0', POPT_ARG_STRING, NULL, 'i' }, { "nameserver", '\0', POPT_ARG_STRING, NULL, 'n' }, { "netmask", '\0', POPT_ARG_STRING, NULL, 'm' }, { "nodns", '\0', POPT_ARG_NONE, &noDns, 0 }, { "hostname", '\0', POPT_ARG_STRING, NULL, 'h'}, { 0, 0, 0, 0, 0 } }; if (!bootProto) { if (ksGetCommand(KS_CMD_NETWORK, NULL, &ksArgc, &ksArgv)) { /* This is for compatibility with RH 5.0 */ ksArgv = alloca(sizeof(*ksArgv) * 1); ksArgv[0] = "network"; ksArgc = 1; } optCon = poptGetContext(NULL, ksArgc, (const char **) ksArgv, ksOptions, 0); while ((rc = poptGetNextOpt(optCon)) >= 0) { parseAddress = NULL; netSet = 0; arg = (char *) poptGetOptArg(optCon); switch (rc) { case 'g': parseAddress = &netDev->dev.gateway; netSet = PUMP_NETINFO_HAS_GATEWAY; break; case 'i': parseAddress = &netDev->dev.ip; netSet = PUMP_INTFINFO_HAS_IP; break; case 'n': parseAddress = &netDev->dev.dnsServers[netDev->dev.numDns++]; netSet = PUMP_NETINFO_HAS_DNS; break; case 'm': parseAddress = &netDev->dev.netmask; netSet = PUMP_INTFINFO_HAS_NETMASK; break; case 'h': if (kshostname) free(kshostname); kshostname = strdup(arg); logMessage("netDev->dev.hostname = %s", kshostname); break; } if (parseAddress && !inet_aton(arg, parseAddress)) { logMessage("bad ip number in network command: %s", arg); return -1; } netDev->dev.set |= netSet; } if (rc < -1) { newtWinMessage(_("kickstart"), _("OK"), _("bad argument to kickstart network command %s: %s"), poptBadOption(optCon, POPT_BADOPTION_NOALIAS), poptStrerror(rc)); } else { poptFreeContext(optCon); } } device = *devicePtr; if (!bootProto) bootProto = "dhcp"; if (!strcmp(bootProto, "dhcp") || !strcmp(bootProto, "bootp")) { logMessage("sending dhcp request through device %s", device); winStatus(50, 3, _("Dynamic IP"), _("Sending request for IP information..."), 0); chptr = pumpDhcpRun(device, 0, 0, NULL, &netDev->dev, NULL); newtPopWindow(); if (chptr) { logMessage("pump told us: %s", chptr); return -1; } netDev->isDynamic = 1; } else if (!strcmp(bootProto, "static")) { strcpy(netDev->dev.device, device); } else if (!strcmp(bootProto, "query")) { strcpy(netDev->dev.device, device); readNetConfig("eth0", netDev, flags); } else { newtWinMessage(_("kickstart"), _("OK"), _("Bad bootproto %s specified in network command"), bootProto); return -1; } fillInIpInfo(netDev); configureNetwork(netDev); logMessage("nodns is %d", noDns); if (kshostname) { logMessage("setting ks specified hostname of %s", kshostname); netDev->dev.hostname=strdup(kshostname); netDev->dev.set |= PUMP_NETINFO_HAS_HOSTNAME; } if (!noDns) findHostAndDomain(netDev, flags); writeResolvConf(netDev); return 0; } #endif #ifdef __STANDALONE__ int main(int argc, const char **argv) { int netSet, rc; int x; int noDns = 0; char * bootProto = NULL; char * device = NULL; char * hostname = NULL; char * domain = NULL; const char * arg; char path[256]; char roottext[80]; poptContext optCon; struct networkDeviceConfig *netDev; struct in_addr * parseAddress; struct poptOption Options[] = { POPT_AUTOHELP { "bootproto", '\0', POPT_ARG_STRING, &bootProto, 0, _("Boot protocol to use"), "(dhcp|bootp|none)" }, { "gateway", '\0', POPT_ARG_STRING, NULL, 'g', _("Network gateway"), NULL }, { "ip", '\0', POPT_ARG_STRING, NULL, 'i', _("IP address"), NULL }, { "nameserver", '\0', POPT_ARG_STRING, NULL, 'n', _("Nameserver"), NULL }, { "netmask", '\0', POPT_ARG_STRING, NULL, 'm', _("Netmask"), NULL }, { "hostname", '\0', POPT_ARG_STRING, &hostname, 0, _("Hostname"), NULL }, { "domain", '\0', POPT_ARG_STRING, &domain, 0, _("Domain name"), NULL }, { "device", 'd', POPT_ARG_STRING, &device, 0, _("Network device"), NULL }, { "nodns", '\0', POPT_ARG_NONE, &noDns, 0, _("No DNS lookups"), NULL }, { "hwaddr", '\0', POPT_ARG_STRING, &hwaddr, 0, _("Ethernet hardware address"), NULL }, { "description", '\0', POPT_ARG_STRING, &desc, 0, _("Description of the device"), NULL }, { 0, 0, 0, 0, 0 } }; bindtextdomain("pump", "/usr/share/locale"); textdomain("pump"); netDev = malloc(sizeof(struct networkDeviceConfig)); memset(netDev,'\0',sizeof(struct networkDeviceConfig)); optCon = poptGetContext("netconfig", argc, argv, Options, 0); while ((rc = poptGetNextOpt(optCon)) >= 0) { parseAddress = NULL; netSet = 0; arg = poptGetOptArg(optCon); switch (rc) { case 'g': parseAddress = &netDev->dev.gateway; netSet = PUMP_NETINFO_HAS_GATEWAY; break; case 'i': parseAddress = &netDev->dev.ip; netSet = PUMP_INTFINFO_HAS_IP; break; case 'n': parseAddress = &netDev->dev.dnsServers[netDev->dev.numDns++]; netSet = PUMP_NETINFO_HAS_DNS; break; case 'm': parseAddress = &netDev->dev.netmask; netSet = PUMP_INTFINFO_HAS_NETMASK; break; } if (!inet_aton(arg, parseAddress)) { logMessage("bad ip number in network command: %s", arg); return -1; } netDev->dev.set |= netSet; } if (rc < -1) { fprintf(stderr, "%s: %s\n", poptBadOption(optCon, POPT_BADOPTION_NOALIAS), poptStrerror(rc)); } else { poptFreeContext(optCon); } if (netDev->dev.set || (bootProto && (!strcmp(bootProto, "dhcp") || !strcmp(bootProto, "bootp")))) { if (!device) device="eth0"; if (bootProto && (!strcmp(bootProto, "dhcp") || !strcmp(bootProto, "bootp"))) netDev->isDynamic++; strncpy(netDev->dev.device,device,10); if (hostname) { netDev->dev.hostname=strdup(hostname); netDev->dev.set |= PUMP_NETINFO_HAS_HOSTNAME; } if (domain) { netDev->dev.domain=strdup(domain); netDev->dev.set |= PUMP_NETINFO_HAS_DOMAIN; } snprintf(path,256,"/etc/sysconfig/network-scripts/ifcfg-%s",device); writeNetInfo(path,netDev, NULL); } else { newtInit(); newtCls(); newtPushHelpLine(_(" / between elements | selects | next screen")); snprintf(roottext,80,_("netconfig %s (C) 1999 Red Hat, Inc."), VERSION); newtDrawRootText(0, 0, roottext); if (!device) { x=newtWinChoice(_("Network configuration"),_("Yes"),_("No"), _("Would you like to set up networking?")); if (x==2) { newtFinished(); exit(0); } device = "eth0"; } strncpy(netDev->dev.device,device,10); if (readNetConfig(device,netDev,0) != LOADER_BACK) { snprintf(path,256,"/etc/sysconfig/network-scripts/ifcfg-%s",device); writeNetInfo(path,netDev, NULL); } newtFinished(); } exit(0); } #endif pump-0.8.24/net.h0000664000076400007640000000146207125656705012607 0ustar katzjkatzj#ifndef H_LOADER_NET #define H_LOADER_NET #include "pump.h" #ifdef __STANDALONE__ struct knownDevices { }; #else #include "../isys/probe.h" #endif struct networkDeviceConfig { struct pumpNetIntf dev; int isDynamic; }; int readNetConfig(char * device, struct networkDeviceConfig * dev, int flags); int configureNetwork(struct networkDeviceConfig * dev); int writeNetInfo(const char * fn, struct networkDeviceConfig * dev, struct knownDevices * kd); int findHostAndDomain(struct networkDeviceConfig * dev, int flags); int writeResolvConf(struct networkDeviceConfig * net); #ifndef __STANDALONE__ int nfsGetSetup(char ** hostptr, char ** dirptr); int kickstartNetwork(char ** devicePtr, struct networkDeviceConfig * netDev, char * bootProto, int flags); void initLoopback(void); #endif #endif pump-0.8.24/pump.c0000664000076400007640000006023410322773777013001 0ustar katzjkatzj/* * Copyright 1999-2001 Red Hat, Inc. * * All Rights Reserved. * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * Except as contained in this notice, the name of Red Hat shall not be * used in advertising or otherwise to promote the sale, use or other dealings * in this Software without prior written authorization from Red Hat. * */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "config.h" #include "pump.h" #define N_(foo) (foo) #define PROGNAME "pump" #define CONTROLSOCKET "/var/run/pump.sock" #define _(foo) ((foo)) #include struct command { enum { CMD_STARTIFACE, CMD_RESULT, CMD_DIE, CMD_STOPIFACE, CMD_FORCERENEW, CMD_REQSTATUS, CMD_STATUS } type; union { struct { char device[20]; int flags; int reqLease; /* in seconds */ char reqHostname[200]; } start; int result; /* 0 for success */ struct { char device[20]; } stop; struct { char device[20]; } renew; struct { char device[20]; } reqstatus; struct { struct pumpNetIntf intf; char hostname[1024]; char domain[1024]; char bootFile[1024]; char nisDomain[1024]; } status; } u; }; static int openControlSocket(char * configFile, struct pumpOverrideInfo * override); char * readSearchPath(void) { int fd; struct stat sb; char * buf; char * start; fd = open("/etc/resolv.conf", O_RDONLY); if (fd < 0) return NULL; fstat(fd, &sb); buf = alloca(sb.st_size + 2); if (read(fd, buf, sb.st_size) != sb.st_size) return NULL; buf[sb.st_size] = '\n'; buf[sb.st_size + 1] = '\0'; close(fd); start = buf; while (start && *start) { while (isspace(*start) && (*start != '\n')) start++; if (*start == '\n') { start++; continue; } if (!strncmp("search", start, 6) && isspace(start[6])) { start += 6; while (isspace(*start) && *start != '\n') start++; if (*start == '\n') return NULL; buf = strchr(start, '\n'); *buf = '\0'; return strdup(start); } while (*start && (*start != '\n')) start++; } return NULL; } static void createResolvConf(struct pumpNetIntf * intf, char * domain, int isSearchPath) { FILE * f; int i; char * chptr; /* force a reread of /etc/resolv.conf if we need it again */ res_close(); if (!domain) { domain = readSearchPath(); if (domain) { chptr = alloca(strlen(domain) + 1); strcpy(chptr, domain); free(domain); domain = chptr; isSearchPath = 1; } } f = fopen("/etc/resolv.conf", "w"); if (!f) { syslog(LOG_ERR, "cannot create /etc/resolv.conf: %s\n", strerror(errno)); return; } if (domain && isSearchPath) { fprintf(f, "search %s\n", domain); } else if (domain && !strchr(domain, '.')) { fprintf(f, "search %s\n", domain); } else if (domain) { fprintf(f, "search"); chptr = domain; do { /* If there is a single . in the search path, write it out * only if the toplevel domain is com, edu, gov, mil, org, * net */ /* Don't do that! It breaks virtually all installations * in Europe. * Besides, what's wrong with some company assigning hostnames * in the ".internal" TLD? * What exactly was this supposed to accomplish? * Commented out --bero */ /* if (!strchr(strchr(chptr, '.') + 1, '.')) { char * tail = strchr(chptr, '.'); if (strcmp(tail, ".com") && strcmp(tail, ".edu") && strcmp(tail, ".gov") && strcmp(tail, ".mil") && strcmp(tail, ".net") && strcmp(tail, ".org") && strcmp(tail, ".int")) break; } */ fprintf(f, " %s", chptr); chptr = strchr(chptr, '.'); if (chptr) { chptr++; if (!strchr(chptr, '.')) chptr = NULL; } } while (chptr); fprintf(f, "\n"); } for (i = 0; i < intf->numDns; i++) fprintf(f, "nameserver %s\n", inet_ntoa(intf->dnsServers[i])); fclose(f); /* force a reread of /etc/resolv.conf */ endhostent(); } void setupDomain(struct pumpNetIntf * intf, struct pumpOverrideInfo * override) { int bufSize = 128; char * buf = NULL; if (override->flags & OVERRIDE_FLAG_NONISDOMAIN) return; if (!(intf->set & PUMP_NETINFO_HAS_NISDOMAIN)) return; buf = malloc(bufSize); while (getdomainname(buf, bufSize)) { if (errno != EINVAL) { syslog(LOG_ERR, "failed to get domainname: %s", strerror(errno)); return; } buf += 128; } /* if the domainname is set, then don't override it */ if (strcmp(buf, "localdomain") && strcmp(buf, "")) { return; } if (setdomainname(intf->domain, strlen(intf->domain))) { syslog(LOG_ERR, "failed to set domainname: %s", strerror(errno)); return ; } return; } void setupDns(struct pumpNetIntf * intf, struct pumpOverrideInfo * override) { char * hn, * dn = NULL; struct hostent * he; if (override->flags & OVERRIDE_FLAG_NODNS) { return; } if (override->searchPath) { createResolvConf(intf, override->searchPath, 1); return; } if (intf->set & PUMP_NETINFO_HAS_DNS) { if (!(intf->set & PUMP_NETINFO_HAS_DOMAIN)) { if (intf->set & PUMP_NETINFO_HAS_HOSTNAME) { hn = intf->hostname; } else { createResolvConf(intf, NULL, 0); he = gethostbyaddr((char *) &intf->ip, sizeof(intf->ip), AF_INET); if (he) { hn = he->h_name; } else { hn = NULL; } } if (hn) { dn = strchr(hn, '.'); if (dn) dn++; } } else { dn = intf->domain; } createResolvConf(intf, dn, 0); } } static void callIfupPost(struct pumpNetIntf* intf) { pid_t child; char * argv[3]; char arg[64]; argv[0] = "/etc/sysconfig/network-scripts/ifup-post"; snprintf(arg,64,"ifcfg-%s",intf->device); argv[1] = arg; argv[2] = NULL; if (!(child = fork())) { /* send the script to init */ if (fork()) _exit(0); execvp(argv[0], argv); syslog(LOG_ERR,"failed to run %s: %s", argv[0], strerror(errno)); _exit(0); } waitpid(child, NULL, 0); } static void callScript(char* script,int msg,struct pumpNetIntf* intf) { pid_t child; char * argv[20]; char ** nextArg; char * class = NULL, * chptr; if (!script) return; argv[0] = script; argv[2] = intf->device; nextArg = argv + 3; switch (msg) { case PUMP_SCRIPT_NEWLEASE: class = "up"; chptr = inet_ntoa(intf->ip); *nextArg = alloca(strlen(chptr) + 1); strcpy(*nextArg, chptr); nextArg++; break; case PUMP_SCRIPT_RENEWAL: class = "renewal"; chptr = inet_ntoa(intf->ip); *nextArg = alloca(strlen(chptr) + 1); strcpy(*nextArg, chptr); nextArg++; break; case PUMP_SCRIPT_DOWN: class = "down"; break; } argv[1] = class; *nextArg = NULL; if (!(child = fork())) { /* send the script to init */ if (fork()) _exit(0); execvp(argv[0], argv); syslog(LOG_ERR,"failed to run %s: %s", argv[0], strerror(errno)); _exit(0); } waitpid(child, NULL, 0); } static void runDaemon(int sock, char * configFile, struct pumpOverrideInfo * overrides) { int conn; struct sockaddr_un addr; socklen_t addrLength = sizeof(struct sockaddr_un); struct command cmd; struct pumpNetIntf intf[20]; int numInterfaces = 0; int i; int closest; struct timeval tv; fd_set fds; struct pumpOverrideInfo emptyOverride, * o = NULL; if (!overrides) readPumpConfig(configFile, &overrides); if (!overrides) { overrides = &emptyOverride; overrides->intf.device[0] = '\0'; } while (1) { FD_ZERO(&fds); FD_SET(sock, &fds); tv.tv_sec = tv.tv_usec = 0; closest = -1; if (numInterfaces) { for (i = 0; i < numInterfaces; i++) /* if this interface has an expired lease due to * renewal failures and it's time to try again to * get a new lease, then try again * * note: this trys every 30 secs FOREVER; this may * or may not be desirable. could also have a back-off * hueristic that increases the retry delay after each * failed attempt and a maximum number of tries or * maximum period of time to try for. */ if ((intf[i].set & PUMP_INTFINFO_NEEDS_NEWLEASE) && (intf[i].renewAt < pumpUptime())) { if (pumpDhcpRun(intf[i].device, 0, intf[i].reqLease, intf[i].set & PUMP_NETINFO_HAS_HOSTNAME ? intf[i].hostname : NULL, intf + i, overrides)) { /* failed to get a new lease, so try * again in 30 seconds */ intf[i].renewAt = pumpUptime() + 30; } else { intf[i].set &= ~PUMP_INTFINFO_NEEDS_NEWLEASE; callScript(overrides->script, PUMP_SCRIPT_NEWLEASE, &intf[i]); } } else if ((intf[i].set & PUMP_INTFINFO_HAS_LEASE) && (closest == -1 || (intf[closest].renewAt > intf[i].renewAt))) closest = i; if (closest != -1) { tv.tv_sec = intf[closest].renewAt - pumpUptime(); if (tv.tv_sec <= 0) { if (pumpDhcpRenew(intf + closest)) { syslog(LOG_INFO, "failed to renew lease for device %s", intf[closest].device); /* if the renewal failed, then set renewAt to * try again in 30 seconds AND then if renewAt's * value is after the lease expiration then * try to get a fresh lease for the interface */ if ((intf[closest].renewAt = pumpUptime() + 30) > intf[closest].leaseExpiration) { o = overrides; while (*o->intf.device && strcmp(o->intf.device,cmd.u.start.device)) o++; if (!*o->intf.device) o = overrides; intf[closest].set &= ~PUMP_INTFINFO_HAS_LEASE; intf[closest].set |= PUMP_INTFINFO_NEEDS_NEWLEASE; if (pumpDhcpRun(intf[closest].device, intf[closest].flags, intf[closest].reqLease, intf[closest].set & PUMP_NETINFO_HAS_HOSTNAME ? intf[closest].hostname : NULL, intf + closest, o)) { /* failed to get a new lease, so try * again in 30 seconds */ intf[closest].renewAt = pumpUptime() + 30; #if 0 /* ifdef this out since we now try more than once to get * a new lease and don't, therefore, want to remove the interface */ if (numInterfaces == 1) { callScript(o->script, PUMP_SCRIPT_DOWN, &intf[closest]); syslog(LOG_INFO, "terminating as there are no " "more devices under management"); exit(0); } intf[i] = intf[numInterfaces - 1]; numInterfaces--; #endif } else { intf[closest].set &= ~PUMP_INTFINFO_NEEDS_NEWLEASE; callScript(o->script, PUMP_SCRIPT_NEWLEASE, &intf[closest]); } } } else { callScript(o->script, PUMP_SCRIPT_RENEWAL, &intf[closest]); callIfupPost(&intf[closest]); } continue; /* recheck timeouts */ } } } if (select(sock + 1, &fds, NULL, NULL, closest != -1 ? &tv : NULL) > 0) { conn = accept(sock, (struct sockaddr *) &addr, &addrLength); if (read(conn, &cmd, sizeof(cmd)) != sizeof(cmd)) { close(conn); continue; } switch (cmd.type) { case CMD_DIE: for (i = 0; i < numInterfaces; i++) { pumpDhcpRelease(intf + i); callScript(o->script, PUMP_SCRIPT_DOWN, &intf[i]); } syslog(LOG_INFO, "terminating at root's request"); cmd.type = CMD_RESULT; cmd.u.result = 0; i = write(conn, &cmd, sizeof(cmd)); exit(0); case CMD_STARTIFACE: o = overrides; while (*o->intf.device && strcmp(o->intf.device, cmd.u.start.device)) { o++; } if (!*o->intf.device) o = overrides; if (pumpDhcpRun(cmd.u.start.device, cmd.u.start.flags, cmd.u.start.reqLease, cmd.u.start.reqHostname[0] ? cmd.u.start.reqHostname : NULL, intf + numInterfaces, o)) { cmd.u.result = 1; } else { pumpSetupInterface(intf + numInterfaces); i = numInterfaces; syslog(LOG_INFO, "configured interface %s", intf[i].device); if ((intf[i].set & PUMP_NETINFO_HAS_GATEWAY) && !(o->flags & OVERRIDE_FLAG_NOGATEWAY)) pumpSetupDefaultGateway(&intf[i].gateway); setupDns(intf + i, o); setupDomain(intf + i, o); callScript(o->script, PUMP_SCRIPT_NEWLEASE, intf + numInterfaces); cmd.u.result = 0; numInterfaces++; } break; case CMD_FORCERENEW: for (i = 0; i < numInterfaces; i++) if (!strcmp(intf[i].device, cmd.u.renew.device)) break; if (i == numInterfaces) cmd.u.result = RESULT_UNKNOWNIFACE; else { cmd.u.result = pumpDhcpRenew(intf + i); if (!cmd.u.result) { callScript(o->script, PUMP_SCRIPT_RENEWAL, intf + i); callIfupPost(intf + i); } } break; case CMD_STOPIFACE: for (i = 0; i < numInterfaces; i++) if (!strcmp(intf[i].device, cmd.u.stop.device)) break; if (i == numInterfaces) cmd.u.result = RESULT_UNKNOWNIFACE; else { cmd.u.result = pumpDhcpRelease(intf + i); callScript(o->script, PUMP_SCRIPT_DOWN, intf + i); if (numInterfaces == 1) { int j; cmd.type = CMD_RESULT; j = write(conn, &cmd, sizeof(cmd)); syslog(LOG_INFO, "terminating as there are no " "more devices under management"); exit(0); } intf[i] = intf[numInterfaces - 1]; numInterfaces--; } break; case CMD_REQSTATUS: for (i = 0; i < numInterfaces; i++) if (!strcmp(intf[i].device, cmd.u.stop.device)) break; if (i == numInterfaces) { cmd.u.result = RESULT_UNKNOWNIFACE; } else { cmd.type = CMD_STATUS; cmd.u.status.intf = intf[i]; if (intf[i].set & PUMP_NETINFO_HAS_HOSTNAME) strncpy(cmd.u.status.hostname, intf->hostname, sizeof(cmd.u.status.hostname)); cmd.u.status.hostname[sizeof(cmd.u.status.hostname)] = '\0'; if (intf[i].set & PUMP_NETINFO_HAS_DOMAIN) strncpy(cmd.u.status.domain, intf->domain, sizeof(cmd.u.status.domain)); cmd.u.status.domain[sizeof(cmd.u.status.domain) - 1] = '\0'; if (intf[i].set & PUMP_INTFINFO_HAS_BOOTFILE) strncpy(cmd.u.status.bootFile, intf->bootFile, sizeof(cmd.u.status.bootFile)); cmd.u.status.bootFile[sizeof(cmd.u.status.bootFile) - 1] = '\0'; if (intf[i].set & PUMP_NETINFO_HAS_NISDOMAIN) strncpy(cmd.u.status.nisDomain, intf->nisDomain, sizeof(cmd.u.status.nisDomain)); cmd.u.status.nisDomain[sizeof(cmd.u.status.nisDomain)-1] = '\0'; } case CMD_STATUS: case CMD_RESULT: /* can't happen */ break; } if (cmd.type != CMD_STATUS) cmd.type = CMD_RESULT; i = write(conn, &cmd, sizeof(cmd)); close(conn); } } exit(0); } static int openControlSocket(char * configFile, struct pumpOverrideInfo * override) { struct sockaddr_un addr; int sock; size_t addrLength; pid_t child; int status; if ((sock = socket(PF_UNIX, SOCK_STREAM, 0)) < 0) return -1; addr.sun_family = AF_UNIX; strcpy(addr.sun_path, CONTROLSOCKET); addrLength = sizeof(addr.sun_family) + strlen(addr.sun_path); if (!connect(sock, (struct sockaddr *) &addr, addrLength)) return sock; if (errno != ENOENT && errno != ECONNREFUSED) { fprintf(stderr, "failed to connect to %s: %s\n", CONTROLSOCKET, strerror(errno)); close(sock); return -1; } if (!(child = fork())) { close(sock); close(0); close(1); close(2); if ((sock = socket(PF_UNIX, SOCK_STREAM, 0)) < 0) { syslog(LOG_ERR, "failed to create socket: %s\n", strerror(errno)); exit(1); } unlink(CONTROLSOCKET); umask(077); if (bind(sock, (struct sockaddr *) &addr, addrLength)) { syslog(LOG_ERR, "bind to %s failed: %s\n", CONTROLSOCKET, strerror(errno)); exit(1); } umask(033); listen(sock, 5); if (fork()) _exit(0); openlog("pumpd", LOG_PID, LOG_DAEMON); { time_t now,upt; int updays,uphours,upmins,upsecs; now = time(NULL); upt = pumpUptime(); if (now <= upt) syslog(LOG_INFO, "starting at %s\n", ctime(&now)); else { upsecs = upt % 60; upmins = (upt / 60) % 60; uphours = (upt / 3600) % 24; updays = upt / 86400; syslog(LOG_INFO, "starting at (uptime %d days, %d:%02d:%02d) %s\n", updays, uphours, upmins, upsecs, ctime(&now)); } } runDaemon(sock, configFile, override); } waitpid(child, &status, 0); if (!WIFEXITED(status) || WEXITSTATUS(status)) return -1; if (!connect(sock, (struct sockaddr *) &addr, addrLength)) return sock; fprintf(stderr, "failed to connect to %s: %s\n", CONTROLSOCKET, strerror(errno)); return 0; } void printStatus(struct pumpNetIntf i, char * hostname, char * domain, char * bootFile, char * nisDomain) { int j; time_t now,upnow,localAt,localExpiration; printf("Device %s\n", i.device); printf("\tIP: %s\n", inet_ntoa(i.ip)); printf("\tNetmask: %s\n", inet_ntoa(i.netmask)); printf("\tBroadcast: %s\n", inet_ntoa(i.broadcast)); printf("\tNetwork: %s\n", inet_ntoa(i.network)); printf("\tBoot server %s\n", inet_ntoa(i.bootServer)); printf("\tNext server %s\n", inet_ntoa(i.nextServer)); if (i.set & PUMP_NETINFO_HAS_GATEWAY) printf("\tGateway: %s\n", inet_ntoa(i.gateway)); if (i.set & PUMP_INTFINFO_HAS_BOOTFILE) printf("\tBoot file: %s\n", bootFile); if (i.set & PUMP_NETINFO_HAS_HOSTNAME) printf("\tHostname: %s\n", hostname); if (i.set & PUMP_NETINFO_HAS_DOMAIN) printf("\tDomain: %s\n", domain); if (i.numDns) { printf("\tNameservers:"); for (j = 0; j < i.numDns; j++) printf(" %s", inet_ntoa(i.dnsServers[j])); printf("\n"); } if (i.set & PUMP_NETINFO_HAS_NISDOMAIN) printf("\tNIS Domain: %s\n", nisDomain); if (i.numLog) { printf("\tLogservers:"); for (j = 0; j < i.numLog; j++) printf(" %s", inet_ntoa(i.logServers[j])); printf("\n"); } if (i.numLpr) { printf("\tLprservers:"); for (j = 0; j < i.numLpr; j++) printf(" %s", inet_ntoa(i.lprServers[j])); printf("\n"); } if (i.numNtp) { printf("\tNtpservers:"); for (j = 0; j < i.numNtp; j++) printf(" %s", inet_ntoa(i.ntpServers[j])); printf("\n"); } if (i.numXfs) { printf("\tXfontservers:"); for (j = 0; j < i.numXfs; j++) printf(" %s", inet_ntoa(i.xfntServers[j])); printf("\n"); } if (i.numXdm) { printf("\tXdmservers:"); for (j = 0; j < i.numXdm; j++) printf(" %s", inet_ntoa(i.xdmServers[j])); printf("\n"); } if (i.set & PUMP_INTFINFO_HAS_LEASE) { upnow = pumpUptime(); tzset(); now = time(NULL); localAt = now + (i.renewAt - upnow); localExpiration = now + (i.leaseExpiration - upnow); printf("\tRenewal time: %s", ctime(&localAt)); printf("\tExpiration time: %s", ctime(&localExpiration)); } } int main (int argc, const char ** argv) { char * device = "eth0"; char * hostname = ""; poptContext optCon; int rc; int ret; int test = 0; int flags = 0; int lease_hrs = 0; int lease = 12*3600; int killDaemon = 0; int winId = 0; int release = 0, renew = 0, status = 0, lookupHostname = 0, nodns = 0; int nogateway = 0, nobootp = 0; struct command cmd, response; char * configFile = "/etc/pump.conf"; struct pumpOverrideInfo * overrides; int cont; struct poptOption options[] = { { "config-file", 'c', POPT_ARG_STRING, &configFile, 0, N_("Configuration file to use instead of " "/etc/pump.conf") }, { "hostname", 'h', POPT_ARG_STRING, &hostname, 0, N_("Hostname to request"), N_("hostname") }, { "interface", 'i', POPT_ARG_STRING, &device, 0, N_("Interface to configure (normally eth0)"), N_("iface") }, { "kill", 'k', POPT_ARG_NONE, &killDaemon, 0, N_("Kill daemon (and disable all interfaces)"), NULL }, { "lease", 'l', POPT_ARG_INT, &lease_hrs, 0, N_("Lease time to request (in hours)"), N_("hours") }, { "leasesecs", 'L', POPT_ARG_INT, &lease, 0, N_("Lease time to request (in seconds)"), N_("seconds") }, { "lookup-hostname", '\0', POPT_ARG_NONE, &lookupHostname, 0, N_("Force lookup of hostname") }, { "release", 'r', POPT_ARG_NONE, &release, 0, N_("Release interface"), NULL }, { "renew", 'R', POPT_ARG_NONE, &renew, 0, N_("Force immediate lease renewal"), NULL }, { "status", 's', POPT_ARG_NONE, &status, 0, N_("Display interface status"), NULL }, { "no-dns", 'd', POPT_ARG_NONE, &nodns, 0, N_("Don't update resolv.conf"), NULL }, { "no-gateway", '\0', POPT_ARG_NONE, &nogateway, 0, N_("Don't set a gateway for this interface"), NULL }, { "no-bootp", '\0', POPT_ARG_NONE, &nobootp, 0, N_("Ignore non-DHCP BOOTP responses"), NULL }, { "win-client-ident", '\0', POPT_ARG_NONE, &winId, 0, N_("Set the client identifier to match Window's") }, /*{ "test", 't', POPT_ARG_NONE, &test, 0, N_("Don't change the interface configuration or " "run as a deamon.") },*/ POPT_AUTOHELP { NULL, '\0', 0, NULL, 0 } }; memset(&cmd, 0, sizeof(cmd)); memset(&response, 0, sizeof(response)); optCon = poptGetContext(PROGNAME, argc, argv, options,0); poptReadDefaultConfig(optCon, 1); if ((rc = poptGetNextOpt(optCon)) < -1) { fprintf(stderr, _("%s: bad argument %s: %s\n"), PROGNAME, poptBadOption(optCon, POPT_BADOPTION_NOALIAS), poptStrerror(rc)); return 1; } if (poptGetArg(optCon)) { fprintf(stderr, _("%s: no extra parameters are expected\n"), PROGNAME); return 1; } /* make sure the config file is parseable before going on any further */ if (readPumpConfig(configFile, &overrides)) return 1; if (geteuid()) { fprintf(stderr, _("%s: must be run as root\n"), PROGNAME); exit(1); } if (test) flags = PUMP_FLAG_NODAEMON | PUMP_FLAG_NOCONFIG; if (winId) flags |= PUMP_FLAG_WINCLIENTID; if (lookupHostname) flags |= PUMP_FLAG_FORCEHNLOOKUP; if (nodns) overrides->flags |= OVERRIDE_FLAG_NODNS; if (nobootp) overrides->flags |= OVERRIDE_FLAG_NOBOOTP; if (nogateway) overrides->flags |= OVERRIDE_FLAG_NOGATEWAY; cont = openControlSocket(configFile, overrides); if (cont < 0) exit(1); if (killDaemon) { cmd.type = CMD_DIE; } else if (status) { cmd.type = CMD_REQSTATUS; strcpy(cmd.u.reqstatus.device, device); } else if (renew) { cmd.type = CMD_FORCERENEW; strcpy(cmd.u.renew.device, device); } else if (release) { cmd.type = CMD_STOPIFACE; strcpy(cmd.u.stop.device, device); } else { cmd.type = CMD_STARTIFACE; strcpy(cmd.u.start.device, device); cmd.u.start.flags = flags; if(lease_hrs) cmd.u.start.reqLease = lease_hrs * 60 * 60; else cmd.u.start.reqLease = lease; strcpy(cmd.u.start.reqHostname, hostname); } ret = write(cont, &cmd, sizeof(cmd)); ret = read(cont, &response, sizeof(response)); if (response.type == CMD_RESULT && response.u.result && cmd.type == CMD_STARTIFACE) { cont = openControlSocket(configFile, overrides); if (cont < 0) exit(1); ret = write(cont, &cmd, sizeof(cmd)); ret = read(cont, &response, sizeof(response)); } if (response.type == CMD_RESULT) { if (response.u.result) { fprintf(stderr, "Operation failed.\n"); return 1; } } else if (response.type == CMD_STATUS) { printStatus(response.u.status.intf, response.u.status.hostname, response.u.status.domain, response.u.status.bootFile, response.u.status.nisDomain); } return 0; } pump-0.8.24/CREDITS0000664000076400007640000000137107246756706012675 0ustar katzjkatzjThere are a bunch of folks who made this code possible. I'm sure I've missed some in this list :-( Alan Cox Bruce Beare David Blythe Stephen Carville Guy Delamarter Chris Johnson Michael Johnson H. J. Lu Kristof Petr Marco Pietrobono Benjamin Reed George Staikos Jay Turner Matt Wilson weejock@ferret.lmh.ox.ac.uk pump-0.8.24/pump.spec0000664000076400007640000002351410322760036013471 0ustar katzjkatzjSummary: A Bootp and DHCP client for automatic IP configuration. Name: pump Version: 0.8.24 Release: 1 Group: System Environment/Daemons License: MIT BuildRoot: %{_tmppath}/%{name}-root Source: pump-%{version}.tar.gz Obsoletes: bootpc BuildRequires: newt-devel Requires: initscripts >= 3.92 %description DHCP (Dynamic Host Configuration Protocol) and BOOTP (Boot Protocol) are protocols which allow individual devices on an IP network to get their own network configuration information (IP address, subnetmask, broadcast address, etc.) from network servers. The overall purpose of DHCP and BOOTP is to make it easier to administer a large network. Pump is a combined BOOTP and DHCP client daemon, which allows your machine to retrieve configuration information from a server. You should install this package if you are on a network which uses BOOTP or DHCP. %package devel Summary: Development tools for sending DHCP and BOOTP requests. Group: Development/Libraries %description devel The pump-devel package provides system developers the ability to send BOOTP and DHCP requests from their programs. BOOTP and DHCP are protocols used to provide network configuration information to networked machines. %package -n netconfig Group: Applications/System Summary: A text-based tool for simple configuration of ethernet devices. %description -n netconfig A text-based tool for simple configuration of ethernet devices. %prep %setup -q %build make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT %makeinstall RPM_BUILD_ROOT=$RPM_BUILD_ROOT rm -f $RPM_BUILD_ROOT/sbin/pump $RPM_BUILD_ROOT%{_mandir}/man8/pump.8* %find_lang %{name} %clean rm -rf $RPM_BUILD_ROOT %if 0 %files %defattr(-,root,root) /sbin/pump %{_mandir}/man*/* %endif %files devel %defattr(-,root,root) %{_libdir}/libpump.a %{_includedir}/pump.h %files -n netconfig -f %{name}.lang %defattr(-,root,root) %{_sbindir}/netconfig %changelog * Tue Oct 11 2005 Jeremy Katz - 0.8.24-1 - a few more warnings * Tue Oct 11 2005 Jeremy Katz - 0.8.23-1 - fix warnings (#111081) * Mon Oct 3 2005 Petr Rockai - 0.8.22-2 - rebuild against newt 0.52 * Wed Apr 20 2005 Jeremy Katz - 0.8.22-1 - add patch from Sean Dilda to support setting of MTU (#154726, related to #155414/#151789) * Tue Sep 21 2004 Jeremy Katz - 0.8.21-1 - don't bring down the interface when getting a lease, should help with some cases where switch negotiation takes a while. anaconda already takes the interface down before getting a lease and then ensures that the link is present (#131475, #110036) * Tue Jan 6 2004 Jeremy Katz 0.8.20-1 - rebuild with vendor class id patch (#78843) * Thu Aug 14 2003 Bill Nottingham 0.8.19-1 - translations * Wed Aug 13 2003 Bill Nottingham 0.8.18-1 - add --hwaddr and --desc options to netconfig * Fri Aug 01 2003 Florian La Roche - set hopcount (ip_ttl) from 0 to 16 * Tue Mar 11 2003 Jeremy Katz 0.8.15-2 - rebuild * Tue Mar 11 2003 Jeremy Katz 0.8.15-1 - add mtu and ptpaddr fields for s390 * Tue Feb 11 2003 Bill Nottingham 0.8.14-2 - rebuild * Wed Dec 11 2002 Elliot Lee 0.8.14-1 - Remove unpackaged files * Fri Oct 4 2002 Jeremy Katz - build with -fPIC * Fri Oct 4 2002 Jeremy Katz - link against libpopt.a in %%{_libdir} * Thu Aug 15 2002 Bill Nottingham - rebuild against new newt * Thu Jun 27 2002 Bill Nottingham - don't ship main package * Tue Jun 18 2002 Bill Nottingham - sync patches and CVS - rebuild against new slang - don't strip binaries * Thu May 23 2002 Tim Powers - automated rebuild * Wed Jan 09 2002 Tim Powers - automated rebuild * Sun Aug 26 2001 Elliot Lee - Fix one half #17724 * Wed Jul 25 2001 Trond Eivind Glomsrd - Don't obsolete netconfig, it's now separate again * Tue Jul 24 2001 Elliot Lee - Fix installer segfaults with nobootp patch. * Mon Jul 23 2001 Trond Eivind Glomsrd - split out netconfig to a package of its own * Thu Jul 19 2001 Elliot Lee - Patch from bugs #19501, #19502, #21088, etc. * Sun Jun 24 2001 Elliot Lee - Bump release + rebuild. * Thu Mar 1 2001 Bill Nottingham - make netconfig much more sane (#30008, in essence) * Tue Feb 27 2001 Erik Troan - applied patch to use SO_BINDTODEVICE properly (weejock@ferret.lmh.ox.ac.uk) * Mon Feb 12 2001 Bill Nottingham - run ifup-post on lease renewal * Thu Feb 01 2001 Erik Troan - update secs field properly - don't reset interface flags we don't understand - added --win-client-id flag - cleaned up packet creation a bit - added --no-gateway * Tue Jan 9 2001 Matt Wilson - always set the src address of the broadcast to 0.0.0.0 * Mon Nov 20 2000 Erik Troan - lo device needs to have it's network route added * Fri Nov 10 2000 Bill Nottingham - don't pass a random length to accept() * Mon Oct 23 2000 Erik Troan - up scripts called for first interface information, and called even if pump failed * Wed Aug 30 2000 Bernhard Rosenkraenzer - Fix up the "search" entry scan so it works in Europe... * Wed Aug 16 2000 Matt Wilson - added a strerror(errno) to the "unable to set default route" syslog * Tue Aug 15 2000 Erik Troan - reverted always put the dhcp option type as the first code in the vendor field * Mon Aug 07 2000 Erik Troan - added .net to list of top level domains - don't crash on domains w/ no .'s in them - syslog if adding the default route fails * Sat Aug 05 2000 Erik Troan - net.c should use "pump.h", not * Fri Aug 04 2000 Erik Troan - use BINDTODEVICE - support nis domain names - always put the dhcp option type as the first code in the vendor field * Mon Jul 3 2000 Bill Nottingham - add some sanity checks in dhcp.c * Mon Jun 26 2000 Matt Wilson - defattr root for devel subpackage * Mon Jun 19 2000 Than Ngo - FHS fixes * Tue Mar 28 2000 Erik Troan - added pump-devel package * Thu Feb 24 2000 Erik Troan - set hw type properly (safford@watson.ibm.com) * Wed Feb 23 2000 Erik Troan - fixed # parsing (aaron@schrab.com) * Tue Feb 15 2000 Erik Troan - added script argument (Guy Delamarter ) - fixed bug in hostname passing (H.J. Lu) - fixed time displays to be in wall time, not up time (Chris Johnson) * Wed Feb 9 2000 Bill Nottingham - fix bug in netconfig - hitting 'back' causes bogus config files to get written * Thu Feb 03 2000 Erik Troan - added patch from duanev@io.com which improves debug messages and uses /proc/uptime rather time time() -- this should be correct for everything but systems that are suspended during their lease time, in which case we'll be wrong - added hostname to DISCOVER and RELEASE events; hopefully this gets us working for all @HOME systems. - patch from dunham@cse.msu.edu fixed /etc/resolv.conf parsing * Wed Feb 02 2000 Cristian Gafton - fix description - man pages are compressed * Wed Nov 10 1999 Erik Troan - at some point a separate dhcp.c was created - include hostname in renewal request - changed default lease time to 6 hours - if no hostname is specified on the command line, use gethostname() to request one (unless it's "localhost" or "localhost.localdomain") - properly handle failed renewal attempts - display (and request) syslog, lpr, ntp, font, and xdm servers * Tue Sep 14 1999 Michael K. Johnson - pump processes cannot accumulate because of strange file descriptors (bug only showed up under rp3) * Tue Sep 7 1999 Bill Nottingham - add simple network configurator * Wed Jun 23 1999 Erik Troan - patch from Sten Drescher for syslog debugging info - patch from Sten Drescher to not look past end of dhcp packet for options - patches form Alan Cox for cleanups, malloc failures, and proper udp checksums - handle replies with more then 3 dns servers specified - resend dhcp_discover with proper options field - shrank dhcp_vendor_length to 312 for rfc compliance (thanks to Ben Reed) - added support for a config file - don't replace search pass in /etc/resolv.conf unless we have a better one - bringing down a device didn't work properly * Sat May 29 1999 Erik Troan - bootp interfaces weren't being brought down properly - segv could result if no domain name was given * Sat May 08 1999 Erik Troan - fixed some file descriptor leakage * Thu May 06 1999 Erik Troan - set option list so we'll work with NT - tried to add a -h option, but I have no way of testing it :-( * Wed Apr 28 1999 Erik Troan - closing fd 1 is important * Mon Apr 19 1999 Bill Nottingham - don't obsolete dhcpcd * Tue Apr 06 1999 Erik Troan - retry code didn't handle failure terribly gracefully * Tue Mar 30 1999 Erik Troan - added --lookup-hostname - generate a DNS search path based on full domain set - use raw socket for revieving reply; this lets us work properly on 2.2 kernels when we recieve unicast replies from the bootp server * Mon Mar 22 1999 Erik Troan - it was always requesting a 20 second lease * Mon Mar 22 1999 Michael K. Johnson - added minimal man page /usr/man/man8/pump.8 pump-0.8.24/po/0000775000076400007640000000000010322774422012251 5ustar katzjkatzjpump-0.8.24/po/ro.po0000664000076400007640000001220407717053360013235 0ustar katzjkatzj# $Id: ro.po,v 1.1.2.1 2003/08/15 03:43:44 notting Exp $ # msgid "" msgstr "" "Project-Id-Version: sndconfig 3.0\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2000-02-21 19:27-05:00\n" "Last-Translator: Cristian Gafton \n" "Language-Team: Romanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" #: ../net.c:173 msgid "NFS server name:" msgstr "Numele serverului NFS:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Directorul Red Hat:" #: ../net.c:182 msgid "NFS Setup" msgstr "Configurare NFS" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Următoarele informaţii sînt necesare:\n" " o numele sau adresa de IP a serverului NFS\n" " o directorul de pe serverul de NFS conţinînd\n" " pachetele Red Hat Linux pentru acest sistem" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "OK" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Înapoi" #: ../net.c:265 msgid "Nameserver IP" msgstr "Adresa IP Server" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Server DNS" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "Cererea pentru o adresă de IP dinamică a obţinut informaţii pentru " "configurarea parametrilor IP, dar răspunsul serverului nu a inclus şi o " "adresă pentru un server DNS. Dacă cunoasteţi care este adresa acelui server " "DNS, introduceţi-o acum. Dacă nu aveţi acestă informaţie, lăsaţi acest cîmp " "gol şi programul de instaare va continua." #: ../net.c:280 msgid "Invalid IP Information" msgstr "Informaţie IP invalidă" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Încearcă din nou" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "Aţi introdus o adresă de IP incorectă." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Introduceţi configuraţia IP oentru acest calculator. Fiecare valoare trebuie " "introdusă ca o adresă de IP în notaţie decimală cu punct (de exemplu, " "1.2.3.4)." #: ../net.c:310 msgid "IP address:" msgstr "Adresă IP:" #: ../net.c:313 msgid "Netmask:" msgstr "Netmask:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Gateway (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Server DNS primar:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Configurare IP prin metodă dinamică (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Configurare TCP/IP" #: ../net.c:405 msgid "Missing Information" msgstr "Informaţie Inexistentă" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Trebuie să introduceţi o adresă de IP şi netmask corecte." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "Adresă IP dinamică" #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "Detectare configuraţie IP..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Nume host" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Determinare host name şi domeniu..." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "kickstart" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "argument eronat pentru comanda network în kickstart %s: %s " #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "Valoare invalidă pentru comanda bootproto specificată: %s" #: ../net.c:767 msgid "Boot protocol to use" msgstr "Protocol folosit la iniţializare" #: ../net.c:769 msgid "Network gateway" msgstr "Gateway reţea" #: ../net.c:771 msgid "IP address" msgstr "Adresă IP" #: ../net.c:775 msgid "Netmask" msgstr "Netmask" #: ../net.c:780 msgid "Domain name" msgstr "Domeniu DNS" #: ../net.c:783 msgid "Network device" msgstr "Placă de reţea" #: ../net.c:786 msgid "No DNS lookups" msgstr "" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 msgid "Description of the device" msgstr "" #: ../net.c:866 msgid "" " / between elements | selects | next " "screen" msgstr "" " / între elemente | selectează | următorul " "ecran " #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." #: ../net.c:870 msgid "Network configuration" msgstr "Configurare Reţea" #: ../net.c:870 msgid "Yes" msgstr "Da" #: ../net.c:870 msgid "No" msgstr "Nu" #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "Doriţi să configuraţi accesul la reţea pentru acest calculator?" pump-0.8.24/po/ms.po0000664000076400007640000001130207717053360013232 0ustar katzjkatzj# Anaconda Bahasa Melayu (ms) # Jika takut risiko, Jangan bicara tentang Perjuangan # Hasbullah Bin Pit (sebol) , 2002 # Sharuzzaman Ahmat Raslan , 2003 # msgid "" msgstr "" "Project-Id-Version: anaconda\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-08-04 19:42+0800\n" "Last-Translator: Sharuzzaman Ahmat Raslan \n" "Language-Team: Malay \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.0\n" #: ../net.c:173 #, fuzzy msgid "NFS server name:" msgstr "Nama pengguna:" #: ../net.c:176 #, fuzzy msgid "Red Hat directory:" msgstr "Ialah satu direktori" #: ../net.c:182 msgid "NFS Setup" msgstr "Tetapan NFS" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "\n" " IP\n" " direktori on\n" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "OK" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Undur" #: ../net.c:265 msgid "Nameserver IP" msgstr "IP Pelayan nama" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Pelayan Nama" #: ../net.c:270 #, fuzzy msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "IP IP dan." #: ../net.c:280 #, fuzzy msgid "Invalid IP Information" msgstr "Maklumat Umum" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Ulangi" #: ../net.c:281 #, fuzzy msgid "You entered an invalid IP address." msgstr "Sila masukkan alamat email yang sah." #: ../net.c:304 #, fuzzy msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "IP IP dalam." #: ../net.c:310 msgid "IP address:" msgstr "Alamat IP:" #: ../net.c:313 msgid "Netmask:" msgstr "Netmask:" #: ../net.c:316 #, fuzzy msgid "Default gateway (IP):" msgstr "Strategi khusus:" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Pelayan nama utama:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Guna konfigurasi IP dinamik (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Konfigurasikan TCP/IP" #: ../net.c:405 msgid "Missing Information" msgstr "Maklumat Hilang" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Anda mesti masukkan kedua-dua alamat IP dan netmask." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "IP Dinamik" #: ../net.c:415 ../net.c:706 #, fuzzy msgid "Sending request for IP information..." msgstr "Mengirim permintaan bagi maklumat IP..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Namahos" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Menentukan nama hos dan domain..." #: ../net.c:689 ../net.c:722 #, fuzzy msgid "kickstart" msgstr "Ralat Alias" # lom #: ../net.c:690 #, fuzzy, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "hujah teruk untuk kickstart arahan rangkaian %s:%s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "Bootproto teruk %s dinyatakan pada arahan rangkaian" #: ../net.c:767 msgid "Boot protocol to use" msgstr "" #: ../net.c:769 #, fuzzy msgid "Network gateway" msgstr "Konfigurasi Rangkaian" #: ../net.c:771 #, fuzzy msgid "IP address" msgstr "Alamat IP:" #: ../net.c:775 msgid "Netmask" msgstr "Netmask" #: ../net.c:780 msgid "Domain name" msgstr "" #: ../net.c:783 #, fuzzy msgid "Network device" msgstr "Peranti Rangkaian" #: ../net.c:786 #, fuzzy msgid "No DNS lookups" msgstr "Guna carian _TLS" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "Huraian" #: ../net.c:866 #, fuzzy msgid "" " / between elements | selects | next " "screen" msgstr "" " / Antara unsur | pilih | Skrin " "seterusnya " #: ../net.c:867 #, fuzzy, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "%s (C) 2003 Red Hat, Inc." #: ../net.c:870 #, fuzzy msgid "Network configuration" msgstr "Konfigurasi Rangkaian" #: ../net.c:870 msgid "Yes" msgstr "Ya" #: ../net.c:870 msgid "No" msgstr "Tidak" #: ../net.c:871 #, fuzzy msgid "Would you like to set up networking?" msgstr "Apa yang anda ingin lakukan?" pump-0.8.24/po/de.po0000664000076400007640000001270107717053360013207 0ustar katzjkatzj# translation of de.po to # translation of de.po to # translation of anaconda.anaconda-po.po to # translation of anaconda.anaconda-po.po to Deutsch # translation of de.po to Deutsch # Copyright (C) 2001 Red Hat, Inc. # Claudia Krug , 2001. # Bernd Groh , 2002,2003 # Andreas Müller , 2003 # msgid "" msgstr "" "Project-Id-Version: anaconda.anaconda-po\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-08-08 11:13+1000\n" "Last-Translator: Bernd Groh \n" "Language-Team: Deutsch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.0\n" #: ../net.c:173 msgid "NFS server name:" msgstr "NFS-Servername:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Red Hat Verzeichnis:" #: ../net.c:182 msgid "NFS Setup" msgstr "NFS-Setup" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Geben Sie folgende Informationen ein:\n" "\n" " o Name oder IP-Adresse Ihres NFS-Servers\n" " o das Verzeichnis auf diesem Server, in welchem\n" " %s für Ihre Architektur enthalten ist" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "OK" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Zurück" #: ../net.c:265 msgid "Nameserver IP" msgstr "Nameserver-IP" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Nameserver" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "Auf Ihre dynamische IP-Anforderung wurden IP-Konfigurationsinformationen " "zurückgegeben, die aber keinen DNS-Nameserver enthielten. Wenn Sie Ihren " "Nameserver kennen, geben Sie ihn jetzt ein. Wenn Sie über die entsprechenden " "Angaben nicht verfügen, müssen Sie in dieses Feld nichts eintragen. Die " "Installation wird fortgesetzt." #: ../net.c:280 msgid "Invalid IP Information" msgstr "Ungültige IP-Angaben" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Wiederholen" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "Sie haben eine ungültige IP-Adresse eingegeben." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Geben Sie die IP-Konfiguration für diesen Rechner ein. Jeder Eintrag muss " "als IP-Adresse mit durch Punkt getrennte Dezimalzahlen eingegeben werden (z." "B. 1.2.3.4)." #: ../net.c:310 msgid "IP address:" msgstr "IP-Adresse:" #: ../net.c:313 msgid "Netmask:" msgstr "Netmask:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Standard-Gateway (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Primärer Nameserver:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Dynamische IP-Konfiguration (BOOTP/DHCP) verwenden" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "TCP/IP konfigurieren" #: ../net.c:405 msgid "Missing Information" msgstr "Fehlende Informationen" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "" "Sie müssen sowohl eine gültige IP-Adresse als auch eine Netmask eingeben." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "Dynamische IP" #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "Anforderung für IP-Angaben wird gesendet..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Hostname" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Hostname und Domain werden ermittelt..." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "Kickstart" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "Ungültiges Argument im Kickstart-Netzwerkbefehl %s: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "Ungültiges Boot-Protokoll %s in Netzwerkbefehl enthalten" #: ../net.c:767 msgid "Boot protocol to use" msgstr "Zu verwendendes Boot-Protokoll" #: ../net.c:769 msgid "Network gateway" msgstr "Netzwerk-Gateway" #: ../net.c:771 msgid "IP address" msgstr "IP-Adresse" #: ../net.c:775 msgid "Netmask" msgstr "Netmask" #: ../net.c:780 msgid "Domain name" msgstr "Domänenname" #: ../net.c:783 msgid "Network device" msgstr "Netzwerkgerät" #: ../net.c:786 msgid "No DNS lookups" msgstr "Keine DNS-Lookups" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "Beschreibung" #: ../net.c:866 msgid "" " / between elements | selects | next " "screen" msgstr "/ Elemente wechseln | Auswahl | Weiter" #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." #: ../net.c:870 msgid "Network configuration" msgstr "Netzwerk-Konfiguration" #: ../net.c:870 msgid "Yes" msgstr "Ja" #: ../net.c:870 msgid "No" msgstr "Nein" #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "Möchten Sie die Netzwerkeinstellungen konfigurieren?" pump-0.8.24/po/it.po0000664000076400007640000001235707717053360013242 0ustar katzjkatzj# translation of it.po to Italian # Copyright (C) 2001,2003 Free Software Foundation, Inc. # Bettina De Monti , 2001. # Tullio Dovera , 2001. # Gabriella Bertilaccio , 2001. # Valentina Besi , 2001. # Francesco Valente , 2003 # msgid "" msgstr "" "Project-Id-Version: it\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-06-24 10:50+1000\n" "Last-Translator: Francesco Valente \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.0\n" #: ../net.c:173 msgid "NFS server name:" msgstr "Nome del server NFS:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Directory Red Hat:" #: ../net.c:182 msgid "NFS Setup" msgstr "Configurazione di NFS" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Inserire le seguenti informazioni:\n" "\n" " o il nome o il numero IP del server %s\n" " o la directory sullo stesso server contenente\n" " %s per l'architettura di sistema\n" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "OK" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Indietro" #: ../net.c:265 msgid "Nameserver IP" msgstr "Nameserver IP" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Nameserver" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "Sono state ricevute le informazioni sulla configurazione della rete IP, " "escluso il server DNS. Inserire il server DNS oppure, se non lo si conosce, " "lasciare il campo vuoto e procedere con l'installazione." #: ../net.c:280 msgid "Invalid IP Information" msgstr "Informazione IP non corretta" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Riprova" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "E' stato inserito un indirizzo IP non valido." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Inserire la configurazione IP del computer. Ogni indirizzo deve essere " "inserito secondo la notazione IP (per esempio 1.2.3.4)." #: ../net.c:310 msgid "IP address:" msgstr "Indirizzo IP:" #: ../net.c:313 msgid "Netmask:" msgstr "Maschera di rete:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Gateway di default (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "DNS primario:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Usare la configurazione IP dinamica (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Configurazione TCP/IP" #: ../net.c:405 msgid "Missing Information" msgstr "Informazioni mancanti" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Devono essere inseriti l'indirizzo IP e la maschera di rete corretti." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "IP dinamico" #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "Invio richiesta per le informazioni IP..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Hostname" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Ricerca hostname e dominio..." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "kickstart" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "argomento non corretto per un comando di rete del kickstart %s: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "Bootproto %s non corretto specificato nel comando di rete" #: ../net.c:767 msgid "Boot protocol to use" msgstr "Protocollo di boot da usare" #: ../net.c:769 msgid "Network gateway" msgstr "Gateway" #: ../net.c:771 msgid "IP address" msgstr "Indirizzo IP" #: ../net.c:775 msgid "Netmask" msgstr "Maschera di rete" #: ../net.c:780 msgid "Domain name" msgstr "Nome del dominio" #: ../net.c:783 msgid "Network device" msgstr "Dispositivo di rete" #: ../net.c:786 msgid "No DNS lookups" msgstr "Nessun lookup DNS" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "Descrizione" #: ../net.c:866 msgid "" " / between elements | selects | next " "screen" msgstr "" " / fra elementi | seleziona | schermata succ." #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." #: ../net.c:870 msgid "Network configuration" msgstr "Configurazione della rete" #: ../net.c:870 msgid "Yes" msgstr "Sì" #: ../net.c:870 msgid "No" msgstr "No" #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "Configurare la rete?" pump-0.8.24/po/bn.po0000664000076400007640000001717207717053360013225 0ustar katzjkatzj# Bangla translation for anaconda. # Copyright (C) 2003 Ankur Group # This file is distributed under the same license as the anaconda package. # Jamil Ahmed , 2003. # msgid "" msgstr "" "Project-Id-Version: anaconda 9.0\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-03-19 14:30+0600\n" "Last-Translator: Progga \n" "Language-Team: Bangla \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../net.c:173 msgid "NFS server name:" msgstr "NFS সার্ভারের নাম:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "রেড হ্যাট ডিরেক্টরি:" #: ../net.c:182 msgid "NFS Setup" msgstr "এন. এফ. এস. সেট আপ" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "অনুগ্রহপূর্বক নিম্নোক্ত তথ্যাবলী প্রদান করুন:\n" "\n" " o আপনার %s সার্ভারের নাম অথবা আই.পি. (IP) নম্বর\n" " o সার্ভারের যে ডিরেক্টরিতে আপনার ব্যবহৃত কম্পিউটারের নির্মাণ-কৌশল " "(Architecture) নির্ভর %s রয়েছে\n" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "ঠিক আছে" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "পূর্বাবস্থান" #: ../net.c:265 msgid "Nameserver IP" msgstr "নেম সার্ভার আই. পি." #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "নেম সার্ভার" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "আপনার ডাইনামিক আই. পি. রিকোয়েস্ট থেকে আই. পি. কনফিগারেশনের জন্য প্রয়োজনীয় তথ্য " "পাওয়াগেছে, কিন্তু ডি. এন. এস. নেমসার্ভার সম্বন্ধে কিছু জানা যায়নি। আপনি যদি আপনার " "নেমসার্ভারের অ্যাড্রেস জানেন,তা এখানে লিখুন। না জানলে এই জায়গাটি ফাঁকা রেখে দিতে " "পারেন,ইনস্টলেশন আপাতত চলবে" #: ../net.c:280 msgid "Invalid IP Information" msgstr "আই. পি. সংক্রান্ত তথ্য অবৈধ" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "পুনঃপ্রচেষ্টা" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "আপনার দেওয়া আই. পি. address অবৈধ" #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "এই কম্পিউটরের আই. পি. কনফিগারেশন এখানে লিখুন। প্রত্যেকটি ক্ষেত্রেdotted-decimal " "notation-এ (উদাহরণস্বরূপ, 1.2.3.4) একটি আই.পি. অ্যাড্রেস দিতে হবে" #: ../net.c:310 msgid "IP address:" msgstr "আই.পি. (IP) ঠিকানা:" #: ../net.c:313 msgid "Netmask:" msgstr "নেটমাস্ক:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "ডিফল্ট গেটওয়ে (আই.পি.):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "প্রথম নেইমসার্ভার:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "ডাইনামিক আই. পি. কনফিগারেশন ব্যবহার কর (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "টি. সি. পি./আই. পি. কনফিগার করুন" #: ../net.c:405 msgid "Missing Information" msgstr "কিছু তথ্যের এখনো অভাব" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "আপনাকে একটি বৈধ আই. পি. অ্যাডরেস এবং একটি নেট মাস্ক, দুই দিতে হবে" #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "ডাইনামিক আই. পি." #: ../net.c:415 ../net.c:706 #, fuzzy msgid "Sending request for IP information..." msgstr "%s-এর আই. পি. ইনফর্মেশন-এর জন্য অনুরোধ পাঠাচ্ছি" #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "হোস্টনাম (Hostname)" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "হোস্টনেম এবং ডোমেন ধার্য করছি..." #: ../net.c:689 ../net.c:722 #, fuzzy msgid "kickstart" msgstr "কিকস্টার্টে সমস্যা" #: ../net.c:690 #, fuzzy, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "কিকস্টার্ট নেটওয়ার্ক কমান্ড %s এর নিকট ভুল মান প্রেরণ করা হয়েছে: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "নেটওয়ার্ক কমান্ডে ভুল বুটপ্রোটো (Bootproto) %s উল্লেখ করা হয়েছে" #: ../net.c:767 msgid "Boot protocol to use" msgstr "" #: ../net.c:769 #, fuzzy msgid "Network gateway" msgstr "নেটওয়ার্ক কনফিগারেশন" #: ../net.c:771 #, fuzzy msgid "IP address" msgstr "আই.পি. (IP) ঠিকানা:" #: ../net.c:775 msgid "Netmask" msgstr "নেটমাস্ক" #: ../net.c:780 msgid "Domain name" msgstr "" #: ../net.c:783 #, fuzzy msgid "Network device" msgstr "নেটওয়ার্ক ডিভাইস" #: ../net.c:786 #, fuzzy msgid "No DNS lookups" msgstr "_টি.এল.এস (TLS) অনুসন্ধান প্রক্রিয়া ব্যবহার করা হোক" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "বর্ণনা" #: ../net.c:866 #, fuzzy msgid "" " / between elements | selects | next " "screen" msgstr "" " / পরবর্তী উপাদান | বেছে নেয়া | পরবর্তী " "পৃষ্ঠা প্রদর্শন" #: ../net.c:867 #, fuzzy, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "%s (কপিরাইট) ২০০৩ রেড হ্যাট, ইঙ্ক। " #: ../net.c:870 #, fuzzy msgid "Network configuration" msgstr "নেটওয়ার্ক কনফিগারেশন" # এইটা নিয়ে Confusion আছে #: ../net.c:870 msgid "Yes" msgstr "হ্যাঁ" #: ../net.c:870 msgid "No" msgstr "না" #: ../net.c:871 #, fuzzy msgid "Would you like to set up networking?" msgstr "আপনি কি করতে চান?" pump-0.8.24/po/no.po0000664000076400007640000001176607717053360013245 0ustar katzjkatzjmsgid "" msgstr "" "Project-Id-Version: install 7.1\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-02-10 17:23+0100\n" "Last-Translator: Trond Varslot \n" "Language-Team: Norwegian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Emacs 21.1\n" #: ../net.c:173 msgid "NFS server name:" msgstr "Navn på NFS-tjener:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Red Hat katalog:" #: ../net.c:182 msgid "NFS Setup" msgstr "NFS-oppsett" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Skriv inn følgende informasjon:\n" "\n" " o navnet eller IP-adressen til din %s-tjener\n" " o katalogen på den tjeneren som inneholder\n" " %s for din arkitektur\n" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "OK" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Tilbake" #: ../net.c:265 msgid "Nameserver IP" msgstr "Navnetjeners IP-adresse" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Navnetjener" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "Din forespørsel om dynamisk IP returnerte informasjon om IP-konfigurasjon, " "men den inkluderte ikke en DNS-navnetjener. Hvis du har informasjon om din " "navnetjener, skriv den inn nå. Hvis du ikke har denne informasjonen kan du " "la dette feltet stå tomt og installasjonen vil fortsette." #: ../net.c:280 msgid "Invalid IP Information" msgstr "Ugyldig IP-informasjon" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Prøv igjen" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "Du skrev inn en ugyldig IP-adresse." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Vær snill og skriv inn IP-konfigurasjonen for denne maskinen. Hver oppføring " "skal skrives inn som en IP-adresse i punktdelt desimal notasjon (f.eks, " "1.2.3.4)." #: ../net.c:310 msgid "IP address:" msgstr "IP-adresse:" #: ../net.c:313 msgid "Netmask:" msgstr "Nettmaske:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Standard gateway (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Primær navnetjener:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Bruk dynamisk konfigurasjon av IP (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Konfigurer TCP/IP" #: ../net.c:405 msgid "Missing Information" msgstr "Manglende informasjon" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Du må skrive inn både en gyldig IP-adresse og en nettmaske." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "Dynamisk IP" #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "Sender forespørsel om IP-informasjon..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Vertsnavn" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Undersøker vertsnavn og domene..." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "kickstart" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "ugyldig argument til nettverks-kommando for kickstart %s: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "Ugyldig bootproto %s spesifisert i nettverkskommandoen" #: ../net.c:767 msgid "Boot protocol to use" msgstr "Oppstartsprotokoll som skal brukes" #: ../net.c:769 msgid "Network gateway" msgstr "Nettverkets gateway" #: ../net.c:771 msgid "IP address" msgstr "IP-adresse" #: ../net.c:775 msgid "Netmask" msgstr "Nettmaske" #: ../net.c:780 msgid "Domain name" msgstr "Domenenavn" #: ../net.c:783 msgid "Network device" msgstr "Nettverksenhet" #: ../net.c:786 msgid "No DNS lookups" msgstr "Ingen DNS-oppslag" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "Beskrivelse" #: ../net.c:866 msgid "" " / between elements | selects | next " "screen" msgstr "" " /Alt-Tab> mellom elementer | velger | neste " "skjerm " #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." #: ../net.c:870 msgid "Network configuration" msgstr "Nettverkskonfigurasjon" #: ../net.c:870 msgid "Yes" msgstr "Ja" #: ../net.c:870 msgid "No" msgstr "Nei" #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "Vil du sette opp nettverk?" pump-0.8.24/po/is.po0000664000076400007640000001217507717053360013237 0ustar katzjkatzj# Íslensk þýðing anaconda # Copyright (C) 2002 # This file is distributed under the same license as the PACKAGE package. # Richard Allen , 2002. # msgid "" msgstr "" "Project-Id-Version: install 1.130\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2002-10-07 01:31+0000\n" "Last-Translator: Richard Allen \n" "Language-Team: is \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" #: ../net.c:173 msgid "NFS server name:" msgstr "NFS þjónn:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Red Hat mappan:" #: ../net.c:182 msgid "NFS Setup" msgstr "NFS Stillingar" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Vinsamlegast sláðu inn eftirfarandi upplýsingar:\n" "\n" " o heiti eða IP vistfang %s þjónsins\n" " o nafn möppu á þjóninum sem inniheldur\n" " %s fyrir vélina þína\n" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "Í lagi" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Til baka" #: ../net.c:265 msgid "Nameserver IP" msgstr "IP vistfang nafnaþjóns" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Nafnaþjónn" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "Beiðninni um lausbundnar IP stillingar var svarað en það innihélt ekki " "upplýsingar um nafnaþjóna. Ef þú veist hver nafnaþjónninn þinn er máttu slá " "það inn hérna. Ef þú veist það ekki máttu skilja þetta eftir autt og " "uppsetningin mun halda áfram." #: ../net.c:280 msgid "Invalid IP Information" msgstr "Ógildar IP upplýsingar" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Reyna aftur" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "Þú gafst upp ógilt IP vistfang." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Sláðu inn IP uppsetningu þessarar vélar. Hver færsla á að vera IP-tala rituð " "sem tölur með punkt á milli (dæmi 1.2.3.4)." #: ../net.c:310 msgid "IP address:" msgstr "IP vistfang:" #: ../net.c:313 msgid "Netmask:" msgstr "Netmöskvi:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Sjálfgefin gátt (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Aðalnafnaþjónn:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Nota lausbundnar IP stillingar (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Stillingar TCP/IP" #: ../net.c:405 msgid "Missing Information" msgstr "Upplýsingar vantar" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Þú verður að gefa upp fullgilt IP vistfang og netmöskva." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "Lausbundið IP" #: ../net.c:415 ../net.c:706 #, fuzzy msgid "Sending request for IP information..." msgstr "Sendi beiðni um IP stillingar fyrir %s..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Vélarheiti" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Reyni að ákvarða vélarheiti og netlén..." #: ../net.c:689 ../net.c:722 #, fuzzy msgid "kickstart" msgstr "Kickstart villa" #: ../net.c:690 #, fuzzy, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "óleyfilegt viðfang við netskipun hraðuppsetningar %s: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "Óleyfileg ''bootproto' %s í netskipun hraðuppsetningar" #: ../net.c:767 msgid "Boot protocol to use" msgstr "" #: ../net.c:769 #, fuzzy msgid "Network gateway" msgstr "Stillingar nets" #: ../net.c:771 #, fuzzy msgid "IP address" msgstr "IP vistfang:" #: ../net.c:775 msgid "Netmask" msgstr "Netmöskvi" #: ../net.c:780 msgid "Domain name" msgstr "" #: ../net.c:783 #, fuzzy msgid "Network device" msgstr "Netkort" #: ../net.c:786 #, fuzzy msgid "No DNS lookups" msgstr "Nota _TLS uppflettingar" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "Lýsing" #: ../net.c:866 #, fuzzy msgid "" " / between elements | selects | next " "screen" msgstr "" " / milli atriða | velur | næsti skjár " #: ../net.c:867 #, fuzzy, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "%s (C) 2003 Red Hat, Inc." #: ../net.c:870 #, fuzzy msgid "Network configuration" msgstr "Stillingar nets" #: ../net.c:870 msgid "Yes" msgstr "Já" #: ../net.c:870 msgid "No" msgstr "Nei" #: ../net.c:871 #, fuzzy msgid "Would you like to set up networking?" msgstr "Hvað viltu gera?" pump-0.8.24/po/nn.po0000664000076400007640000001047207717053360013235 0ustar katzjkatzj# Norwegian (Nynorsk) KDE translation # Copyright (C) 2000 Gaute Hvoslef Kvalnes. # Gaute Hvoslef Kvalnes , 2000 # Kjartan Maraas , 2001. msgid "" msgstr "" "Project-Id-Version: anaconda 7.1.94\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2001-08-15 10:37+0200\n" "Last-Translator: Kjartan Maraas \n" "Language-Team: Norwegian (nynorsk)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../net.c:173 #, fuzzy msgid "NFS server name:" msgstr "&Tenarnamn:" #: ../net.c:176 #, fuzzy msgid "Red Hat directory:" msgstr "Rotkatalog:" #: ../net.c:182 #, fuzzy msgid "NFS Setup" msgstr "DNS-oppsett" #: ../net.c:183 msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "OK" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Tilbake" #: ../net.c:265 #, fuzzy msgid "Nameserver IP" msgstr "Name=X-tenar" #: ../net.c:269 ../net.c:773 #, fuzzy msgid "Nameserver" msgstr "Name=X-tenar" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" #: ../net.c:280 #, fuzzy msgid "Invalid IP Information" msgstr "Ugyldig format" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Prøv igjen" #: ../net.c:281 #, fuzzy msgid "You entered an invalid IP address." msgstr "Oppgi ei gyldig e-postadresse." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" #: ../net.c:310 #, fuzzy msgid "IP address:" msgstr "IP-adresse:" #: ../net.c:313 #, fuzzy msgid "Netmask:" msgstr "maske" #: ../net.c:316 #, fuzzy msgid "Default gateway (IP):" msgstr "Standard gateway" #: ../net.c:319 #, fuzzy msgid "Primary nameserver:" msgstr "Primær telefon" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "" #: ../net.c:374 #, fuzzy msgid "Configure TCP/IP" msgstr "Set opp AI" #: ../net.c:405 #, fuzzy msgid "Missing Information" msgstr "Rekningsinformasjon" #: ../net.c:406 #, fuzzy msgid "You must enter both a valid IP address and a netmask." msgstr "Du må oppgi ei skrivaradresse." #: ../net.c:414 ../net.c:705 #, fuzzy msgid "Dynamic IP" msgstr "Dynamisk IP-adresse" #: ../net.c:415 ../net.c:706 #, fuzzy msgid "Sending request for IP information..." msgstr "Les brukarinformasjon ..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Vertsnamn" #: ../net.c:578 #, fuzzy msgid "Determining host name and domain..." msgstr "Avgjer suspenderingsstatus ..." #: ../net.c:689 ../net.c:722 #, fuzzy msgid "kickstart" msgstr "startar" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "" #: ../net.c:767 #, fuzzy msgid "Boot protocol to use" msgstr "Delen som skal brukast" #: ../net.c:769 #, fuzzy msgid "Network gateway" msgstr "Nettverk-adapter" #: ../net.c:771 #, fuzzy msgid "IP address" msgstr "IP-adresse:" #: ../net.c:775 #, fuzzy msgid "Netmask" msgstr "maske" #: ../net.c:780 #, fuzzy msgid "Domain name" msgstr "Domenenamn:" #: ../net.c:783 #, fuzzy msgid "Network device" msgstr "Ny teneste" #: ../net.c:786 #, fuzzy msgid "No DNS lookups" msgstr "Bruk lydar" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 msgid "Description of the device" msgstr "" #: ../net.c:866 msgid "" " / between elements | selects | next " "screen" msgstr "" #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "" #: ../net.c:870 #, fuzzy msgid "Network configuration" msgstr "Name=Talk-oppsett" #: ../net.c:870 msgid "Yes" msgstr "Ja" #: ../net.c:870 msgid "No" msgstr "Nei" #: ../net.c:871 #, fuzzy msgid "Would you like to set up networking?" msgstr "Vil du lagra endringane?" pump-0.8.24/po/da.po0000664000076400007640000001176007717053360013207 0ustar katzjkatzjmsgid "" msgstr "" "Project-Id-Version: Red Hat 7 installer/anaconda\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-03-08 19:50+0100\n" "Last-Translator: Keld Simonsen \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../net.c:173 msgid "NFS server name:" msgstr "NFS-server navn:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Red Hat-katalog:" #: ../net.c:182 msgid "NFS Setup" msgstr "NFS-opsætning" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Indtast venligst den følgende information:\n" "\n" " - navnet eller IP-nummeret på din %s-server\n" " - kataloget på serveren som indeholder\n" " %s til din arkitektur\n" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "O.k." #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Tilbage" #: ../net.c:265 msgid "Nameserver IP" msgstr "Navneserver-IP" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Navneserver" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "Din dynamiske IP-anmodning returnerede IP-konfigurationsinformation, men " "dette indeholdt ikke en DNS navneserver. Hvis du ved hvor din navneserver " "er, så skriv det nu. Hvis du ikke har denne information kan du lade dette " "felt være blankt, og installationen vil fortsætte." #: ../net.c:280 msgid "Invalid IP Information" msgstr "Ugyldig IP-information" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Prøv igen" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "Du skrev en ugyldig IP-adresse." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Indtast IP-konfiguration for denne maskine. Hver linie bør indtastes som en " "IP-adresse i punktdecimalformat (for eksempel: 1.2.3.4)..." #: ../net.c:310 msgid "IP address:" msgstr "IP-adresse:" #: ../net.c:313 msgid "Netmask:" msgstr "Netmaske:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Standard-gateway (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Primær navneserver:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Brug dynamisk IP-konfiguration (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Konfigurér TCP/IP" #: ../net.c:405 msgid "Missing Information" msgstr "Manglende information" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Du skal indtaste både en gyldig IP-adresse og en netmaske." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "Dynamisk IP" #: ../net.c:415 ../net.c:706 #, fuzzy msgid "Sending request for IP information..." msgstr "Sender forespørgsel efter IP-information for %s..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Værtsnavn" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Afgør værtsnavn og domæne..." #: ../net.c:689 ../net.c:722 #, fuzzy msgid "kickstart" msgstr "Kickstartsfejl" #: ../net.c:690 #, fuzzy, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "Ugyldigt argument til 'kickstart' netværkskommando %s: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "Ugyldig bootproto %s angivet i netværkskommando" #: ../net.c:767 msgid "Boot protocol to use" msgstr "" #: ../net.c:769 #, fuzzy msgid "Network gateway" msgstr "Konfiguration af netværk" #: ../net.c:771 #, fuzzy msgid "IP address" msgstr "IP-adresse:" #: ../net.c:775 #, fuzzy msgid "Netmask" msgstr "Net_maske" #: ../net.c:780 msgid "Domain name" msgstr "" #: ../net.c:783 #, fuzzy msgid "Network device" msgstr "Netværksenhed" #: ../net.c:786 #, fuzzy msgid "No DNS lookups" msgstr "Brug _TLS-opslag." #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "Beskrivelse" #: ../net.c:866 #, fuzzy msgid "" " / between elements | selects | next " "screen" msgstr "" " / imellem punkter | vælger | næste side" #: ../net.c:867 #, fuzzy, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "%s (C) 2003 Red Hat, Inc." #: ../net.c:870 #, fuzzy msgid "Network configuration" msgstr "Konfiguration af netværk" #: ../net.c:870 msgid "Yes" msgstr "Ja" #: ../net.c:870 msgid "No" msgstr "Nej" #: ../net.c:871 #, fuzzy msgid "Would you like to set up networking?" msgstr "Hvad har du lyst al lave?" pump-0.8.24/po/pt.po0000664000076400007640000002002107717053360013234 0ustar katzjkatzj# Portuguese localization of Red Hat Linux # Pedro Morais # José Nuno Pires msgid "" msgstr "" "Project-Id-Version: anaconda\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-07-31 10:17+0100\n" "Last-Translator: Pedro Morais \n" "Language-Team: pt \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Spell-Extra: OK ecrã deseleccionar detalhadamente imprimíveis\n" "X-Spell-Extra: inalterada inconsistentes instabilidades item\n" "X-Spell-Extra: interoperabilidade particionamento particionar\n" "X-Spell-Extra: reiniciação freq sinc horiz vert performance multi\n" "X-Spell-Extra:\n" "X-Spell-Extra: FTP HTTP DNS NFS NIS BIOS PCMCIA VGA GNOME KDE GRUB FAT\n" "X-Spell-Extra: MBR DN LDAP LILO TLS DHCP TCP IP KDC BOOTP PROM MD SCSI\n" "X-Spell-Extra: RAID RAM LBA DDC SMB SMTP SSH WWW RPM CDs iso\n" "X-Spell-Extra: imap tcp udp\n" "X-Spell-Extra:\n" "X-Spell-Extra: Disk Druid Emacs Linux linux Master Boot Record kickstart\n" "X-Spell-Extra: Red Hat Inc Enter redhat release Kerberos anaconda antialias\n" "X-Spell-Extra: telnet web sPara chroot bootproto checksum fdisk firewall\n" "X-Spell-Extra: gglobe canvas MB KBytes kHz Hz proxy root journalling\n" "X-Spell-Extra: shadow netconfig ext Window System swap kernel framebuffer\n" "X-Spell-Extra: Card Gateway CDROM CDROMs ID IDs Router Messaging Admin\n" "X-Spell-Extra: install log ks cfg etc tmp mnt sysimage fstab boot efi\n" "X-Spell-Extra: dev ttyS network\n" "X-Spell-Extra: \n" "X-Spell-Extra: Adelie Aktobe Alagoas Alberta Aleutian Altai Amapa Amundsen\n" "X-Spell-Extra: Amur Anvers Aqtobe Atirau Atol Atyrau Baikal Bailey Baja \n" "X-Spell-Extra: Bali Bay Bayan Beijing Bering Borneo Campeche Casey \n" "X-Spell-Extra: Catamarca Cazaquistão Celebes Chatham Chihuahua Chuuk\n" "X-Spell-Extra: Coahuila Columbia County Crawford Dawson Creek Crimea\n" "X-Spell-Extra: Dakota Dornod Durango Frances Galápagos Gambier Gansu Govi\n" "X-Spell-Extra: Gilbert Guangdong Guizhou Gur Havai Heilongjiang Hills\n" "X-Spell-Extra: Holiday Holme Hovd Howe Idaho Ittoqqortoormiit Irian Jan\n" "X-Spell-Extra: Jaya Johnston Jujuy Kaliningrad Kamchatka \n" "X-Spell-Extra: Kosrae Kwajalein Kyzylorda Kzyl Line Manchuria\n" "X-Spell-Extra: Labrador Leon Louisville Lugansk Magadan Malasia Male\n" "X-Spell-Extra: Mangghystau Manitoba Mankistau Mawson Mayen McMurdo Midway\n" "X-Spell-Extra: Melilla Mendoza midwest Molucas Mountain Navajo Nayarit\n" "X-Spell-Extra: neck Newfoundland Novosibirsk Nuevo Nunavut Nusa Olgiy \n" "X-Spell-Extra: Ongul Ontario Orda Oregon Pangnirtung panhandle\n" "X-Spell-Extra: Pituffik Pohnpei Ponape Quebec Queensland Quintana Qyzylorda\n" "X-Spell-Extra: Rainy River Rondonia Roraima Ross Ruthenia Sabah Sakhalin \n" "X-Spell-Extra: Sarawak Saskatchewan Scoresbysund Scotia Sergipe Shanghai\n" "X-Spell-Extra: Sichuan Sinaloa Starke Sukhbaatar Sumatra Svalbard\n" "X-Spell-Extra: Switzerland Syowa Tamaulipas Tengarra Terre Thule Thunder\n" "X-Spell-Extra: Tocantins Truk Urais Urville Uvs Uyghur Uzbekistan Vert\n" "X-Spell-Extra: Vestfold Vostok Wayne Wake Wisconsin Xinjiang Yap yev ye\n" "X-Spell-Extra: Yancowinna Yenisei Yucatan Yukon Yunnan Zaporozh Zavkhan\n" "X-Spell-Extra: GMT DST EUA UTC PEI Eastern\n" "X-Spell-Extra: BA GO DF MG ES RJ SP PR SC RS TF CB CC MZ NB LP LR JY CE\n" "X-Spell-Extra: SJ SL SA CH CN CT TM NQ RN FM NE ER MN SF\n" #: ../net.c:173 msgid "NFS server name:" msgstr "Nome do servidor NFS:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Directoria do Red Hat:" #: ../net.c:182 msgid "NFS Setup" msgstr "Configuração de NFS" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Insira as seguintes informações:\n" " \n" " o o nome ou o endereço IP do servidor %s\n" " o a directoria no servidor que contém o\n" " %s para a sua arquitectura\n" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "OK" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Anterior" #: ../net.c:265 msgid "Nameserver IP" msgstr "Servidor de nomes IP" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Servidor de nomes" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "O pedido de IP dinâmico forneceu as configurações IP, mas não inclui-a um " "servidor de nomes DNS. Se sabe qual é o seu servidor de nomes, por favor " "insira-a agora. Se não tem estes dados, deixe o campo em branco e a " "instalação irá continuar." #: ../net.c:280 msgid "Invalid IP Information" msgstr "Informação IP Inválida" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Repetir" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "Inserir um endereço IP inválido." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Insira a configuração IP para esta máquina. Cada item deve ser inserido com " "um endereço IP em notação do tipo 1.2.3.4." #: ../net.c:310 msgid "IP address:" msgstr "Endereço IP:" #: ../net.c:313 msgid "Netmask:" msgstr "Máscara de rede:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Gateway por omissão (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Servidor DNS Primário:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Utilizar configuração de IP dinâmica (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Configurar TCP/IP" #: ../net.c:405 msgid "Missing Information" msgstr "Informação em Falta" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Deve inserir um endereço IP válido e uma máscara." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "IP dinâmico" #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "A enviar pedido para informações sobre IP..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Máquina" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "A determinar o nome e domínio da máquina..." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "kickstart" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "argumento inválido para o comando network do kickstart %s: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "bootproto %s inválido indicado no comando network" #: ../net.c:767 msgid "Boot protocol to use" msgstr "Protocolo de arranque a utilizar" #: ../net.c:769 msgid "Network gateway" msgstr "\"Gateway\" da Rede" #: ../net.c:771 msgid "IP address" msgstr "Endereço IP" #: ../net.c:775 msgid "Netmask" msgstr "Máscara" #: ../net.c:780 msgid "Domain name" msgstr "Nome do domínio" #: ../net.c:783 msgid "Network device" msgstr "Dispositivo de rede" #: ../net.c:786 msgid "No DNS lookups" msgstr "Sem pesquisas DNS" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "Descrição" #: ../net.c:866 msgid "" " / between elements | selects | next " "screen" msgstr "" " / entre elementos | selecciona | continuar " #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." #: ../net.c:870 msgid "Network configuration" msgstr "Configuração da rede" #: ../net.c:870 msgid "Yes" msgstr "Sim" #: ../net.c:870 msgid "No" msgstr "Não" #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "Quer configurar a rede?" pump-0.8.24/po/Makefile0000664000076400007640000000301507717054532013717 0ustar katzjkatzjINSTALL= /usr/bin/install -c INSTALL_PROGRAM= ${INSTALL} INSTALL_DATA= ${INSTALL} -m 644 INSTALLNLSDIR=$(datadir)/locale MSGMERGE = msgmerge NLSPACKAGE = pump CATALOGS = $(shell ls *.po) FMTCATALOGS = $(patsubst %.po,%.mo,$(CATALOGS)) POTFILES = ../net.c all: $(NLSPACKAGE).pot $(FMTCATALOGS) $(NLSPACKAGE).pot: $(POTFILES) xgettext --default-domain=$(NLSPACKAGE) \ --add-comments --keyword=_ --keyword=N_ $(POTFILES) if cmp -s $(NLSPACKAGE).po $(NLSPACKAGE).pot; then \ rm -f $(NLSPACKAGE).po; \ else \ mv $(NLSPACKAGE).po $(NLSPACKAGE).pot; \ fi refresh-po: Makefile catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ lang=`echo $$cat | sed 's/.po//'`; \ if $(MSGMERGE) $$lang.po $(NLSPACKAGE).pot > $$lang.pot ; then \ mv -f $$lang.pot $$lang.po ; \ echo "$(MSGMERGE) of $$lang succeeded" ; \ else \ echo "$(MSGMERGE) of $$lang failed" ; \ rm -f $$lang.pot ; \ fi \ done update-po: $(NLSPACKAGE).pot Makefile refresh-po report: @for cat in $(CATALOGS); do \ echo -n "$$cat: "; \ msgfmt -v --statistics -o /dev/null $$cat; \ done clean: rm -f *mo distclean: clean rm -f .depend Makefile depend: install: all mkdir -p $(INSTALLNLSDIR) for n in $(CATALOGS); do \ l=`basename $$n .po`; \ mo=$$l.mo; \ $(INSTALL) -m 755 -d $(INSTALLNLSDIR)/$$l; \ $(INSTALL) -m 755 -d $(INSTALLNLSDIR)/$$l/LC_MESSAGES; \ if [ -f $$n ]; then \ $(INSTALL) -m 644 $$mo $(INSTALLNLSDIR)/$$l/LC_MESSAGES/$(NLSPACKAGE).mo; \ fi; \ done %.mo: %.po msgfmt -v -o $@ $< pump-0.8.24/po/pt_BR.po0000664000076400007640000002056707717053360013636 0ustar katzjkatzj# translation of pt_BR.po to Portuguese # Brazilian Portuguese localization of Red Hat Linux # Originated from the Portuguese translation by # Pedro Morais # José Nuno Pires # David Barzilay , 2003 # Djeizon Barros , 2003 msgid "" msgstr "" "Project-Id-Version: pt_BR\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-07-30 10:50+1000\n" "Last-Translator: David Barzilay \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Spell-Extra: OK ecrã deseleccionar detalhadamente imprimíveis\n" "X-Spell-Extra: inalterada inconsistentes instabilidades item\n" "X-Spell-Extra: interoperabilidade particionamento particionar\n" "X-Spell-Extra: reiniciação freq sinc horiz vert performance multi\n" "X-Spell-Extra:\n" "X-Spell-Extra: FTP HTTP DNS NFS NIS BIOS PCMCIA VGA GNOME KDE GRUB FAT\n" "X-Spell-Extra: MBR DN LDAP LILO TLS DHCP TCP IP KDC BOOTP PROM MD SCSI\n" "X-Spell-Extra: RAID RAM LBA DDC SMB SMTP SSH WWW RPM CDs iso\n" "X-Spell-Extra: imap tcp udp\n" "X-Spell-Extra:\n" "X-Spell-Extra: Disk Druid Emacs Linux linux Master Boot Record kickstart\n" "X-Spell-Extra: Red Hat Inc Enter redhat release Kerberos anaconda antialias\n" "X-Spell-Extra: telnet web sPara chroot bootproto checksum fdisk firewall\n" "X-Spell-Extra: gglobe canvas MB KBytes kHz Hz proxy root journalling\n" "X-Spell-Extra: shadow netconfig ext Window System swap kernel framebuffer\n" "X-Spell-Extra: Card Gateway CDROM CDROMs ID IDs Router Messaging Admin\n" "X-Spell-Extra: install log ks cfg etc tmp mnt sysimage fstab boot efi\n" "X-Spell-Extra: dev ttyS network\n" "X-Spell-Extra: \n" "X-Spell-Extra: Adelie Aktobe Alagoas Alberta Aleutian Altai Amapa Amundsen\n" "X-Spell-Extra: Amur Anvers Aqtobe Atirau Atol Atyrau Baikal Bailey Baja \n" "X-Spell-Extra: Bali Bay Bayan Beijing Bering Borneo Campeche Casey \n" "X-Spell-Extra: Catamarca Cazaquistão Celebes Chatham Chihuahua Chuuk\n" "X-Spell-Extra: Coahuila Columbia County Crawford Dawson Creek Crimea\n" "X-Spell-Extra: Dakota Dornod Durango Frances Galápagos Gambier Gansu Govi\n" "X-Spell-Extra: Gilbert Guangdong Guizhou Gur Hawaii Heilongjiang Hills\n" "X-Spell-Extra: Holiday Holme Hovd Howe Idaho Ittoqqortoormiit Irian Jan\n" "X-Spell-Extra: Jaya Johnston Jujuy Kaliningrad Kamchatka \n" "X-Spell-Extra: Kosrae Kwajalein Kyzylorda Kzyl Line Manchuria\n" "X-Spell-Extra: Labrador Leon Louisville Lugansk Magadan Malasia Male\n" "X-Spell-Extra: Mangghystau Manitoba Mankistau Mawson Mayen McMurdo Midway\n" "X-Spell-Extra: Melilla Mendoza midwest Molucas Mountain Navajo Nayarit\n" "X-Spell-Extra: neck Newfoundland Novosibirsk Nuevo Nunavut Nusa Olgiy \n" "X-Spell-Extra: Ongul Ontario Orda Oregon Pangnirtung panhandle\n" "X-Spell-Extra: Pituffik Pohnpei Ponape Quebec Queensland Quintana Qyzylorda\n" "X-Spell-Extra: Rainy River Rondonia Roraima Ross Ruthenia Sabah Sakhalin \n" "X-Spell-Extra: Sarawak Saskatchewan Scoresbysund Scotia Sergipe Shanghai\n" "X-Spell-Extra: Sichuan Sinaloa Starke Sukhbaatar Sumatra Svalbard\n" "X-Spell-Extra: Switzerland Syowa Tamaulipas Tengarra Terre Thule Thunder\n" "X-Spell-Extra: Tocantins Truk Urais Urville Uvs Uyghur Uzbekistan Vert\n" "X-Spell-Extra: Vestfold Vostok Wayne Wake Wisconsin Xinjiang Yap yev ye\n" "X-Spell-Extra: Yancowinna Yenisei Yucatan Yukon Yunnan Zaporozh Zavkhan\n" "X-Spell-Extra: GMT DST EUA UTC PEI Eastern\n" "X-Spell-Extra: BA GO DF MG ES RJ SP PR SC RS TF CB CC MZ NB LP LR JY CE\n" "X-Spell-Extra: SJ SL SA CH CN CT TM NQ RN FM NE ER MN SF\n" "X-Generator: KBabel 1.0\n" #: ../net.c:173 msgid "NFS server name:" msgstr "Nome do servidor NFS:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Diretório do Red Hat:" #: ../net.c:182 msgid "NFS Setup" msgstr "Configuração do NFS" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Por favor insira as seguintes informações:\n" "\n" " o o nome ou o endereço IP do servidor %s\n" " o o diretório neste servidor que contém\n" " %s para a sua arquitetura\n" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "OK" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Voltar" #: ../net.c:265 msgid "Nameserver IP" msgstr "Servidor de nomes IP" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Servidor de nomes" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "O seu pedido de IP dinâmico forneceu as configurações IP, mas não incluiu um " "servidor de nomes DNS. Se você sabe qual é o seu servidor de nomes, por " "favor insira-o agora. Se você não tem estes dados, deixe o campo em branco e " "a instalação continuará." #: ../net.c:280 msgid "Invalid IP Information" msgstr "Informação IP Inválida" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Tentar novamente" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "Você inseriu um endereço IP inválido." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Por favor insira a configuração IP para esta máquina. Cada item deve ser " "inserido como um endereço IP no formato ponto-decimal (ex.: 1.2.3.4)." #: ../net.c:310 msgid "IP address:" msgstr "Endereço IP:" #: ../net.c:313 msgid "Netmask:" msgstr "Máscara de rede:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Gateway padrão (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Nome primário do servidor:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Utilizar configuração do IP dinâmico (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Configurar TCP/IP" #: ../net.c:405 msgid "Missing Information" msgstr "Informação Faltando" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Você deve inserir um endereço IP válido e uma máscara de rede" #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "IP dinâmico" #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "Enviando pedido de informações sobre IP..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Nome da Máquina" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Determinando o nome e domínio da máquina..." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "kickstart" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "argumento inválido para o comando de rede 'kickstart' %s: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "Protocolo de inicialização %s inválido especificado no comando de rede" #: ../net.c:767 msgid "Boot protocol to use" msgstr "Protocolo 'boot' a ser utilizado" #: ../net.c:769 msgid "Network gateway" msgstr "'Gateway' da Rede" #: ../net.c:771 msgid "IP address" msgstr "Endereço IP" #: ../net.c:775 msgid "Netmask" msgstr "Máscara de Rede" #: ../net.c:780 msgid "Domain name" msgstr "Nome do domínio" #: ../net.c:783 msgid "Network device" msgstr "Dispositivo de rede" #: ../net.c:786 msgid "No DNS lookups" msgstr "Sem pesquisas DNS" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "Descrição" #: ../net.c:866 msgid "" " / between elements | selects | next " "screen" msgstr "" " / entre elementos | seleciona | próxima " "tela" #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." #: ../net.c:870 msgid "Network configuration" msgstr "Configuração da rede" #: ../net.c:870 msgid "Yes" msgstr "Sim" #: ../net.c:870 msgid "No" msgstr "Não" #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "Você deseja configurar a rede?" pump-0.8.24/po/el.po0000664000076400007640000001230007717053360013212 0ustar katzjkatzj# Greek translation for anaconda. # Copyright (c) 2002 Simos Xenitellis. # Simos Xenitellis , 2002. # Nikos Charonitakis , 2002 # ############################ # Simos initial translation # Nikos start updating # # # msgid "" msgstr "" "Project-Id-Version: anaconda 1.0\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-02-14 02:39+0200\n" "Last-Translator: Nikos Charonitakis \n" "Language-Team: Greek \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../net.c:173 msgid "NFS server name:" msgstr "Όνομα εξυπηρετητή NFS:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Κατάλογος Red Hat:" #: ../net.c:182 msgid "NFS Setup" msgstr "Ρύθμιση NFS" #: ../net.c:183 msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" # #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "Εντάξει" # #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Πίσω" #: ../net.c:265 #, fuzzy msgid "Nameserver IP" msgstr "Υπηρεσία ονομασίας." #: ../net.c:269 ../net.c:773 #, fuzzy msgid "Nameserver" msgstr "Υπηρεσία ονομασίας." #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" #: ../net.c:280 #, fuzzy msgid "Invalid IP Information" msgstr "Πληροφορίες Εικόνας" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Προσπάθεια ξανά" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "Εισάγατε μη έγκυρη διεύθυνση IP." #: ../net.c:304 #, fuzzy msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Παρακαλώ εισάγετε τις IP ρυθμίσεις για αυτό το σύστημα.\n" "Κάθε στοιχείο πρέπει να εισαχθεί ως IP διεύθυνση σε οκταδική\n" "μορφή (παράδειγμα: 1.2.3.4)." # #: ../net.c:310 msgid "IP address:" msgstr "Διεύθυνση IP:" #: ../net.c:313 msgid "Netmask:" msgstr "Μάσκα δικτύου:" #: ../net.c:316 #, fuzzy msgid "Default gateway (IP):" msgstr "Εξ' ορισμού στρατηγική:" #: ../net.c:319 #, fuzzy msgid "Primary nameserver:" msgstr "Πρωτεύον Τηλέφωνο" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Ρύθμιση TCP/IP" #: ../net.c:405 #, fuzzy msgid "Missing Information" msgstr "Πληροφορίες Συνάντησης" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "" #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "Δυναμικό IP" #: ../net.c:415 ../net.c:706 #, fuzzy msgid "Sending request for IP information..." msgstr "Λήψη πληροφοριών πακέτου..." #: ../net.c:577 ../net.c:777 #, fuzzy msgid "Hostname" msgstr "Όνομα Host:" #: ../net.c:578 #, fuzzy msgid "Determining host name and domain..." msgstr "Σύνδεσμος στον τομέα NIS... " #: ../net.c:689 ../net.c:722 #, fuzzy msgid "kickstart" msgstr "Μοιραίο Σφάλμα" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "" #: ../net.c:767 msgid "Boot protocol to use" msgstr "" #: ../net.c:769 #, fuzzy msgid "Network gateway" msgstr "Ρυθμίσεις Δικτύου" # #: ../net.c:771 #, fuzzy msgid "IP address" msgstr "Διεύθυνση IP:" #: ../net.c:775 #, fuzzy msgid "Netmask" msgstr "_Μάσκα δικτύου" #: ../net.c:780 msgid "Domain name" msgstr "" #: ../net.c:783 #, fuzzy msgid "Network device" msgstr "Συσκευές Δικτύου" # #: ../net.c:786 #, fuzzy msgid "No DNS lookups" msgstr "Κλείσιμο όλων των συνδέσεων" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "Περιγραφή" #: ../net.c:866 #, fuzzy msgid "" " / between elements | selects | next " "screen" msgstr "" " / Αλλαγή πεδίου | επιλογή | επόμενη οθ. " #: ../net.c:867 #, fuzzy, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "%s (C) 2003 Red Hat, Inc." #: ../net.c:870 #, fuzzy msgid "Network configuration" msgstr "Ρυθμίσεις Δικτύου" # #: ../net.c:870 msgid "Yes" msgstr "Ναι" # #: ../net.c:870 msgid "No" msgstr "Όχι" #: ../net.c:871 #, fuzzy msgid "Would you like to set up networking?" msgstr "Τι θα θέλατε να κάνετε;" pump-0.8.24/po/ru.po0000664000076400007640000001410007717053360013240 0ustar katzjkatzj# translation of ru.po to # translation of ru.po to # translation of ru.po to # translation of ru.po to Russian # Leonid Kanter , 2003 msgid "" msgstr "" "Project-Id-Version: ru\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-08-01 17:07+0300\n" "Last-Translator: Leonid Kanter \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Date: 1999-04-03 12:20+0200\n" "X-Generator: KBabel 1.0.1\n" #: ../net.c:173 msgid "NFS server name:" msgstr "Имя cервера NFS:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Каталог Red Hat:" #: ../net.c:182 msgid "NFS Setup" msgstr "Настройка NFS" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Введите следующую информацию:\n" "\n" " o имя или адрес IP вашего сервера %s\n" " o каталог на этом сервере, в котором содержится\n" " %s для вашей архитектуры\n" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "Ok" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Назад" #: ../net.c:265 msgid "Nameserver IP" msgstr "IP сервера имен" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Сервер имен" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "Ваш запрос динамического IP вернул конфигурацию IP, но она не содержит " "информации о сервере имен. Если вы знаете адрес вашего сервера имен, укажите " "его сейчас. Если такой информации нет, оставьте это поле пустым и установка " "будет продолжена." #: ../net.c:280 msgid "Invalid IP Information" msgstr "Неверная информация о IP" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Повторить" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "Введен неверный адрес IP." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Введите конфигурацию протокола IP для этой машины. Каждый элемент должен " "быть введен как IP адрес в десятично-точечной записи (например 1.2.3.4)." #: ../net.c:310 msgid "IP address:" msgstr "Адрес IP:" #: ../net.c:313 msgid "Netmask:" msgstr "Маска подсети:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Шлюз по умолчанию (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Первичный сервер имен (DNS):" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Использовать динамическую конфигурацию IP (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Настройка TCP/IP" #: ../net.c:405 msgid "Missing Information" msgstr "Недостаточно информации" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Для продолжения необходимо ввести верный адрес IP и маску подсети." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "Динамический IP" #: ../net.c:415 ../net.c:706 #, fuzzy msgid "Sending request for IP information..." msgstr "Посылается запрос конфигурации IP для %s..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Имя компьютера" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Определение имени узла и домена..." #: ../net.c:689 ../net.c:722 #, fuzzy msgid "kickstart" msgstr "Ошибка Kickstart" #: ../net.c:690 #, fuzzy, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "Неверный аргумент сетевой команды kickstart %s: :%s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "В сетевой команде неверно указан bootproto %s" #: ../net.c:767 msgid "Boot protocol to use" msgstr "" #: ../net.c:769 #, fuzzy msgid "Network gateway" msgstr "Настройка сети" #: ../net.c:771 #, fuzzy msgid "IP address" msgstr "Адрес IP:" #: ../net.c:775 msgid "Netmask" msgstr "Маска подсети" #: ../net.c:780 msgid "Domain name" msgstr "" #: ../net.c:783 #, fuzzy msgid "Network device" msgstr "Сетевые устройства" #: ../net.c:786 #, fuzzy msgid "No DNS lookups" msgstr "Разрешить _TLS" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "Описание" #: ../net.c:866 #, fuzzy msgid "" " / between elements | selects | next " "screen" msgstr "" " / между элементами | выбор | следующий экран " #: ../net.c:867 #, fuzzy, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "%s (C) 2003 Red Hat, Inc." #: ../net.c:870 #, fuzzy msgid "Network configuration" msgstr "Настройка сети" #: ../net.c:870 msgid "Yes" msgstr "Да" #: ../net.c:870 msgid "No" msgstr "Нет" #: ../net.c:871 #, fuzzy msgid "Would you like to set up networking?" msgstr "Что бы вы хотели сделать?" pump-0.8.24/po/sv.po0000664000076400007640000001220007717053360013241 0ustar katzjkatzj# Swedish messages for the Red Hat Anaconda installation framework. # Copyright 2000, 2001, 2002, 2003 Christian Rose . # # $Id: sv.po,v 1.1.2.1 2003/08/15 03:43:44 notting Exp $ # msgid "" msgstr "" "Project-Id-Version: anaconda\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-08-12 23:34+0200\n" "Last-Translator: Christian Rose \n" "Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../net.c:173 msgid "NFS server name:" msgstr "Namn på NFS-server:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Red Hat-katalog:" #: ../net.c:182 msgid "NFS Setup" msgstr "NFS-konfiguration" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Ange följande information:\n" "\n" " o din FTP-servers namn eller IP-nummer\n" " o katalogen på denna server som innehåller\n" " Red Hat Linux för din arkitektur\n" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "OK" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Tillbaka" #: ../net.c:265 msgid "Nameserver IP" msgstr "Namnserver-IP" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Namnserver" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "Din begäran av dynamisk IP innehöll IP-konfigurationsinformation, men den " "innehöll inte en DNS-namnserver. Om du vet vad du har för namnserver bör du " "ange det nu. Om du inte har denna information kan du lämna fältet blankt och " "installationen kommer att fortsätta." #: ../net.c:280 msgid "Invalid IP Information" msgstr "Ogiltig IP-information" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Försök igen" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "Du skrev in en ogiltig IP-adress." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Ange IP-konfigurationen för denna maskin. Varje adress ska skrivas som en IP-" "adress i form av tal åtskilda med punkter (t.ex. 1.2.3.4)." #: ../net.c:310 msgid "IP address:" msgstr "IP-adress:" #: ../net.c:313 msgid "Netmask:" msgstr "Nätmask:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Standard-gateway (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Primär namnserver:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Använd dynamisk IP-konfiguration (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Konfigurera TCP/IP" #: ../net.c:405 msgid "Missing Information" msgstr "Information saknas" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Du måste skriva in både en giltig IP-adress och en nätmask." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "Dynamisk IP" #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "Skickar förfrågan om IP-information..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Värdnamn" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Undersöker värdnamn och domän..." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "kickstart" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "felaktigt argument till kickstartnätverkskommandot %s: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "Felaktigt startprotokoll %s angivet i nätverkskommando" #: ../net.c:767 msgid "Boot protocol to use" msgstr "Startprotokoll att använda" #: ../net.c:769 msgid "Network gateway" msgstr "Nätverksgateway" #: ../net.c:771 msgid "IP address" msgstr "IP-adress" #: ../net.c:775 msgid "Netmask" msgstr "Nätmask" #: ../net.c:780 msgid "Domain name" msgstr "Domännamn" #: ../net.c:783 msgid "Network device" msgstr "Nätverksenhet" #: ../net.c:786 msgid "No DNS lookups" msgstr "Inga DNS-uppslagningar" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "Beskrivning: " #: ../net.c:866 msgid "" " / between elements | selects | next " "screen" msgstr "" " / mellan element | väljer | nästa " "skärm" #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s © 1999 Red Hat, Inc." #: ../net.c:870 msgid "Network configuration" msgstr "Nätverkskonfiguration" #: ../net.c:870 msgid "Yes" msgstr "Ja" #: ../net.c:870 msgid "No" msgstr "Nej" #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "Vill du konfigurera nätverksinställningar?" pump-0.8.24/po/es.po0000664000076400007640000004052707717053360013235 0ustar katzjkatzj# translation of es.po to # translation of es.po to # Copyright (C) 2000,2003 Free Software Foundation, Inc. # Tullio Dovera , 2000. # Núria Soriano ,2001. # Fernando Ruiz-Tapiador Gutiérrez , 2001. # Yelitza Louze , 2003 # msgid "" msgstr "" "Project-Id-Version: es\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-06-11 14:47+1000\n" "Last-Translator: Yelitza Louze \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.0\n" # ../loader/net.c:170 # ../loader/net.c:170 # ../loader/net.c:170 #: ../net.c:173 msgid "NFS server name:" msgstr "Nombre del servidor NFS:" # ../loader/net.c:173 ../loader/urls.c:194 # ../loader/net.c:173 ../loader/urls.c:194 # ../loader/net.c:173 ../loader/urls.c:194 #: ../net.c:176 msgid "Red Hat directory:" msgstr "Directorio Red Hat:" # ../loader/net.c:179 # ../loader/net.c:179 # ../loader/net.c:179 #: ../net.c:182 msgid "NFS Setup" msgstr "Configuración NFS" # ../loader/net.c:180 # ../loader/net.c:180 # ../loader/net.c:180 #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Por favor introduzca la siguiente información:\n" "\n" " o el nombre o número IP de su servidor %s\n" " o el directorio del servidor que contiene\n" ".......%s para su arquitectura\n" # ../anaconda:332 ../iw/account_gui.py:150 ../iw/account_gui.py:161 # ../iw/partition_gui.py:496 ../iw/partition_gui.py:845 # ../iw/partition_gui.py:1315 ../loader/urls.c:79 ../loader/urls.c:89 # ../loader/urls.c:97 ../loader/urls.c:247 ../mouse.py:280 ../rescue.py:34 # ../rescue.py:130 ../rescue.py:151 ../rescue.py:168 ../rescue.py:174 # ../text.py:393 ../textw/bootdisk_text.py:65 ../textw/bootdisk_text.py:67 # ../textw/complete_text.py:41 ../textw/complete_text.py:56 # ../textw/complete_text.py:72 ../textw/confirm_text.py:24 # ../textw/confirm_text.py:36 ../textw/constants_text.py:20 # ../textw/firewall_text.py:201 ../textw/network_text.py:134 # ../textw/silo_text.py:110 ../xserver.py:51 # ../anaconda:332 ../iw/account_gui.py:150 ../iw/account_gui.py:161 # ../iw/partition_gui.py:496 ../iw/partition_gui.py:847 # ../iw/partition_gui.py:1317 ../loader/urls.c:79 ../loader/urls.c:89 # ../loader/urls.c:97 ../loader/urls.c:247 ../mouse.py:280 ../rescue.py:34 # ../rescue.py:130 ../rescue.py:151 ../rescue.py:168 ../rescue.py:174 # ../text.py:399 ../textw/bootdisk_text.py:65 ../textw/bootdisk_text.py:67 # ../textw/complete_text.py:47 ../textw/complete_text.py:62 # ../textw/complete_text.py:78 ../textw/confirm_text.py:24 # ../textw/confirm_text.py:36 ../textw/constants_text.py:20 # ../textw/firewall_text.py:201 ../textw/network_text.py:134 # ../textw/silo_text.py:110 ../xserver.py:51 # ../anaconda:332 ../gui.py:111 ../iw/account_gui.py:150 # ../iw/account_gui.py:161 ../iw/partition_gui.py:496 # ../iw/partition_gui.py:848 ../iw/partition_gui.py:1323 ../loader/cdrom.c:34 # ../loader/devices.c:92 ../loader/devices.c:237 ../loader/devices.c:259 # ../loader/devices.c:266 ../loader/devices.c:335 ../loader/devices.c:435 # ../loader/devices.c:480 ../loader/devices.c:500 ../loader/devices.c:532 # ../loader/kickstart.c:58 ../loader/kickstart.c:68 ../loader/kickstart.c:107 # ../loader/lang.c:27 ../loader/lang.c:102 ../loader/lang.c:299 # ../loader/lang.c:608 ../loader/loader.c:323 ../loader/loader.c:478 # ../loader/loader.c:535 ../loader/loader.c:853 ../loader/loader.c:912 # ../loader/loader.c:967 ../loader/loader.c:1061 ../loader/loader.c:1140 # ../loader/loader.c:1145 ../loader/loader.c:1185 ../loader/loader.c:1213 # ../loader/loader.c:1244 ../loader/loader.c:1490 ../loader/loader.c:2207 # ../loader/loader.c:2237 ../loader/loader.c:2300 ../loader/loader.c:2315 # ../loader/loader.c:2524 ../loader/net.c:185 ../loader/net.c:272 # ../loader/net.c:359 ../loader/net.c:722 ../loader/net.c:755 # ../loader/pcmcia.c:104 ../loader/pcmcia.c:114 ../loader/pcmcia.c:131 # ../loader/urls.c:79 ../loader/urls.c:89 ../loader/urls.c:97 # ../loader/urls.c:158 ../loader/urls.c:236 ../loader/urls.c:241 # ../loader/urls.c:247 ../loader/urls.c:387 ../mouse.py:281 ../rescue.py:34 # ../rescue.py:130 ../rescue.py:151 ../rescue.py:168 ../rescue.py:174 # ../text.py:283 ../text.py:400 ../textw/bootdisk_text.py:66 # ../textw/bootdisk_text.py:68 ../textw/complete_text.py:47 # ../textw/complete_text.py:62 ../textw/complete_text.py:78 # ../textw/confirm_text.py:24 ../textw/confirm_text.py:36 # ../textw/constants_text.py:20 ../textw/fdisk_text.py:41 # ../textw/firewall_text.py:201 ../textw/network_text.py:134 # ../textw/silo_text.py:110 ../textw/silo_text.py:147 # ../textw/silo_text.py:160 ../xserver.py:51 #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "OK" # ../gui.py:603 ../loader/cdrom.c:34 ../loader/devices.c:93 # ../loader/devices.c:238 ../loader/devices.c:335 ../loader/lang.c:596 # ../loader/loader.c:323 ../loader/loader.c:816 ../loader/loader.c:853 # ../loader/loader.c:967 ../loader/loader.c:1061 ../loader/loader.c:1490 # ../loader/net.c:185 ../loader/net.c:272 ../loader/net.c:359 # ../loader/urls.c:158 ../loader/urls.c:387 ../textw/confirm_text.py:24 # ../textw/confirm_text.py:26 ../textw/confirm_text.py:36 # ../textw/confirm_text.py:38 ../textw/constants_text.py:28 # ../textw/silo_text.py:110 ../textw/userauth_text.py:177 # ../gui.py:603 ../loader/cdrom.c:34 ../loader/devices.c:93 # ../loader/devices.c:238 ../loader/devices.c:335 ../loader/lang.c:608 # ../loader/loader.c:323 ../loader/loader.c:816 ../loader/loader.c:853 # ../loader/loader.c:967 ../loader/loader.c:1061 ../loader/loader.c:1490 # ../loader/net.c:185 ../loader/net.c:272 ../loader/net.c:359 # ../loader/urls.c:158 ../loader/urls.c:387 ../textw/confirm_text.py:24 # ../textw/confirm_text.py:26 ../textw/confirm_text.py:36 # ../textw/confirm_text.py:38 ../textw/constants_text.py:28 # ../textw/silo_text.py:110 ../textw/userauth_text.py:185 # ../gui.py:603 ../loader/cdrom.c:34 ../loader/devices.c:93 # ../loader/devices.c:238 ../loader/devices.c:335 ../loader/lang.c:608 # ../loader/loader.c:323 ../loader/loader.c:816 ../loader/loader.c:853 # ../loader/loader.c:967 ../loader/loader.c:1061 ../loader/loader.c:1490 # ../loader/net.c:185 ../loader/net.c:272 ../loader/net.c:359 # ../loader/urls.c:158 ../loader/urls.c:387 ../textw/confirm_text.py:24 # ../textw/confirm_text.py:26 ../textw/confirm_text.py:36 # ../textw/confirm_text.py:38 ../textw/constants_text.py:28 # ../textw/silo_text.py:110 ../textw/userauth_text.py:185 #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Anterior" # ../loader/net.c:262 # ../loader/net.c:262 # ../loader/net.c:262 #: ../net.c:265 msgid "Nameserver IP" msgstr "IP del servidor de nombres" # ../loader/net.c:266 ../loader/net.c:804 # ../loader/net.c:266 ../loader/net.c:804 # ../loader/net.c:266 ../loader/net.c:804 #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Servidor de nombres" # ../loader/net.c:267 # ../loader/net.c:267 # ../loader/net.c:267 #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "La petición dinámica IP devuelve información IP de la configuración, pero no " "incluye un nombre de servidor DNS. Si conoce el nombre del servidor, " "introdúzcalo ahora. Si no tiene esta información, puede dejar este campo en " "blanco y la instalación continuará." # ../loader/net.c:277 # ../loader/net.c:277 # ../loader/net.c:277 #: ../net.c:280 msgid "Invalid IP Information" msgstr "Información IP no válida" # ../gui.py:112 ../loader/net.c:277 ../loader/net.c:404 ../text.py:283 # ../gui.py:112 ../loader/net.c:277 ../loader/net.c:404 ../text.py:283 # ../gui.py:112 ../loader/net.c:277 ../loader/net.c:404 ../text.py:284 #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Volver a intentar" # ../loader/net.c:278 # ../loader/net.c:278 # ../loader/net.c:278 #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "Ha introducido una dirección IP no válida" # ../loader/net.c:303 # ../loader/net.c:303 # ../loader/net.c:303 #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Introduzca la configuración IP para este ordenador. Cada IP debería ser " "introducida como una dirección IP en notación decimal separada por puntos " "(por ejemplo, 1.2.3.4)." # ../loader/net.c:309 ../textw/network_text.py:82 # ../loader/net.c:309 ../textw/network_text.py:82 # ../loader/net.c:309 ../textw/network_text.py:82 #: ../net.c:310 msgid "IP address:" msgstr "Dirección IP:" # ../loader/net.c:312 ../textw/network_text.py:83 # ../loader/net.c:312 ../textw/network_text.py:83 # ../loader/net.c:312 ../textw/network_text.py:83 #: ../net.c:313 msgid "Netmask:" msgstr "Máscara de red:" # ../loader/net.c:315 ../textw/network_text.py:84 # ../loader/net.c:315 ../textw/network_text.py:84 # ../loader/net.c:315 ../textw/network_text.py:84 #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Puerta de enlance predeterminada (IP):" # ../loader/net.c:318 ../textw/network_text.py:85 # ../loader/net.c:318 ../textw/network_text.py:85 # ../loader/net.c:318 ../textw/network_text.py:85 #: ../net.c:319 msgid "Primary nameserver:" msgstr "Servidor de nombres primario:" # ../loader/net.c:345 # ../loader/net.c:345 # ../loader/net.c:345 #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Utilizar la configuración IP dinámica (BOOT/DHCP)" # ../loader/net.c:373 # ../loader/net.c:373 # ../loader/net.c:373 #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Configurar TCP/IP" # ../loader/net.c:404 # ../loader/net.c:404 # ../loader/net.c:404 #: ../net.c:405 msgid "Missing Information" msgstr "Falta de información" # ../loader/net.c:405 # ../loader/net.c:405 # ../loader/net.c:405 #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Debe introducir una dirección IP y una máscara de red válidas." # ../loader/net.c:413 ../loader/net.c:738 # ../loader/net.c:413 ../loader/net.c:738 # ../loader/net.c:413 ../loader/net.c:738 #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "IP Dinámico" # ../loader/net.c:414 ../loader/net.c:739 # ../loader/net.c:414 ../loader/net.c:739 # ../loader/net.c:414 ../loader/net.c:739 #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "Enviando petición de información IP..." # ../iw/network_gui.py:251 ../loader/net.c:610 ../loader/net.c:808 # ../textw/network_text.py:177 # ../iw/network_gui.py:251 ../loader/net.c:610 ../loader/net.c:808 # ../textw/network_text.py:177 # ../iw/network_gui.py:251 ../loader/net.c:610 ../loader/net.c:808 # ../textw/network_text.py:177 #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Nombre del Host" # ../loader/net.c:611 # ../loader/net.c:611 # ../loader/net.c:611 #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Determinando nombre de host y dominio..." # ../loader/net.c:722 ../loader/net.c:755 # ../loader/net.c:722 ../loader/net.c:755 # ../loader/net.c:722 ../loader/net.c:755 #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "kickstart" # ../loader/net.c:723 # ../loader/net.c:723 # ../loader/net.c:723 #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "Argumento erróneo para el comando de red kickstart %s: %s" # ../loader/net.c:756 # ../loader/net.c:756 # ../loader/net.c:756 #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "bootproto erróneo %s especificado en el comando de red" # ../loader/net.c:798 # ../loader/net.c:798 # ../loader/net.c:798 #: ../net.c:767 msgid "Boot protocol to use" msgstr "Protocolo de inicio a utilizar" # ../loader/net.c:800 # ../loader/net.c:800 # ../loader/net.c:800 #: ../net.c:769 msgid "Network gateway" msgstr "Puerta de enlace para la red" # ../loader/net.c:802 # ../loader/net.c:802 # ../loader/net.c:802 #: ../net.c:771 msgid "IP address" msgstr "Dirección IP" # ../iw/network_gui.py:195 ../loader/net.c:806 # ../iw/network_gui.py:195 ../loader/net.c:806 # ../iw/network_gui.py:195 ../loader/net.c:806 #: ../net.c:775 msgid "Netmask" msgstr "Máscara de red" # ../loader/net.c:811 # ../loader/net.c:811 # ../loader/net.c:811 #: ../net.c:780 msgid "Domain name" msgstr "Nombre del dominio" # ../loader/net.c:814 # ../loader/net.c:814 # ../loader/net.c:814 #: ../net.c:783 msgid "Network device" msgstr "Dispositivo de red" # ../iw/auth_gui.py:142 # ../iw/auth_gui.py:142 # ../iw/auth_gui.py:142 #: ../net.c:786 msgid "No DNS lookups" msgstr "No utilizar consultas DNS" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" # ../iw/bootloader_gui.py:242 ../iw/bootloader_gui.py:432 # ../iw/silo_gui.py:135 ../iw/silo_gui.py:286 ../iw/upgrade_swap_gui.py:121 # ../textw/upgrade_text.py:107 # ../iw/bootloader_gui.py:242 ../iw/bootloader_gui.py:432 # ../iw/silo_gui.py:135 ../iw/silo_gui.py:286 ../iw/upgrade_swap_gui.py:121 # ../textw/upgrade_text.py:107 # ../iw/bootloader_gui.py:242 ../iw/bootloader_gui.py:432 # ../iw/silo_gui.py:135 ../iw/silo_gui.py:286 ../iw/upgrade_swap_gui.py:123 # ../textw/upgrade_text.py:107 #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "Descripción" # ../loader/net.c:886 # ../loader/net.c:886 # ../loader/net.c:886 #: ../net.c:866 msgid "" " / between elements | selects | next " "screen" msgstr "" " / entre elementos | seleccionar | siguiente " # ../loader/net.c:887 # ../loader/net.c:887 # ../loader/net.c:887 #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." # ../loader/net.c:889 # ../loader/net.c:889 # ../loader/net.c:889 #: ../net.c:870 msgid "Network configuration" msgstr "Configuración de red" # ../gui.py:109 ../iw/partition_gui.py:498 ../iw/partition_gui.py:655 # ../iw/partition_gui.py:718 ../iw/welcome_gui.py:97 ../loader/devices.c:230 # ../loader/loader.c:816 ../loader/net.c:889 ../text.py:280 # ../textw/bootdisk_text.py:25 ../textw/bootloader_text.py:76 # ../textw/constants_text.py:32 ../textw/upgrade_text.py:251 # ../gui.py:109 ../iw/partition_gui.py:498 ../iw/partition_gui.py:655 # ../iw/partition_gui.py:718 ../iw/welcome_gui.py:97 ../loader/devices.c:230 # ../loader/loader.c:816 ../loader/net.c:889 ../text.py:280 # ../textw/bootdisk_text.py:25 ../textw/bootloader_text.py:76 # ../textw/constants_text.py:32 ../textw/upgrade_text.py:251 # ../gui.py:109 ../iw/partition_gui.py:498 ../iw/partition_gui.py:655 # ../iw/partition_gui.py:718 ../iw/welcome_gui.py:97 ../loader/devices.c:230 # ../loader/loader.c:816 ../loader/net.c:889 ../text.py:281 # ../textw/bootdisk_text.py:26 ../textw/bootloader_text.py:76 # ../textw/constants_text.py:32 ../textw/upgrade_text.py:252 #: ../net.c:870 msgid "Yes" msgstr "Si" # ../gui.py:110 ../iw/partition_gui.py:499 ../iw/partition_gui.py:657 # ../iw/partition_gui.py:720 ../iw/welcome_gui.py:100 ../loader/devices.c:231 # ../loader/net.c:889 ../text.py:281 ../textw/bootdisk_text.py:25 # ../textw/bootdisk_text.py:54 ../textw/bootloader_text.py:76 # ../textw/constants_text.py:36 ../textw/upgrade_text.py:251 # ../textw/upgrade_text.py:258 # ../gui.py:110 ../iw/partition_gui.py:499 ../iw/partition_gui.py:657 # ../iw/partition_gui.py:720 ../iw/welcome_gui.py:100 ../loader/devices.c:231 # ../loader/net.c:889 ../text.py:281 ../textw/bootdisk_text.py:25 # ../textw/bootdisk_text.py:54 ../textw/bootloader_text.py:76 # ../textw/constants_text.py:36 ../textw/upgrade_text.py:251 # ../textw/upgrade_text.py:258 # ../gui.py:110 ../iw/partition_gui.py:499 ../iw/partition_gui.py:657 # ../iw/partition_gui.py:720 ../iw/welcome_gui.py:100 ../loader/devices.c:231 # ../loader/net.c:889 ../text.py:282 ../textw/bootdisk_text.py:26 # ../textw/bootdisk_text.py:55 ../textw/bootloader_text.py:76 # ../textw/constants_text.py:36 ../textw/upgrade_text.py:252 # ../textw/upgrade_text.py:259 #: ../net.c:870 msgid "No" msgstr "No" # ../loader/net.c:890 # ../loader/net.c:890 # ../loader/net.c:890 #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "¿Quiere configurar la red?" pump-0.8.24/po/sk.po0000664000076400007640000001141107717053360013231 0ustar katzjkatzj# # Stanislav Meduna , 2000. # Marcel Telka , 2003. # msgid "" msgstr "" "Project-Id-Version: anaconda\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-01-27 20:50+0100\n" "Last-Translator: Marcel Telka \n" "Language-Team: Slovak \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" #: ../net.c:173 msgid "NFS server name:" msgstr "Názov NFS servera:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Red Hat adresár:" #: ../net.c:182 msgid "NFS Setup" msgstr "Nastavenie NFS" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Zadajte nasledovné informácie:\n" "\n" " o názov alebo IP adresu vášho NFS serveru\n" " o adresár na tomto serveri obsahujúci\n" " Red Hat Linux pre vašu architektúru" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "OK" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Späť" #: ../net.c:265 #, fuzzy msgid "Nameserver IP" msgstr "Nameserver" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Nameserver" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" #: ../net.c:280 #, fuzzy msgid "Invalid IP Information" msgstr "Neprípustná informácia" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Znovu" #: ../net.c:281 #, fuzzy msgid "You entered an invalid IP address." msgstr "Musíte zadať platnú IP adresu aj sieťovú masku." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Zadajte IP konfiguráciu tohoto počítača. Každý záznam by mal byť zadaný ako " "IP adresa v dekadickom tvare oddelenom bodkami (napr. 1.2.3.4)." #: ../net.c:310 msgid "IP address:" msgstr "IP adresa:" #: ../net.c:313 msgid "Netmask:" msgstr "Maska siete:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Brána (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Primárny nameserver:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Použiť dynamickú konfiguráciu IP (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Konfigurácia TCP/IP" #: ../net.c:405 msgid "Missing Information" msgstr "Chýbajúca informácia" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Musíte zadať platnú IP adresu aj sieťovú masku." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "Dynamické IP" #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "Posiela sa žiadosť o IP informáciu..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Názov počítača" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Zisťuje sa názov počítača a domény..." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "kickstart" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "chybný argument pre sieťový príkaz kickstartu %s: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "Chybný štartovací protokol %s v sieťovom príkaze" #: ../net.c:767 msgid "Boot protocol to use" msgstr "Štartovací protokol" #: ../net.c:769 msgid "Network gateway" msgstr "Brána siete" #: ../net.c:771 msgid "IP address" msgstr "IP adresa" #: ../net.c:775 msgid "Netmask" msgstr "Maska siete" #: ../net.c:780 msgid "Domain name" msgstr "Názov domény" #: ../net.c:783 msgid "Network device" msgstr "Sieťové zariadenie" #: ../net.c:786 msgid "No DNS lookups" msgstr "" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 msgid "Description of the device" msgstr "" #: ../net.c:866 #, fuzzy msgid "" " / between elements | selects | next " "screen" msgstr "" " / medzi položkami | vyberá | nasl. " "obr. " #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." #: ../net.c:870 msgid "Network configuration" msgstr "Konfigurácia siete" #: ../net.c:870 msgid "Yes" msgstr "Áno" #: ../net.c:870 msgid "No" msgstr "Nie" #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "Želáte si konfigurovať sieť?" pump-0.8.24/po/tr.po0000664000076400007640000001207707717053360013252 0ustar katzjkatzj# # translation of tr.po to Turkish # $Id: tr.po,v 1.1.2.1 2003/08/15 03:43:44 notting Exp $ # Nilgün Belma Bugüner , 2003 msgid "" msgstr "" "Project-Id-Version: anaconda \n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-08-03 13:40+0300\n" "Last-Translator: Nilgün Belma Bugüner \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.0\n" #: ../net.c:173 msgid "NFS server name:" msgstr "NFS sunucu adı:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Red Hat dizini:" #: ../net.c:182 msgid "NFS Setup" msgstr "NFS Ayarları" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Lütfen aşağıdaki bilgileri girin:\n" "\n" " o NFS sunucunuzun adı ya da IP adresi\n" " o Sunucuda donanımınıza ilişkin\n" " %s'un bulunduğu dizin" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "Tamam" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Geri" #: ../net.c:265 msgid "Nameserver IP" msgstr "Alan adı sunucu IP'si" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Alan adı sunucu" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "Dinamik IP isteği bir IP bilgisi ile döndü. Ancak geri dönen bilgi içinde " "DNS sunucusu yok. Eğer DNS sunucusunu biliyorsanız, lütfen girin. Eğer " "bilmiyorsanız boş bırakabilir ve kuruluma devam edebilirsiniz." #: ../net.c:280 msgid "Invalid IP Information" msgstr "Geçersiz IP Bilgisi" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Tekrar dene" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "Geçersiz bir IP adresi girdiniz." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Bu makina için IP yapılandırmasını girin. Gireceğiniz değerler nokta ile " "ayrılmış dört sayı şeklinde olmalı (mesela 1.2.3.4)." #: ../net.c:310 msgid "IP address:" msgstr "IP adresi:" #: ../net.c:313 msgid "Netmask:" msgstr "Ağ maskesi:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Öntanımlı ağgeçidi (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Birinci isim sunucusu:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Dinamik IP yapılandırması kullan (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "TCP/IP Yapılandırması" #: ../net.c:405 msgid "Missing Information" msgstr "Eksik Bilgi" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Devam etmek için geçerli bir IP adresi ve ağ maskesi girmelisiniz." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "Dinamik IP" #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "IP bilgi istekleri gönderiliyor..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Konak Adı" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Konak ismi ve alan adı belirleniyor..." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "kickstart" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "kickstart ağ komutu için hatalı argüman %s: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "ağ komutunda hatalı bootproto %s belirtilmiş" #: ../net.c:767 msgid "Boot protocol to use" msgstr "Kullanılacak açılış protokolü" #: ../net.c:769 msgid "Network gateway" msgstr "Ağ geçidi" #: ../net.c:771 msgid "IP address" msgstr "IP adresi" #: ../net.c:775 msgid "Netmask" msgstr "Ağ maskesi" #: ../net.c:780 msgid "Domain name" msgstr "Alan adı" #: ../net.c:783 msgid "Network device" msgstr "Ağ aygıtı" #: ../net.c:786 msgid "No DNS lookups" msgstr "DNS denetimi yok" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "Açıklama" #: ../net.c:866 msgid "" " / between elements | selects | next " "screen" msgstr "" " Gezinmek için / | seçer | sonraki ekran" #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." #: ../net.c:870 msgid "Network configuration" msgstr "Ağ Ayarları" #: ../net.c:870 msgid "Yes" msgstr "Evet" #: ../net.c:870 msgid "No" msgstr "Hayır" #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "Ağ ayarlarını yapmak istiyor musunuz?" pump-0.8.24/po/id.po0000664000076400007640000001137407717053360013220 0ustar katzjkatzj# rhinstall Bahasa Indonesia # Copyright (C) 1999 Free Software Foundation, Inc. # Mohammad DAMT , 1999. # msgid "" msgstr "" "Project-Id-Version: ID-rhinstall 1.4\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 1998-09-22 13:40+0700\n" "Last-Translator: Mohammad DAMT \n" "Language-Team: LDP Indonesia \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" #: ../net.c:173 msgid "NFS server name:" msgstr "Nama server NFS:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Direktori Red Hat:" #: ../net.c:182 msgid "NFS Setup" msgstr "Setup NFS" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Silahkan memasukan informasi berikut:\n" "\n" " - Nama atau alamat IP NFS Server\n" " - direktori pada server tersebut yang berisi\n" " Red Hat Linux" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "OK" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Kembali" #: ../net.c:265 #, fuzzy msgid "Nameserver IP" msgstr "Server DNS" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Server DNS" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" #: ../net.c:280 #, fuzzy msgid "Invalid IP Information" msgstr "Informasi yang dimasukkan salah" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Ulangi lagi" #: ../net.c:281 #, fuzzy msgid "You entered an invalid IP address." msgstr "Anda harus memberikan alamat IP dan netmask yang valid" #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Sekarang masukkan alamat IP untuk mesin ini. Tiap IP harus dituliskandalam " "bentuk notasi desimal bertitik (misalnya, 202.159.123.25)." #: ../net.c:310 msgid "IP address:" msgstr "Alamat IP:" #: ../net.c:313 msgid "Netmask:" msgstr "Netmask:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Gateway default (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Nameserver Utama:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Gunakan IP dinamis (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Konfigurasi TCP/IP" #: ../net.c:405 msgid "Missing Information" msgstr "Informasi kurang" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Anda harus memberikan alamat IP dan netmask yang valid" #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "IP Dinamis" #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "Mengirimkan permintaan IP..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Hostname" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Sedang mencari tahu nama host dan domain..." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "kickstart" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "argumen untuk perintah kickstart %s tidak valid: %s" #: ../net.c:723 #, fuzzy, c-format msgid "Bad bootproto %s specified in network command" msgstr "alamat IP di perintah %s salah" #: ../net.c:767 msgid "Boot protocol to use" msgstr "Protokol Boot yang digunakan" #: ../net.c:769 msgid "Network gateway" msgstr "Gateway Network" #: ../net.c:771 msgid "IP address" msgstr "Alamat IP" #: ../net.c:775 msgid "Netmask" msgstr "Netmask" #: ../net.c:780 msgid "Domain name" msgstr "Nama Domain" #: ../net.c:783 msgid "Network device" msgstr "Device Network" #: ../net.c:786 #, fuzzy msgid "No DNS lookups" msgstr "Gunakan pilihan lain" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "Device printer" #: ../net.c:866 #, fuzzy msgid "" " / between elements | selects | next " "screen" msgstr "" " / switch elemen | memilih | layar selanjutnya" #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." #: ../net.c:870 msgid "Network configuration" msgstr "Konfigurasi Jaringan" #: ../net.c:870 msgid "Yes" msgstr "YA" #: ../net.c:870 msgid "No" msgstr "Tidak" #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "Ingin mensetup jaringan?" pump-0.8.24/po/zh_CN.po0000664000076400007640000001207207717053360013621 0ustar katzjkatzj# translation of anaconda.anaconda-po.po to Simplified Chinese # translation of zh_CN.po to Simplified Chinese # Simplified Chinese Verstion of anaconda file # Copyright (C) 2002, Red Hat, Inc. # Sarah Smith , 2002. # Sarah Saiying Wang , 2003 # msgid "" msgstr "" "Project-Id-Version: anaconda.anaconda-po\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-08-05 14:43+1000\n" "Last-Translator: Sarah Saiying Wang \n" "Language-Team: Simplified Chinese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.0\n" #: ../net.c:173 msgid "NFS server name:" msgstr "NFS 服务器名称:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Red Hat 目录:" #: ../net.c:182 msgid "NFS Setup" msgstr "NFS 设置" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "请输入以下信息:\n" "\n" " o NFS 服务器的名称或 IP 地址\n" " o 该服务器上包含适用于你的体系的 %s的目录\n" " " #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "确定" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "上一步" #: ../net.c:265 msgid "Nameserver IP" msgstr "名称服务器 IP" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "名称服务器" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "您的动态 IP 请求返回了 IP 配置信息,但该信息却没有包括 DNS 名称服务器。您若知" "道您的名称服务器是什么,现在就请输入。如果您不知道这一信息,可将该字段留为空" "白,安装将会继续。" #: ../net.c:280 msgid "Invalid IP Information" msgstr "IP 信息无效" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "重试" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "您输入的 IP 地址无效。" #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "请输入本机的 IP 配置。每项均应以点式十进制输入为 IP 地址(例如:1.2.3.4)。" #: ../net.c:310 msgid "IP address:" msgstr "IP 地址:" #: ../net.c:313 msgid "Netmask:" msgstr "子网掩码:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "默认网关(IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "主要名称服务器:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "使用动态 IP 配置(BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "配置 TCP/IP" #: ../net.c:405 msgid "Missing Information" msgstr "缺少信息" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "必须输入有效的 IP 地址和子网掩码。" #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "动态 IP" #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "正在发送 IP 信息请求..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "主机名" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "正在确定主机的名称和域..." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr " kickstart " #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr " kickstart 网络命令 %s 的参数不对:%s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "网络命令中指定的 bootproto %s 不对" #: ../net.c:767 msgid "Boot protocol to use" msgstr "要使用的引导协议" #: ../net.c:769 msgid "Network gateway" msgstr "网络网关" #: ../net.c:771 msgid "IP address" msgstr "IP 地址" #: ../net.c:775 msgid "Netmask" msgstr "子网掩码" #: ../net.c:780 msgid "Domain name" msgstr "域名" #: ../net.c:783 msgid "Network device" msgstr "网络设备" #: ../net.c:786 msgid "No DNS lookups" msgstr "无 DNS 查寻" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "描述" #: ../net.c:866 msgid "" " / between elements | selects | next " "screen" msgstr "/ 元素间切换 | 选择 | 下一屏幕" #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." #: ../net.c:870 msgid "Network configuration" msgstr "网络配置" #: ../net.c:870 msgid "Yes" msgstr "是" #: ../net.c:870 msgid "No" msgstr "否" #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "是否要设置联网?" pump-0.8.24/po/pump.pot0000664000076400007640000000726110322755227013766 0ustar katzjkatzj# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-10-11 11:34-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: ../net.c:173 msgid "NFS server name:" msgstr "" #: ../net.c:176 msgid "Red Hat directory:" msgstr "" #: ../net.c:182 msgid "NFS Setup" msgstr "" #: ../net.c:183 msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" #: ../net.c:188 ../net.c:276 ../net.c:362 ../net.c:691 ../net.c:724 msgid "OK" msgstr "" #: ../net.c:188 ../net.c:276 ../net.c:362 msgid "Back" msgstr "" #: ../net.c:266 msgid "Nameserver IP" msgstr "" #: ../net.c:270 ../net.c:775 msgid "Nameserver" msgstr "" #: ../net.c:271 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" #: ../net.c:281 msgid "Invalid IP Information" msgstr "" #: ../net.c:281 ../net.c:407 msgid "Retry" msgstr "" #: ../net.c:282 msgid "You entered an invalid IP address." msgstr "" #: ../net.c:306 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" #: ../net.c:312 msgid "IP address:" msgstr "" #: ../net.c:315 msgid "Netmask:" msgstr "" #: ../net.c:318 msgid "Default gateway (IP):" msgstr "" #: ../net.c:321 msgid "Primary nameserver:" msgstr "" #: ../net.c:348 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "" #: ../net.c:376 msgid "Configure TCP/IP" msgstr "" #: ../net.c:407 msgid "Missing Information" msgstr "" #: ../net.c:408 msgid "You must enter both a valid IP address and a netmask." msgstr "" #: ../net.c:416 ../net.c:707 msgid "Dynamic IP" msgstr "" #: ../net.c:417 ../net.c:708 msgid "Sending request for IP information..." msgstr "" #: ../net.c:579 ../net.c:779 msgid "Hostname" msgstr "" #: ../net.c:580 msgid "Determining host name and domain..." msgstr "" #: ../net.c:691 ../net.c:724 msgid "kickstart" msgstr "" #: ../net.c:692 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "" #: ../net.c:725 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "" #: ../net.c:769 msgid "Boot protocol to use" msgstr "" #: ../net.c:771 msgid "Network gateway" msgstr "" #: ../net.c:773 msgid "IP address" msgstr "" #: ../net.c:777 msgid "Netmask" msgstr "" #: ../net.c:782 msgid "Domain name" msgstr "" #: ../net.c:785 msgid "Network device" msgstr "" #: ../net.c:788 msgid "No DNS lookups" msgstr "" #: ../net.c:791 msgid "Ethernet hardware address" msgstr "" #: ../net.c:794 msgid "Description of the device" msgstr "" #: ../net.c:868 msgid "" " / between elements | selects | next " "screen" msgstr "" #: ../net.c:869 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "" #: ../net.c:872 msgid "Network configuration" msgstr "" #: ../net.c:872 msgid "Yes" msgstr "" #: ../net.c:872 msgid "No" msgstr "" #: ../net.c:873 msgid "Would you like to set up networking?" msgstr "" pump-0.8.24/po/ta.po0000664000076400007640000001161507717053360013226 0ustar katzjkatzj# Tamil translation of anaconda messages. # This file is distributed under the same license as the anaconda package. # Ramani and Priya , 2003 # msgid "" msgstr "" "Project-Id-Version: anaconda\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-02-11 23:05+0800\n" "Last-Translator: Venkataramani and Priya \n" "Language-Team: Tamil \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../net.c:173 msgid "NFS server name:" msgstr "NFS §º¨Å¸ô¦ÀÂ÷:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "¦Ãð†¡ð «¨¼×:" #: ../net.c:182 msgid "NFS Setup" msgstr "NFS «¨ÁôÒ" #: ../net.c:183 msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "ºÃ¢" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "À¢ý" #: ../net.c:265 msgid "Nameserver IP" msgstr "¦ÀÂ÷§º¨Å¸ IP" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "¦ÀÂ÷§º¨Å¸õ" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" #: ../net.c:280 msgid "Invalid IP Information" msgstr "¾Ì¾¢ÂüÈ IP ¾¸Åø" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Á£ÇÓÂø..." #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "¿£í¸û ÅÆí¸¢ÔûÇ IP Ó¸Å⠾̾¢ÂüÈÐ." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" #: ../net.c:310 msgid "IP address:" msgstr "IP Ó¸Åâ:" #: ../net.c:313 msgid "Netmask:" msgstr "ŨÄò¾¢¨Ã:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "¦¸¡¼¡¿¢¨Ä ѨÆÅ¡Â¢ø (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Ó¾ý¨Á ¦ÀÂ÷§º¨Å¸õ:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "­ÂíÌ¿¢¨Ä IP ÅÊŨÁô¨À ÀÂýÀÎòÐ (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "TCP/IP³ ÅÊŨÁ" #: ../net.c:405 msgid "Missing Information" msgstr "¾¸Åø¸¨Çì ¸¡½Å¢ø¨Ä" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "¿£í¸û ´Õ ¾Ì¾¢Â¡É IP Ó¸Åâ ÁüÚõ ŨÄò¾¢¨Ã¨Â «Ç¢ì¸§ÅñÎõ." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "­ÂíÌ¿¢¨Ä IP" #: ../net.c:415 ../net.c:706 #, fuzzy msgid "Sending request for IP information..." msgstr "%sì¸¡É IP ¾¸ÅÖ측¸ §¸¡Ã¢ì¨¸ «ÛôôÀθ¢ÈÐ..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "¸½¢É¢ô¦ÀÂ÷" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "¸½¢É¢¦ÀÂÕõ ¸ÇÓõ ¿¢÷½Â¢ì¸ôÀθ¢ÈÐ..." #: ../net.c:689 ../net.c:722 #, fuzzy msgid "kickstart" msgstr "ÐÅì¸ À¢¨Æ" #: ../net.c:690 #, fuzzy, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "%s Å¨Ä ¸ð¼¨Ç¨Â ÐÅì¸ ¦¸ð¼ «ÇÒÕ: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "Å¨Ä ¸ð¼¨Ç¢ø ¦¸ð¼ ŨÃÓ¨È %s ¦¸¡Îì¸ôÀðÎûÇÐ" #: ../net.c:767 msgid "Boot protocol to use" msgstr "" #: ../net.c:769 #, fuzzy msgid "Network gateway" msgstr "Å¨Ä ÅÊŨÁôÒ" #: ../net.c:771 #, fuzzy msgid "IP address" msgstr "IP Ó¸Åâ:" #: ../net.c:775 #, fuzzy msgid "Netmask" msgstr "ŨÄò¾¢¨Ã" #: ../net.c:780 msgid "Domain name" msgstr "" #: ../net.c:783 #, fuzzy msgid "Network device" msgstr "ŨĨÁôÒ º¡¾Éí¸û" #: ../net.c:786 #, fuzzy msgid "No DNS lookups" msgstr "TLS §Á§É¡ì¸í¸¨Ç ¯À§Â¡¸¢" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "Å¢ÅÃõ" #: ../net.c:866 #, fuzzy msgid "" " / between elements | selects | next " "screen" msgstr " ,<+>,<-> §¾÷× | ¯¾Å¢ | ¦À¡¾¢ Å¢Çì¸õ" #: ../net.c:867 #, fuzzy, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "%s (C) 2003 Red Hat, Inc." #: ../net.c:870 #, fuzzy msgid "Network configuration" msgstr "Å¨Ä ÅÊŨÁôÒ" #: ../net.c:870 msgid "Yes" msgstr "¬õ" #: ../net.c:870 msgid "No" msgstr "­ø¨Ä" #: ../net.c:871 #, fuzzy msgid "Would you like to set up networking?" msgstr "±ýÉ ¦ºö ŢÕõÒ¸¢È£÷¸û?" pump-0.8.24/po/ko.po0000664000076400007640000001242707717053360013235 0ustar katzjkatzj# translation of ko.po to Korean # Michelle J Kim , 2003 # msgid "" msgstr "" "Project-Id-Version: ko\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-06-06 10:20+1000\n" "Last-Translator: Michelle J Kim \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.0\n" #: ../net.c:173 msgid "NFS server name:" msgstr "NFS 서버 명:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Red Hat 디렉토리:" #: ../net.c:182 msgid "NFS Setup" msgstr "NFS 설정" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "다음의 사항을 입력해 주십시요:\n" "\n" " o 이름 또는 NFS 서버의 IP 주소\n" " o 여러분 시스템 체계에 맞는 %s를 포함한\n" " 서버가 있는 디렉토리" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "확인" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "뒤로" #: ../net.c:265 msgid "Nameserver IP" msgstr "DNS의 IP 주소" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "네임서버" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "여러분의 동적 IP 주소 요청에 의해 IP 설정 정보가 전달되었으나, 그 정보에는 " "DNS 네임서버의 정보가 포함되어 있지 않습니다. 네임서버를 알고 계신다면, 지금 " "입력해 주십시오. 이와 관련된 사항에 대해 잘 모르실 경우에는 빈 칸으로 놔두시" "고, 설치를 계속 진행하시기 바랍니다." #: ../net.c:280 msgid "Invalid IP Information" msgstr "IP 주소 오류" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "재시도" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "잘못된 IP 주소를 입력하셨습니다." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "여러분 시스템의 IP 주소를 입력해 주십시오. IP 주소의 각 항목은 십진수의 숫자" "를 점으로 구분하여 입력하셔야 합니다 (예, 1.2.3.4)." #: ../net.c:310 msgid "IP address:" msgstr "IP 주소:" #: ../net.c:313 msgid "Netmask:" msgstr "넷마스크:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "기본 게이트웨이 (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "1차 DNS:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "동적 IP 주소 자동설정 사용 (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "TCP/IP 설정" #: ../net.c:405 msgid "Missing Information" msgstr "정보 부족" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "올바른 IP 주소와 넷마스크를 입력해 주십시오." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "동적 IP 주소" #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "IP 주소를 요청하고 있습니다..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "호스트명" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "호스트명과 도메인을 설정하고 있습니다..." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "킥스타트" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "킥스타트 네트워크 명령 %s 에 잘못된 인수 값이 지정되었습니다: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "네트워크 명령에 잘못된 bootproto %s (이)가 지정되었습니다" #: ../net.c:767 msgid "Boot protocol to use" msgstr "사용할 부트 프로토콜" #: ../net.c:769 msgid "Network gateway" msgstr "네트워크 게이트웨이" #: ../net.c:771 msgid "IP address" msgstr "IP 주소" #: ../net.c:775 msgid "Netmask" msgstr "넷마스크" #: ../net.c:780 msgid "Domain name" msgstr "도메인 명" #: ../net.c:783 msgid "Network device" msgstr "네트워크 장치" #: ../net.c:786 msgid "No DNS lookups" msgstr "DNS 검색 사용하지 않음" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "설명" #: ../net.c:866 msgid "" " / between elements | selects | next " "screen" msgstr "" " / 항목 이동 | 선택 | 다음 화면" #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." #: ../net.c:870 msgid "Network configuration" msgstr "네트워크 설정" #: ../net.c:870 msgid "Yes" msgstr "예" #: ../net.c:870 msgid "No" msgstr "아니오" #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "네트워크를 설정하시겠습니까?" pump-0.8.24/po/zh_TW.po0000664000076400007640000001205107717053360013650 0ustar katzjkatzj# Translation of zh_TW.po to Traditional Chinese # Translation of anaconda to Traditional Chinese # Copyright (C) 2002 Red Hat, Inc. # This file is distributed under the same license as the anaconda package. # Ben Wu , 2002,2003. # msgid "" msgstr "" "Project-Id-Version: anaconda 10\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-08-01 09:33+1000\n" "Last-Translator: Ben Wu \n" "Language-Team: Traditional Chinese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.0\n" #: ../net.c:173 msgid "NFS server name:" msgstr "NFS 伺服器名稱:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Red Hat Linux 所在目錄:" #: ../net.c:182 msgid "NFS Setup" msgstr "NFS 設定" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "請輸入下列資訊:\n" "\n" " o 您的 NFS 伺服器 IP 或主機名稱\n" " o 該伺服器所有的目錄\n" " %s 您的主機架構" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "確定" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "上一步" #: ../net.c:265 msgid "Nameserver IP" msgstr "名稱伺服器的 IP 位址" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "名稱伺服器" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "您的動態 IP 組態設定回應不包括 DNS 名稱伺服器。 如果您知道您的名稱伺服器,請" "現在輸入。否則就留下空白,而安裝過程仍將繼續。" #: ../net.c:280 msgid "Invalid IP Information" msgstr "輸入資料無效" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "重試" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "您輸入無效的 IP 位址。" #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "請輸入這部機器的 IP 資訊,每一項都必須以 IP 位址的形式(十進制數目以小數點符號" "相隔)(例如 192.168.1.1)。" #: ../net.c:310 msgid "IP address:" msgstr "IP 位址:" #: ../net.c:313 msgid "Netmask:" msgstr "子網路遮罩:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "預設閘道器的 IP 位址:" #: ../net.c:319 msgid "Primary nameserver:" msgstr "第一個名稱伺服器位址:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "使用動態分配 IP (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "TCP/IP 設定" #: ../net.c:405 msgid "Missing Information" msgstr "資訊不足" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "您必須輸入一個有效的 IP 位址及網路遮罩" #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "動態 IP" #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "正在取得 IP 位址..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "主機名稱" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "正在取得主機及網域名稱..." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "kickstart" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "kickstart 網路指令 %s 的引數不正確: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "錯誤的開機通訊協定 %s 設定" #: ../net.c:767 msgid "Boot protocol to use" msgstr "開機時使用的通訊協定" #: ../net.c:769 msgid "Network gateway" msgstr "網路閘道器" #: ../net.c:771 msgid "IP address" msgstr "IP 位址" #: ../net.c:775 msgid "Netmask" msgstr "子網路遮罩" #: ../net.c:780 msgid "Domain name" msgstr "網域名稱" #: ../net.c:783 msgid "Network device" msgstr "網路裝置" #: ../net.c:786 msgid "No DNS lookups" msgstr "不使用 DNS 搜尋" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "描述" #: ../net.c:866 msgid "" " / between elements | selects | next " "screen" msgstr "" " / 在各項目間移動 | 選取 | 下一個畫面" #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." #: ../net.c:870 msgid "Network configuration" msgstr "網路設定" #: ../net.c:870 msgid "Yes" msgstr "是" #: ../net.c:870 msgid "No" msgstr "否" #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "您想要設定網路嗎?" pump-0.8.24/po/nl.po0000664000076400007640000001261507717053360013234 0ustar katzjkatzj# Dutch translation of anaconda-po # Copyright (C) 2003 Free Software Foundation, Inc. # # Arjan van de Ven , 2001. # Tino Meinen , 2002, 2003 # Peter van Egdom , 2002, 2003 # ---------------------------------------------------- # device - apparaat, partitie, opstelling (voor RAID) # alloceren - toewijzen # driver - stuurprogramma # root altijd met kleine letters schrijven (dus geen Root) # msgid "" msgstr "" "Project-Id-Version: anaconda-9.0.93\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-07-31 23:35+0200\n" "Last-Translator: Peter van Egdom \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.0.1\n" #: ../net.c:173 msgid "NFS server name:" msgstr "NFS server-naam:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Red Hat map:" #: ../net.c:182 msgid "NFS Setup" msgstr "NFS-instellingen" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Geef de volgende informatie:\n" "\n" " o de naam of het IP-nummer van uw %s-server\n" " o de map op die server die %s bevat voor uw\n" " architectuur\n" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "OK" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Terug" #: ../net.c:265 msgid "Nameserver IP" msgstr "Naamserver IP" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Naamserver" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "Uw dynamisch IP-verzoek leverde een IP-configuratie, maar zonder een DNS-" "naamserver. Als u het adres van uw naamserver weet, voer die dan nu in. Als " "u deze informatie niet heeft, kunt u dit veld leeg laten en zal de " "installatie verder gaan." #: ../net.c:280 msgid "Invalid IP Information" msgstr "Ongeldige IP-informatie" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Opnieuw" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "U heeft een ongeldig IP-adres ingevuld." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Voer de IP-configuratie voor deze machine in. Elk item moet worden ingevoerd " "als een IP-adres in decimale notatie, gescheiden door punten, bijvoorbeeld: " "1.2.3.4" #: ../net.c:310 msgid "IP address:" msgstr "IP-adres:" #: ../net.c:313 msgid "Netmask:" msgstr "Netmask:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Standaard gateway (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Eerste naamserver:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Dynamische IP-configuratie gebruiken (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "TCP/IP instellen" #: ../net.c:405 msgid "Missing Information" msgstr "Ontbrekende Informatie" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "U moet zowel een geldig IP adres als een netmask invullen." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "Dynamisch IP" #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "Verzoek om IP-informatie wordt verzonden..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Computernaam" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Computernaam en domein worden vastgesteld..." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "kickstart" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "foutief argument om netwerkopdracht %s op te starten: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "Foutief opstartprotocol %s opgegeven in netwerkopdracht" #: ../net.c:767 msgid "Boot protocol to use" msgstr "Het te gebruiken opstartprotocol" #: ../net.c:769 msgid "Network gateway" msgstr "Netwerk gateway" #: ../net.c:771 msgid "IP address" msgstr "IP adres" #: ../net.c:775 msgid "Netmask" msgstr "Netmask" #: ../net.c:780 msgid "Domain name" msgstr "Domeinnaam" #: ../net.c:783 msgid "Network device" msgstr "Netwerk apparaat" #: ../net.c:786 msgid "No DNS lookups" msgstr "Geen DNS-opzoeken" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "Beschrijving" #: ../net.c:866 msgid "" " / between elements | selects | next " "screen" msgstr "" " / tussen items | selecteert | volgend " "scherm" #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." #: ../net.c:870 msgid "Network configuration" msgstr "Netwerk-configuratie" #: ../net.c:870 msgid "Yes" msgstr "Ja" #: ../net.c:870 msgid "No" msgstr "Nee" #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "Wilt u uw netwerk instellen?" pump-0.8.24/po/fr.po0000664000076400007640000001241507717053360013230 0ustar katzjkatzj# translation of fr.po to french # Copyright (C) 2001 Red Hat, Inc. # Bettina De Monti , 2001. # Audrey Simons , 2003 # msgid "" msgstr "" "Project-Id-Version: fr\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-08-01 09:25+1000\n" "Last-Translator: Audrey Simons \n" "Language-Team: french \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.0\n" #: ../net.c:173 msgid "NFS server name:" msgstr "Nom du serveur NFS :" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Répertoire Red Hat :" #: ../net.c:182 msgid "NFS Setup" msgstr "Configuration NFS" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Entrez les informations suivantes :\n" "\n" " o le nom ou l'adresse IP de votre serveur NFS\n" " o le répertoire sur ce serveur contenant\n" " %s pour votre architecture" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "OK" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Précédent" #: ../net.c:265 msgid "Nameserver IP" msgstr "Adresse IP du serveur de noms" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Serveur de noms" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "Votre requête sur l'adresse IP dynamique a généré des informations de " "configuration IP mais ne comprenait aucun serveur de noms DNS. Si vous " "connaissez votre serveur de noms, spécifiez-le ici. Si vous ne disposez pas " "de cette information, vous pouvez laisser ce champ vide ; l'installation se " "poursuivra." #: ../net.c:280 msgid "Invalid IP Information" msgstr "Adresse IP non valide" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Réessayer" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "Vous avez entré une adresse IP non valide." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Entrer la configuration IP de cette machine. Chaque élément doit être entré " "sous la forme d'une adresse IP en notation décimale pointée (par exemple, " "1.2.3.4)." #: ../net.c:310 msgid "IP address:" msgstr "Adresse IP :" #: ../net.c:313 msgid "Netmask:" msgstr "Masque réseau :" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Passerelle par défaut (IP) :" #: ../net.c:319 msgid "Primary nameserver:" msgstr "DNS primaire :" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Configuration IP dynamique (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Configuration TCP/IP" #: ../net.c:405 msgid "Missing Information" msgstr "Informations manquantes" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Vous devez entrer une adresse IP valide et un masque réseau." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "IP dynamique" #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "Envoi d'une requête pour l'adresse IP." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Nom d'hôte" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Recherche du nom de l'hôte et du domaine." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "kickstart" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "Argument incorrect dans la commande network de Kickstart %s : %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "Protocole de démarrage %s incorrect dans la commande network" #: ../net.c:767 msgid "Boot protocol to use" msgstr "Protocole de démarrage à utiliser" #: ../net.c:769 msgid "Network gateway" msgstr "Passerelle réseau" #: ../net.c:771 msgid "IP address" msgstr "Adresse IP" #: ../net.c:775 msgid "Netmask" msgstr "Masque réseau" #: ../net.c:780 msgid "Domain name" msgstr "Nom de domaine" #: ../net.c:783 msgid "Network device" msgstr "Périphérique réseau" #: ../net.c:786 msgid "No DNS lookups" msgstr "Aucun lookup DNS" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "Description" #: ../net.c:866 msgid "" " / between elements | selects | next " "screen" msgstr "" "/ Changer d'élément | Sélectionner | Ecran " "suivant" #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." #: ../net.c:870 msgid "Network configuration" msgstr "Configuration réseau" #: ../net.c:870 msgid "Yes" msgstr "Oui" #: ../net.c:870 msgid "No" msgstr "Non" #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "Voulez-vous configurer la connexion au réseau ?" pump-0.8.24/po/sl.po0000664000076400007640000001236507717053360013243 0ustar katzjkatzj# SLOVENIAN TRANSLATION OF ANACONDA. # Copyright (C) 2003 Free Software Foundation, Inc. # Roman Maurer , 2002. # $Id: sl.po,v 1.1.2.1 2003/08/15 03:43:44 notting Exp $ # $Source: /usr/local/CVS/pump/po/Attic/sl.po,v $ # msgid "" msgstr "" "Project-Id-Version: install 9.1\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-07-13 19:10+0200\n" "Last-Translator: Roman Maurer \n" "Language-Team: Slovenian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../net.c:173 msgid "NFS server name:" msgstr "Ime strežnika NFS:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Imenik z Red Hat:" #: ../net.c:182 msgid "NFS Setup" msgstr "Nastavitev NFS" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Prosimo, vnesite naslednje informacije:\n" "\n" " o ime ali številko IP spletnega strežnika za %s\n" " o imenik v tem strežniku, ki vsebuje\n" " %s za vašo arhitekturo\n" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "V redu" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Nazaj" #: ../net.c:265 msgid "Nameserver IP" msgstr "IP imenskega strežnika" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Imenski strežnik" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "Vaša zahteva za dinamično številko IP je vrnila podatke z nastavitvijo IP, " "vendar ti ne vključujejo imenskega strežnika DNS. Če veste, kaj je vaš " "imenski strežnik, zdaj to, prosimo, vstavite. Če tega podatkanimate, pustite " "to polje prazno, namestitev pa se bo vseeno nadaljevala." #: ../net.c:280 msgid "Invalid IP Information" msgstr "Neveljavni podatki o IP" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Ponovno" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "Vnesti morate veljaven naslov IP." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Prosimo, vnesite nastavitev IP za ta stroj. Vsako postavko vnesite kot " "naslov IP v zapisu decimalnih številk, ločenih s piko (na primer 1.2.3.4)." #: ../net.c:310 msgid "IP address:" msgstr "Naslov IP:" #: ../net.c:313 msgid "Netmask:" msgstr "Omrežna maska:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Privzeti prehod (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Primarni imenski strežnik:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Uporaba dinamične nastavitve IP (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Nastavitev TCP/IP" #: ../net.c:405 msgid "Missing Information" msgstr "Manjkajoči podatki" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Vnesti morate veljaven naslov IP in mrežno masko." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "Dinamični IP" #: ../net.c:415 ../net.c:706 #, fuzzy msgid "Sending request for IP information..." msgstr "Pošiljam zahtevo po podatkih IP..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Ime računalnika" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Določamo ime računalnika in domeno..." #: ../net.c:689 ../net.c:722 #, fuzzy msgid "kickstart" msgstr "Napaka hitrega zagona" #: ../net.c:690 #, fuzzy, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "slab argument za hitri zagon omrežnega ukaza %s: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "Slaba številka bootproto %s v omrežnem ukazu" #: ../net.c:767 msgid "Boot protocol to use" msgstr "" #: ../net.c:769 #, fuzzy msgid "Network gateway" msgstr "Mrežne nastavitve" #: ../net.c:771 #, fuzzy msgid "IP address" msgstr "Naslov IP:" #: ../net.c:775 msgid "Netmask" msgstr "Omrežna maska" #: ../net.c:780 msgid "Domain name" msgstr "" #: ../net.c:783 #, fuzzy msgid "Network device" msgstr "Omrežna naprava: %s" #: ../net.c:786 #, fuzzy msgid "No DNS lookups" msgstr "Uporabi poizvedbe TLS" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 msgid "Description of the device" msgstr "" #: ../net.c:866 #, fuzzy msgid "" " / between elements | selects | next " "screen" msgstr "" " / med elementi | izbere | naslednji zaslon" #: ../net.c:867 #, fuzzy, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "%s (C) 2002 Red Hat, Inc." #: ../net.c:870 #, fuzzy msgid "Network configuration" msgstr "Mrežne nastavitve" #: ../net.c:870 msgid "Yes" msgstr "Da" #: ../net.c:870 msgid "No" msgstr "Ne" #: ../net.c:871 #, fuzzy msgid "Would you like to set up networking?" msgstr "Kaj bi radi storili?" pump-0.8.24/po/eu_ES.po0000664000076400007640000002653507717053360013631 0ustar katzjkatzj# SOME DESCRIPTIVE TITLE. # Anaconda-ko mezuen Euskeraketa # Copyright (C) 2000 Free Software Foundation, Inc. # Euskeraketa: Iñaki Larrañaga Murgoitio , 2001/01/10. # # # msgid "" msgstr "" "Project-Id-Version: 7.1\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2001-01-10 22:20+1\n" "Last-Translator: Iñaki Larrañaga Murgoitio \n" "Language-Team: BASQUE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" # ../loader/net.c:149 #: ../net.c:173 msgid "NFS server name:" msgstr "NFS zerbitzariaren izena:" # ../loader/net.c:152 ../loader/urls.c:191 #: ../net.c:176 msgid "Red Hat directory:" msgstr "Red Hat-en direktorioa:" # ../loader/net.c:158 #: ../net.c:182 msgid "NFS Setup" msgstr "NFS-ren Egituraketa" # ../loader/net.c:159 #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Mesedez, datozten ezaugarriak bete:n\n" " o NFS zerbitzariaren IP zenbakia edo izena\n" " o Red Hat Linux-eko fitxategiak dituen\n" " zerbitzariaren direktorioa" # ../loader/cdrom.c:34 ../loader/devices.c:92 ../loader/devices.c:214 # ../loader/devices.c:236 ../loader/devices.c:243 ../loader/devices.c:312 # ../loader/devices.c:410 ../loader/devices.c:455 ../loader/devices.c:475 # ../loader/devices.c:503 ../loader/kickstart.c:58 ../loader/kickstart.c:68 # ../loader/kickstart.c:107 ../loader/lang.c:97 ../loader/lang.c:289 # ../loader/lang.c:578 ../loader/loader.c:277 ../loader/loader.c:504 # ../loader/loader.c:514 ../loader/loader.c:693 ../loader/loader.c:752 # ../loader/loader.c:852 ../loader/loader.c:944 ../loader/loader.c:1022 # ../loader/loader.c:1027 ../loader/loader.c:1126 ../loader/loader.c:1135 # ../loader/loader.c:1166 ../loader/loader.c:1398 ../loader/loader.c:2026 # ../loader/loader.c:2072 ../loader/loader.c:2135 ../loader/loader.c:2143 # ../loader/net.c:164 ../loader/net.c:249 ../loader/net.c:334 # ../loader/net.c:643 ../loader/net.c:676 ../loader/urls.c:155 # ../loader/urls.c:233 ../loader/urls.c:238 ../loader/urls.c:376 # ../text.py:120 ../text.py:196 ../text.py:269 ../text.py:316 ../text.py:334 # ../text.py:376 ../text.py:405 ../text.py:487 ../text.py:499 ../text.py:524 # ../text.py:544 ../text.py:755 ../text.py:781 ../text.py:806 ../text.py:812 # ../text.py:827 ../text.py:1042 ../textw/bootdisk_text.py:52 # ../textw/bootdisk_text.py:54 ../textw/lilo_text.py:30 # ../textw/lilo_text.py:87 ../textw/lilo_text.py:146 # ../textw/lilo_text.py:152 ../textw/mouse_text.py:55 # ../textw/network_text.py:92 ../textw/network_text.py:113 # ../textw/network_text.py:141 ../textw/packages_text.py:55 # ../textw/packages_text.py:89 ../textw/packages_text.py:236 # ../textw/packages_text.py:347 ../textw/partitioning_text.py:257 # ../textw/partitioning_text.py:309 ../textw/partitioning_text.py:320 # ../textw/partitioning_text.py:328 ../textw/partitioning_text.py:335 # ../textw/silo_text.py:25 ../textw/silo_text.py:99 # ../textw/timezone_text.py:69 ../textw/userauth_text.py:30 # ../textw/userauth_text.py:44 ../textw/userauth_text.py:49 # ../textw/userauth_text.py:84 ../textw/userauth_text.py:99 # ../textw/userauth_text.py:105 ../textw/userauth_text.py:111 # ../textw/userauth_text.py:119 ../textw/userauth_text.py:128 # ../textw/userauth_text.py:135 ../textw/userauth_text.py:196 # ../textw/userauth_text.py:287 ../xserver.py:33 #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "Onartu" # ../gui.py:366 ../gui.py:604 ../libfdisk/newtfsedit.c:1438 # ../libfdisk/newtfsedit.c:1446 ../loader/cdrom.c:34 ../loader/devices.c:93 # ../loader/devices.c:215 ../loader/devices.c:312 ../loader/lang.c:578 # ../loader/loader.c:277 ../loader/loader.c:656 ../loader/loader.c:693 # ../loader/loader.c:852 ../loader/loader.c:944 ../loader/loader.c:1398 # ../loader/net.c:164 ../loader/net.c:249 ../loader/net.c:334 # ../loader/urls.c:155 ../loader/urls.c:376 ../text.py:57 ../text.py:68 # ../text.py:120 ../text.py:123 ../text.py:196 ../text.py:251 ../text.py:269 # ../text.py:272 ../text.py:291 ../text.py:294 ../text.py:316 ../text.py:319 # ../text.py:376 ../text.py:379 ../text.py:405 ../text.py:409 ../text.py:418 # ../text.py:487 ../text.py:489 ../text.py:499 ../text.py:501 # ../textw/bootdisk_text.py:30 ../textw/constants_text.py:10 # ../textw/lilo_text.py:31 ../textw/lilo_text.py:87 ../textw/lilo_text.py:95 # ../textw/lilo_text.py:203 ../textw/mouse_text.py:27 # ../textw/mouse_text.py:28 ../textw/mouse_text.py:55 # ../textw/mouse_text.py:81 ../textw/network_text.py:92 # ../textw/network_text.py:141 ../textw/network_text.py:144 # ../textw/packages_text.py:55 ../textw/packages_text.py:236 # ../textw/packages_text.py:347 ../textw/packages_text.py:353 # ../textw/partitioning_text.py:24 ../textw/partitioning_text.py:65 # ../textw/partitioning_text.py:257 ../textw/partitioning_text.py:309 # ../textw/silo_text.py:26 ../textw/silo_text.py:99 ../textw/silo_text.py:206 # ../textw/timezone_text.py:69 ../textw/userauth_text.py:30 # ../textw/userauth_text.py:165 ../textw/userauth_text.py:196 # ../textw/userauth_text.py:287 #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Atzera" # ../loader/net.c:239 #: ../net.c:265 msgid "Nameserver IP" msgstr "Izen Zerbitzariaren IP -a" # ../loader/net.c:243 ../loader/net.c:725 #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Zerbitzari Izena" # ../loader/net.c:244 #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "IP dinamikoaren eskaerak IP egokitzaketaren berriak dakarki, baina DNS " "zerbitzariarenik ez. Zein zerbitzari den jakin ezkero, idatz ezazu orain. " "Une honetan horren berririk ez badakizu atal hori hutsean utzi eta " "ezarketarekin jarraitu." # ../loader/net.c:254 #: ../net.c:280 msgid "Invalid IP Information" msgstr "IP -ren balio erabilkaitza" # ../libfdisk/fsedit.c:1439 ../loader/net.c:254 ../loader/net.c:379 #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Saiatu Berriz" # ../loader/net.c:255 #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "IP helbide erabilkaitza idatzi duzu." # ../loader/net.c:278 #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Ordenagailu honentzako IP egokitzaketa idatzi. Zenbaki bakoitza IP helbide " "bat bezala idatzi behar da, kakotxez banatutako hamartar eran (adbz, " "1.2.34.5)." # ../loader/net.c:284 ../textw/network_text.py:69 #: ../net.c:310 msgid "IP address:" msgstr "IP Helbidea:" # ../loader/net.c:287 ../textw/network_text.py:70 #: ../net.c:313 msgid "Netmask:" msgstr "Sareko Mozorroa:" # ../loader/net.c:290 ../textw/network_text.py:71 #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Jatorrizko Pasabidea (IP):" # ../loader/net.c:293 ../textw/network_text.py:72 #: ../net.c:319 msgid "Primary nameserver:" msgstr "Izen-Zerbitzari (DNS) Nagusia:" # ../loader/net.c:320 #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "IP dinamiko egokitzaketa erabili (BOOTP/DHCP)" # ../loader/net.c:34 #: ../net.c:374 msgid "Configure TCP/IP" msgstr "TCP/IP Egokitu" # ../loader/net.c:379 #: ../net.c:405 msgid "Missing Information" msgstr "Azalpenak Galdu dira" # ../loader/net.c:380 #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "IP helbide eta sare-mozorro baliagarriak idatzi behar dituzu." # ../loader/net.c:388 ../loader/net.c:659 #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "IP Dinamikoa" # ../loader/net.c:389 ../loader/net.c:660 #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "IP argibide eskaera bidaltzen..." # ../iw/network_gui.py:210 ../loader/net.c:531 ../loader/net.c:729 # ../textw/network_text.py:141 #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Ostalariaren Izena" # ../loader/net.c:532 #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Ostalariaren izen eta jabetza zehazten..." # ../loader/net.c:643 ../loader/net.c:676 #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "kickstart" # ../loader/net.c:644 #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "%s kickstart-eko %s sare aginduak argumentu okerra" # ../loader/net.c:677 #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "Sare aginduan zehaztutako %s abiatze hizketa-araua okerra" # ../loader/net.c:719 #: ../net.c:767 msgid "Boot protocol to use" msgstr "Erabili beharreko abiatze hizketa-araua" # ../loader/net.c:721 #: ../net.c:769 msgid "Network gateway" msgstr "Sare pasabidea" # ../loader/net.c:723 #: ../net.c:771 msgid "IP address" msgstr "IP helbidea" # ../iw/network_gui.py:164 ../loader/net.c:727 #: ../net.c:775 msgid "Netmask" msgstr "Sarearen Mozorroa" # ../loader/net.c:732 #: ../net.c:780 msgid "Domain name" msgstr "Jabetzaren Izena" # ../loader/net.c:735 #: ../net.c:783 msgid "Network device" msgstr "Sareko Tramankulua" # ../iw/auth_gui.py:139 #: ../net.c:786 #, fuzzy msgid "No DNS lookups" msgstr "TLS bilaketa erabili" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 msgid "Description of the device" msgstr "" # ../loader/net.c:807 #: ../net.c:866 msgid "" " / between elements | selects | next " "screen" msgstr "" " / Hautagaiartean Higitu | Hautatu | " "datorren pantaila" # ../loader/net.c:808 #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." # ../loader/net.c:81 #: ../net.c:870 msgid "Network configuration" msgstr "Sarea Egokitu" # ../iw/welcome_gui.py:88 ../libfdisk/fsedit.c:943 # ../libfdisk/gnomefsedit.c:728 ../libfdisk/gnomefsedit.c:1136 # ../libfdisk/gnomefsedit.c:1277 ../libfdisk/gnomefsedit.c:2331 # ../libfdisk/gnomefsedit.c:2617 ../libfdisk/gnomefsedit.c:2670 # ../libfdisk/newtfsedit.c:610 ../libfdisk/newtfsedit.c:836 # ../libfdisk/newtfsedit.c:1639 ../libfdisk/newtfsedit.c:1657 # ../libfdisk/newtfsedit.c:1742 ../loader/devices.c:207 # ../loader/loader.c:656 ../loader/net.c:810 ../text.py:291 # ../textw/bootdisk_text.py:12 ../textw/bootdisk_text.py:30 # ../textw/bootdisk_text.py:38 ../textw/partitioning_text.py:218 #: ../net.c:870 msgid "Yes" msgstr "Bai" # ../iw/welcome_gui.py:91 ../libfdisk/fsedit.c:943 # ../libfdisk/gnomefsedit.c:728 ../libfdisk/gnomefsedit.c:1136 # ../libfdisk/gnomefsedit.c:1277 ../libfdisk/gnomefsedit.c:2331 # ../libfdisk/gnomefsedit.c:2617 ../libfdisk/gnomefsedit.c:2670 # ../libfdisk/newtfsedit.c:610 ../libfdisk/newtfsedit.c:836 # ../libfdisk/newtfsedit.c:1639 ../libfdisk/newtfsedit.c:1657 # ../libfdisk/newtfsedit.c:1742 ../loader/devices.c:208 ../loader/net.c:810 # ../text.py:291 ../text.py:297 ../textw/bootdisk_text.py:12 # ../textw/bootdisk_text.py:30 ../textw/bootdisk_text.py:41 # ../textw/partitioning_text.py:218 #: ../net.c:870 msgid "No" msgstr "Ez" # ../loader/net.c:811 #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "Sarea Egokitzea nahi dozu?" pump-0.8.24/po/pl.po0000664000076400007640000001151107717053360013230 0ustar katzjkatzj# Plik z zasobami dla polskiego użytkownika. # Jacek Smyda , 1998. # Rafał Maszkowski , 1999, 2000 # Bartosz Sapijaszko , 2002 # msgid "" msgstr "" "Project-Id-Version: Red Hat installation\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2002-10-07 09:56+0200\n" "Last-Translator: Bartosz Sapijaszko \n" "Language-Team: Polski \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 0.9.6\n" #: ../net.c:173 msgid "NFS server name:" msgstr "Nazwa serwera NFS:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Katalog Red Hat:" #: ../net.c:182 msgid "NFS Setup" msgstr "Ustawienia NFS" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Proszę podać następujące informacje:\n" "\n" " o nazwę lub IP adres twojego NFS serwera\n" " o katalog w którym znajduje się\n" " Red Hat Linux dla twojej architektury" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "TAK" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Powrót" #: ../net.c:265 #, fuzzy msgid "Nameserver IP" msgstr "Serwer nazw" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Serwer nazw" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" #: ../net.c:280 #, fuzzy msgid "Invalid IP Information" msgstr "Błędna informacja" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Ponów" #: ../net.c:281 #, fuzzy msgid "You entered an invalid IP address." msgstr "Musisz wprowadzić poprawny IP adres i maskę." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Podaj konfigurację IP dla tej maszyny. Każdy element powinien być " "wprowadzony jako IP adres w notacji liczbowej (np. 1.2.3.4)." #: ../net.c:310 msgid "IP address:" msgstr "Adres IP:" #: ../net.c:313 msgid "Netmask:" msgstr "Maska sieci:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Domyślny gateway (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Pierwszy serwer nazw:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Użcie dynamicznej konfiguracji IP (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Konfiguracja TCP/IP" #: ../net.c:405 msgid "Missing Information" msgstr "Brakująca informacja" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Musisz wprowadzić poprawny IP adres i maskę." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "Dynamiczny IP" #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "Wysyłanie żądania informacji o IP..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Nazwa komputera" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Ustalenie nazwy hosta i domeny..." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "kickstart" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "błędny argument w komendzie network kickstart %s: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "Błędny protokół %s w komendzie sieciowej" #: ../net.c:767 msgid "Boot protocol to use" msgstr "Protokół bootowania" #: ../net.c:769 msgid "Network gateway" msgstr "Router" #: ../net.c:771 msgid "IP address" msgstr "Adres IP:" #: ../net.c:775 msgid "Netmask" msgstr "Maska sieci" #: ../net.c:780 msgid "Domain name" msgstr "Nazwa domeny" #: ../net.c:783 msgid "Network device" msgstr "Urządzenie sieciowe" #: ../net.c:786 msgid "No DNS lookups" msgstr "" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 msgid "Description of the device" msgstr "" #: ../net.c:866 #, fuzzy msgid "" " / between elements | selects | next " "screen" msgstr "" " / następne pole | wybór | następny ekran " #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." #: ../net.c:870 msgid "Network configuration" msgstr "Konfiguracja sieci" #: ../net.c:870 msgid "Yes" msgstr "Tak" #: ../net.c:870 msgid "No" msgstr "Nie" #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "Chcesz skonfigurować sieć?" pump-0.8.24/po/vi.po0000664000076400007640000001222007717053360013231 0ustar katzjkatzj# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: anaconda VERSION\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-07-26 23:42+0700\n" "Last-Translator: pclouds \n" "Language-Team: Vietnamese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../net.c:173 msgid "NFS server name:" msgstr "Tên server NFS:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Thư mục Red Hat:" #: ../net.c:182 msgid "NFS Setup" msgstr "Thiết lập NFS" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Vui lòng nhập thông tin sau:\n" "\n" " o Tên hoặc số IP của server %s\n" " o Thư mục mà server chứa \n" " %s cho máy bạn\n" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "Đồng ý" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Lùi" #: ../net.c:265 msgid "Nameserver IP" msgstr "Nameserver IP" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Nameserver" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "Yêu cầu IP động của bạn trả về thông tin cấu hình IP, nhưng không chứa DNS\n" "nameserver. Nếu bạn biết nameserver của mình thì hãy nhập vào đây. Nếu " "không\n" "thì có thể bỏ trống và tiếp tục cài đặt." #: ../net.c:280 msgid "Invalid IP Information" msgstr "Thông tin IP không hợp lệ" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Thử lại" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "Bạn đã nhập địa chỉ IP không hợp lệ." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Vui lòng nhập cấu hình IP cho máy này. Mỗi mục được nhập là địa chỉ IP theo " "cú pháp chấm (ví dụ 1.2.3.4)." #: ../net.c:310 msgid "IP address:" msgstr "Địa chỉ IP:" #: ../net.c:313 msgid "Netmask:" msgstr "Netmask:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Gateway mặc định (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Nameserver chính:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Dùng cấu hình IP động (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Cấu hình TCP/IP" #: ../net.c:405 msgid "Missing Information" msgstr "Thiếu thông tin" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Bạn phải nhập cả địa chỉ IP hợp lệ và netmask hợp lệ." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "IP động" #: ../net.c:415 ../net.c:706 #, fuzzy msgid "Sending request for IP information..." msgstr "Đang gửi yêu cầu thông tin IP cho %s..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Tên máy" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Đang xác định tên máy và tên miền..." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "kickstart" #: ../net.c:690 #, fuzzy, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "Đối số cho lệnh mạng kickstart sai %s: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "BootProto %s sai trong lệnh mạng" #: ../net.c:767 msgid "Boot protocol to use" msgstr "Giao thức boot cần dùng" #: ../net.c:769 msgid "Network gateway" msgstr "Gateway mạng" #: ../net.c:771 msgid "IP address" msgstr "Địa chỉ IP" #: ../net.c:775 msgid "Netmask" msgstr "Mặt nạ mạng" #: ../net.c:780 msgid "Domain name" msgstr "Tên miền" #: ../net.c:783 msgid "Network device" msgstr "Thiết bị mạng" #: ../net.c:786 msgid "No DNS lookups" msgstr "Không tra cứu DNS" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "Mô tả" #: ../net.c:866 msgid "" " / between elements | selects | next " "screen" msgstr " / chuyển đổi | chọn | bước kế" #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." #: ../net.c:870 msgid "Network configuration" msgstr "Cấu hình mạng" #: ../net.c:870 msgid "Yes" msgstr "Có" #: ../net.c:870 msgid "No" msgstr "Không" #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "Bạn có muốn thiết lập cấu hình mạng không?" pump-0.8.24/po/cs.po0000664000076400007640000001205207717053360013223 0ustar katzjkatzj# $Id: cs.po,v 1.1.2.1 2003/08/15 03:43:44 notting Exp $ # Miloslav Trmac , 2002, 2003. # msgid "" msgstr "" "Project-Id-Version: install VERSION\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-07-31 02:59+0200\n" "Last-Translator: Miloslav Trmac \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" #: ../net.c:173 msgid "NFS server name:" msgstr "Jméno NFS serveru:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Adresář s distribucí:" #: ../net.c:182 msgid "NFS Setup" msgstr "NFS instalace" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Zadejte následující informace:\n" "\n" " * jméno nebo IP adresu %s serveru\n" " * adresář daného serveru obsahující\n" " %s pro vaši architekturu\n" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "OK" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Zpět" #: ../net.c:265 msgid "Nameserver IP" msgstr "IP DNS serveru" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "DNS server" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "Odpověď na žádost o přidělení IP adresy neobsahuje jméno DNS serveru. Pokud " "víte, jaká je IP adresa DNS serveru, vložte ji. Pokud tuto adresu neznáte, " "ponechte políčko prázdné a instalace bude pokračovat." #: ../net.c:280 msgid "Invalid IP Information" msgstr "Chybná IP informace" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Znovu" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "Vložili jste chybnou IP adresu." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Vložte IP adresu a ostatní údaje pro tento počítač. Jednotlivé položky " "zadávejte jako desítková čísla oddělená tečkami (např. 10.2.3.4)." #: ../net.c:310 msgid "IP address:" msgstr "IP adresa:" #: ../net.c:313 msgid "Netmask:" msgstr "Maska sítě:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Implicitní gateway (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Primární DNS server:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Použít dynamické nastavení IP adresy (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Nastavení TCP/IP" #: ../net.c:405 msgid "Missing Information" msgstr "Chybějící informace" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Pro pokračování musíte zadat platnou IP adresu a masku sítě." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "Dynamické nastavení IP" #: ../net.c:415 ../net.c:706 #, fuzzy msgid "Sending request for IP information..." msgstr "Odesílám požadavek o informace IP pro %s..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Jméno počítače" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Zjišťuji jméno počítače a doménu..." #: ../net.c:689 ../net.c:722 #, fuzzy msgid "kickstart" msgstr "Chyba Kickstartu" #: ../net.c:690 #, fuzzy, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "Chybný argument Kickstart příkazu network %s: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "Chybný zaváděcí protokol %s v příkazu network" #: ../net.c:767 msgid "Boot protocol to use" msgstr "" #: ../net.c:769 #, fuzzy msgid "Network gateway" msgstr "Nastavení sítě" #: ../net.c:771 #, fuzzy msgid "IP address" msgstr "IP adresa:" #: ../net.c:775 msgid "Netmask" msgstr "Maska sítě" #: ../net.c:780 msgid "Domain name" msgstr "" #: ../net.c:783 #, fuzzy msgid "Network device" msgstr "Síťová zařízení" #: ../net.c:786 #, fuzzy msgid "No DNS lookups" msgstr "Použít _TLS lookup" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "Popis" #: ../net.c:866 #, fuzzy msgid "" " / between elements | selects | next " "screen" msgstr "" " / mezi položkami | výběr | pokračovat" #: ../net.c:867 #, fuzzy, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "%s (C) 2003 Red Hat, Inc." #: ../net.c:870 #, fuzzy msgid "Network configuration" msgstr "Nastavení sítě" #: ../net.c:870 msgid "Yes" msgstr "Ano" #: ../net.c:870 msgid "No" msgstr "Ne" #: ../net.c:871 #, fuzzy msgid "Would you like to set up networking?" msgstr "Co chcete provést?" pump-0.8.24/po/fi.po0000664000076400007640000001145207717053360013217 0ustar katzjkatzj# Finnish messages for rhinstall # Revised by Raimo Koski , 1998. # # Status: # # 1998-05-17 # First version. msgid "" msgstr "" "Project-Id-Version: Install 6.2 \n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2000-03-01 17:24-0500\n" "Last-Translator: Raimo Koski \n" "Language-Team: Finnish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8 \n" "Content-Transfer-Encoding: 8bit\n" #: ../net.c:173 msgid "NFS server name:" msgstr "NFS-palvelijan nimi:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Red Hatin hakemisto:" #: ../net.c:182 #, fuzzy msgid "NFS Setup" msgstr "SMB:n määrittely" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Syötä seuraavat tiedot:\n" "\n" " o NFS-palvelijan IP-osoite tai nimi\n" " o hakemisto palvelijalla, jossa on\n" " Red Hat Linux" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Takaisin" #: ../net.c:265 #, fuzzy msgid "Nameserver IP" msgstr "Palvelin" #: ../net.c:269 ../net.c:773 #, fuzzy msgid "Nameserver" msgstr "Palvelin" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" #: ../net.c:280 #, fuzzy msgid "Invalid IP Information" msgstr "Puuttuvat tiedot" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Uudelleen" #: ../net.c:281 #, fuzzy msgid "You entered an invalid IP address." msgstr "Sinun on syötettävä kelvollinen IP-osoite ja verkon peitto" #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Syötä koneen TCP/IP-asetukset. Kukin kohta pitää syöttää IP-osoitteena, " "pisteillä eroteltuna nelinumeroisena lukuna (esim. 1.2.3.4)." #: ../net.c:310 msgid "IP address:" msgstr "IP-osoite:" #: ../net.c:313 msgid "Netmask:" msgstr "Verkon peitto:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Oletusyhdyskäytävä:" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Ensisijainen nimipalvelin:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Konfiguroi TCP/IP" #: ../net.c:405 #, fuzzy msgid "Missing Information" msgstr "Kirjoittimen tiedot" #: ../net.c:406 #, fuzzy msgid "You must enter both a valid IP address and a netmask." msgstr "Sinun on syötettävä kelvollinen IP-osoite ja verkon peitto" #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "" #: ../net.c:415 ../net.c:706 #, fuzzy msgid "Sending request for IP information..." msgstr "Lähetän DHCP-pyynnön..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Koneen nimi" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Haen koneen ja verkkoalueen nimeä..." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "kickstart" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "huono parametri kickstartin network-komennolle %s: %s" #: ../net.c:723 #, fuzzy, c-format msgid "Bad bootproto %s specified in network command" msgstr "huono IP-osoite network-käskyssä: %s" #: ../net.c:767 #, fuzzy msgid "Boot protocol to use" msgstr "Käynnistysprotokolla" #: ../net.c:769 #, fuzzy msgid "Network gateway" msgstr "NFS:n määrittely" #: ../net.c:771 #, fuzzy msgid "IP address" msgstr "IP-osoite:" #: ../net.c:775 #, fuzzy msgid "Netmask" msgstr "Verkon peitto:" #: ../net.c:780 msgid "Domain name" msgstr "" #: ../net.c:783 #, fuzzy msgid "Network device" msgstr "NFS:n määrittely" #: ../net.c:786 #, fuzzy msgid "No DNS lookups" msgstr "Anna lisää parametrejä" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "Kirjoittimen laite" #: ../net.c:866 #, fuzzy msgid "" " / between elements | selects | next " "screen" msgstr "" " / vaihtaa elementtiä | valitsee | seuraava " #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "" #: ../net.c:870 #, fuzzy msgid "Network configuration" msgstr "Verkon määritykset" #: ../net.c:870 msgid "Yes" msgstr "Kyllä" #: ../net.c:870 msgid "No" msgstr "Ei" #: ../net.c:871 #, fuzzy msgid "Would you like to set up networking?" msgstr "Älä määrittele verkkoa" pump-0.8.24/po/sr.po0000664000076400007640000001122107717053360013237 0ustar katzjkatzjmsgid "" msgstr "" "Project-Id-Version: install $Revision: 1.1.2.1 $\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2000-02-21 24:00-0500\n" "Last-Translator: Zoltan Čala \n" "Language-Team: Serbian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../net.c:173 msgid "NFS server name:" msgstr "Ime NFS servera:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Direktorijum sa Red Hatom" #: ../net.c:182 msgid "NFS Setup" msgstr "Podešavanje NFS-a" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Molim unesite sledeće podatke:\n" " o ime ili IP broj vašeg NFS servera\n" " o direktorijum na tom serveru u kojem se nalazi\n" " Red Hat Linux za vaš tip računara" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "U redu" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Natrag" #: ../net.c:265 #, fuzzy msgid "Nameserver IP" msgstr "Nameserver" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Nameserver" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" #: ../net.c:280 #, fuzzy msgid "Invalid IP Information" msgstr "Pogrešna informacija" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Ponovo" #: ../net.c:281 #, fuzzy msgid "You entered an invalid IP address." msgstr "Morate uneti i važeću IP adresu i mrežnu masku." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Molim unesite IP konfiguraciju za ovu mašinu. Svaka stavka treba da bude " "uneta kao IP adresa (na primer, 123.45.67.89)." #: ../net.c:310 msgid "IP address:" msgstr "IP adresa:" #: ../net.c:313 msgid "Netmask:" msgstr "Mrežna maska:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Podrazumevani gateway (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Primarni nameserver:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Koristi dinamičku IP konfiguraciju (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Podešavanje TCP/IP" #: ../net.c:405 msgid "Missing Information" msgstr "Podatak koji nedostaje" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Morate uneti i važeću IP adresu i mrežnu masku." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "Dinamički IP" #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "Slanje zahteva za IP podacima..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Ime računara" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Određivanje imena hosta i domena..." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "brzi početak" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "loš argument za brzi početak mrežne komande %s: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "Loš 'bootproto' %s naveden u mrežnoj komandi" #: ../net.c:767 msgid "Boot protocol to use" msgstr "Startni protokol" #: ../net.c:769 msgid "Network gateway" msgstr "Mrežni 'gateway'" #: ../net.c:771 msgid "IP address" msgstr "IP adresa" #: ../net.c:775 msgid "Netmask" msgstr "Mrežna maska" #: ../net.c:780 msgid "Domain name" msgstr "Ime domena" #: ../net.c:783 msgid "Network device" msgstr "Mrežni uređaj" #: ../net.c:786 msgid "No DNS lookups" msgstr "" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 msgid "Description of the device" msgstr "" #: ../net.c:866 #, fuzzy msgid "" " / between elements | selects | next " "screen" msgstr "" " / kretanje kroz stavke | za izbor | za sledeći " "ekran" #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." #: ../net.c:870 msgid "Network configuration" msgstr "Podešavanje mreže" #: ../net.c:870 msgid "Yes" msgstr "Da" #: ../net.c:870 msgid "No" msgstr "Ne" #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "Da li biste da podesite rad sa mrežom?" pump-0.8.24/po/uk.po0000664000076400007640000001410707717053360013240 0ustar katzjkatzj# Yuriy Syrota # Volodymyr M. Lisivka # Leon Kanter msgid "" msgstr "" "Project-Id-Version: 1.0\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2001-08-22 21:06EET\n" "Last-Translator: Leon Kanter \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 0.9.5\n" #: ../net.c:173 msgid "NFS server name:" msgstr "Назва сервера NFS:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Каталог Red Hat:" #: ../net.c:182 msgid "NFS Setup" msgstr "Конфіґурування NFS" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Введіть таку інформацію:\n" "\n" " - назву або IP-адресу вашого сервера NFS\n" " - каталог на цьому сервері, де міститься\n" " Red Hat Linux для вашої архітектури" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "Гаразд" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Назад" #: ../net.c:265 msgid "Nameserver IP" msgstr "IP DNS сервера " #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "DNS сервер" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "Запит на отримання динамічної IP адреси повернув інформацію про конфіґурацію " "IP, але ця інформація не містить дані про сервер DNS. Якщо Ви знаєте ім'я " "сервера, введіть його, будь-ласка, зараз. Якщо Ви не маєте цієї інформації, " "можете просто залишити це поле пустим, і встановлення продовжиться. " #: ../net.c:280 msgid "Invalid IP Information" msgstr "Невірна інформація про IP" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Повторити" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "Ви ввели невірну IP-адресу." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Введіть конфіґурацію протоколу IP для цієї машини. Кожен елемент треба " "вводити як IP-адресу в десятковій системі з крапками (наприклад, 1.2.3.4)" #: ../net.c:310 msgid "IP address:" msgstr "IP-адреса:" #: ../net.c:313 msgid "Netmask:" msgstr "Маска підмережі:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Типовий шлюз (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Первинний сервер імен (DNS):" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Використати дінамічний IP (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Конфіґурування TCP/IP" #: ../net.c:405 msgid "Missing Information" msgstr "Пропущена Інформація" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Слід ввести правильну IP-адресу та маску підмережі." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "Динамічний IP" #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "Посилка запиту про параметри IP..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Назва хосту" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Визначення назви комп'ютера та домену..." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "швикий початок" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "невірний аргумент для команди швидкого запуску мережі %s: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "Невірний bootproto %s в команді мережі" #: ../net.c:767 msgid "Boot protocol to use" msgstr "Вживати протокол завантаження" #: ../net.c:769 msgid "Network gateway" msgstr "Шлюз мережі" #: ../net.c:771 msgid "IP address" msgstr "IP-адреса" #: ../net.c:775 msgid "Netmask" msgstr "Маска підмережі" #: ../net.c:780 msgid "Domain name" msgstr "Назва домену" #: ../net.c:783 msgid "Network device" msgstr "Пристрій мережі" #: ../net.c:786 #, fuzzy msgid "No DNS lookups" msgstr "Використовувати пошук TLS" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 msgid "Description of the device" msgstr "" #: ../net.c:866 msgid "" " / between elements | selects | next " "screen" msgstr "" " / між елементами | <Пробіл> вибір | наступний екран" #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." #: ../net.c:870 msgid "Network configuration" msgstr "Конфіґурування мережі" #: ../net.c:870 msgid "Yes" msgstr "Так" #: ../net.c:870 msgid "No" msgstr "Ні" #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "Ви бажаєте настроїти мережу?" pump-0.8.24/po/gl.po0000664000076400007640000001201007717053360013212 0ustar katzjkatzjmsgid "" msgstr "" "Project-Id-Version: anaconda\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2001-03-25 17:21+0200\n" "Last-Translator: Jesús Bravo Álvarez \n" "Language-Team: Galician \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../net.c:173 msgid "NFS server name:" msgstr "Nome do servidor NFS:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Directorio de Red Hat:" #: ../net.c:182 msgid "NFS Setup" msgstr "Configuración de NFS" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Por favor, indique a seguinte información:\n" "\n" " o nome ou número IP do servidor NFS\n" " o directorio nese servidor que contén\n" " Red Hat Linux para a súa arquitectura" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "Aceptar" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Anterior" #: ../net.c:265 msgid "Nameserver IP" msgstr "IP do servidor de nomes" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Servidor de nomes" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "A solicitude de IP dinámico devolveu información da configuración IP, pero " "non incluíu un servidor de nomes DNS. Se sabe cal é, indíqueo agora. Se non " "ten esta información, pode deixar este campo baleiro e a instalación " "continuará." #: ../net.c:280 msgid "Invalid IP Information" msgstr "Información IP non válida" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Retentar" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "Indicou un enderezo IP non válido." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Indique a configuración IP para esta máquina. Cada elemento debe ser " "introducido como un enderezo IP en notación decimal con puntos (por exemplo, " "1.2.3.4)." #: ../net.c:310 msgid "IP address:" msgstr "Enderezo IP:" #: ../net.c:313 msgid "Netmask:" msgstr "Máscara de rede:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Pasarela por defecto (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Servidor de nomes primario:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Usar configuración de IP dinámico (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "Configurar TCP/IP" #: ../net.c:405 msgid "Missing Information" msgstr "Falta información" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "Ten que introducir un enderezo IP e unha máscara de rede válidos." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "IP dinámico" #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "Enviando a petición de información IP..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Nome de máquina" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Determinando o nome da máquina e o dominio..." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "kickstart" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "argumento erróneo ó comando de rede de kickstart %s: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "Protocolo de arrinque %s erróneo indicado no comando de rede" #: ../net.c:767 msgid "Boot protocol to use" msgstr "Protocolo de arrinque a usar" #: ../net.c:769 msgid "Network gateway" msgstr "Pasarela de rede" #: ../net.c:771 msgid "IP address" msgstr "Enderezo IP" #: ../net.c:775 msgid "Netmask" msgstr "Máscara de rede" #: ../net.c:780 msgid "Domain name" msgstr "Nome de dominio" #: ../net.c:783 msgid "Network device" msgstr "Dispositivo de rede" #: ../net.c:786 #, fuzzy msgid "No DNS lookups" msgstr "Usar lookups TLS" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 msgid "Description of the device" msgstr "" #: ../net.c:866 msgid "" " / between elements | selects | next " "screen" msgstr "" " / entre elementos | escoller | seg. pantalla" #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." #: ../net.c:870 msgid "Network configuration" msgstr "Configuración da rede" #: ../net.c:870 msgid "Yes" msgstr "Si" #: ../net.c:870 msgid "No" msgstr "Non" #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "¿Quere configurar a rede?" pump-0.8.24/po/ja.po0000664000076400007640000001311107717053360013205 0ustar katzjkatzj# translation of ja.po to Japanese # anaconda/ja.po # Copyright (C) 2001 Red Hat, Inc. # SATO Satoru # James Hashida , 2002,2003 # Noriko Mizumoto , 2003 msgid "" msgstr "" "Project-Id-Version: ja\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-06-27 10:20+1000\n" "Last-Translator: Noriko Mizumoto \n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.0\n" #: ../net.c:173 msgid "NFS server name:" msgstr "NFS サーバ名:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Red Hat ディレクトリ:" #: ../net.c:182 msgid "NFS Setup" msgstr "NFS 設定" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "以下の情報を入力して下さい:\n" "\n" " o NFS サーバの名前または IP アドレス\n" " o アーキテクチャ用の %sを含むそのサーバ上の\n" " ディレクトリ" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "OK" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "戻る" #: ../net.c:265 msgid "Nameserver IP" msgstr "ネームサーバの IP" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "ネームサーバ" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "動的 IP 要求によって IP 設定情報が返されましたが、その中に DNS ネームサーバが" "含まれていません。ネームサーバが分かっている場合には、ここで入力して下さい。" "分からない場合には、このフィールドを空白にしてインストールを続行することがで" "きます。" #: ../net.c:280 msgid "Invalid IP Information" msgstr "無効な IP 情報" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "再試行" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "無効な IP アドレスが入力されました" #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "このマシン用の IP 構成を入力して下さい。各項目をドットで区切られた 10 進表記" "の IP アドレスとして入力する必要があります (たとえば、1.2.3.4)。" #: ../net.c:310 msgid "IP address:" msgstr "IP アドレス:" #: ../net.c:313 msgid "Netmask:" msgstr "ネットマスク:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "デフォルトゲートウェイ (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "1番目のネームサーバ:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "動的 IP 設定を使用する (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "TCP/IPを設定します" #: ../net.c:405 msgid "Missing Information" msgstr "情報が不足しています" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "有効な IP アドレスとネットマスクの両方を入力して下さい。" #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "動的 IP" #: ../net.c:415 ../net.c:706 msgid "Sending request for IP information..." msgstr "IP 情報に関する要求を送信中..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "ホスト名" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "ホスト名とドメインを決定中..." #: ../net.c:689 ../net.c:722 msgid "kickstart" msgstr "kickstart" #: ../net.c:690 #, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "Kickstart ネットワークコマンド %s に対する引数が不正です: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "ネットワークコマンドで不正な bootproto %s が指定されました" #: ../net.c:767 msgid "Boot protocol to use" msgstr "使用するブートプロトコル" #: ../net.c:769 msgid "Network gateway" msgstr "ネットワークゲートウェイ" #: ../net.c:771 msgid "IP address" msgstr "IP アドレス" #: ../net.c:775 msgid "Netmask" msgstr "ネットマスク" #: ../net.c:780 msgid "Domain name" msgstr "ドメイン名" #: ../net.c:783 msgid "Network device" msgstr "ネットワークデバイス" #: ../net.c:786 msgid "No DNS lookups" msgstr "DNSルックアップはありません" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 #, fuzzy msgid "Description of the device" msgstr "説明" #: ../net.c:866 msgid "" " / between elements | selects | next " "screen" msgstr " / 項目間の移動| 選択 | 次の画面" #: ../net.c:867 #, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "netconfig %s (C) 1999 Red Hat, Inc." #: ../net.c:870 msgid "Network configuration" msgstr "ネットワークの設定" #: ../net.c:870 msgid "Yes" msgstr "はい" #: ../net.c:870 msgid "No" msgstr "いいえ" #: ../net.c:871 msgid "Would you like to set up networking?" msgstr "ネットワークの設定を行いますか?" pump-0.8.24/po/hu.po0000664000076400007640000001176107717053360013240 0ustar katzjkatzjmsgid "" msgstr "" "Project-Id-Version: anaconda\n" "POT-Creation-Date: 2003-08-14 23:39-0400\n" "PO-Revision-Date: 2003-01-28 11:34+0200\n" "Last-Translator: Tamas Szanto \n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../net.c:173 msgid "NFS server name:" msgstr "NFS szerver név:" #: ../net.c:176 msgid "Red Hat directory:" msgstr "Red Hat könyvtár:" #: ../net.c:182 msgid "NFS Setup" msgstr "NFS beállítás" #: ../net.c:183 #, fuzzy msgid "" "Please enter the following information:\n" "\n" " o the name or IP number of your NFS server\n" " o the directory on that server containing\n" " Red Hat Linux for your architecture" msgstr "" "Kérem adja meg a következő információkat:\n" "\n" " o a web szerver neve vagy IP címe\n" " o a rendszernek megfelelő Red Hat Linux-ot\n" " tartalmazó könyvtár a szerveren\n" #: ../net.c:188 ../net.c:275 ../net.c:360 ../net.c:689 ../net.c:722 msgid "OK" msgstr "OK" #: ../net.c:188 ../net.c:275 ../net.c:360 msgid "Back" msgstr "Vissza" #: ../net.c:265 msgid "Nameserver IP" msgstr "Névszerver IP" #: ../net.c:269 ../net.c:773 msgid "Nameserver" msgstr "Névszerver" #: ../net.c:270 msgid "" "Your dynamic IP request returned IP configuration information, but it did " "not include a DNS nameserver. If you know what your nameserver is, please " "enter it now. If you don't have this information, you can leave this field " "blank and the install will continue." msgstr "" "A dinamikus IP kérelmére érkezett IP konigurációs válaszinformáció, de ez " "nem tartalmazta a DNS névszervert. Ha tudja mi a návszervere, adja meg most. " "Ha nem rendelkezik ezzel az információval, üresen is hagyhatja ezt a mezőt, " "a telepítés folytatódik." #: ../net.c:280 msgid "Invalid IP Information" msgstr "Érvénytelen IP információ" #: ../net.c:280 ../net.c:405 msgid "Retry" msgstr "Újra" #: ../net.c:281 msgid "You entered an invalid IP address." msgstr "Érvénytelen IP címet adott meg." #: ../net.c:304 msgid "" "Please enter the IP configuration for this machine. Each item should be " "entered as an IP address in dotted-decimal notation (for example, 1.2.3.4)." msgstr "" "Adja meg a számítógép IP beállításait. Minden értéket decimálisan, pontokkal " "elválasztva adjon meg (pl. 1.2.3.4)." #: ../net.c:310 msgid "IP address:" msgstr "IP cím:" #: ../net.c:313 msgid "Netmask:" msgstr "Alhálózati maszk:" #: ../net.c:316 msgid "Default gateway (IP):" msgstr "Alapértelmezett átjáró (IP):" #: ../net.c:319 msgid "Primary nameserver:" msgstr "Elsődleges névszerver:" #: ../net.c:346 msgid "Use dynamic IP configuration (BOOTP/DHCP)" msgstr "Dinamikus IP beállítás (BOOTP/DHCP)" #: ../net.c:374 msgid "Configure TCP/IP" msgstr "TCP/IP beállítása" #: ../net.c:405 msgid "Missing Information" msgstr "Hiányzó információ" #: ../net.c:406 msgid "You must enter both a valid IP address and a netmask." msgstr "A folytatáshoz érvényes IP címet és alhálózati maszkot kell megadnia." #: ../net.c:414 ../net.c:705 msgid "Dynamic IP" msgstr "Dinamikus IP" #: ../net.c:415 ../net.c:706 #, fuzzy msgid "Sending request for IP information..." msgstr "IP információ kérelem küldése..." #: ../net.c:577 ../net.c:777 msgid "Hostname" msgstr "Host név" #: ../net.c:578 msgid "Determining host name and domain..." msgstr "Host név és domain megállapítása..." #: ../net.c:689 ../net.c:722 #, fuzzy msgid "kickstart" msgstr "Kickstart hiba" #: ../net.c:690 #, fuzzy, c-format msgid "bad argument to kickstart network command %s: %s" msgstr "hibás argumentum a kickstart network parancsban %s: %s" #: ../net.c:723 #, c-format msgid "Bad bootproto %s specified in network command" msgstr "Rossz bootproto (%s) van megadva a network parancsban" #: ../net.c:767 msgid "Boot protocol to use" msgstr "" #: ../net.c:769 #, fuzzy msgid "Network gateway" msgstr "Hálózati beállítások" #: ../net.c:771 #, fuzzy msgid "IP address" msgstr "IP cím:" #: ../net.c:775 #, fuzzy msgid "Netmask" msgstr "Hálózati mas_zk" #: ../net.c:780 msgid "Domain name" msgstr "" #: ../net.c:783 #, fuzzy msgid "Network device" msgstr "Hálózati eszköz" #: ../net.c:786 msgid "No DNS lookups" msgstr "" #: ../net.c:789 msgid "Ethernet hardware address" msgstr "" #: ../net.c:792 msgid "Description of the device" msgstr "" #: ../net.c:866 #, fuzzy msgid "" " / between elements | selects | next " "screen" msgstr "" " / elemek között | kiválaszt | következő képernyő " #: ../net.c:867 #, fuzzy, c-format msgid "netconfig %s (C) 1999 Red Hat, Inc." msgstr "Red Hat Linux (C) 2001 Red Hat, Inc." #: ../net.c:870 #, fuzzy msgid "Network configuration" msgstr "Hálózati beállítások" #: ../net.c:870 msgid "Yes" msgstr "Igen" #: ../net.c:870 msgid "No" msgstr "Nem" #: ../net.c:871 #, fuzzy msgid "Would you like to set up networking?" msgstr "Milyen típusú eszközt szeretne hozzáadni?" pump-0.8.24/pump.h0000664000076400007640000000745307746277621013015 0ustar katzjkatzj#ifndef H_NET #define H_NET #include #include #include #include #define MAX_DNS_SERVERS 3 #define MAX_LOG_SERVERS 3 #define MAX_LPR_SERVERS 3 #define MAX_NTP_SERVERS 3 #define MAX_XFS_SERVERS 3 #define MAX_XDM_SERVERS 3 #define PUMP_INTFINFO_HAS_IP (1 << 0) #define PUMP_INTFINFO_HAS_NETMASK (1 << 1) #define PUMP_INTFINFO_HAS_BROADCAST (1 << 2) #define PUMP_INTFINFO_HAS_NETWORK (1 << 3) #define PUMP_INTFINFO_HAS_DEVICE (1 << 4) #define PUMP_INTFINFO_HAS_BOOTSERVER (1 << 5) #define PUMP_INTFINFO_HAS_BOOTFILE (1 << 6) #define PUMP_INTFINFO_HAS_LEASE (1 << 7) #define PUMP_INTFINFO_HAS_REQLEASE (1 << 8) #define PUMP_INTFINFO_HAS_NEXTSERVER (1 << 9) #define PUMP_INTFINFO_NEEDS_NEWLEASE (1 << 10) #define PUMP_INTFINFO_HAS_MTU (1 << 11) #define PUMP_INTFINFO_HAS_PTPADDR (1 << 12) #define PUMP_NETINFO_HAS_LOGSRVS (1 << 15) #define PUMP_NETINFO_HAS_LPRSRVS (1 << 16) #define PUMP_NETINFO_HAS_NTPSRVS (1 << 17) #define PUMP_NETINFO_HAS_XFNTSRVS (1 << 18) #define PUMP_NETINFO_HAS_XDMSRVS (1 << 19) #define PUMP_NETINFO_HAS_GATEWAY (1 << 20) #define PUMP_NETINFO_HAS_HOSTNAME (1 << 21) #define PUMP_NETINFO_HAS_DOMAIN (1 << 22) #define PUMP_NETINFO_HAS_DNS (1 << 23) #define PUMP_NETINFO_HAS_NISDOMAIN (1 << 24) #define PUMP_FLAG_NODAEMON (1 << 0) #define PUMP_FLAG_NOCONFIG (1 << 1) #define PUMP_FLAG_FORCEHNLOOKUP (1 << 2) #define PUMP_FLAG_WINCLIENTID (1 << 3) #define PUMP_SCRIPT_NEWLEASE 1 #define PUMP_SCRIPT_RENEWAL 2 #define PUMP_SCRIPT_DOWN 3 /* all of these in_addr things are in network byte order! */ struct pumpNetIntf { char device[10]; int set; struct in_addr ip, netmask, broadcast, network; struct in_addr bootServer, nextServer; char * bootFile; time_t leaseExpiration, renewAt; int reqLease; /* in seconds */ char * hostname, * domain; /* dynamically allocated */ char * nisDomain; /* dynamically allocated */ struct in_addr gateway; struct in_addr logServers[MAX_LOG_SERVERS]; struct in_addr lprServers[MAX_LPR_SERVERS]; struct in_addr ntpServers[MAX_NTP_SERVERS]; struct in_addr xfntServers[MAX_XFS_SERVERS]; struct in_addr xdmServers[MAX_XDM_SERVERS]; struct in_addr dnsServers[MAX_DNS_SERVERS]; int numLog; int numLpr; int numNtp; int numXfs; int numXdm; int numDns; int flags; /* these don't really belong here, but anaconda's about the only thing * that uses pump and this stuff is needed for the loader on s390 */ int mtu; struct in_addr ptpaddr; /* ptp address for ptp devs like ctc */ }; #define OVERRIDE_FLAG_NODNS (1 << 0) #define OVERRIDE_FLAG_NONISDOMAIN (1 << 1) #define OVERRIDE_FLAG_NOGATEWAY (1 << 2) #define OVERRIDE_FLAG_NOBOOTP (1 << 3) struct pumpOverrideInfo { struct pumpNetIntf intf; char * searchPath; int flags; int numRetries; int timeout; char * script; }; void pumpInitOverride(struct pumpOverrideInfo * override); char * pumpDhcpClassRun(char * device, int flags, int lease, char * reqHostname, char * class, struct pumpNetIntf * intf, struct pumpOverrideInfo * override); char * pumpDhcpRun(char * device, int flags, int lease, char * reqHostname, struct pumpNetIntf * intf, struct pumpOverrideInfo * override); char * pumpSetupInterface(struct pumpNetIntf * intf); /* setup an interface for sending a broadcast -- uses all 0's address */ char * pumpPrepareInterface(struct pumpNetIntf * intf, int s); char * pumpDisableInterface(char * device); int pumpDhcpRenew(struct pumpNetIntf * intf); int pumpDhcpRelease(struct pumpNetIntf * intf); int pumpSetupDefaultGateway(struct in_addr * gw); time_t pumpUptime(void); #define RESULT_OKAY 0 #define RESULT_FAILED 1 #define RESULT_UNKNOWNIFACE 2 #endif