Vine Server and Mavericks

jlg89jlg89 Member
I snagged the Vine Server 4.01 source from CVS and pulled up OSXvnc.xcodeproj in Xcode on Mavericks. I was able to compile and run it, but there's at least one serious bug in the GUI. In the prefs, if you set the listener port to anything but "Auto," for some reason the number gets formatted with a thousands separator--so, for example, instead of "5901" you see "5,901"--and apparently the comma is an invalid character, so when you close the prefs it tries to set the port to "5" or "5,90" which doesn't work.

I also get an "unknown encoding" error in the VNC client, when it tries to connect. Vine Server shows that the client connects, but the screen sharing session never initializes.

Has anyone else given this a shot? Any advice is appreciated.

Comments

  • I also get this error and still in a fix for it's solutions..Any suggestions???? :oops: Check 'em Google+ for Google apps
  • I know the RealVNC server works, though it costs $50 per virtual desktop. If your VNC setup is all Mac, and all at least 10.7, then the built-in stuff works just fine. But if you need cross-platform and/or pre-Lion connectivity, RealVNC is probably the best option at this point. AquaConnect works too, but it's more expensive.
  • JonathanOSXJonathanOSX ForumAdmin admin
    Sorry for the delay. :oops: We were having a hard time reproducing this but I think the bug you are seeing is only happening because you've _compiled_ on 10.9.

    So that's something that we can correct in the source but if you download the binary version you shouldn't see that.
  • Has there been any updates on Vine server and OS X 10.9? Does it still not work?
  • gomgom Member
    Yes. It happens when you compile with 10.9, but of course it is likely to happen if you build with xcode, right? We all use 10.9 as our standard now.

    I fixed some compile issues that were also found building under 10.9 and I'd like to share them.

    I am testing and debugging the issue with the port number. It is being reformatted as a display string and then stored as a truncated string. So if you set the port number to 5905, it gets truncated to 5. It is interesting that it also happens from the command line. That's a good clue actually. Thanks!

    All the best,

    Michael
  • gomgom Member
    I was able to solve the issue with the port numbers, but it is a pretty ugly fix. There are actually two issues.

    1. The problem with the locale is here:

    http://openradar.appspot.com/radar?id=5571746719596544

    I fixed by making a new number formatter:

    @implementation OnlyIntegerValueFormatter

    - (id)init {
    self.numberStyle = NSNumberFormatterDecimalStyle;
    [self setGeneratesDecimalNumbers:false];
    }

    - (BOOL)isPartialStringValid:(NSString*)partialString newEditingString:(NSString**)newString errorDescription:(NSString**)error
    {
    if([partialString length] == 0) {
    return YES;
    }

    NSScanner* scanner = [NSScanner scannerWithString:partialString];

    if(!([scanner scanInt:0] && [scanner isAtEnd])) {
    NSBeep();
    return NO;
    }

    return YES;
    }

    @end

    I assigned this formatter to both portNumText and portField in the init. Now, I can have "," or "." as a group separator or decimal separator.

    2. The other issue (numbers like 5907 getting truncated to 5 because the 5 is turned to 5.907 internally) I fixed with an ugly workaround. I stored a variable to hold the portPreference and only set it if the port was a userPort (0x400 to 0xc000). I'm reluctant to share this kludge with people because it's bad enough that I had to use it. Once I find a better fix, I will update.

    All the best,

    Michael
  • JonathanOSXJonathanOSX ForumAdmin admin
    If you could provide the modified files as attachments that would help.
  • We have always used Vine on our Macs and now that we have upgraded our client, my laptop, to Maverick, Vine doesn't work. I am have not been a programmer in 13 years, and I no longer have the ability to tweak or compile code. :?:
  • gomgom Member
    rumjungleroad, I am not sure from your comment if you are discussing VINE server or the VINE client. I can assure you that VINE server does work in Maverick.

    The issue I am addressing is the port problem that was reported before. I have a kludgey workaround in the attached code that fixes the issue but not in the way I would prefer. I merely keep a copy of the preference in another field and only set it if the field is a logical field. This prevents the data from being set to 5.

    The other problem is an editor issue that has to do with the interface builder files. Apple will likely fix this since there is a RADAR on it already. The fix I have in the numberformatter subclass will work in the meantime.

    With respect to this code... I have also fixed a few compiler errors (I think this is all of them but there might be a few more in the project) that I experienced while building in the current xcode with current libs. There are, unfortunately, a few caveats. I don't actually intend to use the UI frontend of the server and am going to rely on my own authentication mechanisms, so this code will allow you to set up non-pw protected connections. Therefore, I *implore* you to only merge the "helpful" parts of the code.

    VINE is great software and I'm very grateful for the opportunity to use it. The next problem I am going to address is the string glitches. I need a fix for this since I actually use a retina screen myself. ;-)

    Thanks again!
  • gomgom Member
    I forgot to say, because my code requires the port to be set to a "user port", I think it breaks the ssh option. Again, this isn't something that is a problem for my project, but it may be important later. I suspect that the problem with the group separator will be resolved once the RADAR is fixed
  • Feel free to submit pull requests here, at least its partially maintained: https://github.com/stweil/OSXvnc
Sign In or Register to comment.