Problems With FTP Upload in Leopard 10.5.3-4

Hi, I experience a strange problem with ftp upload speed in 10.5.3-4. When I start upload a file to my trusted ftp server the upload speed starts to decrease from 300 kb/sec to 35 -40 kb/sec. It remains normal for 1-2 minutes (about 300 kb/sec) and then smoothly decreases to 35 -40 kb/sec. Pressing Stop and then Resume in Cyberduck makes speed normal for 1-2 minutes and then it starts to decrease again. It does not depend on ftp-client, it does not matter if I use either Cyberduck, Transmit or Fetch. It happens if I use either ethernet or airport connection. I have my old Powerbook with 10.4.11, it's connected to the same router with the same settings and the same time upload speed remains stable about 300 kb/sec.
But when I transfer files from my Macbook to my old Powerbook via ftp everything is fine. And when I transfer files to ftp server of my local ISP it's also fine.
Please, help me, I have to upload big 100 Mb files very often and it's significant difference for me 30 or 300 kb/sec
Boris

I'm afraid it's not just the Duck or FTP, Boris....It's many many Apps...and protocols... 10.5 appears to have ;broken',a number of file transfer protocols and Apps... (Wired and KDX are two that come to mind- precisely the same symptoms, AND some others) Apple's own 'built-in' FTP appears OK Mac-Mac, oddly enough.
There's obviously some kind of weird Copy-Paste problem too.
It's obviously 'fixable' or a workaround is available because several s/w mobs have released 'fixes for 10.5 file transfer Bug'
The rest of us will just have to wait while another unannounced,unacknowledged, gaping hole in the Mac OS is quietly fixed and our expensive s/w sits unusable...
Not really good enough, is it ?
Like: Not being able to automatically detect a part file transfer on FTP and Auto-resume from whence you left off: something we thought was pretty cool- back in about 1984.... and absolutely essential in 86 or so.
Boris:You will almost certainly find that it happens whatever the client-server server setup and applications or Medium... I've seen precisely what you describe happen with Airport, Cable, 10/100/1000' local' LAN...
- and watching your throughput drop from 300K to 300 BYTES/Sec is NO FUN.
I've spent a lot of time and money convincing potential 'Switchers' of the superiority of the Mac way over the last 20 years or so...
I'm getting pretty tired at defending the indefensible: 'SkoolBoy Misstakes' in a 24 year old 'superior Computer.- Not Good enough, Apple.

Similar Messages

  • I am running OS 10.7.5 on a Macbook. Problems with ftp upload

    I am running OS 10.7.5 on a Macbook. I am trying to upload to an ftp server. The connection is established with no problem but any attempt to upload files times out. This is an intermittent problem. I have been using fetch as an ftp client quuite successfully for a long time. The problem starts when there is trouble with the broadband connection. The ftp upload then falls over. I have managed to re-establish it in the past by setting up the connections from scratch. This has not worked this time. The same thing happens with two other clients that I have, so it is not specifically related to fetch. I can uplad files from PC's and by using my iphone's 3g connection as a personal hotspot. The problem seems to lie with the way the macs (the same thing happens on an older mac also running OSX) communicate with the router. I have tried with and without passive mode.
    Please can anyone help. It is driving me to distraction.
    Oh and I have just downloaded the latest security update.

    For anyone else with the same problem.
    My husband discovered the problem is with the MTU, maximum transmission unit . This article describes the problem and solution very clearly
    http://www.macgurulounge.com/manually-managing-mtu-size-in-mac-os-x/
    Our router was running at 1492 and the mac at 1500. I found that resetting to 1400 cured the problem.
    I hope this is helpful to other folk having the same problem

  • Problems with FTP Upload

    Hi,
    I am fairly new to Dreamweaver and we recently decided to
    bring control of our website in house (we are a NPO).
    I managed to download our organizations existing website
    using the FTP connection in Dreamweaver. Everything went great -
    and I started editing one of our pages. As a test I made a small
    change and then uploaded the new page (again through FTP) to the
    hosting site. It worked fine. Here's where the problems begin - I
    decided to continue editing the page (in the local view not the
    remote view) and when I was finished tried to upload it exactly the
    same way i had done before. Suddenly it was telling me I was no
    longer connected. For 2 hours i retried and tried and tried to get
    the connection to re-establish - including shutting down
    dreamweaver, rebooting my computer etc etc. Nothing worked. My
    collegue who is also working on this project with me experienced
    the EXACT same problem when she tried on her computer... first
    upload is successful but any additional ones don't work. What's
    more when you then went to view the actual page in IE (or Firefox)
    the page was distorted - only some of the page appeared. The first
    time we were missing the flash bar, the second time none of the
    pictures showed up etc. In addition i used Link Checker and 66 out
    of 80 links were broken (they had not been broken the first time
    the page successfully uploaded).
    I am very baffled by this whole situation. Does anyone have
    any advice?? Do you think this is a Dreamweaver problem or perhaps
    something entirely different? In the end I had to go directly to
    our hosting site and re-upload an the old page from a burned CD.
    Thanks!

    What happens if you use different FTP software?
    I've never used the file transfer part of DW, since the IT
    staff where I work only allows ONE specific program to have access
    to the server, and they set the access parameters so the program
    only allows each user upload or download access to their particular
    program area
    Depending on your server's security settings, you might try
    other software to see if it works... yes, it is a bit of a PITA to
    have to jump from DW to a different program... but, whatever
    works

  • Big troubles with FTP upload since upgrade to leopard

    Hello out there,
    I made an upgrade from tiger to leopard 3 weeks ago (10.5.7) on my iMac (Intel - early 2006). Since this time I Have big troubles with ftp upload.
    I'm using Cyberduck as FTP client and it worked very well before but since the upgrade it starts quick and falls down to a view kb after a view seconds. Sometimes it stops completely.
    Target Server is checked and working well. Also the ISP is fine (tested with a windows machine).
    As it is important for my business (photographer) I would appreciate if somebody can give me a quick hint how to solve this problem.
    Thanks in advance

    I am also experiencing this problem, but only (so far) with one hosting company of the many I FTP into (web designer). The symptoms are exactly as reported above. Files initially start uploading fine, then slow to a crawl and stall. This is the same regardless of FTP software. Error reports say the server is not responding.
    This problem is the same using my daughter's computer (also running 10.5.7), but my son (being my son) hasn't updated his OS since 10.5.5 and I encounter NO problems whatsoever FTPing from his machine, nor from a PC.
    It's only the uploads that seem to cause a problem. Communicating with the server to download, rename, move or delete files presents no issues.
    (In trying to track down where the problem was, I also discovered that the traceroute command to any site on both 10.5.5 and 10.5.7 stalls at the modem, though pings work fine as does tracert from the PC.)

  • Problem with FTP Adapter in creating a new Folder

    Hi all,
    I have a requirement in which a BPEL process shud create a folder named as sysdate dynamically and write a
    CSV file into that.(ex: PO/2010-03-09/PO_1.csv).I created a header variable for Oubound FTP adapter and
    passing the file directory as concat('PO/',xp20:current-date(),'/') to outbound header directory variable.Problem is FTP
    adapter is not creating the sysdate folder its says:1.check u have privileges 2.file name is too long....Blah....Blah.
    But i have all the privileges for that user.If i manually create the sysdate folder the FTP adapter is placing the CSV
    file.The same works fine with file adapter...but i need to use FTP since the FTP server can change in future.Seems to
    be a problem with FTP adapter....can some one help.
    Iam using SOA 10.1.3.4
    Regards,
    Edited by: 0racler on Mar 9, 2010 4:46 AM
    Edited by: 0racler on Mar 9, 2010 5:49 AM

    any thoughts????

  • Problem with File Uploading.

    Hi,
    I have one problem with File Upload component.
    JSP
    <ui:upload binding="#{NewProblem.fileUpload1}" columns="#{SessionBean1.uploadedFile}" id="fileUpload1" labelLevel="3"
    style="left: 24px; top: 24px; position: absolute" validator="#{NewProblem.fileUpload1_validate}"/>
    Java
    UploadedFile uploadedFile = getSessionBean1().getUploadedFile();
    Variable uploadedFile is NULL :(((((((((((
    web.xml
    <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
    </context-param>
    <filter>
    <filter-name>UploadFilter</filter-name>
    <filter-class>com.sun.web.ui.util.UploadFilter</filter-class>
    <init-param>
    <param-name>maxSize</param-name>
    <param-value>10000000</param-value>
    </init-param>
    <init-param>
    <param-name>sizeThreshold</param-name>
    <param-value>10024</param-value>
    </init-param>
    </filter>
    Thanks.

    check out the fileUpload article
    Using the File Upload Component
    http://developers.sun.com/prodtech/javatools/jscreator/learning/tutorials/2/file_upload.html

  • Having problem with dead key in Leopard

    Hello. I'm having problem with dead key in Leopard.
    In Tiger it was working, but in Leopard dead key "'" doesn't work.
    In Tiger I could use OPTION key as well to get Latvian special characters (both worked - OPTION Key and dead-key), but in LEOPARD OPTION key is the only possibility to get these characters.
    How can I get dead key "'" working?
    I'm using Latvian language with Latvian keyboard layout.
    Here are images how it looked in Tiger:
    1) Before dead key is pressed:
    http://amerix.no-ip.org/tmp/1.tiff
    2) After dead key is pressed:
    http://amerix.no-ip.org/tmp/2.tiff

    ok, i got answer
    so - first problem was that ukelele didn't work in leopard (it wasn't possible to start new layout), but it was possible to edit Tom Gewecke posted layout.
    There it is possible to change every thing (dead-key as well).
    So I edited it and now i have layout where dead-key works -
    http://amerix.no-ip.org/tmp/LatvianT.keylayout
    Just do what Tom Gewecke said with this layout. It should work!

  • Problem with FTP put operation..??

    hi frendz,
    i'm facing some problem with FTP put operation. The Get operation(reading a file) is working fine. i'm using Apache FTP server.FTP User is having all read/write permissions. When i putthe file using FTP command prompt then its working fine. But using BPEL/FTP adapter put operation is not working.
    Main thing is its not giving any error but When i check the directory then i dont fine any file ther. In fact BPEL process is detecting directory where i'm going to write the file. But after completing the BPEL process i dont get any file.
    i am using opaque fomat. n just passing some data into input string which i'm assigning to <invoke>'s variable.
    Thanks a lot
    -Mishit

    Error itself indicates the potential issues -
    Please ensure
    1. Specified remote output Dir has write permission
    2. Output filename has not exceeded the max chararters allowed by the OS and
    3. Remote File System has enough spaceRegards,
    Anuj

  • Newbie : memory problem with file uploading

    Hello
    I'm exdending a web app based on jsf and , being new to it and java in general, i'm having a problem with file uploading.
    The customer needs to upload large file (more than 30 MB). The application accomplish this using a fileupload component, to let the user select the file, and passing the array of bytes to a web service method.
    I'm using netbeans 6, tomcat 5.5.
    When i try to upload a file too large i got an outofmemory on the local tomcat. So i've rised jvm memory and going on with tests i've found that growing the size i got an http 500 error from the service (the developer of the service has found an out of memory too ).
    I think the service is not modifiable, so i were asking if threre were a way to optimize the file uploading process (a component, a library, a pattern ...) or my only chioice is to rise available memory on both sides.
    I've notice the wsdl declares as base64binary type the data parameter , while netbeans 6 generates a client proxy with a byte[] parameter. Is correct or is a netbeans problem?
    searching with google i've found few thing i haven't fully understood due to my lack of experience:
    the mtom , how can evaluate if it's suitable to help in my problem (i suppose it involves more the web service rather than the client)
    something about the size of a soap body.
    thank you in advance
    Stefano

    Which component exactly are you using? Declaring the stream as a raw byte[] is certainly not efficient. Write code yourself, don't let it autogenerate.
    I can highly recommend you the Tomahawk t:inputFileUpload component. It is easy to integrate in Mojarra. You can find here an useful article: [http://balusc.blogspot.com/2008/02/uploading-files-with-jsf.html].

  • Help with ftp upload problem

    Hi I am using a ftp class (known as FTPConnection) that i found on this site: http://www.nsftools.com/tips/JavaFtp.htm , and they only have an example of how to download a File through FTP and not upload one. I am in the proccess of making an FTP upload applet, and need some help on getting upload to work. I also need it to work on both a Pc and mac, so that may be attributing to the problem becuase i am currently on a mac which uses file:// instead of C:\\. Ill post the ftp class, and a snippet of my code that tries to upload a selected file.
    FTPConnection
    /* <!-- in case someone opens this in a browser... --> <pre> */
    * File:   FTPConnection.java
    * Author: Bret Taylor <[email protected]>
    * URL: http://www.stanford.edu/~bstaylor/cs/ftpconnection/FTPConnection.java.shtml
    * see also <a href="http://www.nsftools.com/tips/JavaFtp.htm">http://www.nsftools.com/tips/JavaFtp.htm</a>
    * $Id$
    * Parts of this code were adopted from a variety of other FTP classes the
    * author has encountered that he was not completely satisfied with.  If you
    * think more thanks are due to any particular author than is given, please
    * let him know.  With that caveat, this class can be freely distributed and
    * modified as long as Bret Taylor is given credit in the source code comments.
    * Modified by Julian Robichaux -- http://www.nsftools.com
    * Added constructors, logout(), listFiles(), listSubdirectories(), getAndParseDirList(),
    * processFileListCommand(), and overloaded getFullServerReply().
    * Also added StringBuffer parameter options to transferData() and executeDataCommand()
    * and did a few other little things.
    import java.io.*;
    import java.net.*;
    import java.util.*;
    * <p>A wrapper for the network and command protocols needed for the most common
    * FTP commands.  Standard usage looks something like this:</p>
    * <pre> FTPConnection connection = new FTPConnection();
    * try {
    *     if (connection.connect(host)) {
    *         if (connection.login(username, password)) {
    *             connection.downloadFile(serverFileName);
    *             connection.uploadFile(localFileName);
    *         connection.disconnect();
    * } catch (UnknownHostException e) {
    *     // handle unknown host
    * } catch (IOException e) {
    *     // handle I/O exception
    * }</pre>
    * <p>Most FTP commands are wrapped by easy-to-use methods, but in case clients
    * need more flexibility, you can execute commands directly using the methods
    * <a href="#executeCommand(java.lang.String)">executeCommand</a> and
    * <a href="#executeDataCommand(java.lang.String,
    * java.io.OutputStream)">executeDataCommand</a>,
    * the latter of which is used for commands that require an open data port.</p>
    * @author Bret Taylor
    * @author Julian Robichaux
    * @version 1.01
    public class FTPConnection extends Object {
         * If this flag is on, we print out debugging information to stdout during
         * execution.  Useful for debugging the FTP class and seeing the server's
         * responses directly.
        private static boolean PRINT_DEBUG_INFO = false;
         * The socket through which we are connected to the FTP server.
        private Socket connectionSocket = null;
         private String username;
         private String password;
         private String host;
         * The socket output stream.
        private PrintStream outputStream = null;
         * The socket input stream.
        private BufferedReader inputStream = null;
         * The offset at which we resume a file transfer.
        private long restartPoint = 0L;
         * Added by Julian: If this flag is on, we're currently logged in to something.
        private boolean loggedIn = false;
         * Added by Julian: This is the line terminator to use for multi-line responses.
        public String lineTerm = "\n";
         * Added by Julian: This is the size of the data blocks we use for transferring
         * files.
        private static int BLOCK_SIZE = 4096;
         * Added by Julian: After you create an FTPConnection object, you will call the
         * connect() and login() methods to access your server. Please don't forget to
         * logout() and disconnect() when you're done (it's only polite...).
        public FTPConnection ()
             // default constructor (obviously) -- this is just good to have...
         * Added by Julian: Allows you to specify if you want to send debug output to
         * the console (true if you do, false if you don't).
        public FTPConnection (boolean debugOut)
             PRINT_DEBUG_INFO = debugOut;
         public FTPConnection (String user, String pw, String host_)
             username=user;
              password=pw;
              host=host_;
              PRINT_DEBUG_INFO = false;
         * Prints debugging information to stdout if the private flag
         * <code>PRINT_DEBUG_INFO</code> is turned on.
        private void debugPrint(String message) {
            if (PRINT_DEBUG_INFO) System.err.println(message);
         * Connects to the given FTP host on port f, the default FTP port.
        public boolean connect(String host)
            throws UnknownHostException, IOException
            return connect(host, 21);
         * Connects to the given FTP host on the given port.
        public boolean connect(String host, int port)
            throws UnknownHostException, IOException
            connectionSocket = new Socket(host, port);
              connectionSocket.setSoTimeout(10000);
            outputStream = new PrintStream(connectionSocket.getOutputStream());
            inputStream = new BufferedReader(new
                           InputStreamReader(connectionSocket.getInputStream()));
            if (!isPositiveCompleteResponse(getServerReply())){
                disconnect();
                return false;
            return true;
         * Disconnects from the host to which we are currently connected.
         static boolean URLexists(String URLName)
              try
                   HttpURLConnection.setFollowRedirects(false);
                   // note : you may also need
                   // HttpURLConnection.setInstanceFollowRedirects(false)
                   HttpURLConnection con =
                   (HttpURLConnection) new URL(URLName).openConnection();
                   con.setRequestMethod("HEAD");
                   return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
              catch (Exception e)
                   e.printStackTrace();
                   return false;
         public String getSimpleFileName(File f)
              String path=f.getPath();
              String fileName=path.replace("\\", "/");
              int slashPos = fileName.lastIndexOf("/");
              fileName=fileName.substring(slashPos+1);
              return fileName;
         public String verifyFileName(String name)
              int count=0;
              //String url="http://chris-malcolm.com/images/"+URLEncoder.encode(name).replace("+", "%20");
              while (URLexists("http://chris-malcolm.com/images/"+URLEncoder.encode(name).replace("+", "%20"))==true)
              count++;
              name=FileExt(name)[0]+"-"+count+"."+FileExt(name)[1];
              return name;
         public String[] FileExt(String fileName)
            int dotPos = fileName.lastIndexOf(".");
              fileName=fileName.replace("\\", "/");
              int slashPos = fileName.lastIndexOf("/");
              String extension, name;
              if (slashPos==fileName.length()-1)
                   fileName=fileName.substring(0, fileName.length()-1);
                   slashPos=fileName.lastIndexOf("/");
                   extension="/";
                   name=fileName.substring(slashPos+1);
              else if(dotPos==-1)
                   name=fileName.substring(slashPos+1);
                   extension="";
              else
                   extension = fileName.substring(dotPos+1);
                   name=fileName.substring(slashPos+1, dotPos);
                   String[] output={name, extension};
                   return output;
              String[] output={name, extension};
              return output;
        public void disconnect()
            if (outputStream != null) {
                try {
                      if (loggedIn) { logout(); };
                    outputStream.close();
                    inputStream.close();
                    connectionSocket.close();
                } catch (IOException e) {}
                outputStream = null;
                inputStream = null;
                connectionSocket = null;
         * Wrapper for the commands <code>user [username]</code> and <code>pass
         * [password]</code>.
        public boolean login(String username, String password)
            throws IOException
            int response = executeCommand("user " + username);
            if (!isPositiveIntermediateResponse(response)) return false;
            response = executeCommand("pass " + password);
            loggedIn = isPositiveCompleteResponse(response);
            return loggedIn;
         * Added by Julian: Logout before you disconnect (this is good form).
        public boolean logout()
            throws IOException
            int response = executeCommand("quit");
            loggedIn = !isPositiveCompleteResponse(response);
            return !loggedIn;
         * Wrapper for the command <code>cwd [directory]</code>.
        public boolean changeDirectory(String directory)
            throws IOException
            int response = executeCommand("cwd " + directory);
            return isPositiveCompleteResponse(response);
         * Wrapper for the commands <code>rnfr [oldName]</code> and <code>rnto
         * [newName]</code>.
        public boolean renameFile(String oldName, String newName)
            throws IOException
            int response = executeCommand("rnfr " + oldName);
            if (!isPositiveIntermediateResponse(response)) return false;
            response = executeCommand("rnto " + newName);
            return isPositiveCompleteResponse(response);
         * Wrapper for the command <code>mkd [directory]</code>.
        public boolean makeDirectory(String directory)
            throws IOException
            int response = executeCommand("mkd " + directory);
            return isPositiveCompleteResponse(response);
         * Wrapper for the command <code>rmd [directory]</code>.
        public boolean removeDirectory(String directory)
            throws IOException
            int response = executeCommand("rmd " + directory);
            return isPositiveCompleteResponse(response);
         * Wrapper for the command <code>cdup</code>.
        public boolean parentDirectory()
            throws IOException
            int response = executeCommand("cdup");
            return isPositiveCompleteResponse(response);
         * Wrapper for the command <code>dele [fileName]</code>.
        public boolean deleteFile(String fileName)
            throws IOException
            int response = executeCommand("dele " + fileName);
            return isPositiveCompleteResponse(response);
         * Wrapper for the command <code>pwd</code>.
        public String getCurrentDirectory()
            throws IOException
            String response = getExecutionResponse("pwd");
            StringTokenizer strtok = new StringTokenizer(response);
            // Get rid of the first token, which is the return code
            if (strtok.countTokens() < 2) return null;
            strtok.nextToken();
            String directoryName = strtok.nextToken();
            // Most servers surround the directory name with quotation marks
            int strlen = directoryName.length();
            if (strlen == 0) return null;
            if (directoryName.charAt(0) == '\"') {
                directoryName = directoryName.substring(1);
                strlen--;
            if (directoryName.charAt(strlen - 1) == '\"')
                return directoryName.substring(0, strlen - 1);
            return directoryName;
         * Wrapper for the command <code>syst</code>.
        public String getSystemType()
            throws IOException
            return excludeCode(getExecutionResponse("syst"));
         * Wrapper for the command <code>mdtm [fileName]</code>.  If the file does
         * not exist, we return -1;
        public long getModificationTime(String fileName)
            throws IOException
            String response = excludeCode(getExecutionResponse("mdtm " + fileName));
            try {
                return Long.parseLong(response);
            } catch (Exception e) {
                return -1L;
         * Wrapper for the command <code>size [fileName]</code>.  If the file does
         * not exist, we return -1;
        public long getFileSize(String fileName)
            throws IOException
            String response = excludeCode(getExecutionResponse("size " + fileName));
            try {
                return Long.parseLong(response);
            } catch (Exception e) {
                return -1L;
         * Wrapper for the command <code>retr [fileName]</code>.
        public boolean downloadFile(String fileName)
            throws IOException
            return readDataToFile("retr " + fileName, fileName);
         * Wrapper for the command <code>retr [serverPath]</code>. The local file
         * path to which we will write is given by <code>localPath</code>.
        public boolean downloadFile(String serverPath, String localPath)
            throws IOException
            return readDataToFile("retr " + serverPath, localPath);
         * Wrapper for the command <code>stor [fileName]</code>.
        public boolean uploadFile(String fileName)
            throws IOException
            return writeDataFromFile("stor " + fileName, fileName);
         * Wrapper for the command <code>stor [localPath]</code>. The server file
         * path to which we will write is given by <code>serverPath</code>.
        public boolean uploadFile(String serverPath, String localPath)
            throws IOException
            return writeDataFromFile("stor " + serverPath, localPath);
         * Set the restart point for the next download or upload operation.  This
         * lets clients resume interrupted uploads or downloads.
        public void setRestartPoint(int point)
            restartPoint = point;
            debugPrint("Restart noted");
         * Gets server reply code from the control port after an ftp command has
         * been executed.  It knows the last line of the response because it begins
         * with a 3 digit number and a space, (a dash instead of a space would be a
         * continuation).
        private int getServerReply()
            throws IOException
            return Integer.parseInt(getFullServerReply().substring(0, 3));
         * Gets server reply string from the control port after an ftp command has
         * been executed.  This consists only of the last line of the response,
         * and only the part after the response code.
        private String getFullServerReply()
            throws IOException
            String reply;
            do {
                reply = inputStream.readLine();
                debugPrint(reply);
            } while(!(Character.isDigit(reply.charAt(0)) &&
                      Character.isDigit(reply.charAt(1)) &&
                      Character.isDigit(reply.charAt(2)) &&
                      reply.charAt(3) == ' '));
            return reply;
         * Added by Julian: Returns the last line of the server reply, but also
         * returns the full multi-line reply in a StringBuffer parameter.
        private String getFullServerReply(StringBuffer fullReply)
             throws IOException
            String reply;
            fullReply.setLength(0);
            do {
                reply = inputStream.readLine();
                debugPrint(reply);
                fullReply.append(reply + lineTerm);
            } while(!(Character.isDigit(reply.charAt(0)) &&
                      Character.isDigit(reply.charAt(1)) &&
                      Character.isDigit(reply.charAt(2)) &&
                      reply.charAt(3) == ' '));
              // remove any trailing line terminators from the fullReply
              if (fullReply.length() > 0) 
                   fullReply.setLength(fullReply.length() - lineTerm.length());
            return reply;
         * Added by Julian: Gets a list of files in the current directory.
         public String listFiles()
              throws IOException
              return listFiles("");
         * Added by Julian: Gets a list of files in either the current
         * directory, or one specified as a parameter. The 'params' parameter
         * can be either a directory name, a file mask, or both (such as
         * '/DirName/*.txt').
         public String listFiles(String params)
              throws IOException
              StringBuffer files = new StringBuffer();
              StringBuffer dirs = new StringBuffer();
              if (!getAndParseDirList(params, files, dirs))
                   debugPrint("Error getting file list");
              return files.toString();
         * Added by Julian: Gets a list of subdirectories in the current directory.
         public String listSubdirectories()
              throws IOException
              return listSubdirectories("");
         * Added by Julian: Gets a list of subdirectories in either the current
         * directory, or one specified as a parameter. The 'params' parameter
         * can be either a directory name, a name mask, or both (such as
         * '/DirName/Sub*').
         public String listSubdirectories(String params)
              throws IOException
              StringBuffer files = new StringBuffer();
              StringBuffer dirs = new StringBuffer();
              if (!getAndParseDirList(params, files, dirs))
                   debugPrint("Error getting dir list");
              return dirs.toString();
         * Added by Julian: Sends and gets the results of a file list command,
         * like LIST or NLST.
        private String processFileListCommand(String command)
            throws IOException
            StringBuffer reply = new StringBuffer();
            String replyString;
            // file listings require you to issue a PORT command,
            // like a file transfer
              boolean success = executeDataCommand(command, reply);
              if (!success)
                   return "";
            replyString = reply.toString();
            // strip the trailing line terminator from the reply
            if (reply.length() > 0)
                 return replyString.substring(0, reply.length() - 1);
            }  else  {
                 return replyString;
          * Added by Julian: Gets a directory list from the server and parses
          * the elements into a list of files and a list of subdirectories.
         private boolean getAndParseDirList(String params, StringBuffer files, StringBuffer dirs)
              throws IOException
              // reset the return variables (we're using StringBuffers instead of
              // Strings because you can't change a String value and pass it back
              // to the calling routine -- changing a String creates a new object)
              files.setLength(0);
              dirs.setLength(0);
              // get the NLST and the LIST -- don't worry if the commands
              // don't work, because we'll just end up sending nothing back
              // if that's the case
              String shortList = processFileListCommand("nlst " + params);
              String longList = processFileListCommand("list " + params);
              // tokenize the lists we got, using a newline as a separator
              StringTokenizer sList = new StringTokenizer(shortList, "\n");
              StringTokenizer lList = new StringTokenizer(longList, "\n");
              // other variables we'll need
              String sString;
              String lString;
              // assume that both lists have the same number of elements
              while ((sList.hasMoreTokens()) && (lList.hasMoreTokens())) {
                   sString = sList.nextToken();
                   lString = lList.nextToken();
                   if (lString.length() > 0)
                        if (lString.startsWith("d"))
                             dirs.append(sString.trim() + lineTerm);
                             debugPrint("Dir: " + sString);
                        }  else if (lString.startsWith("-"))  {
                             files.append(sString.trim() + lineTerm);
                             debugPrint("File: " + sString);
                        }  else  {
                             // actually, symbolic links will start with an "l"
                             // (lowercase L), but we're not going to mess with
                             // those
                             debugPrint("Unknown: " + lString);
              // strip off any trailing line terminators and return the values
              if (files.length() > 0)  {  files.setLength(files.length() - lineTerm.length());  }
              if (dirs.length() > 0)  {  dirs.setLength(dirs.length() - lineTerm.length());  }
              return true;
         * Executes the given FTP command on our current connection, returning the
         * three digit response code from the server.  This method only works for
         * commands that do not require an additional data port.
        public int executeCommand(String command)
            throws IOException
            outputStream.println(command);
            return getServerReply();
         * Executes the given FTP command on our current connection, returning the
         * last line of the server's response.  Useful for commands that return
         * one line of information.
        public String getExecutionResponse(String command)
            throws IOException
            outputStream.println(command);
            return getFullServerReply();
         * Executes the given ftpd command on the server and writes the results
         * returned on the data port to the file with the given name, returning true
         * if the server indicates that the operation was successful.
        public boolean readDataToFile(String command, String fileName)
            throws IOException
            // Open the local file
            RandomAccessFile outfile = new RandomAccessFile(fileName, "rw");
            // Do restart if desired
            if (restartPoint != 0) {
                debugPrint("Seeking to " + restartPoint);
                outfile.seek(restartPoint);
            // Convert the RandomAccessFile to an OutputStream
            FileOutputStream fileStream = new FileOutputStream(outfile.getFD());
            boolean success = executeDataCommand(command, fileStream);
            outfile.close();
            return success;
         * Executes the given ftpd command on the server and writes the contents
         * of the given file to the server on an opened data port, returning true
         * if the server indicates that the operation was successful.
        public boolean writeDataFromFile(String command, String fileName)
            throws IOException
            // Open the local file
            RandomAccessFile infile = new RandomAccessFile(fileName, "r");
            // Do restart if desired
            if (restartPoint != 0) {
                debugPrint("Seeking to " + restartPoint);
                infile.seek(restartPoint);
            // Convert the RandomAccessFile to an InputStream
            FileInputStream fileStream = new FileInputStream(infile.getFD());
            boolean success = executeDataCommand(command, fileStream);
            infile.close();
            return success;
         * Executes the given ftpd command on the server and writes the results
         * returned on the data port to the given OutputStream, returning true
         * if the server indicates that the operation was successful.
        public boolean executeDataCommand(String command, OutputStream out)
            throws IOException
            // Open a data socket on this computer
            ServerSocket serverSocket = new ServerSocket(0);
            if (!setupDataPort(command, serverSocket)) return false;
            Socket clientSocket = serverSocket.accept();
            // Transfer the data
            InputStream in = clientSocket.getInputStream();
            transferData(in, out);
            // Clean up the data structures
            in.close();
            clientSocket.close();
            serverSocket.close();
            return isPositiveCompleteResponse(getServerReply());   
         * Executes the given ftpd command on the server and writes the contents
         * of the given InputStream to the server on an opened data port, returning
         * true if the server indicates that the operation was successful.
        public boolean executeDataCommand(String command, InputStream in)
            throws IOException
            // Open a data socket on this computer
            ServerSocket serverSocket = new ServerSocket(0);
            if (!setupDataPort(command, serverSocket)) return false;
            Socket clientSocket = serverSocket.accept();
            // Transfer the data
            OutputStream out = clientSocket.getOutputStream();
            transferData(in, out);
            // Clean up the data structures
            out.close();
            clientSocket.close();
            serverSocket.close();
            return isPositiveCompleteResponse(getServerReply());   
         * Added by Julian: Executes the given ftpd command on the server
         * and writes the results returned on the data port to the given
         * StringBuffer, returning true if the server indicates that the
         * operation was successful.
        public boolean executeDataCommand(String command, StringBuffer sb)
            throws IOException
            // Open a data socket on this computer
            ServerSocket serverSocket = new ServerSocket(0);
            if (!setupDataPort(command, serverSocket)) return false;
            Socket clientSocket = serverSocket.accept();
            // Transfer the data
            InputStream in = clientSocket.getInputStream();
            transferData(in, sb);
            // Clean up the data structures
            in.close();
            clientSocket.close();
            serverSocket.close();
            return isPositiveCompleteResponse(getServerReply());   
         * Transfers the data from the given input stream to the given output
         * stream until we reach the end of the stream.
        private void transferData(InputStream in, OutputStream out)
            throws IOException
            byte b[] = new byte[BLOCK_SIZE];
            int amount;
            // Read the data into the file
            while ((amount = in.read(b)) > 0) {
                out.write(b, 0, amount);
         * Added by Julian: Transfers the data from the given input stream
         * to the given StringBuffer until we reach the end of the stream.
        private void transferData(InputStream in, StringBuffer sb)
            throws IOException
            byte b[] = new byte[BLOCK_SIZE];
            int amount;
            // Read the data into the StringBuffer
            while ((amount = in.read(b)) > 0) {
                sb.append(new String(b, 0, amount));
         * Executes the given ftpd command on the server and writes the results
         * returned on the data port to the given FilterOutputStream, returning true
         * if the server indicates that the operation was successful.
        private boolean setupDataPort(String command, ServerSocket serverSocket)
            throws IOException
            // Send our local data port to the server
            if (!openPort(serverSocket)) return false;
            // Set binary type transfer
            outputStream.println("type i");
            if (!isPositiveCompleteResponse(getServerReply())) {
                debugPrint("Could not set transfer type");
                return false;
            // If we have a restart point, send that information
            if (restartPoint != 0) {
                outputStream.println("rest " + restartPoint);
                restartPoint = 0;
                // TODO: Interpret server response here
                getServerReply();
            // Send the command
            outputStream.println(command);
            return isPositivePreliminaryResponse(getServerReply());
         * Get IP address and port number from serverSocket and send them via the
         * <code>port</code> command to the ftp server, returning true if we get a
         * valid response from the server, returning true if the server indicates
         * that the operation was successful.
        private boolean openPort(ServerSocket serverSocket)
            throws IOException
            int localport = serverSocket.getLocalPort();
            // get local ip address
            InetAddress inetaddress = serverSocket.getInetAddress();
            InetAddress localip;
            try {
                localip = inetaddress.getLocalHost();
            } catch(UnknownHostException e) {
                debugPrint("Can't get local host");
                return false;
            // get ip address in high byte order
            byte[] addrbytes = localip.getAddress();
            // tell server what port we are listening on
            short addrshorts[] = new short[4];
            // problem:  bytes greater than 127 are printed as negative numbers
            for(int i = 0; i <= 3; i++) {
                addrshorts[i] = addrbytes;
    if (addrshorts[i] < 0)
    addrshorts[i] += 256;
    outputStream.println("port " + addrshorts[0] + "," + addrshorts[1] +
    "," + addrshorts[2] + "," + addrshorts[3] + "," +
    ((localport & 0xff00) >> 8) + "," +
    (localport & 0x00ff));
    return isPositiveCompleteResponse(getServerReply());
    * True if the given response code is in the 100-199 range.
    private boolean isPositivePreliminaryResponse(int response)
    return (response >= 100 && response < 200);
    * True if the given response code is in the 300-399 range.
    private boolean isPositiveIntermediateResponse(int response)
    return (response >= 300 && response < 400);
    * True if the given response code is in the 200-299 range.
    private boolean isPositiveCompleteResponse(int response)
    return (response >= 200 && response < 300);
    * True if the given response code is in the 400-499 range.
    private boolean isTransientNegativeResponse(int response)
    return (response >= 400 && response < 500);
    * True if the given response code is in the 500-5

    ok i tried explaining th eproblem in the previous post, but i apologize if my explanation was poor. anyways, i tried to look into it further by doing a printStackTrace() and believe it may be a read error. here is my new updated snippet, and also a link to a screenshot ([click here for screenshot|http://img143.imageshack.us/my.php?image=picture4qr0.png]) of what the error looks like on my end. it seems like a socket is not being read, or maybe it is initialized properly. Again I apologize if my problem is vague, but I do appreciate your input. thanks.
    updated code snippet
    public void uploadFiles()
              statusLabel.setVisible(true);
              errorLabel.setVisible(true);
              uploadButton.setVisible(false);
              footer.setVisible(false);
              holdingPanel.setVisible(false);
              pbar.setVisible(true);
              pbar = new JProgressBar();
              pbar.setMinimum(0);
              float Total=0;
              for (int i=0; i<fileLengths.size(); i++)
                   if(((java.lang.Boolean)model.getValueAt(i,1)).toString().equals("true"))
                        Total+=Float.parseFloat((String)fileLengths.get(i));
              pbar.setMaximum((int)Total);
              String info="";
              try
                   ftp=new FTPConnection(false);
                   ftp.connect("ftp.chris-malcolm.com");
                   if (ftp.login("chrismal", "***"))
                        statusLabel.setText("Status: Connected.");
                        info+="Successfully logged in!\n";
                        info+="System type is: " + ftp.getSystemType()+"\n";
                        info+="Current directory is: " + ftp.getCurrentDirectory()+"\n";
                        if (ftp.changeDirectory("/www/images/"))
                             info+="directory changed to: " + ftp.getCurrentDirectory()+"\n";
                                                 try
                             for (int i=0; i<allFiles.size(); i++)
                                  if(((java.lang.Boolean)model.getValueAt(i,1)).toString().equals("true"))
                                       String f=client.verifyFileName((String)model.getValueAt(i,0));
                                       String f2=""+((File)allFiles.get(i)).getPath();
                                       info+="filename: "+f2+"\n";
                                       if (ftp.uploadFile(f2))
                                            statusLabel.setText("Status: Uploading "+f+" - "+i+" of "+calculateTotalFiles()+" files(s)");
                                            pbar.setValue(Integer.parseInt((String)fileLengths.get(i)));
                                       else
                                            errorLabel.setText("Error occured while uploading"+f2+"\n");
                        catch(Exception de) 
                             StringWriter sw = new StringWriter();
                                  PrintWriter pw = new PrintWriter(sw);
                                  de.printStackTrace(pw);
                                  pw.close();
                                  //errorLabel.setText("<html>ERROR:"+sw.toString().replace("\n", "<br>")+"</html>");
                                  info+="Error: "+de.getMessage()+"\n";
                                  info+="Trace: "+sw+"\n";
                             try { ftp.disconnect(); statusLabel.setText("Status: disconnected.");}  catch(Exception e2)  {};
                        else
                             info+="could not change directory\n";
                   else
                        info+="could not login";
              catch (Exception e)
                   StringWriter sw = new StringWriter();
                                  PrintWriter pw = new PrintWriter(sw);
                                  e.printStackTrace(pw);
                                  pw.close();
                                  info+="Error: "+e.getMessage()+"\n";
                                  info+="Trace: "+sw+"\n";
                   try { ftp.disconnect();  statusLabel.setText("Status: disconnected.");}  catch(Exception e2)  {};
              errorLabel.setText("ERROR:"+info);
              JOptionPane.showMessageDialog(this, info, "test", JOptionPane.PLAIN_MESSAGE);
              try { ftp.disconnect(); statusLabel.setText("Status: disconnected.");}  catch(Exception e2)  {};
         Edited by: cjm771 on Jul 13, 2008 7:23 PM

  • Problem with agent10g upload

    Hi Gurus,
    I have installed Agent10g on a linux box the installation was successful and ran the root.sh, I am able to start agent successfully using emctl start agent but I could not see the host in target list of OMS. You can see the agent status below and please find the traces of emctl.trc and emagent.trc.
    And the when installaing some of the things are failed, the command failed configuration was "oracle.sysman.emcp.agent.AgentPlugIn" I found this in /u01/app/oracle/OracleHomes/agent10g/cfgtoollogs/configToolFailedCommands
    Please let me know the reason for my prblem and solution
    thanks in advance
    Ashok Chava.
    IAS904 % ./emctl status agent
    Oracle Enterprise Manager 10g Release 10.2.0.2.0.
    Copyright (c) 1996, 2006 xyz Corporation. All rights reserved.
    Agent Version : 10.2.0.2.0
    OMS Version : 10.2.0.2.0
    Protocol Version : 10.2.0.2.0
    Agent Home : /u01/app/oracle/OracleHomes/agent10g
    Agent binaries : /u01/app/oracle/OracleHomes/agent10g
    Agent Process ID : 22286
    Parent Process ID : 22269
    Agent URL : http://web287.us.xyz.com:1920/emd/main/
    Repository URL : http://ajacob-idc.idc.xyz.com:4889/em/upload/
    Started at : 2006-09-08 09:42:10
    Started by user : xyz
    Last Reload : 2006-09-08 09:42:10
    Last successful upload : (none)
    Last attempted upload : (none)
    Total Megabytes of XML files uploaded so far : 0.00
    Number of XML files pending upload : 1113
    Size of XML files pending upload(MB) : 19.25
    Available disk space on upload filesystem : 36.01%
    Last attempted heartbeat to OMS : 2006-09-08 20:23:40
    Last successful heartbeat to OMS : unknown
    Agent is Running and Ready
    emdctl.trc
    2006-09-08 09:42:10 Thread-3058628224 WARN http: snmehl_connect: connect failed to (web287.us.xyz.com:1920): Connection refused (error = 111)
    2006-09-08 09:42:10 Thread-3058628224 ERROR main: nmectla_agentctl: Error connecting to http://web287.us.xyz.com:1920/emd/main/. Returning status code 1
    emagent.trc
    2006-09-08 20:28:07 Thread-2811276208 ERROR upload: Error in uploadXMLFiles. Trying again in 900.00 seconds or earlier.
    2006-09-08 20:28:08 Thread-3035749296 ERROR pingManager: nmepm_pingReposURL: Did not receive a response header from repository
    2006-09-08 20:28:09 Thread-3035749296 ERROR pingManager: nmepm_pingReposURL: Did not receive a response header from repository
    2006-09-08 20:28:11 Thread-3035749296 ERROR upload: Error in uploadXMLFiles. Trying again in 900.00 seconds or earlier.
    2006-09-08 20:28:11 Thread-3046562736 ERROR command: nmejcn: received no status header from repository at http://ajacob-idc.idc.xyz.com:4889/em/upload/
    2006-09-08 20:28:20 Thread-3034819504 ERROR upload: Error in uploadXMLFiles. Trying again in 900.00 seconds or earlier.
    2006-09-08 20:28:26 Thread-3035749296 ERROR upload: Error in uploadXMLFiles. Trying again in 900.00 seconds or earlier.
    2006-09-08 20:28:27 Thread-3031669680 ERROR pingManager: nmepm_pingReposURL: Did not receive a response header from repository
    2006-09-08 20:28:29 Thread-3031669680 ERROR pingManager: nmepm_pingReposURL: Did not receive a response header from repository
    2006-09-08 20:28:30 Thread-2807225264 ERROR upload: Error in uploadXMLFiles. Trying again in 900.00 seconds or earlier.

    Hi Sujit and Nazim,
    thanks for your response.The repositary URL is working fine becasue I have used downloadAgent.linux script to install the agent10g on this linux box. I have used "oracle" user to install the agent and I am using oracle user to start the agent. So there is no question of acces problems as I know.
    when tried to telnet from the linux box where I installed agent10g it is connecting I have used below comamnd
    telnet ajcob.xyz.com 4889 the below given is the message
    Trying 152.69.149.127...
    Connected to ajacob.xyz.com.
    Escape character is '^]'.
    Nazim you asked for the emoms.trc file I looked into the trc file but I could not find anything related to the this agent upload problems other agents which are running on winows box are connected to OMS and uploading files as expected so I assume there is no problem with OMS. If you insist on seeing emoms.trc I can very well provide them.
    Please let me know the solution for my problem.
    Thanks,
    Ashok Chava

  • Photos app problem with Flickr upload

    I updated to new Yosemite on mac mini.  Now with the photos app I can only upload 30 photos to my flickr account and the titles do not upload.  I never had this problem with iPhotos (I could upload hundreds of photos and all the titles uploaded)  Help

    I have the same problem: The Title/Description is not uploaded/exported with my photos to the Caption field in Flickr or Facebook. I'm afraid this is a bug right now...

  • 11.3 problems with crashes, uploads and downloads

    Hi
    I am currently running on windows 7, with firefox 13.0.1 and flashplayer 11.3.300.257.
    I have a couple of problems which i think are linked.
    Firstly, like others i have been having problems with 11.3 crashing when playing video, i did notice that there was a new download 11.3.300.262 of flashplayer for firefox however, despite downloading this and re-booting about 6 times i am still running 11.3.300.257.
    Secondly, i have been having problems with downloads and uploads specifically in email (i use bt yahoo on firefox) I cannot "detach" attachments (even though it looks like its happening its not) and am unable to attach docs to emails - im load the flash uploader has stopped working.
    From digging around on the internet, I think these problems are caused by the flashplayer version and firefox version im currently using somehow "clashing", and would really like some advice on the best way to get around these issues until mozilla and adobe have sorted things out.
    Thank you for any and all advice you can give me

    Under system32\Macromed\Flash i have:
    Flash64_11_2_202_235.ocx
    FlashInstall
    FlashUtil64_11_2_202_235_ActiveX.dll
    FlashUtil64_11_2_202_235_ActiveX
    FlashUtil64_11_3_300_262_Plugin
    NPSWF64_11_3_300_262.dll
    Under syswow64\Macromed\Flash i have:
    Flash32_11_2_202_235.ocx
    FlashInstall
    flashplayer.xpt
    FlashPlayerPlugin_11_3_300_262
    FlashPlayerUpdateService
    FlashUtil32_11_2_202_235_ActiveX.dll
    FlashUtil32_11_2_202_235_ActiveX
    FlashUtil32_11_3_300_262_Plugin
    install
    mms.cfg
    NPSWF32_11_3_300_262.dll
    Interestingly, i re-booted comp again for the umpteenth time before doing anything this morning, and the adobe site is now saying i am running 262 and not 257 a quick test on my email indicates this is now working properly i do not know yet about the crashing.
    Thank you for helping me out, I will come back if i still have problems.

  • WRT610N - Samba Storage Problem with Mac OS X Leopard

    Hello there,
    I've set up a USB drive to be shared via the router (tried both a fat32 and an NTFS drive). When I login from a windows machine I can use the share point without any problems. When I try to use it from a Mac (mounted via smb://192.168.1.1/sharepoint) I can access the folders and download files. I can even create folders. When I try to copy a file onto the share point (normal file name, small file size) I get an error saying "The operation cannot be completed because you do not have sufficient privileges for some of the items." The console log says: "7/3/09 1:01:06 AM kernel smbfs_composeacl: smbfs_setattr 13, ignored "
    If I try to copy the file directly via a terminal window I see this:
    Macintosh-3:tc user $ cp ~/test.plist ./
    cp: ./test.plist: fchmod failed: Permission denied
    As I see it there is a problem with leopard trying to set permissions when copying and the router refusing. Any ideas of how to get this to work? 

    I found this solution in another link on this web site, I would be curious to know if this works with NTFS also.
     Routers and Access Points : Wireless Routers : WRT610 USB Harddisk and Mac osx 10.5 Finally, i got it to work.
     Here is my step. 
    1. Format the external HD with mac with the fat format.
    2. plug in the HD to the router.
    3. In the storage setting>Administration, create a group named "root" with r/w permission and a user "root" with the group "root. Save the setting.
    4. Last, create a share on the drive. Assign the group "root" to it. 
    Boom! Its work now. I can use it with time machine and  share my itune library. Hope this can help someone stuck with this issue.

  • Problems with AW in Snow Leopard

    I am having multiple problems with AW, particularly graphics, under snow leopard.  Sometimes, while working on an existing file, the whole thing locks up forceing me to Force Quit the application thus losing whatever changes I had made.  Other times when I open a file to work on it, several features are so slow as to be unausable.  I am not really using the WP or Spreadsheet anymore as I have migrated most of those AW files to iWork so not sure if anything is happening in that regard.  Has anyone thought about the possibility of orphaning the two graphics parts of AW so they can be used independently?
    Sparkgapper

    Since I DO NOT use pict or tiff as my mode of fileing, it is no problem whatsoever for ANY graphics program to open jpg, my preferred format.  Secondly, it is quite easy to open a pict file in AW then copy/paste it into just about any graphics format - this is my second method where necessary.
    While AW Graphics has "aged" it retained the user friendly interface of all Apple programs of that era whereas now the steep learning curve is drastically restricting many "Entry Level" program to those who are required by their work to make that kind of effort.  Then add to that the "Evolution" of some programs whereby they all but forever archive older documents by their inability to use parts of the older formatting and formulas.
    My graphics use capability is quite simple, usually working with images of ancient genealogical documents for transcription or old maps that have been scanned poorly, plus photos (jpeg) of these same objects.  As such, I do not need a "Full Blown" application but something more on the lines of AW Graphics and Paint - I used to transition between the two for certain types of manipulations.
    sparkgapper

Maybe you are looking for