gundy 10 Posted March 3, 2014 Okay ran into two issues today. My current setup: I have a single local repository folder on my server (its the repository and dedicated server at the same time). The Arma3Sync client that runs on the server has three repositories configured. One is an external repository that I sync from (mirror its content to my local repository folder), it's an FTP repository. Then there is one HTTP repository that I strictly use to build my local repository with (from the local repository folder). Finally there is another HTTP repository that I strictly use to sync the dedicated server directory with, the local repository folder being the source (I like to only keep a subset of mods on the dedicated server). Updates usually get synced from the external repository first, then the local repository gets build and finally I sync the dedicated server directory to the local repository. 1: Sync fails via HTTP for changed files The external repository updated CBA today. So I synced my local repository to it and had the local repository rebuild. That seemed to work just fine. But syncing the dedicated server directory via HTTP fails. The file that it currently chokes on is "cba_common.pbo". I will send you the file from my dedicated server directory (the "old" version that the ZSYNC process is trying to update). Here is what the Apache access logs look like: 127.0.0.1 - - [03/Mar/2014:16:54:23 +0100] "GET /A3Repository/@CLF_Coop/addons/cba_common.pbo.zsync HTTP/1.1" 200 440 "-" "jazsync" 127.0.0.1 - - [03/Mar/2014:16:54:23 +0100] "GET /A3Repository/@CLF_Coop/addons/cba_common.pbo HTTP/1.1" 200 202566 "-" "Java/1.7.0_15" 127.0.0.1 - - [03/Mar/2014:16:54:23 +0100] "GET /A3Repository/@CLF_Coop/addons/cba_common.pbo HTTP/1.1" 206 55263 "-" "jazsync" 2: Destination folder contents get mixed up When trying to sync my dedicated server directory to my local repository, the file list displayed by A3S contains all the .ZSYNC files in blue, but there is not a single .ZSYNC file actually present in the dedicated server directory. It seems as though A3S is reading and displaying the file list from both the destination folders that I have configured. The selected one is the dedicated server directory, the second one configured (used for the other two configured "repositories") is the local repository directory. "Auto-Discover" is turned OFF, though I might have had it ON at one point to see what it does. By the way, there are two small issues with the "hide local content" option as well: 1. When you right-click and chose "hide local content", "(hided)" won't show if the local content is not present in the @folder, but rather in @folder\subfolder and is then only shown for the subfolder. 2. It should read "(hidden)", not "(hided)". Share this post Link to post Share on other sites
SerialMum 10 Posted March 4, 2014 Hi, Great tool. Minor issue: I have to close the program manually, if i want changes to be saved. If i, as i like it, use the option - Close at game launch -, no changes at all will be saved... cu SerialMum Share this post Link to post Share on other sites
major_shepard 82 Posted March 4, 2014 (edited) Okay ran into two issues today.My current setup: I have a single local repository folder on my server (its the repository and dedicated server at the same time). The Arma3Sync client that runs on the server has three repositories configured. One is an external repository that I sync from (mirror its content to my local repository folder), it's an FTP repository. Then there is one HTTP repository that I strictly use to build my local repository with (from the local repository folder). Finally there is another HTTP repository that I strictly use to sync the dedicated server directory with, the local repository folder being the source (I like to only keep a subset of mods on the dedicated server). Updates usually get synced from the external repository first, then the local repository gets build and finally I sync the dedicated server directory to the local repository. 1: Sync fails via HTTP for changed files The external repository updated CBA today. So I synced my local repository to it and had the local repository rebuild. That seemed to work just fine. But syncing the dedicated server directory via HTTP fails. The file that it currently chokes on is "cba_common.pbo". I will send you the file from my dedicated server directory (the "old" version that the ZSYNC process is trying to update). Here is what the Apache access logs look like: 127.0.0.1 - - [03/Mar/2014:16:54:23 +0100] "GET /A3Repository/@CLF_Coop/addons/cba_common.pbo.zsync HTTP/1.1" 200 440 "-" "jazsync" 127.0.0.1 - - [03/Mar/2014:16:54:23 +0100] "GET /A3Repository/@CLF_Coop/addons/cba_common.pbo HTTP/1.1" 200 202566 "-" "Java/1.7.0_15" 127.0.0.1 - - [03/Mar/2014:16:54:23 +0100] "GET /A3Repository/@CLF_Coop/addons/cba_common.pbo HTTP/1.1" 206 55263 "-" "jazsync" The problem with the cba_common.pbo comes from the fact that on your http server, the metadata in the .zsync file /@CLF_Coop/addons/cba_common.pbo.zsync does not match the file /@CLF_Coop/addons/cba_common.pbo. I have downloaded the file /@CLF_Coop/addons/cba_common.pbo, put it in my http repository and build the repository. Then I synced the cba_common.pbo file from my repository against the "old" cba_common.pbo you provided by PM => no error. I also tried to sync CBA Beta 5 (new one) in my http repository against CBA Beta 4 (old one) => no error. So I guess you should rebuild your http repository using the Build command on the machine hosting the repository (i.e no manual copy-paste, upload or whatever sync process). 2: Destination folder contents get mixed up When trying to sync my dedicated server directory to my local repository, the file list displayed by A3S contains all the .ZSYNC files in blue, but there is not a single .ZSYNC file actually present in the dedicated server directory. It seems as though A3S is reading and displaying the file list from both the destination folders that I have configured. The selected one is the dedicated server directory, the second one configured (used for the other two configured "repositories") is the local repository directory. "Auto-Discover" is turned OFF, though I might have had it ON at one point to see what it does. This is normal behavior. ArmA3Sync sync process is repository content against player content not repository content against repository content. You should never sync the metadata files (/.a3s,*.zsync). By the way, there are two small issues with the "hide local content" option as well: 1. When you right-click and chose "hide local content", "(hided)" won't show if the local content is not present in the @folder, but rather in @folder\subfolder and is then only shown for the subfolder. 2. It should read "(hidden)", not "(hided)". ok. ---------- Post added at 11:18 AM ---------- Previous post was at 11:17 AM ---------- Hi,Great tool. Minor issue: I have to close the program manually, if i want changes to be saved. If i, as i like it, use the option - Close at game launch -, no changes at all will be saved... cu SerialMum ok thanks. Edited March 4, 2014 by Major_Shepard Share this post Link to post Share on other sites
x39 101 Posted March 6, 2014 hey there im running IIS on my very own server and i want to use the HTTP option for this sadly IIS is not willed to let your sync files being transfered as they got no file extension (also i dont want to allow no file extensions as this is a giant security leak!) could you please add any file extension to the repository files? (or at least make it possible to use them) thx X39 Share this post Link to post Share on other sites
major_shepard 82 Posted March 6, 2014 giant security leak? that's new ^^ Share this post Link to post Share on other sites
gundy 10 Posted March 6, 2014 The problem with the cba_common.pbo comes from the fact that on your http server, the metadata in the .zsync file /@CLF_Coop/addons/cba_common.pbo.zsync does not match the file /@CLF_Coop/addons/cba_common.pbo.I have downloaded the file /@CLF_Coop/addons/cba_common.pbo, put it in my http repository and build the repository. Then I synced the cba_common.pbo file from my repository against the "old" cba_common.pbo you provided by PM => no error. I also tried to sync CBA Beta 5 (new one) in my http repository against CBA Beta 4 (old one) => no error. So I guess you should rebuild your http repository using the Build command on the machine hosting the repository (i.e no manual copy-paste, upload or whatever sync process). Well, I thought that's what I did. 1. Build repository C:\A3Repository with old data 2. Sync updated files from external repository into repository C:\A3Repository (that should be like copying new file versions into the repository?) 3. Build my HTTP repository C:\A3Respository 4. Have that HTTP repository C:\A3Repository synced to C:\A3Server Where did I go wrong? This is normal behavior. ArmA3Sync sync process is repository content against player content not repository content against repository content. You should never sync the metadata files (/.a3s,*.zsync). Well, I am talking about step 4. from my list above. I don't understand why A3S shows the ZSYNC files in blue (locally present but not in repository) when a) From the list of destination folders (C:\A3Repository and C:\A3Server) I have picked C:\A3Server b) Not a single ZSYNC file is present in C:\A3Server Since I have specifically selected C:\A3Server as the destination folder, am I wrong to expect A3S to only compare this one folder vs the repository if "Auto-Discover" is off? Share this post Link to post Share on other sites
x39 101 Posted March 7, 2014 (edited) giant security leak? that's new ^^ well it is ... but since the source code is available i will compile my own version for this just saw that there are some streams youre never closing are you aware of this? new system, new issues the application is creating ZSync files for the web.config file of the webpage (file from IIS) Edited March 7, 2014 by X39 Share this post Link to post Share on other sites
major_shepard 82 Posted March 7, 2014 (edited) I am interested to know about the security and no file extension ? + If you can generate a SVN patch for the streams your are welcome ^^ Edited March 7, 2014 by Major_Shepard Share this post Link to post Share on other sites
x39 101 Posted March 7, 2014 I am interested to know about the security and no file extension ?+ If you can generate a SVN patch for the streams your are welcome ^^ problem is basicly because you have to disable the mime type filters so that in theory anyone could up/download anything from the specific page pretty simple :F well ... i would help to develop this but im still busy with XMedSys + a insurgency module (more with the module currently as its part of my upcomming mod XLib) Share this post Link to post Share on other sites
gundy 10 Posted March 8, 2014 the application is creating ZSync files for the web.config file of the webpage (file from IIS) I agree it would be very nice to exclude certain files from the repository and have no ZSYNC files generated for these. Same thing happened to me when I tried to use ".htaccess" in my repository, using the Apache config file to work around this for now, but not everyone is going to have that luxury. Share this post Link to post Share on other sites
major_shepard 82 Posted March 8, 2014 (edited) Your are not supposed to add extra files into the repository for whatever reasons. Edit the Apache conf file instead of adding a .htaccess file. Edited March 8, 2014 by Major_Shepard Share this post Link to post Share on other sites
x39 101 Posted March 8, 2014 (edited) Your are not supposed to add extra files into the repository for whatever reasons. Edit the Apache conf file instead of adding a .htaccess file. so me again ... im having some trouble after i added a file extension to the autoconfig etc. files (.a3s) basicly i edited the static variables at DataAccessConstants-->REPOSITORY (the collection below) and added simply a ".a3s" to them package fr.soe.a3s.dao; public interface DataAccessConstants { /** Resources */ // String INSTALLATION_PATH = System.getProperty("user.dir"); String INSTALLATION_PATH = "."; String HOME_PATH = System.getProperty("user.home"); String CONFIGURATION_FILE_PATH = INSTALLATION_PATH + "/resources/configuration/a3s.cfg"; String PREFERENCES_FILE_PATH = INSTALLATION_PATH + "/resources/configuration/a3s.prefs"; String PROFILES_FOLDER_PATH = INSTALLATION_PATH + "/profiles"; String REPOSITORY_FOLDER_PATH = INSTALLATION_PATH + "/resources/ftp"; String TEMP_FOLDER_PATH = INSTALLATION_PATH + "/resources/temp"; String BIN_FOLDER_PATH = INSTALLATION_PATH + "/resources/bin"; /** Extensions */ String PROFILE_EXTENSION = ".a3s.profile"; String REPOSITORY_EXTENSION = ".a3s.repository"; String AUTOCONFIG_EXTENSION = ".a3s.autoconfig"; String ZSYNC_EXTENSION = ".zsync"; String PART_EXTENSION = ".part"; /** BIN */ String ZSYNC_EXE = "resources\\bin\\zsync.exe"; /** FTP */ String UPDATE_REPOSITORY = "/ArmA3/ArmA3Sync/download"; String UPDATE_REPOSITORY_DEV = "/ArmA3/ArmA3Sync/development"; String UPDTATE_REPOSITORY_ADRESS = "www.sonsofexiled.fr"; int UPDTATE_REPOSITORY_PORT = 21; String UPDTATE_REPOSITORY_LOGIN = "anonymous"; String UPDTATE_REPOSITORY_PASS = ""; /** REPOSITORY */ String A3S_FOlDER_NAME = ".a3s"; String A3S_FOlDER_PATH = "/.a3s"; String SERVERINFO_FILE_PATH = "/.a3s/serverinfo.a3s"; String SYNC_FILE_PATH = "/.a3s/sync.a3s"; String AUTOCONFIG_FILE_PATH = "/.a3s/autoconfig.a3s"; String CHANGELOG_FILE_PATH = "/.a3s/changelogs.a3s"; String EVENTS_FILE_PATH = "/.a3s/events.a3s"; String AUTOCONFIG = "autoconfig.a3s"; String SERVERINFO = "serverinfo.a3s"; String SYNC = "sync.a3s"; String CHANGELOGS = "changelogs.a3s"; String EVENTS = "events.a3s"; } but now the client is not able to sync with the repository (autoconfig import is working fine) so my question now is where is it also required to edit so that it would be working? thx X39 located the issue could it be possible that its required to have an index.html or at least file listening enabled on the webserver to be able to use A3S? because my webserver usually disallows the filetreeview (the situation without an index file which is usually enabled for apache servers) if thats true that would be a more big security issue then the thing with mime types Edited March 8, 2014 by X39 Share this post Link to post Share on other sites
major_shepard 82 Posted March 8, 2014 (edited) Still don't get the thing with the "big security issue". Here is my repo => http://www.sonsofexiled.fr/a3s-repository/ Could you please try to hack this? Again the next version of ArmA3Sync fixes the sync issue with repo protected by password. So no need to hide the indexes if you don't want anyone browse the repo from a web browser. You just config your http server to have a password on the repository url and you good to go. Edited March 8, 2014 by Major_Shepard Share this post Link to post Share on other sites
x39 101 Posted March 9, 2014 Still don't get the thing with the "big security issue". Here is my repo => http://www.sonsofexiled.fr/a3s-repository/ Could you please try to hack this? Again the next version of ArmA3Sync fixes the sync issue with repo protected by password. So no need to hide the indexes if you don't want anyone browse the repo from a web browser. You just config your http server to have a password on the repository url and you good to go. gnargh ... kk i will follow but still my repository is not working: http://repo.unitedtacticalforces.de/KV13/.a3s/autoconfig used default variant of the tool whats wrong? Share this post Link to post Share on other sites
major_shepard 82 Posted March 9, 2014 (edited) gnargh ... kki will follow but still my repository is not working: http://repo.unitedtacticalforces.de/KV13/.a3s/autoconfig used default variant of the tool whats wrong? I guess your server is not recognizing "anonymous" user or something to see with authorization config on your server. see HttpDAO line 72. Edited March 9, 2014 by Major_Shepard Share this post Link to post Share on other sites
x39 101 Posted March 9, 2014 (edited) I guess your server is not recognizing "anonymous" user or something to see with authorization config on your server. see HttpDAO line 72. well im using a default IIS 7.0 server with default config but the mime types and directory browsing enabled for that when im trying to connect via the server everything works fine just the external connection seems to make problems : / so what to do now? log files are empty (no connection recognized with the http server when using A3S) Edited March 9, 2014 by X39 Share this post Link to post Share on other sites
major_shepard 82 Posted March 9, 2014 HttpDAO line 72 change it to if (!(login.equalsIgnoreCase("anonymous"))) { String encoding = Base64Coder.encodeLines((login + ":" + password) .getBytes()); httpURLConnection.setRequestProperty("Authorization", "Basic " + encoding.substring(0, encoding.length() - 1)); } Seems IIS 7 server recognize "IUSR" user by default for anonymous connection and not "anonymous". Share this post Link to post Share on other sites
x39 101 Posted March 9, 2014 HttpDAO line 72 change it to Seems IIS 7 server recognize "IUSR" user by default for anonymous connection and not "anonymous". yep ^^ works fine thx for that X39 Share this post Link to post Share on other sites
gundy 10 Posted March 9, 2014 Your are not supposed to add extra files into the repository for whatever reasons. Edit the Apache conf file instead of adding a .htaccess file. This is an enhancement request. Not everyone has access to the Apache conf file (for example "sonic" a couple of pages back). You normally only get that on "full servers". So being able to exclude web server config files from the repository would be quite useful. Share this post Link to post Share on other sites
catatonicChimp 10 Posted March 12, 2014 Okay ran into two issues today.1: Sync fails via HTTP for changed files The external repository updated CBA today. So I synced my local repository to it and had the local repository rebuild. That seemed to work just fine. But syncing the dedicated server directory via HTTP fails. The file that it currently chokes on is "cba_common.pbo". I will send you the file from my dedicated server directory (the "old" version that the ZSYNC process is trying to update). Here is what the Apache access logs look like: 127.0.0.1 - - [03/Mar/2014:16:54:23 +0100] "GET /A3Repository/@CLF_Coop/addons/cba_common.pbo.zsync HTTP/1.1" 200 440 "-" "jazsync" 127.0.0.1 - - [03/Mar/2014:16:54:23 +0100] "GET /A3Repository/@CLF_Coop/addons/cba_common.pbo HTTP/1.1" 200 202566 "-" "Java/1.7.0_15" 127.0.0.1 - - [03/Mar/2014:16:54:23 +0100] "GET /A3Repository/@CLF_Coop/addons/cba_common.pbo HTTP/1.1" 206 55263 "-" "jazsync" I am getting similar problems with the delta patching not working on some files. I am running Apache on ubuntu (linode), the repo has been setup locally on the the server using the a3sync command line interface. the repo has been rebuilt multiple times and the only solution so far has been to delete the file locally and force a3sync to download the file in its entirety. Its happened on a few mods, but the ones that spring to mind at the moment are a3mp and cba. I can send you a link to our host if that will help. Cheers C. Share this post Link to post Share on other sites
major_shepard 82 Posted March 12, 2014 Yep give a link to your repo. Share this post Link to post Share on other sites
catatonicChimp 10 Posted March 12, 2014 I've just been trying to add authentication to apache for the repo... it works fine connecting to it manually (go to address login and download a file) and it appears to sort of work with a3sync... but it appears like it forgets to send the username when it downloads the actual file.. 111.69.102.255 - test [12/Mar/2014:11:36:53 +0000] "GET / HTTP/1.1" 200 9795 111.69.102.255 - test [12/Mar/2014:11:36:53 +0000] "GET /@bike/Addons/sounds.pbo.zsync HTTP/1.1" 200 908 111.69.102.255 - - [12/Mar/2014:11:36:54 +0000] "GET /@bike/Addons/sounds.pbo HTTP/1.1" 401 484 I'll pm you the address and a test username and password... Share this post Link to post Share on other sites
major_shepard 82 Posted March 12, 2014 (edited) As already said, sync does not currently work with http repo protected by password. Fixed in next update. ---------- Post added at 03:00 PM ---------- Previous post was at 01:49 PM ---------- I need the "old" file you get error when synchronizing your repo with, thanks. Edited March 12, 2014 by Major_Shepard Share this post Link to post Share on other sites
major_shepard 82 Posted March 12, 2014 (edited) ArmA3Sync 1.2 Update 4 Download Use Check for Updates in the Help menu Changelog - Fixed: settings not saved when ArmA3Sync is set to close at game start in preferences. - Fixed: failed to sync on a http addons repository protected by login and password. - Fixed: duplicating a profile live available addons list empty. Edited December 7, 2014 by Major_Shepard Share this post Link to post Share on other sites
Guest Posted March 12, 2014 Thanks for sending us of the new version :cool: New release frontpaged on the Armaholic homepage. ArmA3Sync - launcher and addons synchronization software v1.2 Update 4Java Runtime Environment 7 =================================================== We have also "connected" these pages to your account (Major_Shepard) on Armaholic. This means in the future you will be able to maintain these pages yourself if you wish to do so. Once this new feature is ready we will contact you about it and explain how things work and what options you have. When you have any questions already feel free to PM or email me! ** Note: since this is a project on which more people are working we will contact you in the future to discuss how you want this to be setup on Armaholic. Share this post Link to post Share on other sites